Mode

devices.capabilities.mode

Переключение режимов работы устройства, например, переключение между температурными режимами работы кондиционера: «Охлаждение», «Нагрев» или «Авто».

  1. Общие голосовые команды
  2. Описание умения
  3. Текущее состояние умения
  4. Изменение состояния умения у устройства

Общие голосовые команды

  1. Алиса, включи автоматический режим вентиляции.

  2. Алиса, включи экспресс режим уборки на пылесосе.

  3. Алиса, поставь скорость работы в режим турбо.

Описание умения

Структура используется в ответе операции Информация об устройствах пользователя.

  1. Параметры умения
  2. Пример использования

Параметры умения

Параметр Тип Описание Обязательный
type String Тип умения. Да
retrievable Boolean Доступен ли для данного умения устройства запрос состояния. Допустимые значения:
  • true — для умения доступен запрос состояния. Является значением по умолчанию;
  • false — для умения недоступен запрос состояния.
Нет
reportable Boolean Признак включенного оповещения об изменении состояния умения. Допустимые значения:
  • true — оповещение включено. Умение оповещает платформу о каждом изменении своего состояния;
  • false — оповещение выключено. Умение не оповещает платформу об изменении своего состояния. Является значением по умолчанию.
Нет
parameters Object Объект parameters. Да
Объект parameters
instance String Название функции для данного умения. Допустимые значения можно посмотреть в разделе Список функций. Да
modes Array of mode object
Массив объектов mode, которые описывают режимы работы функции. Минимальное количество режимов в массиве: 1.
Ограничение.

При повторной отправке массива объектов mode, для одного и того же устройства, необходимо соблюдать порядок режимов. Он должен совпадать с предыдущим отправленным вариантом.

Да
Объект mode, который входит в массив modes
value String Значение режима работы функции, обрабатываемое на стороне провайдера. Допустимые значения можно посмотреть в разделе Список режимов работы. Да
Параметр Тип Описание Обязательный
type String Тип умения. Да
retrievable Boolean Доступен ли для данного умения устройства запрос состояния. Допустимые значения:
  • true — для умения доступен запрос состояния. Является значением по умолчанию;
  • false — для умения недоступен запрос состояния.
Нет
reportable Boolean Признак включенного оповещения об изменении состояния умения. Допустимые значения:
  • true — оповещение включено. Умение оповещает платформу о каждом изменении своего состояния;
  • false — оповещение выключено. Умение не оповещает платформу об изменении своего состояния. Является значением по умолчанию.
Нет
parameters Object Объект parameters. Да
Объект parameters
instance String Название функции для данного умения. Допустимые значения можно посмотреть в разделе Список функций. Да
modes Array of mode object
Массив объектов mode, которые описывают режимы работы функции. Минимальное количество режимов в массиве: 1.
Ограничение.

При повторной отправке массива объектов mode, для одного и того же устройства, необходимо соблюдать порядок режимов. Он должен совпадать с предыдущим отправленным вариантом.

Да
Объект mode, который входит в массив modes
value String Значение режима работы функции, обрабатываемое на стороне провайдера. Допустимые значения можно посмотреть в разделе Список режимов работы. Да

Пример использования

Платформа умного дома отправляет провайдеру запрос на получение информации об устройствах пользователя. Провайдер в ответ передает информацию о том, что у пользователя есть кондиционер с разными температурными режимами работы.

curl -i -X GET 'https://example.com/v1.0/user/devices' \
-H 'Authorization: Bearer 123qwe456a...' \
-H 'X-Request-Id: ff36a3cc-ec...'
Скопировано

Текущее состояние умения

Структура используется в ответе операции Информация о состояниях устройств пользователя и в теле запроса операции Уведомление об изменении состояний устройств.

  1. Параметры умения
  2. Пример использования

Параметры умения

Параметр Тип Описание Обязательный
type String Тип умения. Да
state Object Параметры состояния умения. Да
Объект state
instance String Название функции для данного умения. Допустимые значения можно посмотреть в разделе Список функций. Да
value String Значение режима работы функции, обрабатываемое на стороне провайдера. Допустимые значения можно посмотреть в разделе Список режимов работы. Да
Параметр Тип Описание Обязательный
type String Тип умения. Да
state Object Параметры состояния умения. Да
Объект state
instance String Название функции для данного умения. Допустимые значения можно посмотреть в разделе Список функций. Да
value String Значение режима работы функции, обрабатываемое на стороне провайдера. Допустимые значения можно посмотреть в разделе Список режимов работы. Да

Пример использования

Платформа умного дома отправляет провайдеру запрос о состоянии устройств пользователя. Провайдер в ответ передает информацию о состоянии устройств пользователя.

curl -i -X POST 'https://example.com/v1.0/user/devices/query' \
-H 'Authorization: Bearer 123qwe456a...' \
-H 'X-Request-Id: ff36a3cc-ec...' \
-H 'Content-Type: application/json' \
-d '{ 
      "devices": 
      [
        {
            "id": "ac-001-xdc",
            "custom_data": {
                "api_location": "rus"
            } 
        }
      ]
    }' 
Скопировано

Изменение состояния умения у устройства

Структура используется в ответе операции Изменение состояния у устройств.

Параметры умения

Параметр Тип Описание Обязательный
type String Тип умения. Да
state Object Объект, который описывает результат изменения состояния умения. Да
Объект state
instance String Название функции для данного умения. Допустимые значения можно посмотреть в разделе Список функций. Да
action_result Object Результат изменения состояния умения устройства. Нет
Объект action_result
status String Статус изменения состояния умения устройства. Допустимые значения:
  • DONE — состояние умения устройства успешно изменено;
  • ERROR — при изменении состояния умения устройства произошла ошибка.
Да
error_code String Код возможной ошибки из списка ошибок. Если status:"ERROR", параметр является обязательным. Нет
error_message String Расширенное человекочитаемое описание возможной ошибки. Отображается только в разделе Тестирование в консоли разработчика. Нет
Параметр Тип Описание Обязательный
type String Тип умения. Да
state Object Объект, который описывает результат изменения состояния умения. Да
Объект state
instance String Название функции для данного умения. Допустимые значения можно посмотреть в разделе Список функций. Да
action_result Object Результат изменения состояния умения устройства. Нет
Объект action_result
status String Статус изменения состояния умения устройства. Допустимые значения:
  • DONE — состояние умения устройства успешно изменено;
  • ERROR — при изменении состояния умения устройства произошла ошибка.
Да
error_code String Код возможной ошибки из списка ошибок. Если status:"ERROR", параметр является обязательным. Нет
error_message String Расширенное человекочитаемое описание возможной ошибки. Отображается только в разделе Тестирование в консоли разработчика. Нет

Пример использования

Платформа умного дома отправляет провайдеру запрос на изменение состояния у устройств пользователя. Провайдер в ответ передает результат изменения состояния у устройств пользователя.

curl -i -X POST 'https://example.com/v1.0/user/devices/action' \
-H 'Authorization: Bearer 123qwe456a...' \
-H 'X-Request-Id: ff36a3cc-ec...' \
-H 'Content-Type: application/json' \
-d '{
      "payload": {
        "devices": [{
            "id": "ac-001-xdc",
            "custom_data": {
                "api_location": "rus"
            },
            "capabilities": [{
                "type": "devices.capabilities.mode",
                "state": {
                    "instance": "thermostat",
                    "value": "heat"
                }
            }]
        }]
      }
    }'
Скопировано