action.devices.EXECUTE
Ta intencja wysyła polecenia do wykonania na inteligentnych urządzeniach domowych.
Usługa przetwarzania powinna przetwarzać każde polecenie, przesyłać je do odpowiedniego urządzenia i zwracać nowy stan w odpowiedzi EXECUTE
.
Jedno działanie EXECUTE
może być kierowane na wiele urządzeń z wieloma poleceniami.
Na przykład wywołana intencja może ustawić jasność i kolor dla zestawu świateł lub może ustawić różne kolory dla różnych świateł.
Więcej informacji znajdziesz w artykule Wysyłanie i wykonywanie zapytań.
Format żądania
Pola | Typ | Opis |
---|---|---|
requestId |
String |
Wymagany. Identyfikator żądania. |
inputs |
Tablica |
Wymagany. Lista danych wejściowych pasujących do żądania intencji. |
[item, ...] |
Obiekt |
Typ i ładunek powiązany z żądaniem intencji. |
intent |
Wymagany. (wartość stała: Typ żądania intencji. |
|
payload |
Obiekt |
Wymagany. ładunek żądania EXECUTE. |
commands |
Tablica |
Wymagany. Lista par urządzeń docelowych i poleceń. |
[item, ...] |
Obiekt |
Zestaw poleceń do wykonania na dołączonych urządzeniach docelowych. |
devices |
Tablica |
Wymagany. Lista urządzeń docelowych. |
[item, ...] |
Obiekt |
Urządzenie docelowe do wykonania. |
id |
String |
Wymagany. Identyfikator urządzenia zgodnie z identyfikatorem podanym w SYNC. |
customData |
Obiekt |
Jeśli w SYNC podano nieprzezroczysty obiekt customData, zostanie on wysłany tutaj. |
execution |
Tablica |
Wymagany. Lista poleceń do wykonania na urządzeniach docelowych. |
[item, ...] |
Obiekt |
Polecenie na urządzeniu. |
command |
String |
Wymagany. Polecenie do wykonania, zwykle z towarzyszącymi mu parametrami. |
params |
Obiekt |
zgodne z parametrami poszczególnych poleceń; |
Przykłady
EXECUTE – prośba o wykonanie
{ "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 } } ] } ] } } ] }
Format odpowiedzi
Pola | Typ | Opis |
---|---|---|
requestId |
String |
Wymagany. Identyfikator odpowiedniego żądania. |
payload |
Obiekt |
Wymagany. ładunek odpowiedzi na intencji; |
errorCode |
String |
Kod błędu całej transakcji w przypadku błędów autoryzacji i niedostępności systemu dewelopera. W przypadku błędów poszczególnych urządzeń użyj atrybutu errorCode w obiekcie device. |
debugString |
String |
Szczegółowy błąd odpowiedzi, który nigdy nie będzie wyświetlany użytkownikom, ale może zostać zarejestrowany lub wykorzystany podczas tworzenia. |
commands |
Tablica |
Każdy obiekt zawiera co najmniej 1 urządzenie z szczegółami odpowiedzi. Uwaga: mogą być one pogrupowane inaczej niż w żądaniu. Na przykład żądanie może włączyć 7 żarówek, z których 3 działają prawidłowo, a 4 nie, więc w odpowiedzi będą 2 grupy. |
[item, ...] |
Obiekt |
Wynik wykonania na urządzeniu. |
ids |
Tablica |
Wymagany. Lista identyfikatorów urządzeń odpowiadających temu stanowi. |
[item, ...] |
String |
Identyfikator urządzenia. |
status |
String |
Wymagany. Wynik operacji wykonania. Obsługiwane wartości:
|
states |
Obiekt |
Zgodnie ze stanami atrybutów opisanymi w poszczególnych dokumentach referencyjnych dotyczących schematów. Są to stany po wykonaniu, jeśli są dostępne. |
online |
Wartość logiczna |
Wskazuje, czy urządzenie jest online (czy jest dostępne). |
errorCode |
String |
W razie potrzeby rozszerzenie stanu BŁĄD na podstawie wstępnie zdefiniowanych kodów błędów, które będą odpowiadać błędom wyświetlanym użytkownikom. |
debugString |
String |
Szczegółowy błąd na poziomie polecenia, który nigdy nie będzie widoczny dla użytkowników, ale może zostać zarejestrowany lub wykorzystany podczas tworzenia. |
Przykłady
Odpowiedź na żądanie EXECUTE
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }