Da es inzwischen mehrere Module gibt, die mit Prozessen in Intervallen periodischen Abständen arbeiten (at, Calendar, HTTPMOD, ...) und ein Attribut alignTime anbieten, ist inzwischen auch die Berechnung der nächsten Ausführung aus $interval und $alignTime mehrfach umgesetzt und in den Modulen enthalten.
Wäre es nicht sinnvoll, eine entsprechende Berechnung als zentrale Funktion von FHEM bereitzustellen? Wahrscheinlich werden künftig noch mehr Module auftauchen, die zeitbasiert arbeiten. Dann muss man nicht jedes Mal das Rad neu erfinden.
Habe nichts dagegen, du musst aber bis naechste Woche warten.
Danke!
Bloss keine Hektik. Das ging jetzt so lange ohne, da kommt es auf eine Woche bestimmt nicht an.
Ab sofort gibt es in fhem.pl ein computeAlignTime($timeSpec, $alignSpec, $triggertime).
$timeSpec ist der Intervall (z.Bsp. 01:00 fuer einmal in der Stunde)
$alignSpec ist die Zeit, wann es auch ausgefuehrt werden soll (z.Bsp. 12:00)
Beide Werte werden mit GetTimeSpec analysiert, Format ist also HH:MM, HH:MM:SS oder {perlfunc()}
$triggertime ist optional, und bezeichnet die bisher berechnete naechste Ausfuehrungszeit ohne alignTime. Falls nicht gesetzt, wird die aktuelle Zeitpunkt verwendet. Vermutlich komplett ueberfluessig, ich bin nur unsicher, ob ich durchs Weglassen im at nicht irgendetwas aendere, und das Risiko wollte ich nicht eingehen.
Vielen vielen Dank Udo und Rudi. Genau das brauche ich aktuell. Tolle Arbeit.
Grüße