Hallo zusammen,
ich möchte die Verbindung zwischen HMCCU und der CCU (Raspberrymatic) mit TLS verschlüsseln. Die Konfiguration auf der CCU, sprich Einrichten eines Zertifikats, habe ich hinbekommen. Zugriff mit curl auf die RPC-Schnittstellen-Ports 49292, 42001, 42010 klappt soweit mit TLS. Auch der Zugriff auf die Web-UI via Browser klappt mit TLS. Was mich aber wundert ist die Ausgabe im Log:
2022.10.16 14:42:14 2: HMCCURPCPROC [d_rpc001221BidCos_RF] Callback server CB2001001222001221 created. Listening on port 44012
2022.10.16 14:42:14 2: HMCCURPCPROC [d_rpc001221BidCos_RF] CB2001001222001221 accepting connections. PID=57863
2022.10.16 14:42:14 2: HMCCURPCPROC [d_rpc001221VirtualDevices] Callback server CB9292001222001221 created. Listening on port 58594
2022.10.16 14:42:14 2: HMCCURPCPROC [d_rpc001221VirtualDevices] CB9292001222001221 accepting connections. PID=57872
2022.10.16 14:42:14 2: HMCCURPCPROC [d_rpc001221HmIP_RF] RPC server CB2010001222001221 enters server loop
2022.10.16 14:42:14 2: HMCCURPCPROC [d_rpc001221HmIP_RF] Registering callback http://192.168.1.221:42010
2022.10.16 14:42:14 1: HMCCURPCPROC [d_rpc001221HmIP_RF] RPC server CB2010001222001221 running
2022.10.16 14:42:15 2: HMCCURPCPROC [d_rpc001221VirtualDevices] RPC server CB9292001222001221 enters server loop
2022.10.16 14:42:15 2: HMCCURPCPROC [d_rpc001221VirtualDevices] Registering callback http://192.168.1.221:49292/groups
2022.10.16 14:42:25 1: HMCCURPCPROC [d_rpc001221VirtualDevices] RPC server CB9292001222001221 running
2022.10.16 14:42:25 2: HMCCURPCPROC [d_rpc001221BidCos_RF] RPC server CB2001001222001221 enters server loop
2022.10.16 14:42:25 2: HMCCURPCPROC [d_rpc001221BidCos_RF] Registering callback http://192.168.1.221:42001
2022.10.16 14:42:25 1: HMCCURPCPROC [d_rpc001221BidCos_RF] RPC server CB2001001222001221 running
2022.10.16 14:42:25 1: HMCCU [dkccu] All RPC servers running
Müsste da nicht `Registering callback https://192.168.1.221:42010` anstatt `Registering callback http://192.168.1.221:42010` stehen? Analog auch bei den anderen beiden RPC-Servern mit https anstatt http?
Den Zugriff auf die TLS-Ports habe ich bei den RPC-Servern auch nur dadurch erreicht, dass ich bei den 3 RPC-Server-Devices jeweils das Attribut rpcServerPort gesetzt habe, entsprechend mit entweder 49292, oder 42010, oder 42001.
Das Attribut rpcServerAddr habe ich mal versuchsweise bei allen drei RPC-Server-Devices auf https://hostnameccu gesetzt, das ändert aber nichts, die Log-Ausgabe ist die gleiche wie oben, d.h. statt Hostname ist die IP drin und statt https steht http als Protokoll drin.
Verstehe ich hier etwas grundlegend falsch und verschlüsselter Zugriff auf die API der CCU ist von HMCCU aus gar nicht möglich? Oder hab ich was falsch konfiguriert? Oder ist nur die Logausgabe fehlerhaft?
Wenn noch weiere Infos fehlen, bitte einfach melden.
Ich habe im Forum und auch in der Doku gesucht, aber nichts hilfreiches gefunden. Wenn ich was übersehen habe, wäre ich für einen Hinweis dankbar.
Das ist die Kommunikation von der CCU in Richtung FHEM, also das Pushen der Updates. Also aktiv eingebaut habe ich das nicht. Müsste ich mal testen, ob das funktioniert, wenn ich die callback URLs aus https ändere. Konfigurativ kannst Du das momentan nicht einstellen. Dazu muss ich den Code anpassen.
Danke für die Rückmeldung! Wäre klasse, wenn Du das einbauen könntest. Wenn ich was testen soll, gerne.
Vielleicht hilft Dir auch noch dieser Beitrag bzw. der ganze Thread: https://homematic-forum.de/forum/viewtopic.php?f=26&t=46448&start=40#p465435
Da auf der CCU alle requests durch den lighttpd gehen, sind eben auch die RPC-Ports auch verschlüsselt nutzbar.
Richtung von FHEM nach CCU funktioniert ja mit https. Nur in umgekehrterr Richtung müssen die RPC Server Prozesse in FHEM halt auch https unterstützen. Damit sie das können, muss das Perl RPC Server Modul das auch können. Also momentan viele Vielleichts