Контроллер не видит переключение входов на реле wb-mcm8

Здравствуйте! Есть реле wb-mcm8, подключенное к контроллеру wb7. При включении входов на реле(физически) лампочка на реле, соответствующая входу загорается, при этом на контроллере соответствующий входу Input не переключается, счетчик Input Counter не увеличивается и триггер whenChanged в правилах не срабатывает. В разделе “настройки драйвера serial-устройств” никаких ошибок не видно. Остальные реле работают нормально.
Т.е. реле переключается, но контроллер этого не видит, хотя само реле вроде как видит. Что бы это могло быть?

Добрый день!

Попробуйте подписаться на один из топиков WB-MCM8, сгенерируйте физически события и сверьте результат.

Например для модуля с адресом 224 и входа input 7:

mosquitto_sub -t '/devices/wb-mcm8_224/controls/Input 7' -v

/devices/wb-mcm8_224/controls/Input 7 0
/devices/wb-mcm8_224/controls/Input 7 1
/devices/wb-mcm8_224/controls/Input 7 0
/devices/wb-mcm8_224/controls/Input 7 1

root@wirenboard-AJBAI2J6:~# mosquitto_sub -t '/devices/wb-mcm8_224/controls/Input 7 counter' -v
/devices/wb-mcm8_224/controls/Input 7 counter 10
/devices/wb-mcm8_224/controls/Input 7 counter 11
/devices/wb-mcm8_224/controls/Input 7 counter 12

Так же прошу считать значения счетчика после каждого нажатия с регистров устройства с помощью modbus_client:

root@wirenboard-AJBAI2J6:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a224 -c2 -t0x04 -r72
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[E0][04][00][48][00][02][E6][6C]
Waiting for a confirmation...
<E0><04><04><00><00><00><00><0A><8A>
SUCCESS: read 2 of elements:
        Data: 0x0000 0x0000
root@wirenboard-AJBAI2J6:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a224 -c2 -t0x04 -r72
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[E0][04][00][48][00][02][E6][6C]
Waiting for a confirmation...
<E0><04><04><00><00><00><01><CB><4A>
SUCCESS: read 2 of elements:
        Data: 0x0000 0x0001
root@wirenboard-AJBAI2J6:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a224 -c2 -t0x04 -r72
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[E0][04][00][48][00][02][E6][6C]
Waiting for a confirmation...
<E0><04><04><00><00><00><02><8B><4B>
SUCCESS: read 2 of elements:
        Data: 0x0000 0x0002
root@wirenboard-AJBAI2J6:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a224 -c2 -t0x04 -r72
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[E0][04][00][48][00][02][E6][6C]
Waiting for a confirmation...
<E0><04><04><00><00><00><03><4A><8B>
SUCCESS: read 2 of elements:
        Data: 0x0000 0x0003


Спасибо! Посмотреть смогу завтра, хотел уточнить, -a224 это адрес устройства(224), а для чтения счетчиков входа 1 и 2 или другие входы. какой параметр нужно поменять? -r72? и на какое значение?

ЗЫ. Кажется разобрался. действительно ключ -r, значения с 60 - счетчик первого входа по 74 - счетчик восьмого входа.

UPD: пробовал на другом контроллере(и другом реле) иногда выскакивают такие ошибки

modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a82 -c4 -t0x04 -r60
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[52][04][00][3C][00][04][3D][A6]
Waiting for a confirmation…
ERROR Resource temporarily unavailable: read
ERROR occured!

modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a82 -c4 -t0x04 -r60
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[52][04][00][3C][00][04][3D][A6]
Waiting for a confirmation…

ERROR CRC received 0xFFFF != CRC calculated 0x4040
ERROR occured!

но обычно нормально отрабатывает. о чем это может говорить?

Итого. Проблема решилась. Заменой файла “config-wb-mcm8.json” из /usr/share/wb-mqtt-serial/templates при экспериментах с быстрым modbus менялись значения sporadic и, видимо, где-то что-то попортилось. Конкретную ошибку найти не удалось, просто заменил шаблон с контроллера где все работает нормально.

П.С. Все-таки интересно чем могут быть вызваны ошибки из примера выше

Добрый день! Перед этим остановили работу wb-mqtt-serial?

systemctl stop wb-mqtt-serial

Рад что удалось найти проблему!

не останавливал. )
Остановил, ошибки пропали, Спасибо !