FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: maddhin am 28 Oktober 2022, 12:39:39

Titel: FHEM+Raspberrymatic in Docker = unstabile RPC-Verbindung(?)
Beitrag von: maddhin am 28 Oktober 2022, 12:39:39
Hallo zusammen,

ich weiß nicht, ob dies ein allgemeines Problem ist, oder ob dies daran liegt, dass ich FHEM und Raspberrymatic jeweils in einem Docker-Container betreibe.

Konfig: ein Raspberry Pi 4 mit HM-MOD-RPI-PCB HomeMatic Funkmodul, aktuelles FHEM mit aktuell empfohlenem Docker-Image (ghcr.io/fhem/fhem/fhem-docker:bullseye) und aktuellem Raspberrymatic-Image (ghcr.io/jens-maus/raspberrymatic:latest). Sowohl Fhem als auch Raspberrymatic laufen solide und Raspberrymatic funktioniert problemlos.

Was nicht richtig funktioniert ist der RPC-Server. Wenn man ihn einschaltet werden die angeschlossenen Heizkörperthermostate sofort aktualisiert, aber danach scheinbar nicht mehr, obwohl er auf "running/OK" stehen bleibt.

Hier mal ein Auszug aus dem Log, der hoffentlich etwas Aufschluss gibt:

2022.10.28 10:05:53.215 1: HMCCURPCPROC [d_rpc000139VirtualDevices] Stopping RPC server CB9292000004000139
2022.10.28 10:05:53.218 1: HMCCURPCPROC [d_rpc000139VirtualDevices] Deregistering RPC server http://192.168.0.139:9292/groups
2022.10.28 10:05:53.234 1: HMCCURPCPROC [d_rpc000139VirtualDevices] Callback for RPC server CB9292000004000139 deregistered
2022.10.28 10:05:53.236 2: HMCCURPCPROC [d_rpc000139VirtualDevices] Sending signal INT to RPC server process CB9292000004000139 with PID=8888
2022.10.28 10:05:53.237 2: HMCCURPCPROC [d_rpc000139VirtualDevices] Scheduling cleanup in 30 seconds
2022.10.28 10:05:53.237 2: HMCCURPCPROC [d_rpc000139VirtualDevices] CB9292000004000139 received signal INT
2022.10.28 10:05:53.238 1: HMCCURPCPROC [d_rpc000139VirtualDevices] RPC server CB9292000004000139 stopped handling connections. PID=8888
2022.10.28 10:05:53.238 2: HMCCURPCPROC [d_rpc000139VirtualDevices] Number of I/O errors = 0
2022.10.28 10:05:54.238 1: HMCCURPCPROC [d_rpc000139HmIP_RF] Stopping RPC server CB2010000004000139
2022.10.28 10:05:54.243 1: HMCCURPCPROC [d_rpc000139HmIP_RF] Deregistering RPC server http://192.168.0.139:2010
2022.10.28 10:05:54.276 1: HMCCURPCPROC [d_rpc000139HmIP_RF] Callback for RPC server CB2010000004000139 deregistered
2022.10.28 10:05:54.281 2: HMCCURPCPROC [d_rpc000139HmIP_RF] Sending signal INT to RPC server process CB2010000004000139 with PID=8889
2022.10.28 10:05:54.282 2: HMCCURPCPROC [d_rpc000139HmIP_RF] CB2010000004000139 received signal INT
2022.10.28 10:05:54.283 1: HMCCURPCPROC [d_rpc000139HmIP_RF] RPC server CB2010000004000139 stopped handling connections. PID=8889
2022.10.28 10:05:54.284 2: HMCCURPCPROC [d_rpc000139HmIP_RF] Number of I/O errors = 0
2022.10.28 10:05:54.286 2: HMCCURPCPROC [d_rpc000139HmIP_RF] Scheduling cleanup in 30 seconds
2022.10.28 10:05:55.298 1: HMCCURPCPROC [d_rpc000139VirtualDevices] RPC server process CB9292000004000139 terminated.
2022.10.28 10:05:55.304 2: HMCCURPCPROC [d_rpc000139VirtualDevices] Stop I/O handling
2022.10.28 10:05:55.313 2: HMCCURPCPROC [d_rpc000139VirtualDevices] RPC server stopped. Cancel delayed shutdown.
2022.10.28 10:05:55.320 1: HMCCURPCPROC [d_rpc000139HmIP_RF] RPC server process CB2010000004000139 terminated.
2022.10.28 10:05:55.325 1: HMCCU [d_ccu] All RPC servers inactive
2022.10.28 10:05:55.336 2: HMCCURPCPROC [d_rpc000139HmIP_RF] Stop I/O handling
2022.10.28 10:05:55.347 2: HMCCURPCPROC [d_rpc000139HmIP_RF] RPC server stopped. Cancel delayed shutdown.
2022.10.28 10:06:01.031 2: HMCCU [d_ccu] RPC device for interface VirtualDevices: d_rpc000139VirtualDevices
2022.10.28 10:06:01.031 2: HMCCU [d_ccu] RPC device for interface HmIP-RF: d_rpc000139HmIP_RF
2022.10.28 10:06:01.052 2: HMCCURPCPROC [d_rpc000139VirtualDevices] RPC server process started for interface VirtualDevices with PID=7446
2022.10.28 10:06:01.075 2: HMCCURPCPROC [d_rpc000139VirtualDevices] Initializing RPC server CB9292000004000139 for interface VirtualDevices
2022.10.28 10:06:01.082 1: HMCCURPCPROC [d_rpc000139VirtualDevices] RPC server starting
2022.10.28 10:06:01.118 2: HMCCURPCPROC [d_rpc000139HmIP_RF] RPC server process started for interface HmIP-RF with PID=7447
2022.10.28 10:06:01.142 2: HMCCURPCPROC [d_rpc000139HmIP_RF] Initializing RPC server CB2010000004000139 for interface HmIP-RF
2022.10.28 10:06:01.148 1: HMCCURPCPROC [d_rpc000139HmIP_RF] RPC server starting
2022.10.28 10:06:01.153 2: HMCCU [d_ccu] RPC server start: 2 started, 0 already running, 0 failed to start
2022.10.28 10:06:01.180 2: HMCCURPCPROC [d_rpc000139VirtualDevices] Callback server CB9292000004000139 created. Listening on port 14702
2022.10.28 10:06:01.181 2: HMCCURPCPROC [d_rpc000139VirtualDevices] CB9292000004000139 accepting connections. PID=7446
2022.10.28 10:06:01.185 2: HMCCURPCPROC [d_rpc000139VirtualDevices] RPC server CB9292000004000139 enters server loop
2022.10.28 10:06:01.190 2: HMCCURPCPROC [d_rpc000139VirtualDevices] Registering callback http://192.168.0.139:9292/groups
2022.10.28 10:06:01.220 2: HMCCURPCPROC [d_rpc000139HmIP_RF] Callback server CB2010000004000139 created. Listening on port 7420
2022.10.28 10:06:01.221 2: HMCCURPCPROC [d_rpc000139HmIP_RF] CB2010000004000139 accepting connections. PID=7447
2022.10.28 10:06:11.223 1: HMCCURPCPROC [d_rpc000139VirtualDevices] RPC server CB9292000004000139 running
2022.10.28 10:06:11.350 2: HMCCURPCPROC [d_rpc000139HmIP_RF] RPC server CB2010000004000139 enters server loop
2022.10.28 10:06:11.354 2: HMCCURPCPROC [d_rpc000139HmIP_RF] Registering callback http://192.168.0.139:2010
2022.10.28 10:06:11.385 1: HMCCURPCPROC [d_rpc000139HmIP_RF] RPC server CB2010000004000139 running
2022.10.28 10:06:11.389 1: HMCCU [d_ccu] All RPC servers running
2022.10.28 10:06:11.395 2: HMCCU [d_ccu] Updating 7 of 7 client devices matching devexp=.* filter=ccudevstate=active,ccuif=VirtualDevices|HmIP-RF
2022.10.28 10:06:11.804 2: HMCCU [d_ccu] Update success=7 failed=0
2022.10.28 10:06:59.970 2: HMCCU [d_ccu] Error during HTTP request: http://192.168.0.139:8181/tclrega.exe: Select timeout/error:
2022.10.28 10:06:59.971 1: HMCCUCHN [HeizungBad] HMCCUCHN: HeizungBad Execution of CCU script or command failed


Hier noch Anfang und Ende von list device:
Internals:
   CCUNum     1
   Clients    :HMCCUDEV:HMCCUCHN:HMCCURPCPROC:
   DEF        192.168.0.139 ccudelay=240
   FUUID      63472345-f33f-92df-e6c5-32d3118191393edc
   FVERSION   88_HMCCU.pm:v5.0.0-s26565/2022-10-20
   NAME       d_ccu
   NOTIFYDEV  global
   NR         128
   NTFY_ORDER 50-d_ccu
   RPCState   running
   STATE      running/OK
   TYPE       HMCCU
   ccuaddr    BidCoS-RF
   ccuchannels 157
   ccudevices 9
   ccuif      BidCos-RF
   ccuinterfaces VirtualDevices,BidCos-RF,HmIP-RF
   ccuip      192.168.0.139
   ccuname    HM-RCV-50 BidCoS-RF
   ccustate   active
   ccutype    CCU2/3
   config     5.0
   eventCount 16
   host       192.168.0.139
   prot       http
   version    5.0 222930908
   READINGS:
     2022-10-27 18:15:40   PLATFORM        oci
     2022-10-27 18:15:40   PRODUCT         raspmatic_oci_arm
     2022-10-27 18:15:40   VERSION         3.65.11.20221005
     2022-10-27 18:15:40   count_channels  157
     2022-10-27 18:15:40   count_devices   9
     2022-10-27 18:15:40   count_groups    1
     2022-10-27 18:15:40   count_interfaces 3
     2022-10-27 18:15:40   count_programs  0
     2022-10-28 10:06:11   rpcstate        running
     2022-10-28 10:06:11   state           OK
   hmccu:
     ccuDevList "HeizungWohnzimmer#INT0000001","HmIP-RCV-50#HmIP-RCV-1",HeizungBad,HeizungBuero,HeizungKinderzimmer,HeizungSchlafzimmer,HeizungWohnzimmer1,HeizungWohnzimmer2
     ccuSuppDevList "HeizungWohnzimmer#INT0000001",HeizungBad,HeizungBuero,HeizungKinderzimmer,HeizungSchlafzimmer,HeizungWohnzimmer1,HeizungWohnzimmer2
     defaults   0
     evtime     0
     evtimeout  0
     postInit   0
     rpccount   0
     rpcports   9292,2010,2001
     updatetime 0
     adr:
       HM-RCV-50 BidCoS-RF:
         address    BidCoS-RF
         addtype    dev
         valid      1
       HM-RCV-50 BidCoS-RF:0:
         address    BidCoS-RF:0
         addtype    chn
         valid      1
       HM-RCV-50 BidCoS-RF:1:
         address    BidCoS-RF:1
         addtype    chn
         valid      1



  prg:
     rcv:
       HmIP-RF:
         000A1D89B09B61:
           2:
             00201D89A81B30:1:
               DESCRIPTION ${deviceLinkOfGroup}1
               FLAGS      0
               NAME       00201D89A81B30:1 000A1D89B09B61:1
         00201D89A81B30:
           2:
             000A1D89B09B61:1:
               DESCRIPTION ${deviceLinkOfGroup}1
               FLAGS      0
               NAME       000A1D89B09B61:1 00201D89A81B30:1
       VirtualDevices:
     snd:
       HmIP-RF:
         000A1D89B09B61:
           1:
             00201D89A81B30:2:
               DESCRIPTION ${deviceLinkOfGroup}1
               FLAGS      0
               NAME       000A1D89B09B61:1 00201D89A81B30:1
           2:
             00201D89A81B30:1:
         00201D89A81B30:
           1:
             000A1D89B09B61:2:
               DESCRIPTION ${deviceLinkOfGroup}1
               FLAGS      0
               NAME       00201D89A81B30:1 000A1D89B09B61:1
           2:
             000A1D89B09B61:1:
       VirtualDevices:
Attributes:
   DbLogExclude .*
   room       Homematic
   rpcinterfaces VirtualDevices,HmIP-RF
   rpcserver  on
   stateFormat rpcstate/state



Hat jemand eine Idee, wie man die Verbindung stabilisieren kann?
Titel: Antw:FHEM+Raspberrymatic in Docker = unstabile RPC-Verbindung(?)
Beitrag von: zap am 28 Oktober 2022, 16:53:41
Wurde hier schon oft gefragt und beantwortet. Du musst rpcserveraddr auf die richtige Adresse von dem Docker Container setzen. Sonst wird die host Adresse verwendet, und die ist falsch
Titel: Antw:FHEM+Raspberrymatic in Docker = unstabile RPC-Verbindung(?)
Beitrag von: maddhin am 28 Oktober 2022, 18:39:24
Sorry, dass ich das nicht gefunden habe.

Jetzt funktioniert es - ganz lieben Dank!