À l’écriture de cet article le projet Zigbee2MQTT supporte « officiellement » 1402 appareils de 207 fabricants ou marques.
Coté serveur (Zigbee2MQTT)
Un peu de configuration pour commencer dans le fichier configuration.yaml assurez-vous de la présence de permit_join et qu’il soit autorisé permit_join: true
nano /opt/zigbee2mqtt/data/configuration.yaml
Coté « client » (Devices)
Chaque appareil ou constructeur à sa méthode ou presque… Appuyer sur un bouton proche de la passerelle (clé USB), un « petit trou reset » à maintenir x secondes… Ou parfois, c’est encore plus amusant… Voir la vidéo reset d’une ampoule Ikea ci-dessous.
À la fin de l’appairage de vos appareils, il est important de remettre la valeur de permit_join à false permit_join: false sinon vous risquez de voir apparaitre du monde sur votre réseau.
Vous pouvez vérifier dans les logs ou via MQTT de la réussite d’un appairage.
Afin de se débarrasser des diverses passerelles IKEA, HUE, … Qui pour certaines ne sont plus maintenue par leur fabricant. Coucou Phillips. Il existe une solution, pour intégrer tout ce petit monde facilement à votre domotique en passant via MQTT.
Si tout se passe bien vous devriez avoir un retour dans votre terminal ressemblant à ça :
node-pre-gyp info ok
added 383 packages in 111.613s
Le nombre de « packages » et le temps peuvent être différents sur votre installation.
L’installation est maintenant terminée ! Il reste maintenant à passer à un peu de configuration.
Configuration
La configuration se fait via le fichier configuration.yaml dans /opt/zigbee2mqtt/data/.
nano /opt/zigbee2mqtt/data/configuration.yaml
# 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
Dans la configuration de base, vous pouvez configurer base_topic qui sera le « préfixe » de tout les topics MQTT provenant de Zigbee2MQTT et la configuration MQTT. Pensez à dé-commenter user et password si nécessaire.
Après avoir fini d’éditer la configuration, lancez la commande suivante afin de générer la clé du réseau.
Il est temps de tester et de démarrer Zigbee2MQTT.
cd /opt/zigbee2mqtt
npm start
Pas d’erreur ? Tout fonctionne ? CRTL + C afin d’arrêter le processus en cours.
Démarrage automatique
Afin de ne pas se soucier du lancement, nous allons mettre Zigbee2MQTT au démarrage du Raspberry Pi.
Créez le fichier de configuration systemctlzigbee2mqtt.service :
sudo nano /etc/systemd/system/zigbee2mqtt.service
Ajoutez ceci au fichier que vous venez de créer/ouvrir :
[Unit]
Description=zigbee2mqtt
After=network.target
[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
# Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling syslog, for more options see systemd.exec(5)
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
Si vous êtes sur un pi zéro jetez un œil à ce guide. Il est nécessaire de remplacer ExecStart=/usr/bin/npm start par ExecStart=/usr/local/bin/npm start
Maintenant, il suffit d’activer le service.
sudo systemctl enable zigbee2mqtt.service
Pour terminer cette partie quelques commandes utiles :
Voir le statut : systemctl status zigbee2mqtt.service
Arrêter : sudo systemctl stop zigbee2mqtt
Démarrer : sudo systemctl start zigbee2mqtt
Voir le log : sudo journalctl -u zigbee2mqtt.service -f
Conclusion
La partie installation est terminée. Vous trouverez plus d’informations dans les sources ci-dessous. La prochaine étape sera l’appairage des différents appareils Zigbee. Comme d’habitude vous avez mes réseaux sociaux et maintenant le Discord ioodyme ainsi que le tout nouveau groupe Telegram.
Neodyme explique parfaitement le « hack » du ruban led Action dans le replay du live Twitch. Le point de complexité est de trouver où couper dans le ruban.
Fabrication
Une fois que l’endroit où couper est trouvé, il suffit de souder l’alimentation + et – et ajouter un fil pour le data. Le – (gnd) en masse commune avec le Wemos. (Voir vidéo ci-dessus).
Dans mon cas ayant pas mal réduit la longueur du ruban, j’ai ajouté un petit module « step-down » pour alimenter le Wemos en 5v et donc d’avoir une seule alimentation pour ce projet.
J’ai imprimé en grand sur plusieurs A4 le logo souhaité pour l’enseigne. Dans ce cas le logo du Liège Hackerspace.
Pour faciliter le pliage de l’aluminium (à refaire, je pense plutôt passer à de l’acier) un « rig » est découpé rapidement à la scie à ruban et adapté pour les différents angles et courbes.
Quelques pliages et ajustements plus tard, place aux rivets et la structure est terminée.
Premier lancement… et un glitch inexplicable qui n’a pu être résolu par le remplacement du Wemos.
Pour la partie software afin que l’enseigne puisse être synchronisée au reste du hackerspace et pilotable via MQTT, j’ai opté pour WLED.
La structure a été peinte en noir mat après un bon dégraissement et le ruban est fixé grâce à des serflexs blancs translucides. L’électronique est sur le châssis dans du ruban noir d’électricien.