Допустимые значения функций (allowed_values)
Структура используется при описании моделей устройств и определяет, какие значения могут принимать функции модели. Структуру нужно применять, если вы хотите переопределить допустимые по умолчанию значения для функций.
Например:
-
Функция hvac_temp_set определяет, какую температу ру кондиционеру или другому похожему прибору необходимо достичь. По умолчанию может принимать значения от 5 до 50 °C, шаг изменения — 1 °C. Если ваше устройство поддерживает эту функцию, но диапазон допустимых значений или шаг у нее иной, их можно сменить на нужные. При этом диапазон можно только сократить, а шаг можно установить любой.
После этого пользователь сможет установить температуру только в границах заданного диапазона. При изменении температуры голосовыми командами «Сделай теплее» и «Сделай холоднее» или через интерфейс с помощью кнопок значение функции будет меняться на установленное вами количество градусов в шаге.
-
Функция open_rate определяет, с какой скоростью должны открываться шторы или похожий прибор. По умолчанию может принимать значения
auto
,low
,medium
,high
. Если модель ваших штор не поддерживает какую-то скорость открывания, ее можно исключить — она не будет отображаться в интерфейсе.
Структура может использоваться только в описании функций, которые принимают значения (value) в одном из следующих типов: FLOAT
, INTEGER
, ENUM
.
Поле | Тип | Обязательное? | Описание |
allowed_values | map<string, object> | ✔︎ | Содержит перечень функций. Для каждой функции описываются значения, которые она может принимать |
func_name | string | ✔︎ | Функция, для которой описывается диапазон допустимых значений. Список функций см. в разделе Функции устройств |
type | string | ✔︎ | Тип данных, которое принимает функция. Возможные значения:
|
float_values | object | ✔︎* | Допустимые значения для функции, принимающей значение Обязательно указываются:
|
integer_values | object | ✔︎* | Допустимые значения для функции, принимающей значение Обязательно указываются:
|
enum_values | object | ✔︎* | Допустимые значения для функции, принимающей значение Обязательно указывается перечень |
{
"allowed_values": {
"func_name": {
"type": "FLOAT",
"float_values": {
"min": number,
"max": number,
}
},
"func_name": {
"type": "INTEGER",
"integer_values": {
"min": string,
"max": string,
"step": string
}
},
"func_name": {
"type": "ENUM",
"enum_values": {
"values": [
"value_1",
"value_2",
// ...
]
}
},
{
// ...
},
}
}