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.