Как узнать, что устройство отвалилось от rs485?

На днях отвалилось реле WB-MR14 вот с такой ошибкой

Mar 28 22:16:09 wiren6 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 14 discrete(s) @ 0 of device modbus:32: Serial protocol error: request timed out

После этого сообщения, записей в логе, относящихся к serial, больше не было.

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

Пофиксилось перезапуском wb-mqtt-serial.

В связи с этим вопрос - в каком случае виджет становится красным и есть ли какие-то способы определить, что устройство отвалилось и послать аларм?

1 лайк

bzekke, добрый день!
А когда устройства не были красными, wb-mqtt-serial работал, другие Modbus-устройства функционировали?

Да, демон работал и другие устройства (на другом порту, правда) тоже работали.

Это единственный раз такое произошло? Скажите, вы можете при следующем зависании остановить mw-mqtt-serial и опросить подозрительный модуль из командной строки.

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

Да, единственный раз. Я, в принципе, подозреваю, почему такое произошло. На этой же линии у меня весит тестовый ардуино, скорее всего он как-то гадит.

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

Оно должно перестать опрашиваться, и через какое-то время покраснеть. Немного об этом написано тут, https://github.com/contactless/wb-mqtt-serial , в разделе " Подробнее о таймаутах и количестве неудачных циклов".

Ок, спасибо. Попробую проверить через cli, как снова отвалится.