Добрый вечер!
К WB подключены девайсы по MODBUS.
Навскидку, не нашел топика по которому можно прочитать статус конкретного Modbus девайса (bollean 1/0 например) чтобы можно было реагировать на случай если он отвалился.
Наверное, можно руководствоваться косвенным топиком типа “/devices/wb-mr6c_22/controls/Supply voltage/meta” и если он перестанет публиковаться, считать что девайс отвалился, это не очень гуд.
К сожалению, такой функции в нашем ПО сейчас нет. Надо понимать, что контроллер опрашивает регистры устройства, а не устройство. Поэтому “девайс отвалился” - это когда все его регистры не прочитались, причём с ошибками таймаута или CRC, причём несколько раз подряд. То есть нетривиальный кусок логики, который нужно реализовывать в драйвере.
В планах, впрочем, есть.
Я заметил, что при отключении RS485 появляется топик meta/error=r
. Документации не нашел, но похоже это то, что нужно. Можете объяснить возможное поведение meta/error
, чтобы не гадать?
Неплохо было бы если бы для результатов при ошибках каждого регистра был бы топик в духе:
/devices/wb-mr6c_53/controls/****/meta/state
в который например ok
для нормы и error
при ошибке чтения складывалось.
Я пытаюсь снюхать WB с home assistant, и отсутствие данных о недоступности сенсора/свитча конечно напрягает…