Un peu de patience, Retex en cours d’écriture
Mon cabanon piscine est situé trop loin de ma maison, ce qui le place hors de portée de mon réseau Zigbee principal. Plutôt que d’essayer d’étendre mon réseau existant, j’ai choisi de créer un réseau Zigbee entièrement indépendant dans le cabanon, puis de l’interconnecter avec mon système domotique principal via MQTT. Cette approche me permet de gérer localement les équipements dédiés à la piscine et à l’arrosage, tout en remontant les données vers Home Assistant.
Grâce au ZiWiFi32 Lite de LiXee, branché sur le port USB de mon routeur Synology MR2200ac (en mode point d’accès Wi-Fi), je vais pouvoir centraliser la gestion de ces équipements et assurer une communication fluide avec le reste de ma domotique.
Pourquoi un réseau Zigbee indépendant ?
J’ai opté pour la création d’un réseau dédié pour plusieurs raisons :
- Stabilité : Un réseau Zigbee trop étendu peut souffrir de problèmes de latence ou de perte de paquets, surtout sur de longues distances.
- Autonomie : En cas de panne du réseau principal, le cabanon reste fonctionnel et les équipements continuent de communiquer entre eux.
- Flexibilité : Je peux gérer les équipements du cabanon de manière isolée, sans risquer d’impacter le reste de ma domotique.
- Intégration simple : Comme pour mes équipements Sonoff ou ESP flashés, j’utilise MQTT pour interconnecter les deux réseaux, ce qui simplifie l’intégration avec Home Assistant.
Le ZiWiFi32 Lite est idéal pour ce projet : il agit comme un coordinateur Zigbee autonome et peut publier ses données sur un broker MQTT, assurant ainsi une intégration transparente avec Home Assistant.
Matériel utilisé
Pour réaliser ce projet, j’ai utilisé les éléments suivants :
- 1 ZiWiFi32 Lite : pour créer le réseau Zigbee et faire la passerelle vers MQTT.
- 1 routeur Synology MR2200ac : déjà en place en mode point d’accès Wi-Fi, avec un port USB libre pour alimenter le ZiWiFi32 Lite.
- 1 rallonge USB : pour éloigner le ZiWiFi32 Lite du routeur et optimiser la couverture Zigbee dans le cabanon.
- Mes équipements Zigbee : capteurs de température, électrovannes, et prises connectées pour la gestion de la piscine et de l’arrosage.
- 1 broker MQTT : déjà installé sur ma Green Box Nabucasa avec Home Assistant.
Étape 1 : Branchement physique du ZiWiFi32 Lite
J’ai branché le ZiWiFi32 Lite sur le port USB du Synology MR2200ac, en utilisant une rallonge USB pour le positionner à un endroit stratégique dans le cabanon. Cela permet d’éviter les interférences avec le routeur tout en assurant une bonne couverture Zigbee. Dès le branchement, la LED du ZiWiFi32 Lite s’allume, indiquant qu’il est sous tension et prêt à être configuré.
Étape 2 : Configuration initiale via LiXee-Assist
J’ai utilisé l’application LiXee-Assist pour détecter le ZiWiFi32 Lite sur mon réseau Wi-Fi. L’application l’a trouvé automatiquement via mDNS. J’ai vérifié que le firmware était à jour, puis j’ai configuré le module pour qu’il se connecte automatiquement à mon réseau Wi-Fi au démarrage.

Étape 3 : Création du réseau Zigbee indépendant
Dans LiXee-Assist, j’ai activé le mode coordinateur Zigbee et créé un nouveau réseau. J’ai choisi un canal différent de celui de ma maison (canal 25) pour éviter les interférences. J’ai noté le PAN ID et la clé de sécurité du réseau, qui me seront utiles pour appairer mes équipements.


Étape 4 : Configuration MQTT pour l’interconnexion avec Home Assistant
Pour interconnecter ce réseau Zigbee indépendant avec Home Assistant, j’ai configuré le ZiWiFi32 Lite pour qu’il publie ses données sur mon broker MQTT. Voici les paramètres que j’ai renseignés dans l’interface web du ZiWiFi32 Lite :
- Adresse du broker MQTT : l’IP de mon serveur Home Assistant.
- Port MQTT : 1883 (port standard).
- Identifiant et mot de passe : ceux de mon utilisateur MQTT dédié.
- Topic racine : homeassistant/sensor/ (se complète automatiquement quand on coche Home Assistant) pour organiser les messages.
- MQTT Discovery : activé pour que Home Assistant détecte automatiquement les équipements.
Une fois la configuration sauvegardée, le ZiWiFi32 Lite se connecte au broker MQTT et commence à publier les données des équipements appairés.

Étape 5 : Appairage des équipements Zigbee
J’ai ensuite appairé un équipement Zigbee (capteur de température Sonoff SNZB-02)
L’appairage se fait directement depuis l’interface web du ZiWiFi32 Lite. Il suffit de cliquer sur « Ajouter » dans le menu « Réseau / Zigbee », puis de suivre la procédure d’appairage propre à chaque équipement (consulter la documentation du fabricant).







J’ai relevé que cet équipement a un Device Id : 0302, ce qui correspond à 0x0302 en hexadécimal, soit 770 en décimal. Le fichier de configuration devra donc utiliser le modèle 770.json.
Pour l’instant, tant que le modèle 770.json n’est pas configuré, l’équipement ne renvoie aucune donnée. Dans le menu « Mesures/Appareils », j’ai activé le mode développeur pour accéder aux outils avancés.



![]()

Dans la liste des templates, j’ai constaté qu’il n’y avait pas de modèle 770.json. J’ai donc créé un nouveau fichier 770.json avec la configuration suivante :
{
"default" : [
{
"status" : [
{
"name" : "Température",
"cluster" : "0402",
"attribut" : 0,
"mqtt_device_class" : null,
"mqtt_icon" : "thermometer",
"mqtt_state_class" : null,
"type" : "float",
"coefficient" : 0.01,
"unit" : "°C",
"visible":1,
"jauge":"gauge",
"min":-20,
"max":50
},
{
"name" : "Humidité",
"cluster" : "0405",
"attribut" : 0,
"mqtt_device_class": "humidity",
"mqtt_icon": "water-percent",
"mqtt_state_class": "measurement",
"type" : "float",
"coefficient" : 0.01,
"unit" : "%",
"visible":1,
"jauge":"gauge",
"min":0,
"max":100
},
{
"name" : "Tension",
"cluster" : "0001",
"attribut" : 32,
"type" : "float",
"coefficient" : 0.1,
"unit" : "V",
"visible":1
},
{
"name" : "Batterie",
"cluster" : "0001",
"attribut" : 33,
"mqtt_device_class" : null,
"mqtt_icon" : "alpha-v",
"mqtt_state_class" : null,
"type" : "numeric",
"unit" : "%",
"visible":1,
"jauge":"battery",
"min":0,
"max":100
}
],
"bind" : "1026;1029;1",
"report" : [
{
"cluster" : "1026",
"attribut": 0,
"type":33,
"min":10,
"max":11,
"timeout":0,
"change":0
},
{
"cluster" : "0405",
"attribut": 1295,
"type":33,
"min":60,
"max":61,
"timeout":0,
"change":0
},
{
"cluster" : "0001",
"attribut": 32,
"type":33,
"min":60,
"max":61,
"timeout":0,
"change":0
},
{
"cluster" : "0001",
"attribut": 33,
"type":33,
"min":60,
"max":61,
"timeout":0,
"change":0
}
]
}
]
}
Après avoir enregistré le fichier 770.json, les valeurs ne remontent toujours pas. Je vais devoir investiguer davantage pour résoudre ce problème.




















































































































