action.devices.EXECUTE

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

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

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

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

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

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

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

ID запроса.

inputs Множество

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

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

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

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

intent

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

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

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

payload Объект

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

EXECUTE запроса полезной нагрузки.

commands Множество

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

Список пар целевых устройств и команд.

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

Набор команд для выполнения на подключенных целевых устройствах.

devices Множество

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

Список целевых устройств.

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

Целевое устройство для выполнения.

id Нить

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

Идентификатор устройства в соответствии с идентификатором, предоставленным в SYNC.

customData Объект

Если в SYNC предоставляется непрозрачный объект customData, он отправляется сюда.

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

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

ID соответствующего запроса.

payload Объект

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

Полезная нагрузка ответа на намерение.

errorCode Нить

Код ошибки для всей транзакции для сбоев аутентификации и недоступности системы разработчика. Для ошибок отдельных устройств используйте errorCode в объекте устройства.

debugString Нить

Подробная ошибка, которая никогда не будет представлена ​​пользователям, но может быть зарегистрирована или использована во время разработки.

commands Множество

Каждый объект содержит одно или несколько устройств с подробностями ответа. NB Они не могут быть сгруппированы таким же образом, как в запросе. Например, запрос может включить 7 индикаторов, при этом 3 индикатора сработали, а 4 отказали, таким образом, в ответе будет две группы.

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

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

ids Множество

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

Список идентификаторов устройств, соответствующих этому статусу.

[ item, ... ] Нить

Идентификатор устройства.

status Нить

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

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

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

SUCCESS
Подтвердите, что команда выполнена успешно.
PENDING
Команда поставлена ​​в очередь, но ожидается, что она завершится успешно.
OFFLINE
Целевое устройство находится в автономном режиме или недоступно.
EXCEPTIONS
Возникла проблема или предупреждение, связанное с командой. Команда может быть успешной или неудачной. Этот тип состояния обычно устанавливается, когда вы хотите отправить дополнительную информацию о другом подключенном устройстве.
ERROR
Целевое устройство не может выполнить команду.
states Объект

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

online логический

Указывает, находится ли устройство в сети (то есть доступно) или нет.

errorCode Нить

Расширение состояния ERROR, если необходимо, из предустановленных кодов ошибок, которые будут отображаться в ошибках, представленных пользователям.

Примеры

ВЫПОЛНИТЬ ответ намерения

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "on": true,
          "online": true
        }
      },
      {
        "ids": [
          "456"
        ],
        "status": "ERROR",
        "errorCode": "deviceTurnedOff"
      }
    ]
  }
}