Hallo,
ich möchte gerne die FileLog-Monats-Gasverbrauchswerte von diesem und letzten Jahr als Tabelle im FHEMWEB-Frontend anzeigen.
Man kann die Werte auslesen mit
get FileLog_CUL_EM_9_gesamt CURRENT - 2016-01-01 2016-12-31 5:CUL_EM_9.cum_month\x3a::
Hat jemand eine Idee, wie ich die als Tabelle im FHEMWEB anzeigen kann?
Ich fuerchte, da muss man selbst was programmieren.
Entweder ein weblink, was eine Funktion aus 99_myUtils.pm aufruft, oder noch aufwendiger, als Modul
Hi Rudolf,
vielen Dank, habs jetzt wie folgt gelöst, um eine Tabelle der Verbräuche dieses und letztes Jahr zu erhalten:
define wl_gas weblink htmlCode { &printGasverbrauch() }
sub printGasverbrauch() {
my $year = 1900 + (localtime)[5];
my $result="";
my $resultLast="";
my $yearLast=$year-1;
my $count=1;
my %mons = ("1"=>'Jan',"2"=>'Feb',"3"=>'Mar',"4"=>'Apr',"5"=>'May',"6"=>'Jun',"7"=>'Jul',"8"=>'Aug',"9"=>'Sep',"10"=>'Oct',"11"=>'Nov',"12"=>'Dec');
my $header="<table><tr><td><b>Monat</b></td><td><b>$yearLast</b></td><td><b>$year</b></td></tr>";
$result=fhem("get FileLog_CUL_EM_9_gesamt CURRENT - $year-01-01 $year-12-31 5:CUL_EM_9.cum_month\\x3a::");
$resultLast=fhem("get FileLog_CUL_EM_9_gesamt CURRENT - $yearLast-01-01 $yearLast-12-31 5:CUL_EM_9.cum_month\\x3a::");
my @lines = split(/\n/, $result);
my @linesLast = split(/\n/, $resultLast);
pop @lines; pop @linesLast;
foreach my $line (@linesLast) {
$line = sprintf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>",$mons{$count},substr($linesLast[$count-1],20),substr($lines[$count-1],20));
$count++;
}
$result = join('', @linesLast);
return $header.$result."</table>";
}
Frage mich nur, wie ich den den Detaildialog für den weblink reinkomme, wenn ich im room bin, da es keinen Link gibt...
list TYPE=weblink
und anklicken.
gruss
andre
ahh, danke!
Aber es gibt keine Möglichkeit (z.B. attr für weblink) über der dem weblink bzw. der Tabelle im room einen Link zur Detailansicht zu platzieren, richtig?
nein. das geht nicht.
aber wenn du den html code sowieso selber erzeugst kannst du dir doch auch einen solchen link über die tabelle mit einbauen.
gruss
andre
stimmt, danke ;)