Accueil » Domotique » guides domotiques » Guides Zigbee2MQTT » Comment Mettre à jour le système domotique Zigbee2MQTT ?
Guides Zigbee2MQTT

Comment Mettre à jour le système domotique Zigbee2MQTT ?

maj-zigbee2mqtt-guide-tuto-pas-a-pas

Nous vous avons fait découvrir Zigbee2MQTT il y a quelques temps maintenant après vous avoir initié à MQTT. Pour rappel, MQTT est un protocole de communication ultra light, rapide et performant, parfait pour les objets connectés. Trop souvent mal expliqué, ce dernier peut faire peur et sembler compliqué à comprendre ou mettre en oeuvre. Pourtant, bien expliqué et vulgarisé comme nous avons essayé de le faire, il s’agit d’une solution très simple à mettre en place et redoutablement efficace !

Zigbee2MQTT est lui aussi un système très simple à mettre en place qui met en relation le célèbre protocole domotique Zigbee et MQTT. Autant vous dire que c’est une super plateforme autour de laquelle construire sa maison connectée. Je vous invite à lire nos différents guides autour de Zigbee2MQTT et MQTT si vous les découvrez à la lecture de ce nouveau guide. Cela vaut le détour.

Si vous avez déjà suivi nos guides, vous voulez peut-être mettre à jour Zigbee2MQTT pour profiter des dernières améliorations mais avez peur de tout casser ! Pas d’inquiétude, nous avons préparé un guide simple et rapide pour y parvenir sans soucis.

Mise à jour de Zigbee2MQTT : Par où commencer ?

Avant tout, si vous êtes sur un Raspberry Pi, je vous invite à effectuer une sauvegarde à l’aide du guide precédent. Si votre Zigbee2MQTT est hebergé sur une machine virtuelle, je vous invite à également procéder à cette sauvegarde avec, par sécurité un petit snapshot. Cela ne mange pas de pain, et vous permettra de rétablir le système en un clique.

Mise à jour de Zigbee2MQTT : Comment faire ?

Maintenant que le système en place est sauvegardé, nous pouvons passer aux choses sérieuses. Toutes les actions sont à faire en ligne de commande depuis un terminal distant en SSH, va l’application Terminal si vous êtes sous Linux ou mac OS, ou l’application Putty si vous êtes sous Windows.

1. Pour commencer, il faut arrêter le système :

sudo systemctl stop zigbee2mqtt

2. Il faut ensuite se placer dans le répertoire de Zigbee2MQTT :

cd /opt/zigbee2mqtt

3. Avant de lancer un backup des fichiers de configuration, il faut s’assurer qu’une sauvegarde n’existe pas et la supprimer avec la commande suivante :

rm -rf data-backup

4. Lancer le backup de la configuration :

cp -R data data-backup

5. On peut ensuite lancer la mise à jour avec les commandes suivantes :

git checkout HEAD -- npm-shrinkwrap.json
git pull

6. Si à l’exécution de la commande Git pull vous obtenez un message comme celui-ci :

Cela veut dire que la branche est sans doute détachée et le processus de mise à jour de git n’arrive plus à s’y retrouver. Si vous n’avez pas ce message, vous pouvez vous rendre directement au point 7 de la procédure.

6.1. Pour en savoir plus sur cette erreur, exécutez la commande suivante :

git status

Si en retour vous avez un message vous indiquant que HEAD est détaché, c’est bien le cas, nous allons devoir rattacher le head à sa branche pour permettre au processus de mise à jour de travailler sur les bons fichiers.

6.2. Tapez alors la commande suivante dans un premier temps :

git reset --hard

Un message devrait alors vous indiquer la position du HEAD.

6.3. C’est un bon début, il nous faut à present passer une seconde commande :

git checkout master

À présent git est correctement rattaché à la branche master. (Branche principale de Zigbee2MQTT, fortement conseillée car la branche dev, comme son nom l’indique peut se montrer instable et n’est pas à utiliser en production).

6.4. Comme le message l’indique, nous sommes à présent dans les bonnes conditions pour effectuer une mise à jour de Zigbee2MQTT sans problème. Reprenons alors le cours des choses avec la commande suivante :

git checkout HEAD -- npm-shrinkwrap.json

6.5. Puis lancez la mise à jour avec un git pull :

git pull

Contrairement à tout à l’heure, vous voyez le système travailler dans le terminal, il n’y a qu’à patienter quelques secondes.

7. Vous avez vu défiler de nombreux fichiers qui se sont vus mis à jour, c’est bon signe, il ne reste plus qu’à lancer l’installation des dépendances pour finaliser cette mise à jour. Pour ce faire, utiliser la commande suivante :

npm ci

Là encore, vous voyez défiler de nombreuses lignes, il n’y a qu’à patienter.

8. La mise à jour de Zigbee2MQTT est terminée, il ne reste plus qu’à restaurer votre configuration. Pour cela, utilisez la commande suivante :

sudo cp -R data-backup/* data

9. Puis dans la foulée, supprimez votre fichier de sauvegarde, ou exportez-le pour le conserver au cas où. Sinon, faites comme moi, je conserve le fichier jusqu’à la prochaine sauvegarde ou mise à jour, mais il faudra penser à le supprimer en début de procédure comme nous avons fait au début du guide.

Pour supprimer, utilisez la commande suivante :

rm -rf data-backup

10. C’est terminé, il ne reste plus qu’à relancer le système avec la commande start :

sudo systemctl start zigbee2mqtt

11. Pour vérifier simplement que vous disposez bien de la dernière version de Zigbee2MQTT, rendez-vous sur l’interface de management web, puis dans paramètres et à propos :

Pour aller plus loin

Si votre système fonctionne mais que vous n’arrivez plus à effectuer d’inclusion de nouveaux périphériques, il faut simplement effectuer un reset électrique du dongle. En effet, si vous avez tenté de redémarrer le système sans succès, voire même d’effectuer la mise à jour… Cela ne changera rien à ce problème, car dans la phase de reboot, que ce soit sur Raspberry Pi ou sur VM, le dongle Zigbee reste alimenté, donc lui, ne redémarre pas. Le simple fait de débrancher / rebrancher le dongle corrigera ce problème. Attention si vous êtes sur une VM, il faudra penser à repasser dans le superviseur pour redéclarer le port USB sur la machine virtuelle.

Cette opération ne fait qu’un reset éléctrique, vous ne perdrez rien de la configuration mais vous redonnerez un coup de souffle à votre dongle et vous verrez que les nombreuses heures passées à essayer d’intégrer un module, rebooter le système ou le mettre à jour n’auront servis à rien. Pas tout à fait car vous savez maintenant mettre à jour Zigbee2MQTT de façon simple et sûre, mais vous auriez pu régler ce petit soucis en quelques secondes seulement.

Rassurez-vous, je me suis aussi fait avoir, d’où ce partage pour vous faire gagner du temps !

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données. Un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 pour sécuriser mon domicile.
Depuis, je teste, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog et mon podcast Domotique Chronique pour améliorer votre quotidien dans la maison connectée !

1 Comment

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • Bonjour,
    Pour ma part je rencontre l’erreur suivante au moment de faire git checkout HEAD — npm-shrinkwrap.json

    error: pathspec ‘npm-shrinkwrap.json’ did not match any file(s) known to git

construction et domotique
promos domotique
Choix box domotique
promos domotique

Mise à jour de Zigbee2MQTT : Par où commencer ?

Avant tout, si vous êtes sur un Raspberry Pi, je vous invite à effectuer une sauvegarde à l’aide du guide

Mise à jour de Zigbee2MQTT : Comment faire ?

Maintenant que le système en place est sauvegardé, nous pouvons passer aux choses sérieuses. Toutes les actions sont à faire

Pour aller plus loin

Si votre système fonctionne mais que vous n’arrivez plus à effectuer d’inclusion de nouveaux périphériques, il faut simplement effectuer un

  • Mise à jour de Zigbee2MQTT : Par où commencer ?
  • Mise à jour de Zigbee2MQTT : Comment faire ?
  • Pour aller plus loin