Seite 1 von 1

Erstellung Cron-String aus Einzelparameter

Verfasst: Fr Dez 18, 2020 6:36 pm
von Robert_Mini
Hallo zusammen!

In den Überlegungen zu flexiblen ZSU, kommt man spätestens wenn es um Sommer/Winterzeit geht zum Punkt, dass es ohne Cron nicht zu 100% geht.
Daher stelle ich einen FR, der ermöglichen soll, dass innerhalb einer Logik aus einzelnen Parametern ein Cron-String zusammengebaut wird.

Heißt im Detail:

["ConvertToCron","$sec","$min","$hour","$day","$month","$wday","$Output","$Error"]
$Output ist dann ein String, der als gültige CronExpression in einen Cron Module verwendet werden kann. Error ist false, wenn der String gültig ist, und true, wenn fehlerhaft. Für diesen Fall ist der Output dann "0 0 0 0 0 *".
Eine 0 Referenz erzeugt einen "*" im String.

Beispiele mit $sec=10, $min=12, $hour=5, $day=2, $month=3, $wday=3:

["ConvertToCron","$sec","$min","$hour","$day","$month",0,"$Output","$Error"] liefert für $Output einen String "10 12 5 2 3 *"
["ConvertToCron","$sec","$min","$hour",0,0,0,"$Output","$Error"] liefert für $Output einen String "10 12 5 * * *" => Cron Trigger für 5:12:10

Hintergrund:
Damit könnte man beliebige ZSU bauen, die mit Eingängen von zB. Visu befüllt werden und dann per Cron zum gewünschten Zeitpunkt auslösen und schalten. Das ganze inkl. korrekter Berücksichtigung von Sommer/Winterzeit.

Auch einzelne Tage könnte man damit berücksichtigen, auch wenn man die umfangreicheren Cron-Funktionalitäten zB. 1,2,3 oder 1-3 für den Wochentag nicht nützen kann. Macht aber nichts, weil man diese Strings ohnehin nicht von der Visu so bekommt. Man kann das aber mit localtime umsetzen, weil es um einen Zeitpunkt geht (nämlich den nächsten Schaltpunkt).

Für fixe Schaltzeiten bleibt der Wunsch nach einem String-Eingabeparameter für String-Variablen aufrecht => viewtopic.php?f=77&t=1855

lg
Robert