Seite 1 von 1
Gruppen erstellen
Verfasst: 29. Aug 2018 23:03
von Niktix
Wie kann ich Gruppen erstellen, sodass ich nicht nur eine Lampe steuern im Hab PANEL.
Beispiel:
HABPANEL: Wohnzimmer
Lampe 1
Lampe 2
Lampe 3
Lampe 4
Ich habe es hinbekommen das ich alle im habpanel einzeln steuern kan, aber wie kann ich alle mit einem knopfdruck steuern?
Re: Gruppen erstellen
Verfasst: 30. Aug 2018 18:22
von udo1toni
Dazu kannst Du Gruppen nutzen

denn dafür sind sie da.
Gegeben sind die Items:
Code: Alles auswählen
Switch Lampe_1 "Lampe 1 [%s]" {...}
Switch Lampe_2 "Lampe 2 [%s]" {...}
Switch Lampe_3 "Lampe 3 [%s]" {...}
Switch Lampe_4 "Lampe 4 [%s]" {...}
Getzt packen wir diese Items in eine Gruppe:
Code: Alles auswählen
Group:Switch:OR(ON,OFF) gLampen "Lampen im Wohnzimmer [%d]"
Switch Lampe_1 "Lampe 1 [%s]" (gLampen) {...}
Switch Lampe_2 "Lampe 2 [%s]" (gLampen) {...}
Switch Lampe_3 "Lampe 3 [%s]" (gLampen) {...}
Switch Lampe_4 "Lampe 4 [%s]" (gLampen) {...}
Nun hast Du ein 5. Item, welches Du genau wie ein normales Item verwenden kannst. Im Label zeigt das Item an, wie viele Lampen gerade eingeschaltet sind.
Wenn man ein solches Item nur als "General Aus Schalter" verwenden möchte, sollte man ein passendes Mapping anlegen, damit es nur eine Schaltfläche gibt:
das gleiche gilt natürlich entsprechend im HABPanel, dort dann halt über die grafische Konfiguration
Re: Gruppen erstellen
Verfasst: 13. Sep 2018 11:12
von ollis112
Hallo,
ich hätte da noch eine Frage dazu:
Die Gruppe ist angelegt. Im Habpanel wird aber nur On und Off angezeigt.
Welches widget muss ich denn auswählen, damit ich eine Anzeige z.B "2von4 on" bekomme?
Danke schonmal für die Antwort.
Gruß
Olli
Re: Gruppen erstellen
Verfasst: 25. Aug 2024 09:30
von TorstenE
udo1toni hat geschrieben: ↑30. Aug 2018 18:22
Dazu kannst Du Gruppen nutzen

denn dafür sind sie da.
Gegeben sind die Items:
Code: Alles auswählen
Switch Lampe_1 "Lampe 1 [%s]" {...}
Switch Lampe_2 "Lampe 2 [%s]" {...}
Switch Lampe_3 "Lampe 3 [%s]" {...}
Switch Lampe_4 "Lampe 4 [%s]" {...}
Getzt packen wir diese Items in eine Gruppe:
Code: Alles auswählen
Group:Switch:OR(ON,OFF) gLampen "Lampen im Wohnzimmer [%d]"
Switch Lampe_1 "Lampe 1 [%s]" (gLampen) {...}
Switch Lampe_2 "Lampe 2 [%s]" (gLampen) {...}
Switch Lampe_3 "Lampe 3 [%s]" (gLampen) {...}
Switch Lampe_4 "Lampe 4 [%s]" (gLampen) {...}
Nun hast Du ein 5. Item, welches Du genau wie ein normales Item verwenden kannst. Im Label zeigt das Item an, wie viele Lampen gerade eingeschaltet sind.
Wenn man ein solches Item nur als "General Aus Schalter" verwenden möchte, sollte man ein passendes Mapping anlegen, damit es nur eine Schaltfläche gibt:
das gleiche gilt natürlich entsprechend im HABPanel, dort dann halt über die grafische Konfiguration
Ich weis, das Thema ist schon ein paar Jahre alt, aber geht das auch mit Number Items. D.h. ich möchte zwei Regeler (Aus, 1, 2, 3) gleichzeitig mit einem Gruppenobjekt steuern ?
Re: Gruppen erstellen
Verfasst: 25. Aug 2024 10:24
von udo1toni
Ja, Du musst halt die Gruppe auch als Group:Number definieren, dann sollten zugeordnete Number Items bei einem sendCommand() an das Group Item den Befehl auch ausführen.
Re: Gruppen erstellen
Verfasst: 25. Aug 2024 10:30
von TorstenE
Wie wird sicher gestellt, dass die "Gruppenmitglieder" auch alle den Command ausgeführt haben und den gleichen Status haben ? Oder muss ich das wieder getrennt abfangen ?
Re: Gruppen erstellen
Verfasst: 25. Aug 2024 11:06
von udo1toni
Wenn openHAB die Anweisung sendCommand erhält (egal auf welchem Weg), dann wird dieses sendCommand durchgereicht. Bei Group Items wird es an alle unmittelbaren Member gesendet, bei Items wird es an alle verlinkten Channel weitergesendet.
Zusätzlich wird openHAB für jedes sendCommand automatisch auch ein postUpdate für das betreffende Item erzeugen, hier also zum einen für das Group Item selbst, und da jeder Member ebenfalls ein sendCommand empfängt auch für jeden Member (aber schon losgelöst von der Gruppe)
Wenn Du sicherstellen willst, dass ein Item immer den echten Zustand widerspiegelt, solltest Du für das Item in den Metadaten den Parameter autoupdate auf "false" setzen, dann unterlässt openHAB das automatische postUpdate.
Weiterhin muss dann natürlich sichergestellt sein, dass der verlinkte Channel den Status zuverlässig meldet.
openHAB wird von sich aus lediglich einen einzelnen Befehl senden (bezogen auf ein Item, verlinkt mit einem Channel) und niemals anschließend prüfen, ob der gemeldete Zustand auch zum Befehl passt.
Allerdings kann man z.B. bei mqtt über den Parameter qos (Quality of Service) dafür sorgen, dass der Broker sicherstellt, dass mindestens ein Client den Befehl auch empfangen hat.
Wenn Du also sicherstellen musst, dass ein bestimmter Betriebszustand zuverlässig erreicht wird, musst Du das über eine Rule lösen.