Hallo,
bei mir sitzt ein SVG-Plot auf einem logProxy. Ich erhalte die Warnung:
2017.02.04 16:26:30 1: PERL WARNING: Use of uninitialized value $data{"currval3"} in sprintf at /users/neubert/Development/Perl/fhem/FHEM/98_SVG.pm line 2082.
Zeile 2080 bis 2083 sieht so aus:
if(defined($data{"min$j"}) && $data{"min$j"} ne "undef") {
$desc = sprintf("%s: Min:%g Max:%g Last:%g",
$t, $data{"min$j"}, $data{"max$j"}, $data{"currval$j"});
}
Die erste Zeile ist m.E. redundant (Prüfung auf defined und auf nicht undef). Das aber nur am Rande.
currval kann nichts liefern, weil es sich um einen xy-Plot handelt, bei dem nicht die Uhrzeit an der Abszisse steht.
Wäre das an dieser Stelle weiter mit defined() abzuzäunen?
Viele Grüße
Boris
Habs gemacht. Das mit "redundant" verstehe ich nicht: wenn ich defined entferne, regnet es Warnungen:
Zitat
PERL WARNING: Use of uninitialized value within %data in string ne at ./FHEM/98_SVG.pm line 2080.
Danke!
Meiner Meinung nach genügt
if(defined($data{"min$j"})) {
Das mit dem "undef" habe ich sicher nicht freiwillig eingebaut, leider kriege ich es nicht mehr zusammen, warum.
Stammt aus r7054, 2014-11-24, siehe auch https://forum.fhem.de/index.php?topic=29271
wenn ich mir den diff anschaue (https://svn.fhem.de/trac/changeset?reponame=&old=7054%40trunk&new=7054%40trunk (https://svn.fhem.de/trac/changeset?reponame=&old=7054%40trunk&new=7054%40trunk)) sieht es aber so aus als ob der komische vergleich schon vorher drin war und durch den patch für r7054 nur woanders hin gewandert ist :).