action.devices.EXECUTE
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Mit diesem Intent werden Befehle an Smart-Home-Geräte gesendet.
Deine Auslieferung sollte jeden Befehl verarbeiten, an das entsprechende Gerät weiterleiten und den neuen Status in der EXECUTE
-Antwort zurückgeben.
Eine einzelne EXECUTE
-Intent kann auf mehrere Geräte mit mehreren Befehlen ausgerichtet sein.
So kann eine ausgelöste Absicht beispielsweise sowohl die Helligkeit als auch die Farbe einer Gruppe von Lampen festlegen oder mehrere Lampen jeweils auf eine andere Farbe.
Weitere Informationen finden Sie unter Abfragen und ausführen.
Anfrageformat
Felder | Typ | Beschreibung |
---|---|---|
requestId |
String |
Erforderlich. ID der Anfrage. |
inputs |
Array |
Erforderlich. Liste der Eingaben, die mit der Intent-Anfrage übereinstimmen. |
[item, ...] |
Objekt |
Typ und Nutzlast, die mit der Intent-Anfrage verknüpft sind. |
intent |
Erforderlich. (Konstanter Wert: Typ der Intent-Anfrage. |
|
payload |
Objekt |
Erforderlich. EXECUTE-Anfragenutzlast. |
commands |
Array |
Erforderlich. Liste der Geräteziele und Befehlspaare. |
[item, ...] |
Objekt |
Befehle, die auf den angehängten Gerätezielen ausgeführt werden sollen. |
devices |
Array |
Erforderlich. Liste der Zielgeräte. |
[item, ...] |
Objekt |
Zu ausführendes Geräteziel. |
id |
String |
Erforderlich. Geräte-ID, gemäß der in SYNC angegebenen ID. |
customData |
Objekt |
Wenn das nicht transparente Objekt „customData“ in SYNC angegeben ist, wird es hier gesendet. |
execution |
Array |
Erforderlich. Liste der Befehle, die auf Zielgeräten ausgeführt werden sollen. |
[item, ...] |
Objekt |
Gerätebefehl |
command |
String |
Erforderlich. Der auszuführende Befehl, in der Regel mit begleitenden Parametern. |
params |
Objekt |
Sie müssen mit den Parametern für jeden Befehl übereinstimmen. |
Beispiele
EXECUTE intent request
{ "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 } } ] } ] } } ] }
Antwortformat
Felder | Typ | Beschreibung |
---|---|---|
requestId |
String |
Erforderlich. ID der entsprechenden Anfrage. |
payload |
Objekt |
Erforderlich. Nutzlast der Intent-Antwort. |
errorCode |
String |
Ein Fehlercode für die gesamte Transaktion bei Autorisierungsfehlern und Nichtverfügbarkeit des Entwicklersystems. Verwenden Sie für einzelne Gerätefehler den errorCode im Geräteobjekt. |
debugString |
String |
Detaillierter Antwortfehler, der Nutzern nie angezeigt wird, aber während der Entwicklung protokolliert oder verwendet werden kann. |
commands |
Array |
Jedes Objekt enthält ein oder mehrere Geräte mit Antwortdetails. Hinweis: Die Daten sind möglicherweise nicht so gruppiert wie in der Anfrage. Die Anfrage könnte beispielsweise sieben Lampen einschalten, wobei drei Lampen erfolgreich und vier fehlgeschlagen sind. Die Antwort enthält also zwei Gruppen. |
[item, ...] |
Objekt |
Ergebnis der Geräteausführung. |
ids |
Array |
Erforderlich. Liste der Geräte-IDs, die diesem Status entsprechen. |
[item, ...] |
String |
Geräte-ID |
status |
String |
Erforderlich. Ergebnis des Ausführungsvorgangs. Unterstützte Werte:
|
states |
Objekt |
Entspricht den Zuständen pro Merkmal, die in der jeweiligen Schemareferenz für das Merkmal beschrieben sind. Das sind die Zustände nach der Ausführung, sofern verfügbar. |
online |
Boolesch |
Gibt an, ob das Gerät online (d. h. erreichbar) ist oder nicht. |
errorCode |
String |
Erweitern des Status „Fehler“ bei Bedarf aus den voreingestellten Fehlercodes, die den Nutzern angezeigten Fehlern zugeordnet werden. |
debugString |
String |
Detaillierter Fehler auf Befehlsebene, der Nutzern nie angezeigt wird, aber während der Entwicklung protokolliert oder verwendet werden kann. |
Beispiele
EXECUTE-Intent-Antwort
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }