action.devices.QUERY

Intencja ta wysyła do realizacji zapytania dotyczące bieżących stanów urządzeń, m.in. czy jest ono online i czy jest osiągalne.

Odpowiedź QUERY powinna zwracać tylko informacje o stanie. Aktualizacja atrybutów i cech urządzenia jest obsługiwana przez Odpowiedź SYNC.

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.QUERY")

Typ żądania intencji.

payload Obiekt.

Wymagane.

Ładunek żądania QUERY.

devices Tablica

Wymagane.

Lista urządzeń docelowych.

[item, ...] Obiekt.

Urządzenia docelowe, których ma dotyczyć zapytanie.

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.

Przykłady

Żądanie intencji: QUERY

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123",
            "customData": {
              "fooValue": 74,
              "barValue": true,
              "bazValue": "foo"
            }
          },
          {
            "id": "456",
            "customData": {
              "fooValue": 12,
              "barValue": false,
              "bazValue": "bar"
            }
          }
        ]
      }
    }
  ]
}

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.

devices Obiekt.

Wymagane.

Mapa urządzeń. Mapuje identyfikator urządzenia dewelopera na obiekt właściwości stanu.

<string> Obiekt.

Stan urządzenia.

online Wartość logiczna

Wymagane.

Wskazuje, czy urządzenie jest online (czyli czy jest osiągalne).

status String

Wymagane.

Wynik operacji zapytania.

Obsługiwane wartości:

SUCCESS
Sprawdź, czy zapytanie zostało wykonane.
OFFLINE
Urządzenie docelowe jest offline lub jest nieosiągalne.
EXCEPTIONS
Wystąpił problem lub alert powiązany z zapytaniem. Zapytanie może zakończyć się powodzeniem lub niepowodzeniem. Ten typ stanu jest zwykle ustawiany wtedy, gdy chcesz wysłać dodatkowe informacje o innym połączonym urządzeniu.
ERROR
Nie udało się wysłać zapytania do urządzenia docelowego.
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

Odpowiedź intencji QUERY

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "devices": {
      "123": {
        "on": true,
        "online": true,
        "status": "SUCCESS"
      },
      "456": {
        "on": true,
        "online": true,
        "status": "SUCCESS",
        "brightness": 80,
        "color": {
          "spectrumRgb": 16711935
        }
      }
    }
  }
}