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: "action.devices.EXECUTE")

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:

SUCCESS
Upewnij się, że polecenie zostało wykonane.
PENDING
Polecenie jest umieszczone w kolejce, ale przypuszczalnie się uda.
OFFLINE
Urządzenie docelowe jest w trybie offline lub nieosiągalne.
EXCEPTIONS
Z poleceniem występuje problem lub alert. Polecenie zakończyło się powodzeniem lub niepowodzeniem. Ten typ stanu jest ustawiany zazwyczaj, gdy chcesz wysłać dodatkowe informacje o innym połączonym urządzeniu.
ERROR
Urządzenie docelowe nie może wykonywać polecenia.
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"
      }
    ]
  }
}