Сломался zigbee2mqtt при обновлении wb-hwconf-manager

Здравствуйте!

После сегодняшнего обновления wb-hwconf-manager до 1.62.0 в testing сломался zigbee2mqtt. Он перестал видеть ZigBee модуль в 4 слоте расширения.

окт 18 08:24:22 wirenboard-AHL3GFZO npm[15702]: Starting Zigbee2MQTT without watchdog.
окт 18 08:25:03 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:03] info:         z2m: Logging to console, file (filename: log.log)
окт 18 08:25:03 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:03] info:         z2m: Starting Zigbee2MQTT version 1.40.1 (commit #unknown)
окт 18 08:25:03 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:03] info:         z2m: Starting zigbee-herdsman (0.57.3)
окт 18 08:25:05 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:05] error:         zh:zstack:znp: Failed to determine if path is valid: 'Error: ENOENT: no such file or directory, lstat '/dev/ttyMOD4''
окт 18 08:25:08 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:08] info:         zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyMOD4","baudRate":115200,"rtscts":false,"autoOpen":false}
окт 18 08:25:08 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:08] error:         z2m: Error while starting zigbee-herdsman
окт 18 08:25:08 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:08] error:         z2m: Failed to start zigbee
окт 18 08:25:08 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:08] error:         z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
окт 18 08:25:08 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:08] error:         z2m: Exiting...
окт 18 08:25:08 wirenboard-AHL3GFZO npm[15702]: [2024-10-18 08:25:08] error:         z2m: Error: Error: No such file or directory, cannot open /dev/ttyMOD4

Зашёл в настройки модулей расширения, а там нет его в четвёртом слоту. Оказывается, при обновлении пакета вылезла какая-то (временная?) несовместимость. Нашёл в логах такое:

окт 18 06:51:05 wirenboard-AHL3GFZO init.sh[31910]: WARNING: Module wbe2r-r-zigbee is not supported by slot wb67-mod4
окт 18 06:51:06 wirenboard-AHL3GFZO init.sh[31762]: Deleting wb67-mod4:wbe2r-r-zigbee.
окт 18 06:51:06 wirenboard-AHL3GFZO init.sh[31762]: Deinitializing wb67-mod4:wbe2r-r-zigbee.
окт 18 06:51:07 wirenboard-AHL3GFZO npm[3274]: [2024-10-18 06:51:07] info:         zh:zstack:znp: Port closed
окт 18 06:51:07 wirenboard-AHL3GFZO npm[3274]: [2024-10-18 06:51:07] info:         zh:zstack:znp: closing
окт 18 06:51:07 wirenboard-AHL3GFZO npm[3274]: [2024-10-18 06:51:07] error:         z2m: Adapter disconnected, stopping
окт 18 06:51:07 wirenboard-AHL3GFZO npm[3274]: [2024-10-18 06:51:07] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt_wb2/bridge/state', payload 'offline'
окт 18 06:51:07 wirenboard-AHL3GFZO npm[3274]: [2024-10-18 06:51:07] info:         z2m: Disconnecting from MQTT server
окт 18 06:51:07 wirenboard-AHL3GFZO npm[3274]: [2024-10-18 06:51:07] info:         z2m: Stopping zigbee-herdsman...
окт 18 06:51:07 wirenboard-AHL3GFZO npm[3274]: [2024-10-18 06:51:07] info:         z2m: Stopped zigbee-herdsman
окт 18 06:51:07 wirenboard-AHL3GFZO npm[3274]: [2024-10-18 06:51:07] info:         z2m: Stopped Zigbee2MQTT

В итоге, в веб интерфейсе заново прописал в четвёртый слот ZigBee модуль, и всё заработало. Это на WB67

А вот на WB72:

окт 18 06:06:08 wirenboard-A7JBWTJE init.sh[9169]: WARNING: Module wbe2r-r-zigbee is not supported by slot wb72-mod4
окт 18 06:06:08 wirenboard-A7JBWTJE init.sh[9115]: Deleting wb72-mod4:wbe2r-r-zigbee.
окт 18 06:06:08 wirenboard-A7JBWTJE init.sh[9115]: Deinitializing wb72-mod4:wbe2r-r-zigbee.
окт 18 06:06:08 wirenboard-A7JBWTJE npm[2545]: [2024-10-18 06:06:08] info:         zh:zstack:znp: Port closed
окт 18 06:06:08 wirenboard-A7JBWTJE npm[2545]: [2024-10-18 06:06:08] info:         zh:zstack:znp: closing
окт 18 06:06:09 wirenboard-A7JBWTJE npm[2545]: [2024-10-18 06:06:09] error:         z2m: Adapter disconnected, stopping
окт 18 06:06:09 wirenboard-A7JBWTJE npm[2545]: [2024-10-18 06:06:09] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt_wb3/bridge/state', payload 'offline'
окт 18 06:06:09 wirenboard-A7JBWTJE npm[2545]: [2024-10-18 06:06:09] info:         z2m: Disconnecting from MQTT server
окт 18 06:06:09 wirenboard-A7JBWTJE npm[2545]: [2024-10-18 06:06:09] info:         z2m: Stopping zigbee-herdsman...
окт 18 06:06:09 wirenboard-A7JBWTJE npm[2545]: [2024-10-18 06:06:09] info:         z2m: Stopped zigbee-herdsman
окт 18 06:06:09 wirenboard-A7JBWTJE npm[2545]: [2024-10-18 06:06:09] info:         z2m: Stopped Zigbee2MQTT

Но тут порт совсем не пропал, хотя тоже не работал.

окт 18 08:34:13 wirenboard-A7JBWTJE npm[21108]: Starting Zigbee2MQTT without watchdog.
окт 18 08:34:27 wirenboard-A7JBWTJE npm[21108]: [2024-10-18 08:34:27] info:         z2m: Logging to console, file (filename: log.log)
окт 18 08:34:27 wirenboard-A7JBWTJE npm[21108]: [2024-10-18 08:34:27] info:         z2m: Starting Zigbee2MQTT version 1.40.1 (commit #unknown)
окт 18 08:34:27 wirenboard-A7JBWTJE npm[21108]: [2024-10-18 08:34:27] info:         z2m: Starting zigbee-herdsman (0.57.3)
окт 18 08:34:31 wirenboard-A7JBWTJE npm[21108]: [2024-10-18 08:34:31] info:         zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyMOD4","baudRate":115200,"rtscts":false,"autoOpen":false}
окт 18 08:34:31 wirenboard-A7JBWTJE npm[21108]: [2024-10-18 08:34:31] error:         z2m: Error while starting zigbee-herdsman
окт 18 08:34:31 wirenboard-A7JBWTJE npm[21108]: [2024-10-18 08:34:31] error:         z2m: Failed to start zigbee
окт 18 08:34:31 wirenboard-A7JBWTJE npm[21108]: [2024-10-18 08:34:31] error:         z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
окт 18 08:34:31 wirenboard-A7JBWTJE npm[21108]: [2024-10-18 08:34:31] error:         z2m: Exiting...
окт 18 08:34:31 wirenboard-A7JBWTJE npm[21108]: [2024-10-18 08:34:31] error:         z2m: Error: Error: Input/output error setting custom baud rate of 115200

Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

Вот с одного из них.

приложен диагностический архив, доступен только сотрудникам поддержки
(376,6 КБ)

А вообще, вы вот в этом коммите поменяли зависимости. Я бы на гитхабе багрепорт отправил, но у вас их нет.

Пробую воспроизвести.
После переключения на testing:

Oct 21 06:33:16 wirenboard-AWI3MCGC systemd[1]: Starting Initialize Wiren Board Device Tree overlays...
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1160]: Initializing wb72-extio1:wbio-di-wd-14.
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1175]: In file included from -:2:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1175]: In file included from /usr/share/wb-hwconf-manager/slots/wb72-extio.h:5:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1175]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1160]: ...
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1191]: In file included from -:2:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1191]: In file included from /usr/share/wb-hwconf-manager/slots/wb72-extio.h:5:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1191]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1160]: Initializing wb72-extio2:wbio-di-wd-14.
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1208]: In file included from -:2:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1208]: In file included from /usr/share/wb-hwconf-manager/slots/wb72-extio.h:5:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1208]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1160]: ...
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1224]: In file included from -:2:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1224]: In file included from /usr/share/wb-hwconf-manager/slots/wb72-extio.h:5:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1224]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1160]: Initializing wb72-extio3:wbio-do-ssr-8.
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1241]: In file included from -:2:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1241]: In file included from /usr/share/wb-hwconf-manager/slots/wb72-extio.h:5:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1241]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1160]: ...
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1257]: In file included from -:2:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1257]: In file included from /usr/share/wb-hwconf-manager/slots/wb72-extio.h:5:
Oct 21 06:33:23 wirenboard-AWI3MCGC init.sh[1257]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:24 wirenboard-AWI3MCGC init.sh[1160]: Initializing wb72-mod2:wbe2-ao-10v-2.
Oct 21 06:33:24 wirenboard-AWI3MCGC init.sh[1274]: In file included from -:16:
Oct 21 06:33:24 wirenboard-AWI3MCGC init.sh[1274]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1160]: ...
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1291]: In file included from -:16:
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1291]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1295]: ls: cannot access '/sys/devices/platform/mod2_i2c/*/*/iio:device*': No such file or directory
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1300]: jq: error: syntax error, unexpected ',' (Unix shell quoting issues?) at <top-level>, line 3:
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1300]:             iio_device: ,
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1300]: jq: error: syntax error, unexpected ',' (Unix shell quoting issues?) at <top-level>, line 10:
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1300]:             iio_device: ,
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1300]: jq: 2 compile errors
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1299]: sed: couldn't flush stdout: Broken pipe
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1160]: Initializing wb72-mod4:wbe2r-r-zigbee.
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1316]: In file included from -:24:
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1316]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1160]: ...Initializing wb72-rs485-1:wb67-can-rs485.
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1341]: In file included from -:11:
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1341]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1160]: ...
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1356]: In file included from -:11:
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1356]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:32 wirenboard-AWI3MCGC init.sh[1160]: failsafe bias enabled
Oct 21 06:33:33 wirenboard-AWI3MCGC init.sh[1160]: terminators are enabled
Oct 21 06:33:33 wirenboard-AWI3MCGC init.sh[1160]: Initializing wb72-rs485-2:wb67-can-rs485.
Oct 21 06:33:33 wirenboard-AWI3MCGC init.sh[1375]: In file included from -:24:
Oct 21 06:33:33 wirenboard-AWI3MCGC init.sh[1375]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:33 wirenboard-AWI3MCGC init.sh[1160]: ...
Oct 21 06:33:33 wirenboard-AWI3MCGC init.sh[1390]: In file included from -:24:
Oct 21 06:33:33 wirenboard-AWI3MCGC init.sh[1390]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:33 wirenboard-AWI3MCGC init.sh[1160]: failsafe bias enabled
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1160]: terminators are enabled
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1160]: ERROR: CAN bus on RS-485-2 is disabled because of ERRWB730001 error
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1160]: ERROR: See https://wirenboard.com/wiki/WB_7:_Errata for details
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1160]: Initializing wb72-w1:wb6-wx-1wire.
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1412]: In file included from -:11:
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1412]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1160]: ...Initializing wb72-w2:wb6-wx-1wire.
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1435]: In file included from -:11:
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1435]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1160]: ...Initializing wb72-wbc:wbc-4g-usb.
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1160]: ...Initializing wb72-wbmz4:wbmz4-supercap.
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1490]: In file included from -:1:
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1490]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1160]: ...
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1505]: In file included from -:1:
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1505]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1513]: In file included from -:1:
Oct 21 06:33:34 wirenboard-AWI3MCGC init.sh[1513]: /usr/share/wb-hwconf-manager/slots/r40-soc.h:16: warning: WBIO_INT_OPEN_DRAIN_OPTION redefined
Oct 21 06:33:34 wirenboard-AWI3MCGC systemd[1]: Finished Initialize Wiren Board Device Tree overlays.

Ну и:

lrwxrwxrwx 1 root root          5 Oct 21 06:33 /dev/ttyMOD1 -> ttyS7
lrwxrwxrwx 1 root root          5 Oct 21 06:33 /dev/ttyMOD2 -> ttyS6
lrwxrwxrwx 1 root root          5 Oct 21 06:33 /dev/ttyMOD3 -> ttyS5
lrwxrwxrwx 1 root root          5 Oct 21 06:33 /dev/ttyMOD4 -> ttyS3
lrwxrwxrwx 1 root root          5 Oct 21 06:33 /dev/ttyRS485-1 -> ttyS2
lrwxrwxrwx 1 root root          5 Oct 21 06:33 /dev/ttyRS485-2 -> ttyS4

Не знаю, как именно так получилось, но логи на двух моих testing контроллерах выдали одинаковый результат. То есть, это не случайность. Но, возможно, настройки были немного по-другому прописаны перед обновлением. Скажите, какой файл нужен (если нужен, конечно), и я попробую найти его в бэкапе и скинуть.

Просто ради статистики.
У меня обновление testing вообще в кроне раз в сутки. Ничего никуда не пропадало. Zigbee модули во всех контроллерах.

wb-hwconf-manager=1.63.0 в testing.
Так что - рекомендую обновить, как минимум.

Ну да. Только вышел он позже, чем я вам написал. И да, он обновился уже, сам, по крону. И в этот раз, похоже, даже ничего не сломалось. :slight_smile:

Ну, отлично. И да - в testing все ж разработка, может быть. Поэтому очень хорошо что используете - это нам помогает находить баги. Главное - не применяйте в ответственных местах.