Hallo Forengemeinde,
unter OH3 gelingt es mir zur Zeit noch nicht, die Rollläden in einer Gruppe zu steuern. Zwar sind die Gruppen erstellt (z. B. gTerrassenansicht bestehend aus 2 Shuttern), allerdings muss dazu nicht noch ein Item erzeugt werden (oder wäre eine Regel sinnvoller)?
Wie habt ihr das gelöst?
Gruß
[gelöst] OH3 Gruppenitem für shutter
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
[gelöst] OH3 Gruppenitem für shutter
Zuletzt geändert von scotty am 25. Apr 2021 02:36, insgesamt 1-mal geändert.
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OH3 Gruppenitem für shutter
openHAB erstellt die GruppenItems automatisch, das semantische Modell nutzt die bekannten Group Items und versieht sie mit speziellen Tags.
Man konnte "noch nie" über ein Group Item ohne Zuhilfenahme einer Rule Rollershutter steuern, das liegt daran, dass ein Rollershutter Item nur den Stauts 0 - 100 kennt, die verwendeten Befehle aber UP, DOWN und STOP sind. Ein solcher Befehl wird nicht an die Member der Gruppe weitergegeben. Du kannst eine einfache Rule verwenden:
Die Rule ssorgt dafür, dass jedes Kommando, wleches vom Gruppenitem empfangen wird, an alle Member weitergeleitet wird.
Man konnte "noch nie" über ein Group Item ohne Zuhilfenahme einer Rule Rollershutter steuern, das liegt daran, dass ein Rollershutter Item nur den Stauts 0 - 100 kennt, die verwendeten Befehle aber UP, DOWN und STOP sind. Ein solcher Befehl wird nicht an die Member der Gruppe weitergegeben. Du kannst eine einfache Rule verwenden:
Code: Alles auswählen
rule "Group received command"
when
Item gTerrassenansicht received command
then
gTerrassenansicht.members.forEach[shutter|shutter.sendCommand(receivedCommand)]
end
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: OH3 Gruppenitem für shutter
Hallo Udo,
zur Zeit fahre ich ja noch 2-gleisig. Unter OH2.5 kann ich die Gruppe "gTerrassenansicht" einerseits über ein Standard-Shutter-Widget steuern und somit die Befehle UP, DOWN und STOP nutzen. Wie erzeuge ich denn die obige Regel, als dsl?
Und weil wir schon mal beim Thema sind, unter OH2.5 verwende ich zwei tolle Regeln, bei deren Erstellung du mir richtig gut geholfen hast:
Seit OH3 versuche ich nach Möglichkeit, nicht die textbasierten Variante zu verwenden. Weil zu befürchten ist, dass die eines Tages nicht mehr unter der Version 3.x läuft.
Nun möchte ich die beiden Regeln natürlich weiter verwenden. Mit Blockly oder ECMAScript habe ich schon einige Kleinigkeiten gemacht, aber diese beiden nun "umzuschreiben", das stellt mich schon vor größere Probleme. Deshalb, kannst du mir dabei noch einmal behilflich sein?
Grüße
Note: Habe deine Antwort erst nach dem 2. Lesen kapiert und daraufhin meinen Text im ersten Block geändert.
zur Zeit fahre ich ja noch 2-gleisig. Unter OH2.5 kann ich die Gruppe "gTerrassenansicht" einerseits über ein Standard-Shutter-Widget steuern und somit die Befehle UP, DOWN und STOP nutzen. Wie erzeuge ich denn die obige Regel, als dsl?
Und weil wir schon mal beim Thema sind, unter OH2.5 verwende ich zwei tolle Regeln, bei deren Erstellung du mir richtig gut geholfen hast:
Code: Alles auswählen
//------------------------------------------------------------------------
// Rollladen Aufwärts, jeden Tag (Donnerstag andere Zeit)
//------------------------------------------------------------------------
rule "Aufwärts"
when
Time cron "0 15 9 ? * MON-WED,FRI-SUN" or
Time cron "0 0 8 ? * THU"
then
logInfo("shutters", "Rollläden fahren hoch!")
gAlleShutters.allMembers.forEach[ m | // Erd- u. Obergeschoss
if (m.name.contains("3"))
m.sendCommand(55) // Galerie auf 55%
else if (m.name.contains("8"))
m.sendCommand(55) // Buero auf 55%
else if (m.name.contains("6"))
m.sendCommand(55) // Schlafen auf 55%
else m.sendCommand(0) // Rest auf 100%
]
end
//------------------------------------------------------------------------
// Rollladen Abwärts, jeden Tag
//------------------------------------------------------------------------
rule "Rollladen runter"
when
Channel 'astro:sun:home:civilDusk#event' triggered START
then
logInfo("shutter", "Rollladen fahren runter!")
gAlleShutters.allMembers.forEach[ m | // Erd- u. Obergeschoss
if (m.name.contains("6"))
m.sendCommand(40) // Schlafen auf 40%
else m.sendCommand(100)
]
end
Nun möchte ich die beiden Regeln natürlich weiter verwenden. Mit Blockly oder ECMAScript habe ich schon einige Kleinigkeiten gemacht, aber diese beiden nun "umzuschreiben", das stellt mich schon vor größere Probleme. Deshalb, kannst du mir dabei noch einmal behilflich sein?
Grüße
Note: Habe deine Antwort erst nach dem 2. Lesen kapiert und daraufhin meinen Text im ersten Block geändert.
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OH3 Gruppenitem für shutter
Nö, das ist vom Tisch.
Es gab vor der Veröffentlichung von OH3.0 solche Befürchtungen (ich habe die auch verbreitet), weil das so angekündigt war. Der Hintergrund dazu war, dass man XTend komplett rausoperieren wollte und befürchtete, dass die Rules DSL dann nicht mehr funktioniert. Das hat sich aber nicht bewahrheitet. Tatsächlich ist die alte Rules DSL komplett ersetzt durch die neue (new generation) Rules DSL, welche aber funktionsgleich ist - mit den Ausnahmen joda und triggeringItem, da es beim einen eine Ablösung durch JavaTime gab und beim anderen triggeringItem nur noch für Member-Trigger zuf Verfügung steht (warum auch immer).
Vielleicht wird die DSL irgendwann mal raus fliegen, aber bisher gibt es keinen gleichwertigen Ersatz (Wohl gibt es Ersatz, der in bestimmten Bereichen besser ist, aber eben keinen, der in allen Belangen der DSL überlegen oder ebenbürtig wäre). Ich spreche hier von Simplizität, was natürlich auch im Auge des Betrachters liegt, aber schau mal, wie ein logInfo() umzusetzen ist, oder ein sendCommand(), oder ein postUpdate(), oder ein createTimer()... oder der Zugriff auf Group Member (eine der absoluten Stärken der DSL)...
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: OH3 Gruppenitem für shutter
Dann hätte ich ja gar nicht umstellen müssen....
Es ist aber auch kein Problem für mich, nun wieder auf "textbasiert" zurück zu gehen. Als Rentner hat man ja genug Zeit. Könntest du mir denn eine Empfehlung aussprechen? Vor allen hätte ich dann mal ganz gerne gewusst, wie die textbasierten Dateien eingefügt werden. Bisher habe ich sie entsprechend dem OH2.5 Muster einfach nur nach OH3... /things, /items /rules u. s. w. kopiert und es gab keine Probleme. Aber, ist das denn die richtige Methode?
Note: Bald hätte ich vergessen zu fragen: wie verhält es sich denn mit der Shutter Rules weiter oben, kann ich die so übernehmen?
Es ist aber auch kein Problem für mich, nun wieder auf "textbasiert" zurück zu gehen. Als Rentner hat man ja genug Zeit. Könntest du mir denn eine Empfehlung aussprechen? Vor allen hätte ich dann mal ganz gerne gewusst, wie die textbasierten Dateien eingefügt werden. Bisher habe ich sie entsprechend dem OH2.5 Muster einfach nur nach OH3... /things, /items /rules u. s. w. kopiert und es gab keine Probleme. Aber, ist das denn die richtige Methode?
Note: Bald hätte ich vergessen zu fragen: wie verhält es sich denn mit der Shutter Rules weiter oben, kann ich die so übernehmen?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OH3 Gruppenitem für shutter
Nein, das ist schon die richtige Methode. Grob gesagt solltest Du die Textkonfiguration einer OH2 Installation unverändert in openHAB3 nutzen können.
Natürlich, wenn Du triggeringItem in einer Rule einsetzt, die nicht mit Member of triggert, musst Du das anpassen, ebenso Joda Time vs. JavaTime.
Und wenn Du V1 Bindings im Einsatz hattest, muss die Konfiguration natürlich auf das Nachfolge-Binding angepasst werden.
Natürlich, wenn Du triggeringItem in einer Rule einsetzt, die nicht mit Member of triggert, musst Du das anpassen, ebenso Joda Time vs. JavaTime.
Und wenn Du V1 Bindings im Einsatz hattest, muss die Konfiguration natürlich auf das Nachfolge-Binding angepasst werden.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: OH3 Gruppenitem für shutter
Danke für die Info, Udo.
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's