FHEM Forum

FHEM - Hausautomations-Systeme => MAX => Thema gestartet von: cotecmania am 23 Oktober 2013, 16:05:32

Titel: Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: cotecmania am 23 Oktober 2013, 16:05:32
Folgende Fehlermeldung kam heute in der Console :

Argument "No answer" isn't numeric in numeric lt (<) at C:/fhem-5.5/FHEM/14_CUL_MAX.pm line 436.

ausserdem kommt immer beim Start von FHEM diese Liste an Meldungen :

Smartmatch is experimental at C:/fhem-5.5/FHEM/MaxCommon.pm line 57, <$fh> line
25.
Smartmatch is experimental at C:/fhem-5.5/FHEM/14_CUL_MAX.pm line 145, <$fh> lin
e 25.
Smartmatch is experimental at C:/fhem-5.5/FHEM/14_CUL_MAX.pm line 175, <$fh> lin
e 25.
Smartmatch is experimental at C:/fhem-5.5/FHEM/14_CUL_MAX.pm line 331, <$fh> lin
e 25.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 29, <$fh> line 69.

Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 30, <$fh> line 69.

Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 31, <$fh> line 69.

Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 32, <$fh> line 69.

Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 36, <$fh> line 69.

Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 147, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 302, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 338, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 410, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 509, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 514, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 571, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 572, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 648, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 729, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 770, <$fh> line 69
.
Smartmatch is experimental at C:/fhem-5.5/FHEM/10_MAX.pm line 774, <$fh> line 69
.
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: cotecmania am 28 Oktober 2013, 19:14:54
Jemand ne Idee, wie man das fixt ?
Bei mir hängt sich FHEM zuweilen auf und ich möchte zuerst mal soweit kommen, dass ich keine solchen Fehler mehr drin habe ...
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: Matthias Gehre am 28 Oktober 2013, 22:36:26
Für das "is not numeric" hab ich schon einen Fix committed. Das Smartmatch problem kann an einer zu alten Perl Version liegen. Welche hast du?
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: cotecmania am 28 Oktober 2013, 22:48:04
Guten abend,

Steht in der Signatur ;-))
Strawberry Portable Perl 5.18.1.1

Gruss
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: Matthias Gehre am 28 Oktober 2013, 22:53:39
Bei mir läuft "This is perl 5, version 12, subversion 2 (v5.12.2) built for mips-linux" ohne die Smartmatch Warnungen.
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: cotecmania am 28 Oktober 2013, 22:57:44
Kenn mich in PERL leider überhaupt nicht aus.
Was kann ich tun ?
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: Matthias Gehre am 28 Oktober 2013, 23:07:40
Ich kenne mich mit Perl auch nicht aus. Da ist wohl Eigeninitiative gefragt.
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: cotecmania am 29 Oktober 2013, 21:01:14
OK. Habe recherchiert. Das Problem ist bekannt ab Perl 5.18  >:(
smartmatch wurde explizit auf "experimental" gesetzt

http://blogs.perl.org/users/mike_b/2013/06/a-little-nicer-way-to-use-smartmatch-on-perl-518.html (http://blogs.perl.org/users/mike_b/2013/06/a-little-nicer-way-to-use-smartmatch-on-perl-518.html)

Das bedeutet dass Smartmatch eventuell in neueren Versionen wieder entfallen könnte und man es somit nicht verwenden sollte.

Also ab 5.10 ist das hinzugekommen und ab 5.18 wurde es auf experimental gesetzt. Habe es gerade mit 5.16 getestet, da waren diese Meldungen weg, dafuer aber umso mehr andere Fehler ...

Vielleicht sollte man das allen Entwicklern bekannt geben, damit darauf verzichtet wird.

Alternativ könnte man in den Modulen, wo es verwendet wird mit folgendem Befehl die warnings ausschalten :

no if $] >= 5.017011, warnings => 'experimental::smartmatch';

Habs in 14_cul_max.pm getestet. Funktioniert (bis zum nächsten Update ;-(( )


...
...
my $ackTimeout = 3; #seconds

no if $] >= 5.017011, warnings => 'experimental::smartmatch';

sub
CUL_MAX_Initialize($)
...
...
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: Matthias Gehre am 30 Oktober 2013, 10:06:47
Danke für die Recherche. Hab Smartmatch rausgenommen.
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: cotecmania am 30 Oktober 2013, 16:42:16
Neue warnings auf der Console :

Argument "No answer" isn't numeric in addition (+) at C:/fhem-5.5/FHEM/99_UtilsMaxScan.pm line 289.
Argument "No answer" isn't numeric in addition (+) at C:/fhem-5.5/FHEM/99_UtilsMaxScan.pm line 289.
Argument "No answer" isn't numeric in addition (+) at C:/fhem-5.5/FHEM/99_UtilsMaxScan.pm line 289.
Argument "No answer" isn't numeric in addition (+) at C:/fhem-5.5/FHEM/99_UtilsMaxScan.pm line 289.
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: Matthias Gehre am 30 Oktober 2013, 16:59:14
Bitte in den Thread von 99_UtilsMaxScan.pm schreiben.
Titel: Antw:Fehlermeldung in console "Argument "No answer" isn't numeric" etc.
Beitrag von: John am 01 November 2013, 21:00:52
Hallo Matthias,
ich habe bei einer experimentellen Version (daher andere Zeilennummern als zuvor) ein ähnliches Bild

    Argument "No answer" isn't numeric in numeric lt (<) at ./FHEM/14_CUL_MAX.pm line 436.
    Argument "No answer" isn't numeric in addition (+) at ./FHEM/99_UtilsMaxScan.pm line 384.


Das hat in beiden Fällen mit credit10ms zu tun, das von CUL_MAX geliefert wird.
Das Thema ist in 99_UtilsMaxScan also ein Folgefehler. Hier liegt nicht die Ursache.

John