FLOORPLAN update: longpoll

1,307 views
Skip to first unread message

UliM

unread,
Nov 27, 2012, 3:29:11 PM11/27/12
to fhem-...@googlegroups.com
Hallo,
Matthias Gehre hat es geschafft: Floorplan kann nun longpoll :)
(bedeutet: Die icons werden bei Änderung des Schaltzustands aktualisiert, ohne dass im browser ein refresh ausgeführt werden muss).

Dazu in der zugrundeliegenden FHEMWEB-Instanz das Attribut longpoll setzen (attr WEB longpoll 1)


FALLS ihr eigene css-tags nutzt, ist evtl. eine kleine Überarbeitung eurer css-Datei erforderlich.
Folgende css-IDs mussten geändert werden:
devicenames
alt:   id=<devicename>
neu: id=<devicename>-devicename
devicetimestamp
alt:   id=<devicename>
neu: id=<devicename>-devicetimestamp
devicecommands
alt:   id=<devicename>
neu: id=<devicename>-devicecommands

Ab morgen früh per update verfügbar.

Noch mal vielen Dank an Matthias,
Gruß, Uli

PS: Das floorplan-pdf wird am Wochenende aktualisiert.

Benji

unread,
Nov 27, 2012, 3:54:04 PM11/27/12
to fhem-...@googlegroups.com
Hallo Uli,
Hallo Matthias,

das funktioniert hervorragend.

Viele Grüße
Benji

cge

unread,
Nov 27, 2012, 4:58:33 PM11/27/12
to fhem-...@googlegroups.com
Hallo,
 
super Sache, danke!
 
Ich habe noch ein unterschiedliches Verhalten auf meinen Geräten:
  • Unter Android 4.0.4 funktioniert das sowohl im Standard-Browser als auch in Opera.
  • Safari auf einem älteren iPod touch funktioniert ebenso
  • Unter Android 2.2 und Opera (das ist ein billiges kleines Tablet, das in der Wohnung an der Wand hängt und wo für mich longpoll sehr hilfreich wäre. Opera nutze ich wegen SVG-Anzeige. Ich bilde mir ein, dass im normalen FHEMWEB longpoll früher funktionierte, habe das aber schon länger deaktiviert als ich FLOORPLAN ergänzte - was ich übrigens wie FHEM insgesamt genial finde, danke an alle Entwickler...):
    Ein Schaltvorgang wird richtig übernomen (egal ob an oder aus), danach nicht mehr. Erst nach einem Refresh fuktioniert wieder genau ein Vorgang.
  • Unter Android und Standard-Browser wird die Seite bei aktiviertem longpoll zunächst gar nicht vollständig geladen. Nach einiger Zeit (gefühlt ca. 1 Minute) wird der Rest (Hintergrundbild, bei mir der Grundriss) geladen. Longoll zeigt hier aber dann keine Wirkung.
  • IE unter Windows hängt ebenfals, aber das war ja glaube ich schon immer so.
Ich habe vorhin nach dem update aus der Oberfläche manuel nur 95_FLOORPLAN.pm heruntergeladen und die beschriebenen css-Anpassungen vorgenommen. Hätte ich sonst noch etwas laden müssen?
 
Viele Grüße,
Carsten

 

Am Dienstag, 27. November 2012 21:29:11 UTC+1 schrieb UliM:

UliM

unread,
Nov 28, 2012, 1:47:06 AM11/28/12
to fhem-...@googlegroups.com


Am Dienstag, 27. November 2012 22:58:33 UTC+1 schrieb cge:
 Hätte ich sonst noch etwas laden müssen?

Jepp - der grössere Teil der Änderungen liegt in FHEMWEB. Bitte auch die frisch ziehen und noch mal prüfen und feedback geben.
Gruß, Uli

Matthias Gehre

unread,
Nov 28, 2012, 3:29:17 AM11/28/12
to fhem-...@googlegroups.com
  • Unter Android 2.2 und Opera (das ist ein billiges kleines Tablet, das in der Wohnung an der Wand hängt und wo für mich longpoll sehr hilfreich wäre. Opera nutze ich wegen SVG-Anzeige. Ich bilde mir ein, dass im normalen FHEMWEB longpoll früher funktionierte, habe das aber schon länger deaktiviert als ich FLOORPLAN ergänzte - was ich übrigens wie FHEM insgesamt genial finde, danke an alle Entwickler...):
    Ein Schaltvorgang wird richtig übernomen (egal ob an oder aus), danach nicht mehr. Erst nach einem Refresh fuktioniert wieder genau ein Vorgang.
 Kannst du in www/pgm2/fhemweb.js als erste Zeile der Funktion FW_doUpdate
alert(FW_pollConn.readyState + " " + FW_pollConn.status);
eintragen, das dann nochmal unter Android mit Opera versuchen und die Ausgaben notieren?
  • Unter Android und Standard-Browser wird die Seite bei aktiviertem longpoll zunächst gar nicht vollständig geladen. Nach einiger Zeit (gefühlt ca. 1 Minute) wird der Rest (Hintergrundbild, bei mir der Grundriss) geladen. Longoll zeigt hier aber dann keine Wirkung.
Das sollten wir vermeiden. Wie ist denn der UserAgent in dem Fall? Dann könnte man dafür longpoll deaktivieren, sodass es zumindest normal lädt.
  • IE unter Windows hängt ebenfals, aber das war ja glaube ich schon immer so.
Wie oben.

Echo

unread,
Nov 28, 2012, 12:04:07 PM11/28/12
to fhem-...@googlegroups.com
Das ist ja prima. Vielen Dank an die Beteiligten!

Gruß
René

Gerhard Pfeffer

unread,
Nov 28, 2012, 12:37:58 PM11/28/12
to fhem-...@googlegroups.com
Hej,

auch von meiner Seite ein großes Danke... Tolles Feature. :-)

Eine Kleinigkeit ist mir beim Testen gerade aufgefallen... Zumindest bei den Ausgaben der Temperatur-/Feuchtigkeitssenoren, verlieren die Anzeigen die in den Stylesheets hinterlegten Parameter, sobald sich die Werte ändern.

Nochmals vielen Dank!

Greetz,
   Gerhard




--
To unsubscribe from this group, send email to
fhem-users+...@googlegroups.com

edank

unread,
Nov 28, 2012, 1:01:24 PM11/28/12
to fhem-...@googlegroups.com
Hallo,

auch von mir ein ganz dickes Dankeschön euch beiden.
Habe es gerade geladen und ausprobiert. Funktioniert wunderbar!

LG edank

cge

unread,
Nov 28, 2012, 1:59:29 PM11/28/12
to fhem-...@googlegroups.com
Ich habe eben nochmal ein update durchgeführt und das nochmal probiert:
Am Mittwoch, 28. November 2012 09:29:17 UTC+1 schrieb Matthias Gehre:
  • Unter Android 2.2 und Opera (das ist ein billiges kleines Tablet, das in der Wohnung an der Wand hängt und wo für mich longpoll sehr hilfreich wäre. Opera nutze ich wegen SVG-Anzeige. Ich bilde mir ein, dass im normalen FHEMWEB longpoll früher funktionierte, habe das aber schon länger deaktiviert als ich FLOORPLAN ergänzte - was ich übrigens wie FHEM insgesamt genial finde, danke an alle Entwickler...):
    Ein Schaltvorgang wird richtig übernomen (egal ob an oder aus), danach nicht mehr. Erst nach einem Refresh fuktioniert wieder genau ein Vorgang.
 Kannst du in www/pgm2/fhemweb.js als erste Zeile der Funktion FW_doUpdate
alert(FW_pollConn.readyState + " " + FW_pollConn.status);
eintragen, das dann nochmal unter Android mit Opera versuchen und die Ausgaben notieren?
 
1.) Opera unter Android 2.2
Ausschalten eines FS20-Schalters liefert Alert mit Überschrift "fritz.box" und Text "2 200", nach OK kommt Alert mit "3 200" und Icon wechselt.
Einschalten danach führt zu keiner Ausgabe.
Nach einem manuellem Reload der Seite gleiches Verhalten wie oben beschrieben.
myuseragent.com liefert: Opera/9.80 (Android 2.2.1; Linux; Opera Tablet/ADR-1202231246; U; de) Presto/2.10.254 Version/12.00
 
 
2.) Standard-Browser unter Android 2.2
Im Browser reagiert (nachdem gewartet wurde bis die Anzeige vollständig da ist) das Icon auf durchgeführte Schaltbefehle nicht. Es erscheinen auch keine Alerts.
 
Erst wenn ich eine neue URL eingebe oder nach Reload erscheint ein Alert mit Überschrift "Die Seite auf http://fritz.box sagt:" und dem Text "4 0" und die neue Seite wird angezeigt.
 
myuseragent.com liefert: Mozilla/5.0 (Linux; U; ndroid 2.2.1; de-de; X2 Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
 
3.) Internet Explorer unter Win XP
Anzeige ohne Verzögerung, longpoll ohne Funktion
Kein Alert, User Agent:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.4; .NET CLR 2.0.50727; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET4.0C; .NET4.0E; .NET CLR 3.5.30729)
 
4.) Internet Explorer unter Vista
Anzeige der Seite ohne Verzögerung, longpoll ohne Funktion
Ausschalten liefert Alert mit Text "3 200", danach kommen bei Schaltvorgängen keine Alerts mehr. Nach manuellem Reload wieder genau einmal der Alert.
User Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)
 
Hilft das bei der Suche?
 
 

gaggi

unread,
Nov 28, 2012, 3:43:19 PM11/28/12
to fhem-...@googlegroups.com
Das longpolling nicht funktioniert liegt an den verwendeten Browsern. Seit ein paar Tagen wird nichtmehr auf das erfolgreiche empfangen des kompletten requests reagiert, sondern auf änderungen am Status der Verbindung.
Dies soll verhindern das Änderungen Zeichen dem erfolgreichem abschließen und dem aufbau einer neuen Verbindung verloren gehen.
Alle InternetExplorer unter 10 sowie viele andere nicht ganz aktuelle Browser halten aber in der abgefragten Variable vor dem erfolgreichen Abschluss keine Daten bereit, obwohl der Standard das vorschreibt.
Wenn möglich sollte eine Aktualisierung auf Android 4.X auf Tablets Abhilfe schaffen. Bei PC's läuft es auf jeden fall mit dem aktuellem Firefox, Safari oder Chrome sowie IE 10.
Gruß Gaggi

Hausautomat

unread,
Nov 28, 2012, 4:20:42 PM11/28/12
to fhem-...@googlegroups.com, hausa...@googlemail.com
Longpoll funktioniert grundsätzlich.

Allerdings nicht, wenn ich auf der gleichen Seite ein weblink iframe
habe, in dem ein Webcam-Bild angezeigt wird (via cgi von einem
zoneminder-server), dass 1x pro Sekunde aktualisiert wird (das klappt
auch einwandfrei), aber Longpoll funktioniert dann nicht mehr. Weder via
FHEMWEB, noch im Floorplan.

Browser ist FF 17.0, auch 16.0.2 geht nicht, beides unter Ubuntu precise.

Unter Chrome for Mobile (01.11.12) unter Android 4.1.1
(Standard-Androidbrowser kann keine MJPEGs, Test daher nicht relevant)
geht es allerdings.

Ohne WebCam Iframe funktioniert es. Wenn ich beim debuggen helfen kann,
sagt bescheid.

Gruß
Hausautomat

Reply all
Reply to author
Forward
0 new messages