[erledigt] myutils99 / Argument "" isn't numeric

Begonnen von rspi, 16 Juni 2019, 21:12:32

Vorheriges Thema - Nächstes Thema

rspi

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


MadMax-FHEM

#1
ReadingsNum statt ReadingsVal...

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

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

rspi

ZitatEinfach if($Proz_Abluft_aktuell > 50)

Es funktioniert ! Danke !

Warum auch immer ...  :-\

Prof. Dr. Peter Henning

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