diff --git a/FHEM/92_FileLog.pm b/FHEM/92_FileLog.pm index 7fe940bb0..958c3bc73 100755 --- a/FHEM/92_FileLog.pm +++ b/FHEM/92_FileLog.pm @@ -43,6 +43,7 @@ FileLog_Initialize($) $hash->{FW_summaryFn} = "FileLog_fhemwebFn"; $hash->{FW_detailFn} = "FileLog_fhemwebFn"; $hash->{SVG_sampleDataFn} = "FileLog_sampleDataFn"; + $hash->{SVG_regexpFn} = "FileLog_regexpFn"; $data{FWEXT}{"/FileLog_toSVG"}{CONTENTFUNC} = "FileLog_toSVG"; $data{FWEXT}{"/FileLog_logWrapper"}{CONTENTFUNC} = "FileLog_logWrapper"; @@ -989,6 +990,18 @@ FileLog_sampleDataFn($$$$$) return ($desc, \@htmlArr, $example); } +sub +FileLog_regexpFn($$) +{ + my ($name, $filter) = @_; + $filter = " $filter "; + $filter =~ s/ [^: ]*:/ /g; + $filter =~ s/:[^ ]* / /g; + $filter =~ s/(^ | $)//g; + $filter =~ s/ /|/g; + return $filter; +} + 1; =pod diff --git a/FHEM/98_SVG.pm b/FHEM/98_SVG.pm index 434377025..5e18ecb3a 100755 --- a/FHEM/98_SVG.pm +++ b/FHEM/98_SVG.pm @@ -1285,11 +1285,12 @@ SVG_render($$$$$$$$$$) my $w = $ow-$nr_left_axis*$axis_width-$nr_right_axis*$axis_width; my $h = $oh-2*$y; # Rect size - my $filter = $srcDesc->{all}." "; - $filter =~ s/ [^: ]*:/ /g; - $filter =~ s/:[^ ]* / /g; - $filter =~ s/(^ | $)//g; - $filter =~ s/ /|/g; + my @filter; + foreach my $src (keys $srcDesc->{src}) { + my $f = CallFn($src, "SVG_regexpFn", $src, $srcDesc->{src}{$src}{arg}); + push(@filter, $f) if($f); + } + my $filter = join("|", @filter); $filter =~ s/"/./g; $filter = AttrVal($parent_name, "longpollSVG", 0) ? "flog=\"$filter\"" : "";