action.devices.EXECUTE
Intent זה שולח פקודות להפעלה במכשירים לבית חכם.
מילוי ההזמנה אמור לעבד כל פקודה, לשדר אותה למכשיר המתאים ולהחזיר אותה
את המצב החדש בתשובה EXECUTE
.
אובייקט Intent אחד מסוג EXECUTE
יכול לטרגט למספר מכשירים באמצעות מספר פקודות.
לדוגמה, כשמפעילים Intent, המערכת יכולה להגדיר גם בהירות וגם צבע בקבוצה של
או להגדיר כמה נורות בצבע שונה.
מידע נוסף זמין במאמר בנושא שאילתה והפעלה.
פורמט הבקשה
שדות | סוג | תיאור |
---|---|---|
requestId |
String |
חובה. מזהה הבקשה. |
inputs |
מערך |
חובה. רשימת מקורות קלט שתואמים לבקשת ה-Intent. |
[item, ...] |
מפגע |
הסוג והמטען הייעודי (Payload) שמשויכים לבקשת ה-Intent. |
intent |
חובה. (ערך קבוע: סוג הבקשה של אובייקט Intent. |
|
payload |
מפגע |
חובה. EXECUTE של הבקשה מטען ייעודי (payload). |
commands |
מערך |
חובה. רשימה של צמדי פקודות ומכשיר יעד. |
[item, ...] |
מפגע |
קבוצת פקודות להפעלה ביעדים של המכשירים המחוברים. |
devices |
מערך |
חובה. רשימה של מכשירי יעד. |
[item, ...] |
מפגע |
יעד המכשיר להפעלה. |
id |
String |
חובה. מזהה המכשיר, לפי המזהה שסופק בסנכרון. |
customData |
מפגע |
אם אובייקט customData האטום מסופק בסנכרון, הוא נשלח כאן. |
execution |
מערך |
חובה. רשימת הפקודות להפעלה במכשירי היעד. |
[item, ...] |
מפגע |
פקודה במכשיר. |
command |
String |
חובה. הפקודה להפעלה, בדרך כלל עם פרמטרים נלווים. |
params |
מפגע |
התאמה לפרמטרים של כל פקודה. |
דוגמאות
החרגה של בקשת Intent
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123", "customData": { "fooValue": 74, "barValue": true, "bazValue": "sheepdip" } }, { "id": "456", "customData": { "fooValue": 36, "barValue": false, "bazValue": "moarsheep" } } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
פורמט התשובה
שדות | סוג | תיאור |
---|---|---|
requestId |
String |
חובה. המזהה של הבקשה התואמת. |
payload |
מפגע |
חובה. מטען ייעודי (payload) של תגובה של Intent. |
errorCode |
String |
קוד שגיאה לכל הטרנזקציה בגלל כשלי אימות וחוסר זמינות של המערכת של המפתח. במקרה של שגיאות במכשיר ספציפי, צריך להשתמש ב-ErrorCode באובייקט המכשיר. |
debugString |
String |
שגיאה מפורטת שאף פעם לא תוצג למשתמשים, אבל ייתכן שתירשם ביומן או תשתמש בה במהלך הפיתוח. |
commands |
מערך |
כל אובייקט מכיל מכשיר אחד או יותר עם פרטי התגובה. נ.ב. יכול להיות שהנתונים האלה לא יקובצו באותו אופן כמו בבקשה. לדוגמה, אם הבקשה נדלקת 7 נורות ו-3 נורות נכשלות ו-4 נורות נכשלות, כך שבתשובה שהתקבלה שתי קבוצות. |
[item, ...] |
מפגע |
תוצאת ביצוע של המכשיר. |
ids |
מערך |
חובה. רשימה של מזהי מכשירים שתואמים לסטטוס הזה. |
[item, ...] |
String |
מזהה המכשיר. |
status |
String |
חובה. התוצאה של פעולת הביצוע. ערכים נתמכים:
|
states |
מפגע |
תואם למצבים של כל תכונה שמתוארים בכל הפניה לסכימת תכונות. אלה המצבים אחרי הביצוע, אם הם זמינים. |
online |
בוליאני |
מציין אם המכשיר במצב אונליין (כלומר נגיש) או לא. |
errorCode |
String |
הרחבת מצב ERROR במידת הצורך מקודי השגיאה הקבועים מראש, שתמפה לשגיאות המוצגות למשתמשים. |
דוגמאות
ביצוע תגובה של Intent
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }