действие.устройства.ВЫПОЛНИТЬ

Это намерение отправляет команды для выполнения на устройствах умного дома.

Ваше выполнение должно обрабатывать каждую команду, передавать ее соответствующему устройству и возвращать новое состояние в ответе EXECUTE .

Одно намерение EXECUTE может предназначаться для нескольких устройств с несколькими командами. Например, инициируемое намерение может устанавливать как яркость, так и цвет для набора источников света или может устанавливать для нескольких источников света разные цвета.

Дополнительные сведения см. в разделе Запрос и выполнение .

Формат запроса

Поля Тип Описание
requestId Нить

Необходимый.

Идентификатор запроса.

inputs Множество

Необходимый.

Список входных данных, соответствующих запросу намерения.

[ item, ... ] Объект

Тип и полезные данные, связанные с запросом намерения.

intent

Необходимый.

(Постоянное значение: "action.devices.EXECUTE" )

Тип запроса намерения.

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 Нить

Необходимый.

Результат операции выполнения.

Поддерживаемые значения:

SUCCESS
Подтвердите, что команда выполнена успешно.
PENDING
Команда поставлена ​​в очередь, но ожидается, что она будет успешной.
OFFLINE
Целевое устройство находится в автономном режиме или недоступно.
EXCEPTIONS
С командой связана проблема или предупреждение. Команда может быть успешной или неудачной. Этот тип статуса обычно устанавливается, когда вы хотите отправить дополнительную информацию о другом подключенном устройстве.
ERROR
Целевое устройство не может выполнить команду.
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"
      }
    ]
  }
}