FHEMWEB calcWeblink

Begonnen von fossy, 09 März 2013, 12:40:23

Vorheriges Thema - Nächstes Thema

fossy

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