Hallo zusammen,
ich bin gerade dabei, meine komplette FHEM-Definition vom alten RPI auf einen Beelink umzuziehen. Dazu habe ich mir eine Debian-Virtualbox im gleichen Netz aufgesetzt, auf der ich die neue Konfiguration (einige Umbenennungen etc.) testen möchte. Auf diesem Testsystem (Buster, Pakete aktuell, librpc-xml-perl ist installiert) bekomme ich die CCU3-Abindung nicht zum Laufen, Fehlermeldung ist HMCCU: Illegal RPC port 2010 - die RPC-Subprozesse blockieren auch den weiteren Start von FHEM, wie man im Log (siehe unten) erkennen kann.
Die Rasp-Matic habe ich schon neu gestartet - das Live-System kann sie auch erreichen (versucht es aber aktuell nicht, da deaktiviert um Konflikte mit dem Test-System ausschließen zu können). Edit: Die Rasp-Matic ist auf dem aktuellsten Stand (3.47.22.20191130).
Ich habe hier im Forum/bei Google nach dem Fehler gesucht, aber keine für mich funktionierende Lösung gefunden.
Die Rasp-Matic ist erreichbar (mir ist bewusst das der Hostname bei der Auflösung nicht korrekt ist, allerdings binde ich die CCU3 über die IP-Adresse ein, das kann man also ignorieren):
ping g-interfaces-hm-ccu3-0
PING g-interfaces-hm-ccu3-0.fritz.box (192.168.0.19) 56(84) bytes of data.
64 bytes from homematic-raspi.fritz.box (192.168.0.19): icmp_seq=1 ttl=64 time=1.06 ms
64 bytes from homematic-raspi.fritz.box (192.168.0.19): icmp_seq=2 ttl=64 time=1.07 ms
64 bytes from homematic-raspi.fritz.box (192.168.0.19): icmp_seq=3 ttl=64 time=0.980 ms
Die Ports sind auch erreichbar:
PORT STATE SERVICE
22/tcp filtered ssh
80/tcp open http
443/tcp open https
1999/tcp open tcp-id-port
2000/tcp open cisco-sccp
2001/tcp open dc
2010/tcp open search
8088/tcp filtered radan-http
8181/tcp open intermapper
9099/tcp filtered unknown
Hier der fhem.log beim Start (auf relevanten Teil gekürzt):
2019.12.08 21:06:06.137 1: HMCCU: [general.interfaces.homematic.ccu3] Initialized version 4.3.004
2019.12.08 21:06:06.137 1: HMCCU: [general.interfaces.homematic.ccu3] HMCCU: Initializing device
2019.12.08 21:06:06.339 1: PERL WARNING: Use of uninitialized value within %HMCCU_RPC_FLAG in pattern match (m//) at ./FHEM/88_HMCCU.pm line 4175, <$fh> line 223.
2019.12.08 21:06:06.425 1: HMCCU: [general.interfaces.homematic.ccu3] HMCCU: Read 22 devices with 236 channels from CCU 192.168.0.19
2019.12.08 21:06:06.425 1: HMCCU: [general.interfaces.homematic.ccu3] HMCCU: Read 3 interfaces from CCU 192.168.0.19
2019.12.08 21:06:06.425 1: HMCCU: [general.interfaces.homematic.ccu3] HMCCU: Read 2 programs from CCU 192.168.0.19
2019.12.08 21:06:06.425 1: HMCCU: [general.interfaces.homematic.ccu3] HMCCU: Read 0 virtual groups from CCU 192.168.0.19
2019.12.08 21:06:06.427 3: HMCCU: Illegal RPC port 2010
2019.12.08 21:08:16.466 1: PERL WARNING: Argument "Can't connect to CCU 192.168.0.19 port 32001" isn't numeric in numeric eq (==) at ./FHEM/88_HMCCURPCPROC.pm line 291, <$fh> line 243.
2019.12.08 21:10:05.790 1: PERL WARNING: Argument "Can't connect to CCU 192.168.0.19 port 32010" isn't numeric in numeric eq (==) at ./FHEM/88_HMCCURPCPROC.pm line 291, <$fh> line 255.
Die beiden 3xxxx-Ports sind tatsächlich auch nicht erreichbar (warum die und nicht 2001/2010 wie konfiguriert?):
PORT STATE SERVICE
32001/tcp filtered unknown
32010/tcp filtered unknown
Hier die Definitionen (aus der fhem.cfg, FHEMWEB startet ja nicht, lesbarer eingerückt, ansonsten identisch). Edit: Im Live-System funktioniert diese Konfiguration, mit dem Unterschied dass die Devices anders benannt sind:
defmod general.interfaces.homematic.ccu3 HMCCU 192.168.0.19
attr general.interfaces.homematic.ccu3 alias Raspberrymatic CCU3
attr general.interfaces.homematic.ccu3 ccudef-readingfilter ^(LOW_?BAT|UNREACH|RSSI_DEVICE|RSSI_PEER)$
attr general.interfaces.homematic.ccu3 ccudef-readingname ^(.+\.)?LOW_?BAT$:battery;;^(.+\.)?UNREACH$:activity;;^(.+\.)?RSSI_PEER$:rssi_peer;;^(.+\.)?RSSI_DEVICE$:rssi_device
attr general.interfaces.homematic.ccu3 ccudef-substitute AES_KEY!(0|false):off,(1|true):on;;LOWBAT,LOW_BAT!(0|false):ok,(1|true):low;;UNREACH!(0|false):alive,(1|true):dead;;MOTION!(0|false):noMotion,(1|true):motion;;DIRECTION!0:stop,1:up,2:down,3:undefined;;WORKING!0:false,1:true;;INHIBIT!(0|false):unlocked,(1|true):locked
attr general.interfaces.homematic.ccu3 ccuflags procrpc,nonBlocking
attr general.interfaces.homematic.ccu3 cmdIcon on:general_an@42BC0A off:general_aus@E50005
attr general.interfaces.homematic.ccu3 event-on-change-reading .*
attr general.interfaces.homematic.ccu3 eventMap /rpcserver on:on/rpcserver off:off/
attr general.interfaces.homematic.ccu3 group Homematic IP
attr general.interfaces.homematic.ccu3 icon hm_ccu@black
attr general.interfaces.homematic.ccu3 room Admin->Interfaces
attr general.interfaces.homematic.ccu3 rpcinterfaces HmIP-RF,BidCos-RF
attr general.interfaces.homematic.ccu3 rpcinterval 5
attr general.interfaces.homematic.ccu3 rpcport 2010
attr general.interfaces.homematic.ccu3 rpcqueue /opt/fhem/tmp/queue
attr general.interfaces.homematic.ccu3 rpcserver on
attr general.interfaces.homematic.ccu3 sortby 100
attr general.interfaces.homematic.ccu3 stateFormat rpcstate/state
define general.interfaces.homematic.ccu3.rpc.bidcos_rf HMCCURPCPROC 192.168.0.19 BidCos-RF
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf alias CCU RPC BidCos-RF
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf eventMap /rpcserver on:on/rpcserver off:off/
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf group Homematic IP
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf icon logic@black
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf room Admin->Interfaces
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf sortby 200
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf stateFormat rpcstate/state
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf verbose 2
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf cmdIcon on:general_an@42BC0A off:general_aus@E50005
attr general.interfaces.homematic.ccu3.rpc.bidcos_rf ccuflags expert,reconnect
define general.interfaces.homematic.ccu3.rpc.hmip_rf HMCCURPCPROC 192.168.0.19 HmIP-RF
attr general.interfaces.homematic.ccu3.rpc.hmip_rf alias CCU RPC HmIP-RF
attr general.interfaces.homematic.ccu3.rpc.hmip_rf eventMap /rpcserver on:on/rpcserver off:off/
attr general.interfaces.homematic.ccu3.rpc.hmip_rf group Homematic IP
attr general.interfaces.homematic.ccu3.rpc.hmip_rf icon logic@black
attr general.interfaces.homematic.ccu3.rpc.hmip_rf room Admin->Interfaces
attr general.interfaces.homematic.ccu3.rpc.hmip_rf sortby 300
attr general.interfaces.homematic.ccu3.rpc.hmip_rf stateFormat rpcstate/state
attr general.interfaces.homematic.ccu3.rpc.hmip_rf verbose 2
attr general.interfaces.homematic.ccu3.rpc.hmip_rf cmdIcon on:general_an@42BC0A off:general_aus@E50005
attr general.interfaces.homematic.ccu3.rpc.hmip_rf ccuflags expert,reconnect
define general.interfaces.homematic.ccu3.virtual_devices HMCCURPCPROC 192.168.0.19 VirtualDevices
attr general.interfaces.homematic.ccu3.virtual_devices alias CCU RPC VirtualDevices
attr general.interfaces.homematic.ccu3.virtual_devices eventMap /rpcserver on:on/rpcserver off:off/
attr general.interfaces.homematic.ccu3.virtual_devices group Homematic IP
attr general.interfaces.homematic.ccu3.virtual_devices icon logic@black
attr general.interfaces.homematic.ccu3.virtual_devices room Admin->Interfaces
attr general.interfaces.homematic.ccu3.virtual_devices sortby 400
attr general.interfaces.homematic.ccu3.virtual_devices stateFormat rpcstate/state
attr general.interfaces.homematic.ccu3.virtual_devices verbose 2
attr general.interfaces.homematic.ccu3.virtual_devices cmdIcon on:general_an@42BC0A off:general_aus@E50005
attr general.interfaces.homematic.ccu3.virtual_devices ccuflags expert,reconnect
Jemand eine Idee woran das liegen könnte?
Ich hab' eine: Da ich FHEM neu installiert, aber meine bestehende Config (wichtig!) und ich dafür das Deb-Paket von fhem.de genommen habe, habe ich lauter historische Versionen bekommen, u.a. von HMCCU. Ein Checkout aus dem SVN/Git-Mirror hat Abhilfe gebracht.