FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Edi77 am 14 November 2020, 00:05:50

Titel: at am letzten Tag des Monats
Beitrag von: Edi77 am 14 November 2020, 00:05:50
Hallo,

Habe da leider nichts konkretes dazu gefunden wie ich wiederholt jeden letzten Tag und Minute eines Monats ein at ausführen kann.
Und jeden ersten Tag eines Monats in der ersten Minute auch wiederholt.

Um genau zu sein will ich damit den Stromverbrauch eines Monats erfassen.
Titel: Antw:at am letzten Tag des Monats
Beitrag von: amenomade am 14 November 2020, 01:11:56
https://forum.fhem.de/index.php/topic,115637.msg1099473.html#msg1099473
Titel: Antw:at am letzten Tag des Monats
Beitrag von: Edi77 am 14 November 2020, 01:37:02
Ui DANKE
Und Monatsanfang?
Titel: Antw:at am letzten Tag des Monats
Beitrag von: amenomade am 14 November 2020, 01:38:21
at *00:00 {if ($mday == 1) {...}}
Titel: Antw:at am letzten Tag des Monats
Beitrag von: Edi77 am 14 November 2020, 01:52:03
DANKE
Titel: Antw:at am letzten Tag des Monats
Beitrag von: betateilchen am 14 November 2020, 10:42:24
An dieser Stelle sei wieder einmal darauf hingewiesen, dass ein at nicht nur hh:mm:ss als Zeitpunkt akzeptiert, sondern auch Werte in der Form YYYY-MM-DDTHH:MM:SS oder auch als Unix timestamps (Sekunden seit 1970).

Der erste und der letzte Tag eines Monats lassen sich sehr einfach berechnen,  dann muss man das at nämlich nicht jede Nacht starten und prüfen, ob der gewünschte Tag erreicht ist.


use Time::Piece;
# Beispiel, um den letzten Tag im November 2020 zu ermitteln
sub month_test {
my $my = '112020';
my $t  = Time::Piece->strptime($my, "%m%Y");
return $t->month_last_day;
}