Nie waren Gruppen mächtiger als in OpenHab 3! Aggregation, Persistenz, Sitemap, Charts und viele weitere Dinge arbeiten ausgezeichnet mit Gruppen und die Verwaltung der Gruppenmitglieder ist komfortabel. Wir legen zusammen eine Gruppe an und kommen an allen (mir bekannten) Themen vorbei.
Gruppe = Item
So einfach ist das!
- In der OH Admin Oberfläche auf -> Items
- Neues anlegen
- Einstellen: Type = Group
Hat man das so eingestellt kommt schon die erste Besonderheit: „Members Base Type“. Also, welchen Datentyp haben die Mitglieder dieser Gruppe. Sind es ON/OFF Schalter? Dimmer? Nummern? Texte?
Nach dem anlegen der Gruppe können Items zur Gruppe hinzugefügt werden. Das funktioniert ganz intuitiv über den Bereich „Direct Group Members“.
Hier gibt es aber einen kleinen netten Trick: Drückt man vorne auf das rote Symbol, dann öffnet sich die Baumansicht des eigenen Modells. Das ist sehr übersichtlich und hilfreich um sich zu orientieren.
Drückt man aber auf Members, so erscheint nur eine Liste aller Items mit Suchfunktion. Weiß man was man will, ist man damit schneller! Hier beides im Vergleich:
Soviel zum Erstellen einer Gruppe und zur Pflege der Mitglieder.
Die Aggregation (ist toll)
Öffnet man die angelegte Gruppe im Bearbeitungsmodus, so erscheint nun unter dem „Members Base Type“ die „Aggregate Function“. Hier kannst du, abhängig von deinem Base Type auswählen, wie OpenHab die Werte der Mitglieder der Gruppe automatisch verrechnen soll. Das Ergebnis wird dann direkt als Gruppenwert angezeigt.
Ein Beispiel macht es klarer:
Meine Gruppe umfasst alle CO2 Werte des Hauses und aggregiert diese auf den Durchschnittswert. Der CO2 Spiegel des Hauses beträgt also hier in diesem Beispiel 1004 ppm. Ändert sich ein Wert eines Mitglieds der Gruppe, so ändert sich auch der aggregierte Gruppenwert automatisch.
Ist das nicht toll?
Gruppen in Sitemaps und Charts
Wer gerne die OpenHab Standard UI verwendet und mit den Charts arbeitet (ich tue das), der kann diese Gruppen auch nutzen, um die Werte der Gruppenmitglieder sehr einfach in Charts darstellen zu lassen:
Hier seht ihr ein Beispiel der Sitemap, dabei erzeugt diese einfach Zeile „Chart item=gruppe_luftquali_co2“ ein Chart der Items der Gruppe. Es sieht so aus:
Auch zu sehen ist im Beispiel die Zeile „Group icon=“carbondioxide“ item=gruppe_luftquali_co2″. Diese führt in der Sitemap dazu, dass ich mit Klick darauf die Teilnehmer der Gruppe und deren Werte sehen kann. Dargestellt als Liste. Ich muss nichts weiter dafür tun.
Gruppen zur Steuerung der Persistenz
Es ist nicht sinnvoll jeden Wert zu speichern. Das führt sehr schnell dazu, dass die Datenbank voll oder langsam wird. Und es ist auch nicht sinnvoll jeden Wert nach einem Neustart zu laden. Um hier möglichst einfach die Kontrolle (und Übersicht) zu behalten, bieten sich erneut – du ahnst es – Gruppen an:
Ich verstehe nicht, wieso man diesen Teil noch immer nur per File anpassen kann. Aber sei es drum. Im Persistenz-Config-File die Items im einzelnen zu hinterlegen macht ja überhaupt keinen Sinn.
Deswegen habe ich mir zwei Gruppen anleget. Eine für Items die gespeichert werden sollen, und eine für’s initiale Laden der Items nach einem Neustart.
Über die Funktionen der Oberfläche lassen sich damit ganz einfach die Items bestimmen, nachsehen, ändern. Jederzeit transparent. Und eine Vererbungsfunktion gibt es auch. Wähl man eine Ebene an, dann wird die direkte Ebene darunter auch mit referenziert.
Meine Persistenzgruppe umfasst 75 Items, aber Achtung, hier im Beispiel ist die Gruppe „MQTTWetter“ ausgewählt. Die Werte darunter werden aber auch persistiert.
Zum Thema Persistenz in OpenHab 3 habe ich übrigens einen eigenen Beitrag geschrieben: https://getmob.de/2021/03/18/openhab-3-0-persistenz-in-drei-schritten-einrichten/
Noch keine Kommentare