Range
devices.capabilities.range
Управление параметрами устройства, которые имеют диапазон. Например, яркость лампы, громкость звука, температура обогревателя.
Общие голосовые команды
-
Алиса, поставь влажность в детской на 55%.
-
Алиса, убавь яркость света в спальне.
-
Алиса, сделай громче на 10.
-
Алиса, поставь второй канал на телевизоре.
Описание умения
Структура используется в ответе операции Информация об устройствах пользователя.
Параметры умения
Параметр |
Тип |
Описание |
Обязательный |
type |
String |
Тип умения. |
Да |
retrievable |
Boolean |
Доступен ли для данного умения устройства запрос состояния. Допустимые значения:
|
Нет |
reportable |
Boolean |
Признак включенного оповещения об изменении состояния умения при помощи сервиса уведомлений. Допустимые значения:
|
Нет |
parameters |
Object |
Объект |
Да |
Объект parameters
Параметр |
Тип |
Описание |
Обязательный |
instance |
String |
Название функции для свойства. Допустимые значения можно посмотреть в разделе Список функций. |
Да |
unit |
String |
Единицы измерения значений функции. Допустимые значения можно посмотреть в разделе Список функций. |
Нет |
random_access |
Boolean |
Возможность устанавливать произвольные значения функции. Если эта возможность выключена, пользователю будет доступно только последовательное изменение значений — в большую или меньшую сторону. Например, изменение громкости телевизора при работе через ИК пульт. Допустимые значения:
По умолчанию: |
Нет |
range |
Object |
Объект с описанием диапазона значений функции. |
Нет |
Объект range
Параметр |
Тип |
Описание |
Обязательный |
min |
Float |
Минимальное допустимое значение. Значение отличается в зависимости от функции умения. Подробности можно посмотреть в разделе Список функций. |
Нет |
max |
Float |
Максимальное допустимое значение. Значение отличается в зависимости от функции умения. Подробности можно посмотреть в разделе Список функций. |
Нет |
precision |
Float |
Минимальный шаг изменения значений внутри диапазона. Значение по умолчанию: 1. |
Нет |
Пример использования
Платформа умного дома отправляет провайдеру запрос на получение информации об устройствах пользователя. Провайдер в ответ передает информацию о том, что у пользователя есть лампочка с регулировкой яркости.
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": "lamp-001-xdl",
"name": "лампочка",
"description": "умная лампочка xdl",
"room": "спальня",
"type": "devices.types.light",
"custom_data": {
"api_location": "rus"
},
"capabilities": [{
"type": "devices.capabilities.range",
"retrievable": true,
"reportable": false,
"parameters": {
"instance": "brightness",
"random_access": true,
"range": {
"max": 100,
"min": 0,
"precision": 10
},
"unit": "unit.percent"
}
}],
"device_info": {
"manufacturer": "Provider-01",
"model": "xdl 1",
"hw_version": "3.2",
"sw_version": "2.4"
}
},
{
"id": "lamp-002-xdl",
"name": "лампочка два",
"description": "умная лампочка xdl",
"room": "спальня",
"type": "devices.types.light",
"custom_data": {
"api_location": "rus"
},
"capabilities": [{
"type": "devices.capabilities.range",
"retrievable": true,
"reportable": false,
"parameters": {
"instance": "brightness",
"random_access": true,
"range": {
"max": 100,
"min": 0,
"precision": 10
},
"unit": "unit.percent"
}
}],
"device_info": {
"manufacturer": "Provider-01",
"model": "xdl 1",
"hw_version": "3.2",
"sw_version": "2.4"
}
}
]
}
}
Текущее состояние умения
Структура используется в ответе операции Информация о состояниях устройств пользователя и в теле запроса операции Уведомление об изменении состояний устройств.
Параметры умения
Параметр |
Тип |
Описание |
Обязательный |
type |
String |
Тип умения. |
Да |
state |
Object |
Параметры состояния умения. |
Да |
Объект state
Параметр |
Тип |
Описание |
Обязательный |
instance |
String |
Название функции для свойства. Допустимые значения можно посмотреть в разделе Список функций. |
Да |
value |
Float |
Значение свойства для данного умения. |
Да |
Пример использования
Платформа умного дома отправляет провайдеру запрос о состоянии устройств пользователя. Провайдер в ответ передает информацию о состоянии устройств пользователя.
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": "lamp-001-xdl",
"custom_data": {
"api_location": "rus"
}
}
]
}'
HTTP/1.1 200 OK
{
"request_id": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"devices": [
{
"id": "lamp-001-xdl",
"capabilities": [
{
"type": "devices.capabilities.range",
"state": {
"instance": "brightness",
"value": 50
}
}
]
}
]
}
}
Изменение состояния умения у устройства
Структура используется в запросе/ответе операции Изменение состояния у устройств.
Параметры умения
Параметр
Параметр |
Тип |
Описание |
Обязательный |
type |
String |
Тип умения. |
Да |
state |
Object |
Объект, который описывает необходимые изменения состояния умения. |
Да |
Объект state
Параметр |
Тип |
Описание |
Обязательный |
instance |
String |
Название функции для свойства. Допустимые значения можно посмотреть в разделе Список функций. |
Да |
value |
Float |
Значение свойства для данного умения. |
Да |
relative |
Boolean |
Способ, по которому будет рассчитываться значение функции для умения.
|
Нет |
Параметр |
Тип |
Описание |
Обязательный |
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://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": "lamp-001-xdl",
"custom_data": {
"api_location": "rus"
},
"capabilities": [{
"type": "devices.capabilities.range",
"state": {
"instance": "brightness",
"value": 50
}
}]
},
{
"id": "lamp-002-xdl",
"custom_data": {
"api_location": "rus"
},
"capabilities": [{
"type": "devices.capabilities.range",
"state": {
"instance": "brightness",
"relative": true,
"value": 10
}
}]
}
]
}
}'
HTTP/1.1 200 OK
{
"request_id": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"devices": [
{
"id": "lamp-001-xdl",
"capabilities": [
{
"type": "devices.capabilities.range",
"state": {
"instance": "brightness",
"action_result": {
"status": "DONE"
}
}
}
]
},
{
"id": "lamp-002-xdl",
"capabilities": [
{
"type": "devices.capabilities.range",
"state": {
"instance": "brightness",
"action_result": {
"status": "DONE"
}
}
}
]
}
]
}
}
Число с плавающей точкой с точностью до 6-9 десятичных знаков.
Cтрока, выделяется кавычками, например "Hello world"
.
Логическое значение без кавычек: true
(истина) или false
(ложь).
Список пар "ключ": значение
, разделенных запятой. Выделяется фигурными скобками {}
.
{
"name": "John",
"surname": "Smith"
}