В процессе работы столкнулись с одной особенностью работы с шиной KNX, которая иногда доставляет неудобства клиенту, ну и в свою очередь нам.
Дано: контроллер Wiren Board 7 с установленным модулем расширения KNX (WBE2-I-KNX).
Всё работает отлично, но иногда у клиента отключают электричество: если ненадолго, то проблемы нет - блоки питания WB и KNX стоят на ИБП. Но если подольше, то происходит следующее: ИБП отключается, вместе с ним отключается KNX (но не WB, так как у него еще есть свой собственный WB-UPS) и все контролы, которые связаны с KNX обнуляются.
Казалось бы ничего страшного, так как шина отключена и эти нули никуда не уйдут.
Но у нас есть и обратные зависимости, такие как например вот эта:
//Управление приводами воды через KNX
defineRule({
whenChanged: "knx_main2_middle2/control2_2_8", //при изменении группового адреса в KNX
then: function(newValue, devName, cellName) { //
dev["wb-mwac_168/K1"] = newValue;
}
});
И происходит следующее: KNX отключается, контрол обнуляется, вода перекрывается.
Как можно указать контроллеру не сбрасывать значения при отсутствии связи с шиной knx?
Или есть ли какой-то флаг, который указывает, что связи нет и тогда учитывать его и не выполнять никаких действий при его активном состоянии?
Добрый день.
Да, вот такого рода переходные процессы - это самое интересное при программировании.
То есть, если я верно понимаю:
отключается питание шины KNX
сервис knxd начинает перезапускаться, так как теряет шину, нормальное поведение.
сервис wb-mqtt-knx публикует “0” но не устанавливает “meta/error”
Верно?
Цель - иметь какой-то индикатор, указывающий что шины сейчас нет и позволяющий проверять его в правилах.
В общем завтра посоветуюсь с разработчиками - не хочется сейчас придумывать костыли.
Вставлю свою проблемку. также видимо периодически идет перезапуск сервиса knxd и все значения ГА обнуляются. Но более того, в ранней инсталяции WB видела телеграммы со всех шин, в т.ч. с главной. сейчас после обновления прошивки кроме текущей шины сервис москито нчиего не видит. соотвесвенно упало управление с верхнего уровня т.к. на wb по значениям ГА реализовано несколько логик