action.devices.EXECUTE
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 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 sur un ensemble
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 |
String |
Obligatoire. Identifiant 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. Exécuter la charge utile de la requête. |
commands |
Array |
Obligatoire. Liste des paires d'appareils cibles et de commandes. |
[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 |
String |
Obligatoire. ID de l'appareil, conformément à l'ID fourni dans le système SYNC. |
customData |
Objet |
Si l'objet opaque customData 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 |
Aligné sur les paramètres de chaque commande. |
Exemples
Exécution de 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 |
String |
Obligatoire. ID de la requête correspondante. |
payload |
Objet |
Obligatoire. Charge utile de la réponse d'intent. |
errorCode |
String |
Code d'erreur pour l'ensemble de la transaction en cas d'échecs d'authentification et d'indisponibilité du système du développeur. Pour les erreurs relatives à un appareil spécifique, utilisez le paramètre "errorCode" dans l'objet "device". |
debugString |
String |
Erreur 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 réponses détaillées. Remarque : Ils peuvent ne pas être regroupés de la même manière que dans la requête. Par exemple, la requête peut allumer sept lumières, dont trois qui réussissent et quatre qui échouent, et donc avec deux groupes dans la réponse. |
[item, ...] |
Objet |
Résultat de l'exécution de l'appareil. |
ids |
Array |
Obligatoire. Liste des ID d'appareils 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 |
Alignement sur les états par caractéristique décrits dans chaque référence de schéma de caractéristique. 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 joignable) ou non. |
errorCode |
String |
Si nécessaire, développez l'état d'ERREUR à partir des codes d'erreur prédéfinis, qui seront mis en correspondance avec les erreurs présentées aux utilisateurs. |
Exemples
Exécution de 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" } ] } }