
Le programme zigbee2mqtt permet de transposer les informations d'un réseau Zigbee à un bus de message MQTT.
Il est nécessaire de disposer d'un bus de message MQTT et d'un récepteur Zigbee.
Reprise des éléments de la page https:*www.zigbee2mqtt.io/guide/installation/01_linux.html
Installation
Installation de Zigbee2MQTT sur un Raspberry Pi 3 fonctionnant sur la distribution Raspberry Pi OS Linux fraîchement installée.
Avant d'installer Zigbee2MQTT, nous vérifions que l'adaptateur Zigbee soit bien reconnu par Raspberry Pi OS. Il doit être reconnu en tant que périphérique USB avec la commande lsusb:
Bus 001 Device 005: ID 1a86:55d4 QinHeng Electronics SONOFF Zigbee 3.0 USB Dongle Plus V2
La communication s’effectuera par un port série émulé. On peut vérifier la disponibilité du port avec la commande ls -l /dev/serial/by-id :
total 0
lrwxrwxrwx 1 root root 13 5 nov. 09:20 usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20220818080300-if00 -> ../../ttyACM0
Enfin, on lance l'installation de Zigbee2 MQTT
# Set up Node.js repository and install Node.js + required dependencies
# NOTE: Older i386 hardware can work with [unofficial-builds.nodejs.org](/file?uuid=14330f3c-e4ce-4334-8ecb-1045a4a9fbba&name=https%3A%2Aunofficial-builds.nodejs.org%2Fdownload%2Frelease%2Fv16.15.0%2F%20e.g.%20Version%2016.15.0%20should%20work.%0Asudo%20curl%20-fsSL%20https%3A%2Adeb.nodesource.com%2Fsetup_20.x%20%7C%20sudo%20-E%20bash%20-%0Asudo%20apt-get%20install%20-y%20nodejs%20git%20make%20g%2B%2B%20gcc%20libsystemd-dev%20make%0A%0A%23%20Verify%20that%20the%20correct%20nodejs%20and%20npm%20%28automatically%20installed%20with%20nodejs)
# version has been installed
node --version # Should output V18.x, V20.x, V21.X
npm --version # Should output 9.X or 10.X
# Create a directory for zigbee2mqtt and set your user as owner of it
sudo mkdir /opt/zigbee2mqtt
sudo chown -R ${USER}: /opt/zigbee2mqtt
# Clone Zigbee2MQTT repository
git clone --depth 1 https:*github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
# Install dependencies (as user "pi")
cd /opt/zigbee2mqtt
npm ci
Un message peu vous annoncer une mise à jour mineure de npm

Exécuter les commandes suivantes :
sudo npm install -g npm@10.8.1
npm ci
Configuration
Le fichier de configuration se trouve dans /opt/zigbee2mqtt/data/configuration.yaml
Pour une configuration de base, les paramètres par défaut sont suffisant.
# MQTT settings
mqtt:
# MQTT base topic for Zigbee2MQTT MQTT messages
base_topic: zigbee2mqtt
# MQTT server URL
server: 'mqtt:*localhost'
# MQTT server authentication, uncomment if required:
# user: my_user
# password: my_password
# Serial settings
serial:
# Location of the adapter (see first step of this guide)
port: /dev/ttyACM0
--
Pour les clés SONOFF Zigbee 3.0 USB Dongle Plus V2, ZBDongle-E ajouter l'options suivante :
serial:
adapter: ezsp
--
Vous pouvez ajouter une clé réseau. Elle sera générée au prochain démarrage du service.
advanced:
network_key: GENERATE
--
Vous pouvez activer le frontend :
frontend:
# Optional, default 8080
port: 8080
# Optional, default 0.0.0.0
host: 0.0.0.0
# Optional, enables authentication, disabled by default
auth_token: your-secret-token
# Optional, url on which the frontend can be reached, currently only used for the Home Assistant device configuration page
url: 'https:*zigbee2mqtt.myhouse.org'
D'autres options sont disponibles :
-
Démarrer Zigbee2MQTT
Pour démarrer Zigbee2MQTT, il suffit de se rendre dans le dossier du programme et effectuer le
npm start.
cd /opt/zigbee2mqtt
npm start
Le programme s'executera jusqu'à vous effectuiez une interruption de programme en appuyant simultanément sur
Démarrer automatiquement Zigbee2MQTT
Pour démarrer automatiquement Zigbee2MQTT, il faut inscrire le programme en tant que service.
- Éditer une nouveau fichier
/etc/systemd/system/zigbee2mqtt.service
sudo nano /etc/systemd/system/zigbee2mqtt.service
- Écrivez les paramètres et instructions suivants
[Unit]
Description=zigbee2mqtt
After=network.target
[Service]
Environment=NODE_ENV=production
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
# Ou utilisez StandardOutput=null si vous ne voulez pas que les messages de Zigbee2MQTT remplissent le SYSLOG
StandardError=inherit
Restart=always
RestartSec=10s
User=pi
# Modifiez le compte par le votre
[Install]
WantedBy=multi-user.target
Inscrire le service en démarrage automatique : sudo systemctl enable zigbee2mqtt.service
Démarrer le service : sudo systemctl start zigbee2mqtt
Vérifier l'état du service : systemctl status zigbee2mqtt.service
Consulter le journal : sudo journalctl -u zigbee2mqtt.service -f
Mise à jour du programme
# Stop Zigbee2MQTT and go to directory
sudo systemctl stop zigbee2mqtt
cd /opt/zigbee2mqtt
# Backup configuration
cp -R data data-backup
# Update
git pull
npm ci
# Restore configuration
cp -R data-backup/* data
rm -rf data-backup
# Start Zigbee2MQTT
sudo systemctl start zigbee2mqtt
Commentaires
Aucun commentaire pour l'instant. Soyez le premier !
Laisser un commentaire