Tout ce qu’il faut savoir sur le plugin officiel Zigbee
Le protocole Zigbee prend une place de plus en plus prépondérante dans le domaine de la maison intelligente ces dernières années et le nombre d’équipements compatibles est en constante augmentation. C’est pourquoi l’équipe Jeedom a œuvré au développement d’un nouveau plugin officiel permettant une prise en charge généralisée de nombreux modules et contrôleurs Zigbee actuellement disponibles sur le marché : le plugin Zigbee.
Nous allons découvrir ensemble, au fil de ce billet, un tour d’horizon des nombreuses possibilités offertes par ce nouveau plugin ainsi que des avantages qui en découlent. Mais avant d’entrer dans le vif du sujet, commençons par un bref rappel des principes de fonctionnement du protocole Zigbee sans pour autant nous perdre dans les détails.
Les bases du protocole Zigbee
Sûrement à l’origine de sa popularité, la technologie Zigbee est souvent mise en comparaison avec d’autres protocoles domotiques dont elle semble avoir assimilé les meilleures fonctionnalités :
- au Zwave pour son système de réseau maillé, le retour d’état et la capacité d’utiliser la bande des 868MHz,
- au Wifi par l’utilisation de la fréquence 2,4GHz lui permettant de fonctionner dans tous les pays du monde,
- au Bluetooth pour sa faible consommation d’énergie,
- et même comparable au protocole Enocean par la gamme de produits sans fils/sans piles Green Power.
Un des seuls inconvénients du Zigbee était justement son ouverture et la liberté donnée aux fabricants d’intégrer leurs modules sans forcément se préoccuper de la présence de matériels d’autres marques au sein du réseau. Cette situation est en nette amélioration depuis l’avènement de la norme Zigbee 3.0 et le regroupement des constructeurs au sein de la zigbee alliance.
Le réseau maillé : un atout indéniable
L’un des atouts indéniable de la technologie Zigbee est le système de réseau maillé permettant d’étendre la portée du réseau et de sécuriser la transmission des messages. Pour réaliser ce maillage, il existe 3 grands types de matériels Zigbee :
- Les contrôleurs : autrement appelés coordinateurs, il s’agit de la passerelle Zigbee unique sur le réseau qui va gérer, entre autre, le routage des messages.
- Les routeurs : concernent dans la plupart des cas les modules sur secteur alimentés en permanence. Ils permettent la transmission des messages depuis et vers les modules avec lesquels ils sont en contact direct.
- Les end-devices : ou modules non-routeurs, regroupent les modules sur batteries n’ayant pas de capacités de routage des messages.
L’équipe a passé de nombreuses heures à tester différentes configurations en bancs de tests, il en ressort que l’ajout de modules routeurs améliore sensiblement la qualité du réseau Zigbee. Il est donc conseillé de disposer, à minima, de 3 modules routeurs constamment alimentés et de les inclure en premier lieu dans la mesure du possible afin que les modules non-routeurs s’y raccrochent immédiatement.
En effet, le réseau est constamment analysé lui permettant ainsi de s’adapter automatiquement de manière intelligente en cas d’ajout, de retrait, de déplacement ou de panne d’un module,
Le plugin Zigbee officiel Jeedom
Face à l’essor toujours croissant du Zigbee dans nos systèmes domotiques et surtout à la multiplication des possibilités de coordination, l’équipe Jeedom a pris la décision de développer un plugin Zigbee « universel » permettant de prendre en charge un maximum de types de contrôleurs et de modules différents.
Pour se faire, le plugin a été réalisé autour de l’excellent travail effectué sur la librairie open-source Zigpy offrant d’ores et déjà le cadre de développement indispensable tel que défini par la norme Zigbee 3.0 ainsi qu’une compatibilité confirmée avec nombre de contrôleurs disponibles sur le marché.
De fait, le nouveau plugin Zigbee officiel inclut l’ensemble des outils et des fonctionnalités nécessaires à la mise en place d’un réseau Zigbee de bonne qualité et bien plus encore…
Les contrôleurs compatibles
Plusieurs types de contrôleurs différents sont proposés sur le marché, le plugin Zigbee est capable de communiquer avec la plupart d’entre eux :
- deCONZ : Testé et validé par l’équipe Jeedom avec la clé USB Conbee II. (ne nécessite pas d’installer l’application deCONZ)
- EZSP (Silicon Labs) : Testé, validé et recommandé par l’équipe Jeedom avec la clé USB Zigbee POPP.
- XBee : Non testé par l’équipe Jeedom.
- Zigate : Non testé par l’équipe, marqué comme « expérimental » dans Zigpy.
- ZNP (Texas Instruments, Z-stack 3.X.X) : Non testé par l’équipe, marqué comme « expérimental » dans Zigpy.
- CC (Texas Instruments, Z-stack 1.2.X) : Non testé par l’équipe, marqué comme « expérimental » dans Zigpy.
Le plugin Zigbee est également capable de gérer plusieurs contrôleurs à la fois et donc plusieurs réseaux Zigbee au sein de la même instance Jeedom. 2 réseaux Zigbee distincts sont actuellement supportés mais ce nombre pourrait très simplement être augmenté si la demande se faisait sentir.
Sauvegarde/restauration d’un contrôleur
Afin de prévenir un éventuel changement de contrôleur, vous avez la possibilité de procéder à une sauvegarde du réseau Zigbee depuis cet outil avec un coordinateur compatible. La sauvegarde ne contient que les informations de base sur le réseau Zigbee, il n’est donc pas nécessaire d’en réaliser régulièrement.
Cette sauvegarde pourra être restaurée sur un autre contrôleur de même type. Attention toutefois, certains types de contrôleurs tels que les EZSP Elelabs n’acceptent qu’une seule procédure de restauration durant toute leur vie.
Mise à jour du firmware d’un contrôleur
Comme vous avez dû le comprendre à la lecture des paragraphes précédents, le coordinateur Zigbee est un élément clé du réseau de par sa capacité à transmettre les messages dans les meilleures conditions. Il est donc primordial de mettre à jour le firmware du contrôleur régulièrement afin de bénéficier des dernières évolutions mises en place par le fabricant et ainsi améliorer la résilience du réseau.
Intégrée par l’équipe dans le plugin, cette fonctionnalité a été uniquement testée sur des contrôleurs de type EZSP Elelabs mais est également implémentée pour les contrôleurs de type ZNP sans avoir pu être testée. Devant l’importance du processus pour la fiabilité du réseau, l’équipe fera son maximum pour prendre en charge les mises à jour de firmware sur d’autres types de coordinateurs dès que l’opportunité se présentera.
Mise à jour des modules OTA
Le plugin Zigbee permet de facilement fiabiliser le réseau en gérant automatiquement les mises à jour des firmwares des modules. En effet, après avoir activé l’option correspondante dans le plugin, les modules seront automatiquement mis à jour en présence d’un nouveau firmware ou si un module en fait la demande. Il est également possible de procéder à la mise à jour du fimware d’un module manuellement en cliquant sur le bouton prévu à cet effet.
Bien entendu, pour fonctionner, cet outil doit être en mesure de pouvoir télécharger de nouveaux firmwares régulièrement. Il faut donc que le fabricant communique ce firmware d’une quelconque manière. Avant tout achat d’un équipement Zigbee, nous vous conseillons vivement de vous renseigner sur la bonne mise à disposition de ce firmware par le constructeur afin de garantir la pérennité de votre installation.
Touchlink/Lightlink
La technologie Zigbee Touchlink (ou Lightlink) offre la possibilité de remettre à zéro, et donc de réassocier à un réseau Zigbee, les modules ne possédant pas de bouton physique de remise à zéro (comme des ampoules par exemple) à condition que le module soit positionné à moins de 50 centimètres du contrôleur.
Il faudra bien sûr se référer à la documentation du fabricant pour mettre en œuvre cette procédure qui consiste le plus souvent :
- soit à effectuer plusieurs cycles rapides d’allumage/extinction de l’équipement,
- soit à utiliser directement la télécommande du fabricant si vous en possédez une,
- soit, pour les ampoules Philips Hue, à les inclure puis les supprimer du pont Hue.
Gestion des groupes
Inclure plusieurs équipements dans un groupe permet d’agir sur eux simultanément à la manière d’une télécommande virtuelle. L’utilisation de cette fonctionnalité est des plus simples : créez un nouveau groupe et ajoutez ou supprimez des équipements membres au sein de celui-ci.
Tous les équipements réagiront en même temps et de la même manière lors de l’exécution d’une commande du groupe.
Binding
Le « Binding » est directement paramétrable depuis le plugin et permet de faire communiquer des modules entre eux sans que les ordres ne transitent par le contrôleur. Cela permet, par exemple, de conserver l’usage d’une télécommande pour allumer ou éteindre des ampoules même si la passerelle est arrêtée et donc de maintenir l’utilisation normale des équipements du foyer en toutes circonstances.
Le lien se fait, pour les modules compatibles avec cette fonction, depuis le cluster (entrée/sortie) prévu à cet effet vers le même cluster d’un autre module et doit être mis en place depuis la télécommande vers l’actionneur.
Certains matériels, tels que les modules Ikea par exemple, n’acceptent le binding que depuis la télécommande vers un groupe. Dans ce cas il faudra donc commencer par constituer un groupe contenant le(s) module(s) désiré(s) sur lequel se fera le binding.
Réseau Zigbee
Nous ne le dirons jamais assez, la consolidation du réseau est la base du bon fonctionnement des équipements Zigbee. A ce titre, le plugin Zigbee intègre tous les outils indispensables permettant de visualiser l’ensemble des informations qui s’y rapportent, effectuer des actions sur le réseau ou encore consulter la liste des nœuds et le graphique du réseau.
Cette dernière fonctionnalité est particulièrement intéressante car elle permet de se faire une idée de la qualité du réseau Zigbee d’un seul coup d’œil. En effet, le graphique représente les différents modules du réseau selon leur type (passerelle, routeurs, end-devices), les liens entre eux ainsi que la qualité de leurs liaisons.
Néanmoins ce graphique ne se veut pas représentatif du routage réel mais plutôt des routes possibles car il est défini à partir de la liste de voisins que chaque module déclare.
Ajout de nouveaux modules
Ce plugin a été prévu pour faciliter l’intégration de nouveaux équipements, l’équipe Jeedom est donc ouverte et réactive pour l’ajout et la prise en charge de nouveaux modules à condition d’être en possession des informations nécessaires :
- le modèle exact du module avec un lien vers le site d’achat,
- le contenu de l’onglet Informations brutes dans la configuration du module,
- le log
zigbee
en debug après avoir actionné plusieurs fois l’équipement.
Fournir une image de l’équipement sur fond transparent (png
) permettra de gagner du temps sur l’intégration et d’avoir le visuel du matériel directement dans Jeedom.
Pour les utilisateurs avancés
Afin de permettre aux utilisateurs possédant le plus d’expertise d’avoir le contrôle total sur leur installation Zigbee, le plugin offre la possibilité d’intégrer une configuration spécifique de la libairie Zigpy au format json
et même d’écrire ses propres commandes.
Toutes les informations fournies par l’équipe sur ces sujets sont consultables dans la documentation du plugin.
Un dernier mot
Nous espérons que le récapitulatif que vous venez de lire vous aura permis de mieux appréhender la technologie Zigbee en général et le plugin officiel Zigbee pour Jeedom en particulier. Nous sommes conscients que cela représente déjà une masse d’informations conséquente, pourtant certains points restent à aborder brièvement…
La technologie Green Power
Développé à l’initiative de la zigbee alliance, le Green Power se veut écologique, à l’instar de la technologie Enocean, en minimisant et en transformant la consommation énergétique des modules leur permettant ainsi de fonctionner sans fils et sans piles.
La technologie étant relativement récente, les matériels Green Power ne sont pas encore supportés par la librairie Zigpy. Cependant cette compatibilité devrait être prochainement assurée, l’équipe Jeedom ayant d’ores et déjà contribué à l’ajout de cette fonctionnalité dans la librairie, actuellement en cours de validation par les administrateurs de Zigpy.
La documentation du plugin
Nous n’allions tout de même pas conclure cet article sans vous inviter à prendre connaissance de la documentation officielle du plugin Zigbee qui décrit des cas d’usages plus en détail.
Celle-ci sera constamment révisée au fur et à mesure des évolutions du plugin, il ne faudra donc pas hésiter à retourner en prendre connaissance de temps en temps.
Les perspectives d’évolutions
Au terme du développement de ce plugin, une chose est sûre : l’équipe Jeedom a acquis une expertise indéniable de la technologie Zigbee lui permettant de maîtriser le protocole de bout en bout dans le respect des normes imposées par la zigbee alliance. L’équipe est donc sereine quant à l’avenir du plugin face à l’évolution, très rapide mais contrôlée, de cette architecture.
L’équipe Jeedom.