Guten Abend Jean!
Gute Neuigkeiten zu deinem Thema aus Februar: ESPHome hat Zigbee seit Version 2026.5 nativ integriert. Das ändert einiges für deinen Fall, weil du keinen C-Code mehr mit dem ESP-Zigbee-SDK von Espressif schreiben musst. Du beschreibst deinen Sensor in YAML und ESPHome verwaltet die Zigbee-Stack.
Die Dokumentation findest du hier: Zigbee Component - ESPHome - Smart Home Made Simple
Konkreter für deinen Abstandssensor:
Hardware: Bevorzuge den ESP32-H2. Er hat kein WLAN, aber die ESPHome-Dokumentation vermerkt explizit, dass er zuverlässiger als der C6 in Zigbee ist (es gibt Berichte von C6-Karten, die nur neben dem Koordinator funktionieren). Der C5 und der C6 werden ebenfalls unterstützt.
Sensor: Alles, was bereits als ESPHome-Komponente existiert, funktioniert. JSN-SR04T oder A02YYUW in feuchter Umgebung, VL53L0X im Time-of-Flight-Modus, wenn du kurze Distanzen hast.
Konfiguration: Du fügst einen Block zigbee: und deinen klassischen sensor: hinzu. Die Sensoren werden im Cluster « Analog Input » mit der Maßeinheit exponiert, sodass dein Abstand direkt in Zigbee2MQTT hochgeladen wird, ohne dass du einen benutzerdefinierten Converter schreiben musst.
Zwei Einschränkungen, die du kennen solltest:
- Du brauchst mindestens Zigbee2MQTT in Version 2.8.0 (das ist auf Gladys-Seite in Ordnung)
- Bei jeder Konfigurationsänderung (Hinzufügen oder Entfernen einer Entität, Namensänderung) musst du das Gerät aus dem Netzwerk entfernen, neu paarweise verbinden und das Interview in Z2M neu starten. Andernfalls wirst du inkonsistentes Verhalten oder sogar Boot-Loops haben.
Der Punkt, der immer noch schwierig ist, ist die Batterielebensdauer: Auf dem ESP32 musst du den Deep Sleep mit Zigbee-Neuzuordnung beim Aufwachen verwenden, und die Entwicklerkarten verbrauchen viel mehr als die nackten Module. Wenn die Lebensdauer wirklich kritisch ist, unterstützt ESPHome auch die nRF52, die in dieser Hinsicht besser positioniert sind.
Wenn du trotzdem Low-Level-Programmierung bevorzugst, bleibt die Referenz das ESP-Zigbee-SDK: GitHub - espressif/esp-zigbee-sdk: Espressif Zigbee SDK · GitHub
Auf Gladys-Seite: Sobald das Gerät in Z2M gepaart ist, sollte es in der Zigbee2MQTT-Integration wie jeder andere Sensor hochgeladen werden. Diese generischen Geräte sind nicht immer perfekt typisiert, daher, wenn der Wert nicht korrekt angezeigt wird, poste den MQTT-Payload hier und ich schaue, was angepasst werden muss.