По непонятной причине перестали отпрашиваться входы на модулях led и m6c куда подключены выключатели. При нажатии клавиши в топике не видно что счетчик увиличился но после перезагрузки mqtt serial значение счетчика показывает больше. получается что он считает но в mqtt это не падает или не опрашивается. помогите разобраться
Поковырявшись с помощью gpt в шаблонах led модулей и mr6c изменили sporadic: true на sporadic: false и клавиши заработали, так же на mvak_v2 сделал тоже самое. Помогите понТь что случилось, куда копать и как лечить. Вообще хотелось бы понять в какой момент это случилось и после чего, но сейчас выяснить сложно
Добрый день!
Предполагаю, что проблема не в шаблонах и не в самих модулях, а в механизме событий Fast Modbus (то, что включает флаг sporadic: true) на фоне плохой по качеству шины RS-485.
Обычные ошибки чтения (invalid crc, request timed out, read() failed) распределены практически равномерно по всем 17 slave_id шины. Равномерное распределение по всем узлам — подтверждает проблему общей среды (терминирование/смещение/земля/кабель/питание/отражения), а не одного дефектного модуля.
При sporadic: true драйвер узнаёт об изменении входа/счётчика только из периодического событийного опроса. Если ответ на этот опрос повреждён или не пришёл — изменения этого цикла теряются. А нажатие кнопки — это разовое дискретное событие: потерянное событие = навсегда устаревшее значение в MQTT, пока не произойдёт полное перечитывание регистров (то есть рестарт сервиса — отсюда и «после перезагрузки счётчик больше»).
При sporadic: false драйвер читает регистр каждый цикл опроса независимо ни от чего. Единичная битая посылка просто ретраится в следующем цикле, и значение догоняется за секунды. Поэтому обычный опрос устойчив к некачественной шине, на которой события разваливаются.
Поэтому из предложений могу только предложить улучшить качество шины RS-485, привести в соответствие с рекомендациями.
Спасибо, буду искать
Подскажите, у вас еще остались вопросы по теме?
Спасибо. Пока вопросов нету. Будем проверять физическое подключение