[gelöst] Regenmenge der letzten 7 Tage berechnen

Begonnen von rhoffm34, 29 Mai 2022, 22:50:12

Vorheriges Thema - Nächstes Thema

rhoffm34

Hallo zusammen,

ich habe ein Reading "RegenGesamtMm" in dem die tägliche Regenmenge aufsummiert wird. Dieses Reading wird um 00:00 Uhr auf null gesetzt.

Ich möchte gerne die Regenmenge der letzten 7 Tage mit diesem Reading ermitteln. Ich denke das ich das mit einem at, das täglich um 23:59 ausgeführt wird, realisieren kann. Ich weiß aber nicht wie ein aufsummieren der letzten 7 Tage umgesetzt wird. Also sieben Tage "RegenGesamtMm" aufsummieren und den achten Tag löschen.

Kann jemand helfen? Oder vielleicht hat jemand einen besseren Ansatz.

Danke

Damian

Wenn du immer die letzten 7 Werte addiert haben willst, dann musst du dir die auch merken. Wenn du aber nur z. B. montags die Summe der letzten Woche haben willst, dann musst du dir nur einen Wert merken.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rabehd

Als erstes würde ich mal die tägliche Regenmenge vor dem null setzen wegschreiben. Wenn Du in eine Datenbank loggst, dann kann Du Dir die Summe über den Zeitraum auch da rausholen.
Auch funktionierende Lösungen kann man hinterfragen.

DetlefR


*23:59:00 {
my $regenmesser="ANPASSEN";
my $vortag=0;
my $tag=0;
my $gesamt=0;
for $tag(1..6){
$vortag=ReadingsNum($regenmesser,"tag_".$tag,0);
readingsSingleUpdate( $defs{$regenmesser},"tag_".($tag-1),$vortag,0);
$gesamt+=$vortag;
}
$vortag=ReadingsNum($regenmesser,"RegenGesamtMm",0);
readingsSingleUpdate( $defs{$regenmesser},"tag_6",$vortag,0);
$gesamt+=$vortag;
readingsSingleUpdate( $defs{$regenmesser},"gesamt",$gesamt,0);
WriteStatefile();
}

Das hier benutze ich, leicht angepasst, um den wöchentlichen Solarertrag darzustellen.

Gruß Detlef


rhoffm34