[gelöst] Ich hasse CRON

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Hoggle
Beiträge: 221
Registriert: 16. Dez 2017 10:49
Answers: 0

[gelöst] Ich hasse CRON

Beitrag von Hoggle »

Wieso muß das so kryptisch sein? Ich lese die Uhrzeit doch auch nicht rückwärts :twisted:

Egal, kann mir jemand hier helfen? Ich möchte eigentlich etwas gaaaannnzzz einfaches:

Wenn der Lichtsensor unter 500 LUX geht, dann soll eine kleine Lampe im Flur angehen und das jeden Tag.
Das klappt auch so wie es soll.
Jetzt soll die Lampe in der Woche um 23.59, oder meinetwegen auch 0.00 Uhr aus gehen und Freitags und Samstags um 1.00 Uhr
Eeeeiiiiigentlich dachte ich, das das mit diesen Rules funktionieren sollte:

Code: Alles auswählen

rule "Licht im Flur in der Woche ausschalten"
    when
        Time cron "0 59 23 * * 0,1,2,3,4 ?"
    then
        ZWaveZeitschaltuhr_SwitchBinary.sendCommand(OFF)
	end

rule "Licht im Flur am Wochenende ausschalten"
    when
        Time cron "0 59 0 * * 5,6 ?"
    then
        ZWaveZeitschaltuhr_SwitchBinary.sendCommand(OFF)
	end
Aber es kommen die folgenden Fehler:

Code: Alles auswählen

2018-11-19 19:01:13.654 [ERROR] [e.internal.engine.RuleTriggerManager] - Cannot create timer for rule 'Licht im Flur in der Woche ausschalten': CronExpression '0 59 23 * * 0,1,2,3,4 ?' is invalid.

2018-11-19 19:01:13.658 [ERROR] [e.internal.engine.RuleTriggerManager] - Cannot create timer for rule 'Licht im Flur am Wochenende ausschalten': CronExpression '0 59 0 * * 5,6 ?' is invalid.
Das komische ist, das ich mir das mit dem Cron aus einem Blog "geliehen" habe und dort hieß es, alles sei super.
Jetzt war dieser Blog schon etwas älter, aber es hat sich doch nix an dem Cron-Befehl geändert, oder?
Zuletzt geändert von Hoggle am 21. Nov 2018 09:57, insgesamt 1-mal geändert.
RPI4/8GB RAM mit openhabian (bullseye) - Kernel Linux 6.1.21-v8+ - openhab 4.0.2 - Release Build - HM-CCU3 - ZWave UZB-USB Stick - Wifi-LED-Stripes - Logitech Harmony Hub - AVM Fritzbox - Enigma2-Box - Gardena HUB - Fronius-Binding - Miele@Home

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

Re: Ich hasse CRON

Beitrag von udo1toni »

Ja, das ist kein Wunder, da Deine cron-Definition fehlerhaft ist.

Die Time cron, Definition hat 6 Werte, optional 7 Werte. Die Definition sieht so aus: "ss mm hh TT MM W JJJJ"
wobei ss für die Sekunde, mm für die Minute, hh für die Stunde, TT für den Tag im Monat, MM für den Monat im Jahr, W für den Wochentag und JJJJ für das Jahr steht. Das Jahr ist optional. Es muss exakt ein Fragezeichen in der Definition vorkommen, und zwar entweder für den Tag im Monat oder für den Wochentag. Man kann also keine Cron-Definition schreiben, die nur dann triggert, wenn (z.B.) der 3. des Monats auf einen Dienstag fällt.

Du schreibst das Fragezeichen an 7. Stelle, das ist das Jahr. Da Du den Wochentag vorgibst, muss zwingend an 4. Stelle ein Fragezeichen stehen, für den Tag.
Der Wochentag ist entweder als MON,TUE,WED,THU,FRI,SAT,SUN oder alternativ als 1-7 anzugeben. Korrekt wäre also

Code: Alles auswählen

Time cron "0 59 23 ? * 1-5"
und

Code: Alles auswählen

Time cron "0 59 0 ? * 6-7"
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Stefan Otten
Beiträge: 73
Registriert: 11. Nov 2018 06:51
Answers: 0

Re: Ich hasse CRON

Beitrag von Stefan Otten »

Ich kann das hier Empfehlen:
https://www.freeformatter.com/cron-expr ... uartz.html

Grüße

killercorny
Beiträge: 17
Registriert: 6. Jan 2018 01:19
Answers: 0

Re: [gelöst] Ich hasse CRON

Beitrag von killercorny »

Ich nutze immer http://www.cronmaker.com/
Das erstellt einen mit openhab kompatiblen cron Ausdruck. Ich hatte gestern das selbe Problem und es war dann auch ein Fragezeichen statt dem Stern zu verwenden.

Gesendet vom Redmi Note 5


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

Re: [gelöst] Ich hasse CRON

Beitrag von udo1toni »

Beide Generatoren sind wohl geeignet, allerdings sollte man sich auch die Doku von Quartz zumindest mal anschauen, um nette Spezialitäten nicht zu verpassen, z.B. vorletzter Freitag im Monat. http://www.quartz-scheduler.org/documen ... igger.html
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten