FHEMWEB und Modul 74_Unifi "Connection lost, trying a reconnect every 5 seconds"

Begonnen von hoppel118, 29 Dezember 2018, 23:36:35

Vorheriges Thema - Nächstes Thema

hoppel118

Zitat von: rudolfkoenig am 31 Dezember 2018, 12:05:59
Einen dicken roten Pfeil auf die Zeile, die laut Chrome falsch sein soll, mit Beschreibung, wie es richtig ist. :)

OK, wenn es weiter nichts ist... Sag das doch gleich. Ich will eigentlich nur testen, ob ihr den Fehler findet. ;)

Zitat von: rudolfkoenig am 31 Dezember 2018, 12:05:59
Kannst du mir bitte bei der funktionierenden Version aus der JavaScript-Konsole alle Daten, die nach dem Aufruf der Problemseite protokolliert werden, hier anhaengen?

Gern! Wo ich das gerade sehe, wenn ich die Entwicklerkonsole in Firefox auf der Startseite meines FHEMWEBs aktiviere, sehe ich bereits folgenden Fehler:

InvalidStateError: A mutation operation was attempted on a database that did not allow mutations.
  transaction resource://gre/modules/IndexedDB.jsm:349:39
  objectStore resource://gre/modules/IndexedDB.jsm:377:23
  getStore resource://normandy/lib/AddonStudies.jsm:82:10
  getAll resource://normandy/lib/AddonStudies.jsm:204:12
  InterpretGeneratorResume self-hosted:1255:8
  next self-hosted:1210:9


Sollten wir das deiner Ansicht nach auch noch analysieren?

1. FHEMWEB room "Netzwerk" über Firefox ohne "attr WEB longpoll 1"

https://pastebin.com/FPjkWiSK

2. FHEMWEB room "Netzwerk" über Chrome ohne "attr WEB longpoll 1"

...der Vollständigkeit halber, auch wenn du das eigentlich nicht haben wolltest. ;)

https://pastebin.com/qtKx1Snn

3. FHEMWEB room "Netzwerk" über Chrome mit "attr WEB longpoll 1"

https://pastebin.com/nLzZHung

Zitat von: rudolfkoenig am 31 Dezember 2018, 12:05:59
Evtl. sind in den Daten Sonderzeichen, die FHEMWEB in der Websocket Version escapen sollte.

Hm..., evtl. ist das Fehler. Ich habe 3 Netzwerke (VLANs) mit entsprechenden WLANs (SSIDs) eingerichtet bzw. in Betrieb.


  • Gallien
  • Gallien-IoT
  • Gallien-Gäste

Immer wenn es in den Logs oben um das Gäste-WLAN geht, steht dort "Gallien-G_ste" statt "Gallien-Gäste".

EDIT: Evtl. schaffe ich es morgen, testweise das Gäste-WLAN und -VLAN umzubenennen, so dass keine Sonderzeichen mehr enthalten sind. Eine wirkliche Lösung ist das aber auch nicht, da ich sicher nicht der einzige bin, der sein Gaeste-WLAN, Gäste-WLAN nennt. ;)

Wenn du noch irgendwas brauchst, gib mir einfach Bescheid.

Wie dem auch sei... Das war mein letzter Post für dieses Jahr! Ich wünsche dir/euch einen guten Rutsch ins neue Jahr! Feiert schön und bis bald! :D


Danke für die tatkräftige Unterstützung das Problem zu lösen.

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Musste den Beitrag gerade nochmal editieren. So viele Zeichen hat der Post nicht zu gelassen bzw. einfach abgeschnitten. Habe die entsprechenden Logs nun bei Pastebin hochgeladen und hier verlinkt.

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

rudolfkoenig

Ich habe die Daten durchgelesen, und mir ist nichts aufgefallen.
Dann habe ich aus den Daten defines/setreadings gebaut und auf einem aktuellen Chrome nachgestellt: kein Fehler.
Auch mit Umlauten in Readings gibt es keine Probleme, sofern alles brav utf8 kodiert wird.
=> Keine Idee.
ZitatHabe die entsprechenden Logs nun bei Pastebin hochgeladen und hier verlinkt.
Bitte demnaechst hier direkt anhaengen, siehe beim Beitrag Verfassen den Punkt Erweiterte Optionen, Datei anhaengen.

hoppel118

Hm... spannend...

Danke für die investierte Zeit. Kannst du mir nochmal bestätigen, dass du genau diese Version des Browsers im Einsatz hast: "Google Chrome 71.0.3578.98 (Offizieller Build) (64-Bit)"?

Eigenartig ist, dass ich dieses Problem nur mit Chrome und Edge ohne "attr WEB longpoll 1" auf dem Windows Rechner habe.

- Kann es sein, dass utf8 mein Problem auslöst ("Gallien-G_ste" statt "Gallien-Gäste" in der Entwicklerkonsole)?
- Wie kann ich prüfen, ob bei mir alles utf8 kodiert wird?

Ich werde mein Gäste-WLAN auf jeden Fall nochmal umbenennen und prüfen, ob es dann in den beiden Browsern funktioniert.

- Fällt dir noch irgendwas ein, was ich noch testen könnte, um das Problem in Chrome/Edge auf meinem Windows Rechner zu lösen?

Genügend funktionierende Alternativen habe ich ja nun.


@Dirk: Siehst du noch etwas, was ich/wir unbedingt noch testen sollten?

Vielen Dank und einen guten Start ins neue Jahr!

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Wuehler

Frohes neues Jahr,

Mir geben die Logs leider auch keine Hinweise.
Ganz am Anfang hatte Rudi nochmal was zum Virenscanner geschrieben. Hast du den mal deaktiviert?

VG,
Dirk

weihnachtsmann

Happy New Beer und tolles Modul @WUEHLER !

Ich hatte das Modul einige Zeit super am Laufen und gestern noch mal neu nutzen/einrichten wollen. Dabei stellte ich fest, dass die connect/disconnect events im Sekundentakt erfolgen. Logpoll oder Browser sind dabei egal. Das Modul verbindet zu Controller 192.168.1.205:8443 und disconnected dann wieder. Man sieht es auch in der Admin Console des Unifiy Event Logs. Habe auch mal ein einfaches Passwort für den user erfolglos benutzt, um Escaping von Sonderzeichen als Fehler zu isolieren. Im Moment tippe ich auf Versionsänderung des Unifi Controller Web Frontends. Vielleicht im TLS Handshake? Gruss!

Wuehler

Lieber guter Weihnachtsmann  ;)

das sieht mir dann nach einem anderen Problem aus, als in diesem Thread diskutiert. Hier ging es um FHemWeb. Bitte poste daher im Unifi-Thread die folgenden Infos:
- kurze Beschreibung des Problems
- Version des Unifi-Moduls
- Version des Unifi-Controllers
- Logauszug mit verbose=5 wenn der Fehler passiert
- Die Definition deines Unifi-Moduls (list Unifi)

weihnachtsmann

Uups. Bin wohl etwas überarbeitet nach den Feiertagen. Mach ich!
Schönes 2019!

hoppel118

Moinsen,

nachdem ich nun mein Problem mit meiner Homebridge einigermaßen im Griff habe, beschäftige ich mich jetzt hiermit nochmal. ;)

OK, bevor es losgeht, erstmal "attr FHEMWEB longoll" deaktivieren.

Zitat von: Wuehler am 02 Januar 2019, 11:57:05
Ganz am Anfang hatte Rudi nochmal was zum Virenscanner geschrieben. Hast du den mal deaktiviert?

Wie bereits erwähnt, nutze ich keine spezielle Antivirus-Software. Ich verwende lediglich den Microsoft hauseigenen "Viren- und Bedrohungsschutz". Diesen habe ich testweise gerade mal komplett deaktiviert, siehe Screenshot. Die Meldung bleibt bestehen, daran liegt es also nicht.

Als nächstes habe ich im Controller geprüft, was passiert, wenn ich mein WLAN mit der SSID "Gallien-Gäste" umbenenne in "Gallien-Gaeste".

Dann einmal kurz den Browser-Cache in Chrome gelöscht, Chrome neugestartet, im FHEM-WebUI in den Raum Netzwerk gewechselt und "BÄM!!!". Da haben wir die Problemursache. :D So taucht die Meldung nicht mehr auf.

@Dirk: Kannst du das mal bitte bei dir nachstellen?

Bleibt die Frage, warum das Problem mit dem Umlaut in der SSID (bzw. im Reading "Gallien-G_ste") nur mit Edge und Chrome auf einem Windows 10 PC besteht und ob ihr mit dieser Erkenntnis noch was am Modul bzw. an FHEMWEB verändern wollt?

Ich stünde für weitere Tests gern zur Verfügung.

Ich habe meinem Gäste-WLAN und dem zugrunde liegenden (V)LAN nun die englische Bezeichnung "Gallien-Guests" gegeben. Damit ist das Problem erstmal behoben, ohne dass ich longpoll benötige.

Zitat von: rudolfkoenig am 30 Dezember 2018, 22:43:40
Kannst du bitte "attr WEB longpoll 1" auch testen? Verwendet die alte HTTP-longpoll Methode statt websocket.

Was ist denn eigentlich der Unterschied zwischen der alten HTTP-longpoll Methode und Websocket? Gibt es da signifikante Performance-Unterschiede?

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Wuehler

Hallo Hoppel,

ich habe mir die Chrome-Version von dir installiert und bekomme keine Meldung. An welcher Stelle wurde das ä eigentlich ersetzt? Im ReadingName oder im ReadingValue?
Das WLAN tauch ggf. mehrfach als ReadingValue auf. Und einmal im ReadingName -WLAN_<ssid>_state.
Beim Erzeugen des ReadingName wird die FHEM-Funktion makeGoodReadingName() verwendet. Diese ersetzt alle Sonderzeichen durch Unterstriche. Habe ich leider vorher nicht dran gedacht. Erst als ich mir testweise einen dummy angelegt habe und bei diesem mit setReading ein Sonderzeichen als Readingname setzen wollte. Es kam eine entsprechende Fehlermeldung von FHEM, dass Sonderzeichen im ReadingName nicht funktionieren.

Mein FHEMWEB longpoll steht dabei auf websocket.

Gruß,
Dirk

hoppel118

Zitat von: Wuehler am 13 Januar 2019, 23:18:45
ich habe mir die Chrome-Version von dir installiert und bekomme keine Meldung. An welcher Stelle wurde das ä eigentlich ersetzt? Im ReadingName oder im ReadingValue?
Das WLAN tauch ggf. mehrfach als ReadingValue auf. Und einmal im ReadingName -WLAN_<ssid>_state.
Beim Erzeugen des ReadingName wird die FHEM-Funktion makeGoodReadingName() verwendet. Diese ersetzt alle Sonderzeichen durch Unterstriche. Habe ich leider vorher nicht dran gedacht. Erst als ich mir testweise einen dummy angelegt habe und bei diesem mit setReading ein Sonderzeichen als Readingname setzen wollte. Es kam eine entsprechende Fehlermeldung von FHEM, dass Sonderzeichen im ReadingName nicht funktionieren.

Ich finde den "_" an folgenden Stellen, habe gerade nochmal alles wieder rückgängig gemacht:

-AP_wap-base_essid   Gallien-IoT,Gallien-G_ste,Gallien,Gallien-IoT,Gallien-G_ste,Gallien   2019-01-14 17:39:37
-AP_wap-kittchen_essid   Gallien-IoT,Gallien-G_ste,Gallien,Gallien-IoT,Gallien-G_ste,Gallien   2019-01-14 17:41:09
-AP_wap-office_essid   Gallien-IoT,Gallien-G_ste,Gallien,Gallien-IoT,Gallien-G_ste,Gallien   2019-01-14 17:42:10
-WLAN_Gallien-G_ste_state   enabled   2019-01-13 15:01:33


Zusätzlich dann wohl auch bei dem ReadingValue der Endgeräte "<unifi-alias>_essid".

Zitat von: Wuehler am 13 Januar 2019, 23:18:45
Mein FHEMWEB longpoll steht dabei auf websocket.

Wenn ich das "attr WEB longpoll websocket" konfiguriere, besteht der beschriebene Fehler, bei "attr WEB longpoll 1" nicht. Außerdem besteht der Fehler, wenn das "attr WEB longpoll ..." gar nicht in der fhem.cfg enthalten ist. Ich gehe davon aus, dass das "websocket" per default gesetzt ist.

Zitat von: hoppel118 am 13 Januar 2019, 15:18:55
Was ist denn eigentlich der Unterschied zwischen der alten HTTP-longpoll Methode und Websocket? Gibt es da signifikante Performance-Unterschiede?

@rudolfkoenig: Hat sich erledigt. Google ist mein Freund:

https://forum.fhem.de/index.php?topic=59713.0
https://de.wikipedia.org/wiki/WebSocket

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

rudolfkoenig

ZitatIch gehe davon, dass das "websocket" per default gesetzt ist.
Websocket ist default bei Chrome, weil er in bestimmten Faellen mit longpoll Probleme hat.
Da aber websocket nicht sauber von allen Browsern unterstuetzt wird (z.Bsp. kann Safari per Websocket keine Passwoerter uebertragen), ist es nur da die Voreinstellung.

ZitatWas ist denn eigentlich der Unterschied zwischen der alten HTTP-longpoll Methode und Websocket?
Es gibt einen Bedarf, Browser-Clients von Server zu benachrichtigen (neudeutsch push), wofuer HTTP _eigentlich_ nicht vorgesehen ist, da es ein Frage-Antwort Mechanismus implementiert. Wenn der Server aber nicht sofort antwortet (sondern erst dann, wenn Daten da sind), und der Client nicht zu ungeduldig ist, dann kann man per HTTP push doch realisieren, das nennt man longpoll. Der Haken: die Daten im Client wachsen immer an, und man muss die Verbindung erneut oeffnen, damit man den alten Puffer los wird.

Irgendwann sind die Standardisierungsleute aufgewacht, und haben websocket spezifiziert.
Jetzt kann der Benutzer es aussuchen, welcher der Methoden wo nicht funktioniert.

ZitatGibt es da signifikante Performance-Unterschiede?
Nicht in unserem Fall.

hoppel118

Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Zitat von: rudolfkoenig am 14 Januar 2019, 19:08:15
Websocket ist default bei Chrome, weil er in bestimmten Faellen mit longpoll Probleme hat.
Da aber websocket nicht sauber von allen Browsern unterstuetzt wird (z.Bsp. kann Safari per Websocket keine Passwoerter uebertragen), ist es nur da die Voreinstellung.

Moinsen,

ich muss das Thema nun doch nochmal stressen.

Das Unifi-Modul wird wie folgt definiert:

define UnifiController Unifi localhost 8443 <user> <password> <intervall> <site>

Ich habe mein WLAN umbenannt und seither gibt es, wenn ich "attr WEB longpoll websocket" setzte, keine Probleme mit Chrome, Edge und Firefox. Allerdings ist mir gerade aufgefallen, dass Safari nun komplett spinnt. Dort sehe ich die Meldung "Connection lost, trying a reconnect every 5 seconds" dauerhaft. FHEM reagiert aber ganz normal.

@Rudolf: Das hängt dann wahrscheinlich mit der Passwort-Thematik zusammen, oder?

Am Mac möchte ich gern bei Safari bleiben. Sobald ich longpoll komplett deaktiviere, funktioniert es auf allen Browsern, auch auf Safari.

@Dirk: Kann man das Passwort evtl. irgendwie anders übergeben?

Das ganze hat keine Prio, da ich ohne longpoll eine auf allen Browsern lauffähige Lösung habe.


EDIT: Habe gerade folgenden Beitrag in dem Thread unter meinem entdeckt: https://forum.fhem.de/index.php/topic,76983.msg890794.html#msg890794

Ich habe mein FHEM gerade aktualisiert. Deine Anpassung verändert an dem Verhalten von Safari nichts.

Danke euch und Gruß
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Wuehler

Hallo Hoppel,

das Passwort des UnifiControllers kann ich mir nicht als Problem vorstellen. In Rudis Kommentar ging es denke ich um ein htaccess Passwort oder ähnliches. Im Modul wird das ja nur informatorisch und verschlüsselt in FhemWeb angezeigt.
Würde eher das Umalaute-Problem verfolgen. Auch wenn ch es bei mir nicht nachstellen kann.

Viele Grüße,
Dirk