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" } ] } }