FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: rspi am 16 Juni 2019, 21:12:32

Titel: [erledigt] myutils99 / Argument "" isn't numeric
Beitrag von: rspi am 16 Juni 2019, 21:12:32
Hallo zusammen,

habe ein Problem mit Code in myutils99.pm:

ZitatArgument "" isn't numeric


my $Proz_Abluft_aktuell = ReadingsVal("KWL","Proz_Abluft_aktuell",0);
   
if (Value("Proz_Abluft_aktuell") > 50)


Scheint ein String zurückzukommen aus dem Modul für die KWL.

Wie kann ich den String zu einem Integer umwandeln ?
Habe gefühlte 500 Seiten gelesen, u.a. einen Trick mit "print $var + 0", welcher aber nicht zu Ziel führte ...

Titel: Antw:myutils99 / Argument "" isn't numeric
Beitrag von: MadMax-FHEM am 16 Juni 2019, 21:20:33
ReadingsNum statt ReadingsVal...

EDIT: das Value("Proz_Abluft_aktuell") brauchst du nicht. Einfach if($Proz_Abluft_aktuell > 50)

Gruß, Joachim
Titel: Antw:myutils99 / Argument "" isn't numeric
Beitrag von: rspi am 16 Juni 2019, 21:28:41
ZitatEinfach if($Proz_Abluft_aktuell > 50)

Es funktioniert ! Danke !

Warum auch immer ...  :-\
Titel: Antw:myutils99 / Argument "" isn't numeric
Beitrag von: Prof. Dr. Peter Henning am 16 Juni 2019, 21:58:08
ZitatWarum auch immer ...
Weil erstens in Perl nur ein primitiver Datentyp existiert (alles ist ein String...) und zweitens ReadingsNum nur solche Werte liefert, die nummerisch interpretierbar sind.

LG

pah