Hallo,
ich habe nichts dazu gefunden, daher vermute ich, daß es dieses Feature noch nicht gibt:
Fileplots sollen sich im Frontend automatisch aktualisieren, damit Graphen fortgeschrieben werden, ohne daß die Webseite neu geladen werden muß.
Ich vermute, daß dies über FW_longpoll() in fhemweb.js gelöst werden könnte, indem das Dokument regelmäßig nach embedd src mit type "image/svg+xml" abgesucht wird, und nach Ablauf einer bestimmten Zeit der Link aktualisiert wird. Hat das schon jemand versucht?
Viele Grüße
Boris
Auf diese Idee bin ich auch schon gekommen, leider ist das entweder mit einem "refresh" zu loesen (weder elegant noch Bandbreitensparend), oder man muss das SVG-Modul in JavaScript nachbauen, inkl. "eval" Feature.
Letzteres habe ich auch irgendwann mal vor, wenn es nicht jemand sonst vorher umsetzt...
Hallo Rudi,
Zitat von: rudolfkoenig schrieb am So, 16 Juni 2013 18:26leider ist das entweder mit einem "refresh" zu loesen (weder elegant noch Bandbreitensparend), oder man muss das SVG-Modul in JavaScript nachbauen, inkl. "eval" Feature.
Danke für Deine Antwort.
Mit meinen höchst rudimentären JavaScript-Kenntnissen hätte ich gedacht, daß es reichen sollte, im HTML
<embed id="plot4711" src="/fhem?cmd=showlog 3.dz.hzg.weblink 3.dz.hzg.log fht CURRENT&pos=" type="image/svg+xml" width="800" height="160" name="3.dz.hzg.weblink"/>
zu haben, und diesen mit
document.getElementById("plot4711").src="/fhem?cmd=showlog 3.dz.hzg.weblink 3.dz.hzg.log fht CURRENT&pos="
neu zu laden.
Ich nehme aber an, daß Du Dich damit schon befaßt hast, und daß es wohl eine größere Sache ist, von der ich auf jeden Fall lieber die Finger lasse.
Viele Grüße
Boris
Das geht natuerlich auch.
Da aber das Javascript nicht weiss, inwieweit ein Event mit dem weblink zusammenhaengt, muss er bei jedem event das Laden der SVG ausloesen, was vermutlich deutlich mehr Last verursacht, als ein regelmaessiger refresh.
Mit einigen Einschraenkungen kann man diesen Zusammenhang erkennen, siehe Link (http://forum.fhem.de/index.php?topic=11275.msg83030#msg83030)