[GELÖST] Wie funktioniert Time cron?

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

Antworten
thomas_w

[GELÖST] Wie funktioniert Time cron?

Beitrag von thomas_w »

Time cron ist mir ein Rätsel...

Beispiel aus openHAB Forum ( https://community.openhab.org/t/datetim ... sion/54266 ) siehe #11 Get String from Joda

Code: Alles auswählen

Time cron "0 */1 * ? * *" // every minute. Source: https://crontab.guru/examples.html
Wenn ich mir dies dann hier anschaue https://crontab.guru/every-minute sieht es so aus

Code: Alles auswählen

Time cron "* * * * *" 
timecron.JPG
Verstehe ich nicht, dass sollte doch gleich sein?

Danke und Grüße
Thomas
von udo1toni » 25. Jun 2020 20:40
Ja, falls sie zu den geraden Stunden zur vollen Stunde triggern soll, lautet es

Code: Alles auswählen

Time cron "0 0 0/2 * * ?"
Wenn es zur ungeraden Stunde triggern soll, hieße es

Code: Alles auswählen

Time cron "0 0 1/2 * * ?"
Gesendet von meinem SM-G973F mit Tapatalk

Gehe zur vollständigen Antwort
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von thomas_w am 26. Jun 2020 18:06, insgesamt 1-mal geändert.

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

Re: Wie funktioniert Time cron?

Beitrag von udo1toni »

[emoji615] openHAB nutzt quartz cron. Quartz cron ist sekundengenau, ansonsten aber sehr ähnlich zu crontab.
Einmal pro Minute: "0 * * * * ?"
Das Fragezeichen muss exakt einmal im Ausdruck vorkommen, und zwar entweder als Tag im Monat oder als Tag in der Woche. Das soll dem Anwender verdeutlichen, dass nicht beide Felder gleichzeitig eingeschränkt werden können. ( Man kann also nicht ohne Umwege nur am Freitag, dem 13. triggern lassen)


Gesendet von meinem SM-G973F mit Tapatalk

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

thomas_w

Re: Wie funktioniert Time cron?

Beitrag von thomas_w »

udo1toni hat geschrieben: 21. Jun 2020 14:17 [emoji615] openHAB nutzt quartz cron. Quartz cron ist sekundengenau, ansonsten aber sehr ähnlich zu crontab.
Einmal pro Minute: "0 * * * * ?"
Das Fragezeichen muss exakt einmal im Ausdruck vorkommen, und zwar entweder als Tag im Monat oder als Tag in der Woche. Das soll dem Anwender verdeutlichen, dass nicht beide Felder gleichzeitig eingeschränkt werden können. ( Man kann also nicht ohne Umwege nur am Freitag, dem 13. triggern lassen)
Das Thema / Syntax von Time cron ist kompliziert zu verstehen. Mich wundert nur, dass dann das openHAB Tutorial auf CronTab als Beispiel verweist.
https://community.openhab.org/t/datetim ... sion/54266

Danke und Grüße
Thomas

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

Re: Wie funktioniert Time cron?

Beitrag von udo1toni »

Das Thema / Syntax von Time cron ist kompliziert zu verstehen. Mich wundert nur, dass dann das openHAB Tutorial auf CronTab als Beispiel verweist.
https://community.openhab.org/t/datetim ... sion/54266
Das Tutorial ist an der Stelle ja auch gut. [emoji6]
Es geht in dem Tutorial um völlig andere Dinge, da rutschen solche Fehler schon mal durch. In der offiziellen Doku steht es jedenfalls korrekt: https://www.openhab.org/docs/configurat ... d-triggers

Gesendet von meinem SM-G973F mit Tapatalk

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

thomas_w

Re: Wie funktioniert Time cron?

Beitrag von thomas_w »

udo1toni hat geschrieben: 21. Jun 2020 14:17 [emoji615] openHAB nutzt quartz cron. Quartz cron ist sekundengenau, ansonsten aber sehr ähnlich zu crontab.
Einmal pro Minute: "0 * * * * ?"
Das Fragezeichen muss exakt einmal im Ausdruck vorkommen, und zwar entweder als Tag im Monat oder als Tag in der Woche. Das soll dem Anwender verdeutlichen, dass nicht beide Felder gleichzeitig eingeschränkt werden können. ( Man kann also nicht ohne Umwege nur am Freitag, dem 13. triggern lassen)
Dann gilt diese Doku: http://www.quartz-scheduler.org/documen ... igger.html
Ich finde keinen "Draht" zu dieser Cron Syntax. Regex habe ich auch nie verstanden.

Wenn die Rule alle 2 Stunden feuern soll, wie wäre dann die Einstellung?
0 0 0/2 * * ?

Danke und Grüße
Thomas

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

Re: Wie funktioniert Time cron?

Beitrag von udo1toni »

Ja, falls sie zu den geraden Stunden zur vollen Stunde triggern soll, lautet es

Code: Alles auswählen

Time cron "0 0 0/2 * * ?"
Wenn es zur ungeraden Stunde triggern soll, hieße es

Code: Alles auswählen

Time cron "0 0 1/2 * * ?"
Gesendet von meinem SM-G973F mit Tapatalk

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

oekonomy
Beiträge: 12
Registriert: 13. Mai 2021 17:51
Answers: 0

Re: [GELÖST] Wie funktioniert Time cron?

Beitrag von oekonomy »

Hi,

ich hatte ein paar cronjobs in den Rules eingetragen. Diese, nach dem ich sie nicht mehr brauchte, gelöscht.
Sie sind aber immer noch da. :shock:
Wie kann ich mir diese crontabs anzeigen lassen? mit crontab geht es nicht...

Digitale Grüße
Enrico

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

Re: [GELÖST] Wie funktioniert Time cron?

Beitrag von udo1toni »

Wie meinst Du das?

crontab gehört zum Betriebssystem und hat mit openHAB nichts (!) zu tun.

An welcher Stelle hast Du in den Rules cron jobs angelegt?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

oekonomy
Beiträge: 12
Registriert: 13. Mai 2021 17:51
Answers: 0

Re: [GELÖST] Wie funktioniert Time cron?

Beitrag von oekonomy »

cronjob.png
Ich trage Zeiten nun mit spezifischer Zeit ein.
Früher mit diesen Cronjobs (jetzt gerade als Beispiel an zweiter Stelle hinzugefügt).
Und diese Cronjobs scheinen noch da zu sein.
Mit "crontab -l" für openhabian und root gibt es folgende Meldung: "no crontab for openhabian" bzw. root

Wird der cronjob vielleicht unter einem anderen User gespeichert?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: [GELÖST] Wie funktioniert Time cron?

Beitrag von udo1toni »

oekonomy hat geschrieben: 3. Jun 2024 20:14 Ich trage Zeiten nun mit spezifischer Zeit ein.
Ja, nein...
oekonomy hat geschrieben: 3. Jun 2024 20:14 Früher mit diesen Cronjobs (jetzt gerade als Beispiel an zweiter Stelle hinzugefügt).
Und diese Cronjobs scheinen noch da zu sein.
Eventuell ist einfach ein Rest der Konfiguration hängen geblieben, das kommt vor. Einer der Nachteile der UI Konfiguration, da kann man nicht eben mal in die entsprechende Datei gehen und das von Hand löschen. Mein Tipp: Rule löschen und neu anlegen (unter anderem Namen)
oekonomy hat geschrieben: 3. Jun 2024 20:14 Mit "crontab -l" für openhabian und root gibt es folgende Meldung: "no crontab for openhabian" bzw. root

Wird der cronjob vielleicht unter einem anderen User gespeichert?
Wie oben erwähnt: das hat genau gar nichts mit crontab zu tun. Noch nicht mal die Konfiguration ist die gleiche (crontab arbeitet minutengenau, quartz cron arbeitet sekundengenau) Vergiss bitte crontab.

Abgesehen davon läuft openHAB unter dem User openhab, nicht unter dem User openhabian. Macht aber hier keinen Unterschied, auch der User openhab hat mutmaßlich keinen Eintrag in der crontab, schon gar nicht bezogen auf irgendwelche Rules.

Alles, was Du konfigurierst, wird vom in openHAB eingebauten Scheduler verarbeitet. Die verschiedenen Varianten (Time cron bzw. time is) dienen lediglich den unterschiedlichen Gewohnheiten der Anwender, die cron Schreibweise ist offensichtlich zu komplex. Es wird aber die selbe (!) Engine angesteuert, wäre ja auch doof, zwei unterschiedliche Softwares für die gleiche Aufgabe zu schreiben und parallel zu betreiben...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten