ZHA oder Zigbee2MQTT?

Hallo zusammen,

Ich stehe kurz davor, meinen Sonoff Zigbee Stick

Zigbee 3.0 USB Dongle Plus
Model: ZBDongle-E

an meinen auf Proxmox laufenden HomeAssistant anzuschließen.

Welche Integration ist denn nach der hier im Forum vorherrschenden Schwarmintelligenz die Bessere?

In einem YouTube Video, das ich gesehen habe, hieß es, das Zigbee2MQTT mehr unterschiedliche Geräte unterstützt.

Dies steht einer vermutlich besseren Integration von ZHA in HA gegenüber.

Ich habe schon eine Philips HUE Bridge auf Zigbee Channel 11 im Einsatz und möchte diese aufgrund der vielen HUE Leuchten, die ich besitze, auch gerne parallel zum Sonoff Stick weiter verwenden. D.h. Ich muss mit der Integration den Channel des Sticks anpassen können.

Was soll ich nehmen?

Liebe Grüße :vulcan_salute:
Markus

Also beide Möglichkeiten sind sehr gut. Ich selbst nutze Zigbee2Mqtt und würde das auch weiterempfehlen. Bei mir läuft es sehr zuverlässig, ich denke bei ZHA wird es aber nicht sonderlich anders sein.
Z2M installiert man als seperates HA-Addon, während ZHA schon im System integriert ist. Das kann sowohl Vorteil als auch Nachteil sein :slight_smile: Wenn das HA-Core System einen Fehler hat, ist Z2M theoretisch noch erreichbar, dafür ist es aber nicht direkt ins System integriert und es kann zu mehr Fehlern führen, da das Addon seperat entwickelt wird.

Ein weiterer wichtiger Punkt ist die Geräteunterstützung:
In Z2M muss jedes Gerät einzeln von einem User erstellt werden, damit es kompatibel mit Z2M. Bei ZHA werden theoretisch alle Geräte direkt unterstützt, welche bestimmte ZIgbee-Standards nutzen. Z2m untersützt daher momentan mehr Geräte (die auf der Website angezeigt werden können), man ist aber quasi von anderen Usern abhängig, dass diese neue Geräte supporten (kann man theoretisch auch selbst machen - ist aber kompliziert)

Ich hoffe das hilft dir :slight_smile:

3 „Gefällt mir“

@MarzyHA hat es wunderbar zusammengefasst. Nur zur Ergänzung ZHA unterstützt alle zigbee 3.0 Geräte nativ, darunter kann es Probleme geben. Das ist für mich auch der größte Vorteil gegenüber z2m, weil nicht extra immer neue Geräte von den Programmierern angelegt und konfiguriert werden müssen. Bin daher sehr zu frieden mit ZHA, habe aber eigentlich auch nur zigbee 3.0 Geräte in Verwendung.

2 „Gefällt mir“

Habe hier auf zwei Systemen Z2M laufen seit Anfang an und sogar mit einem CC2530 Dongle der ein paar Cent gekostet hat! Läuft alles problemlos über 3 Etagen! Aber wie oben schon geschrieben ist teilweise eine Glaubensfrage für einige! :smiley:

Ich hab hier auch Z2M laufen. Hauptgrund für mich war zum einen das ich einfach mehr positives zu Z2M als zu ZHA gelesen hab, was natürlich auch subjektiv sein kann und zum andern(eigentlich hauptsächlichen) daß ich es nicht mag wenn zu viele, eigentlich unabhängige Dinge innerhalb eines monolitischen Systems laufen. Mögliche Probleme potenzieren sich da einfach…

HA läuft bei mir in einer VM, Z2M und der dazugehörige mosquitto in jeweils eigenen LXCs.

Ja, speziell, aber so ists mir halt lieber.

2 „Gefällt mir“

Finde ich nicht :slight_smile: Ist absolut nachvollziehbar und wird häufig so gemacht. Hat halt den Vorteil, dass wenn HA einen Fehler hat, man trotzdem noch die ganzen zigbee Geräte steuern kann (per Z2M UI, …).

1 „Gefällt mir“

Die Lösung mit Z2M als Proxmox LXC gefällt mir.

Hier habe ich eine detaillierte Anleitung gefunden:

Ich bin wohl doch nicht ganz so seltsam wie ich dachte :see_no_evil:

Das ganze ist ja aber auch wirklich total einfach.

Es gibt sowohl für Z2M als auch für mosquitto hier Installationsscripte

Die beiden Container brauchen kaum RAM/CPU und so gut wie keinen Platz. Die fallen also kaum auf im System.

Die Config für Z2M und die MQTT Integration in HA sind dann ein Kinderspiel.

Bei den Addons gibt es noch den Z2M Proxy, damit kann man dann Z2M direkt aus HA heraus aufrufen, wenn man das möchte.

So ist alles schön getrennt und wenns mal wo knirrscht oder ein Update in die Hose geht fällt nicht gleich alles aus…

Ich kanns nur empfehlen, der kleine Mehraufwand für die Administration ist es mir wert.

Ich habe es gestern Abend probiert Zigbee2MQTT als LXC unter Proxmox zum Laufen zu bekommen und habe nach mehreren Stunden erstmal aufgeben.

Anders als in dem von mir weiter oben im Thread zitierten Helperskript, habe ich dazu das „offizielle“ Skript von der proxmox Helfer Skript Seite genommen und dabei darauf geachtet, den Container privilegiert zu machen, um vermeintlich problemlos meinen Sonoff Stick, den ich zuvor noch auf die aktuelle Firmware geflasht hatte, in den Container durchzureichen.

Auf demselben proxmox läuft inzwischen auch ein privilegierter FHEM LXC, der ohne weiteres Zutun auf der Proxmox GUI alle drei USB-Sticks (Z-Wave, Duofern, LaCrosse) sofort gesehen hat, was ja meinem Verständnis nach an seiner privilegierten Eigenschaft liegt.

Wie ist das, wenn nun ein weiterer privilegierter LXC (in diesem Fall der von Zigbee2MQTT) dazukommt?

Die können sich ja schwerlich alle angesteckten USB-Sticks teilen, oder?

Lange Rede kurzer Sinn: beim Versuch ZigBee2MQTT in seinem LXC nach Anpassung der Configuration.yml zu starten, wurde der Sonoff stick nicht gefunden, obwohl ich seinen „/dev/serial/by-id“-Pfad entsprechend eingetragen hatte.

Sollte ich den LXC nochmal neu machen, diesmal nicht privilegiert und den Stick mit proxmox Bordmitteln durchreichen?

Nein, teilen können sich die Container die USB-Sticks meinem Verständnins nach nicht, wüsste zumindest nicht wie das gehen sollte.

Was mir spontan einfällt ist der adapter Parameter in der Z2M Config, den musst du je nach Typ deines Sticks auf den richtigen Wert setzen. Für die Sonoffs müsste das zstack oder ember sein, je nach Chipsatz. Bisher war der Parameter glaube ich optional, ist er jetzt aber soweit ich weiß nicht mehr.

Ich benutze einen SMLIGHT SLZB-06 über LAN, daher weiß ich leider nicht so wirklich wie sich das mit USB-Sticks verhält. Wenn ich aber die diversen Anleitungen und Forenbeiträge dazu richtig interpretiere ist der Weg mit privilegiertem Conatiner und „/dev/serial/by-id“-Pfad der allgemein genutze und empfohlene.

Ich würde mal versuchen nur den Sonoff-Stick anzustecken und den FHEM Conatiner, wenn das geht, herunterzufahren. Ich kenne FHEM nicht, aber vielleicht ist das ja so intelligent und findet den Sonoff-Stick selber, dann hätte Z2M keine Chance.

2 „Gefällt mir“

vollkommen richtig, bitte immer die den Pfad mit direkter ID angeben. Beim Standardpfad kommt es oft zu Problemen.

Aber wie verhält es sich mit USB-Sticks, wenn man mehr als einen privilegierten LXC in Proxmox hat?

Wie weist man dann die Sticks passend den jeweiligen LXCs zu?
Da wird man dann vermutlich die Einstellungen von Proxmox selber benötigen, oder?

Das kann ich dir leider nicht beantworten, weil ich kein Proxmox verwende.

Ist das denn wirklich nötig?
Kann man nicht irgendwie sicherstellen das nur einer der Container den jeweiligen Stick auch tatsächlich benutzt? Das müsste doch eigentlich reichen.

Z2M nimmt ja nicht irgendeinen Stick sondern nur den der in der Config steht. Ist das bei FHEM nicht auch möglich? Dann kämen die sich doch nicht in die Quere. Falls doch, bliebe denke ich wirklich nur die Möglichkeit es mit unpriviliegierten Containern zu machen, dann aber für beide.

Ich habe es jetzt so gemacht:

  • den alten LXC von zigbee2mqtt gelöscht
  • mir in der Konsole von proxmox datacenter selber den Bezeichner vom Stick unter /dev/serial/by-id/ rauskopiert
  • dann über das proxmox helper Skript den LXC von z2m UNPRIVELIGIERT installiert
  • nach der Installation in der proxmox GUI unter Resources → add → Device passthrough den zuvor kopierten pfad zum Stick angegeben
  • und schließlich noch die configuration.yml entsprechend angepasst.
  • und jetzt läuft es :slight_smile:
    Sehr geholfen hat mir dabei das Video von Matthias Kleine:
    https://youtu.be/FlMuxDABXEI?si=HPqSPyAmaFTgr8F6
    Vielen Dank dafür!
2 „Gefällt mir“

Danke, gut zu wissen falls mans mal braucht.

Mich würde interessieren ob dein zweiter Container, der privilegierte, den Stick trotzdem sieht. Müsste er doch eigentlich oder denke ich da falsch. Falls ja könnte es doch dann zu Problemen kommen wenn der drauf zugreift obwohl er es nicht sollte. Nur ein Gedankenspiel… bin neugierig :upside_down_face:

Ja, im container von FHEM ist der Zigbee Stick schon sichtbar.
Aber da in FHEM kein define mit dem Stick gemacht wird, ist FHEM der Stick egal

Danke :blush:

Das machts jetzt aber um so seltsamer das es mit Z2M im privilegierten modus nicht funktoniert hat wenn der den Stick gesehen hat… :thinking:

Naja, jetzt läuts ja…