FHEM Forum

FHEM => Frontends => Thema gestartet von: UliM am 12 Juni 2013, 22:27:39

Titel: weblink htmlCode und Log
Beitrag von: UliM am 12 Juni 2013, 22:27:39
Hallo,
habe ein Modul geschrieben, das perget <device> htmlcodefertigen htmlCode zurückliefert.


Bei Aufruf per get <device> htmlcode erscheint der htmlcode auf der fhem-Seite.


Bei Aufruf mittels define weblink htmlCode get <device> htmlcode erscheint der htmlcode ebenfalls auf der fhem-Seite. Hätte ich nicht so erwartet.


Bei Aufruf mittels define weblink htmlCode {fhem("get <device> htmlcode")} erscheint der gerenderte output auf der fhem-Seite, also nicht der blanke htmlcode. Also genau das, was ich erreichen möchte :)
Jedoch wird der gesamte htmlcode ins Log geschrieben :(

Wie kann ich das umgehen?

Beste Grüße,
Uli
Titel: Aw: weblink htmlCode und Log
Beitrag von: rudolfkoenig am 13 Juni 2013, 08:29:22
>  Jedoch wird der gesamte htmlcode ins Log geschrieben :(

Vermutlich verwendest Du FHEM/HttpUtils.pm/GetFileFromURL($@) oder GetHttpFile($$).
Dann waere GetFileFromURLQuiet($@) vmtl. besser.

Korrektur: $quiet tut nicht das, was ich dachte, wichtiger ist hier die Spezifikation der loglevel als den letzten (== 6.) Parameter zu GetFileFromURL oder GetFileFromURLQuiet
Titel: Aw: weblink htmlCode und Log
Beitrag von: UliM am 13 Juni 2013, 19:12:31
Zitat von: rudolfkoenig schrieb am Do, 13 Juni 2013 08:29>  Jedoch wird der gesamte htmlcode ins Log geschrieben :(

Vermutlich verwendest Du FHEM/HttpUtils.pm/GetFileFromURL($@) oder GetHttpFile($$).
Hi,
nein, weder noch.
Hab in 98_weblink.pm geschaut, daher kann's nicht kommen.

M.E. aus dem AnalyzePerlCommand() in Zeile 127 - das hab ich nich nachverfolgt.
Steckt das in fhem.pl?

Hab mal den logauszug angehängt. Kann Dir bei Inetresse auch das Modul senden, damit Du's selbst ausprobieren könntest - natürlich mit Beschreibung zum Nachvollziehen.
Wenn Du irgendwelche Infos brauchst... welche?

Der Aufruf sieht aus wie in dem letzten code-Kasten meines vorherigen posts.

LG, Uli

Titel: Aw: weblink htmlCode und Log
Beitrag von: UliM am 13 Juni 2013, 19:28:40
...zum Testen:
define xyz weblink htmlCode {fhem("get WEB pathlist")}

Liefert zwar kein html - aber der output landet sowohl auf dem fhem-screen als auch im log..

Gruß, Uli
Titel: Aw: weblink htmlCode und Log
Beitrag von: rudolfkoenig am 14 Juni 2013, 12:19:31
fhem() protokolliert im Log den Rueckgabewert, falls gesetzt, es sei denn, man ruft fhem() mit einem weiteren Parameter ($silent) auf, der wahr ist.

Ziel der Sache ist Fehler in Notify/At zu irgendwo zu protokollieren.

Probier also
{ fhem("get WEB pathlist", 1) }
Titel: Aw: weblink htmlCode und Log
Beitrag von: Predictor am 14 Juni 2013, 16:26:39
Zitat von: rudolfkoenig schrieb am Do, 13 Juni 2013 08:29>  Jedoch wird der gesamte htmlcode ins Log geschrieben :(

Vermutlich verwendest Du FHEM/HttpUtils.pm/GetFileFromURL($@) oder GetHttpFile($$).
Dann waere GetFileFromURLQuiet($@) vmtl. besser.

Korrektur: $quiet tut nicht das, was ich dachte, wichtiger ist hier die Spezifikation der loglevel als den letzten (== 6.) Parameter zu GetFileFromURL oder GetFileFromURLQuiet

Ich habe bis gestern auch mit dem Problem gekämpft.

Das mit dem Loglevel hatte ich testweise auch mal drinn, da erscheint dann tatsächlich nichts mehr im Log - aber eben GAR NICHTS mehr -> im Fehlerfall also blöd.


Bis gestern hatte getHttpFile mit FHEM aufgerufen - und im Log leider immer die ganze XML drinnen (beim Experimentieren war auch mal der KOMPLETTE HTML Code inkl. css im Log, sonst immer nur die XML (war evtl wo ich die URL nicht mit " eingefasst hatte sondern mit ')).
fhem( GetHttpFile("$receiverIP", "/web/message?text=dasisteinText") );

Jetzt rufe ich ganz trivial so auf:
$Test = GetHttpFile("$receiverIP", "$Site$CommandCode");
So habe ich die ganze Seite in der Variable - die noch bearbeiten und das was du willst ins Log ballern mit:
Log 1, "Mein Text: $Test ";

Ich hoffe das hilft dir ein wenig.
Titel: Aw: weblink htmlCode und Log
Beitrag von: UliM am 14 Juni 2013, 18:18:05
Zitat von: rudolfkoenig schrieb am Fr, 14 Juni 2013 12:19Probier also
{ fhem("get WEB pathlist", 1) }

Works like a charm - Danke!
=8-)