Die Fehlermeldungen sind immer noch dieselben (nach 2 Tagen einwandfreier Laufzeit). Der Port 9126 ist aus dem docker Container erreichbar.
Allerdings hat es für mich den Anschein, dass die Verbindungen nicht mehr geschlossen werden.
Wenn ich auf dem Openhab WIndows Server ein “netstat -an” ausführe gibt es eine sehr lange Liste mit dem Port 9126. Sowohl Target als auch als Source.
Warum werden die Verbindungen nicht korrekt geschlossen?
Das Problem lag noch an der Rückmelde IP zwischen Docker und Windows. Wenn ich unter Callback Host in Openhab “host.docker.internal” eintrage werden die Ports sauber geschlossen und es läuft.
Leider schon wieder zu früh gefreut Es hat 2 Tage perfekt funktioniert. Es waren nur ca. 5-6 connections auf 9126 offen.
Seit gestern Abend sind wieder die Connections auf dem Openhab Host angestiegen bis sich der Docker Container eben selbst beendet hat.
noch kann ich dir nicht sicher sagen, woran es liegt. Ich habe meinen Test hier mal wieder gestartet - hoffentlich kann ich es hier reproduzieren, das wäre das einfachste.
Ich habe das Thema auch schon beobachtet. Ich bin mir auch ziemlich sicher, das das Thema schon einmal aufgetaucht und behoben worden ist. Jedenfalls kommen mir die Symptome unglaublich bekannt vor.
Ich setze aktuell 2285 ein, davor hatte ich 2282. Kann aber nicht sagen, ob es damit erst aufgetaucht ist, da ich kurz vorher von Openhabian-Jessi auf Openhabian-Stretch gewechselt bin. (Neuinstallation von allem. ;-))
Bei mir in openHAB stellt sich das so dar:
Verbindung zu Homegear verloren
Verbindung zu Homegear weider hergestellt
Alle Geräte werden wieder übertragen
Bevor alle Geräte wieder im Status “online” sind gibt es wieder:
Verbindung zu Homegear verloren
Das einzige was hilft, ist ein Neustart von openHAB.
Falls ihr es generiert bekommt: Könnt ihr mir noch einmal ein vollständiges Log auf Loglevel 4 posten (mit Nennung des Ausfallzeitpunktes, damit ich die Stelle schnell finde)?
im Anhang Logfiles auf dl4. Es lief einen Tag problemlos. Der Fehler begann 05.08.18 8:32.
Ab hier wird in Openhab homegear und dementsprechend alle Things als offline gekennzeichnet.
Weiterhin werden wieder extrem viele Ports nicht geschlossen (siehe ports.txt).
Die Kommunikation zu homegear funktioniert noch. Ich kann also die als offline gekennzeichneten Things steuern. Homegear meldet aber keinen Status mehr an openhab zurück.
Ein Neustart des Containers hat hier auch nicht geholfen. Ich musste openhab neustarten.
das Log hilft!!! OpenHAB versucht sich neu zu verbinden, während Homegear noch auf eine Antwort vom vorherigen init wartet - welche nie kommt. Die vom aktuellen init kommt dann ebenfalls ins Timeout.
Probier mal Folgendes, bevor ich den Quelltext anpasse:
Das reduziert den Timeout für den angegebenen Host auf 5 Sekunden. Falls das das Problem löst, passe ich den Quelltext für OpenHAB an bzw. überlege mir eine allgemeinere Lösung.
Dann nimm mal 10 Sekunden (also timeout = 10000). Wenn der Fehler wieder auftritt, poste noch einmal das Log auf Loglevel 4 - mal sehen, woran es dann liegt. Wir bekommen das Problem schon gelöst ;-).
Positiv ist schonmal, dass openHAB sich nach dem Neustart von Homegear wieder synchronisiert hat. Vorher half in diesem Fall nur ein Neustart von openHAB.
ok, jetzt läuft es wie erwartet - schade, dass der Fehler noch auftritt:
8/07/18 13:59:24.317 RPC client: Info: Reading from RPC server timed out. Server: host.docker.internal
08/07/18 13:59:24.317 Removing server "RF-51D140F6-BDA2-EA3E-ACE3-97D6CBC77848" after trying to send a packet 1 times. Server has to send "init" again.
08/07/18 13:59:34.325 RPC Server (Port 2001): Info: Client number 476 is calling RPC method: init (2) Parameters:
Heißt: Timeout und Anschließend Verbindungstrennung. Erst danach folgt das init(). So soll es eigentlich sein. Ich grübel und recherchiere mal, woran es liegen konnte. Die Info hilft aber bereits gewaltig.
ich vermute, das Problem hängt damit zusammen, dass OpenHAB ping() direkt im Anschluss an das init() ausführt:
08/06/18 13:54:13.489 RPC Server (Port 2001): Info: Client number 585 is calling RPC method: init (2) Parameters:
(String) binary://host.docker.internal:9126
(String) RF-51D140F6-BDA2-EA3E-ACE3-97D6CBC77848
(Integer) 34
08/06/18 13:54:13.489 Info: Client with IP ::ffff:172.17.0.1 is calling "init".
08/06/18 13:54:13.490 Info: Adding server "binary://host.docker.internal".
08/06/18 13:54:13.490 Info: Settings for host "host.docker.internal" found in "rpcclients.conf".
08/06/18 13:54:13.490 Info: Calling init methods on server "binary://host.docker.internal".
08/06/18 13:54:13.522 RPC Server (Port 2001): Info: Connection from ::ffff:172.17.0.1:41790 accepted. Client number: 586
08/06/18 13:54:13.523 RPC Server (Port 2001): Info: RPC server client id for client number 586 is: 101
08/06/18 13:54:13.523 RPC Server (Port 2001): Info: Client number 586 is calling RPC method: ping (2) Parameters:
(String) 51D140F6-BDA2-EA3E-ACE3-97D6CBC77848
08/06/18 13:54:23.555 RPC client: Info: Reading from RPC server timed out. Server: host.docker.internal
Es gibt jetzt zwei Möglichkeiten: Entweder an der Stelle sendet Homegear keine Antwort, obwohl eine erwartet wird oder Homegear sendet eine Antwort und OpenHAB antwortet dann nicht mehr auf die Init-Anfragen von Homegear. Zunächst einmal gehe ich von letzterem aus. Ich habe den Quelltext bereits angepasst, Homegear kompiliert und ein neues Nightly-Docker-Image erzeugt. Wenn ihr es einmal testen könntet, wäre das ganz klasse! Falls es jetzt funktioniert super, falls nicht, wäre ein Log auf Loglevel 5 klasse. Da werden die Pakete mitgeloggt.