Обнуление значений mqtt топиков при (пере-)запуске wb-mqtt-serial

Здравствуйте!
Используем wirenboard контроллеры в связке с сервером home assistant, настроив работу через mqtt bridge. К контроллеру по rs485 подключены реле, например, WB-MR3 и WB-MR6CU. Входы реле через внутреннюю матрицу отвязаны от управления выходами реле и используются для мониторинга (либо наличия напряжения в моделях под 230В, либо замыкания сухого контакта). Значения соответствующих контролов с mqtt используются в настройках home assistant как двоичные сенсоры (вкл/выкл).
Заметил, что при включении wirenboard или перезапуске wb-mqtt-serial сервиса во все контролы serial устройств пишется нулевое значение, которое потом заменяется действительным состоянием. То есть для активных входов на соответствующем mqtt топике происходит переход из включенного состояния в выключенное, а потом обратно, что приводит к ложной сработке автоматизации в home assistant по изменению состояния. То же происходит со значениями температуры/CO2/etc. с modbus датчиков WB-MSW v.3 и WB-MS v.2 — временно они становятся равны нулю.
Зачем в mqtt топики контролов пишутся нули, и можно ли как-то это отключить, чтобы туда, например, ничего не писалось до фактического опроса устройства и получения реальных значений?
Версия wb-mqtt-serial: 2.6.3, аппаратные версии контроллеров: 6.6 и 6.7, установлены все обновления из дефолтных стабильных репозитариев.

2 симпатии

Да. Сейчас работает именно так, отключить пока никак нельзя. Доработаем в следующих версиях.

Спасибо за ответ. Будем ждать, очень помогло бы, а то сейчас даже простая правка wb-mqtt-serial.conf приводит к появлению ложных показаний и состояний.

2 симпатии

Присоединяюсь к теме. Обнуление значений это очень плохое поведение, нужно исправлять как можно быстрее.

1 симпатия

3 сообщения были перенесены в новую тему: MSW v3 температура периодически “0”

Добавили сохранение состояния между перезагрузками. Попробовать можно так:

echo "deb http://releases.contactless.ru/experimental/stretch stretch main" > /etc/apt/sources.list.d/experim.list
apt update
apt install wb-mqtt-serial=2.6.8~fix+32062-values+1+4ac9d0f

Спасибо, обязательно попробуем в деле! Но уже, наверное, в понедельник.

Поставил новую версию, как вы написали. Поперезапускал драйвер через “systemctl restart wb-mqtt-serial” и получил ровно то же поведение — в процессе перезапуска все показания меняются на 0 / выключено, потом восстанавливаются как были. Сам контроллер не перезагружал, только сервис wb-mqtt-serial.

Как вы определяете, что показания меняются на 0?

Открываю, например, в веб интерфейсе контроллера карточки подключенных по RS485 реле и счётчика импульсов (WB-MR6C и WB-MCM8) и наблюдаю, как все выключатели/сенсоры на входе переходят в состояние Выключено, а числовые значения становятся равны 0. Можно и в MQTT Channels посмотреть, там тоже везде изменения отображаются в это время. Обнуляется всё, включая серийный номер и напряжение питания.

А что возвращают?

apt policy wb-mqtt-serial
apt policy wb-mqtt-homeui

Пожалуйста:

apt policy wb-mqtt-serial

# apt policy wb-mqtt-serial
wb-mqtt-serial:
Установлен: 2.6.8~fix+32062-values+1+4ac9d0f
Кандидат: 2.7.0
Таблица версий:
2.7.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.7.0~feature+setup-section-ui+41+fcdb2ef 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.7.0~feature+setup-section-ui+36+a614e9d 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.7.0~feature+setup-section-ui+35+6ea0678 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.7.0~feature+setup-section-ui+27+0dff413 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.7.0~feature+setup-section-ui+21+4bcb0b0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.6.8 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
*** 2.6.8~fix+32062-values+1+4ac9d0f 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
100 /var/lib/dpkg/status
2.6.7 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.6.6 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.6.5 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.6.3 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.6.2~fix+channel-validation+3+c66401a 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.6.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.6.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.5.2~feature+unchanged-values+1+03ac6ea 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.5.1 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.5.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.4.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.3.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.3.0~feature+modbus+tcp+4+2eb94ad 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.2.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.1.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.1.0~feature+speed+up+15+2831b6d 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.0.4 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.0.3 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.0.3~feature+speed+up+14+6eb7482 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
2.0.2 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.63.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.62.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.61.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.61.0~rc.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.60.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.60.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.60.0~rc.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.59.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.58.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.57.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.57.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.56.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.55.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.55.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.54.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.53.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.53.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.52.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.51.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.51.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.51.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.50.2 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.50.1 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.50.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.49.3 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.49.2 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.49.1 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.49.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.49.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.48 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.48 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.47.2 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.46 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.45 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.45 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.44.2 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.44.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.44 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.43 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.42 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.41.3 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
1.41.1 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.40.4 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.40.3 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.40.2 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.40.1 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.38.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.37.1~beta1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
1.26 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages

apt policy wb-mqtt-homeui

# apt policy wb-mqtt-homeui
wb-mqtt-homeui:
Установлен: 2.0.4
Кандидат: 2.0.4
Таблица версий:
2.0.5 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
*** 2.0.4 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
990 http://releases.contactless.ru/stable/stretch stretch/main all Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
100 /var/lib/dpkg/status
2.0.3 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0.2 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0.1 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
990 http://releases.contactless.ru/stable/stretch stretch/main all Packages
2.0.1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
990 http://releases.contactless.ru/stable/stretch stretch/main all Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0.0~rc6 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0.0~rc5 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0.0~rc4 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0.0~rc3 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0.0~rc2 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0.0~rc1 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0~beta13 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0~beta12 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0~beta11 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0~beta10 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
2.0~beta9 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
1.8.0 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
990 http://releases.contactless.ru/stable/stretch stretch/main all Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
1.7.1 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
990 http://releases.contactless.ru/stable/stretch stretch/main all Packages
1.7 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
990 http://releases.contactless.ru/stable/stretch stretch/main all Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages
1.6.5 990
990 http://releases.contactless.ru/stable/stretch stretch/main armhf Packages
990 http://releases.contactless.ru/stable/stretch stretch/main all Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
910 http://releases.contactless.ru/experimental/stretch stretch/main all Packages

Ещё можно лог wb-mqtt-serial?

journalctl -u wb-mqtt-serial --no-pager > log.txt

Пожалуйста:

log.txt (33.3 КБ)

Попробуйте новую версию:

apt update
apt install wb-mqtt-serial=2.6.8~fix+32062-values+1+e1548ce 

С этой версией нулевых значений нет. Полностью пропадают mqtt топики контролов устройств, потом появляются обратно с актуальными значениями, сработку по изменению состояния home assistant в это время больше не фиксирует.
Для нас такой вариант гораздо лучше, чем когда устройства (и их mqtt топики) оставались на месте, но занулялись.
Большое спасибо!

Похоже вы эту версию выкатили в релиз, а в работе с другим брокером через bridge не проверили. При удалении структуры топиков и отправке новой не все топики попадают на брокер, к которому подключается брокер контроллера, это хорошо заметно на meta-топиках. Вероятно глюк связан с тем, что сообщения удаляются после уже того, как приходят новые.
Исправить ситуацию можно только руками. Пришлось откатиться на старую версию, на новой вообще работать невозможно.

Можно пример? Не совсем понял, что удаляется, а что нет, и какое поведение ожидается получить.

Брокер на контроллере мостом подключается к другому брокеру, назовём его основным. Ожидается, что структура топиков будет совпадать на обоих брокерах, но это не так. На основном будет не хватать приличного количества meta-топиков.