Connection lost, trying a reconnect every 5 seconds

Begonnen von Escrimark, 22 September 2017, 08:39:42

Vorheriges Thema - Nächstes Thema

Escrimark

Hallo,

ich bekomme mehrfach pro Minute im FHEMWeb die o.g. Meldung angezeigt. Allerdings funktioniert FHEM trotzdem einigermaßen Problemlos weiter.
Zwei Fragen:
1. Weiß jemand wie ich diesen Fehler technisch behebe.
2. Alternativ Weiß jemand, wie ich diese Meldung ausblende (verhindere dass sie erscheint)?

Danke

rudolfkoenig

Der Browser kann keine stehende Netzerk-Verbindung zum FHEM-Server aus JavaScript herstellen, um die Statusaenderungen in FHEM im Browser sofort anzuzeigen.

Zitat1. Weiß jemand wie ich diesen Fehler technisch behebe.
Die Verbindung ermoeglichen. Moegliche Loesungen:
- die "Internet"-Verbindung reparieren
- FHEM als Ausnahme im Viruschecker (insb Bitdefender) konfigurieren
- "attr TYPE=FHEMWEB longpoll websocket" versuchen
- Browser-Client-Betriesbsystem wechseln

Zitat2. Alternativ Weiß jemand, wie ich diese Meldung ausblende (verhindere dass sie erscheint)?
attr TYPE=FHEMEWB longpoll 0
Mit allen Konsequenzen, siehe oben.

HomeAuto_User

#2
Hallo,

mir ist dieser Fehler auch soeben aufgefallen bei mir.
Ich habe die Varianten von rudolfkoenig ausprobiert und dies brachte vorerst keinen Erfolg.
Außer
Zitatattr TYPE=FHEMEWB longpoll 0
Mit allen Konsequenzen, siehe oben.

Beim hin und her testen fiel mir auf, das der Fehler nur auftritt, wenn ich in einen "speziellen ROOM" klicke.
Kann das möglich sein ?
Der von mir besagte ROOM enthält einige Readingsgroup von Empfängern wo sämtliche Sensoren als "Auswertung" aufgelistet werden.

Sobald ich aus diesem ROOM wechsle passiert dies nicht mehr.

MfG

EDIT: Auch wenn ich auf Everything klicke passiert das selbige. ALSO der besagte ROOM und Everything wo etwas drin ist, was diesen Fehler herbeiführt.
Kann es sein, wenn zu viele Readings aktualisiert (longpoll) werden auf einmal? Verwendet wird die aktuelle Version aus dem SVN.
Eine Änderung wie hier beschrieben bringt auch nichts.
longpoll stand auf Websocket.

NUR bei longpoll = 0 ist RUHE, also Fehler bei aktiven longpoll! WIE kann man dem Fehler auf den Grund gehen?
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

HomeAuto_User

#3
Hallo,

Ich habe mich nun Schritt für Schritt auf die Fehlersuche gemacht.
Eingrenzen konnte ich das Ganze soweit.

Sobald ich Zeilen wie diese
Zitat#attr nano_868Mhz devStateIcon .*opened:cul_868_ok .*disconnected:cul_868_error .*closed:cul_868_ok@red

wieder einkommentiere, so tritt der Fehler auf!
Auskommentiert und schon funktioniert dies wieder. Der Fehler ist reproduzierbar.
Weitere Einschränkungen wieso der Fehler auftritt habe ich bisher nicht gefunden.
Sollte die Ursache genauer definiert werden können, kann man da nicht eine Fehlermeldung generieren?

EDIT: Sobald ich irgendeine devStateIcon Definition hinzufüge, tritt der Fehler auf. Selbst mit StandardIcon´s klappt dies nicht. Kann es was mit der FW der Geräte zusammenhängen? Es sind bei mir SIGNALduino´s. Vielleicht kann sich Herr König zwecks longpoll und Zusammenspiel sich das mal ansehen um ggf. die FirmwareEntwickler darauf hinzuweisen.
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

rudolfkoenig

Zitatattr nano_868Mhz devStateIcon .*opened:cul_868_ok .*disconnected:cul_868_error .*closed:cul_868_ok@red
Habs versucht, bei mir tritt das Problem nicht auf.
Ich habe aber auch kein cul_868_ok oder cul_868_error Icon. Mit cul_868 funktioniert es.

Was steht denn in der JavaScript Console des Browsers, und was in dem FHEM-Log?
Wenn nichts Besonderes, dann bitte FHEM temporaer mit "perl fhem.pl -d fhem.cfg" starten.

Uebrigens: das .* jeweils am Anfang ist ueberfluessig und etwas verwirrend.

ZitatKann es was mit der FW der Geräte zusammenhängen?
Das wuerde mich sehr erstaunen.


HomeAuto_User

Ich habe nun mal ins Logfile geschaut, nichts von Fehler oder Abbruch steht drin.
Zitat2017.12.30 21:33:43 2: nano_868Mhz: initialized. v3.3.3-dev
2017.12.30 21:33:43 3: nano_868Mhz/init: enable receiver (XE)
2017.12.30 21:33:44 2: nano_433Mhz: initialized. v3.3.3-dev
2017.12.30 21:33:44 3: nano_433Mhz/init: enable receiver (XE)
2017.12.30 21:38:25 0: Server shutdown

Mit JavaConsole, hoffe ich du meinst dies bzw. sowas?
Zitat21:36:26.982 Rcvd: ["nano_433Mhz","opened","<div id=\u0022nano_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022><svg class=\u0022 cul_433_...(10172)
fhemweb.js:419:5
21:36:26.986 Rcvd: ["nano_433Mhz","opened","<div id=\u0022nano_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022><svg class=\u0022 cul_433_...(10172)
fhemweb.js:419:5
21:36:27.045 Rcvd: ["nano_433Mhz","opened","<div id=\u0022nano_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022><svg class=\u0022 cul_433_...(10172)
fhemweb.js:419:5
21:36:27.048 Rcvd: ["nano_433Mhz","opened","<div id=\u0022nano_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022><svg class=\u0022 cul_433_...(10172)
fhemweb.js:419:5
21:36:27.051 Rcvd: ["nano_433Mhz","opened","<div id=\u0022nano_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022><svg class=\u0022 cul_433_...(10172)
fhemweb.js:419:5
21:36:27.054 Rcvd: ["nano_433Mhz","opened","<div id=\u0022nano_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022><svg class=\u0022 cul_433_...(10172)
fhemweb.js:419:5
21:36:27.056 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:27.057 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:27.058 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:27.060 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:27.061 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:27.062 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:27.063 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:27.064 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:27.065 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:27.066 Rcvd: ["radino_433Mhz","opened","<div id=\u0022radino_433Mhz\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"]
fhemweb.js:419:5
21:36:42.833 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<

Den Test habe ich mir dieser Zeile vollzogen
Zitatattr nano_433Mhz devStateIcon opened:cul_433_ok closed:cul_433_error@red disconnected:cul_433@blue
Unabhängig ist dies auch mit Standardlogos.

Wie kann ich das richtig auswerten mit der Option
Zitatperl fhem.pl -d fhem.cfg
Das läuft durch immer auf der Konsole aber da komme ich doch nicht in den Raum wo der Fehler ist  :( ???

"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

rudolfkoenig

Ich sehe in deinen Logs auch keine Probleme.

ZitatDas läuft durch immer auf der Konsole aber da komme ich doch nicht in den Raum wo der Fehler ist
Du kannst gerne mit dem Browser den vergifteten Raum aufsuchen, ich hoffe dass in diesem Fall im Terminal was zu sehen ist.

LuBeDa

Das Problem kommt mir irgendwie bekannt vor https://forum.fhem.de/index.php/topic,81773.0.html

Gestern abend hatte ich das Problem, aber heute morgen kann ich es nicht nachstellen.


HomeAuto_User

Hallo und Gesundes neues Jahr 2018.
Ich habe mich dem Problem nochmal gewidmet und bin nur minimal voran gekommen.

Ich habe nun mal getestet, das Device in ein neuen Raum zu nehmen, dann tritt das selbe Phänomen auf.
Device gelöscht und neu angelegt, bringt ebenso keine Veränderung.

Einige neue Erkenntnis, sobald ich den SIGNALduino Device´s wo es nicht klappt mit dem DevStateIcon ein PNG wie Kreis grün zuordne, dann geht dies.
Sobald ein SVG zugewiesen kommt, kommt der Connection Fehler.

Unabhänging davon habe ich auch mal den Vorschlag Faden von LuBeDa verfolgt und mein TableUI gelöscht, dies brachte keine Veränderungen.
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

popy

#9
@HomeAuto_User:
Muss dass mal ausgraben. Bei mir ist es das gleiche Problem.
Und nur im Raum Everything  :P Ja ähm da sind 100er Geräte mit devstateicons.
Wie genau hast du das Problem Gerät gefunden?

Danke

Update: Ich habe jetzt longpoll auf "1" gesetzt beim WEB und jetzt scheint es zu funktionieren mit dem Chrome und Edge.

vbs

Wie ist denn der Status hier zu dem Problem? Bei mir tritt das nach wie vor häufig auf. Würde ehrlich gesagt Browser/OS ganz gerne ausschließen, da ich auf vielen anderen Webseiten ohne Problem stundenlange Websocket-Sessions aufhaben kann.

Sieht in der Browser-Konsole so aus:
16:41:37.812 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:492 16:41:42.714 ERRMSG:<
fhemweb.js:492 16:41:42.813 ERRMSG:<
fhemweb.js:492 16:42:33.485 Console Rcvd: 2019-01-02 16:42:32.223 CUL_HM bd_hmRt measured-temp: 35.5<br>

fhemweb.js:492 16:42:37.814 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:492 16:42:42.901 ERRMSG:<
fhemweb.js:492 16:42:42.901 ERRMSG:<
fhemweb.js:492 16:43:37.815 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:492 16:43:42.902 ERRMSG:<
fhemweb.js:492 16:43:42.902 ERRMSG:<
fhemweb.js:492 16:44:37.817 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:492 16:44:42.718 ERRMSG:<
fhemweb.js:492 16:44:42.819 ERRMSG:<
fhemweb.js:492 16:45:36.447 Console Rcvd: 2019-01-02 16:45:35.200 CUL_HM bd_hmRt measured-temp: 36.5<br>

fhemweb.js:492 16:45:37.817 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:492 16:45:42.900 ERRMSG:<
fhemweb.js:492 16:45:42.901 ERRMSG:<
fhemweb.js:492 16:46:37.819 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:492 16:46:42.900 ERRMSG:<
fhemweb.js:492 16:46:42.900 ERRMSG:<


Mein System ist Windows 10 mit einem aktuellen Chrome.

Das ist mein WEB-Device:
Internals:
   CONNECTS   648
   CSRFTOKEN  csrf_102423063057755e15
   DEF        8084 global
   FD         6
   NAME       WEB
   NR         13
   NTFY_ORDER 50-WEB
   PORT       8084
   STATE      Initialized
   TYPE       FHEMWEB
   READINGS:
     2019-01-01 18:46:48   state           Initialized
Attributes:
   JavaScripts codemirror/fhem_codemirror.js input/jquery-input-history.js
   SVGcache   1
   codemirrorParam { "lineWrapping":true }
   column     Wohnung:Nachrichten,Zustände,Statistik,System,Geräte,Logik|Energie Flur:Server,Geräte|Klima,Licht,System Schlafzimmer:Geräte,Licht,Statistik|Klima,System Wohnzimmer:Licht,Geräte|Klima,System
   confirmDelete 0
   endPlotNow 1
   endPlotToday 1
   group      Schnittstellen
   hiddenroom Übersicht
   icon       it_internet
   iconPath   openautomation:fhemSVG:default
   mainInputLength 80
   menuEntries Update,cmd=update,Restart,cmd=shutdown 1
   plotfork   1
   room       System
   sortRooms  Übersicht Wohnzimmer Schlafzimmer Bad Küche Flur Wohnung Wetter Sonstiges
   styleData  {
"f18": {
  "Pinned.menu": true,
  "cols.bg": "444444",
  "cols.fg": "CCCCCC",
  "cols.link": "FF9900",
  "cols.evenrow": "333333",
  "cols.oddrow": "111111",
  "cols.header": "222222",
  "cols.menu": "111111",
  "cols.sel": "333333",
  "cols.inpBack": "444444",
  "savePinChanges": true,
  "Pinned.Room.K%c3%bcche.grp. Heißwassertherme": true
}
}
   stylesheetPrefix f18
   webname    home


Der Verbindungsabbruch passiert ja alle 60 Sekunden. Kann man die Uhr nach stellen. Ich würde ja fast wetten, dass da irgendeine keep-Alive-Mechanismus fehlt. Entweder Server oder Client scheint die Verbindung zu schließen nachdem 60 Sekunden keine Daten übertragen wurden. Da ja in meinem Beispiel der Browser ab und zu Daten empfängt, sieht es eher so aus als ob die FHEM-Seite die Verbindung alle 60 Sek. schließt, da der Browser ja keine Daten zurück schickt, oder?
Würde es evtl. schon reichen, wenn der Browser alle 30 Sek. ein Heartbeat in irgendeiner Form über den Socket schicken würde?

Ein Workaround wäre sicherlich, longpoll zu aktivieren und damit wieder zurück auf HTTP zu gehen, aber nach meinem Verständnis ist doch Websocket jetzt der aktuelle Default, der auch funktionieren müsste?

rudolfkoenig

Zitatda ich auf vielen anderen Webseiten ohne Problem stundenlange Websocket-Sessions aufhaben kann.
Und du bist sicher, dass diese Verbindungen nicht still wiederhergestellt werden?

ZitatMein System ist Windows 10 mit einem aktuellen Chrome.
Gibts das Problam auch auf nicht Windows Systemen?


websocket ist die Voreinstellung fuer chrome (attr WEB longpoll websocket), sonst HTTP longpoll (attr WEB longpoll 1)
FHEMWEB schliesst zwar tote Verbindungen nach 60 Sekunden, aber _nicht_ die longpoll Verbindung. Ich habe vorhin Chrome gestartet, und nach 22 Minuten immer noch keine Meldung gesehen, deswegen gehe ich davon aus, dass in deinem Netzwerk eine andere Komponente fuer den Verbindungsbbruch sorgt.

Du kannst ja mal testen, ob regelmaessig etwas zu senden hilft:
defmod pingWEB at +*00:00:30 trigger WEB JS:

vbs

Neue Erkenntnis:
Das Problem tritt nicht auf, wenn ich einfach nur den Event-Monitor aktiviere. Ich kann ihn dann auch viele Minuten ohne Problem offen haben. Aber sobald ich einmal das Filter-Fenster aufrufe (".*") und mit "Ok" bestätige, fangen die Probleme an (auch ohne den Filterausdruck überhaupt zu verändern). Das Betätigen von "Ok" wird auch in der JS-Console quittiert mit "20:27:20.343 ERRMSG:<". Das letzte ist offenbar ein übel gelaunter Smiley :<
Also ab dem Moment, in dem ich OK drücke, bricht dann alle 60 Sek. die Verbindung weg.

Vielleicht kannst du es damit ja reproduzieren.


Zitat von: rudolfkoenig am 02 Januar 2019, 19:18:59
Und du bist sicher, dass diese Verbindungen nicht still wiederhergestellt werden?
Ja sehr sicher. Bei jedem Reconnect taucht die neue Websocket Verbindung in dem Chrome-Netzwerk-Tab als neue Verbindung auf. Ich kann auf andere Webseiten gehen, die eine Websocket-Verbindung habe und da bleibt die gleiche Verbindung praktisch ewig bestehen (ohne das "ewig" überprüft zu haben).

Zitat von: rudolfkoenig am 02 Januar 2019, 19:18:59
Gibts das Problam auch auf nicht Windows Systemen?
Ja, ich hab hier eine aktuelle Ubuntu VM mit aktuellem Chromium und da ist es exakt dasselbe Verhalten.
Um mal einen nicht-Chromium-basierten Browser zu testen hab ich auf dem Win10 mal mit Edge probiert aber da scheint es noch viel schlimmer: da kommt alle paar Sekunden die Meldung "Connection lost, trying a reconnect every 5 seconds".

Zitat von: rudolfkoenig am 02 Januar 2019, 19:18:59
FHEMWEB schliesst zwar tote Verbindungen nach 60 Sekunden, aber _nicht_ die longpoll Verbindung. Ich habe vorhin Chrome gestartet, und nach 22 Minuten immer noch keine Meldung gesehen, deswegen gehe ich davon aus, dass in deinem Netzwerk eine andere Komponente fuer den Verbindungsbbruch sorgt.
Hm, ich verstehe, dass das Problem nicht bei jedem auftritt, aber mein Netzwerk ist ganz simpel, kabelgebunden mit 3 bis 4 Clients.
Macht mich schon etwas stutzig, dass es einen Mechanismus gibt, der alle 60 Sek. tote Verbindungen schließt und mir eine Verbindung alle 60 Sek. weg stirbt.  :)
Du meintest wahrscheinlich "aber _nicht_ die longpoll Verbindung und auch nicht die Websocket Verbindung", oder?  8)

Zitat von: rudolfkoenig am 02 Januar 2019, 19:18:59
Du kannst ja mal testen, ob regelmaessig etwas zu senden hilft:
defmod pingWEB at +*00:00:30 trigger WEB JS:
Ja es hilft leider nicht. Man sieht die gesendeten Trigger, aber trotzdem bricht die Verbindugn alle 60 Sek. ab:
19:43:07.079 Console Rcvd: #FHEMWEB:WEB_192.168.2.230_59129<<<<
fhemweb.js:492 19:43:22.060 Console Rcvd: #FHEMWEB:WEB_192.168.2.230_59129<<<<
fhemweb.js:492 19:43:37.059 Console Rcvd: #FHEMWEB:WEB_192.168.2.230_59129<<<<
fhemweb.js:492 19:43:52.065 Console Rcvd: #FHEMWEB:WEB_192.168.2.230_59129<<<<
fhemweb.js:492 19:43:58.046 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:492 19:44:03.901 ERRMSG:<
fhemweb.js:492 19:44:03.901 ERRMSG:<
fhemweb.js:492 19:44:07.058 Console Rcvd: #FHEMWEB:WEB_192.168.2.230_59315<<<<
fhemweb.js:492 19:44:22.060 Console Rcvd: #FHEMWEB:WEB_192.168.2.230_59315<<<<
fhemweb.js:492 19:44:37.061 Console Rcvd: #FHEMWEB:WEB_192.168.2.230_59315<<<<
fhemweb.js:492 19:44:52.104 Console Rcvd: #FHEMWEB:WEB_192.168.2.230_59315<<<<
fhemweb.js:492 19:44:58.047 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:492 19:45:02.948 ERRMSG:<
fhemweb.js:492 19:45:03.049 ERRMSG:<
fhemweb.js:492 19:45:07.067 Console Rcvd: #FHEMWEB:WEB_192.168.2.230_59454<<<<



Intruder1956

Nabend und ein frohes Neues Jahr,
das Thema hatten wir schon mehrfach z.b. hier
https://forum.fhem.de/index.php/topic,85080.msg777917.html#msg777917

und es ist bei mir noch immer genauso wie im o.g. Post beschrieben.
Bis heute keine Veränderung, aber ich lebe damit ist halt so. Fhem läuft trotzdem  :)

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

vbs

@rudolfkoenig
Hattest du evtl. schon Gelegenheit zu versuchen, das Problem gemäß meinem letzten Post nachzustellen?