From 21394f215f2e5aacbea47f95f2bfced0d436571d Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 10 Mar 2019 11:32:58 +0000 Subject: [PATCH] AttrTemplate.pm: More complex filtering (Forum #97989) git-svn-id: https://svn.fhem.de/fhem/trunk@18845 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/AttrTemplate.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/fhem/FHEM/AttrTemplate.pm b/fhem/FHEM/AttrTemplate.pm index 22be2db0a..05d3ec157 100644 --- a/fhem/FHEM/AttrTemplate.pm +++ b/fhem/FHEM/AttrTemplate.pm @@ -43,9 +43,8 @@ AttrTemplate_Initialize() $templates{$name}{desc} = $lastComment if($lastComment); $lastComment = ""; - } elsif($line =~ m/^filter:(.*)=(.*)/) { - $templates{$name}{filterName} = $1; - $templates{$name}{filterVal} = $2; + } elsif($line =~ m/^filter:(.*)/) { + $templates{$name}{filter} = $1; } elsif($line =~ m/^par:(.*)/) { push(@{$templates{$name}{pars}}, $1); @@ -78,7 +77,8 @@ AttrTemplate_Set($$@) my @list; for my $k (sort keys %templates) { my $h = $templates{$k}; - if(!$h->{filterName} || $hash->{$h->{filterName}} eq $h->{filterVal}) { + my $matches = grep /$name/, devspec2array($h->{filter}) if($h->{filter}); + if(!$h->{filter} || $matches) { push @list, $k; $haveDesc = 1 if($h->{desc}); } @@ -97,7 +97,8 @@ AttrTemplate_Set($$@) my @hlp; for my $k (sort keys %templates) { my $h = $templates{$k}; - if(!$h->{filterName} || $hash->{$h->{filterName}} eq $h->{filterVal}) { + my $matches = grep /$name/, devspec2array($h->{filter}) if($h->{filter}); + if(!$h->{filter} || $matches) { push @hlp, "$k: $h->{desc}" if($h->{desc}); } }