Ich möchte mir mit einem ESP32-C6 einen eigenen Zigbee-Sensor bauen. esp-idf habe ich installiert und die einfachen Beispiele (z.B. Lichtschalter) funktionieren und werden in Home Assistant problemlos erkannt.
Mein Sensor soll erst mal aus einer Temperatur/Luftfeuchtigkeitsmessung und drei "binary inputs" bestehen.
Nun ist mir trotz Lektüre der Espressif-docs und Internetsuche nicht klar, wie der Zigbee-Endpoint am besten aufgebaut wird.
In der Doku befindet sich eine Auflistung von "HA Automation Device Types". Muss ich mich an einen dieser halten, damit der EP von HomeAssistant erkannt wird? Kann ich einen Standard-Endpoint, in meinem Fall z.B. "temperature_sensor", erzeugen, und dann durch zusätzliche Cluster für die anderen Messgrössen (Feuchtigkeit, binary inputs) ergänzen? Oder sollten die Funktionen in separate EP eingepackt werden?
Und gibt es ev. Code-Beispiele, in welchen so was gemacht wird, so dass ich diese als Anhaltspunkt verwenden könnte? Die Espressif-Doku ist mehr eine Auflistung der einzelnen Funktionen ohne wirkliche Erklärung, wie diese zusammen verwendet werden.
Danke für den Hinweis, ich habe diese Doku gerade angeschaut. Das sind halt die Beispiele, die Espressif mit dem sdk mitgeliefert, mit ein paar Code-Erläuterungen.
Meine Fragen sind wohl eher grundsätzlicher Natur.
Wenn ich z.B. Temperatur und Luftfeuchtigkeit messen möchte, nehme ich die Feuchtigkeit als weiteres Attribut in den Temperatur-Messcluster? Oder ist das dann ein weiterer Cluster im selben Endpoint? Wenn ich weiter "binary sensors" habe (3 Stück sollen es sein), kann ich diese da ebenfalls als Attribute mit in denselben Temperaturmesscluster reinpacken, oder geht das nicht, und es sind 3 weitere EP dafür notwendig? Oder ein "custom cluster", der die drei Signale kombiniert? Wenn ein "custom cluster", wird der dann in Home-Assistant erkannt?
Wenn ich mich da für einen vernünftigen Ansatz entschieden habe, stellt sich dann die Frage, wie ich das alles in Software implementiere. Wobei das weniger meine Sorge ist.
Wie diese verwendet wird, ist aber nicht erklärt. Als Argument nimmt sie eine esp_zb_zcl_reporting_info_t entgegen. Welche Felder aber benötigt werden und welche nicht, ist nirgends beschrieben. In einem Beispiel wird diese struct dann so verwendet:
Das lässt für mich z.B. unklar, welche Felder spezifiziert werden müssen, und ob welche optional sind.
Ich frage mich da schon, ob es nicht irgendeine Art von Doku gibt, die das ausführt, und die ich noch nicht gefunden habe... So muss man sich von Beispiel zu Beispiel durchhangeln und raten. Für Standardanwendungen mag das gehen, aber wenn ich etwas abweichendes programmieren möchte, wird es schwierig...
ESPHome eignet sich halt nicht oder nur bedingt für batteriebetriebene Geräte. Toll wäre, wenn es eine ähnlich einfache und universelle Lösung wie ESPhome (oder Tasmota) für Zigbee / Matter gäbe (z.B. mit dem ESP32-C6). Mir ist diesbezüglich leider keine Lösung bekannt.
Oh cool, ich kannte das Projekt
https://github.com/ffenix113/zigbee_home
bisher gar nicht. Muss ich mir mal anschauen, Danke für den Hinweis.
Und ja, das auf ESP32-C6 wäre grossartig :-)
Hallo, ich habe aktuell eine ähnliche Herausforderung, bin auch schon ein paar Schritte weiter. U.a. bin ich auf den ESP32-H2 gewechselt, da ich wir Du Wifi nicht brauche, nur Zigbee. Aber das spielt für das grundsätzliche Verständnis keine Rolle.
Leider finde ich aus dem ESP32 Forum von Espressif bislang keines wo man diesbezpglich diskutieren und Erfahrungen austauschen könnte. Dieses Forum hier beheimatet viele Profis mit hohem Wissensstand, Anfängern gegenüber ist man sehr kritisch eingestellt und erntet schnell Shit-Storms vom feinsten... man will ja niemand nerven aber manchmal braucht man trotz KI und jeder Menge Infos einfach mal etwas "menschliche" Unterstützung.
Hallo, ich habe aktuell eine ähnliche Herausforderung, bin auch schon
ein paar Schritte weiter. U.a. bin ich auf den ESP32-H2 gewechselt, da
ich wir Du Wifi nicht brauche, nur Zigbee. Aber das spielt für das
grundsätzliche Verständnis keine Rolle.
Leider finde ich aus dem ESP32 Forum von Espressif bislang keines wo man
diesbezpglich diskutieren und Erfahrungen austauschen könnte. Dieses
Forum hier beheimatet viele Profis mit hohem Wissensstand, Anfängern
gegenüber ist man sehr kritisch eingestellt und erntet schnell
Shit-Storms vom feinsten... man will ja niemand nerven aber manchmal
braucht man trotz KI und jeder Menge Infos einfach mal etwas
"menschliche" Unterstützung.
Ja, der Austausch ist mir auch wertvoll:-)
Leider scheint es noch wenig Austausch zu Zigbee-Devices mit ESP geben. Für Batteriebetriebene Geräte gibt es ja leider wenig Alternativen zu Zigbee. Es sieht jetzt ein bisschen so aus, als würde der Trend weg von Zigbee zu "Matter over Thread" gehen. Ikea macht es vor und stellt konsequent um (siehe https://esphome.io/components/openthread/), die "Dirigera Hubs" werden per update "Matter over Thread" tauglich. Habe mir überlegt, parallel zu Zigbee ein Thread-Netzwerk aufzubauen, welches dann über die Jahre die Zigbee-Geräte ablöst. Der Aufwand dazu ist ja minimal (zweiter Coordinator oder einer welcher Zigbee und Thread kann, wie z.B. die SLZB-MR-Serie). Damit wird es für uns Selberbauer interessant: ESPHome hat neu eine "Open Thread-Komponente" (siehe https://esphome.io/components/openthread/). So wie ich es verstanden habe, können damit schnell und einfach Sensoren mit Thread (ohne Matter) realisiert werden, basierend zB. auf dem ESP32-C6 oder ESP32-H2. Das könnte interessant werden...
Richard, ja das Matter Zeugs klingt interessant, sowohl mit Wifi als auch mit Thread. Für Batteriebetrieb kommt eh nur Thread in Frage. Die ESP32-H2 könnten das ja. Ich habe sogar Berichte gefunden die beschreiben das man Coordinator (nennt sich bei Matter wohl Border-Router?) und Router damit bauen kann.