longpoll geht nicht mehr

Begonnen von paul79, 07 Januar 2017, 00:19:08

Vorheriges Thema - Nächstes Thema

paul79

Hallo,

seit dem Update "FHEM Code changes / Revision 12958: fhwmweb.js: fix longpoll=0" gehen einige Widgets in der TabletUI nicht mehr.
Die Anzahl der Reading werden nicht mehr hinzugefügt bzw. entfernt man muss jetzt immer eine Fullrefresh machen da werden wieder alle angezeigt.

Gruß Paul
FHEM5.7 auf Pi3
Busware CUL433 (IT), JeeLink Lacrosse, HM-MOD-RPI-PCB, HM, TabletUI

CoolTux

Rudi, kann das etwas mit dem Websocket Patch zu tun haben? Der Verdacht liegt hier sehr nahe.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

@CoolTux: sicher. Ich habe aber mit Firefox/Chrome oder Safari@iPad keine Probleme. Und websocket ist auch nicht default.

@paul79:
- sieht man in der JavaScript Konsole etwas?
- Welche Attribute hat das <body> Tag?

paul79

Hallo,

in der Console sehe ich nichts und ich habe drin stehen
<meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->

Ich hänge mal ein paar Screenshots an und aufgefallen ist es mir mit dem Modul 98_Verkehrsinfo.pm und meinem widget_verkehrsinfo.js
indem ich in FHEM den include_filter verändere so dass es mehr Verkehrsmeldungen gibt (sonst muss man zulange warten).
In den Bildern neu_xx sieht man das es mehr Meldungen werden von 1 auf 5 aber die Anzahl der Einträge ändert sich nicht nur links das "Warn" ändert sich von 1 auf 5 sowie der Text der Meldung.
Aber mit der alten Version fhemweb.js ändert sich die Anzahl der Meldungen so wie es sein sollte. Das einzige was mir immer bei der alten Version aufgefallen ist dass die Reihenfolge im Widget nicht mit der in FHEM übereinstand aber beim nächsten Update korrigiert wurde.

Das gleiche sollte auch in Widget widget_calview.js sein da ich mir vieles davon abgeschaut habe und ich nicht der Java Experte bin.

alt ist mit einer alten Version von fhemweb.js
neu mit der jetzigen fhemweb.js Version

Bild 1 und 2 vorher TabletUI und list in FHEM
Bild 2 und 4 nachher TabletUI und list in FHEM

Gruß Paul

PS: Das Widget Verkehrsinfo findet man hier: https://forum.fhem.de/index.php/topic,55118.msg548080.html#msg548080
FHEM5.7 auf Pi3
Busware CUL433 (IT), JeeLink Lacrosse, HM-MOD-RPI-PCB, HM, TabletUI

rudolfkoenig

@paul79: du hast mich komplett abgehaengt.
- ich habe in den letzten Tagen die websocket-patches eingebaut, und dabei darauf geachtet, dass es Rueckwaertskompatibel ist. Im Normalfall sollte man die Aenderungen gar nicht merken, da sie erst nach setzen von "attr WEB longpoll websocket" aktiviert werden. Ich habe es in unterschiedlichen Konfigurationen mit mehreren Browsern getestet (mit und ohne longpoll), und ich sehe z.Zt. keine Probleme.
- evtl. ist dabei doch was schiefgegangen, da es mehrere Leute gibt, die ploetzlich Probleme melden. Um das rauszufinden brauche ich ein einfaches Szenario, z.Bsp. mit fhem.cfg.demo oder  ein fhem.cfg mit dummy+FHEMWEB und sonst nichts.
- zu sagen, dass du was sehr schoenes aber auch sehr aufwendiges aufgebaut hast, wo teilweise nicht das kommt was sonst, hilft mir nicht, da ich das nicht reproduzieren kann.

rudolfkoenig

Nachtrag: ich braeuchte weiterhin die <body> Attribute, z.Bsp. indem man in der JS-Konsole $("body")[0] eingibt.
Oder die HTML-Quellen anschaut. Oder mit Rechte-Maustaste, Inspect-Element die Elemente findet, und dann zum body hochscrollt.

CoolTux

Ich denke wir sollten hier setstate mit ins Boot holen, da er die Interna von TabletUI am besten kennt.

@paul79
Wichtig ist auch wie Du den Zugriff von FTUI auf FHEM konfiguriert hast.
Nimmst Du eine HTTPSRV Instanz dafür? Hast Du noch longpool in der FHEMWEB Instanz aktiviert? Hier kann ein list helfen.
Und natürlich die Fragen von Rudolf vorrangig beantworten.

Ich versuche mal den lieben Setstate zu erreichen.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Michael

Moin

Auch ich habe Probleme, glaube ab dem 04.01.  :-[
Und hatte wohl in die Falsche Rubrik geschrieben.
https://forum.fhem.de/index.php/topic,64230.0.html
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

paul79

Hallo,

ich bin noch nicht solange dabei und für mich ist es sehr schwer nachzuvollziehen wann und wo etwas geändert wurde und was es für Auswirkungen hat.

Hier ist meine gesamte Webseite wo auch das Widget drin ist hier:

https://forum.fhem.de/index.php/topic,37378.msg549640.html#msg549640

und in der fhem.cfg steht dieses



attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global backupdir /mnt/backup/FHEM
attr global exclude_from_update widget_fullcalview.js widget_weekprofile.js widget_calview.js widget_pagebutton.js widget_homestatus.js
attr global language DE
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEB,WEBphone,WEBtablet has no associated allowed device with basicAuth.\
telnetPort has no associated allowed device with password/globalpassword.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

#attr global mseclog 1

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB stylesheetPrefix dark

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix darktouchpad

define TABLETUI HTTPSRV ftui/ ./www/tablet/html Tablet-UI

define TABLETUIP HTTPSRV ftuip/ ./www/tablet/htmlpage Tablet-UI-Page

define VI_Hessen Verkehrsinfo http://hessenschau.de/verkehr/index.html 600
attr VI_Hessen filter_exclude 30.06.2017|28.02.2017|03.02.2017|20.07.2017|Straßentunnel Unterschweinstiege
attr VI_Hessen filter_include A3|A5|B45|B43a|448|Infomation
attr VI_Hessen room 083_Verkehrsinfo
attr VI_Hessen webCmd update


Das widget verkehrsinfo ist ja nur entstanden weil keiner hier auf meine Anfrage reagiert hat und für mich das autohide inakzeptabel ist.
Wenn die ganze Arbeit jetzt umsonst war dann brauche ich diese FHEM auch nicht.

https://forum.fhem.de/index.php/topic,62569.msg540043.html#msg540043

Gruß Paul
FHEM5.7 auf Pi3
Busware CUL433 (IT), JeeLink Lacrosse, HM-MOD-RPI-PCB, HM, TabletUI

betateilchen

#9
longpoll funktioniert seit dem heutigen Update (ich war ein paar Tage nicht zuhause) auch auf meinen webviewcontrol Panels hier in der Wohnung nicht mehr.

Scheint wohl ein browserspezifisches Problem zu sein, in Safari funktioniert das Ganze noch.

*grummel*
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen


/opt/fhem/www/pgm2# svn update -r 12863 fhemweb.js
Aktualisiere »fhemweb.js«:
U    fhemweb.js
Aktualisiert zu Revision 12863.


#12863 ist die letzte Version, mit der longpoll noch funktioniert wie gewohnt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

daheim

Hallo zusammen,

ich habe das gleiche Problem. Auf meinen Tablet mit Andriod 4.2.2 läuft der longpoll weder im webviecontrol noch im Browser auf dem Tab.
Bei einem 4.4.2 Tab geht alle ohne Probleme????

rudolfkoenig

@daheim: vielen Dank fuer die Meldung!

WebSocket wird erst ab Android 4.4 (und IE 10) unterstuetzt, die Abfrage ob eine Klasse vom Typ WebSocket ist, duerfte da zu einer (in der JS-Konsole sichtbaren) Fehlermeldung fuehren. Ich habe das jetzt abgefangen, und eingecheckt, leider ist das nur 'ne Vermutung, da ich kein Android < 4.4 zur Verfuegung habe, also bitte testen.

Damit solche Fehler in der Zukunft einfacher zu finden sind, wird ab sofort jede JS-Fehlermeldung auch per Dialog gemeldet.

betateilchen

Zitat von: rudolfkoenig am 09 Januar 2017, 12:05:35
Ich habe das jetzt abgefangen, und eingecheckt, leider ist das nur 'ne Vermutung, da ich kein Android < 4.4 zur Verfuegung habe, also bitte testen.

Getestet auf Android 4.0.4 - scheint zu funktionieren (bisher sind keine negativen Nebeneffekte aufgefallen).

Danke für die Hilfe!
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

daheim

Schließe mich an, funktioniert unter 4.2.2

VIELEN DANK !!!!!!!!