[gelöst] Mit HMCCU auf Raspimatik im Docker Container zugreifen

Begonnen von ohosch, 06 Februar 2023, 13:06:59

Vorheriges Thema - Nächstes Thema

ohosch

Hallo,
Ich habe am Wochenende meine Raspimatik auf Docker auf einem RPI4 umgezogen. Nach viel hin und der mit dem RPI-RF-MOD ging das dann irgendwann (dtoverlay=disable-bt und enable_uart=1 in der Config.txt  haben dann den Ausschlag gemacht).

Nun ging es darum im Modul HMCCU den RPC Prozess zum laufen zu bringen.
Um das Modul in den Zustand auf Running/OK zu bekommen, musste ich die Parameter
rpcserverport 2001,2010
und
rpcserverip 192.168.x.x (IP Adresse des Docker Host)
setzen und im Docker Container mappen.

Im Docker Container Mappe ich die Ports: 8701:8701 2001:2001 2010:2010 8080:80 8181:8181

Steuern von Geräten von FHEM aus funktioniert, allerdings bekommt FHEM von der Raspiatik keinen Status zurück. Entsprechend funktionieren auch keine Schalter und Bewegsungsmelder.

Muss ich hier noch weitere Ports Mappen, damit die Raspimatik eine Verbindung zu FHEM aufbauen kann? Wenn ja welche. Ich finde leider keine weiteren Informationen. Wäre für Hilfe sehr dankbar.

Viele Grüße,
Ohosch




Otto123

Schaumal hier: https://forum.fhem.de/index.php/topic,131557.msg1257701.html#msg1257701

Wenn Du es wirklich außenrum betreibst (fhem ist kein docker?) dann fehlen ports ;)

Generell beim Raspberry immer diese Anleitung beachten: https://wiki.fhem.de/wiki/Raspberry_Pi#Verwendung_UART_f.C3.BCr_Zusatzmodule
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

ohosch

Hallo Otto,
Danke für den Link, den Thread hatte mit Google gar nicht ausgespuckt, dabei findet Google im FHEM Forum eigentlich alles sehr gut.... Hätte mir sicherlich viel Rumprobiererei erspart, denn mit den pivccu Modules wollte es erst mal auch nicht (bzw. dem RPI-RF-MOD auf dem GPIOs)

Ports werden hier leider auch nur die  Ports "8081:80" "2001:2001" gemappt. Damit sollte gar keine Verbindung nach FHEM laufen. Die braucht doch zumindest auchnoch 8181 und 2001 mappt auch nur BidCos-RF und nicht HmIP-RF, mit dem ich die Probleme habe. Das läuft bei mir auf 2010.

Ich bin im FHEM Log gerade noch auf diese beiden Zeilen gestoßen

2023.02.07 16:49:12 2: HMCCURPCPROC [d_rpc073138BidCos_RF] Registering callback http://192.168.73.138:4012/fh2001 of type A with ID CB2001073007073138 at http://192.168.73.138:2001   

2023.02.07 16:49:13 2: HMCCURPCPROC [d_rpc073138HmIP_RF] Registering callback http://192.168.73.138:4021/fh2010 of type A with ID CB2010073007073138 at http://192.168.73.138:2010


Und habe darauf hin noch die Ports 4012 und 4021 im Docker gemappt, leider ohne den durchschlagenden Erfolg. Hatte mich schon gefreut, klappt aber trotzdem nicht.


Jetzt habe ich noch einen Log Eintrag gefunden, der mich stutzig macht.
2023.02.07 17:03:00 2: HMCCU [raspimatik] Error during CCU request. read from http://192.168.73.138:8181 timed out 
Dabei habe ich doch 8181 gemappt.....

Hat noch einer ne Idee? Ich hasse es Abends mit der Taschenlampe zum zu rennen. Da wird der WAF gleich wieder stark fallen :(

Viele Grüße
Ohosch

OdfFhem

@ohosch

Sind die Firewall-Einstellungen in RaspMatic korrekt ?
Wie genau sieht die docker-Konfiguration für RaspMatic aus ?

FHEM läuft scheinbar auf demselben Server ? Mit oder ohne Docker ?
Wie genau sieht das FHEM-Device raspimatik aus ?

Otto123

Zitat von: ohosch am 07 Februar 2023, 17:07:34
Ports werden hier leider auch nur die  Ports "8081:80" "2001:2001" gemappt. Damit sollte gar keine Verbindung nach FHEM laufen. Die braucht doch zumindest auchnoch 8181 und 2001 mappt auch nur BidCos-RF und nicht HmIP-RF, mit dem ich die Probleme habe. Das läuft bei mir auf 2010.
Ich verstehe nicht was Du meinst, Gear hat in dem Link diese Ports gemappt.
Zitatports:
      - "8081:80"
      - "2001:2001"
      - "2010:2010"
      - "9292:9292"
      - "8181:8181"
      - "7411:7411"
      - "7420:7420"
Läuft jetzt FHEm auf dem Host oder auch im Docker? FHEM im Docker spart eine Menge an Port Mapperei.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

ohosch

Mist, das habe ich wohl was übersehen, hab im Code nicht runter gescrollt . Diese Ports probiere ich später mal aus. Vielleicht gehts dann weiter.

Die Raspimatik Firewall Einstellungen sind noch aus der Konfiguration, als die Raspimatik noch auf einem eigenen Pi lief. Da sollte alles passen.

FHEM ist aktuell noch Standalone. Da wird es sicher noch mal spannender mit den Ports.

Ich melde mich, sobald ich die weiteren Ports im Container mappen konnte. Gibt es irgendwo eine Beschreibung, welcher Port was macht?

Viele Grüße
Ohosch

OdfFhem

FHEM --> CCU ... Werte werden auf Port 8181 übertragen.

CCU --> FHEM ... Werte werden via RPC-Schnittstelle bereitgestellt:

BidCos-Wired (Port 2000)
BidCos-RF (Port 2001)
Homegear (Port 2003)
HmIP-RF (Port 2010)
HVL (Port 7000)
CUxD (Port 8701)
VirtualDevice (Port 9292)



Selbst mappe ich derzeit auf einem Testsystem folgende Ports der CCU (FHEM ohne Docker):

ports:
      - "8080:80"
      - "2001:2001"
      - "2010:2010"
      - "9292:9292"
      - "8181:8181"

ohosch

#7
Komme leider erst jetzt zur Rückmeldung.

Die weitern Ports haben leider nichts verbessert.

Beide Instanzen konnten vorher in der gleichen Konfiguration miteinander kommunizieren, nur die Raspimatik ist in den Docker gewandert und kann da von sich aus alles steuern. Beim FHEM habe ich nur die IP der Raspimatik angepasst.

Allerdings habe ich eine Beobachtung gemacht.
Wenn ich ein Get Update (auf Device oder CCU) starte, kommen alle aktuellen Stati korrekt zum FHEM.

Wenn FHEM also einen Pull auf der Raspimatik beauftragt, kommt das Ergebnis zum FHEM zurück.
Wenn die Raspimatik hingegen ein Event pushen möchte, kommt das nicht beim FHEM an.

Wir für so ein Push noch mal ein anderer Port geöffnet als die, die schon freigegeben sind?

@OdfFhem, bei Dir kommen die Push Updates korrekt am FHEM an?

Viele Grüße, Ohosch

ohosch

Hallo,

Jetzt bin ich völlig ratlos. Die State Changes von der Raspimatik kommen auf einmal am FHEM an. An den Ports habe ich eigentlich nichts mehr geändert.

Ich war gerade dabei mit tcpdump im Container und auf dem FHEM Pi zu schauen, ob doch noch unentdeckte Ports angesprochen werden. Da waren aber nur die üblichen verdächtigen zu sehen.

Das einzige was ich in letzter Zeit geändert habe, ist das ich den Parameter  rpcserveraddr aus dem HMCCU Device entfernt habe. Da hatte ich vorher die IP des Docker Containers drin.

Ports die offensichtlich wichtig sind, sind 7411 und 7420, zusätzlich zu 2001 und 2010. Die hatte ich aber schon länger mit in der Konfiguration.

Also, vielen Dank fürs mithelfen und mitdenken.

Viele Grüße
Ohosch