Hallo Betateilchen,
Danke. Das Beispiel hatte ich auch gefunden und probiert.
Ich wollte es in einem DOIF verwenden, da steigt dann DOIF aus.
Bei folgendem Test-DOIF kommt dann eine Fehlermeldung (yrno ist das Device von Dir für yr.no):
defmod diyrno DOIF {#https://stackoverflow.com/questions/63485237/utc-to-local-time-conversion-using-perl-minimal-installed-modules\
# if([yrno:&API_LAST_MSG] == 200) {\
\
for(my $i=0;; $i <= 6;; $i++) {\
my $utc=ReadingsVal("yrno","properties.timeseries.$i.time","");;\
my ($sec, $min, $hour, $mday, $mon, $year) = ((reverse(split /\D/,$utc))[0..5]);;\
my $time = timegm($sec, $min, $hour, $mday, ($mon-1), $year);;\
set_Reading("test_$i",localtime($time));;\
}\
}\
}
Folgende Fehlermeldung kommt dann:
condition c01: syntax error at (eval 9271854) line 6, near ")::InternalDoIf"
Global symbol "$mon" requires explicit package name (did you forget to declare "my $mon"?) at (eval 9271854) line 7.
Unmatched right curly bracket at (eval 9271854) line 10, at end of line
syntax error at (eval 9271854) line 10, near "}
}"
Und je mehr ich herumbastle, desto eigenartiger werden die Meldungen.
Gut zu wissen, dass das eigentlich funktionieren sollte.
Dann frage ich mal im DOIF-Bereich.
Lg, Gerhard