Hi,
anbei ein Patch für 98_weblink.pm für den weblinktyp "link".
Damit ist es nun auch möglich Perl Expressions auszuwerten. Zb. um im Link als Parameter immer das aktuelle Datum zu übergeben.
Ich benötige es, um analog zu den FileLog Anzeigen eine DbLog Anzeige zum Device für den aktuellen Tag/Woche anzuzeigen.
Problem allerdings noch: wenn ich den link im pgm2 ohne Zeilenumbruch definiere funktioniert es, mit Zeilenumbruch wird die Expression nicht interpretiert
So funktioniert es: {my $ttt="/fhem?cmd=get+DbLog+-+-+2013-01-01+2013-12-31+Pumpe%3Adata";$ttt;}
Das kommt im HTML raus: <a href="/fhem?cmd=get+DbLog+-+-+2013-01-01+2013-12-31+Pumpe%3Adata">Pumpe_Log</a>
Und so nicht: {\ my $t="/fhem?cmd=get+DbLog+-+-+2013-01-01+2013-12-31+Pumpe%3Adata";\ $t;\ }
Dann wird nämlich der Link uninterpretiert und auch noch völlig durcheinander ausgegeben: <a }"="" $t;\="" fhem?cmd="get+DbLog+-+-+2013-01-01+2013-12-31+Pumpe%3Adata";\" href="{\
my $t=">Pumpe_Log</a>
--- ../98_weblink.pm 2013-05-07 08:36:30.000000000 +0200
+++ 98_weblink.pm 2013-05-07 08:37:18.000000000 +0200
@@ -128,6 +128,7 @@
$ret = $link;
} elsif($wltype eq "link") {
+ $link = AnalyzePerlCommand(undef, $link) if($link =~ m/^{(.*)}$/);
$ret = "<a href=\"$link\" $attr>$d</a>"; # no FW_pH, open extra browser
} elsif($wltype eq "image") {
Jemand der Wissenden eine Idee?
> Ich benötige es, um analog zu den FileLog Anzeigen eine DbLog Anzeige zum Device für den aktuellen Tag/Woche anzuzeigen.
Fuer solche Zwecke sollten die neuen FW_summaryFn / FW_detailFn Funktionen verwendet werden.
Hi Rudi,
der "patch" bezieht sich ja auf die Funktion "weblink_FwFn($$$$)" die widerrum ein Kind von "FW_detailFn" ist.
Anonsten versteh ich noch nicht so ganz... :(
Meine Meinung: Wenn man fuer DbLog spezielle Sachen haben will, dann sollte man das in DbLogs summaryFn einbauen, und nicht in weblink, um danach den Benutzer zu bitten, dass er eine Perl-Zeile als Attribut setzt.
hmm, was ich möchte ist ja, das sich wie bei Filelog in der Textansicht, sich das Log präsentiert.
Oder ich habe die fn_detailFn noch nicht verstanden. mehr als einen Thread hier im Forum hab ich noch nicht gefunden
> hmm, was ich möchte ist ja, das sich wie bei Filelog in der Textansicht, sich das Log präsentiert.
Dann am besten das summaryFn/DetailFn bei FileLog abschauen, und es angepasst in DbLog.pm nachbauen.
> mehr als einen Thread hier im Forum hab ich noch nicht gefunden
Richtig, ist aber auch nicht so schwierig:
- FW_summaryFn liefert das, was als Status in der Raum-Ansicht angezeigt wird zurueck.
- FW_detailFn etwas, was vor Readings/Attribute in Detail-Ansicht angezeigt wird.
Man kann auch die gleiche Funktion fuer beide Aufgaben verwenden.
Hi Rudi,
ein Argument hab ich noch was gegen dem Einbau im DbLog spricht.
Und zwar ist DbLog nur 1x im ganzen FHEM definiert was mittels Regexp alles loggt. Ganz im Gegensatz zum Filelog welches ja i.d.R. pro Device definiert ist.
Ich möchte aber "Log-Seiten" pro definierbarem Device haben. Das widerrum würde für die weblink Variante sprechen.
Hast du unter diesem Umstand auch einen Ratschlag?
Das uebliche Verfahren fuer solche Faelle sind Attribute, wie z.Bsp. das webCmd oder devStateIcon von FHEMWEB.