failed: WebSocket is closed before the connection is established.

Begonnen von torte, 18 Februar 2019, 12:42:05

Vorheriges Thema - Nächstes Thema

torte

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.

setstate

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.

torte

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

setstate

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.

setstate

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.

torte

LÄUFT!!

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

DANKE!


czcbe

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.
FHEM 5.9 mit TabletUI | Pagebuttonmenü | Win2012R2 | Lubuntu 18.04 | Load-Balancing/Failover 2xFHEM | cygwin | nanoCUL 433 | Harmony Hub | IT Funksteckdosen | Squeezebox-Server (LMS) | Kodi | Sprachsteuerung | Webcams | Wetteransage | Telegram Bot | Presence-Script | Winconnect-Powershell

czcbe

FHEM 5.9 mit TabletUI | Pagebuttonmenü | Win2012R2 | Lubuntu 18.04 | Load-Balancing/Failover 2xFHEM | cygwin | nanoCUL 433 | Harmony Hub | IT Funksteckdosen | Squeezebox-Server (LMS) | Kodi | Sprachsteuerung | Webcams | Wetteransage | Telegram Bot | Presence-Script | Winconnect-Powershell

h3llsp4wn

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

Eisix


czcbe

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.
FHEM 5.9 mit TabletUI | Pagebuttonmenü | Win2012R2 | Lubuntu 18.04 | Load-Balancing/Failover 2xFHEM | cygwin | nanoCUL 433 | Harmony Hub | IT Funksteckdosen | Squeezebox-Server (LMS) | Kodi | Sprachsteuerung | Webcams | Wetteransage | Telegram Bot | Presence-Script | Winconnect-Powershell

fruemmel

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.