FHEM startet nicht mehr nach Update - 88_HMCCUDEV.pm

Begonnen von smeagel, 18 Februar 2022, 08:03:42

Vorheriges Thema - Nächstes Thema

smeagel

Hallo,

ich habe heute morgen ein Update von meiner FHEM-Instanz (Docker) angestoßen mit dem Ergebnis das dieser nun leider
nicht mehr startet bzw. crasht.

Bisher liefen alle Update problemlos, die fhem.cfg wurde auch nicht manuell verändert....und dennoch kommt im Logfile dieser Eintrag:

Undefined subroutine &main::HMCCU_FindIODevice called at ./FHEM/88_HMCCUDEV.pm line 136, <$fh> line 1673.

Dann wird wohl erneut ein Start versucht - mit dem selben Ergebins.
Immer kommt dieser Eintrag im Log und FHEM ist per Weboberfläche nicht erreichbar.
Sobald ich das Backup wieder einspiele, läuft alle wie gehabt - Update anschubsen: Gleicher Fehler.

Hat jemand eine Idee an was das liegen könnte?


VG
Thorsten

smeagel

Kurzer Zwischenbericht:

In einem anderen Forenbeitrag habe ich etwas gelesen das evtl. Devices früher geladen werden als die CCU - Habe schweren Herzens die
fhem.cfg manuell editiert und angeschaut: Es scheint als würde die CCU später geladen als HM-Devices.
Vorgehen: Alle CCU-Devices ziemlich weit oben in der fhem.cfg eingefügt.

Somit scheint es zu gehen - allerdings bekomme ich beim starten von FHEM nun folgende Logeinträge:

2022.02.18 08:42:45 2: HMCCURPCPROC [d_rpc168006HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
no element found at line 1, column 0, byte -1:
9^
4713531094000
at /usr/share/perl5/RPC/XML/Client.pm line 436.

2022.02.18 08:42:45 2: HMCCURPCPROC [d_rpc168006HmIP_RF] Retrying request getParamsetDescription
2022.02.18 08:42:45 2: HMCCURPCPROC [d_rpc168006HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
no element found at line 1, column 0, byte -1:
9^
4713531094000
at /usr/share/perl5/RPC/XML/Client.pm line 436.

2022.02.18 08:42:45 2: HMCCURPCPROC [d_rpc168006HmIP_RF] Retrying request getParamsetDescription
2022.02.18 08:42:45 2: HMCCURPCPROC [d_rpc168006HmIP_RF] Error(s) while fetching parameter set descriptions 001299939605E5. Error while executing RPC multicall request: RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
no element found at line 1, column 0, byte -1:
9^
4713531094000
at /usr/share/perl5/RPC/XML/Client.pm line 436.

2022.02.18 08:43:17 2: HMCCURPCPROC [d_rpc168006HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
no element found at line 1, column 0, byte -1:
9^
4713531556768
at /usr/share/perl5/RPC/XML/Client.pm line 436.

2022.02.18 08:43:17 2: HMCCURPCPROC [d_rpc168006HmIP_RF] Retrying request getParamsetDescription
2022.02.18 08:43:47 2: HMCCURPCPROC [d_rpc168006HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
no element found at line 1, column 0, byte -1:
9^
4713531556768
at /usr/share/perl5/RPC/XML/Client.pm line 436.

2022.02.18 08:43:47 2: HMCCURPCPROC [d_rpc168006HmIP_RF] Retrying request getParamsetDescription
2022.02.18 08:43:47 2: HMCCURPCPROC [d_rpc168006HmIP_RF] Error(s) while fetching parameter set descriptions 00155993965479. Error while executing RPC multicall request: RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
no element found at line 1, column 0, byte -1:
9^
4713531556768
at /usr/share/perl5/RPC/XML/Client.pm line 436.

2022.02.18 08:44:07 2: HMCCU [HM_CCU3] Read 581 Paramset Descriptions for interface HmIP-RF
2022.02.18 08:44:07 2: HMCCU [HM_CCU3] Reading Peer Descriptions for interface HmIP-RF
2022.02.18 08:44:07 2: HMCCU [HM_CCU3] Read 36 Peer Descriptions for interface HmIP-RF


Hat jemand eine Idee was hier schief läuft?

zap

Es kommt hin und wieder vor, dass FHEM beim Speichern der Config die I/O Devices nicht zuerst in die fhem.cfg schreibt. Keine Ahnung, woran das liegt.
Eigentlich sind I/O Devices und ihre abhängigen Client-Devices an dem Internal "Clients" im I/O Device identifizierbar.

Bei HMCCU sieht dieser Eintrag so aus:

Clients :HMCCUDEV:HMCCUCHN:HMCCURPCPROC:

FHEM weiß also, dass HMCCU ein I/O Device für HMCCUDEV usw ist
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

Beta-User

Zitat von: zap am 18 Februar 2022, 11:55:56
Es kommt hin und wieder vor, dass FHEM beim Speichern der Config die I/O Devices nicht zuerst in die fhem.cfg schreibt. Keine Ahnung, woran das liegt.
MWn. ist das keine "Aufgabe", die fhem.pl erledigen würde. In der cfg werden die Geräte nach meinem Kenntnisstand so abgelegt, wie sie - zeitlich gesehen - nacheinander definiert wurden.
Dieses Reihenfolgeproblem haben die meisten anderen zwiestufigen Module in der Regel selbst intern gelöst (Timer, vorher checken, ob es die andere Funktion gibt, use ..., whatever).

PS: bei configDB kann man nicht einfach die Reihenfolge manuell ändern, und ein IO nachträglich dadurch nach vorne zu holen, dass man alles andere löscht, ist irgendwie auch keine Option (und in der DB selbst rumzumurksen erst recht nicht).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Jamo

Ich hatte den Fehler nach einem update vorgestern auch, aber er hatte vorher HttpUtils.pm angemeckert. Shutdown-restart hat erstmal nicht geholfen. Nachdem ich dann das backup eingespielt hatte, und shutdown und restart lief FHEM dann wieder. Nach einem neuerlichen Update lief es dann mit den neuen modulen auch.2022.02.16 14:47:59 1: reload: Error:Modul 88_HMCCU deactivated:
Attempt to reload HttpUtils.pm aborted.
Compilation failed in require at ./FHEM/88_HMCCU.pm line 38, <$fh> line 3589.
BEGIN failed--compilation aborted at ./FHEM/88_HMCCU.pm line 38, <$fh> line 3589.

2022.02.16 14:47:59 0: Attempt to reload HttpUtils.pm aborted.
Compilation failed in require at ./FHEM/88_HMCCU.pm line 38, <$fh> line 3589.
BEGIN failed--compilation aborted at ./FHEM/88_HMCCU.pm line 38, <$fh> line 3589.

Undefined subroutine &main::HMCCU_FindIODevice called at ./FHEM/88_HMCCUDEV.pm line 136, <$fh> line 3631.

Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

zap

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

Jamo

Bei mir war/ist ,,attr global autosave 0". Wieso?
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

lenn1

fhem_1        | 2022.04.08 21:17:27.253 1: HMCCU [d_ccu] Reading device config from CCU. This may take a couple of seconds ...
fhem_1        | 2022.04.08 21:17:27.254 2: HMCCU [d_ccu] Reading Device Descriptions for interface BidCos-RF
fhem_1        | 2022.04.08 21:17:27.363 2: HMCCU [d_ccu] Read 97 Device Descriptions for interface BidCos-RF
fhem_1        | 2022.04.08 21:17:27.363 2: HMCCU [d_ccu] Reading Paramset Descriptions for interface BidCos-RF
fhem_1        | 2022.04.08 21:17:27.857 2: HMCCU [d_ccu] Read 209 Paramset Descriptions for interface BidCos-RF
fhem_1        | 2022.04.08 21:17:27.857 2: HMCCU [d_ccu] Reading Peer Descriptions for interface BidCos-RF
fhem_1        | 2022.04.08 21:17:27.869 2: HMCCU [d_ccu] Read 12 Peer Descriptions for interface BidCos-RF
fhem_1        | 2022.04.08 21:17:27.870 2: HMCCU [d_ccu] Reading Device Descriptions for interface HmIP-RF
fhem_1        | 2022.04.08 21:17:27.957 2: HMCCU [d_ccu] Read 80 Device Descriptions for interface HmIP-RF
fhem_1        | 2022.04.08 21:17:27.957 2: HMCCU [d_ccu] Reading Paramset Descriptions for interface HmIP-RF
fhem_1        | 2022.04.08 21:17:57.976 2: HMCCURPCPROC [d_rpc000015HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
fhem_1        | no element found at line 1, column 0, byte -1:
fhem_1        | 9^
fhem_1        | 4899695129920
fhem_1        |  at /usr/share/perl5/RPC/XML/Client.pm line 426.
fhem_1        |
fhem_1        | 2022.04.08 21:17:57.976 2: HMCCURPCPROC [d_rpc000015HmIP_RF] Retrying request getParamsetDescription
fhem_1        | 2022.04.08 21:18:27.995 2: HMCCURPCPROC [d_rpc000015HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
fhem_1        | no element found at line 1, column 0, byte -1:
fhem_1        | 9^
fhem_1        | 4899695129920
fhem_1        |  at /usr/share/perl5/RPC/XML/Client.pm line 426.
fhem_1        |
fhem_1        | 2022.04.08 21:18:27.995 2: HMCCURPCPROC [d_rpc000015HmIP_RF] Retrying request getParamsetDescription
fhem_1        | 2022.04.08 21:18:27.995 2: HMCCURPCPROC [d_rpc000015HmIP_RF] Error(s) while fetching parameter set descriptions 00129993951902. Error while executing RPC multicall request: RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
fhem_1        | no element found at line 1, column 0, byte -1:
fhem_1        | 9^
fhem_1        | 4899695129920
fhem_1        |  at /usr/share/perl5/RPC/XML/Client.pm line 426.
fhem_1        |
fhem_1        | 2022.04.08 21:18:58.012 2: HMCCURPCPROC [d_rpc000015HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
fhem_1        | no element found at line 1, column 0, byte -1:
fhem_1        | 9^
fhem_1        | 4899695129920
fhem_1        |  at /usr/share/perl5/RPC/XML/Client.pm line 426.
fhem_1        |
fhem_1        | 2022.04.08 21:18:58.012 2: HMCCURPCPROC [d_rpc000015HmIP_RF] Retrying request getParamsetDescription
fhem_1        | 2022.04.08 21:19:28.028 2: HMCCURPCPROC [d_rpc000015HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
fhem_1        | no element found at line 1, column 0, byte -1:
fhem_1        | 9^
fhem_1        | 4899695129920
fhem_1        |  at /usr/share/perl5/RPC/XML/Client.pm line 426.
fhem_1        |
fhem_1        | 2022.04.08 21:19:28.028 2: HMCCURPCPROC [d_rpc000015HmIP_RF] Retrying request getParamsetDescription
fhem_1        | 2022.04.08 21:19:28.028 2: HMCCURPCPROC [d_rpc000015HmIP_RF] Error(s) while fetching parameter set descriptions 00155993959463. Error while executing RPC multicall request: RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
fhem_1        | no element found at line 1, column 0, byte -1:
fhem_1        | 9^
fhem_1        | 4899695129920
fhem_1        |  at /usr/share/perl5/RPC/XML/Client.pm line 426.
fhem_1        |
fhem_1        | 2022.04.08 21:19:58.045 2: HMCCURPCPROC [d_rpc000015HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
fhem_1        | no element found at line 1, column 0, byte -1:
fhem_1        | 9^
fhem_1        | 4899695129920
fhem_1        |  at /usr/share/perl5/RPC/XML/Client.pm line 426.
fhem_1        |
fhem_1        | 2022.04.08 21:19:58.046 2: HMCCURPCPROC [d_rpc000015HmIP_RF] Retrying request getParamsetDescription
fhem_1        | 2022.04.08 21:20:28.063 2: HMCCURPCPROC [d_rpc000015HmIP_RF] RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
fhem_1        | no element found at line 1, column 0, byte -1:
fhem_1        | 9^
fhem_1        | 4899695129920
fhem_1        |  at /usr/share/perl5/RPC/XML/Client.pm line 426.
fhem_1        |
fhem_1        | 2022.04.08 21:20:28.063 2: HMCCURPCPROC [d_rpc000015HmIP_RF] Retrying request getParamsetDescription
fhem_1        | 2022.04.08 21:20:28.063 2: HMCCURPCPROC [d_rpc000015HmIP_RF] Error(s) while fetching parameter set descriptions 00155993957869. Error while executing RPC multicall request: RPC request getParamsetDescription failed: RPC::XML::Client::simple_request:
fhem_1        | no element found at line 1, column 0, byte -1:
fhem_1        | 9^
fhem_1        | 4899695129920
fhem_1        |  at /usr/share/perl5/RPC/XML/Client.pm line 426.
fhem_1        |
fhem_1        | 2022.04.08 21:20:31.270 2: HMCCU [d_ccu] Read 191 Paramset Descriptions for interface HmIP-RF
fhem_1        | 2022.04.08 21:20:31.270 2: HMCCU [d_ccu] Reading Peer Descriptions for interface HmIP-RF
fhem_1        | 2022.04.08 21:20:31.288 2: HMCCU [d_ccu] Read 2 Peer Descriptions for interface HmIP-RF
fhem_1        | 2022.04.08 21:20:31.312 2: HMCCU [d_ccu] Read device configuration in 184.059465885162 seconds: devices/channels=177 parametersets=400 links=14
fhem_1        | 2022.04.08 21:20:31.312 2: HMCCU [d_ccu] RPC device for interface BidCos-RF: d_rpc000015BidCos_RF
fhem_1        | 2022.04.08 21:20:31.312 2: HMCCU [d_ccu] RPC device for interface HmIP-RF: d_rpc000015HmIP_RF


Ich kämpfe auch mit dem Fehler. Fhem startet aber es dauert halt auch sehr lange, bis er an diesen Fehlermeldungen vorbei ist.
Ich habe bereits die HMCCU und HMCCURPCPROC Definitionen nun nach vorn gepackt, direkt nach dem FHEMWEB und so alles durch ist. Leider ohne Erfolg.

VB90

#8
Hi,

Ich habe nach einem Update gestern ebenfalls die Probleme, das FHEM nicht mehr startet.
Ein Backup direkt vor dem Update gefertigt, bringt keine Abhilfe.

EDIT

FHEM startet sehr wohl, ist aber per Browser nicht erreichbar.
Das Logfile spricht dazu folgendes:

2022.04.09 13:19:56 1: reload: Error:Modul 88_HMCCU deactivated:
Can't locate RPC/XML/Client.pm in @INC (you may need to install the RPC::XML::Client module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base ./FHEM/lib) at ./FHEM/88_HMCCU.pm line 36, <$fh> line 202.
BEGIN failed--compilation aborted at ./FHEM/88_HMCCU.pm line 36, <$fh> line 202.

2022.04.09 13:19:56 0: Can't locate RPC/XML/Client.pm in @INC (you may need to install the RPC::XML::Client module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base ./FHEM/lib) at ./FHEM/88_HMCCU.pm line 36, <$fh> line 202.
BEGIN failed--compilation aborted at ./FHEM/88_HMCCU.pm line 36, <$fh> line 202.


Aktuell fehlt mir noch der richtige Ansatz, um das Problem zu beheben.

Interessant dabei:
Eine andere Installation habe ich gestern ebenfalls aktualisiert, dort habe ich die Probleme nicht.

vb
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

frank

#9
Zitatyou may need to install the RPC::XML::Client module
hinweis befolgt?
wo liegt die datei?
ist sie im pfad (@inc) vorhanden?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

VB90

#10
Da es vorher ja auch funktionierte, habe ich diesen Hinweis gekonnt ignoriert. ::)
Habe ich jetzt aber nachgeholt und neu installiert.
Server dauerte ewig, Client wurde nichts gemacht da bereits vorhanden.

Bzgl. der Datei hilf mir mal bitte auf die Sprünge, welche soll wo liegen?

Wenn ich 88_HMCCUDEV und 88_HMCCUCHN umbenenne, startet FHEM und ist auch wieder erreichbar.
Natürlich ohne die HM Funktionalität.

vb

edit:

ich habe jetzt von hier: https://forum.fhem.de/index.php?topic=61370.0 den Rat von Otto123 befolgt und folgendes versucht:
ZitatHi,

Alternativ zu cpan  :-X sollte man unter debian/raspbian also auf dem pi auch das Paket librpc-xml-perl installieren können.

Also angemeldet am Pi dann
Code: [Auswählen]
sudo apt-get update && sudo apt-get install -y librpc-xml-perl

Gruß Otto

mit Erfolg!

FHEM startet wieder und ist arbeitswillig.
Einzig die Geräte und Channel aus der CCU fehlen, aber das is bei mir zum Glück nicht viel.

vb
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.