Non pas d’intégration ZHA en parallèle. J’ai pu, cependant avancer dans mon diag en faisant pas mal de tests.
Le problème semble provenir du binding de port USB vers ma VM (pas de certitudes).
Je passe donc par une distri linux Debian net/minimal avec une VM KVM. Sous mon home assistant j’ai mis zigbee2mqtt en DEBUG et concrètement ça plante sur un timeout (envoi de paquet vers la clé Conbee II) :
[21:21:43] INFO: Preparing to start...
[21:21:43] INFO: Socat not enabled
[21:21:44] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2024-09-11 21:21:46] info: z2m: Logging to console, file (filename: log.log)
[2024-09-11 21:21:46] debug: z2m: Loaded state from file /config/zigbee2mqtt/state.json
[2024-09-11 21:21:46] info: z2m: Starting Zigbee2MQTT version 1.40.1 (commit #unknown)
[2024-09-11 21:21:46] info: z2m: Starting zigbee-herdsman (0.57.3)
[2024-09-11 21:21:46] debug: z2m: Using zigbee-herdsman with settings: '"{\"network\":{\"panID\":50535,\"extendedPanID\":[210,233,117,204,121,253,32,159],\"channelList\":[11],\"networkKey\":\"HIDDEN\"},\"databasePath\":\"/config/zigbee2mqtt/database.db\",\"databaseBackupPath\":\"/config/zigbee2mqtt/database.db.backup\",\"backupPath\":\"/config/zigbee2mqtt/coordinator_backup.json\",\"serialPort\":{\"path\":\"/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2487865-if00\",\"adapter\":\"deconz\"},\"adapter\":{\"concurrent\":null,\"delay\":null,\"disableLED\":false}}"'
[2024-09-11 21:21:46] debug: zh:adapter: Failed to validate path: 'Error: spawn udevadm ENOENT'
[2024-09-11 21:21:46] debug: zh:deconz:driver: Set delay to 0
[2024-09-11 21:21:46] debug: zh:controller: Starting with options '{"network":{"networkKeyDistribute":false,"networkKey":"HIDDEN","panID":50535,"extendedPanID":[210,233,117,204,121,253,32,159],"channelList":[11]},"serialPort":{"path":"/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2487865-if00","adapter":"deconz"},"adapter":{"disableLED":false,"concurrent":null,"delay":null},"databasePath":"/config/zigbee2mqtt/database.db","databaseBackupPath":"/config/zigbee2mqtt/database.db.backup","backupPath":"/config/zigbee2mqtt/coordinator_backup.json"}'
[2024-09-11 21:21:46] debug: zh:deconz:driver: Opening with /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2487865-if00
[2024-09-11 21:21:46] debug: zh:deconz:driver: Serialport opened
[2024-09-11 21:21:46] debug: zh:deconz:driver: send read parameter request from queue. seqNr: 1 paramId: 5
[2024-09-11 21:21:49] debug: zh:deconz: checking coordinator simple descriptor
[2024-09-11 21:21:49] debug: zh:deconz:driver: DATA_REQUEST - destAddr: 0x0 EP:0 SeqNr. 2 request id: 1
**[2024-09-11 21:21:56] debug: zh:deconz:driver: Timeout for request - CMD: 0xa seqNr: 1**
[2024-09-11 21:21:56] error: z2m: Error while starting zigbee-herdsman
[2024-09-11 21:21:56] error: z2m: Failed to start zigbee
[2024-09-11 21:21:56] error: z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-09-11 21:21:56] error: z2m: Exiting...
[2024-09-11 21:21:56] error: z2m: undefined
/app/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:264
var er = new ERR_STREAM_WRITE_AFTER_END();
^
Error: write after end
at writeAfterEnd (/app/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:264:12)
at DerivedLogger.Writable.write (/app/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:300:21)
at DerivedLogger.log (/app/node_modules/winston/lib/winston/logger.js:231:12)
at Logger.log (/app/lib/util/logger.ts:189:25)
at Logger.debug (/app/lib/util/logger.ts:210:14)
at Driver.processQueue (/app/node_modules/zigbee-herdsman/src/adapter/deconz/driver/driver.ts:483:28)
at Timeout._onTimeout (/app/node_modules/zigbee-herdsman/src/adapter/deconz/driver/driver.ts:163:22)
at listOnTimeout (node:internal/timers:569:17)
J’ai fait pas mal de choses sans succès :
- Flash de ma clé sur firmware le + récent & un plus ancien réputé stable
- Réinstallation de la VM
- Révision de la conf zigbee2mqtt : /dev/ttyACM0 et /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2487865-if00 avec adapter : deconz
- Tentative de configuration de la clé avec ZHA (sans succès non plus)
- Test de tous les ports USB avec et sans rallonge
- Positionnement des droits users sur /dev/ttyACM0 (sudo chmod 666)
Au final, j’ai installé un windows 11 sur lequel j’ai installé une image VM sous Virtual Box. Et là, ma clé (une fois bindé) est bien reconnu sur la VM. Ça ressemble vraiment à un problème de paramétrage de port USB.
Pour faire le bind sur ma VM je passe par un xml que je charge en persistent :
lsusb
Bus 001 Device 002: ID 1cf1:0030 Dresden Elektronik ZigBee gateway [ConBee II]
sudo virsh attach-device haos /etc/libvirt/qemu/usb_conbee2.xml --persistent
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<vendor id='0x1cf1'/>
<product id='0x0030'/>
</source>
</hostdev>
Ça ne m’arrange pas de rester sur Windows 11… Si quelqu’un a de bonnes pistes pour régler ce problème je suis plus que preneur…