curtain
Шторы (раздвижные).
Доступные функции устройства
У устройства могут быть все нижеперечисленные функции или только часть из них. Например, если устройство нельзя открыть на заданный процент, включать функцию open_percentage в описание его модели не нужно.
У устройства есть обязательные функции: online, open_state. Кроме того, обязательно должен быть описан способ открытия: либо open_set, либо open_percentage, либо они оба.
При одновременном использовании open_set и open_percentage необходимо соблюдать правило:
- Если
open_percentageне равен нулю, тоopen_setдолжен принять значениеopen. И наоборот: еслиopen_setимеет значениеopen,open_percentageдолжен быть больше нуля. - Если
open_percentageравен нулю, тоopen_setдолжен принять значениеclose. И наоборот: еслиopen_setимеет значениеclose,open_percentageдолжен быть равен нулю.
При изменении значений функций open_left_state, open_left_percentage, open_right_state, open_right_percentage должны соответствующим образом меняться и значения функций open_state, open_percentage.
| Функция | Обязательная? | Описание |
| battery_low_power | Разряжена ли батарея или нет | |
| battery_percentage | Уровень заряда батареи | |
| online | ✔︎ | Доступность устройства: офлайн или онлайн |
| open_left_percentage | Открывание левой половины устройства в процентах | |
| open_left_set | Открывание левой половины устройства | |
| open_left_state | Статус открывания левой стороны устройства | |
| open_percentage | ✔︎* | Открывание устройства в процентах. Для устройства обязательно должен быть описан способ открытия: либо |
| open_rate | Скорость открывания устройства | |
| open_right_percentage | Открывание правой половины устройства в процентах | |
| open_right_set | Открывание правой половины устройства | |
| open_right_state | Статус открывания правой стороны устройства | |
| open_set | ✔︎* | Открывание устройства. Для устройства обязательно должен быть описан способ открытия: либо |
| open_state | ✔︎ | Статус открывания устройства |
| signal_strength | Сила сигнала |
Пример описания модели штор
Модель описывается в соответствии со структурой model. В примере описаны шторы, которые обладают всеми функциями, кроме возможности открываться на заданный процент.
Кроме того, у модели изменены доступные значения для функции open_rate (скорость открывания устройства): эту модель можно открывать только с тремя скоростями, средняя скорость medium не поддерживается и исключена.
{
"id": "QWERTY124",
"manufacturer": "Xiaqara",
"model": "SM1123456789",
"hw_version": "3.1",
"sw_version": "5.6",
"description": "Умные шторы Xiaqara",
"category": "curtain",
"features": [
"battery_low_power",
"battery_percentage",
"online",
"open_left_percentage",
"open_rate",
"open_right_percentage",
"open_right_set",
"open_right_state",
"open_set",
"open_state",
"signal_strength"
],
"allowed_values": {
"open_rate": {
"type": "ENUM",
"enum_values": {
"values": [
"auto",
"low",
"high"
]
}
}
}
}
Пример описания штор пользователя
Устройство описывается в соответствии со структурой device. В примере нет описания модели штор — считаем, что модели описаны отдельно, поэтому достаточно указать только ID модели (здесь — QWERTY124).
{
"id": "ABCD_004",
"name": "Мои шторы",
"default_name": "Умные шторы",
"nicknames": ["См арт-шторы", "Управляемые шторы"],
"home": "Мой дом",
"room": "Гостиная",
"groups": ["Солнце", "Теневые шторы"],
"model_id": "QWERTY124",
"hw_version": "3.1",
"sw_version": "5.6",
"partner_meta": {
"internal-id": 1234,
"specificity": "microchip 2A"
},
}