mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-07 22:29:19 +00:00
91_eventTypes.pm: add ignoreList
git-svn-id: https://svn.fhem.de/fhem/trunk@8356 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
1d0a70c4f4
commit
e38a247d2c
@ -19,7 +19,7 @@ eventTypes_Initialize($)
|
|||||||
$hash->{GetFn} = "eventTypes_Get";
|
$hash->{GetFn} = "eventTypes_Get";
|
||||||
$hash->{SetFn} = "eventTypes_Set";
|
$hash->{SetFn} = "eventTypes_Set";
|
||||||
$hash->{AttrFn} = "eventTypes_Attr";
|
$hash->{AttrFn} = "eventTypes_Attr";
|
||||||
$hash->{AttrList} = "disable:0,1";
|
$hash->{AttrList} = "disable:0,1 ignoreList";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -75,8 +75,9 @@ eventTypes_Define($$)
|
|||||||
my $f = ResolveDateWildcards($a[2], @t);
|
my $f = ResolveDateWildcards($a[2], @t);
|
||||||
|
|
||||||
my ($err, @content) = FileRead($f);
|
my ($err, @content) = FileRead($f);
|
||||||
my %h = ();
|
my (%h1, %h2);
|
||||||
$modules{eventTypes}{ldata} = \%h;
|
$hash->{ignoreList} = \%h2;
|
||||||
|
$modules{eventTypes}{ldata} = \%h1;
|
||||||
foreach my $l (@content) {
|
foreach my $l (@content) {
|
||||||
next if(!defined($l));
|
next if(!defined($l));
|
||||||
my @l = split(" ", $l, 3);
|
my @l = split(" ", $l, 3);
|
||||||
@ -84,7 +85,7 @@ eventTypes_Define($$)
|
|||||||
Log3 undef, 2, "eventTypes: $f: bogus line $l";
|
Log3 undef, 2, "eventTypes: $f: bogus line $l";
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
$cnt += et_addEvt(\%h, $l[1], $l[2], $l[0]);
|
$cnt += et_addEvt(\%h1, $l[1], $l[2], $l[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Log3 undef, 2, "eventTypes: loaded $cnt events from $f";
|
Log3 undef, 2, "eventTypes: loaded $cnt events from $f";
|
||||||
@ -107,6 +108,7 @@ eventTypes_Notify($$)
|
|||||||
my $t = $eventSrc->{TYPE};
|
my $t = $eventSrc->{TYPE};
|
||||||
my $n = $eventSrc->{NAME};
|
my $n = $eventSrc->{NAME};
|
||||||
return if(!defined($n) || !defined($t) || $n eq "global");
|
return if(!defined($n) || !defined($t) || $n eq "global");
|
||||||
|
return if($me->{ignoreList}{$n});
|
||||||
|
|
||||||
my $ret = "";
|
my $ret = "";
|
||||||
my $h = $modules{eventTypes}{ldata};
|
my $h = $modules{eventTypes}{ldata};
|
||||||
@ -123,6 +125,16 @@ eventTypes_Attr(@)
|
|||||||
my @a = @_;
|
my @a = @_;
|
||||||
my $do = 0;
|
my $do = 0;
|
||||||
|
|
||||||
|
if($a[0] eq "set" && $a[2] eq "ignoreList") {
|
||||||
|
my %h;
|
||||||
|
my $ldata = $modules{eventTypes}{ldata};
|
||||||
|
foreach my $i (split(", ", $a[3])) {
|
||||||
|
$h{$i} = 1;
|
||||||
|
delete $ldata->{$i};
|
||||||
|
}
|
||||||
|
$defs{$a[1]}{ignoreList} = \%h;
|
||||||
|
}
|
||||||
|
|
||||||
if($a[0] eq "set" && $a[2] eq "disable") {
|
if($a[0] eq "set" && $a[2] eq "disable") {
|
||||||
$do = (!defined($a[3]) || $a[3]) ? 1 : 2;
|
$do = (!defined($a[3]) || $a[3]) ? 1 : 2;
|
||||||
}
|
}
|
||||||
@ -198,7 +210,8 @@ eventTypes_Get($@)
|
|||||||
<ul>
|
<ul>
|
||||||
<code>define <name> eventTypes <filename></code>
|
<code>define <name> eventTypes <filename></code>
|
||||||
<br><br>
|
<br><br>
|
||||||
Collect event types for all devices. This service is used by frontends.
|
Collect event types for all devices. This service is used by frontends,
|
||||||
|
e.g. notify and FileLog, to assist you in selecting the correct events.
|
||||||
The filename is used to store the collected events before shutdown.<br>
|
The filename is used to store the collected events before shutdown.<br>
|
||||||
More than one instance of eventTypes should not be necessary.
|
More than one instance of eventTypes should not be necessary.
|
||||||
Examples:
|
Examples:
|
||||||
@ -236,6 +249,11 @@ eventTypes_Get($@)
|
|||||||
<b>Attributes</b>
|
<b>Attributes</b>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#disable">disable</a></li>
|
<li><a href="#disable">disable</a></li>
|
||||||
|
<a name="ignoreList"></a>
|
||||||
|
<li>ignoreList<br>
|
||||||
|
Comma separated device names to ignore whe collecting the events.
|
||||||
|
E.g. ECMD-Devices are used to post RAW data as events.
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user