NEWS
iobroker im Docker - hm.rpc keine Verbindung
-
@smarti2015 sagte in iobroker im Docker - hm.rpc keine Verbindung:
Oh also die IPs wieder raus und oben auf Port offen stellen?
Was ja irgendwie am Sinn einer Firewall vorbeigeht.
Aber da können auch noch ganz andere Effekte wegen deines Container zu dem Problem führen.
Da kenne ich mich nicht mit aus, ich weiß schon warum ich mir keine Container antueOk ach dann lass ich das so wie es grad ist mit dem Linux ioBroker, der läuft ja super. Dachte nur in einem Container ist das auch ne schicke Sache, aber da gibt es mir jetzt einfach zu viele Probleme. Ich danke euch!
-
Ok ach dann lass ich das so wie es grad ist mit dem Linux ioBroker, der läuft ja super. Dachte nur in einem Container ist das auch ne schicke Sache, aber da gibt es mir jetzt einfach zu viele Probleme. Ich danke euch!
Hallo zusammen,
ich hatte dasselbe Proben und habe es nun gelöst. Die Lösung ist eigentlich einfach: Die Ports müssen im Docker-Container freigegeben werden. Der Docker-Container von iobroker hört per default nur auf 8081 und 8082. Da iobroker für viele Adapter gemacht wurde, müssen alle für die jeweiligen Adapter benötigten Ports gesondert freigegeben werden.
Der Docker-Container muss für Homematic hinsichtlich der Ports daher wie folgt erweitert werden:
HM-Rega:
keine Anpassung notwendig (benötigt keine gesonderten Ports)HM-RPC rfd-Daemon:
Port 2001 (für HTTP) bzw. 42001 (für HTTPS) verbindenHM-RPC HomeMatic IP-Daemon:
Port 2010 (für HTTP) bzw. 42010 (für HTTPS) verbindenHM-RPC CuX-Daemon:
Port 8700 (für HTTP) bzw. 8701 (für HTTPS) verbindenIn den Adaptereinstellungen muss bei rfd und HmIP jeweils [IPv4] 0.0.0.0 als Adapter-Adresse eingetragen werden, da hostseitig nur die internen Adressen (172....) bzw. die Loopbackadresse (127.0.0.1) zur Verfügung stehen und für eine Callback-Adresse aber die externe benötigt wird. Deshalb muss der Adapter auf alle Adressen hören. Beim Port nichts eintragen (systemseitig wird dann 0 eingetragen - das ist ausreichend). Damit hört der Adapter auf alle eingehenden Anfragen. Da die Homematic-Zentrale die Anfragen an den Port zurückzusenden scheint, an dem sie dort eingehen (z. B. 42001) funktioniert die Verbindung dann, da der Port auch beim Docker geöffnet ist und der Adapter automatisch darauf lauscht.
Bei meinem Docker-Container sind somit aktuell folgende Ports durchgeleitet:
- 8081:8081
- 8082:8082
- 42001:42001
- 42010:42010
- 8701:8701
Homematic-Seitig muss darauf geachtet werden, dass die Ports dann in der Firewall freigegeben sind:

Noch ein Tipp an der Stelle: Generell werden bei einem Docker-Container bei der Aktualisierung immer alle Daten gelöscht. Das bedeutet für den iobroker, dass auch alle Konfigurationen und historischen Daten weg sind. Daher ist es bei Docker-Containern - so auch beim iobroker - obligatorisch, dass man das Datenverzeichnist extern verlinken kann und so Daten persistent speichern kann. Das sollte jeder beim Anlegen des Containers (später geht es nicht mehr) machen. Infos gibt es hier: https://hub.docker.com/r/buanet/iobroker/
Dort dann unter der Übersichrift "Persistent data".Ich hoffe das hilft euch.
Grüße
-
Hallo zusammen,
ich hatte dasselbe Proben und habe es nun gelöst. Die Lösung ist eigentlich einfach: Die Ports müssen im Docker-Container freigegeben werden. Der Docker-Container von iobroker hört per default nur auf 8081 und 8082. Da iobroker für viele Adapter gemacht wurde, müssen alle für die jeweiligen Adapter benötigten Ports gesondert freigegeben werden.
Der Docker-Container muss für Homematic hinsichtlich der Ports daher wie folgt erweitert werden:
HM-Rega:
keine Anpassung notwendig (benötigt keine gesonderten Ports)HM-RPC rfd-Daemon:
Port 2001 (für HTTP) bzw. 42001 (für HTTPS) verbindenHM-RPC HomeMatic IP-Daemon:
Port 2010 (für HTTP) bzw. 42010 (für HTTPS) verbindenHM-RPC CuX-Daemon:
Port 8700 (für HTTP) bzw. 8701 (für HTTPS) verbindenIn den Adaptereinstellungen muss bei rfd und HmIP jeweils [IPv4] 0.0.0.0 als Adapter-Adresse eingetragen werden, da hostseitig nur die internen Adressen (172....) bzw. die Loopbackadresse (127.0.0.1) zur Verfügung stehen und für eine Callback-Adresse aber die externe benötigt wird. Deshalb muss der Adapter auf alle Adressen hören. Beim Port nichts eintragen (systemseitig wird dann 0 eingetragen - das ist ausreichend). Damit hört der Adapter auf alle eingehenden Anfragen. Da die Homematic-Zentrale die Anfragen an den Port zurückzusenden scheint, an dem sie dort eingehen (z. B. 42001) funktioniert die Verbindung dann, da der Port auch beim Docker geöffnet ist und der Adapter automatisch darauf lauscht.
Bei meinem Docker-Container sind somit aktuell folgende Ports durchgeleitet:
- 8081:8081
- 8082:8082
- 42001:42001
- 42010:42010
- 8701:8701
Homematic-Seitig muss darauf geachtet werden, dass die Ports dann in der Firewall freigegeben sind:

Noch ein Tipp an der Stelle: Generell werden bei einem Docker-Container bei der Aktualisierung immer alle Daten gelöscht. Das bedeutet für den iobroker, dass auch alle Konfigurationen und historischen Daten weg sind. Daher ist es bei Docker-Containern - so auch beim iobroker - obligatorisch, dass man das Datenverzeichnist extern verlinken kann und so Daten persistent speichern kann. Das sollte jeder beim Anlegen des Containers (später geht es nicht mehr) machen. Infos gibt es hier: https://hub.docker.com/r/buanet/iobroker/
Dort dann unter der Übersichrift "Persistent data".Ich hoffe das hilft euch.
Grüße
Ergänzung,
wenn man Probleme mit bereits durch andere Applikationen belegten Ports auf dem Host System hat, kann man auch ein macvlan Netz anlegen und damit dem Container eine richtige eigene ip im Netz geben. -
Hallo zusammen,
ich hatte dasselbe Proben und habe es nun gelöst. Die Lösung ist eigentlich einfach: Die Ports müssen im Docker-Container freigegeben werden. Der Docker-Container von iobroker hört per default nur auf 8081 und 8082. Da iobroker für viele Adapter gemacht wurde, müssen alle für die jeweiligen Adapter benötigten Ports gesondert freigegeben werden.
Der Docker-Container muss für Homematic hinsichtlich der Ports daher wie folgt erweitert werden:
HM-Rega:
keine Anpassung notwendig (benötigt keine gesonderten Ports)HM-RPC rfd-Daemon:
Port 2001 (für HTTP) bzw. 42001 (für HTTPS) verbindenHM-RPC HomeMatic IP-Daemon:
Port 2010 (für HTTP) bzw. 42010 (für HTTPS) verbindenHM-RPC CuX-Daemon:
Port 8700 (für HTTP) bzw. 8701 (für HTTPS) verbindenIn den Adaptereinstellungen muss bei rfd und HmIP jeweils [IPv4] 0.0.0.0 als Adapter-Adresse eingetragen werden, da hostseitig nur die internen Adressen (172....) bzw. die Loopbackadresse (127.0.0.1) zur Verfügung stehen und für eine Callback-Adresse aber die externe benötigt wird. Deshalb muss der Adapter auf alle Adressen hören. Beim Port nichts eintragen (systemseitig wird dann 0 eingetragen - das ist ausreichend). Damit hört der Adapter auf alle eingehenden Anfragen. Da die Homematic-Zentrale die Anfragen an den Port zurückzusenden scheint, an dem sie dort eingehen (z. B. 42001) funktioniert die Verbindung dann, da der Port auch beim Docker geöffnet ist und der Adapter automatisch darauf lauscht.
Bei meinem Docker-Container sind somit aktuell folgende Ports durchgeleitet:
- 8081:8081
- 8082:8082
- 42001:42001
- 42010:42010
- 8701:8701
Homematic-Seitig muss darauf geachtet werden, dass die Ports dann in der Firewall freigegeben sind:

Noch ein Tipp an der Stelle: Generell werden bei einem Docker-Container bei der Aktualisierung immer alle Daten gelöscht. Das bedeutet für den iobroker, dass auch alle Konfigurationen und historischen Daten weg sind. Daher ist es bei Docker-Containern - so auch beim iobroker - obligatorisch, dass man das Datenverzeichnist extern verlinken kann und so Daten persistent speichern kann. Das sollte jeder beim Anlegen des Containers (später geht es nicht mehr) machen. Infos gibt es hier: https://hub.docker.com/r/buanet/iobroker/
Dort dann unter der Übersichrift "Persistent data".Ich hoffe das hilft euch.
Grüße
Eventuell macht es aber auch einen Unterschied, ob man den Container im Host oder Bridgemodus betreibt .
Ich habe den Haken bei „Dasselbe Netzwerke nutzen“ …. gesetzt .
Ich habe noch bei keiner Iobroker Container Version Ports mappen müssen .