Модель устройства (model)
Структура описывает характеристики и функции модели устройств, например, модели лампы или розетки.
Структура используется:
-
Когда вендор отправляет умному дому информацию о моделях устройств:
- при отправке запроса Добавление моделей устройств (post models);
- при отправке запроса Обновление моделей устройств (put models).
-
Когда умный дом отправляет вендору ответ на запрос Получение списка моделей устройств (get models).
Также структура используется, когда вендор или умный дом отправляет информацию об устройстве пользователя (структура device) и для этого устройства не указан идентификатор модели model_id
.
Поле | Тип | Обязательное? | Описание |
id | string | ✔︎ | Идентификатор модели (часто product_id) |
manufacturer | string | ✔︎ | Производитель |
model | string | ✔︎ | Название модели |
hw_version | string | Версия оборудования | |
sw_version | string | Версия прошивки | |
description | string | Описание | |
category | string | ✔︎ | Категория устройства (см. Устройства) |
features | list<string> | ✔︎ | Список функций (см. Функции устройств) |
dependencies | map<string, object> | Зависимости функций (см. Зависимость функции (dependencies)) | |
allowed_values | map<string, object> | Допустимые значения функций (см. Допустимые значения функций (allowed_values)) |
{
"id": string,
"manufacturer": string,
"model": string,
"hw_version": string,
"sw_version": string,
"description": string,
"category": string,
"features": [
string,
string,
// ...
],
"dependencies": {
"func_name": {
"key": string,
"value": [
{
"type": string,
"type_value": object
},
{
// ...
}
]
}
},
"allowed_values": {
"func_name": {
"type": string,
"type_values": {
"min": object,
"max": object,
"step": object
},
},
{
// ...
}
}
}
Пример описания модели устройства
В примере описана лампа, которая может включаться и выключаться удаленно, поддерживает белый и цветной режим работы, умеет менять яркость, цвет и цветовую температуру. У лампы есть таймер выключения.
Кроме того, для модели описана зависимость функции light_colour
(цвет освещения) от функции light_mode
(режим работы): менять цвет лампы можно, только если она переключена в цветной режим работы.
Также изменены доступные значения для функции light_brightness
(яркость): указано, что устройства этой модели умеют менять яркость в диапазоне от 10 до 900 с шагом в 1.
{
"id": "QWERTY123",
"manufacturer": "Xiaqara",
"model": "SM0123456789",
"hw_version": "3.2",
"sw_version": "5.7",
"description": "Умная лампа Xiaqara",
"category": "light",
"features": [
"online",
"on_off",
"light_mode",
"light_brightness",
"light_colour",
"light_colour_temp",
"sleep_timer"
],
"dependencies": {
"light_colour": {
"key": "light_mode",
"value": [
{
"type": "ENUM",
"enum_value": "colour"
}
]
}
},
"allowed_values": {
"light_brightness": {
"type": "INTEGER",
"integer_values": {
"min": "10",
"max": "900",
"step": "1"
}
}
}
}