action.devices.EXECUTE
Dieser Intent sendet Befehle zur Ausführung auf Smart-Home-Geräten.
Die Auftragsausführung sollte jeden Befehl verarbeiten, an das entsprechende Gerät übertragen und dann zurückgeben.
den neuen Status in der EXECUTE
-Antwort.
Ein einzelner EXECUTE
-Intent kann mit mehreren Befehlen auf mehrere Geräte abzielen.
Beispielsweise kann ein ausgelöster Intent sowohl Helligkeit als auch Farbe für eine Reihe von
oder mehrere Lampen auf eine andere Farbe einstellen.
Weitere Informationen finden Sie unter Abfragen und Ausführungen.
Anfrageformat
Felder | Typ | Beschreibung |
---|---|---|
requestId |
String |
Erforderlich. ID der Anfrage. |
inputs |
Array |
Erforderlich. Liste der Eingaben, die der Intent-Anfrage entsprechen. |
[item, ...] |
Objekt |
Typ und Nutzlast, die der Intent-Anfrage zugeordnet sind. |
intent |
Erforderlich. (Konstanter Wert: Intent-Anfragetyp. |
|
payload |
Objekt |
Erforderlich. Nutzlast der Anfrage AUSFÜHREN. |
commands |
Array |
Erforderlich. Liste der Geräteziel- und Befehlspaare. |
[item, ...] |
Objekt |
Satz von Befehlen, die auf den angehängten Gerätezielen ausgeführt werden sollen. |
devices |
Array |
Erforderlich. Liste der Zielgeräte. |
[item, ...] |
Objekt |
Auszuführendes Geräteziel. |
id |
String |
Erforderlich. Geräte-ID gemäß der in SYNC angegebenen ID. |
customData |
Objekt |
Wenn das intransparente „customData“-Objekt in SYNC angegeben wird, 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 zugehörigen Parametern. |
params |
Objekt |
Auf die Parameter des jeweiligen Befehls abgestimmt. |
Beispiele
Intent-Anfrage ausführen
{ "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 |
Fehlercode für die gesamte Transaktion für Authentifizierungsfehler und Nichtverfügbarkeit des Entwicklersystems. Verwenden Sie für einzelne Gerätefehler den Fehlercode im Geräteobjekt. |
debugString |
String |
Detaillierter Fehler, der Nutzern nie angezeigt wird, aber protokolliert oder während der Entwicklung verwendet werden kann. |
commands |
Array |
Jedes Objekt enthält ein oder mehrere Geräte mit Antwortdetails. Hinweis: Diese sind möglicherweise nicht auf die gleiche Weise gruppiert wie in der Anfrage. Durch die Anfrage könnten beispielsweise 7 Lampen eingeschaltet werden, von denen 3 aufeinanderfolgende und 4 fehlt. In der Antwort sind also zwei Gruppen enthalten. |
[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 |
Abgestimmt auf die Zustände pro Eigenschaft, die in jeder Referenzschemareferenz beschrieben sind. Dies sind die Status nach der Ausführung, falls verfügbar. |
online |
Boolesch |
Gibt an, ob das Gerät online (d. h. erreichbar) ist oder nicht. |
errorCode |
String |
Bei Bedarf wird der FEHLER-Status aus den voreingestellten Fehlercodes erweitert. Diese werden den Fehlern zugeordnet, die Nutzern angezeigt werden. |
Beispiele
Intent-Antwort AUSFÜHREN
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }