detournement_zigate-ethernet_coordinateurs_zigbee

Détournement ZiGate-Ethernet / part 1 – Coordinateurs ZigBee

On me demande souvent de faire plus d’articles sur les détournements de produits ou hacks  électroniques/domotiques. En effet, c’est toujours sympa de voir qu’un objet peut avoir d’autres fonctions que celle pour laquelle il a été prévu.

Cette fois-ci, c’est encore plus particulier car c’est une série de  « détournements » d’un produit que j’ai moi-même conçu. (Du coup, je ne sais pas si on peut appeler ça un détournement ;))

Vote :

 

Présentation ZiGate-Ethernet

La ZiGate-Ethernet est un produit fraichement sorti qui permet de transformer une PiZiGate en ZiGate sur Ethernet ou WiFi.

Pour résumé, la ZiGate-Ethernet est née d’une forte demande de la communauté de gestion du protocole ZigBee à travers un câble réseau. En effet, la praticité de la ZiGate-WiFi (possibilité de positionner son contrôleur ZigBee stratégiquement) a beaucoup plu.

Cependant, certains utilisateurs cherchaient plus de fiabilité et une réactivité à toute épreuve. En effet, dans certains cas, le WiFi et le ZigBee ne font pas forcément bon ménage. (Pensez à changer de canal WiFi ou ZigBee si vous avez des perturbations).

Du coup, afin de mêler tous les avantages, j’ai décidé de suivre les conseils de la communauté et j’ai développé la ZiGate-Ethernet. ZiGate-ethernet-definition

Description de la ZiGate-Ethernet

Elle est munie d’un ESP32 avec 16 Mo de Flash qui pilote la partie Ethernet avec un LAN8720 (très utilisé sur les anciens modèles de Raspberry Pi).

L’objectif a été d’utiliser le même « form factor » que le Raspberry Pi 4 B afin de permettre d’utiliser les boitiers compatibles.

De plus, je me suis dit qu’utiliser les mêmes fonctions (alimentation, masse et IOs) que le Raspberry Pi serait une bonne idée. Du coup, le GPIO de la ZiGate-Ethernet correspond à celui du RPi. GPIO_zigate_ethernet Cette configuration permet donc d’utiliser/recycler une PiZiGate pour la transformer en ZiGate-Ethernet.

Pour avoir plus d’informations détaillés, vous pouvez aller sur les pages suivantes :

https://zigate.fr/documentation/descriptif-de-la-zigate-ethernet/

Firmware d’origine : https://github.com/fairecasoimeme/ZiGate-Ethernet

Maintenant que vous avez une idée de comment fonctionne une ZiGate-Ethernet voici comment la « détourner ».

Utilisation avec Deconz / Elelabs / TI

Le premier « détournement » est bien entendu de tester les produits concurrents à la ZiGate. Du coup, je me suis procuré 3 produits différents (technologies différentes) pour les tester.

  • le Raspbee I (Deconz)
  • le ELR023 (Elelabs – EZSP)
  • le CC2652P2 (TI – Z-stack3.x)

pizigate_elelabs_deconz_cod.m ZiGate-Ethernet-Raspbee ZiGate-Ethernet-ELR023 ZiGate-Ethernet-CC2652P2 ZiGate-Ethernet-PiZigate

L’objectif est d’utiliser le firmware d’origine de la ZiGate-Ethernet pour voir si cela fonctionne et rendre accessible par Ethernet une RaspBee par exemple. (la RaspBee 2 n’a pas été testée mais il n’y a pas de raison que cela ne fonctionne pas).

Pour effectuer les tests, j’ai utilisé 2 plateformes domotiques : Jeedom et Home-Assistant.

En effet, c’est deux plateformes utilisent la technologie Zigpy permettant de rendre compatible les technologies ZigBee.

Rappel : L’objectif n’est pas de donner un avis sur les plateformes mais juste valider le fonctionnement du détournement.

Avant de passer à l’étape suivante, il faut que vous ayez paramétré votre ZiGate-Ethernet pour qu’elle soit accessible à partir d’une adresse IP. Du coup, suivez le tutoriel prévu.

Paramétrage Jeedom

Pour piloter la ZiGate-Ethernet, il faut installer le plugin ZigBee  plugin_zigbee Une fois installé, il faut utiliser les paramétrages suivant selon votre module zigbee.

NB : sur les captures d’écrans, c’est le « Contrôleur 2 » car sur le « Contrôleur 1 », il y a bien entendu une ZiGate. 😉

NB2 : l’adresse IP : 192.168.0.45 correspond à l’adresse IP de ma ZiGate-Ethernet. Bien entendu, il faut que vous mettiez votre propre adresse IP.

CC2652P2 RPi serial

Jeedom_config_cc2652P2

Deconz RaspBee I ou II

jeedom_raspbee_config

ELR023 elelabs

Jeedom_elr023_config Une fois paramétré, il suffit de relancer le daemon et vous verrez dans les logs le dialogue de Jeedom avec votre coordinateur ZigBee.

Ensuite procédez, comme vous avez l’habitude, pour piloter vos appareils ZigBee.

Paramétrage HomeAssistant

Pour Home-Assistant, il faut installer l’intégration ZHA zha_nouvelle_integration Ensuite, il faut rentrer les paramètres manuels zha_enter_manually Puis sélectionner le type radio (choisir le bon) ZHA_choose_radio_type Selon le type de radio, la configuration diffère mais un seul paramètre est à changer : le périphérique série ZHA_parametrage_port Comme sur la capture d’écran et peu importe le type radio, il faut rentrer dans le chemin du port série : socket://<IP_de_la_ZiGate-EThernet>:9999

Ensuite, il suffit de cliquer sur « soumettre » pour valider l’installation.

Une fois, effectué, vous aurez l’intégration ZHA présente sur votre dashboard et vous n’aurez plus qu’à procéder normalement pour gérer vos appareils ZigBee.

Spécificités selon les modules ZigBee

Pour faire fonctionner les différentes plateformes, il suffit d’utiliser le firmware de la ZiGate-Ethernet.

Ce firmware a été conçu pour fonctionner directement sorti du carton avec une PiZiGate. Cependant, pour certains modules, il est nécessaire de changer un paramètre.

Deconz RaspBee I

Par défaut, la ZiGate-Ethernet est configurée pour dialoguer avec le port série à 115200 bauds.

Cependant, la RaspBee, communique à 38400 bauds.

Il faut donc modifier la vitesse du port série de la ZiGate-Ethernet.

Pour cela, il faut utiliser son navigateur préféré et lancer la page de configuration : http://<IP_de_la_ZiGate_Ethernet

Ensuite il faut aller dans la page de configuration du port série :

Config_serial_zigate_ethernet Puis changer la vitesse par défaut config_serial_zigate-ethernet

ELR023 elelabs

Pour cette carte, qui est très bavarde, ce n’est pas la vitesse du port série qu’il faut changer mais il peut arriver qu’il y ait des coupures de connexions (reset by peer).

Pour corriger le problème, il suffit de couper toutes connexions web vers la ZiGate-Ethernet ou cocher l’option « Disable web server when ZiGate is connected » qui se trouve dans Config –> General

config_general_zigate-ethernet Cette option, coupera l’interface Web lorsque celle-ci sera connecté à votre plateforme domotique.

Conclusion

Nous venons de voir qu’il est possible d’utiliser tous les modules ZigBee compatible Raspberry PI avec la ZiGate-Ethernet et son firmware par défaut. Cependant, il est possible d’aller encore plus loin. Le prochain « détournement » concernera le ZWave.

En effet, à ma connaissance, il existe pas ou peu de passerelle ZWave – Ethernet et pourtant, à l’aide d’un Razberry, nous verrons qu’il est possible de piloter le ZWave (open zwave) par Ethernet à l’aide de la ZiGate-Ethernet.

PS : Pour ceux qui diront que … gnagnagna … utiliser une Raspberry Pi directement est une meilleure solution et moins couteuse, vous oubliez l’instabilité et la lourdeur d’un système d’exploitation, vous avez surement plein d’alimentations 5V- 3A et votre budget en carte SD est surement illimité 😉

PS2 : Je plaisante bien entendu 😉 chacun voit midi à sa porte.

A très bientôt !

3 comments

  1. Bonjour

    Bravo pour votre travail.
    Est-ce que l’heureux possesseur d’une ZiGate ethernet à essayé de mettre en place Zigbee2Tasmota dessus pour se servir de MQTT ?

    Merci

  2. Bonjour !
    Quel superbe travail ! Une question me traverse l’esprit car je ne suis pas certain d’avoir tout compris :
    Est-ce possible d’étendre un réseau Zigee d’une « ZONE 1 » vers une « ZONE 2 » sachant qu’il n’est pas possible de poser des répéteur le Zigbee pour étendre la couverture de 1 vers 2 mais qu’une liaison RJ45 existe entre 1 et 2

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.