Toggle
devices.capabilities.toggle
Управление параметрами устройства, которые могут находиться только в одном из двух состояний. Например, кнопки, тумблеры и подобные им элементы управления, которые включают или выключают какую-либо дополнительную функцию устройства.
Общие голосовые команды
-
Алиса, включи ионизатор на увлажнителе.
-
Алиса, выключи звук на телеке.
-
Алиса, включи подсветку чайника.
Описание умения
Структура используется в ответе операции Информация об устройствах пользователя.
Параметры умения
Параметр |
Тип |
Описание |
Обязательный |
type |
String |
Тип умения. |
Да |
retrievable |
Boolean |
Доступен ли для данного умения устройства запрос состояния. Допустимые значения:
|
Нет |
reportable |
Boolean |
Признак включенного оповещения об изменении состояния умения при помощи сервиса уведомлений. Допустимые значения:
|
Нет |
parameters |
Object |
Объект |
Да |
Объект parameters
Параметр |
Тип |
Описание |
Обязательный |
instance |
String |
Название функции для данного умения. Допустимые значения можно посмотреть в разделе Список функций. |
Да |
Пример использования
Платформа умного дома отправляет провайдеру запрос на получение информации об устройствах пользователя. Провайдер в ответ передает информацию о том, что у пользователя есть увлажнитель с ионизатором.
curl -i -X GET 'https://example.com/v1.0/user/devices' \
-H 'Authorization: Bearer 123qwe456a...' \
-H 'X-Request-Id: ff36a3cc-ec...'
HTTP/1.1 200 OK
{
"request_id": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"user_id": "user-001",
"devices": [
{
"id": "humidifier-001-xdh",
"name": "увлажнитель",
"description": "умный увлажнитель xdh",
"room": "спальня",
"type": "devices.types.humidifier",
"custom_data": {
"api_location": "rus"
},
"capabilities": [
{
"type": "devices.capabilities.toggle"
"retrievable": true,
"reportable": false,
"parameters": {
"instance": "ionization"
}
}
],
"device_info": {
"manufacturer": "Provider-01",
"model": "xdh 1",
"hw_version": "1.2",
"sw_version": "5.4"
}
}
]
}
}
Текущее состояние умения
Структура используется в ответе операции Информация о состояниях устройств пользователя и в теле запроса операции Уведомление об изменении состояний устройств.
Параметры умения
Параметр |
Тип |
Описание |
Обязательный |
type |
String |
Тип умения. |
Да |
state |
Object |
Параметры состояния умения. |
Да |
Объект state
Параметр |
Тип |
Описание |
Обязательный |
instance |
String |
Название функции для данного умения. Допустимые значения можно посмотреть в разделе Список функций. |
Да |
value |
Boolean |
Значение функции для данного умения. Допустимые значения:
|
Да |
Пример использования
Платформа умного дома отправляет провайдеру запрос о состоянии устройств пользователя. Провайдер в ответ передает информацию о состоянии устройств пользователя.
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": "humidifier-001-xdh",
"custom_data": {
"api_location": "rus"
}
}
]
}'
HTTP/1.1 200 OK
{
"request_id": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"devices": [
{
"id": "humidifier-001-xdh",
"capabilities": [
{
"type": "devices.capabilities.toggle",
"state": {
"instance": "ionization",
"value": true
}
}
]
}
]
}
}
Изменение состояния умения у устройства
Структура используется в ответе операции Изменение состояния у устройств.
Параметры умения
Параметр |
Тип |
Описание |
Обязательный |
type |
String |
Тип умения. |
Да |
state |
Object |
Объект, который описывает результат изменения состояния умения. |
Да |
Объект state
Параметр |
Тип |
Описание |
Обязательный |
instance |
String |
Название функции для данного умения. Допустимые значения можно посмотреть в разделе Список функций. |
Да |
action_result |
Object |
Результат изменения состояния умения устройства. |
Нет |
Объект action_result
Параметр |
Тип |
Описание |
Обязательный |
status |
String |
Статус изменения состояния умения устройства. Допустимые значения:
|
Да |
error_code |
String |
Код возможной ошибки из списка ошибок. Если |
Нет |
error_message |
String |
Расширенное человекочитаемое описание возможной ошибки. Отображается только в разделе Тестирование в консоли разработчика. |
Нет |
Пример использования
Платформа умного дома отправляет провайдеру запрос на изменение состояния у устройств пользователя. Провайдер в ответ передает результат изменения состояния у устройств пользователя.
curl -i -X POST 'https://endpoint_url/v1.0/user/devices/action' \
-H 'Authorization: Bearer 123qwe456a...' \
-H 'X-Request-Id: ff36a3cc-ec...' \
-H 'Content-Type: application/json' \
-d '{
"payload": {
"devices": [{
"id": "humidifier-001-xdh",
"custom_data": {
"api_location": "rus"
},
"capabilities": [{
"type": "devices.capabilities.toggle",
"state": {
"instance": "ionization",
"value": false
}
}]
}]
}
}'
HTTP/1.1 200 OK
{
"request_id": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"devices": [
{
"id": "humidifier-001-xdh",
"capabilities": [
{
"type": "devices.capabilities.toggle",
"state": {
"instance": "ionization",
"action_result": {
"status": "DONE"
}
}
}
]
}
]
}
}
Список пар "ключ": значение
, разделенных запятой. Выделяется фигурными скобками {}
.
{
"name": "John",
"surname": "Smith"
}
Cтрока, выделяется кавычками, например "Hello world"
.
Логическое значение без кавычек: true
(истина) или false
(ложь).