Привет, столкнулся с неприятной штукой и думаю, это баг в шаблоне.
Подключил WBE2-I-EBUS к котлу, всё настроил, выставил уставку отопления, котёл греет — вроде красота. Но после перезагрузки контроллера обнаружил, что котёл стоит холодный. Полез смотреть — а в веб-интерфейсе «Уставка отопления = 0». Каждый раз после ребута приходится заходить и руками выставлять заново. Уставка ГВС при этом нормально сохраняется, проблема только с отоплением.
Покопался в шаблоне /usr/share/wb-mqtt-serial/templates/config-wbe2-i-ebus.json и нашёл вот это в секции setup:
{
"title": "disable direct heating control",
"address": 203,
"reg_type": "holding",
"value": 0
}
Тут нет condition, то есть этот блок выполняется всегда при старте драйвера. А регистр 203 в этом же шаблоне ниже описан как канал «Heating Setpoint» (уставка отопления, диапазон 0–85). Получается, шаблон сам себе вредит — даёт пользователю задать уставку, и сам же её сбрасывает в 0 при каждой перезагрузке.
Воспроизводится элементарно:
-
Выставить уставку отопления, например 55
-
systemctl restart wb-mqtt-serial -
Уставка = 0, котёл не греет
У меня версия wb-mqtt-serial — 2.224.0-wb103, прошивка модуля 1.41.
Локально я для себя проблему решил — скопировал шаблон в /etc/wb-mqtt-serial.conf.d/templates/ и убрал этот блок целиком. Остальные три setup-блока трогать не стал, у них нормальные condition по heating_options, они в нужных режимах конфигурируют 205-й и 208-й регистры — это явно осмысленно. А вот первый блок без condition выглядит как либо забытая отладка, либо где-то condition потеряли при правках.
Может, я чего-то не понимаю и так задумано — но тогда непонятно, зачем вообще делать «Heating Setpoint» записываемым каналом, если он всё равно сбросится при следующем рестарте.
Если действительно баг — поправьте пожалуйста в следующем релизе. Если фича — расскажите логику, интересно.