action.devices.EXECUTE
Ta instrukcja wysyła polecenia do wykonania na inteligentnych urządzeniach domowych.
Realizacja powinna przetworzyć każde polecenie, przesłać je na odpowiednie urządzenie i zwrócić nowy stan w odpowiedzi EXECUTE
.
Jedna intencja EXECUTE
może być kierowana na wiele urządzeń za pomocą wielu poleceń.
Na przykład wywołany zamiar może ustawić jasność i kolor zestawu świateł lub wiele świateł na inny.
Więcej informacji znajdziesz w sekcji Wykonywanie zapytań i wykonywanie.
Format żądania
Pola | Typ | Opis |
---|---|---|
requestId |
Ciąg |
Wymagane. Identyfikator żądania. |
inputs |
Tablica |
Wymagane. Lista danych wejściowych pasujących do żądania intencji. |
[item, ...] |
Obiekt |
Typ i ładunek powiązany z żądaniem intencji. |
intent |
Wymagane. (Wartość stała: Typ żądania intencji. |
|
payload |
Obiekt |
Wymagane. ExECUTE (Ładunek żądania) |
commands |
Tablica |
Wymagane. Lista par urządzenia docelowego i polecenia. |
[item, ...] |
Obiekt |
Zestaw poleceń do wykonania na dołączonych urządzeniach docelowych. |
devices |
Tablica |
Wymagane. Lista urządzeń docelowych. |
[item, ...] |
Obiekt |
Urządzenie docelowe do wykonania. |
id |
Ciąg |
Wymagane. Identyfikator urządzenia zgodny z identyfikatorem podanym w sekcji SYNC. |
customData |
Obiekt |
Jeśli obiekt opaque dataData jest podany w narzędziu SYNC, jest on wysyłany tutaj. |
execution |
Tablica |
Wymagane. Lista poleceń do wykonania na urządzeniach docelowych. |
[item, ...] |
Obiekt |
Polecenie urządzenia. |
command |
Ciąg |
Wymagane. Polecenie do wykonania, zwykle z powiązanymi parametrami. |
params |
Obiekt |
jest dopasowana do parametrów każdego polecenia. |
Przykłady
WYPEŁNIJ intencję prośby
{ "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 |
Ciąg |
Wymagane. Identyfikator odpowiedniego żądania. |
payload |
Obiekt |
Wymagane. Ładunek odpowiedzi na intencję. |
errorCode |
Ciąg |
Kod błędu dla całej transakcji z powodu błędów uwierzytelniania i niedostępności systemu dewelopera. W przypadku pojedynczych błędów urządzenia użyj elementu errorCode w obiekcie urządzenia. |
debugString |
Ciąg |
Szczegółowy błąd, który nigdy nie pojawia się użytkownikom, ale może zostać zarejestrowany lub użyty podczas programowania. |
commands |
Tablica |
Każdy obiekt zawiera co najmniej 1 urządzenie ze szczegółami odpowiedzi. Nie dotyczy. Możemy nie pogrupować ich w taki sam sposób jak w żądaniu. W żądaniu może być np. włączenie 7 punktów oświetlenia, 3 w przypadku 1 punktu oświetlenia pojawiły się 2 światła, a w odpowiedzi 2 grupy. |
[item, ...] |
Obiekt |
Wynik wykonania urządzenia. |
ids |
Tablica |
Wymagane. Lista identyfikatorów urządzeń odpowiadających temu stanowi. |
[item, ...] |
Ciąg |
Identyfikator urządzenia. |
status |
Ciąg |
Wymagane. Wynik operacji wykonania. Obsługiwane wartości:
|
states |
Obiekt |
jest dopasowywany do stanów opisanych w każdym odniesieniu do schematu cech. Są to stany po wykonaniu (jeśli są dostępne). |
online |
Wartość logiczna |
Wskazuje, czy urządzenie jest online (czyli jest osiągalne) czy nie. |
errorCode |
Ciąg |
W razie potrzeby rozwiń stan „ERROR” z gotowych kodów błędu, aby zmapować je na błędy wyświetlone użytkownikom. |
Przykłady
WYKONAJ ODPOWIEDZI NA ODPOWIEDŹ
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }