le réseau Zigbee s’invite dans le jardin ! septembre 21, 2023 Ce titre pourrait surprendre mais si vous lisez jusqu’au bout ca pourrait peut etre vous intéresser … A noter qu’a aucun moment il y des liens affiliés ici tout est gratuit ! Ma problématique du départ il y a quelques mois j’avais acheté un boitier (Zlinky) pour récupérer les impulsions TIC de mon compteur Linky cf cet article : https://meteo-pontscorff.fr/mon-compteur-linky-connecte-sur-grafana/ J’avais rencontré des soucis de liaisons car ma clef USB Zigbee SonOff connectée à mon serveur Ubuntu était trop éloignée de mon compteur et j’avais donc tout descendu au sous-sol ! (quasi au cul du compteur Linky). Depuis je voulais récupérer la température d’une pataugeoire dans le jardin à travers une sonde, pour conserver un historique sur plusieurs jours de la température. Au fil de mers recherches j’ai trouvé ici : https://www.domadoo.fr/fr/peripheriques/5998-owon-sonde-de-temperature-deportee-sur-cable-zigbee.html une sonde avec un module THS-317-ET permettant de mesurer avec précision la température, d’un espace, d’une matière ou d’un liquide. Cette sonde est fournie avec un câble de 2m de longueur , idéale pour mon « petit » projet. Le boitier de commande alimenté par 2 piles AAA pouvant être mis dans un boitier électrique dit étanche et sûr puisque non branché sur le réseau électrique. (A noter que ce boitier est compatible Zigbee et compatible avec Amazon Echo, intégrant la technologie Zigbee mais pas compatible Smartlife). Après la réception du boitier , la découverte de la sonde à travers Z2M est assez fastidieux ( appui de nombreuses fois sur le bouton interne , une led verte clignotante (jamais de led rouge !) , bref après quelques essais infructueux ma clef USB Zigbee SonOff à travers mon Z2M découvre enfin cette sonde ! Oui mais voila à l’intérieur : Ok ! Mais dès que je m’éloigne de mon serveur Ubuntu (au sous-sol) je perds rapidement le signal (les fameux lqi). A la recherche d’une solution il fallait que je trouve une solution pour augmenter mon réseau Zigbee. Entre les clefs USB répéteur , les ampoules qui permettent de « router » , j’ai épuré les moteurs de recherche pour trouver « une » solution : Un nouvel adaptateur mais cette fois-ci réseau ! pourquoi réseau ? Voici les explications : Tout prêt de ma pataugeoire, j’ai un abri de jardin (la fameuse cabane au fond du jardin), j’avais, il y a quelques années, tiré 3 câbles : 1 câble d’alimentation 220V et 2 câbles réseaux (on ne sait jamais , ca peut toujours servir !). La preuve , c’est ici entre autre que mon boitier OpenDtu pour mes panneaux solaires est en place depuis quelques mois, d’ailleurs vous pouvez retrouver un article posté ici : https://meteo-pontscorff.fr/la-domotique-sinvite-sur-la-station-meteo/ Donc dans cet abri , j’ai du réseau (filaire et wifi) , en plus , sur le filaire c’est un switch POE (j’en ai eu besoin pour un autre projet sur lequel je ne m’étendrai pas…) Donc grâce à ce réseau local, le switch POE , ce petit boitier de 16 cm de long et son antenne de 15 cm également de long : SMLIGHT SLZB-06 Zigbee Ethernet USB POE WiFi LAN adapter trouvera sa place idéalement dans ce cabanon et pourra « arroser » en réseau Zigbee cette partie de mon terrain. Sincèrement , je ne sais plus où j’ai trouvé la référence mais ici https://www.zigbee2mqtt.io/guide/adapters/#recommended ce petit boitier y est référencé avec toutes les documentations et derniers firmwares. A noter : Juste une petite recommandation si vous désirez en acheter un : regarder bien ou vous l’acheter, le prix peut passer du simple au double (voir triple), en fonction de la plateforme ou vous l’achetez. moi je l’ai pris ici https://www.tindie.com/products/smartlightme/smlight-slzb-06-zigbee-ethernet-poe-usb-wifi-adapt/ réglé par Paypal. Un début de solution : 2 instances Zigbee2Mqtt sur le même serveur A ce stade , j’ai donc une sonde de température avec 2m de câble avec un boitier étanche, un abri de jardin « connecté » puisque j’ai du réseau local, dans mon sous-sol j’ai déjà un Z2M qui tourne avec plusieurs « topics » : station Météo / ma clef Zlinky , il me faut donc trouver une solution pour connecter ce boitier SMLIGHT SLZB-06 à un nouveau Zigbee2Mqtt. je vous mets un schéma que j’ai trouvé ici : https://smlight.tech/product/slzb-06/ (il suffit de s’affranchir de la zone « internet » et de se dire que ca peut être un câble de 50-60m entre deux points distants) Je ne me souvenais pas lors de ma première installation de mon Z2M avec ma clef Zigbee SonOff qu’il était possible d’ installer plusieurs instances sur le même serveur. Cf sur Github cette discussion : https://github.com/Koenkk/zigbee2mqtt/discussions/18889 Donc une instance sous /opt/zigbee2mqtt/ et une deuxième instance sous /opt/zigbee2mqttLAN/ je ne vous refais pas l’installation sous linux qui est très bien présentée ici : https://www.zigbee2mqtt.io/guide/installation/01_linux.html il suffira de modifier vos dossiers / chemin et de refaire les démons avec systemctl vous aurez donc 2 services qui tourneront ! (Attention tout de même à modifier le port pour le serveur web (8090 par défaut , pour ma part je suis passé sur le port 8091) (Ca se trouve dans le fichier configuration.yaml) J’ai donc un Z2M avec comme adaptateur une clef USB et un deuxième Z2M avec comme adaptateur un boitier réseau que je peux brancher ou je veux sur mon réseau local ! root@meteo-Ubuntu:/home/stef# systemctl | grep zigb zigbee2mqtt.service loaded active running zigbee2mqtt zigbee2mqttLAN.service loaded active running zigbee2mqttLAN root@meteo-Ubuntu:/home/stef# root@meteo-Ubuntu:/home/stef# systemctl status zigbee2mqttLAN ● zigbee2mqttLAN.service - zigbee2mqttLAN Loaded: loaded (/etc/systemd/system/zigbee2mqttLAN.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2023-09-16 09:11:20 CEST; 3 days ago Main PID: 153401 (npm start) Tasks: 23 (limit: 4492) Memory: 93.4M CPU: 20.598s CGroup: /system.slice/zigbee2mqttLAN.service ├─153401 "npm start" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ├─153412 sh -c "node index.js" └─153413 node index.js sept. 19 12:56:33 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 12:56:33: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":91,"temperature":24.2,"voltage":3100}' sept. 19 13:56:21 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 13:56:21: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":91,"temperature":24.2,"voltage":3100}' sept. 19 14:56:10 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 14:56:10: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":91,"temperature":24.4,"voltage":3100}' sept. 19 15:55:59 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 15:55:59: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":91,"temperature":24.4,"voltage":3100}' sept. 19 16:55:48 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 16:55:48: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":91,"temperature":24.4,"voltage":3100}' sept. 19 17:55:37 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 17:55:37: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":87,"temperature":24.4,"voltage":3100}' sept. 19 18:55:25 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 18:55:25: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":91,"temperature":24.3,"voltage":3100}' sept. 19 19:55:14 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 19:55:14: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":91,"temperature":24.3,"voltage":3100}' sept. 19 20:55:03 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 20:55:03: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":91,"temperature":24.1,"voltage":3100}' sept. 19 21:54:52 meteo-Ubuntu npm[153413]: Zigbee2MQTT:info 2023-09-19 21:54:52: MQTT publish: topic 'zigbee2mqttlan/piscine', payload '{"battery":100,"linkquality":91,"temperature":24.2,"voltage":3100}' root@meteo-Ubuntu:/home/stef# La validation de la solution le boitier Smlight une fois connecté au réseau trouve une adresse ip en DHCP , pour ma part je l’ai retrouvé très simplement sur la partie réseau de ma Freebox Révolution ( mais un sniffer de réseau, ipscan fera l’affaire également) http://192.168.0.X (adresse DHCP) pas besoin de beaucoup de paramétrage : Passage en ip fixe puis rendez-vous dans l’onglet de paramétrage Z2M /HA : http://192.168.0.XX/zha-z2m afin de récupérer le paramétrage à pousser dans le Z2M coté serveur dans le fichier de configuration : # Serial settings serial: # Location of SLZB-06 port: tcp://192.168.0.XX:6638 baudrate: 115200 # Disable green led? disable_led: false # Set output power to max 20 advanced: transmit_power: 20 Vous pouvez remarquer le « connecteur » : l’adresse ip + un port (ici 6638 , que vous pouvez modifier également) c ‘est pour cela qu’il est préférable de le paramétrer en ip fixe sinon au renouvellement du DHCP , votre Z2M « reseau » ne fonctionnera plus. Stop / start du démon via les commandes systemctl et le tour est joué Mon réseau Zigbee est donc dorénavant opérationnel au fond du jardin ! Apres quelques mésaventures pour associer ce nouveau réseau Zigbee à ma sonde le tour est joué tout est fonctionnel Oui mais après ? Après ? Et bien j’ai créé un nouveau topic « zigbee2mqttlan/# » que j’ai paramétré sur Z2M et Mosquitto, ensuite un connecteur « Telegraf » afin de récupérer les datas dans InfluxDB pour ensuite les ressortir dans de beaux graphiques sous Grafana. la courbe rouge à gauche : Température de l’air extérieure ( sonde récupérée de ma station Météo également sous mqtt ) la courbe verte à droite : Température de l’eau de la pataugeoire En conclusion, en résumé Ce petit boitier (16 cm de long) peut être utilisé de trois façons différentes : réseau Ethernet (POE) / Wifi / et USB pour y être connecté à un service zigbee2mqtt. Dans mon cas, il fallait que je déploie du réseau Zigbee à plus de 40m de mon réseau initial enclavé au sous-sol de mon habitation. Comme j’ai un réseau local filaire (mais ca aurait pu fonctionner également avec du réseau Wifi) et comme il était impossible de déplacer mon serveur linux et mon réseau Zigbee c’est l’adaptateur qui est allé vers ma sonde. Sachez que vous pouvez implanté ceci dans Home Assistant également ( chez moi c’est du « tout à la main »). Les liens utiles le site internet de la startup : https://smlight.tech/product/slzb-06/ pour acheter le boitier : https://www.tindie.com/products/smartlightme/smlight-slzb-06-zigbee-ethernet-poe-usb-wifi-adapt/ (attention a la plateforme , les prix peuvent grimper très vite) Pour le manuel : https://smlight.tech/manual/slzb-06/ Pour info également c’est un produit Ukrainien donc c’est bien (surtout en cette période). je vous mets un bout de schéma qui pourra peut être vous aider à comprendre la configuration : A gauche : mon abri de jardin, distancé de 50metres de câbles réseaux et à droite mon habitation . Navigation de l’article Mon compteur Linky connecté sur Grafana !