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
       
}
     
}
   
}
 
}
}