fhem.pl: added eval to devspec filter

git-svn-id: https://svn.fhem.de/fhem/trunk@4338 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig
2013-12-07 14:46:07 +00:00
parent c7ac8eb493
commit 571cf038b4

View File

@@ -756,7 +756,7 @@ AnalyzePerlCommand($$)
{
my ($cl, $cmd) = @_;
$cmd =~ s/\\ *\n/ /g; # Multi-line
$cmd =~ s/\\ *\n/ /g; # Multi-line. Probably not needed anymore
# Make life easier for oneliners:
%value = ();
@@ -877,11 +877,19 @@ devspec2array($)
my @res;
foreach my $dName (split(":FILTER=", $name)) {
my ($n,$op,$re) = ("NAME","=",$dName);
($n,$op,$re) = ($1,$2,$3) if($dName =~ m/^([^!]*)(=|!=)(.*)$/);
($n,$op,$re) = ($1,$2,$3) if($dName =~ m/^([^!]*)(=|!=)(.*)$/);
($n,$op,$re) = ($1,"eval","") if($dName =~ m/^{(.*)}$/);
@res=();
foreach my $d (@names) {
next if($attr{$d} && $attr{$d}{ignore});
if($op eq "eval") {
my $exec = EvalSpecials($n, %{{"%NAME"=>$d}});
push @res, $d if(AnalyzePerlCommand(undef, $exec));
next;
}
my $hash = $defs{$d};
my $val = $hash->{$n};
if(!defined($val)) {