HMCCU und rpcserverport

Begonnen von Wernieman, 16 Februar 2021, 20:01:02

Vorheriges Thema - Nächstes Thema

Wernieman

In der Doku zu HMCCU steht:
Zitatrpcserverport <base-port>
Specify base port for RPC server. The real listening port of an RPC server is calculated by the formula: base-port + rpc-port + (10 * ccu-number). Default value for base-port is 5400.
The value ccu-number is only relevant if more than one CCU is connected to FHEM. Example: If base-port is 5000, protocol is BidCos (rpc-port 2001) and only one CCU is connected the resulting RPC server port is 5000+2001+(10*0) = 7001.

Da ich mit Docker experimentierte und deshalb den rcpServer-Port freigeben muß, hatte ich das Attribut gesetzt rpcserverport 2001, mich aber gewundert, das es nicht wie erwartet funzte. Der Resultierende Port war, anders als oben angegeben
Zitat
      -  "4012:4012"
      -  "11303:11303"
(Der 2. für VirtualDevice). Mit der Obigen Rechnung komme ich aber auf "2001+2001+(10*0)= 4002". Könnte es sein, das nicht die 0, sondern die 1 Richtig wäre? Also "2001+2001+(10*1)= 4012". Das würde jedenfalls bei mir hinkommen, habe nur eine CCU ..
(Dann wäre es ein Bug in der Doku ;o) )
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

zap

Ja, Bug in der Doku. Ich habe früher mal die 0 für die 1. CCU vergeben. Später dann 1 und vergessen, die Doku anzupassen. Wird korrigiert
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Wernieman

Danke!

Trotzdem: Tolle Arbeit von Dir ;o)

Übrigens:
Wenn mann dann den Passenden Port "Freigiebt", funktioniert es auch im Docker scheinbar Tadellos ... ist allerdings ein eigen gebauter FHEm Container und nicht der "Offizielle"
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CP

Ich versuche gerade meine fhem-installation auf einen docker-container umzuziehen - dabei verwende ich den offiziellen FHEM container und das compose-file von klein0r (https://github.com/klein0r/fhem-docker/tree/master).

Leider habe ich es noch nicht geschafft die ports für die CCU-Rückmeldung richtig zu forwarden. Die Steuerbefehle gehen durch (Rolladen, etc. lassen sich bedienen), allerdings ist der Status in FHEM immer der, der beim Start von FHEM anlag...

Hat jemand eine Idee, woran das liegen kann?

Zu meiner Config:

Beim start-up sehe ich die folgenden Meldungen:
...
2024.03.25 23:14:37 2: HMCCURPCPROC [d_rpc178031VirtualDevices] Registering callback http://172.18.0.6:14702/fh9292 of type A with ID CB9292000006178031 at http://192.168.xxx.xxx:9292/groups
2024.03.25 23:14:37 2: HMCCURPCPROC [d_rpc178031HmIP_RF] Callback server CB2010000006178031 created. Listening on port 7420
...
2024.03.25 23:14:37 2: HMCCURPCPROC [d_rpc178031BidCos_RF] Callback server CB2001000006178031 created. Listening on port 7411
...

Das rcpserverport attribut habe ich wie vorgeschlagen auf 2001 gesetzt.



Folgende Port-bindungs habe ich eingerichtet:

        expose:
            - "7420"
            - "7411"
            - "14702"
        ports:
            - "8083:8083"
            - "7072:7072"
            - "4012:4012"
            - "11303:11303"
            - "14702:14702"
            - "7411:7411"
            - "7420:7420"






Wernieman

Hast Du rpcserveraddr gesetzt?

Ich wette mit Dir, das 172.18.0.6 die interne IP des Containers und nicht des hostes ist und damit die CCU nichts mit der Adresse Anfangen kann ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CP

Vielen Dank. Das war die Lösung!
Hatte es parallel auch in einer Wiki-Seite gefunden.

Otto123

#6
Hallo zap,

nachdem ich diese Tatsache eventuell verstanden habe, ist mir noch was aufgefallen:
Zitat von: zap am 17 Februar 2021, 07:19:22Ja, Bug in der Doku. Ich habe früher mal die 0 für die 1. CCU vergeben. Später dann 1 und vergessen, die Doku anzupassen. Wird korrigiert
???
Zitatthe resulting RPC server port is 5000+2001+(10*1) = 7010
:o

Falls Du mal wieder an dieser Stellen arbeitest, Vorschlag:
Specify base port for RPC server. Default value for base-port is 5400.
The real listening port of an RPC server is calculated by the formula: base-port + rpc-port + (10 * ccu-number). The value ccu-number is 1 for the first CCU, 2 for the second CCU etc.
Example: If base-port is 5400 (default), protocol is BidCos (rpc-port 2001) and the resulting RPC server port for the first CCU is 5400+2001+(10*1) = 7411.
This port(s) has to be reachable from the CCU on the FHEM server!

Dann ist mir das noch aufgefallen:
Zitatrpcserveraddr <ip-or-name>
Specify network interface by IP address or DNS name where RPC server should listen on. By default HMCCU automatically detects the IP address. This attribute should be used if the FHEM server has more than one network interface.
Der RPC Server lauscht doch immer auf 0.0.0.0 !?
Hier geht es doch um die Adresse, die HMCCU bei der CCU als Callback registriert!?

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