Модель устройства (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"
}
}
}
}