Nous avons déjà vu comment installer Zigbee2MQTT sur un Raspberry pi, c’est sans aucun doute un des supports les plus économiques et pratiques pour cette solution domotique. Malheureusement le tarif du Raspberry Pi 4 a grimpé en flèche depuis la pandémie et la pénurie des composants électroniques qui en résulte. Il convient alors de trouver d’autres alternatives. Nous avons déjà proposé un guide pour installer ZIgbee2MQTT sur une machine virtuelle embarquée dans un NAS Synology, mais aujourd’hui je vous propose une nouvelle alternative si vous êtes abonné Free. En effet, si vous êtes équipé d’une freebox Delta, sachez qu’il est possible d’installer la solution domotique directement dans une Machine Virtuelle de freebox OS.
Pratique, cela permet d’utiliser un appareil constamment allumé sans pour autant devoir investir dans du matériel supplémentaire ou utiliser un autre équipement.
Comment installer Zigbee2MQTT sur la freebox Delta ?
1. Pour commencer, il faut vous rendre sur la page d’administration de votre serveur Freebox.
2. Une fois connecté sous la page d’administration de freebox OS, entrez dans le menu VMs.
3. Faites “Ajouter une VM” et donnez-lui un nom.
4. Sélectionnez l’image de Debian 11 à installer sur cette machine virtuelle.
5. Laissez par défaut la taille du disque.
6. Configurez les ressources du système ainsi que le port USB.
7. Enfin démarrez la VM.
8. Une fois la machine virtuelle demarrée, lancez une console depuis freebox OS sur cette dernière.
9. Sous la console de la VM, effectuez un simple “ip addr” afin d’obtenir l’adresse IP affectée à cette VM. Une fois cette IP connue, vous pourrez fermer cette console et basculer sous une console plus classique depuis votre PC ou le terminal de votre Mac pour continuer l’installation des pré-requis et de Zigbee2MQTT.
Pré-requis et configuration de Zigbee2MQTT
L’installation sur une Machine virtuelle Freebox est finalement très semblable à ce que nous avons vu dans notre guide sur l’installation de ZigBee2MQTT sur une VM Synology.
1. Maintenant que nous avons connaissance de l’adresse IP de notre Machine Virtuelle sous Freebox OS, utilisez votre logiciel de connexion SSH favoris (Putty sous Windows ou le terminal de Mac par exemple).
Exemple de connexion ssh
2. Jouez la commande suivante dans le terminal afin de provisionner les sources d’installation sur votre VM.
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
2. Lancez à présent l’installation des pré-requis.
sudo apt-get install -y nodejs git make g++ gcc
3. Vérifier la bonne installation de node et npm. Vous devriez avoir les numéros de version en retour.
node --version
npm --version
4. On télécharge ensuite les fichiers de Zigbee2MQTT vers le répertoire de destination.
sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
5. Puis on configure les droits utilisateurs.
sudo chown -R freebox:freebox /opt/zigbee2mqtt
6. On se place maintenant dans le répertoire d’installation.
cd /opt/zigbee2mqtt
7. On indique la branche de Zigbee2MQTT à utiliser et on lance l’installation.
npm ci --production
Configuration de Zigbee2MQTT
La partie logicielle est à présent installée, il nous faut maintenant passer à la configuration de Zigbee2MQTT. Cette configuration est assez simple, elle consiste à determiner le port USB utilisé par le dongle Zigbee puis éditer le fichier de configuration avant de pouvoir démarrer.
Déterminer le port USB
Afin de trouver l’identifiant du port USB, vous devrez installer l’outil usbutils.
sudo apt-get usbutils
Une fois installé, vous n’avez plus qu’à jouer la commande suivante :
lsusb
La commande lsusb retourne alors les péripheriques USB connectés à la freebox.
Malheureusement, on voit bien que le dongle ZigBee est connecté (deuxième ligne), mais cette commande n’est pas suffisante pour déterminer le port utilisé. Pour cela vous devrez jouer la commande suivante :
ls -l /dev/serial/by-id
Cette commande est bien plus verbeuse et indique le port utilisé. Ici ./ttyUSB0.
Editer le fichier de configuration
Il ne reste donc plus qu’à indiquer ce port dans le fichier de configuration avant de pouvoir lancer Zigbee2MQTT. Pour éditer le fichier de configuration, tapez la commande suivante :
nano /opt/zigbee2mqtt/data/configuration.yaml
Le fichier confguration.yaml s’ouvre alors dans le terminal, il ne reste plus qu’à y renseigner vos informations comme le serveur mqtt mais aussi le port USB utilisé par le contrôleur Zigbee.
Notez que vous pouvez aussi profiter d’être dans ce fichier pour configurer l’interface d’administration web de Zigbee2MQTT. Je vous invite à consulter notre guide spécifique pour cette partie.
Démarrer Zigbee2MQTT
Enfin, tout est prêt, vous pouvez à présent démarrer Zigbee2MQTT avec la commande suivante.
npm start
Normalement le système démarre normalement, mais si vous rencontrez des messages d’erreurs, je vous invite à consulter la partie troubleshooting de notre autre guide pour installer Zigbee2MQTT sur une machine virtuelle Synology. Vous y trouverez quelques pistes sur les erreurs que j’ai rencontrées et les solutions associées. Vous y trouverez également les commandes à exécuter pour configurer le démarrage automatique des services Zigbee2MQTT.
Bonjour Aurélien, à quoi correspond l’adresse mqtt://192.168.1.137 du serveur mqtt?
Est-ce que c’est nous qui la définissons?
Merci d’avance
Romain
Bonjour,
il s’agit de l’adresse du broker MQTT sur le réseau local.
Bonjour,
D’abord merci pour tous ces tutos que tu partages avec nous !
Il y a 2 ans, j’avais suivi scrupuleusement tes instructions pour installer Z2M et tout avait marché à la perfection…
J’essaie aujourd’hui d’installer Z2M sur une autre Freebox Delta… et là, c’est le drame : depuis le temps, il y a eu des mises à jour qui, je pense, font que cela ne fonctionne plus…
Que faut-il changer maintenant pour installer ce serveur ?
Comptant sur votre aide (j’ai essayé plusieurs trucs mais je n’y arrive pas)…
Bonjour,
cela fait effectivement bien longtemps que je n’ai pas rejoué ce guide, il est probable que la version du linux socle ne soit pas à jour et de fait les dependances Z2M sont en defaut.