heute hatte ich Probleme mit der Free-Verbindung.
Gladys ist lokal erreichbar, kein Problem, aber jedes Mal, wenn ich mich mit Gladys Plus (auf dem Telefon oder PC) wieder verbinden wollte, erhielt ich diese Meldung:
Interessant, normalerweise verbindet sich Gladys Plus automatisch wieder, aber du warst vielleicht in einem speziellen Fall, der die erneute Verbindung verhindert hat.
Hast du zufällig noch Zugriff auf die Gladys-Logs von damals? (docker logs gladys) Das würde mir helfen, das Problem nachzustellen!
Das hat vielleicht nichts zu tun, aber als ich mit einem ähnlichen Problem konfrontiert wurde, lag es daran, dass ich versehentlich ein Test-Image von Gladys auf meinem NAS laufen ließ.
Daher gab es 2 Instanzen von Gladys, die gleichzeitig versuchen, sich zu verbinden.
Ich habe tatsächlich Änderungen im Zusammenhang mit Gladys Plus in der Version 4.56 vorgenommen, daher könnte es ein Problem geben.
Ich untersuche das!
Auf Serverseite bemerke ich, dass sich einige Clients extrem häufig mit Gladys verbinden, und das verursacht Lastprobleme auf Serverseite. Es scheint also ein echtes Problem zu geben (oder jemand führt einen DOS-Angriff auf den Server durch, aber das würde mich wundern, das passt zeitlich mit dem Release von 4.56 zusammen).
Okay, es gibt ein echtes Problem mit der Wiederverbindung. Ich habe die Gladys Plus-Architektur neu gestartet, und das hat meine persönliche Instanz getrennt, die sich nicht mehr verbinden kann! Ich denke, ich werde einfach die Gladys Plus-Änderungen, die ich vorgenommen habe, zurücksetzen, bis ich die Ursache des Fehlers gefunden habe!
In der Zwischenzeit glaube ich, den Bug identifiziert zu haben.
In Gladys Assistant 4.56 habe ich eine neue Authentifizierungslogik für Websockets eingeführt, die eine schnellere Verbindung ermöglicht: ideal für einen sofortigen Zugriff auf das Dashboard auf mobilen Geräten.
Das Problem? Wenn die Instanz die Verbindung verliert, versucht sie, sich mit demselben access_token, der bei der ersten Verbindung verwendet wurde, erneut zu verbinden. Allerdings ist dieser access_token inzwischen abgelaufen und wird nicht erneuert. Ich verwende eine neue Logik, die in der socket-io-Bibliothek vorhanden ist, und hatte deren Funktionsweise bei einer Trennung nicht verstanden.
Ergebnis: Der Gladys Plus-Backend lehnt die Verbindung ab (JWT abgelaufen), und die Instanz gerät in eine endlose Reconnect-Schleife.
Das ist eine gute Lektion, und hier sind einige Verbesserungsvorschläge:
Erneuern des access_token bei Verlust der Verbindung, um mit einem gültigen Token neu zu starten.
Hinzufügen einer Verzögerung vor der erneuten Verbindung, um eine Überlastung des Servers im Falle einer endlosen Schleife zu vermeiden.
Verbesserung der Unit-Tests, um Szenarien des Verbindungsverlusts besser abzudecken und zu verhindern, dass dieser Bug erneut auftritt.
Entschuldigung für die Unannehmlichkeiten!
Ich halte euch auf dem Laufenden, sobald die Version 4.56.1 verfügbar ist
Ich war nicht zu Hause und hatte das gleiche Problem… Ich dachte, mein Smart-Home-Server mit Gladys wäre ausgefallen. Und ich bin gerade nach Hause gekommen und habe festgestellt, dass alles lokal funktioniert hat.
Ich habe bereits eine ganze Menge an Überwachung, das hat mich darauf gebracht, dass es ein allgemeines Problem gibt
Allmählich, je mehr Instanzen auf Gladys Assistant 4.56 umgestellt wurden, desto häufiger kam es vor, dass eine Instanz vorübergehend die Verbindung verlor, und diese Instanzen gerieten in eine aggressive Endlosschleife beim erneuten Verbinden.
Ich erhielt immer mehr E-Mails und verstand, dass es ein Problem gab!
Hallo @pierre-gilles,
deswegen habe ich nicht geantwortet, weil ich am Wochenende nicht verfügbar war. Ich wurde am Wochenende mehrmals von Gladys Plus abgemeldet.
Ich habe gerade auf 4.56.1 aktualisiert und die erneute Verbindung zu Gladys Plus erfolgte automatisch.
Vielen Dank für das Update
Hallo,
ich hatte auch zweimal das Problem, dass Gladys Plus nicht mehr verbunden war. Samstags, nach einem Update meiner Box und sonntags ohne ersichtlichen Grund.
Vielen Dank an @pierre-gilles für die schnelle Bearbeitung und das auch am Wochenende. Aktuell ist immer noch die Version 4.56.0 aktiv.
Abgesehen von dem bereits gelösten Problem, welche Lösungen gibt es, um wieder auf Gladys Plus zuzugreifen, wenn man nicht vor Ort ist, um den Mini-PC neu zu starten?
Mein Router (TP-Link Archer AX58 WiFi 6 AX 3000 Mbps Dual-Band-Router) bietet ein VPN, um auf mein lokales Netzwerk aus der Ferne zuzugreifen. Bei Problemen kann ich eingreifen und mich per SSH aus der Ferne mit meinem Mini-PC verbinden und sehen, was nicht stimmt, und den Mini-PC gegebenenfalls neu starten