FHEM Forum

FHEM => Automatisierung => Thema gestartet von: kaihs am 28 Januar 2016, 21:46:12

Titel: 98_Xmllist: PERL WARNING: Use of uninitialized value in concatenation (.) or str
Beitrag von: kaihs am 28 Januar 2016, 21:46:12
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?
Titel: Antw:98_Xmllist: PERL WARNING: Use of uninitialized value in concatenation (.) or str
Beitrag von: rudolfkoenig am 29 Januar 2016, 06:44:32
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.
Titel: Antw:98_Xmllist: PERL WARNING: Use of uninitialized value in concatenation (.) or str
Beitrag von: kaihs am 31 Januar 2016, 18:10:51
Letzteres.

Ein

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


gibt EMonitor (http://forum.fhem.de/index.php/topic,30055.msg227275.html#msg227275) 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.