действие.устройства.ВЫПОЛНИТЬ
Это намерение отправляет команды для выполнения на устройствах умного дома.
Ваше выполнение должно обрабатывать каждую команду, передавать ее соответствующему устройству и возвращать новое состояние в ответе EXECUTE
.
Одно намерение EXECUTE
может предназначаться для нескольких устройств с несколькими командами. Например, инициируемое намерение может устанавливать как яркость, так и цвет для набора источников света или может устанавливать для нескольких источников света разные цвета.
Дополнительные сведения см. в разделе Запрос и выполнение .
Формат запроса
Поля | Тип | Описание |
---|---|---|
requestId | Нить | Необходимый. Идентификатор запроса. |
inputs | Множество | Необходимый. Список входных данных, соответствующих запросу намерения. |
[ item, ... ] | Объект | Тип и полезные данные, связанные с запросом намерения. |
intent | Необходимый. (Постоянное значение: Тип запроса намерения. | |
payload | Объект | Необходимый. EXECUTE полезная нагрузка запроса. |
commands | Множество | Необходимый. Список пар целей устройства и команд. |
[ item, ... ] | Объект | Набор команд для выполнения на подключенных устройствах. |
devices | Множество | Необходимый. Список целевых устройств. |
[ item, ... ] | Объект | Целевое устройство для выполнения. |
id | Нить | Необходимый. Идентификатор устройства в соответствии с идентификатором, указанным в SYNC. |
customData | Объект | Если непрозрачный объект customData предоставляется в SYNC, он отправляется сюда. |
execution | Множество | Необходимый. Список команд для выполнения на целевых устройствах. |
[ item, ... ] | Объект | Команда устройства. |
command | Нить | Необходимый. Команда для выполнения, обычно с сопутствующими параметрами. |
params | Объект | Согласовано с параметрами для каждой команды. |
Примеры
ВЫПОЛНИТЬ запрос намерения
{ "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 } } ] } ] } } ] }
Формат ответа
Поля | Тип | Описание |
---|---|---|
requestId | Нить | Необходимый. Идентификатор соответствующего запроса. |
payload | Объект | Необходимый. Полезная нагрузка ответа на намерение. |
errorCode | Нить | Код ошибки для всей транзакции из-за сбоев аутентификации и недоступности системы разработчика. Для ошибок отдельных устройств используйте errorCode внутри объекта устройства. |
debugString | Нить | Подробная ошибка, которая никогда не будет представлена пользователям, но может быть зарегистрирована или использована во время разработки. |
commands | Множество | Каждый объект содержит одно или несколько устройств с подробностями ответа. NB. Они не могут быть сгруппированы так же, как в запросе. Например, запрос может включить 7 индикаторов, при этом 3 индикатора будут работать успешно, а 4 — нет, то есть в ответе будет две группы. |
[ item, ... ] | Объект | Результат выполнения устройства. |
ids | Множество | Необходимый. Список идентификаторов устройств, соответствующих этому статусу. |
[ item, ... ] | Нить | Идентификатор устройства. |
status | Нить | Необходимый. Результат операции выполнения. Поддерживаемые значения:
|
states | Объект | Соответствует состояниям каждого признака, описанным в справочнике по каждой схеме признака. Это состояния после выполнения, если они доступны. |
online | логическое значение | Указывает, находится ли устройство в сети (то есть доступно) или нет. |
errorCode | Нить | При необходимости расширение состояния ОШИБКА из предустановленных кодов ошибок, которые будут сопоставлены с ошибками, представленными пользователям. |
Примеры
EXECUTE ответ на намерение
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }