[RTEX] migration ZigbeeLinker vers JeeZigbee

Bonjour,

Je vous fais un retour d’expérience sur la migration de mes équipements zigbee du plugin ZigbeeLinker vers le plugin JeeZigbee ; ceci sans avoir à ré-appairer les équipements.
en effet, les deux plugins utilisent zigbee2mqtt (z2m) pour dialoguer avec les équipements ; il est donc possible de récupérer les infos d’appairage et de dernier contact.

J’étais très satisfait du plugin ZigbeeLinker ; il fonctionne très bien, le développeur @MrGreen est très réactif. Ce plugin m’a permis d’utiliser zigbee2mqtt avant que l’équipe jeedom ne le permette également.
Je préfère maintenant passer à un plugin officiel, et également m’aligner sur la conf de mon fils, qui utilise jeedom avec JeeZigbee.

Pour réaliser cette migration, il faut être capable d’accèder au système de fichiers, et d’éditer des fichiers.

Pré-requis
Il faut que le plugin MQTT Manager (mqtt2) soit installé ; je n’aborde pas ceci dans ce post.
Pour ma part, j’avais installé ZigbeeLinker avant que le plugin mqtt2 ne soit publié ; je l’avais installé avec son propre serveur mqtt.
Je suis ensuite passé avec mqtt2 : j’en avais besoin pour zwavejs ; j’ai donc supprimé l’option serveur mqtt du plugin ZibgeeLinker, pour qu’il utilise mqtt2

Je précise que dans mon cas, toute l’installation jeedom et ses dépendances tournent sur le même système.

Procédure de migration
En préalable, coté ZigbeeLinker, il faut désactiver la gestion automatique du démon, puis arrêter ce démon

Ensuite, on installe JeeZigbee, avec un paramétrage minimum :

installation et activation du plugin

  • configuration :
    . désactiver la gestion automatique du démon, puis arrêter le démon
    . choisir le mode local, le port de la clé, le type de controleur, et sauvegarder
    . installer les dépendances
    . démarrer le démon ; ceci est nécessaire pour que JeeZigbee crée ses fichiers de conf dans /var/www/html/plugins/z2m/data :
    configuration.yaml, coordinator_backup.json, database.db
    . arrêt du démon

Intervention niveau système de fichiers
Les fichiers de conf z2m de ZigbeeLinker sont dans /var/www/html/plugins/zigbee2mqtt/data/zigbee2mqtt, ceux de JeeZigbee dans /var/www/html/plugins/z2m/data

  • sauvegarde par précaution de la conf initiale de JeeZigbee
# cd /var/www/html/plugins/z2m/data
# mkdir init
# cp -p configuration.yaml init/
# cp -p coordinator_backup.json init/
# cp -p database.db init/
  • modification du paramétrage de JeeZigbee
    . fichiers de log (facultatif)
    /bin/rm -r /var/www/html/plugins/z2m/data/log/*

    . fichier coordinator_backup.json
    On le supprime :
    rm /var/www/html/plugins/z2m/data/coordinator_backup.json

    . fichier database.db
    On l’écrase, avec celui de ZigbeeLinker :
    cp -p /var/www/html/plugins/zigbee2mqtt/data/zigbee2mqtt/database.db /var/www/html/plugins/z2m/data/database.db

    . fichier configuration.yaml
    On va récupérer certaines infos du fichier de ZigbeeLinker
    . section mqtt : rien à modifier. Il faut vérifier que la directive « include_device_information: true » est bien présente, c’est le cas.
    . section serial : rien à modifier
    . section advanced :
    recopier les directives ‹ channel ›, ‹ pan_id › (absentes du fichier de JeeZigbee)
    modifier la directive ‹ network_key ›, qui est différente
    . section devices : elle est absente, ou vide
    recopier l’ensemble de la section devices

Démarrage du démon JeeZigbee
C’est magique : tous les équipements zigbee enregistrés avec le plugin ZigbeeLinker vont se créer automatiquement sous le plugin JeeZigbee. Cerise sur le gateau, ils se créent avec le même nom que sous ZigbeeLinker : c’est le ‹ FriendlyName › de z2m ; merci @Loic.

En cas de problème, voir la log Z2md

Récupération de la conf jeedom, des historiques, des commandes dans les scénarios, …
Je ne rentre pas dans le détail ; il faut utiliser l’excellent outil ‹ remplacer ›
Pour pouvoir le faire, il faut que les équipements des deux plugins aient un nom différent ; J’ai renommé les équipements du plugin ZigbeeLinker, en ajoutant le préfixe ‹ OLD_ › au nom de chacun.

Finalisation
Il faut ensuite vérifier que tout fonctionne correctement ; puis supprimer le plugin ZigbeeLinker.
Avant cette suppression, j’ai supprimé dans jeedom les équipements de ZigbeeLinker un par un : à chaque suppression, un message indique les différents liens de celui-ci avec les différents éléments jeedom ; ca permet de vérifier qu’il n’y a pas eu d’erreur quelque part.

Je n’ai pas une installation domotique très importante ; mais cette procédure a fonctionné parfaitement.

6 « J'aime »

Merci beaucoup pour ces explications claires ! J’ai pu migrer sur JeeZigbee sans ré-appairer mes équipements !

Bonjour, cela n’a pas fonctionné pour moi :cry:

Quelqu’un, pourrait-il m’aider?

Bonjour,
La log que tu donnes ne montre pas de problème.

Quand tu lances l’interface zigbee2mqtt, qu’est-ce que ca donne ?
Est-ce que tu vois les équipements zigbee qui ont été appairés sous ZigbeeLinker ?

Pour lancer l’interface, il faut aller dans l’onglet configuration du plugin, et, sur la ligne ‹ Interface z2m ›, cliquer sur ‹ Ici ›.
Auparavant, il faut copier l’identifiant, qui te sera demandé au premier lancement de cette interface.

Bonjour

Apparement le plugin ne trouve pas ma cle Conbee2

J’ai mis le port en AUTO, en dev/tty/ACM0 et en /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2150318-if00 (trouvé dans le menu deroulant du port)

Je precise que ma connection MQTT est sécurisé par login et pass. J’ai rajoute le pass dans le fichier config

Dans l’interface Z2m, tout est vide

z2md.txt (2,9 Ko)

Dans le fichier « configuration.yaml », j’ai bien recopié les infos qui etaient indiquées, mais j’ai « ext_pan_id: » dans le nouveau fichier que je n’avais pas dans l’ancien

Une idée ?

Merci pour votre aide

Thierry

PS : j’ai copié les 2 fichiers DATABASE(indiqué dans le tuto) et CONFIGURATION de zigbeelinker vers jeezigbee et cela a bien fonctionné

Bonjour,

Qu’est-ce qui te fait dire que le plugin ne trouve pas ta clé connbee ?

Concernant la connexion mqtt, ca a l’air de bien se passer (à la lecture de la log)

Pour le ext_pan_id ; tu veux dire que z2m l’a mis dans le fichier configuration.yaml généré automatiquement lors du premier lancement du plugin ?
Etrange, je n’avais pas ce paramètre lorsque j’ai fait l’installation. Par contre, je l’avais dans coordinator_backup.json

D’ailleurs, je ne l’ai toujours pas dans configuration.yaml, alors que je l’ai dans coordinator_backup.json, qui a été regénéré automatiquement lors de la procédure de migration (second redémarrage, après avoir adapté le fichier configuration.yaml).

Essaie de faire un ‹ grep pan_id › * dans l’ancien dossier (celui de zigbeelinker) ; afin de voir s’il se trouve dans configuration.yaml et/ou coordinator_backup.json

Ce que j’essaierais de faire, si on suppose que le plugin communique bien en MQTT et voit bien la clé connbee :

  • arrêt du démon z2m
  • sauvegarde par précaution de configuration.yaml et coordinator_backup.json
  • suppression de l’entrée ext_pan_id dans le fichier configuration.yaml, ou reprise de celui qui était dans le plugin zeegbeelinker
  • suppression du fichier coordinator_backup.json
  • redémarrage du démon z2m

C’est un peu pifométrique, mais j’essaierais cela …

Bonjour

Comme indiqué dans mon precedent post, j’ai copié les 2 fichiers dans DATA du nouveau plugin et cela fonctionne

Merci

Thierry

Bonjour.

Je viens de suivre la tuto pour passer de zigbeelinker à jeezigbee.

Je vois bien les équipements de créés.

Par contre, lorsque je lance le démon il s’arrête juste après. J’ai cela dans les logs.

0000|> zigbee2mqtt@1.41.0 start
0001|> node index.js
0002|Starting Zigbee2MQTT without watchdog.
0003|!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0004|READ THIS CAREFULLY
0005|Refusing to start because configuration is not valid, found the following errors:
0006|- devices must match pattern "^0x[\d\w]{16}$"
0007|- devices property name must be valid
0008|- devices/log_level must be object
0009|If you don't know how to solve this, read https://www.zigbee2mqtt.io/guide/configuration
0010|!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0000|[2024-11-14 15:14:03] INFO  : Arrêt du démon z2m
0001|[2024-11-14 15:14:04] INFO  : Démarrage du démon Z2M : ZIGBEE2MQTT_DATA=/var/www/html/plugins/z2m/core/class/../../data npm start --prefix /var/www/html/plugins/z2m/resources/zigbee2mqtt

Je mets aussi le fichier configuration.yaml

configuration.yaml.txt (7,8 Ko)

Avez-vous une idée du problème ?

En fait, en faisant comme @mirage47, en copiant les 2 fichiers sans rien modifier, cela fonctionne…

Bonjour,

Content que ca soit réglé ; j’ai quand même essayé de comprendre d’ou venait l’erreur précédente … je n’ai pas trouvé.

Le fichier configuration.yaml semble valide, coté syntaxe yaml

L’erreur que tu donnes, qui vient de zigbee2mqtt, indique que l’ID d’une des devices n’est pas dans le bon format : ‹ pattern « ^0x[\d\w]{16}$ » ›
donc, qui doit commencer par 0x, suivi strictement de 16 caractères qui sont soit des chiffres, soit des caractères alphabétiques.
Je ne vois pas de problème dans ton fichier, mais j’ai fait une exploration visuelle ; je n’arrive pas à expliquer.

Bon, le principal soit que ca fonctionne.

Bonjour @vmath54 ,

Ca n’a pas fonctionné chez moi :frowning:
Tout semble OK mais aucune commande ne fonctionne.
les capteurs sont remonté, Jeezigbee fonctionne (je peux inclure des nouveaux capteur)

Voici le log Z2md:

[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz:frameparser: DEVICE_STATE changed: 10100110
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz:frameparser: DEVICE_STATE changed: 10100110
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz:driver: query aps data confirm
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz:driver: DATA_CONFIRM - sending data state request - SeqNr. 88
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_CONFIRM RESPONSE - destAddr: 0xa69e request id: 170 confirm status: 0
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz: sendZclFrameToEndpoint - message send with transSeq Nr.: 143
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz: true, true, false, 10000
[2025-01-04 20:13:08] e[34mdebuge[39m: 	zh:deconz: resolve request (143)
[2025-01-04 20:13:15] e[34mdebuge[39m: 	zh:deconz:driver: send read device state from queue. seqNr: 89
[2025-01-04 20:13:15] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:15] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:15] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:15] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:25] e[34mdebuge[39m: 	zh:deconz:driver: send read device state from queue. seqNr: 90
[2025-01-04 20:13:25] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:25] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:25] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:25] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:35] e[34mdebuge[39m: 	zh:deconz:driver: send read device state from queue. seqNr: 91
[2025-01-04 20:13:35] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:35] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:35] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:35] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:45] e[34mdebuge[39m: 	zh:deconz:driver: send read device state from queue. seqNr: 92
[2025-01-04 20:13:45] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:45] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:45] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:45] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:controller:endpoint: ZCL command 0x70b3d52b600496ea/1 haElectricalMeasurement.read(["rmsVoltage","rmsCurrent","activePower"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false})
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:controller:endpoint: ZCL command 0x70b3d52b6004ab8e/1 haElectricalMeasurement.read(["rmsVoltage","rmsCurrent","activePower"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false})
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:controller:endpoint: ZCL command 0x70b3d52b6004ab17/1 haElectricalMeasurement.read(["rmsVoltage","rmsCurrent","activePower"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false})
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: DATA_REQUEST - destAddr: 0xc7aa EP:1 SeqNr. 93 request id: 171
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: DATA_REQUEST - destAddr: 0xdd41 EP:1 SeqNr. 94 request id: 172
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 171 status: 0
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 171 status: 0
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: DATA_REQUEST - destAddr: 0xeb74 EP:1 SeqNr. 95 request id: 173
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 172 status: 0
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 172 status: 0
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 173 status: 0
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 173 status: 0
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:frameparser: DEVICE_STATE changed: 10100110
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:frameparser: DEVICE_STATE changed: 10100110
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: query aps data confirm
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: DATA_CONFIRM - sending data state request - SeqNr. 96
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_CONFIRM RESPONSE - destAddr: 0xeb74 request id: 173 confirm status: 0
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz: sendZclFrameToEndpoint - message send with transSeq Nr.: 146
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz: true, true, false, 10000
[2025-01-04 20:13:48] e[34mdebuge[39m: 	zh:deconz: resolve request (146)
[2025-01-04 20:13:55] e[34mdebuge[39m: 	zh:deconz:driver: send read device state from queue. seqNr: 97
[2025-01-04 20:13:55] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:55] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:55] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:13:55] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:controller:endpoint: Error: ZCL command 0x70b3d52b6004ab17/1 haElectricalMeasurement.read(["rmsVoltage","rmsCurrent","activePower"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (no response received (146) Error: waiting for response TIMEOUT)
at DeconzAdapter.sendZclFrameToEndpoint (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/deconz/adapter/deconzAdapter.ts:485:19)
at Request.send (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/helpers/request.ts:82:20)
at Endpoint.sendRequest (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:325:20)
at Endpoint.zclCommand (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:951:28)
at Endpoint.read (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:446:29)
at poll (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman-converters/src/lib/tuya.ts:182:13)
at Timeout._onTimeout (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman-converters/src/lib/utils.ts:54:25)
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:controller:endpoint: Error: ZCL command 0x70b3d52b6004ab8e/1 haElectricalMeasurement.read(["rmsVoltage","rmsCurrent","activePower"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (no response received (145) Error: waiting for response TIMEOUT)
at DeconzAdapter.sendZclFrameToEndpoint (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/deconz/adapter/deconzAdapter.ts:485:19)
at Request.send (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/helpers/request.ts:82:20)
at Endpoint.sendRequest (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:325:20)
at Endpoint.zclCommand (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:951:28)
at Endpoint.read (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:446:29)
at poll (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman-converters/src/lib/tuya.ts:182:13)
at Timeout._onTimeout (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman-converters/src/lib/utils.ts:54:25)
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:controller:endpoint: Error: ZCL command 0x70b3d52b600496ea/1 haElectricalMeasurement.read(["rmsVoltage","rmsCurrent","activePower"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (no response received (144) Error: waiting for response TIMEOUT)
at DeconzAdapter.sendZclFrameToEndpoint (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/deconz/adapter/deconzAdapter.ts:485:19)
at Request.send (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/helpers/request.ts:82:20)
at Endpoint.sendRequest (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:325:20)
at Endpoint.zclCommand (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:951:28)
at Endpoint.read (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:446:29)
at poll (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman-converters/src/lib/tuya.ts:182:13)
at Timeout._onTimeout (/var/www/html/plugins/z2m/resources/zigbee2mqtt/node_modules/zigbee-herdsman-converters/src/lib/utils.ts:54:25)
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:frameparser: DEVICE_STATE changed: 10100110
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:frameparser: DEVICE_STATE changed: 10100110
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:driver: query aps data confirm
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:driver: DATA_CONFIRM - sending data state request - SeqNr. 98
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_CONFIRM RESPONSE - destAddr: 0xc7aa request id: 171 confirm status: 0
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz: sendZclFrameToEndpoint - message send with transSeq Nr.: 144
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz: true, true, false, 10000
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz: resolve request (144)
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:driver: query aps data confirm
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:driver: DATA_CONFIRM - sending data state request - SeqNr. 99
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_CONFIRM RESPONSE - destAddr: 0xdd41 request id: 172 confirm status: 0
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz: sendZclFrameToEndpoint - message send with transSeq Nr.: 145
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz: true, true, false, 10000
[2025-01-04 20:13:58] e[34mdebuge[39m: 	zh:deconz: resolve request (145)
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:driver: send read device state from queue. seqNr: 100
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:frameparser: device state: 10100010
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:frameparser: DEVICE_STATE changed: 10101010
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 1 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:frameparser: DEVICE_STATE changed: 10101010
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 1 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:driver: query aps data indication
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:driver: DATA_INDICATION - sending read data request - SeqNr. 101
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_INDICATION RESPONSE - seqNr. 101 srcAddr: 0x85ab destAddr: 0x0 profile id: 0x104 cluster id: 0xb04 lqi: 255
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:frameparser: response payload: 18670a050521e500
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:controller: Received payload: clusterID=2820, address=34219, groupID=0, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=255, frame={"header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":103,"commandIdentifier":10},"payload":[{"attrId":1285,"dataType":33,"attrData":229}],"command":{"ID":10,"name":"report","parameters":[{"name":"attrId","type":33},{"name":"dataType","type":32},{"name":"attrData","type":1000}]}}
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_INDICATION RESPONSE - seqNr. 101 srcAddr: 0x85ab destAddr: 0x0 profile id: 0x104 cluster id: 0xb04 lqi: 255
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:frameparser: response payload: 18670a050521e500
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:14:05] e[34mdebuge[39m: 	zh:controller: Received payload: clusterID=2820, address=34219, groupID=0, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=255, frame={"header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":103,"commandIdentifier":10},"payload":[{"attrId":1285,"dataType":33,"attrData":229}],"command":{"ID":10,"name":"report","parameters":[{"name":"attrId","type":33},{"name":"dataType","type":32},{"name":"attrData","type":1000}]}}
[2025-01-04 20:14:05] e[34mdebuge[39m: 	z2m: Received Zigbee message from '0xa4c138d52b745a30', type 'attributeReport', cluster 'haElectricalMeasurement', data '{"rmsVoltage":229}' from endpoint 1 with groupID 0
[2025-01-04 20:14:05] e[34mdebuge[39m: 	z2m: Received Zigbee message from '0xa4c138d52b745a30', type 'attributeReport', cluster 'haElectricalMeasurement', data '{"rmsVoltage":229}' from endpoint 1 with groupID 0
[2025-01-04 20:14:05] e[32minfoe[39m: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0xa4c138d52b745a30', payload '{"child_lock":"UNLOCK","countdown":0,"current":0,"device":{"applicationVersion":192,"dateCode":"","friendlyName":"0xa4c138d52b745a30","hardwareVersion":1,"ieeeAddr":"0xa4c138d52b745a30","manufacturerID":4417,"manufacturerName":"_TZ3000_ksw8qtmt","model":"A1Z","networkAddress":34219,"powerSource":"Mains (single phase)","stackVersion":0,"type":"Router","zclVersion":3},"energy":424.22,"indicator_mode":"off","last_seen":"2025-01-04T19:14:05.992Z","linkquality":255,"power":0,"power_outage_memory":"on","state":"ON","voltage":229}'
[2025-01-04 20:14:06] e[32minfoe[39m: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0xa4c138d52b745a30', payload '{"child_lock":"UNLOCK","countdown":0,"current":0,"device":{"applicationVersion":192,"dateCode":"","friendlyName":"0xa4c138d52b745a30","hardwareVersion":1,"ieeeAddr":"0xa4c138d52b745a30","manufacturerID":4417,"manufacturerName":"_TZ3000_ksw8qtmt","model":"A1Z","networkAddress":34219,"powerSource":"Mains (single phase)","stackVersion":0,"type":"Router","zclVersion":3},"energy":424.22,"indicator_mode":"off","last_seen":"2025-01-04T19:14:05.992Z","linkquality":255,"power":0,"power_outage_memory":"on","state":"ON","voltage":229}'
[2025-01-04 20:14:08] e[34mdebuge[39m: 	zh:controller:endpoint: ZCL command 0x70b3d52b6004b352/1 haElectricalMeasurement.read(["rmsVoltage","rmsCurrent","activePower"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false})
[2025-01-04 20:14:08] e[34mdebuge[39m: 	zh:deconz:driver: DATA_REQUEST - destAddr: 0xa69e EP:1 SeqNr. 102 request id: 174
[2025-01-04 20:14:08] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 174 status: 0
[2025-01-04 20:14:08] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-01-04 20:14:08] e[34mdebuge[39m: 	zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 174 status: 0
[2025-01-04 20:14:08] e[34mdebuge[39m: 	zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1

capture de la config plugin:

Que puis-je faire?