FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: torte am 18 Februar 2019, 12:42:05

Titel: failed: WebSocket is closed before the connection is established.
Beitrag von: torte am 18 Februar 2019, 12:42:05
Hallo zusammen,

ich suche jetzt schon länger nach einer Lösung, habe auch, so meine ich zumindest, alle Posts hier im Forum durch die in etwa in die Richtung was mit dem Problem zu tun haben könnten. Habe aber noch keine Lösung für den Fehler gefunden.
Ich bekomme, wenn ich auf meine FTUI Seite gehe immer den Fehler "WebSocket is closed before the connection is established" habe aber keine Ahnung warum.
Eigentlich geht dann soweit auch alles, was mir auffällt ist aber dass einige Werte die länger nicht aktualisiert werden, dann zum Beispiel nur nach einem Refresh der Seite aktualisiert werden.
Beim starten meiner Seite bekomme ich auch zb. immer den Hinweis retry to connect in 10 seconds, auffällig ist das wenn ich bei den Pagebuttons je Unterseite class Prefetch einsetzte, ich quasi für jedes Mal setzen der Prefetch class einen Toast Message "retry to connect in 10 seconds" angezeigt bekomme.
Kennt das jemand und kann mir helfen warum das bei mir so ist?


Danke
Grüße
Torte


fhem-tablet-ui.js:964 WebSocket connection to 'wss://fhem.fritz.box:8083/fhem/?XHR=1&inform=type=status;filter=WEBphone,Abfall.Tage,DU.Timer,Gong.Kids,WZ.LED,NUKIDevice345433029,DU.MailBox,dose.TV.Licht,dose.TV.Subwoofer,dose.Buero.PC,Schalter.Haustuer,SOO.HausKlingelLed,dose.Spielzimmer,dose.Weihnachten,DU.Spuelmaschine,XMI.DOOR.Haus,struc.roof.windows,XMI.DOOR.Speicher,XMI.DOOR.Haustuer,XMI.DOOR.Wohnzimmer,XMI.DOOR.Kueche,XMI.DOOR.BalkonVorne,XMI.DOOR.BalkonHinten,XMI.DOOR.Dani.Garage,XMI.WINDOW.Bath.Left,XMI.WINDOW.Bath.Mid,XMI.WINDOW.Bath.Right,XMI....2_iconAPI%20fc3_iconAPI%20Heizung.EIN.Normal%20Heizung.Warmwasser.Ein.Normal%20Heizung.Kuehlung.Ein.Normal%20temp_c%20condition%20fc1_high_c%20fc1_low_c%20fc2_day_of_week%20fc2_high_c%20fc2_low_c%20fc2_condition%20fc3_day_of_week%20fc3_high_c%20fc3_low_c%20fc3_condition%20var2_tempget%20countsPerDay%20Temp-WW%20var_dev-label-get%20Temp-Vorlauf%20Temp-Ruecklauf%20Temp-Ruecklauf-Soll%20START_FMT%20WarnCount%20FTUI%20event%20external_number%20external_name;since=1550488941179;fmt=JSON&timestamp=1550488941215' failed: WebSocket is closed before the connection is established.
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: setstate am 18 Februar 2019, 13:24:57
Habe ich auch beim Refresh drücken. Theoretisch fange ich das Seite-verlassen Event ab und versuche dabei  die Connection sauber zu beenden, aber praktisch funktioniert das nicht. Im Normalbetrieb kommt ein Refresh von Hand glücklicherweise (fast) nie vor.
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: torte am 18 Februar 2019, 13:35:25
hi setstate,

danke aber ich verstehe die Antwort nicht ganz.

"failed: WebSocket is closed before the connection is established". bekomme ich sobald ich auf die FTUI Seite gehe also ohne Refresh der Seite usw.

"retry to connect in 10 seconds" bekomme ich sobald ich prefetch in bei den Pagebuttons benutze.

Welcher von beiden Fehler ist der der normal ist? Oder beide.  ::)

Grüße
Torte
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: setstate am 18 Februar 2019, 14:01:23
Schaue ich mir nochmal an. Aber bei der Nutzung von pagebutton ändert sich die Subscriptionliste immer wieder, wenn Unterseiten vorgeladen werden. Da wird ein Abbrechen und Neustarten der Connection passieren. Irgendwer meckert dann, weil er noch nicht mit dem Aufbau der Verbindung fertig war, als schon das nächste Disconnect passierte.
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: setstate am 19 Februar 2019, 07:29:03
Ich vermute stark, die Fehlermeldung kommt nur, wenn die Verbindung abgebrochen wird, bevor irgendetwas gesendet/empfangen wurde.
Deshalb habe ich jetzt beim Disconnect das Senden eines kurzen Grusses ('bye') eingebaut. Damit scheint es besser zu klappen.

Update ist hochgeladen.
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: torte am 19 Februar 2019, 09:08:57
LÄUFT!!

Kann das sein das der Seitenaufbau auch schneller dadurch ist, subjektiv fühlt sich das so an.

DANKE!

Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: czcbe am 25 Februar 2019, 11:14:54
Seit dem Update nach 20.2. ist die Meldung "retry to connect in 10 seconds" wieder da, sie war kurzzeitig um den 19.2. rum verschwunden gewesen. Einzelne Buttons reagieren bzw. refreshen sich daher auch nicht mehr korrekt. Benutze Pagebutton.

Folgende Files

fhem-tablet-ui.js
fhem-tablet-ui.min.js
widget_link.js

wiederhergestellt und es läuft wieder normal.
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: czcbe am 27 Februar 2019, 19:40:38
Haben andere das auch?
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: h3llsp4wn am 28 Februar 2019, 15:52:39
Hi,

also die "disconnects" sind mit dem Fix weg. Jetzt habe ich nur noch die "Retry to connect in 10 seconds" Meldung beim initialen laden und bei jeder Seite, die über Pagebutton (mit prefetch) erstmalig aufgerufen wird.


Cheers,

h3ll
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: Eisix am 01 März 2019, 21:20:03
Diese Meldung Habe ich auch.

Gruß
Eisix
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: czcbe am 11 März 2019, 08:21:18
Nachdem ich den Prefetch (also die class) auf den diversen subsites entfernt habe, scheint es einigermassen zu laufen.

Es kommen wie von euch erwähnt noch immer manchmal die initialen "Retry to connect in 10 seconds" Meldungen.

FTUI scheint nun viel flüssiger zu laufen und die Buttons refreshen auch wieder normal.

Danke für die Tipps.
Titel: Antw:failed: WebSocket is closed before the connection is established.
Beitrag von: fruemmel am 16 März 2019, 13:47:55
Ich habe auch nachvollziehbar die Meldung "Retry to connect in 10 seconds", und zwar wie hier schon von Anderen geschrieben beim ersten Aufbau der Seite und immer, wenn ich zum ersten Mal per pagebutton auf eine andere Seite wechsele.

Wenn ich das im Network-Monitor von chrome richtig interpretiere, holt sich das Frontend direkt nach der Meldung "Retry..." jedesmal erneut die Werte für alle Readings (nicht nur der angesprungenen Seite), was bei meinem Android-Pad zu einer starken Verzögerung führt. Auf einem PC macht sich das nicht ganz so bemerkbar. Leider fehlen mir die tiefen Kenntnisse, um die Ursache zu finden.
Prefetch habe ich schon überall entfernt.