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 ...
ReadingsNum statt ReadingsVal...
EDIT: das Value("Proz_Abluft_aktuell") brauchst du nicht. Einfach if($Proz_Abluft_aktuell > 50)
Gruß, Joachim
ZitatEinfach if($Proz_Abluft_aktuell > 50)
Es funktioniert ! Danke !
Warum auch immer ... :-\
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