Hi,
habe hier eine Mini Perl Funktion die einfach nicht will ...
sub culLed ($) {
my ($wert) = @_;
if ($wert lt "100") {
fhem ("set LED16_1_16 led red");
}
elseif ($wert lt "300") {
fhem("set LED16_1_16 led orange");
}
else {
fhem("set LED16_1_16 led green");
}
}
Ziel: es soll per notify der CUL_Wert credit10ms an die funktion übergeben werden und je nach zustand halt die entsprechende Farbe leuchten ..
Fehler beim Reload des Moduls :
fhem> reload 99_iceutils
syntax error at ./FHEM/99_iceutils.pm line 145, near ") {"
syntax error at ./FHEM/99_iceutils.pm line 148, near "else"
Wo ist der Fehler ?
danke
es muss elsif nicht elseif heissen.
die vergleiche solltest du auch von 'lt "xxx"' auf '< xxx' umstellen. du willst ja zahlen und nicht strings vergleichen.
gruss
andre
danke das wars ...
das daemlich elsif ...
%EVTPART1 gibt doch nur die zahl zurück wenn ich mich recht entsinne .. funzt aber nicht ..
define not_credit10ms notify CUL_0:credit10ms {culLed(%EVTPART1)}
funktion (nach umbau)
sub culLed ($) {
my ($wert) = @_;
if ($wert < 100) {
fhem ("set LED16_1_16 led red");
}
elsif ($wert lt 400) {
fhem("set LED16_1_16 led orange");
}
else {
fhem("set LED16_1_16 led green");
}
}
sollte doch eigentlich gehen ... ich glaub ich gehör ins bett :)
ich gehoere ins bett .. wer das geänderte pm auch saved ist klar im vorteil :(
und wech