Fehlermeldung in console "Argument "No answer" isn't numeric" etc.

Begonnen von cotecmania, 23 Oktober 2013, 16:05:32

Vorheriges Thema - Nächstes Thema

cotecmania

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
.
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

cotecmania

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 ...
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Matthias Gehre

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?

cotecmania

Guten abend,

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

Gruss
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Matthias Gehre

Bei mir läuft "This is perl 5, version 12, subversion 2 (v5.12.2) built for mips-linux" ohne die Smartmatch Warnungen.

cotecmania

Kenn mich in PERL leider überhaupt nicht aus.
Was kann ich tun ?
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Matthias Gehre

Ich kenne mich mit Perl auch nicht aus. Da ist wohl Eigeninitiative gefragt.

cotecmania

#7
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

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($)
...
...
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Matthias Gehre


cotecmania

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.
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Matthias Gehre


John

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
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP