action.devices.EXECUTE

Ta intencja wysyła polecenia do wykonania na inteligentnych urządzeniach domowych.

Realizacja powinna przetworzyć każde polecenie, przesłać je do odpowiedniego urządzenia i zwrócić nowy stan w odpowiedzi EXECUTE.

Pojedyncza intencja EXECUTE może być kierowana na wiele urządzeń za pomocą kilku poleceń. Na przykład wywołana intencja może ustawiać zarówno jasność, jak i kolor w zestawie lub ustawić różne źródła światła na inny kolor.

Więcej informacji znajdziesz w artykule Zapytanie i wykonywanie.

Format żądania

Pola Typ Opis
requestId String

Wymagane.

Identyfikator żądania.

inputs Tablica

Wymagane.

Lista danych wejściowych pasujących do żądania intencji.

[item, ...] Obiekt.

Typ i ładunek powiązane z żądaniem intencji.

intent

Wymagane.

(Wartość stała: "action.devices.EXECUTE")

Typ żądania intencji.

payload Obiekt.

Wymagane.

EXECUTE – ładunek żądania.

commands Tablica

Wymagane.

Lista par urządzeń docelowych i poleceń.

[item, ...] Obiekt.

Zestaw poleceń do wykonania na podłączonych urządzeniach docelowych.

devices Tablica

Wymagane.

Lista urządzeń docelowych.

[item, ...] Obiekt.

Urządzenie docelowe do wykonania.

id String

Wymagane.

Identyfikator urządzenia zgodnie z identyfikatorem w systemie SYNC.

customData Obiekt.

Jeśli nieprzezroczysty obiekt customData zostanie udostępniony w systemie SYNCHRONIZACJA, zostanie on wysłany tutaj.

execution Tablica

Wymagane.

Lista poleceń do wykonania na urządzeniach docelowych.

[item, ...] Obiekt.

Polecenie dotyczące urządzenia.

command String

Wymagane.

Polecenie do wykonania, zwykle z towarzyszącymi parametrami.

params Obiekt.

Są one dobierane z parametrami każdego polecenia.

Przykłady

EXECUTE request Intent (Żądanie intencji EXECUTE)

{
 
"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

Wymagane.

Identyfikator odpowiedniego żądania.

payload Obiekt.

Wymagane.

Ładunek odpowiedzi intencji.

errorCode String

Kod błędu dla całej transakcji związanej z błędami uwierzytelniania i niedostępnością systemu dewelopera. W przypadku poszczególnych błędów urządzenia użyj kodu errorCode w obiekcie urządzenia.

debugString String

Szczegółowe informacje o błędzie, które nigdy nie będą wyświetlane użytkownikom, ale mogą zostać zarejestrowane lub użyte podczas tworzenia aplikacji.

commands Tablica

Każdy obiekt zawiera co najmniej 1 urządzenie ze szczegółami odpowiedzi. Uwaga: Nie mogą one być pogrupowane w taki sam sposób jak w żądaniu. Na przykład żądanie może spowodować włączenie 7 świateł, przy czym 3 światła włączone, a 4 wyłączające, co oznacza, że w reakcji każda z nich będzie reagowała na 2 grupy.

[item, ...] Obiekt.

Wynik uruchomienia na urządzeniu.

ids Tablica

Wymagane.

Lista identyfikatorów urządzeń powiązanych z tym stanem.

[item, ...] String

Identyfikator urządzenia.

status String

Wymagane.

Wynik wykonania operacji.

Obsługiwane wartości:

SUCCESS
Sprawdź, czy polecenie zostało wykonane.
PENDING
Polecenie zostało dodane do kolejki, ale powinno się udać.
OFFLINE
Urządzenie docelowe jest offline lub jest nieosiągalne.
EXCEPTIONS
Wystąpił problem lub alert powiązany z poleceniem. Polecenie może się powieść lub zakończyć niepowodzeniem. Ten typ stanu jest zwykle ustawiany wtedy, gdy chcesz wysłać dodatkowe informacje o innym połączonym urządzeniu.
ERROR
Urządzenie docelowe nie może wykonać polecenia.
states Obiekt.

Są one dopasowywane do stanów poszczególnych cech 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 czy jest osiągalne).

errorCode String

W razie potrzeby rozwiń stan „BŁĄD” z gotowych kodów błędów, aby dopasować je do błędów wyświetlanych użytkownikom.

Przykłady

REKLAMA EXECUTE intencji

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