Klammersetzung in Rules bei "Time cron ..." ?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Klammersetzung in Rules bei "Time cron ..." ?

Beitrag von Steinspiel »

Moin,

Ich kann irgendwie kein passendes Beispiel für die Syntax (genauer:Klammersetzung) bei Verwendung von "Time cron ..." finden

Ich will das die Regel nicht nur von einem bestimmten Ereigniss ausgelöst wird sondern dieses muss auch in einem bestimmten Zeitrahmen passen. Oder muss "Time cron ..." in die "when Bedingung" ?

Code: Alles auswählen

rule "test_cron"
when   
    Item Lampe_1 changed to ON                                        	// wenn Lampe_1 ausgeschaltet wird
then  
    if (Time cron "0 0 14,15,16,17 ? * MON,TUE,WED,THU,FRI") 	// und es ist Wochentags zwischen 14:00 und 17:59
    {        
                        Lampe_2.sendCommand("ON")                                //  wird Lampe_2 eingeschaltet
}
end
Hätte jemand ein kurzes Beispiel für mich?

Danke und einen schönen Restsonntag noch...
bis dann, Steinspiel

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Klammersetzung in Rules bei "Time cron ..." ?

Beitrag von udo1toni »

Da liegt ein Missverständnis vor. Time cron ist ein Trgger. Was Du möchtest, ist eine Eingrenzung auf bestimmte Zeitbereiche, also hier von 14 Uhr bis 18 Uhr, Montags bis Freitags. Das geht so:

Code: Alles auswählen

rule "test_cron"
when
    Item Lampe_1 changed to ON                                                   // wenn Lampe_1 eingeschaltet wird
then
    if(now.getDayOfWeek < 6 && now.getHourOfDay > 13 && now.getHourOfDay < 18) { // und es ist werktags zwischen 14:00 und 18:00 Uhr
        Lampe_2.sendCommand("ON")                                                // wird Lampe_2 eingeschaltet
    }
end
.getDayOfWeek liefert den Wochentag als Integerwert von 1 bis 7, 1 ist Montag und 7 ist Sonntag. .getHourOfDay liefert die aktuelle volle Stunde des Tags, Wertbereich Integer 0 bis 23, also 0:00:00 Uhr -> 0; 23:59:59 -> 23.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

[gelöst] Re: Klammersetzung in Rules bei "Time cron ..." ?

Beitrag von Steinspiel »

Moin,
udo1toni hat geschrieben: 9. Feb 2020 18:17 Da liegt ein Missverständnis vor. Time cron ist ein Trgger. Was Du möchtest, ist eine Eingrenzung auf bestimmte Zeitbereiche,
[...]
Na das war doch mal hilfreich! Du hattest vor einiger Zeit ähnliches bei mir korrigiert, allerdings ohne "DayOfWeek". Ich konnte überhaupt nichts dazu finden deshalb habe ich es wieder mit Cron Jobs versucht, denn dafür gibt es ja Generatoren... ;-)

Danke auch noch mal für die Erklärung, es geht voran... ;) !
bis dann, Steinspiel

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Klammersetzung in Rules bei "Time cron ..." ?

Beitrag von udo1toni »

Time cron ist übrigens immer ein Zeitpunkt, niemals ein Zeitraum (auch wenn man einen Time cron Ausdruck so definieren kann, dass er auf mehrere Zeitpunkte matcht, es bleiben Zeitpunkte.) ;)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten