Créer des bidules Zigbee

Bonsoir tout le monde,

Tout est dans le titre :sweat_smile: J’avais jusqu’à présent pris l’habitude de bricoler mes intégrations en WIFI, avec des RPi0W, mais ça devient vite limitatif et je pense que ce n’est plus la bonne méthode … Du coup, je me pose la question de développer des bidules sous ESP en Zigbee. N’étant pas spécialiste du tout de l’embarqué, je me demandais si par hasard quelqu’un aurait des bonnes pistes pour apprendre, ou des sources à partager ? Les idées de bidules sont pour le moment basique : remplacer une sonde de distance pour commencer, on verra ensuite !

Au plaisir d’échanger avec les motivés !

Belle soirée,

Jean

Bonsoir Jean !

Bonne nouvelle par rapport à ton sujet de février : ESPHome a intégré le Zigbee nativement depuis la version 2026.5. Ça change pas mal la donne pour ton cas, parce que tu n’as plus besoin d’écrire du C avec l’ESP-Zigbee-SDK d’Espressif. Tu décris ton capteur en YAML et ESPHome gère la stack Zigbee.

La doc est ici : Zigbee Component - ESPHome - Smart Home Made Simple

Concrètement pour ta sonde de distance :

Matériel : privilégie l’ESP32-H2. Il n’a pas de wifi, mais la doc ESPHome note explicitement qu’il est plus fiable que le C6 en Zigbee (il y a des retours de cartes C6 qui ne fonctionnent qu’à côté du coordinateur). Le C5 et le C6 sont supportés aussi.

Capteur : tout ce qui existe déjà en composant ESPHome fonctionne. JSN-SR04T ou A02YYUW si c’est en milieu humide, VL53L0X en temps de vol si tu es sur de courtes distances.

Config : tu ajoutes un bloc zigbee: et ton sensor: classique. Les sensors sont exposés en cluster « analog input » avec l’unité de mesure, donc ta distance remonte directement dans Zigbee2MQTT sans converter custom à écrire.

Deux contraintes à connaître :

  • il faut Zigbee2MQTT en 2.8.0 minimum (c’est ok côté Gladys)
  • à chaque modification de config (ajout ou suppression d’entité, changement de nom), il faut retirer le device du réseau, le réappairer et relancer l’interview dans Z2M. Sinon tu auras des comportements incohérents, voire des boot loops.

Le point qui reste dur, c’est l’autonomie sur batterie : sur ESP32 il faut passer par le deep sleep avec réassociation Zigbee au réveil, et les cartes de dev consomment beaucoup plus que les modules nus. Si l’autonomie est vraiment critique, ESPHome supporte aussi les nRF52, qui sont mieux placés là-dessus.

Si tu préfères quand même faire du bas niveau, la référence reste l’ESP-Zigbee-SDK : GitHub - espressif/esp-zigbee-sdk: Espressif Zigbee SDK · GitHub

Côté Gladys : une fois le device appairé dans Z2M, il doit remonter dans l’intégration Zigbee2MQTT comme n’importe quel capteur. Ces devices génériques ne sont pas toujours parfaitement typés, donc si la valeur ne s’affiche pas correctement, poste le payload MQTT ici et je regarde ce qu’il faut ajuster.

Bonjour !

Je n’ai pas encore eu l’occasion de tester mais pour info, le projet Tasmota prend nativement en charge le ZigBee depuis un bon bout de temps…

Bonsoir @pierre-gilles :slight_smile:

Merci pour ces pistes. Et, heureux hasard, j’utilise précisément le matériel décrit : ESP32-H2 SuperMini couplé à un capteur AJ-SR04M !

J’avais déjà testé l’usage de ESPHome, mais pas réussi à installer le firmware … Et sur le forum, on m’a laissé entendre que ce n’est pas forcement supporté. Abandon de cette piste au profit du SDK ESP-IDF, qui est bien géré par Claude. J’avance petit à petit …

Si je parviens à faire fonctionner cet ESP32, je pense m’en servir comme base à plusieurs autres modules : pluviomètre, anémomètre, UVmètre, débitmètre, etc …

Je reviens vers vous lorsque j’aurais avancé pour partager mes solutions :heart_hands:

Belle soirée à toi,

Jean

Bonsoir @GBoulvin,

Merci pour ton idée, mais je ne trouve pas l’ESP32-H2 dans la liste des bidules compatibles :-:thinking: J’ai cherché des références ici : ESP32 Based Devices

Si tu as des idées ?

Belle soirée également,

Jean