action.devices.EXECUTE
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cet intent envoie des commandes à exécuter sur les appareils connectés.
Votre traitement doit traiter chaque commande, la transmettre à l'appareil correspondant et renvoyer le nouvel état dans la réponse EXECUTE
.
Un seul intent EXECUTE
peut cibler plusieurs appareils avec 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 de couleurs différentes.
Pour en savoir plus, consultez la section Interroger et exécuter.
Format de requête
Champs | Type | Description |
---|---|---|
requestId |
String |
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és à 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 de cible d'appareil et de commande. |
[item, ...] |
Objet |
Ensemble de commandes à exécuter sur les cibles d'appareils associées. |
devices |
Array |
Obligatoire. Liste des appareils cibles. |
[item, ...] |
Objet |
Cible d'appareil à exécuter. |
id |
String |
Obligatoire. ID de l'appareil, tel que fourni dans SYNC. |
customData |
Objet |
Si l'objet customData opaque est fourni dans SYNC, il est envoyé ici. |
execution |
Array |
Obligatoire. Liste des commandes à exécuter sur les appareils cibles. |
[item, ...] |
Objet |
Commande de l'appareil. |
command |
String |
Obligatoire. Commande à exécuter, généralement accompagnée de paramètres. |
params |
Objet |
Correspond aux paramètres de chaque commande. |
Exemples
Demande d'intent 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 de réponse
Champs | Type | Description |
---|---|---|
requestId |
String |
Obligatoire. ID de la requête correspondante. |
payload |
Objet |
Obligatoire. Charge utile de la réponse de l'intent. |
errorCode |
String |
Code d'erreur pour l'ensemble de la transaction en cas d'échec de l'authentification et d'indisponibilité du système du développeur. Pour les erreurs d'appareil individuelles, utilisez le code d'erreur dans l'objet appareil. |
debugString |
String |
Erreur de réponse détaillée qui ne sera jamais présentée aux utilisateurs, mais qui peut être enregistrée ou utilisée pendant le développement. |
commands |
Array |
Chaque objet contient un ou plusieurs appareils avec des informations sur la réponse. Remarque : Ils ne sont pas forcément regroupés de la même manière que dans la requête. Par exemple, la requête peut allumer sept ampoules, dont trois aboutissent et quatre échouent, ce qui donne deux groupes dans la réponse. |
[item, ...] |
Objet |
Résultat de l'exécution de l'appareil. |
ids |
Array |
Obligatoire. Liste des ID d'appareil correspondant à cet état. |
[item, ...] |
String |
ID de l'appareil |
status |
String |
Obligatoire. Résultat de l'opération d'exécution. Valeurs acceptées :
|
states |
Objet |
Correspond aux états par trait décrits dans chaque référence de schéma de trait. Il s'agit des états après l'exécution, le cas échéant. |
online |
Valeur booléenne |
Indique si l'appareil est en ligne (c'est-à-dire accessible) ou non. |
errorCode |
String |
Élargissement de l'état ERROR si nécessaire à partir des codes d'erreur prédéfinis, qui seront mappés aux erreurs présentées aux utilisateurs. |
debugString |
String |
Erreur détaillée au niveau de la commande qui ne sera jamais présentée aux utilisateurs, mais qui peut être enregistrée ou utilisée pendant le développement. |
Exemples
Réponse à l'intent EXECUTE
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }