action.devices.EXECUTE
Cet intent envoie des commandes à exécuter sur les appareils connectés.
Votre fulfillment doit traiter chaque commande, la transmettre à l'appareil correspondant et renvoyer le nouvel état dans la réponse EXECUTE
.
Un même intent EXECUTE
peut cibler plusieurs appareils à l'aide de plusieurs commandes.
Par exemple, un intent déclenché peut définir à la fois la luminosité et la couleur d'un ensemble de lumières, ou définir plusieurs lumières sur une couleur différente.
Pour en savoir plus, consultez Interroger et exécuter.
Format de requête
Champs | Type | Description |
---|---|---|
requestId |
Chaîne |
Obligatoire. ID de la requête. |
inputs |
Array |
Obligatoire. Liste des entrées correspondant à la requête d'intent. |
[item, ...] |
Objet |
Type et charge utile associé à la requête d'intent. |
intent |
Obligatoire. (Valeur constante : Type de requête d'intent. |
|
payload |
Objet |
Obligatoire. Charge utile de la requête EXECUTE. |
commands |
Array |
Obligatoire. Liste des paires cible/commande de l'appareil. |
[item, ...] |
Objet |
Ensemble de commandes à exécuter sur les appareils cibles associés. |
devices |
Array |
Obligatoire. Liste des appareils cibles. |
[item, ...] |
Objet |
Appareil cible à exécuter. |
id |
Chaîne |
Obligatoire. ID de l'appareil, conformément à l'ID fourni dans SYNC. |
customData |
Objet |
Si l'objet "customData" opaque est fourni au format SYNC, il est envoyé ici. |
execution |
Array |
Obligatoire. Liste des commandes à exécuter sur les appareils cibles. |
[item, ...] |
Objet |
Commande de l'appareil. |
command |
Chaîne |
Obligatoire. Commande à exécuter, généralement accompagnée des paramètres. |
params |
Objet |
Alignement avec les paramètres de chaque commande. |
Exemples
EXÉCUTER la requête d'intent
{ "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 de réponse
Champs | Type | Description |
---|---|---|
requestId |
Chaîne |
Obligatoire. ID de la requête correspondante. |
payload |
Objet |
Obligatoire. Charge utile de la réponse d'intent. |
errorCode |
Chaîne |
Code d'erreur de l'ensemble de la transaction pour les échecs d'authentification et l'indisponibilité du système de développement. Pour les erreurs liées à des appareils individuels, utilisez le code d'erreur dans l'objet appareil. |
debugString |
Chaîne |
Erreur détaillée qui ne sera jamais présentée aux utilisateurs, mais qui peut être consignée ou utilisée lors du développement. |
commands |
Array |
Chaque objet contient un ou plusieurs appareils avec les détails de la réponse. Remarque : Il est possible que ces éléments ne soient pas regroupés de la même manière que dans la demande. Par exemple, la requête peut allumer sept lumières, avec trois lumières qui réussissent et quatre qui échouent, et donc deux groupes dans la réponse. |
[item, ...] |
Objet |
Résultat d'exécution de l'appareil. |
ids |
Array |
Obligatoire. Liste des ID d'appareils correspondant à cet état. |
[item, ...] |
Chaîne |
ID de l'appareil. |
status |
Chaîne |
Obligatoire. Résultat de l'opération d'exécution. Valeurs acceptées :
|
states |
Objet |
Alignement avec les états par attribut décrits dans chaque référence de schéma de caractéristiques. Voici les états après l'exécution, s'ils sont disponibles. |
online |
Booléen |
Indique si l'appareil est en ligne (c'est-à-dire accessible) ou non. |
errorCode |
Chaîne |
Développer l'état ERROR si nécessaire à partir des codes d'erreur prédéfinis, qui seront mis en correspondance avec les erreurs présentées aux utilisateurs |
Exemples
EXÉCUTER la réponse d'intent
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }