98_Xmllist: PERL WARNING: Use of uninitialized value in concatenation (.) or str

Begonnen von kaihs, 28 Januar 2016, 21:46:12

Vorheriges Thema - Nächstes Thema

kaihs

Ich bekomme beim Aufruf vom xmllist zahlreiche dieser Warnungen:


PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_XmlList.pm line 54.


Wahrscheinlich stimmt irgendwas mit meinen Device Definitionen nicht, aber wie kann ich die genaue Ursache heraus finden?
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

rudolfkoenig

Das ist vermutlich das "uebliche" Problem: eines der Geraete wurde ohne TYPE angelegt. Eigentlich wird das gemeldet:

fhem> { my $name = $defs{GibtsNicht}{NAME} }
fhem> info log
fhem> XmlList
2016.01.29 06:38:26 1 : Error: GibtsNicht has no TYPE
2016.01.29 06:38:26 1 : PERL WARNING: Use of uninitialized value in hash element at ./FHEM/98_XmlList.pm line 53.
2016.01.29 06:38:26 1 : PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_XmlList.pm line 53.
<FHZINFO>
....


Oder du hast es geschafft, ein Modul ohne ORDER anzulegen, wie man das hinkriegt, ist mir aber schleierhaft.

kaihs

Letzteres.

Ein

    for my $d (keys %defs) {
        print $defs{$d}{NAME} . "\n" if !defined($modules{$defs{$d}{TYPE}}{ORDER});
    }


gibt EMonitor aus.

Wenn ich das richtig sehe, wird ORDER in fhem.pl/CommandReload vergeben.
Und zwar auf Basis des angegebenen Modulnamens, in diesem Fall 99_myUtilsEMONITOR.

Das Modul nennt sich intern aber EMONITOR, und das scheint zu Problemen zu führen.


Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation