Créer un pont Zigbee Wifi avec Tasmota et du matériel Sonoff

Introduction

Cet article traite de créer un pont entre des appareils Zigbee et mon serveur Home Assistant.

Wikipedia : « ZigBee est un protocole de haut niveau permettant la communication d’équipements personnels ou domestiques équipés de petits émetteurs radios à faible consommation ; il est basé sur la norme IEEE 802.15.4 pour les réseaux à dimension personnelle (Wireless Personal Area Networks : WPAN). »

zigbee logo

Veillez à ne pas confondre avec Z-Wave, ils ne sont pas compatibles même s’il s’agit de réseaux maillés sans fil de faible puissance.

En raison de sa faible consommation, Zigbee est particulièrement utile pour les appareils alimentés par batterie, tels que :

Si vous posez la question, à gauche c’est un Sonoff Zigbee Bridge (ZBBridge) et est requis.

Réseau maillé

Le réseau sans fil zigbee utilise une topologie maillée, ce qui signifie que des dispositifs appelés routeurs se parlent entre eux, acheminant les messages tout autour selon les besoins pour atteindre les nœuds éloignés. L’un des inconvénients de ce système est qu’il consomme de la batterie, de sorte qu’il n’est pas pratique d’avoir des nœuds toujours actifs lorsque l’on fonctionne sur batterie. Je recommande, pour tout grand réseau, d’avoir quelques nœuds alimentés par le secteur, comme des prises de courant, des interrupteurs ou des ampoules.

ZBMINI

Requis

Cet article suppose que vous avez déjà une installation fonctionnelle de Home Assistant sur votre réseau local.

Pour construire l’installation minimale ci-dessous, en plus de votre Wi-Fi et de Home Assistant, vous avez besoin d’un Sonoff Zigbee Bridge (ZBBridge) and a Sonoff temperature / humidity sensor (SNZB-02).

Le processus de flashage est fait en utilisant un Serial-to-USB adapter, le plus simple est d’en prendre un basé sur la puce CH340G ou FTDI. Vérifiez toujours la tension lorsque vous utilisez un tel adaptateur, en utilisant en conséquence soit 3.3V ou 5V.

Le pont zigbee a deux puces pour se connecter à la fois aux réseaux zigbee et Wi-Fi, en assumant le routage entre les deux réseaux.

Les nœuds ont une seule puce zigbee pour la mise en réseau.

Pour commencer

Nous allons configurer quelques éléments pour utiliser notre nœud de capteur de température. Voici les blocs de construction, en commençant par le nœud final :

  • Le capteur de température a un seul bouton pour le coupler au réseau zigbee;
  • Le pont zigbee Sonoff est alimenté par USB et dispose d’un bouton unique pour permettre le couplage de nouveaux capteurs. Pour l’utiliser avec Home Assistant au lieu de l’application cloud eWeLink intégrée, nous allons flasher un nouveau firmware appelé Tasmota;
  • Enfin, Home Assistant doit ajouter une intégration pour utiliser le pont zigbee. Cette intégration permet également de gérer les capteurs zigbee.

La partie la plus délicate étant de flasher Tasmota, la majeure partie de cet article est consacrée à cette étape spécifique.

Flashage de Tasmota vers Sonoff ZBBridge

Une note sur Tasmota et les exigences

Tasmota est un firmware open source destiné aux appareils basés sur ESP8266 ou ESP8285. Il se caractérise par une grande flexibilité et la possibilité de le configurer à l’aide de son interface web intégrée.

En utilisant l’image ZBBridge dédiée (tasmota-zbbridge.bin), il est très facile de définir ses paramètres de réseau Wi-Fi et de connexion MQTT.

Les étapes macros sont donc les suivantes :

  • Ouvrez le dispositif ZBBridge pour accéder au PCB;
  • Câblez l’adaptateur Série-USB sur le PCB ZBBridge;
  • Flashez Tasmota en utilisant Tasmotizer;
  • Déconnecter l’adaptateur;
  • Alimenter le ZBBridge par le biais d’un USB normal;
  • Accédez à l’interface web de Tasmota et configurez finalement le dispositif;
  • Si tout s’est bien passé, remettez le PCB dans son boîtier.

Vous aurez besoin de matériel :

… et quelques logiciels :

  • Tasmotizer pour le flashage. Il s’agit d’un outil tout-en-un pour flasher automatiquement Tasmota sur un appareil;
  • Windows, si vous utilisez Tasmotizer comme dans ce guide;
  • Un navigateur web, j’utilise Google Chrome.

Consultez la page Tasmota Getting Started page si vous êtes nouveau ou si vous n’utilisez pas Windows.

Câbler le ZBBridge à l’adaptateur Serial-to-USB

Si vous avez l’habitude de clignoter, ne vous laissez pas berner, vous devez mettre à la terre une broche supplémentaire, et il y a plusieurs TX/RX sur le ZBBridge.

Voici le câblage correct :

Adaptateur ZBBridge Notes
GND GND Alimentation
GND IO0 Enable flashing of ESP chip
VCC 3V3 Alimentation, n’oubliez pas de définir à 3V3 et PAS 5V
RX ETX Liaison de données
TX ERX Liaison de données

J’utilise des fils de liaison de breadboard, dont les broches sont plus fines que les câbles Dupont habituels. Un Dupont ne s’adaptera pas aux petits trous traversants du ZBBridge. Avoir une connexion correcte peut être délicat.

 

Connexions à Tasmota

Après avoir flashé avec succès le firmware Tasmota, l’appareil démarre un nouveau hotspot Wi-Fi sous la forme suivante tasmota_XXXXXX-####.

Connectez vous dessus et ouvrez l’adresse http://192.168.4.1/ pour gérer l’appareil.

Configuration Tasmota

Tasmota a besoin de quelques ajustements pour fonctionner correctement dans notre situation :

  • Mise à jour du firmware pour la puce zigbee;
  • Configuration du serveur MQTT et des informations d’identification;
  • Activer le modèle ZHA de Home Assistant, en déléguant le contrôle total à Home Assistant;
  • Facultatif : Configuration du réseau, toujours agréable de définir une adresse IP statique sur le réseau.

Flashage du firmware Zigbee

Obtenez le dernier firmware pour la puce zigbee à partir de https://github.com/arendst/Tasmota/tree/development/tools/fw_SonoffZigbeeBridge_ezsp

Depuis l’interface web Tasmota, allez sous Firmware Upgrade > Upgrade by file upload

Note: Il est possible d’utiliser l’URL directe avec l’OTA, mais je n’ai pas essayé. 🙂

Mise à jour du MQTT

Depuis l’interface web de Tasmota, allez dans la Console.

Saisissez la commande suivante pour paramétrer le serveur MQTT (vous pourriez utiliser Configuration > Configure MQTT mais j’ai eu des soucis pour sauver le mot de passe, peut-pêtre un bug résolu au moment où vous lirez ces lignes, dites moi en commentaire!).

Ajustez cette commande en fonction de vos besoins, surtout mqtthost, mqttuser et mqttpassword.

Backlog mqtthost 192.168.0.xxx; mqttport 1883; mqttuser XXXX; mqttpassword XXXX; topic zigbridge

L’appareil va redémarrer.

Activer le modèle ZHA Home Assistant

De retour dans la console, utilisez cette commande, sauf si vous utilisez un port autre que 8888.

backlog rule1 on system#boot do TCPStart 8888 endon ; rule1 1 ; template {"NAME":"Sonoff ZHABridge","GPIO":[56,208,0,209,59,58,0,0,0,0,0,0,17],"FLAG":0,"BASE":18} ; module 0

Définir une adresse IP statique

Ceci est optionel mais mon routeur est très limité concernant le DHCP, avec un range x.x.x.2 à x.x.x.26.

Le commandes « IPAddressX » correspondent à:

  1. Adresse IP
  2. Passerelle
  3. Masque
  4. Serveur DNS (ici, Google)
IPAddress1 192.168.0.XXX
IPAddress2 192.168.0.1
IPAddress3 255.255.255.0
IPAddress4 8.8.8.8
restart 1

Relancer l’appareil une fois de plus, mais l’appareil sera très rapide pour démarrer et se reconnecter!

Voyez Tasmota Commands / Wi-Fi pour plus d’informations. Si vous le faites souvent, envisagez d’utiliser la commande backlog.

Ajout du pont ZBBridge à Home Assistant

Enfin, ajoutons le pont Zigbee à Home Assistant.

Dans Home Assistant, allez dans Configuration > Intégrations > Ajouter une intégration.

Sélectionnez Zigbee Home Automation dans la liste des intégrations.

Configurez en utilisant :

  • Port série : Entrer manuellement
  • Type de rapport : EZSP
  • Chemin du dispositif série : socket://<IP du dispositif>:8888
  • Vitesse : 115200

Il devrait détecter votre pont et l’ajouter aux intégrations.

Ajout de périphériques

Pour ajouter un périphérique zigbee, allez dans Configuration > Intégrations et cliquez sur Configurer sur votre intégration domotique Zigbee.

En bas à droite se trouve un bouton « + Add device », cliquez dessus.

Cela lance le mode d’appairage pour le coordinateur, il est temps d’appuyer sur le bouton d’appairage du dispositif de température/humidité SNZB-02.

Au fur et à mesure que vous ajoutez des appareils, ils apparaissent à l’écran, proposant de définir leur nom.

À propos des appareils

Une fois que vous avez fini d’ajouter des appareils, vous pouvez vérifier ce qui a été fait dans le menu Appareils.

Comme ces appareils n’utilisent pas le WiFi, c’est le seul endroit où vous pouvez vérifier leur état et surtout le niveau de la batterie.

Les capteurs sont automatiquement créés for eux. Vous avez terminé la configuration de zigbee !

À propos des capteurs

Lorsque les capteurs sont créés, utilisez le menu Outils du développeur de l’assistant de maison pour y jeter un coup d’œil.

Je filtre ici sur celui qui a été ajouté pour la démo :

Références

Documentation officielle Tasmota getting started doc

Cet article est particulièrement basé sur  Sonoff Zigbee Bridge ZBBridge Zigbee compatibility info.

Zigbee Home Automation pour Home Assistant.

Post Author: Shut

Laisser un commentaire

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