Hallo,
für meine RSS-Grafik verwende ich aktuell ein modifiziertes Modul FHEMWEB, um Diagramme z.B. für 2 oder 3 Tage anzuzeigen.
Ich habe die Funktion FW_calcWeblink wie folgt angepasst:
} elsif($zoom eq "day") {
my $t = $now + $off*86400;
my @l = localtime($t);
$FW_devs{$d}{from} = sprintf("%04d-%02d-%02d",$l[5]+1900,$l[4]+1,$l[3]);
$FW_devs{$d}{to} = sprintf("%04d-%02d-%02d",$l[5]+1900,$l[4]+1,$l[3]+1);
} elsif ($zoom ~~ m/last([\d])day/) { #macht the number in lastXday(s)
my $dayscount = $1;
if (!($dayscount>0)) { #should be greater zero
$dayscount = 1;
}
my @l = localtime($now);
#Debug "1-" . sprintf("%04d-%02d-%02d_%02d",$l[5]+1900,$l[4]+1,$l[3],$l[2]);
my $t = $now + ($off*21600) - (($dayscount)*86400); # qday-offset
@l = localtime($t);
#Debug "2-" . sprintf("%04d-%02d-%02d_%02d",$l[5]+1900,$l[4]+1,$l[3],$l[2]);
$FW_devs{$d}{from} = sprintf("%04d-%02d-%02d",$l[5]+1900,$l[4]+1,$l[3]);
@l = localtime($t+($dayscount+1)*86400);
#Debug "3-" . sprintf("%04d-%02d-%02d_%02d",$l[5]+1900,$l[4]+1,$l[3],$l[2]);
$FW_devs{$d}{to} = sprintf("%04d-%02d-%02d",$l[5]+1900,$l[4]+1,$l[3]);
} elsif($zoom eq "week") {
Zum Aufruf verwende ich dann z.B. ...log&pos=zoom=last2days;off=0
Die "2" in dem Beispiel kann durch Zahlen von 1 bis 9 im Link beliebig ersetzt werden.
Gibt es noch eine elegantere Lösung, Diagramme für z.B. 2 Tage zu generieren? Was ich auch nicht hinbekommen habe, ist ein Diagramm für z.B. die letzten 24h (also abhängig von der aktuellen Zeit).
cu
fossy