From 384244ddd6f312a9ab5072fba83aadf20dc49014 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Mon, 1 Sep 2014 19:24:40 +0000 Subject: [PATCH] fhem.pl: Report $defs without type in the central devspec2array 98_SVG.pm: defend against deleted LOGDEVICE. Forum #25397 git-svn-id: https://svn.fhem.de/fhem/trunk@6498 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_SVG.pm | 7 +++---- fhem/fhem.pl | 4 ++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/98_SVG.pm b/fhem/FHEM/98_SVG.pm index bbbb17d1a..bfcc7abfd 100755 --- a/fhem/FHEM/98_SVG.pm +++ b/fhem/FHEM/98_SVG.pm @@ -136,7 +136,6 @@ SVG_FwFn($$$$) { my ($FW_wname, $d, $room, $pageHash) = @_; # pageHash is set for summaryFn. my $hash = $defs{$d}; - my $ld = $defs{$hash->{LOGDEVICE}}; my $ret = ""; if(AttrVal($FW_wname, "plotmode", "SVG") eq "jsSVG") { @@ -771,8 +770,8 @@ SVG_showLog($) my $gplot_pgm = "$FW_gplotdir/$type.gplot"; my ($err, $cfg, $plot, $flog) = SVG_readgplotfile($wl, $gplot_pgm); - if($err) { - my $msg = "Cannot read $gplot_pgm"; + if($err || !$defs{$d}) { + my $msg = ($defs{$d} ? "Cannot read $gplot_pgm" : "No Logdevice $d"); Log3 $FW_wname, 1, $msg; if($pm =~ m/SVG/) { # FW_fatal for SVG: @@ -975,7 +974,7 @@ SVG_render($$$$$$$$$) $SVG_RET=""; my $SVG_ss = AttrVal($parent_name, "smallscreen", 0); - return $SVG_RET if(!defined($dp)); + return $SVG_RET if(!defined($dp) || $dp eq ""); my $nr_axis = AttrVal($parent_name,"nrAxis","1,1"); my ($nr_left_axis,$nr_right_axis,$use_left_axis,$use_right_axis) = diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 7e440ff14..5a2884585 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -1009,6 +1009,10 @@ devspec2array($) } my $hash = $defs{$d}; + if(!$hash->{TYPE}) { + Log 1, "Error: $d has no TYPE"; + next; + } my $val = $hash->{$n}; if(!defined($val)) { my $r = $hash->{READINGS};