RPC-Server start failed

Begonnen von dpf, 26 Dezember 2019, 17:18:46

Vorheriges Thema - Nächstes Thema

dpf

Hallo Zusammen,
ich betreibe seit Anfang des Jahres FHEM auf einem rpi in Verbindung mit Enocean und Homeatic-Geräten.
Bisher lief alles sehr gut, nun lässt sich aus nicht erklärbaren Gründen der rpcserver nicht mehr starten (HMCCU: d_ccu Start of RPC server failed).
Die Homematic-Geräte lassen sich alle über FHEM noch steuern, es gibt nur keine Zustandsmeldungen mehr von den Fensterkontakten und Rolläden.
Über get ... datapoint ... lassen sich die Werte von der CCU3 holen, d. h. die Kommunikation mit der CCU3 funktioniert. Nach FHEM-Neustart stand bei rpcport 32001, was sich nicht auf 2001 ändern lässt.
Ich habe alles schon versucht, nichts hilft. Hier ein paar Auszüge aus der Konfiguration und aus der Logdate:
CCUNum     1
   Clients    :HMCCUDEV:HMCCUCHN:HMCCURPC:HMCCURPCPROC:
   DEF        192.168.0.61
   NAME       d_ccu
   NOTIFYDEV  global,TYPE=(HMCCU|HMCCUDEV|HMCCUCHN)
   NR         20
   NTFY_ORDER 50-d_ccu
   RPCState   inactive
   STATE      inactive/Error
   TYPE       HMCCU
   ccuaddr    BidCoS-RF
   ccuchannels 170
   ccudevices 34
   ccuif      BidCos-RF
   ccuinterfaces HmIP-RF,BidCos-RF,VirtualDevices
   ccuip      192.168.0.61
   ccuname    HM-RCV-50 BidCoS-RF
   ccustate   active
   ccutype    CCU2/3
   host       192.168.0.61
   version    4.3.004
   READINGS:
     2019-12-26 15:56:00   count_channels  170
     2019-12-26 15:56:00   count_devices   34
     2019-12-26 15:56:00   count_groups    0
     2019-12-26 15:56:00   count_interfaces 3
     2019-12-26 15:56:00   count_programs  13
     2019-12-26 15:56:00   rpcstate        inactive
     2019-12-26 16:29:44   state           Error
   hmccu:
     evtime     0
     evtimeout  0
     rpccount   0
     rpcports   32001
     updatetime 0
     adr:
       DG Bad Fensterkontakt:
         address    OEQ2133842
         addtype    dev
         valid      1

DEF        192.168.0.61 BidCos-RF
   NAME       d_rpcBidCos_RF
   NR         136
   STATE      ???
   TYPE       HMCCURPCPROC
   host       192.168.0.61
   rpcip      192.168.0.61
   version    1.0.007
   hmccu:
     devspec    BidCos-RF
Attributes:
   alias      CCU RPC BidCos-RF
   eventMap   /rpcserver on:on/rpcserver off:off/
   stateFormat rpcstate/state
   verbose    3

2019.12.26 16:59:01 1: HMCCU: [d_ccu] No RPC device defined for interface BidCos-RF
2019.12.26 16:59:01 1: HMCCU: [d_ccu] Creating new RPC device d_rpcBidCos_RF
2019.12.26 16:59:01 1: HMCCU: [d_ccu] Definition of RPC device failed.
2019.12.26 16:59:01 1: HMCCU: [d_ccu] d_rpcBidCos_RF already defined, delete it first
2019.12.26 16:59:01 0: HMCCU: [d_ccu] Definition of some RPC devices failed
2019.12.26 16:59:01 1: HMCCU: d_ccu Start of RPC server failed

Für jegliche Hilfe bin ich dankbar.





zap

Hat sich mal was an den IP Adressen der CCU oder FHEM geändert? Wie auch immer: die Meldungen sagen Dir ja, was du machen sollst. Lösche das entsprechende Device.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

dpf

Hallo zap,

danke für die schnelle Antwort.
Ich habe die device d_rpcBidCos_RF gelöscht. Danach ist folgendes passiert und der rpc-server lässt sich nicht starten.

019.12.27 16:39:03 2: HMCCURPCPROC: [d_rpcBidCos_RF] Found no running processes. Cleaning up ...
2019.12.27 16:39:03 1: HMCCURPCPROC: [d_rpcBidCos_RF] Housekeeping called. Cleaning up RPC environment
2019.12.27 16:39:03 1: HMCCURPCPROC: [d_rpcBidCos_RF] RPC server process CB not runnning
2019.12.27 16:39:03 1: ERROR: empty name in readingsBeginUpdate
2019.12.27 16:39:03 1: stacktrace:
2019.12.27 16:39:03 1:     main::readingsBeginUpdate           called by fhem.pl (4748)
2019.12.27 16:39:03 1:     main::readingsSingleUpdate          called by ./FHEM/88_HMCCU.pm (2509)
2019.12.27 16:39:03 1:     main::HMCCU_SetRPCState             called by ./FHEM/88_HMCCURPCPROC.pm (712)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_SetRPCState      called by ./FHEM/88_HMCCURPCPROC.pm (1400)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_TerminateProcess called by ./FHEM/88_HMCCURPCPROC.pm (1500)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_Housekeeping     called by ./FHEM/88_HMCCURPCPROC.pm (1538)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_StopRPCServer    called by ./FHEM/88_HMCCURPCPROC.pm (397)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_Shutdown         called by ./FHEM/88_HMCCURPCPROC.pm (377)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_Undef            called by fhem.pl (3597)
2019.12.27 16:39:03 1:     main::CallFn                        called by fhem.pl (2134)
2019.12.27 16:39:03 1:     main::CommandDelete                 called by fhem.pl (1214)
2019.12.27 16:39:03 1:     main::AnalyzeCommand                called by fhem.pl (1062)
2019.12.27 16:39:03 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2585)
2019.12.27 16:39:03 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (904)
2019.12.27 16:39:03 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (533)
2019.12.27 16:39:03 1:     main::FW_Read                       called by fhem.pl (3597)
2019.12.27 16:39:03 1:     main::CallFn                        called by fhem.pl (726)
2019.12.27 16:39:03 1: readingsUpdate(,rpcstate,inactive) missed to call readingsBeginUpdate first.
2019.12.27 16:39:03 1: stacktrace:
2019.12.27 16:39:03 1:     main::readingsBulkUpdate            called by fhem.pl (4749)
2019.12.27 16:39:03 1:     main::readingsSingleUpdate          called by ./FHEM/88_HMCCU.pm (2509)
2019.12.27 16:39:03 1:     main::HMCCU_SetRPCState             called by ./FHEM/88_HMCCURPCPROC.pm (712)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_SetRPCState      called by ./FHEM/88_HMCCURPCPROC.pm (1400)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_TerminateProcess called by ./FHEM/88_HMCCURPCPROC.pm (1500)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_Housekeeping     called by ./FHEM/88_HMCCURPCPROC.pm (1538)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_StopRPCServer    called by ./FHEM/88_HMCCURPCPROC.pm (397)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_Shutdown         called by ./FHEM/88_HMCCURPCPROC.pm (377)
2019.12.27 16:39:03 1:     main::HMCCURPCPROC_Undef            called by fhem.pl (3597)
2019.12.27 16:39:03 1:     main::CallFn                        called by fhem.pl (2134)
2019.12.27 16:39:03 1:     main::CommandDelete                 called by fhem.pl (1214)
2019.12.27 16:39:03 1:     main::AnalyzeCommand                called by fhem.pl (1062)
2019.12.27 16:39:03 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2585)
2019.12.27 16:39:03 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (904)
2019.12.27 16:39:03 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (533)
2019.12.27 16:39:03 1:     main::FW_Read                       called by fhem.pl (3597)
2019.12.27 16:39:03 1:     main::CallFn                        called by fhem.pl (726)
2019.12.27 16:39:03 1: n/a: [n/a] All RPC servers inactive
2019.12.27 16:39:05 1: RMDIR: ./restoreDir/save/2019-12-24
2019.12.27 16:39:35 1: HMCCU: [d_ccu] No RPC device defined for interface BidCos-RF
2019.12.27 16:39:35 1: HMCCU: [d_ccu] Creating new RPC device d_rpcBidCos_RF
2019.12.27 16:41:47 1: PERL WARNING: Argument "Can't connect to CCU 192.168.0.61 port 32001" isn't numeric in numeric eq (==) at ./FHEM/88_HMCCURPCPROC.pm line 291.
2019.12.27 16:41:47 0: HMCCU: [d_ccu] Definition of some RPC devices failed
2019.12.27 16:41:47 1: HMCCU: d_ccu Start of RPC server failed
2019.12.27 16:41:47 3: Wetter_weathermap: poll (PUBLIC)
2019.12.27 16:41:47 3: Wetter_weathermap getPublicDevices (50.7960716,9.5406927 / 50.7560716,9.5006927)
2019.12.27 16:43:43 1: HMCCU: [d_ccu] No RPC device defined for interface BidCos-RF
2019.12.27 16:43:43 1: HMCCU: [d_ccu] Creating new RPC device d_rpcBidCos_RF
2019.12.27 16:43:43 1: HMCCU: [d_ccu] Definition of RPC device failed.
2019.12.27 16:43:43 1: HMCCU: [d_ccu] d_rpcBidCos_RF already defined, delete it first
2019.12.27 16:43:43 0: HMCCU: [d_ccu] Definition of some RPC devices failed
2019.12.27 16:43:43 1: HMCCU: d_ccu Start of RPC server failed
2019.12.27 16:44:15 1: HMCCU: [d_ccu] No RPC device defined for interface BidCos-RF
2019.12.27 16:44:15 1: HMCCU: [d_ccu] Creating new RPC device d_rpcBidCos_RF
2019.12.27 16:44:15 1: HMCCU: [d_ccu] Definition of RPC device failed.
2019.12.27 16:44:15 1: HMCCU: [d_ccu] d_rpcBidCos_RF already defined, delete it first
2019.12.27 16:44:15 0: HMCCU: [d_ccu] Definition of some RPC devices failed
2019.12.27 16:44:15 1: HMCCU: d_ccu Start of RPC server failed

Ich bin ratlos was ich noch machen soll, zumal vorher alles mal lief.
Für weitere Hilfe bereits besten Dank im Voraus.

zap

Ok, vielleicht war mein Kommentar etwas zu kurz geraten. Ich würde wie folgt vorgehen:

1. Mit set rpcserver off sicherheitshalber mal den RPC Server stoppen (auch wenn offensichtlich keiner läuft)
2. Das Device löschen
3. Im IO Device das Attribut rpcserver auf "off" setzen
3. Die Config speichern !!
4. FHEM Stoppen
5. FHEM Starten
6. RPC Server starten

Wenn 6. funktioniert, das Attribut rpcserver wieder auf "on" setzen

Ich nehme an, die Versionen der Module sind aktuell?
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

dpf

Hallo zap,
vielen, vielen Dank für die super Anleitung. Damit hat es nun geklappt und alles läuft wieder. :)
Eine Fehlermeldung hat es beim FHEM-Neustart noch gegeben:
Logfile: 2019.12.28 12:51:11 1: configfile: HMCCU: Illegal RPC port 32001
Folgendes steht auch in FHEM.CFG:
attr global motd Messages collected while initializing FHEM:\
configfile: HMCCU: Illegal RPC port 32001\
Ansonsten ist der rpcport richtig auf 2001 gesetzt.
Ein schönes Restjahr 2019 und einen guten Start ins neue Jahr.