Seite 1 von 1

Best Practice | Zigbee2MQTT

Verfasst: 10. Jan 2022 12:28
von ./mf
Ich habe Zigbee2MQTT und binde die Zigbee Gerätschaften ganz normal als ein generisches MQTT Thing ein.
Nun gibt es ja noch die HomeAssistant Unterstützung, was die Einbindung vermutlich vereinfachen soll. Die Namen der Things wachsen damit natürlich deutlich an, entsprechend auch die Namen der Channels.

Daher meine Frage #1 ... Macht das Sinn die Things/Items mit dem Z2M HA Support einzubinden, oder weiterhin ganz normal als Generic MQTT Thing?

Dann eine Frage zu den Channels selbst und den damit zu verlinkenden Items.

Hierbei sind ja folgenden Dinge sehr wichtig.
- Type
- Category
- Semantic Class
- Semantic Property

Diese Einstellungen sind ja individuell für den jeweiligen Zweck.

Aktuell verwendet ich diese Settings.

Battery (Prozentanzeige) : Number:Energy / batterylevel / Point / Energy
Voltage (der Batterie zB 3120mV) : Number:Energy / energy / Meaurement / Voltage
Link Quality : Number / qualityofservice / Point / Level

Temperature : Number:Temperature / temperature / Measurement / Temperature
Humidity : Number / humidity / Measurement / Humidity
Pressure : Number:Pressure / pressure / Measurement / Pressure

Contact : Contact / contact / Point / Opening
Motion : Switch / motion / Status / Presence
Illuminance Lux : Number:Illuminance / - / Point / None


Es gibt sicher noch mehr, aber dies sind im Moment die wichtigsten Items, welche ich (wieder) anlegen werde.

Ich habe gelesen und herausgefunden, dass eine Temperatur als Measurement in der MainUI Übersicht auch einem Raum zugeordnet dargestellt wird.

Damit wäre dies meine Frage #2 ... Wie stellt ihr es bei euch ein?

Re: Best Practice | Zigbee2MQTT

Verfasst: 10. Jan 2022 20:14
von udo1toni
Also, die Ladezustandsanzeige kann eigentlich nicht vom Typ Number:Energy sein, sondern dimensionless. Voltage ist ElectricPotential. Immer vorausgesetzt, dass die Channel auch UoM unterstützen.

Re: Best Practice | Zigbee2MQTT

Verfasst: 10. Jan 2022 21:18
von ./mf
Die Channel sollten alle UoM können. Aktuell erstelle ich ja aktuell über das MQTT Generic Thing... Dort gebe ich zB bei Battery die % und bei Voltage mV an.

Deine beiden Vorschläge habe ich hier so umgesetzt .... Das LowBattery erschien mir hier auch logisch und ich habe es gesetzt, statt nur "Point".

Battery : Number:Dimensionless / batterylevel / LowBattery / Energy
Voltage : Number:ElectricalPotential / energy / Meaurement / Voltage

Waren die anderen Punkte soweit in Ordnung? Ich würde es dann einmal komplett richtig einstellen, statt 100x die Things und Items anzufassen, weil ich irgendwas mal wieder vergessen habe... :-D


Was kannst du zu Frage #1 sagen, bzgl der Zigbee Einbindung?

Re: Best Practice | Zigbee2MQTT

Verfasst: 10. Jan 2022 22:59
von udo1toni
Ich halte es so, dass ich jedes physische Gerät als eigenes Thing anlege. Ob ich dann 12 generic mqtt Things habe oder ein Teil davon automatisch erkannt wurde, bleibt sich gleich.
Das ist aber natürlich auch Geschmacksache (wobei die Doku da eindeutig ist - das Thing ist die Abstraktionsschicht der physischen Geräts), es gibt auch Leute, die den gesamten mqtt Bus als ein virtuelles Gerät betrachten - mit dem Nachteil, dass sie unheimlich lange Channel Namen benötigen.

Ich habe viele gleichartige oder gar identische Geräte, z.B. neun SonoffT1-2, die alle als Rollershutter Devices eingerichtet sind. Ich habe entsprechend neun Things, die bis auf die Thing UID, das Label des Things und den Device-spezifischen Teil der Topics identisch sind. Da ich meine Things klassisch über Textdatei anlege, ist das ratz-fatz erledigt. Auch die passenden Items sind weitgehend identisch konfiguriert und ich muss mir überhaupt keine Gedanken machen, welche Channel zu welchem Shutter gehören, da sie immer pro Device als Thing abgebildet sind.
Genauso läuft das bei mir auch mit knx. Ein Bus -> Bridge, mehrere Devices -> mehrere Things.

Re: Best Practice | Zigbee2MQTT

Verfasst: 10. Jan 2022 23:24
von ./mf
Genau so halte ich es auch. Alle physischen Gerätschaften sind ein Thing. Die Dopplung, welche du in der Text Datei machst, mache ich im Main UI über Code. Ich muss nur einmal eine Thing ID und Label vergeben und kann dann die Channel 1:1 kopieren. Genau das habe ich auch mit den ganzen Zigbee Devices gemacht. Ich wüsste auch spontan nicht welchen Vorteil es brächte, wenn man alles aus MQTT kommende als ein virtuelles Device anlegen würde. Das macht auch aus meiner Sicht mehr Probleme als Lösungen.

Meine Frage ist aber mehr, welchen Vorteil es bringt, wenn ich in Zigbee2MQTT die HomeAssistant Unterstützung aktiviere und dann die erkannten Geräte nehme. Es muss ja einen Grund dafür geben, dass Z2M diese Option anbietet. :)

Ich persönlich finde die Namen viel zu lang und würde die Devices weiterhin manuell als GenericMQTT-Thing anlegen.

Re: Best Practice | Zigbee2MQTT

Verfasst: 11. Jan 2022 12:31
von udo1toni
Na, der Vorteil liegt darin, dass man sich keine Gedanken um die ganzen Details machen muss. Man geht in die Inbox und bestätigt das gefundene Gerät.

Re: Best Practice | Zigbee2MQTT

Verfasst: 11. Jan 2022 18:05
von ./mf
... und hat dann eine hässliche Namensgebung und kann die Channel nicht individualisieren. Aus meiner Sicht eher kontraproduktiv. Ich denke, da stimmst du mir zu :)

Re: Best Practice | Zigbee2MQTT

Verfasst: 11. Jan 2022 22:39
von udo1toni
Aber sowas von. :)

Mein Tipp an dieser Stelle: Hardware erkennen lassen und einmal anlegen, Definition kopieren und Thing wieder löschen, Definition nutzen um das Thing manuell anzulegen...