Проблема в работе wb-mqtt-serial

Возникла проблема в работе с wb-mqtt-serial.
Создал шаблон для устройства, подключил два устройства на шину с адресами 4 и 5, все работает. Отключаю одно устройство, но в WEB-интерфейсе связь не пропадает и в каналах MQTT нет ошибок.


Если отключить два устройства, тогда уже в WEB-интерфейсе связь пропадает

Это баг или я что-то делаю не так?
diag_output_A3XFSYUO_2025-06-06-09.50.12.zip (535,2 КБ)

Добрый день.
Судя по выводу из лога

Jun 03 19:34:25 wirenboard-A3XFSYUO wb-mqtt-serial[22411]: WARNING: [serial client] Failed to enable events for modbus:4: Serial protocol error: request timed out

Точно ли устройство поддерживает события (быстрый modbus)?
Если не поддержитвает - то зачем он используется?

Точно поддерживается, это шлюз onokom DK-1MB-B, да и сам шаблон я создавал на основе их шаблона (а там вроде бы везде или почти везде у регистров стоит “sporadic”), просто необходимо было убрать лишние регистры и управление (такое требование).

Я рекомендую проверить работу со стандартным шаблоном без каких-либо изменений. Ну и судя по логам - расширение не работает.

И это, скорее всего, я как раз отключал устройства, тестировал проблему.

В таком случае - покажтите логи wb-mqtt-serial с включенным debug, с момента запуска wb-mqtt-serial и укажите момент в который устройство было выключено. С шаблоном без изменений.

Согласен, как вариант, для диагностики проблемы.Если поведение сохранится, значит проблема с wb-mqtt-serial, если заработает, значит проблема в шаблоне.

Провел тест, получил следующие результаты:

  1. Шаблон в WB и шаблон с сайта ONOKOM действительно работают
  2. В моем шаблоне были все регистры с быстрым модбасом, у одного из регистров я решил выключить “sporadic” и такой шаблон стал тоже работать (показывать пропадание связи с устройством) и начинается это именно с того регистра, у которого выключен “sporadic”.

Возможно это где-то прописано, что при использовании быстрого модбаса должен быть хотя бы один регистр, который постоянно опрашивается, либо это баг в wb-mqtt-serial.

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

Тогда почему при отключении второго устройства уже отображается, что связь пропала с обоими устройствами?

Потому что на шине нет ни одного, то есть никто не возвращает “ack” при опросе.