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

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

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-топиков.

Покажите пожалуйста как настроен мост, его конфиг.

А возможно проблема в другом. Вот конфиг моста:

connection ***
address **.**.**.**:**
clientid ***
try_private false

topic /devices/# both 2 "" /**
topic /config/#  both 2 "" /**
topic /rpc/#  both 2 "" /**

Почему-то на тот брокер, на который настроен мост, попадают не все топики со свойством retained.
Подписываемся непосредственно с контроллера на локальный брокер:

root@wirenboard-AMNRGCDG:/etc/mosquitto/conf.d# mosquitto_sub -v -q 2 -d -t '/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/#'
Client mosqsub|30289-wirenboar sending CONNECT
Client mosqsub|30289-wirenboar received CONNACK
Client mosqsub|30289-wirenboar sending SUBSCRIBE (Mid: 1, Topic: /devices/wb-map12e_29/controls/Ch 4 Ipeak L2/#, QoS: 2)
Client mosqsub|30289-wirenboar received SUBACK
Subscribed (mid: 1): 2
Client mosqsub|30289-wirenboar received PUBLISH (d0, q1, r1, m1, '/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/meta/order', ... (3 bytes))
Client mosqsub|30289-wirenboar sending PUBACK (Mid: 1)
/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/meta/order 119
Client mosqsub|30289-wirenboar received PUBLISH (d0, q1, r1, m2, '/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/meta/readonly', ... (1 bytes))
Client mosqsub|30289-wirenboar sending PUBACK (Mid: 2)
/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/meta/readonly 1
Client mosqsub|30289-wirenboar received PUBLISH (d0, q1, r1, m3, '/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/meta/type', ... (5 bytes))
Client mosqsub|30289-wirenboar sending PUBACK (Mid: 3)
/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/meta/type value
Client mosqsub|30289-wirenboar received PUBLISH (d0, q1, r1, m4, '/devices/wb-map12e_29/controls/Ch 4 Ipeak L2', ... (5 bytes))
Client mosqsub|30289-wirenboar sending PUBACK (Mid: 4)
/devices/wb-map12e_29/controls/Ch 4 Ipeak L2 -0.02

Подписываемся с контроллера на брокер, куда настроен мост:

root@wirenboard-AMNRGCDG:/etc/mosquitto/conf.d# mosquitto_sub -v -q 2 -d -h **.**.**.** -p ** -t '/***/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/#'
Client mosqsub|30294-wirenboar sending CONNECT
Client mosqsub|30294-wirenboar received CONNACK
Client mosqsub|30294-wirenboar sending SUBSCRIBE (Mid: 1, Topic: /***/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/#, QoS: 2)
Client mosqsub|30294-wirenboar received SUBACK
Subscribed (mid: 1): 2
Client mosqsub|30294-wirenboar received PUBLISH (d0, q1, r1, m1, '/***/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/meta/readonly', ... (1 bytes))
Client mosqsub|30294-wirenboar sending PUBACK (Mid: 1)
/***/devices/wb-map12e_29/controls/Ch 4 Ipeak L2/meta/readonly 1
Client mosqsub|30294-wirenboar received PUBLISH (d0, q1, r1, m2, '/***/devices/wb-map12e_29/controls/Ch 4 Ipeak L2', ... (5 bytes))
Client mosqsub|30294-wirenboar sending PUBACK (Mid: 2)
/***/devices/wb-map12e_29/controls/Ch 4 Ipeak L2 -0.02

Настроил мост на свежеподнятый брокер (mosuitto под Debian’ом 10) - не воспроизводится.
serial 2.6.8~fix+32062-values+1+e1548ce
mosquitto 1.3.4-2+deb8u4
У вас какой брокер?

Только что удалось повторить на другом контроллере. Wb-mqtt-serial нужно взять из experimental ветки, насчёт релиза был не прав, сейчас ещё разбираемся как она попала на только что сброшенный к заводским контроллер.

wb-mqtt-serial: Version: 2.7.1
mosquitto: 1.4.15-1+wb7-3

mosquitto на который настроен мост: 1.4.15-2ubuntu0.18.04.3