valve
Моторизованный кран.
Доступные функции устройства
У устройства могут быть все нижеперечисленные функции или только часть из них. Например, если устройство нельзя открыть на заданный процент, включать функцию 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
должен быть равен нулю.
Функция | Обязательная? | Описание |
battery_low_power | Разряжена ли батарея или нет | |
battery_percentage | Уровень заряда батареи | |
online | ✔︎ | Доступность устройства: офлайн или онлайн |
open_percentage | ✔︎* | Открывание устройства в процентах. Для устройства обязательно должен быть описан способ открытия: либо open_percentage , либо open_set , либо они оба |
open_set | ✔︎* | Открывание устройства. Для устройства обязательно должен быть описан способ открытия: либо open_set , либо open_percentage , либо они оба |
open_state | ✔︎ | Статус открывания устройства |
signal_strength | Сила сигнала |
Пример описания модели моторизованного крана
Модель описывается в соответствии со структурой model. В примере описан кран, который обладает всеми функциями, кроме возможности открываться на заданный процент.
Кроме того, у модели изменены доступные значения для функции signal_strength
(сила сигнала): эта модель поддерживает только два уровня силы сигнала. Средний уровень medium
не поддерживается и исключен.
{
"id": "QWERTY124",
"manufacturer": "Xiaqara",
"model": "SM1123456789",
"hw_version": "3.1",
"sw_version": "5.6",
"description": "Умный кран Xiaqara",
"category": "valve",
"features": [
"battery_low_power",
"battery_percentage",
"online",
"open_set",
"open_state",
"signal_strength",
],
"allowed_values": {
"signal_strength": {
"type": "ENUM",
"enum_values": {
"values": [
"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"
},
}