Aktion.Geräte.AUSFÜHREN
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 den neuen Status in der EXECUTE
-Antwort zurückgeben.
Ein einzelner EXECUTE
-Intent kann mit mehreren Befehlen auf mehrere Geräte ausgerichtet werden.
Ein ausgelöster Intent kann beispielsweise die Helligkeit und die Farbe einer Lampe einstellen oder mehrere Lampen jeweils auf eine andere Farbe einstellen.
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 der Intent-Anfrage entsprechen. |
[item, ...] |
Objekt |
Typ und Nutzlast der Intent-Anfrage. |
intent |
Erforderlich. (Konstante Wert: Intent-Anfragetyp. |
|
payload |
Objekt |
Erforderlich. Nutzlast der Anfrage ausführen. |
commands |
Array |
Erforderlich. Liste der Geräteziel-/Befehlspaare. |
[item, ...] |
Objekt |
Befehle, die für die angehängten Geräteziele ausgeführt werden sollen. |
devices |
Array |
Erforderlich. Liste der Zielgeräte. |
[item, ...] |
Objekt |
Das auszuführende Geräteziel. |
id |
String |
Erforderlich. Geräte-ID gemäß der in SYNC zur Verfügung gestellten ID |
customData |
Objekt |
Wenn das intransparente benutzerdefinierte DataData-Objekt in SYNC bereitgestellt 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, normalerweise mit Begleitparametern. |
params |
Objekt |
Entspricht den Parametern für jeden Befehl. |
Beispiele
Anfrage zur Ausführung von Ausführung
{ "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 Authentifizierungsfehlern und Nichtverfügbarkeit des Entwicklersystems. Verwenden Sie für einzelne Gerätefehler den errorCode im Geräteobjekt. |
debugString |
String |
Detaillierter Fehler, der Nutzern nicht angezeigt, aber während der Entwicklung protokolliert oder verwendet werden kann. |
commands |
Array |
Jedes Objekt enthält ein oder mehrere Geräte mit Antwortdetails. Hinweis: Sie sind möglicherweise nicht wie in der Anfrage gruppiert. Die Anfrage kann z. B. 7 Lampen einschalten, von denen 3 erfolgreich sind und 4 fehlgeschlagen sind, sodass zwei Gruppen in der Antwort enthalten sind. |
[item, ...] |
Objekt |
Ergebnis der Geräteausführung. |
ids |
Array |
Erforderlich. Liste der Geräte-IDs für diesen Status. |
[item, ...] |
String |
Geräte-ID. |
status |
String |
Erforderlich. Ergebnis des Ausführungsvorgangs. Unterstützte Werte:
|
states |
Objekt |
Entspricht den Eigenschaften, die in den Verweisen auf das jeweilige Merkmal beschrieben werden. Das sind die Status nach der Ausführung, falls verfügbar. |
online |
Boolesch |
Gibt an, ob das Gerät online ist, also erreichbar ist, oder nicht. |
errorCode |
String |
Erweitern des Fehlerstatus bei Bedarf aus den voreingestellten Fehlercodes, die den Fehlern zugeordnet werden. |
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" } ] } }