ym88659208ym87991671
Допустимые значения функций (allowed_values) | Документация SmartMarket
Skip to main content

Допустимые значения функций (allowed_values)

Структура используется при описании моделей устройств и определяет, какие значения могут принимать функции модели. Структуру нужно применять, если вы хотите переопределить допустимые по умолчанию значения для функций.

Например:

  • Функция hvac_temp_set определяет, какую температуру кондиционеру или другому похожему прибору необходимо достичь. По умолчанию может принимать значения от 5 до 50 °C, шаг изменения — 1 °C. Если ваше устройство поддерживает эту функцию, но диапазон допустимых значений или шаг у нее иной, их можно сменить на нужные.

    После этого пользователь сможет установить температуру только в границах заданного диапазона. При изменении температуры голосовыми командами «Сделай теплее» и «Сделай холоднее» или через интерфейс с помощью кнопок значение функции будет меняться на установленное вами количество градусов в шаге.

  • Функция open_rate определяет, с какой скоростью должны открываться шторы или похожий прибор. По умолчанию может принимать значения auto, low, medium, high. Если модель ваших штор не поддерживает какую-то скорость открывания, ее можно исключить — она не будет отображаться в интерфейсе.

Структура может использоваться только в описании функций, которые принимают значения (value) в одном из следующих типов: FLOAT, INTEGER, ENUM.

ПолеТипОбязательное?Описание
allowed_valuesmap<string, object>✔︎Содержит перечень функций. Для каждой функции описываются значения, которые она может принимать
func_namestring✔︎

Функция, для которой описывается диапазон допустимых значений.

Список функций см. в разделе Функции устройств

typestring✔︎

Тип данных, которое принимает функция. Возможные значения:

  • FLOAT
  • INTEGER
  • ENUM

float_valuesobject✔︎*

Допустимые значения для функции, принимающей значение FLOAT.

Обязательно указываются:

  • min. Минимальное значение функции, включительно.
  • max. Максимальное значение функции, включительно

integer_valuesobject✔︎*

Допустимые значения для функции, принимающей значение INTEGER.

Обязательно указываются:

  • min. Минимальное значение функции, включительно. Указывается как целочисленное значение long, записанное в виде строки.
  • max. Максимальное значение функции, включительно. Указывается как целочисленное значение long, записанное в виде строки.
  • step. Шаг, с которым меняются значения функции. Указывается как целочисленное значение long, записанное в виде строки

enum_valuesobject✔︎*

Допустимые значения для функции, принимающей значение ENUM.

Обязательно указывается перечень values, содержащий хотя бы одно значение

{
"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",
// ...
]
}
},
{
// ...
},
}
}

Пример описания диапазона допустимых значений для функций

В примере задаются допустимые значения для функций hvac_water_level (уровень воды в баке в литрах), hvac_humidity_set (целевая влажность воздуха) и hvac_air_flow_power (скорость работы вентилятора).

{
"allowed_values": {
"hvac_water_level": {
"type": "FLOAT",
"float_values": {
"min": 0.5,
"max": 5,
}
},
"hvac_humidity_set": {
"type": "INTEGER",
"integer_values": {
"min": "35",
"max": "85",
"step": "5"
}
},
"hvac_air_flow_power": {
"type": "ENUM",
"enum_values": {
"values": [
"auto",
"high",
"low",
"medium"
]
}
}
}
}

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней