2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-10 09:16:53 +00:00

fhem.pl: allow device.* in notifyRegexpChanged (Forum #64568)

git-svn-id: https://svn.fhem.de/fhem/trunk@13141 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2017-01-18 11:45:03 +00:00
parent b7803a7132
commit 332aca217b

View File

@ -4523,25 +4523,16 @@ notifyRegexpChanged($$)
{ {
my ($hash, $re) = @_; my ($hash, $re) = @_;
my $dev; my @list2 = split(/\|/, $re);
$dev = $1 if($re =~ m/^\(?([^:]*)\)?$/ || $re =~ m/^\(?([^:]*):(.*)\)?$/);
if($dev && defined($defs{$dev}) && $re !~ m/\|/) { # Forum #36663
$hash->{NOTIFYDEV} = $dev;
} elsif($re =~ m/\|/) { # Regexp Wizard
my @list2 = split(/\|/, $re); # Forum #54536
my @list = grep { m/./ } # Forum #62369 my @list = grep { m/./ } # Forum #62369
map { (m/^\(?([^:]*)(?::.*)?\)?$/ && $defs{$1}) ? $1:""} @list2; map { (m/^\(?([A-Za-z0-9\.\_]+(?:\.[\+\*])?)(?::.*)?\)?$/ &&
if(@list && @list <= 10 && int(@list) == int(@list2)) { ($defs{$1} || devspec2array($1) ne $1)) ? $1 : ""} @list2;
if(@list && int(@list) == int(@list2)) {
@list = keys { map { $_ => 1} @list }; # remove duplicates
$hash->{NOTIFYDEV} = join(",", @list); $hash->{NOTIFYDEV} = join(",", @list);
} else { } else {
delete($hash->{NOTIFYDEV}); delete($hash->{NOTIFYDEV});
} }
} else {
delete($hash->{NOTIFYDEV}); # when called by modify
}
%ntfyHash = (); %ntfyHash = ();
} }