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: 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:
|
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"
}
]
}
}