OpenHAB auf meinem Raspi kann die homematic ccu, die im Docker container auf einem anderen Rechner läuft nicht einbinden

Moderator: seppy

Antworten
rebell21
Beiträge: 125
Registriert: 23. Aug 2024 09:34
Answers: 0

OpenHAB auf meinem Raspi kann die homematic ccu, die im Docker container auf einem anderen Rechner läuft nicht einbinden

Beitrag von rebell21 »

Ich habe eine OpenHAB 4.2.1 Installation auf einem Raspi 4B.
Ich habe noch ein paar Homematic IP Geräte, die ich in OpenHAB integrieren möchte. Ich habe auf einem kleinen Intelrechner (IP Adresse 192.168.2.120) unter Linux einen Docker Container eingerichtet, der die Homematic Zentrale HM-CCU im Dockert Container erfolgreich startet. An den Rechner sind über eine Homematic RF-USB Stick ein paar Geräte angeschlossen (Bewegungsmelder Homematic IP). Das funktioniert auch. Ich sehe die Geräte in der HM-CCU.
Es gelingt mir aber nicht, die Homematic CCU im Docker Container auf dem Intelrechner in die OpenHAB 4.2.1 Installation auf meinem Raspi einzubinden. Ich habe über Docker inspect die IP Adresse des Gateways der Homematic CCU im Docker Container ermittelt (172.17.0.1).

OpenHAB läuft auf dem Raspi nicht in Docker sondern direkt per service gestartet.

Wie muss ich den Konfigurationsdialog für die Homematic Bridge in OpenHAB konfigurieren. Ich habe unter Gateway die mit Docker inspect ermittelte Adresse

Benutzeravatar
udo1toni
Beiträge: 15240
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: OpenHAB auf meinem Raspi kann die homematic ccu, die im Docker container auf einem anderen Rechner läuft nicht einbi

Beitrag von udo1toni »

Ja, so geht das auch nicht... Du musst schon die "öffentliche" IP des Homatic-Containers verwenden.

Erklärung: Default hat jeder docker Container sein eigenes Netzwerk, und zwar ein Klasse-C Subnetz aus dem Private-IP Pool Klasse-B (172.16.0.0 - 172.31.255.255).
Diese einzelnen Netzwerke sind voneinander abgeschottet. Man kann in einem Stack mehrere Container dem gleichen Subnetz zuordnen, damit diese (ausschließlich untereinander) miteinander kommunizieren können.
Du willst allerdings einfach eine Verbindung über die öffentliche IP herstellen. Das ist die IP des Docker Host. Außerdem musst Du darauf achten, dass der korrekte Port angegeben ist. Den Port gibst Du im Startbefehl für den Container an, z.B. wenn Du per docker-compose arbeitest, in einer yaml Datei diese Zeilen:

Code: Alles auswählen

    ports: 
      - 8080:8080
      - 8443:8443
bedeuten dann, dass die Ports 8080 und 8443 aus dem Container auf die selben Ports der host IP gemappt werden.

Eine andere Frage ist allerdings, warum Du openHAB nicht ebenfalls als docker Container laufen lässt. Weil, wenn Du schon den Aufwand mit docker treibst, dann solltest Du auch die unbestreitbaren Vorteile daraus ziehen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

rebell21
Beiträge: 125
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: OpenHAB auf meinem Raspi kann die homematic ccu, die im Docker container auf einem anderen Rechner läuft nicht einbi

Beitrag von rebell21 »

Hallo Danke, mit der IP Adresse des Docker hosts klappt es. Sehe die Homematic Geräte in OpenHAB.

Warum ich OpenHAB nicht auch im Docker Container betreibe.

Ich habe mit OpenHAB Experimenten auf dem RASPI angefangen und dabei OpenHAB als Service auf dem RASP installiert. Den Intel NUC habe ich dazugenommen, um die Homematic CCU zu installieren. Ich habe die Homematic CCU und Raspberrymatic nicht auf dem RASPI zum Laufen gebracht und daher den NUC genommen. Sobald meine Experimente auf dem RASPI abgeschlossen sind, werde ich OpenHAB in einem Docker Container auf dem NUC installieren und die Homematic CCU im zweiten getrennten Container auf dem Intel NUC laufen lassen. Der RASPI wird dann nicht mehr benötigt.

Benutzeravatar
udo1toni
Beiträge: 15240
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: OpenHAB auf meinem Raspi kann die homematic ccu, die im Docker container auf einem anderen Rechner läuft nicht einbi

Beitrag von udo1toni »

Ah, Du bist noch in der Experimentierphase... :)

Tatsächlich kann man Docker auch prima auf dem Raspberry laufen lassen, da sollte dann auch die CCU laufen. Allerdings ist der NUC mutmaßlich selbst gegenüber einem Raspi 5 noch um Längen schneller und nicht weniger effizient, da wäre es natürlich Quatsch jetzt wieder auf den Raspi zu gehen. Wobei der ja auch andere Aufgaben übernehmen kann, ist also nicht zwangsläufig verloren :)

Meine Empfehlung wäre allerdings, zügig auch openHAB auf Container umzustellen, es gibt halt schon Unterschiede zwischen beiden Umgebungen, weil Du z.B. beim Container Hardware (USB-Sticks...) auf bestimmte Art und Weise in den Container weiterreichen musst.
Auch ist es dringend angeraten, openHAB unter Docker im Host-Mode laufen zu lassen. Dabei bekommt openHAB kein eigenes Subnetz aus dem 172er Adressraum, sondern verwendet direkt das Host-Netz mit. Wichtig ist das im Zusammenhang mit ZeroConf/Avahi/MDNS, weil die alle mit Multicast rumhantieren, was nicht geroutet wird und somit in einem separaten Subnetz nicht zur Verfügung stünde.
Auch das Thema Backup/Restore/Update funktioniert unter Docker komplett anders als in einer nativen Umgebung.
Ansonsten kann man unter Docker uneingeschränkt alles realisieren, was auch nativ geht, die Wege sind aber teilweise anders. Ein einziges "Problemkind" wäre hier die Anbindung von IP Kameras, weil dazu ffmpeg im Container zur Verfügung gestellt werden muss. Das offizielle openHAB Image auf dockerhub enthält kein ffmpeg, man muss also entweder einem anderen Anbieter vertrauen oder das Image selbst um ffmeg erweitern. Ist auch kein Hexenwerk, aber natürlich aufwändiger als ein simples docker-compose...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten