Добрый день.
После установки последнего апдейта (apt update && apt upgrade && wb-mcu-fw-updater update-all):
Быстрая реакция на датчик движения WB-MSW в правилах!
В прошивке 4.31.0 и wb-mqtt-serial 2.95.1 появилась поддержка опроса регистров датчика движения через события в быстром Modbus.
Это регистры:
280 “Max motion”
283 “Current motion”
Wb-mqtt-serial стал вылетать и сыпятся ошибки, до обновления все работало исправно ошибок не было:
Aug 17 15:04:45 wirenboard-ACZVEF3I wb-mqtt-serial[3992]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:04:45 wirenboard-ACZVEF3I wb-mqtt-serial[3992]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:04:45 wirenboard-ACZVEF3I wb-mqtt-serial[3992]: INFO: [modbus] Init: Input 1 set input 1 to 1-wire: setup register <modbus:207:holding: 275> <-- 0 (0x0)
Aug 17 15:04:45 wirenboard-ACZVEF3I wb-mqtt-serial[3992]: INFO: [serial device] device modbus:207 is connected
Aug 17 15:04:45 wirenboard-ACZVEF3I wb-mqtt-serial[3992]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:04:45 wirenboard-ACZVEF3I wb-mqtt-serial[3992]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:04:45 wirenboard-ACZVEF3I wb-mqtt-serial[3992]: terminate called after throwing an instance of 'TRegisterValueException'
Aug 17 15:04:45 wirenboard-ACZVEF3I wb-mqtt-serial[3992]: INFO: [modbus] Continuous read enabled [slave_id is 205]
Aug 17 15:04:45 wirenboard-ACZVEF3I wb-mqtt-serial[3992]: what(): Value is not Integer @ src/register_value.cpp:156
Aug 17 15:04:45 wirenboard-ACZVEF3I mosquitto[1531]: 1692259485: Client wb-modbus closed its connection.
Aug 17 15:04:45 wirenboard-ACZVEF3I systemd[1]: wb-mqtt-serial.service: Main process exited, code=killed, status=6/ABRT
Aug 17 15:04:45 wirenboard-ACZVEF3I systemd[1]: wb-mqtt-serial.service: Failed with result 'signal'.
Aug 17 15:04:45 wirenboard-ACZVEF3I systemd[1]: wb-mqtt-serial.service: Consumed 5.017s CPU time.
Aug 17 15:04:46 wirenboard-ACZVEF3I systemd[1]: wb-mqtt-serial.service: Scheduled restart job, restart counter is at 6.
Aug 17 15:04:46 wirenboard-ACZVEF3I systemd[1]: Stopped MQTT Driver for serial devices.
Aug 17 15:04:46 wirenboard-ACZVEF3I systemd[1]: wb-mqtt-serial.service: Consumed 5.017s CPU time.
Aug 17 15:04:46 wirenboard-ACZVEF3I systemd[1]: Started MQTT Driver for serial devices.
Перезапускается и сразу падает:
Aug 17 15:08:46 wirenboard-ACZVEF3I wb-mqtt-serial[6935]: terminate called after throwing an instance of 'TRegisterValueException'
Aug 17 15:08:53 wirenboard-ACZVEF3I wb-mqtt-serial[6996]: terminate called after throwing an instance of 'TRegisterValueException'
Aug 17 15:09:01 wirenboard-ACZVEF3I wb-mqtt-serial[7127]: terminate called after throwing an instance of 'TRegisterValueException'
Aug 17 15:09:08 wirenboard-ACZVEF3I wb-mqtt-serial[7207]: terminate called after throwing an instance of 'TRegisterValueException'
Aug 17 15:09:15 wirenboard-ACZVEF3I wb-mqtt-serial[7287]: terminate called after throwing an instance of 'TRegisterValueException'
Aug 17 15:09:22 wirenboard-ACZVEF3I wb-mqtt-serial[7353]: terminate called after throwing an instance of 'TRegisterValueException'
приложен диагностический архив, доступен только сотрудникам поддержки
(187,9 КБ)
Отключил MSW, теперь не вылетает но в логи такое летит непрерывно:
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 1
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 1
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:48 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 17 15:37:49 wirenboard-ACZVEF3I wb-mqtt-serial[24850]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
До обновления все работало нормально уже больше полгода ошибок не было, а тут резко появились? Все возможно конечно, буду проверять, почему до этого таких ошибок не было вот непонятно, видимо MSW доп нагрузку создают на шину.
Локализовал проблему, отключая модбас шины (всего их 3 у меня), нашел ту изза которой происходят ошибки.
Отключая устройства нашел, что ошибки появляются когда включаю WB-MWAC.
Конфигурация шины: контроллер - 6х WB-MSW - WB-M1W2 - WB-MWAC - WB-MAP6S (+резистор 120Ом)
Отключил от WB-MWAC все клемники (чтобы исключить паразитное влияние датчиков или счетчиков), кроме питания + модбас, ошибки начинают сыпаться сразу после подключения, подключал этим же клемником соседний MAP6S ошибок нет. По питанию проблем быть не может +24В в шине.
Момент подключения WB-MWAC (id:60)
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [serial device] device modbus:60 is disconnected
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [modbus] Continuous read enabled [slave_id is 60]
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [modbus] Init: Baud rate: setup register <modbus:60:holding: 110> <-- 576 (0x240)
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [modbus] Init: disable legacy input mode control: setup register <modbus:60:holding: 5> <-- 0 (0x0)
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [serial device] device modbus:60 is connected
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [serial client] Events are enabled for <modbus:60:coil: 0>
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [serial client] Events are enabled for <modbus:60:coil: 1>
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [serial client] Events are disabled for <modbus:60:coil: 2>
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [serial client] Events are disabled for <modbus:60: reboot>
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:54 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Aug 18 15:52:55 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Тут я отключил и ошибки сразу прекратились:
Aug 18 15:52:58 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [modbus] failed to read 6 discrete(s) @ 0 of device modbus:60: Serial protocol error: request timed out
Aug 18 15:53:00 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [modbus] failed to read 1 coil(s) @ 2 of device modbus:60: Serial protocol error: request timed out
Aug 18 15:53:00 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: INFO: [serial device] device modbus:60 is disconnected
Aug 18 15:53:04 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid crc
Aug 18 15:53:04 wirenboard-ACZVEF3I wb-mqtt-serial[1864]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet size: 0
Но при этом само устройство работает, становится активным в Устройствах и можно включать/выключать реле кранов. И это началось после обновления MSW, до этого ошибок в логах не было, я бы заметил.
# wb-mcu-fw-updater update-fw /dev/ttyRS485-1 --version 4.29.11 -a 16
2023-08-18 16:52:07,796 Will find serial port settings for (/dev/ttyRS485-1 : 16; response_timeout: 0.20)...
2023-08-18 16:52:51,542 Has found serial port settings: {'baudrate': 57600, 'parity': 'N', 'stopbits': 2}
2023-08-18 16:52:53,091 fw (msw3G419 16 on /dev/ttyRS485-1):
2023-08-18 16:52:53,092 Downgrade: 4.31.0 -> 4.29.11 (msw3G419 16 /dev/ttyRS485-1)
2023-08-18 16:52:56,894 Flashing /var/lib/wb-mcu-fw-updater/fw/msw3G419__4.29.11_master_7712742.wbfw
Подключил “проблемное” устройство MWAC и ошибок нету, но для теста перенес его к контроллеру.
Aug 18 16:59:22 wirenboard-ACZVEF3I wb-mqtt-serial[26529]: INFO: [serial device] device modbus:60 is disconnected
Aug 18 16:59:23 wirenboard-ACZVEF3I wb-mqtt-serial[26529]: INFO: [modbus] Continuous read enabled [slave_id is 60]
Aug 18 16:59:23 wirenboard-ACZVEF3I wb-mqtt-serial[26529]: INFO: [modbus] Init: Baud rate: setup register <modbus:60:holding: 110> <-- 576 (0x240)
Aug 18 16:59:23 wirenboard-ACZVEF3I wb-mqtt-serial[26529]: INFO: [modbus] Init: disable legacy input mode control: setup register <modbus:60:holding: 5> <-- 0 (0x0)
Aug 18 16:59:23 wirenboard-ACZVEF3I wb-mqtt-serial[26529]: INFO: [serial device] device modbus:60 is connected
Aug 18 16:59:23 wirenboard-ACZVEF3I wb-mqtt-serial[26529]: INFO: [serial client] Events are enabled for <modbus:60:coil: 0>
Aug 18 16:59:23 wirenboard-ACZVEF3I wb-mqtt-serial[26529]: INFO: [serial client] Events are enabled for <modbus:60:coil: 1>
Aug 18 16:59:23 wirenboard-ACZVEF3I wb-mqtt-serial[26529]: INFO: [serial client] Events are disabled for <modbus:60:coil: 2>
Aug 18 16:59:23 wirenboard-ACZVEF3I wb-mqtt-serial[26529]: INFO: [serial client] Events are disabled for <modbus:60: reboot>
Решил обновлять на новую версию по одному и смотреть за ошибками (MWAC подключен к шине).
Обновил id:19 ошибок нет, обновил id:151 ошибок нет, обновляю id:12 и после старта mqtt-serial начинают сыпаться ошибки. Делаю наунгрейд прошивки для id:19, ошибки “почти” пропадают…
Интересно.
А все MSW имеют синнатуру msw3G419? Или часть из них - другую?
в WB-MWAC прошивка - уже с поддержкой быстрого Modbus?
Если да - то прочитайте из него значение 113 регистра пожалуйста.
Ну и из MSW тоже.