Зависимость функций (dependencies)
Обновлено 28 июля 2023
Структура используется при описании моделей устройств и определяет зависимость функций. Зависимость — это когда одна функция доступна, только если другая находится в определенном состоянии.
Например, цветные лампы некоторых моделей обычно могут работать в двух режимах: цветном и режиме белого света. В зависимости от того, какой режим выбрал пользователь, должен меняться и состав доступных функций:
- Если выбран цветной режим — должна стать доступной функция смены цвета лампы.
- Если выбран режим белого света — функция выбора цвета должна заблокироваться.
Поле | Тип | Обязательное? | Описание |
dependencies | map<string, object> | ✔︎ | Содержит пары значений: зависимая функция и функция, определяющая ее доступность |
func_name | string | ✔︎ | Зависимая функция устройства — функция, доступность которой меняется в зависимости от состояния другой функции. Список функций см. в разделе Функции устройств |
key | string | ✔︎ | Функция, определяющая доступность зависимой функции. Список функций см. в разделе Функции устройств |
values | object | ✔︎ | Значения функции key , при которых зависимая функция dependencies становится доступной (см. Значение функции устройства (value)) |
{
"dependencies": {
"func_name": {
"key": string,
"values": [
{
"type": string,
"type_value": object
},
{
// ...
}
]
},
{
// ...
}
}
}
Пример описания зависимости функции
В примере описана зависимость функции light_colour (цвет освещения) от функции light_mode (режим работы): менять цвет устройства можно, только если оно переключено в цветной режим работы.
{
"dependencies": {
"light_colour": {
"key": "light_mode",
"values": [
{
"type": "ENUM",
"enum_value": "colour"
}
]
}
}
}