FTUI 2.6 - disconnect - missing longpoll events

Begonnen von kvo1, 20 März 2017, 21:44:33

Vorheriges Thema - Nächstes Thema

kvo1

Zitat von: traveltheworld am 11 April 2017, 23:30:25
habe heute update gemacht, und jetzt habe ich dasselbe Problem.
Bei jedem Seitenwechsel (pagetab) erscheinen diese Toast-Nachrichten.

ich glaube man muss hier unterscheiden, welche Meldungen kommen. Bei mir sind das:

Longpoll (AJAX) re-started
Retry to connect in 10 secounds
Full refresh done in.......


Die Frage ist, welche davon wirkliche Fehler sind .... m.E. zumindest

Retry to connect in 10 secounds

Aber eine wirkliche Lösung hat scheinbar noch keiner , der Eine oder Andere unterdrückt diese Meldung vermutlich einfach !?
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

throbin

#16
Hi, ich bekomme ebenfalls immer wieder die Fehlermeldungen, egal wie es konfiguriert wurde - "ajax" oder "websocket". Danach funktionieren die Updates nicht mehr richtig (Readings etc.). Das Problem lässt sich durch das Löschen des Browser-Caches und/oder Wechsel auf eine andere Pagebutton-Seite, wo mehr Devices dargestellt sind, welche Updates senden (reale bspw.), manchmal beheben. Deterministisch ist die Lösung jedoch nicht...

Reproduzierbar ist es bei mir beim Wechsel eines Tabs im Chrome (Wechsel von einem Tab zum TabletUI). Hier die Ausgabe der Java-Konsole (einige Zeilen habe ich entfernt):

fhem-tablet-ui.js:1720 Page became visible again -> start healthCheck in 3 secondes
fhem-tablet-ui.js:1360 --------- start healthCheck --------------
fhem-tablet-ui.js:1361 now: Wed Apr 12 2017 23:50:39 GMT+0200 (Mitteleuropäische Sommerzeit)
fhem-tablet-ui.js:1362 FTUI version: 2.6.15
fhem-tablet-ui.js:1363 Longpoll: true
fhem-tablet-ui.js:1364 Longpoll type: websocket
fhem-tablet-ui.js:1365 Longpoll objects there: true
fhem-tablet-ui.js:1366 Longpoll curent line: 0
fhem-tablet-ui.js:1367 Longpoll last event before: 17237 Tag(e) 22 Stunde(n) 50 Minute(n) 39 Sekunde(n)
fhem-tablet-ui.js:1368 Longpoll last reading update before: 17237 Tag(e) 22 Stunde(n) 50 Minute(n) 39 Sekunde(n)
fhem-tablet-ui.js:1369 Shortpoll interval: 900
fhem-tablet-ui.js:1370 Shortpoll last run before: 35 Sekunde(n)
fhem-tablet-ui.js:1371 FHEM dev/par count: 70
fhem-tablet-ui.js:1372 FTUI known devices count: 19
fhem-tablet-ui.js:1373 Page length: 495102
fhem-tablet-ui.js:1374 Widgets count: 120
fhem-tablet-ui.js:1375 --------- end healthCheck ---------------
fhem-tablet-ui.js:1720 No longpoll event since 1489359039.399secondes -> restart polling
fhem-tablet-ui.js:1720 start shortpoll in (ms):1000
fhem-tablet-ui.js:1720 FTUI is online
fhem-tablet-ui.js:1720 restartLongpoll
fhem-tablet-ui.js:1720 stopLongpoll
fhem-tablet-ui.js:1720 start shortpoll
fhem-tablet-ui.js:1720 send to FHEM: jsonlist2
.....
fhem-tablet-ui.js:1720 start shortpoll in (ms):900000
fhem-tablet-ui.js:767 get jsonlist2: 50.4ms
fhem-tablet-ui.js:1720 shortpoll: fhemJSON.Results.length=15
fhem-tablet-ui.js:1720 shortPoll - Done
fhem-tablet-ui.js:852 read jsonlist2: 7.03ms
fhem-tablet-ui.js:1720 startLongpoll: true
fhem-tablet-ui.js:1720 websockets URL=ws://192.168.1.20:8083/fhem/?XHR=1&inform=type=status;addglobal=1;filter=WEB .................
....................
fhem-tablet-ui.js:1360 --------- start healthCheck --------------
fhem-tablet-ui.js:1361 now: Wed Apr 12 2017 23:50:56 GMT+0200 (Mitteleuropäische Sommerzeit)
fhem-tablet-ui.js:1362 FTUI version: 2.6.15
fhem-tablet-ui.js:1363 Longpoll: true
fhem-tablet-ui.js:1364 Longpoll type: websocket
fhem-tablet-ui.js:1365 Longpoll objects there: true
fhem-tablet-ui.js:1366 Longpoll curent line: 0
fhem-tablet-ui.js:1367 Longpoll last event before: 17237 Tag(e) 22 Stunde(n) 50 Minute(n) 56 Sekunde(n)
fhem-tablet-ui.js:1368 Longpoll last reading update before: 17237 Tag(e) 22 Stunde(n) 50 Minute(n) 56 Sekunde(n)
fhem-tablet-ui.js:1369 Shortpoll interval: 900
fhem-tablet-ui.js:1370 Shortpoll last run before: 15 Sekunde(n)
fhem-tablet-ui.js:1371 FHEM dev/par count: 70
fhem-tablet-ui.js:1372 FTUI known devices count: 19
fhem-tablet-ui.js:1373 Page length: 495164
fhem-tablet-ui.js:1374 Widgets count: 120
fhem-tablet-ui.js:1375 --------- end healthCheck ---------------
fhem-tablet-ui.js:1720 No longpoll event since 1489359056.35secondes -> restart polling
fhem-tablet-ui.js:1720 restartLongpoll
fhem-tablet-ui.js:1720 stopLongpoll

Kharim

Hallo Zusammen,

ich bin gerade durch Zufall auf euer Problem hier gestoßen.
Und ja, auch bei mir kommt die Longpoll Fehlermeldung (im Chrome).

Ich habe in etwas anderem Zusammenhang heute folgende Erfahrung gemacht - vielleicht ist das Problem hier ähnlich...ka
-> Habe ein weiteres FHEM installiert, mit FTUI Oberfläche und WebViewControl auf einem Android Tablet.
-> Innerhalb der FHEM Originalseite (geöffnet im WVC) war alles gut - nach Klick/Öffnen der FTUI Seite/Oberfläche massive Longpoll Fehlermeldungen
--> Ursache: Ich musste die Pfade in der html Datei anpassen.


<script type="text/javascript" src="../pgm2/jquery.min.js"></script>
<script type="text/javascript" src="lib/jquery.toast.min.js"></script>
<script type="text/javascript" src="lib/jquery.gridster.min.js"></script>
<script type="text/javascript" src="js/fhem-tablet-ui.min.js"></script>
<!-- Remove this line to enable for usage with WebViewControl  End for WebViewControl -->
<script type="text/javascript">var wvcDevices = {'12346': 'wvc_Tablet'}; var wvcUserCssFile="/fhem/pgm2/webviewcontrol.css"</script>
<script type="text/javascript" src="/fhem/pgm2/cordova-2.3.0.js"></script>
<script type="text/javascript" src="/fhem/pgm2/webviewcontrol.js"></script>

Ich finde gerade den gesamten Block nicht im Original...ist "irgendwie" historisch gewachsen bei mir.

Was ich aber sagen wil....vielleicht wird ähnlich wie hier eine Datei / ein Script nicht mehr gefunden?!

Grüße,
Kharim
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

throbin

Hi, keine Ahnung ob es an den Pfaden gibt, ich habe schon mehrere Versionen getestet, alle ohne Erfolg. Momentan sieht mein Header so aus:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="83">
<meta name="widget_base_height" content="86">
<meta name="widget_margin" content="1">
<meta name="gridster_disable" content="0">
<meta name='gridster_resize' content='0'>
<meta name="gridster_cols" content="16">
<meta name="gridster_rows" content="12">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="longpoll" content="1">
<meta name="debug" content="2">
<script src="js/fhem-tablet-ui.js" defer></script>

Die Definition habe ich aus dem Template genommen.

jonas

hallo Zusammen

gibt es schon einen Lösungsansatz beim "Missing Long Poll" Problem ?

Danke
Gruess

yellowpinky

.....also bei mir kamen die Evens tatsächlich sehr selten (z.B. Temperatur), daher habe ich den longpoll-check abgeschaltet.


<meta name='longpoll_maxage' content='0'>

Seit dem sind die Fehler weg. Warum der Fehler nicht schon bei den Vorversionen zu sehen war verstehe ich auch nicht

LG
Daniel

KraxelHuber

Hallo zusammen,

fange gerade erst an, mich mit FTUI zu beschäftigen. Habe die Installation gemäß Wiki vorgenommen (https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Installation). Attribute Longpoll steht bei mir auf websocket. Habe index-example.html in index.html umbenannt. Ich kann diese Beispielseite aufrufen, aber nach einiger Zeit kommt die Meldung "Error. Disconnected from FHEM. Reason: missing longpoll events." Muss die index-example.html Datei evtl. noch irgendwie auf die neue FTUI 2.6 Version angepasst werden?

Kuzl

Schau mal im Beitrag von Daniel über deinem. Da steht die Lösung.

KraxelHuber

Ja, mit <meta name="longpoll_maxage" content="0"> wird die Anzeige der Fehlermeldung unterdrückt. Ich habe aber nicht den Eindruck, dass der Fehler damit behoben ist. Irgendwie verliert FTUI bei mir die Verbindung zu FHEM.

Ich habe jetzt testweise eine extrem simple index.html geschrieben, die nur den STATE eines Dummys anzeigt. Wenn ich den Dummy in FHEM ändere, so wird der Wert in FTUI nicht aktualisiert, auch nicht nach 30 Sek. Erst wenn ich mit F5 das Browserfenster (Chrome unter Win 10) aktualisiere, aktualisiert sich auch der Wert des Dummy.

Im Device WEB habe ich das Attribut "longpoll" auf "websocket" stehen. Hier noch meine index.html:
<!DOCTYPE html>
<html>

<head>
    <link rel="icon" href="favicon.ico" type="image/x-icon" />

    <script src="js/fhem-tablet-ui.js" defer></script>

    <meta name="longpoll" content="1">
    <meta name="longpoll_maxage" content="0">

    <title>FHEM-Tablet-UI</title>
</head>

<body>
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="1" data-sizey="4" data-sizex="3">
                <header>Dummy Test</header>
                <div data-type="label" data-device="test"></div>
            </li>
        </ul>
    </div>
</body>

</html>


Woran kann das nun liegen?

torte

setzte mal bei dem Dummy das attribut event-on-change-reading auf .*
Grüße
Torte

Zook

#25
Ich suche mir auch schon nen Wolf...

Bei mir wird nun nicht mehr am longpoll rumgemeckert, sondern jetzt kommt "Disconnected from FHEM. The connection was closed abnormally, e.g. without sending or receiving a Close control frame"
Danach dann "Retry to connect in 10 seconds"

Egal welches device (iPad, Android tablet, Mac) oder Browser (Safari auf dem Ipad, Fully auf dem Android und Safari auf dem Mac). Lediglich Chrome auf dem Safari meckert nicht rum. Im Safari spuckt die Console zwei Fehler aus:
1: "Did not parse stylesheet at 'http://IP:Port/fhem/ftui/css/fhem-tablet-ui-user.css' because non CSS MIME types are not allowed in strict mode."
2: "WebSocket connection to 'ws://IP:Port/fhem/?XHR=1&inform=type=status;addglobal=1;...ganz_viele_Parameter...;fmt=JSON&fwcsrf=csrf_376955843058134' failed: Unexpected response code: 401

Firefox meint zu dem Fehler 1 "Stylesheet http://IP:Port/fhem/ftui/css/fhem-tablet-ui-user.css wurde nicht geladen, weil sein MIME-Typ, "text/plain", nicht "text/css" ist."
Und zu 2 "Die Verbindung zu ws://IP:Port/fhem?XHR=1&inform=type=status;filter=;since=1493798041;fmt=JSON&fw_id=7400&timestamp=1493798042654 wurde unterbrochen, während die Seite geladen wurde.  fhemweb.js:959:18"

<meta name="longpoll" content="1">
<meta name='longpoll_maxage' content='0'>
Hab ich schon gesetzt...
Longpoll steht auf websocket.

Und nu?
Intel NUC mit Proxmox; Busware CUL 868 v3; Signalduino; Synology DS 420, DS 215j + APC USV; Amazon Alexa + HA Bridge; FritzBox 7490; Fritz Dect 200; Fritz Dect 210; Brennenstuhl RCS 1000; Philips HUE; HM-SEC-WDS-2, HM-SEC-SCo; VU+ SOLO 4K und diverse Module

setstate

Hast du eine fhem-tablet-ui-user.css auf dem Server angelegt? Wenn du keine hast / brauchst, dann im Page-Header weglassen.

Zook

Der Punkt geht an dich - irgendwann mal mit rumgespielt und nicht wieder auskommentiert. Man sieht den Wald vor Bäumen nicht...

Allerdings besteht der zweite Fehler mit dem 401 immer noch...
Intel NUC mit Proxmox; Busware CUL 868 v3; Signalduino; Synology DS 420, DS 215j + APC USV; Amazon Alexa + HA Bridge; FritzBox 7490; Fritz Dect 200; Fritz Dect 210; Brennenstuhl RCS 1000; Philips HUE; HM-SEC-WDS-2, HM-SEC-SCo; VU+ SOLO 4K und diverse Module

setstate

Da habe ich auch keine Erfahrung mit dem Fehlerbild. Klingt nach: es läuft kein Websocket auf dem Server.

Zook

Habe in WEB und WEBtablet longpoll von websocket auf "1" geändert und nu ist der Fehler weg...

https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Funktionalit.C3.A4t - "* Derzeit wird die Basic-Authentifizierung in Kombination mit WebSockets nicht unterstützt. Die Verwendung von longpoll=1 (ajax) ist daher notwendig."

@setstate: websocket sollte bei Verwendung von longpoll=websocket immer laufen oder sehe ich das falsch?
Intel NUC mit Proxmox; Busware CUL 868 v3; Signalduino; Synology DS 420, DS 215j + APC USV; Amazon Alexa + HA Bridge; FritzBox 7490; Fritz Dect 200; Fritz Dect 210; Brennenstuhl RCS 1000; Philips HUE; HM-SEC-WDS-2, HM-SEC-SCo; VU+ SOLO 4K und diverse Module