Возникла проблема в работе с wb-mqtt-serial.
Создал шаблон для устройства, подключил два устройства на шину с адресами 4 и 5, все работает. Отключаю одно устройство, но в WEB-интерфейсе связь не пропадает и в каналах MQTT нет ошибок.
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, если заработает, значит проблема в шаблоне.
Шаблон в WB и шаблон с сайта ONOKOM действительно работают
В моем шаблоне были все регистры с быстрым модбасом, у одного из регистров я решил выключить “sporadic” и такой шаблон стал тоже работать (показывать пропадание связи с устройством) и начинается это именно с того регистра, у которого выключен “sporadic”.
Возможно это где-то прописано, что при использовании быстрого модбаса должен быть хотя бы один регистр, который постоянно опрашивается, либо это баг в wb-mqtt-serial.
Это вполне ожидаемсое поведение, поскольку при использовании быстрого Modbus к устройству не отправляются адресный опрос. И нельзя отличить не отвечающее по той причине что у него нет событий устройство от отключенного. В обоих случаях никакого ответа не будет. Поэтому оставляют регистр сознательно.