Пример написания скрипта правил управления работой штор, теплых полов и т.п. по активации уставки в определенное время определенного дня недели или набора дней недели (будни, выходные)
Данный пример не рекомендуется к использованию без знания программирования на JavaScript, так как частично потребуется адаптация кода под свою конфигурацию.
Например, чтобы добавить Теплый пол в комнату, в интерфейсе сейчас нет кнопки “+”, а необходимо вручную добавить секцию в файле конфигурации.
Секция
{
"alias": "convector",
"floor": [
{
"hour": 6,
"minute": 0,
"setpoint": 26,
"weekday": "==Ежедневно=="
},
{
"hour": 9,
"minute": 0,
"setpoint": 21,
"weekday": "==Ежедневно=="
},
{
"hour": 18,
"minute": 0,
"setpoint": 26,
"weekday": "==Ежедневно=="
},
{
"hour": 21,
"minute": 0,
"setpoint": 21,
"weekday": "==Ежедневно=="
}
],
"name": "ТЕПЛЫЙ ПОДОКОННИК 'ПОСТИРОЧНАЯ'",
"type": "floor"
},
Используйте его в качестве основы для доработки и делитесь полученными результатами.
Файл 10_schedules.js (6,6 КБ) следует установить в директорию /mnt/data/etc/wb-rules
Файл wb-mqtt-shedules.conf (8,9 КБ) в директорию /mnt/data/etc/
Файл wb-mqtt-schedules.schema.json (8,8 КБ) в директорию /usr/share/wb-mqtt-confed/schemas/
Соответственно, чтобы правило могло менять уставки при наступлении времени из расписания их необходимо иметь или создать.
В моем примере эти уставки в строках вида
dev[“setpoints_curtain/” + rooms[s] + “_position”] = parseInt(scheduledSetpoint[s]);
dev[“setpoints_floor/” + rooms[s] + “_temp”] = parseInt(scheduledSetpoint[s]);
dev[“setpoints_radiator/” + rooms[s] + “_temp”] = parseInt(scheduledSetpoint[s]);
В местах, выделенных жирным, нужно подставить свои.