action.devices.EXECUTE

הכוונה הזו שולחת פקודות לביצוע במכשירים לבית החכם.

מילוי ההזמנה צריך לעבד כל פקודה, לשדר אותה למכשיר התואם ולהחזיר את המצב החדש בתגובה EXECUTE.

כוונה אחת (EXECUTE) יכולה לטרגט כמה מכשירים עם כמה פקודות. לדוגמה, כוונה מופעלת יכולה להגדיר גם בהירות וגם צבע בקבוצה של אורות, או להגדיר מספר נורות לצבע אחר.

לפרטים נוספים, ניתן לעיין במאמר שאילתה וביצוע.

פורמט הבקשה

שדות סוג תיאור
requestId מחרוזת

חובה.

מזהה הבקשה.

inputs מערך

חובה.

רשימת סוגי הקלט שתואמים לבקשת הכוונה.

[item, ...] אובייקט

יש להקליד ומטען ייעודי (payload) המשויך לבקשה לכוונה.

intent

חובה.

(ערך קבוע: "action.devices.EXECUTE")

סוג בקשת Intent.

payload אובייקט

חובה.

הפעלת מטען ייעודי (payload) של בקשות.

commands מערך

חובה.

רשימה של צמדי יעדים ופקודות במכשיר.

[item, ...] אובייקט

קבוצת פקודות להפעלה ביעדים המצורפים של המכשיר.

devices מערך

חובה.

רשימה של מכשירי יעד.

[item, ...] אובייקט

יעד המכשיר להפעלה.

id מחרוזת

חובה.

מזהה המכשיר, בהתאם למזהה שצוין ב-Sync.

customData אובייקט

אם אובייקט השקיפות המותאם אישית מסופק ב-Sync, הוא נשלח כאן.

execution מערך

חובה.

רשימת פקודות להפעלה במכשירי יעד.

[item, ...] אובייקט

פקודה במכשיר.

command מחרוזת

חובה.

הפקודה לביצוע, בדרך כלל עם פרמטרים נלווים.

params אובייקט

התאמה לפרמטרים של כל פקודה.

דוגמאות

יישום בקשת הטמעה

{
  "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 מחרוזת

חובה.

המזהה של הבקשה התואמת.

payload אובייקט

חובה.

מטען ייעודי (payload) של תגובת Intent.

errorCode מחרוזת

קוד שגיאה לכל העסקה שמכילה כשלים באימות וחוסר זמינות של מערכת המפתחים. אם יש שגיאות במכשירים ספציפיים, משתמשים בקוד השגיאה בתוך אובייקט המכשיר.

debugString מחרוזת

שגיאה מפורטת שמעולם לא תוצג למשתמשים, אך עשויה להירשם או להשתמש בה במהלך הפיתוח.

commands מערך

כל אובייקט מכיל מכשיר אחד או יותר עם פרטי תגובות. לא. ייתכן שהקבוצות לא יקובצו באותו אופן כמו בבקשה. לדוגמה, הבקשה עשויה להפעיל 7 נורות שמצביעות על 3 נורות שהצליחו ו-4 ניסיונות כושלים, וכתוצאה מכך להציג שתי קבוצות.

[item, ...] אובייקט

תוצאה של הפעלת מכשיר.

ids מערך

חובה.

רשימה של מזהי המכשירים התואמים לסטטוס הזה.

[item, ...] מחרוזת

מזהה המכשיר.

status מחרוזת

חובה.

התוצאה של פעולת הביצוע.

ערכים נתמכים:

SUCCESS
מוודאים שהפקודה הושלמה.
PENDING
הפקודה נמצאת בתור אבל צפויה להצליח.
OFFLINE
מכשיר היעד נמצא במצב אופליין או לא נגיש.
EXCEPTIONS
יש בעיה או התראה שמשויכת לפקודה. הפקודה הצליחה או נכשלה. סוג הסטטוס הזה מוגדר בדרך כלל כשרוצים לשלוח מידע נוסף על מכשיר מחובר אחר.
ERROR
לא ניתן לבצע את הפקודה במכשיר היעד.
states אובייקט

מצב זה תואם למצב של כל תכונה המתואר בכל אזכור של סכימת תכונות. אלה הם המדינות אחרי הביצוע, אם הן זמינות.

online ערך בוליאני

מציין אם המכשיר מחובר לאינטרנט (כלומר, נגיש) או לא.

errorCode מחרוזת

אם צריך, הרחבה של מצב השגיאה מקודי השגיאה שהוגדרו מראש תמפה זאת לשגיאות שמוצגות למשתמשים.

דוגמאות

שימוש בתגובת Intent

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "on": true,
          "online": true
        }
      },
      {
        "ids": [
          "456"
        ],
        "status": "ERROR",
        "errorCode": "deviceTurnedOff"
      }
    ]
  }
}