Gruppen erstellen
-
- Beiträge: 5
- Registriert: 27. Aug 2018 21:57
Gruppen erstellen
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?
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?
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Gruppen erstellen
Dazu kannst Du Gruppen nutzen
denn dafür sind sie da.
Gegeben sind die Items:
Getzt packen wir diese Items in eine Gruppe:
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

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]" {...}
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) {...}
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:
Code: Alles auswählen
Switch item=gLampen mappings=[OFF="Aus!"]
Zuletzt geändert von udo1toni am 30. Aug 2018 18:24, insgesamt 1-mal geändert.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 109
- Registriert: 18. Aug 2018 11:36
- Wohnort: Alsbach-Hähnlein
Re: Gruppen erstellen
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
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
Openhab3.3.0, openhabian auf Ubuntu, Gigabyte Brix, Z-Wave, Zigbee, Enocean
- TorstenE
- Beiträge: 246
- Registriert: 12. Jan 2022 18:29
- Wohnort: Niederstaufen
Re: Gruppen erstellen
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 ?udo1toni hat geschrieben: ↑30. Aug 2018 18:22 Dazu kannst Du Gruppen nutzendenn dafür sind sie da.
Gegeben sind die Items:Getzt packen wir diese Items in eine Gruppe: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]" {...}
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.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) {...}
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 KonfigurationCode: Alles auswählen
Switch item=gLampen mappings=[OFF="Aus!"]
openHAB 5.0.0 (#4495) auf einem Pi 4 mit openHABian
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Gruppen erstellen
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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- TorstenE
- Beiträge: 246
- Registriert: 12. Jan 2022 18:29
- Wohnort: Niederstaufen
Re: Gruppen erstellen
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 ?
openHAB 5.0.0 (#4495) auf einem Pi 4 mit openHABian
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Gruppen erstellen
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.
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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet