action.devices.EXECUTE

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

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

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

פרטים נוספים זמינים במאמר שליחת שאילתות והרצה.

פורמט הבקשה

שדות סוג תיאור
requestId String

חובה.

מזהה הבקשה.

inputs מערך

חובה.

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

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

הסוג והמטען הייעודי (payload) שמשויכים לבקשת הכוונה.

intent

חובה.

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

סוג הבקשה של הכוונה.

payload אובייקט

חובה.

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

commands מערך

חובה.

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

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

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

devices מערך

חובה.

רשימת המכשירים היעדים.

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

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

id String

חובה.

מזהה המכשיר, בהתאם למזהה שסופק ב-SYNC.

customData אובייקט

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

execution מערך

חובה.

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

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

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

command String

חובה.

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

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 String

חובה.

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

payload אובייקט

חובה.

עומס העבודה של תגובת הכוונה.

errorCode String

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

debugString String

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

commands מערך

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

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

תוצאת ההרצה במכשיר.

ids מערך

חובה.

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

[item, ...] String

מזהה המכשיר.

status String

חובה.

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

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

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

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

online בוליאני

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

errorCode String

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

debugString String

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

דוגמאות

תגובה לכוונה EXECUTE

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