action.devices.QUERY

Ta intencja wysyła zapytania do realizacji aktualnego stanu urządzeń, np. czy jest ona online i czy jest osiągalna.

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

Typ żądania intencji.

payload Obiekt

Wymagane.

Ładunek żądania QUERY.

devices Tablica

Wymagane.

Lista urządzeń docelowych.

[item, ...] Obiekt

Docelowe urządzenia.

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.

Przykłady

Prośba o zamiar zapytania 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 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.

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 jest osiągalne) czy nie.

status Ciąg

Wymagane.

Wynik operacji zapytania.

Obsługiwane wartości:

SUCCESS
Sprawdź, czy zapytanie zakończyło się powodzeniem.
OFFLINE
Urządzenie docelowe jest w trybie offline lub nieosiągalne.
EXCEPTIONS
Z zapytaniem jest powiązany problem lub alert. Zapytanie się powiodło lub nie udało. Ten typ stanu jest ustawiany zazwyczaj, gdy chcesz wysłać dodatkowe informacje o innym połączonym urządzeniu.
ERROR
Nie udało się przesłać zapytania do urządzenia docelowego.
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

Odpowiedź na intencję 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
        }
      }
    }
  }
}