In http://forum.fhem.de/index.php/topic,33035.msg254331.html#msg254331 haben wir in 95_FLOORPLAN.pm eine Änderung am longpollfilter vorgenommen, durch die Events von Devices, die nicht im Floorplan enthalten sind, effektiv ausgeschlossen werden. Da bereits ein Filter dafür in fhemweb.js vorgesehen war - der mE aber nicht wie erwartet funktioniert (Events aller Devices sind in der JS-Console sichtbar) - bin ich nicht sicher ob der vorhandene Filter fehlerhaft ist, oder wir etwas entscheidendes übersehen haben.
Der Filter, der für den Floorplan "LCARS_R_WOHNZIMMER_LICHT" durch fhemweb.js gesetzt wird: .*;iconPath=LCARS_R_WOHNZIMMER_LICHT
Der neue Filter: fp_LCARS_R_WOHNZIMMER_LICHT=.+
Vorgeschlagene Änderung an 95_FLOORPLAN.pm:
428c428,431
< FW_pO "</head>\n<body name=\"$title\" $gen $lp $csrf>";
---
> # FW_pO "</head>\n<body name=\"$title\" $gen $lp $csrf>";
> my $FP_name_uri=$FP_name;
> $FP_name_uri =~ s/:/%3/g;
> FW_pO "</head>\n<body name=\"$title\" longpollfilter=\"fp_$FP_name_uri=.%2B\" $gen $lp $csrf>";
Hi,
ja fein :)
Ich habs mal folgendermaßen eingebaut:
my $lpf = 'fp_'.$FP_name; #longpollfilter - only devices that exist on this floorplan shall be notified
$lpf =~ s/:/%3/g;
$lpf = 'longpollfilter="'.$lpf.'=.%2B"';
FW_pO "</head>\n<body name=\"$title\" $lpf $gen $lp $csrf>";
Scheint auch zu funktionieren, könnte ich also einchecken.
Nur - genau was ist der Nutzen ? (außer dass weniger msg in der js-Konsole kommen, in die eh kein user schaut)
Gruß, Uli
Danke!
Die übersichtlichere JS-Console ist mir schon ein Anliegen. Ich binde mehrere Floorplans in Iframes auf einer externen Seite ein, da ist dann schon einiges los gewesen. Als Nebeneffekt wird der Netzwerktraffic verringert. Das hatte jetzt weniger Impact als ich erhofft hätte, aber jedes bisschen hilft ja bekanntlich :-)
Hi,
aha.
Dann könnte ich ein Attribute spendieren, mit dem man den Filter (de)aktivieren kann.
Oder ist das performanceneutral?
=8-)
den filter zu deaktivieren ist nicht sinnvoll. ich glaube dann wird als fallbacks sogar extra ein filter der auf alles matched gesetzt.
gruß
andre
Wenn kein Filter aus dem Modul gesetzt wird, wird einer in fhemweb.js gesetzt. Das wäre der in http://forum.fhem.de/index.php/topic,33035.msg254157.html#msg254157 beschriebene "Standard"-Fall .*;iconPath=FLOORPLANDEVICE, der augenscheinlich nicht (mehr) funktioniert. Ohne Wissen was dieser Filter bewirkt/bewirken sollte, fällt's mir schwer einzuschätzen ob man zu diesem Filter zurück kehren möchten können wollte.
Zitat von: justme1968 am 31 Januar 2015, 10:21:44
den filter zu deaktivieren ist nicht sinnvoll. ich glaube dann wird als fallbacks sogar extra ein filter der auf alles matched gesetzt.
ok, dann halt dauerhaft, ohne Attribut.
Ist das Setzen des Filters schadlos, wenn longpoll 0 ist?
Und aus dem urspr. Filter ist ja offenbar 'iconPath=FLOORPLANDEVICE' rausgefallen - weiss jemand, was es damit auf sich hatte?
=8-)
mir ist gerade nicht klar was iconPath überhaupt mit dem filter zu tun hat bzw. was iconPath auf der js seite tun sollte.
gruss
andre
Zitat von: justme1968 am 31 Januar 2015, 11:48:11
mir ist gerade nicht klar was iconPath überhaupt mit dem filter zu tun hat bzw. was iconPath auf der js seite tun sollte
Evtl. hats mit longpoll für Icons, wie unter http://www.fhemwiki.de/wiki/Grundriss_mit_fhem-buttons#Hinzuf.C3.BCgen_der_fhem-Schalt-Links beschrieben zu tun. Werd ich noch testen, bin aber grade wieder unterwegs.
wenn dann hat es nicht direkt mit dem filter zu tun sondern um den in dieser verbindung verwendeten iconPath temporär zu ändern.
es sind also zwei unterschiedliche dinge. das eine ist der filter der angibt welche devices auf dieser connection events erzeugen. das andere welche icons verwendet werden sollen.
ich habe gerade geschaut ob es das gegenstück (also das auswerten den iconPath in fhemweb) gibt aber auf die schnelle nicht gefunden.
hat der paramtere überhaupt noch einen einfluss? wenn ja sollte er natürlich drin bleiben. wenn nein ist die frage warum es aus fhemweb verschwunden ist. eventuell aus versehen.
gruss
andre
Zitat von: nesges am 31 Januar 2015, 12:16:37
Evtl. hats mit longpoll für Icons, wie unter http://www.fhemwiki.de/wiki/Grundriss_mit_fhem-buttons#Hinzuf.C3.BCgen_der_fhem-Schalt-Links beschrieben zu tun.
Das Beispiel aus dem Wiki bekomme ich weder mit, noch ohne Änderung zum laufen. Kann mir ehrlich gesagt auch nicht vorstellen, wie das jemals funktioniert hat. Da ist keine aktive Komponente drin; es wird kein fhemweb.js eingebunden, sondern einfach nur "flaches" HTML ohne jeglichen refresh. Von der Seite her sollte kein Ärger drohen.
Der vorsichtige Ansatz wäre die Änderung mit einem Opt-In-Schalter einzubauen. Den könnte man ja ggf. später in Opt-Out wandeln und noch später ganz entfernen, wenn keine Fehlermeldungen auflaufen.
Hi,
mir kam noch der Gedanke mit dem floorplan-spezifischen icon-folder. Aber das kann ja mit iconPath=FLOORPLANDEVICE nix zu tun haben.
Ich lass das mal raus. Wir sehen ja in den nächsten Tagen, ob sich jemand über verlorengegangene Funktionalität beschwert :)
Gruß, Uli
hallo uli,
hast du schon eine idee wann du das einchecken kannst?
die variante mit ..* scheint mir am lesbarsten zu sein und funktioniert bei mir ohne probleme.
FW_pO "</head>\n<body name=\"$title\" longpollfilter=\"fp_$FP_name=..*\" $gen $lp $csrf>";
gruss
andre
Hi,
ich warte auf Markus' d&d-Abschluss.
Die letzte floorplan.pm-Version aus dem d&d-Fred enthãlt auch den Filter, mit dem bei mir alles funzt. Hast Du due dortige Version mal getestet? Weiß jetzt aus dem Kopf gar nicht was da als Filter drin ist..
Gruß Uli