98_monitoring: blacklist attribute added

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@13737 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
igami 2017-03-19 17:33:01 +00:00
parent 19ee6034c7
commit b4ec8e215d

View File

@ -53,6 +53,7 @@ sub monitoring_Initialize($) {
$hash->{AttrList} = $hash->{AttrList} =
"addStateEvent:1,0 " "addStateEvent:1,0 "
. "blacklist "
. "disable:1,0 " . "disable:1,0 "
. "disabledForIntervals " . "disabledForIntervals "
. "errorFuncAdd:textField-long " . "errorFuncAdd:textField-long "
@ -78,8 +79,6 @@ sub monitoring_Define($$) {
if(int(@re) < 1 || int(@re) > 2); if(int(@re) < 1 || int(@re) > 2);
readingsBeginUpdate($hash); readingsBeginUpdate($hash);
# readingsBulkUpdate($hash, "warning", "") unless($hash->{READINGS}{warning});
# readingsBulkUpdate($hash, "error", "") unless($hash->{READINGS}{error});
readingsEndUpdate($hash, 0); readingsEndUpdate($hash, 0);
monitoring_setActive($hash) if($init_done); monitoring_setActive($hash) if($init_done);
@ -235,6 +234,7 @@ sub monitoring_Notify($$) {
|| $removeRegex && $removeRegex =~ m/^$name:/ || $removeRegex && $removeRegex =~ m/^$name:/
|| $events || $events
); );
return if(AttrVal($SELF, "blacklist", "") =~ m/(^|,)$name(,|$)/);
foreach my $event (@{$events}){ foreach my $event (@{$events}){
my $addMatch = "$name:$event" =~ $addRegex; my $addMatch = "$name:$event" =~ $addRegex;
@ -463,7 +463,7 @@ sub monitoring_setActive($) {
formatted by two attributes.<br> formatted by two attributes.<br>
<br> <br>
The following applications are possible and are described The following applications are possible and are described
<a href="monitoringexamples"><u>below</u></a>:<br> <a href="#monitoringexamples"><u>below</u></a>:<br>
<ul> <ul>
<li>opened windows</li> <li>opened windows</li>
<li>battery warnings</li> <li>battery warnings</li>
@ -597,17 +597,21 @@ sub monitoring_setActive($) {
<b>Attribute</b> <b>Attribute</b>
<ul> <ul>
<li> <li>
<a href="addStateEvent"> <a href="#addStateEvent">
<u><code>addStateEvent</code></u> <u><code>addStateEvent</code></u>
</a> </a>
</li> </li>
<li>
<code>blacklist</code><br>
Comma-separated list of devices which will be ignored.
</li>
<li> <li>
<code>disable (1|0)</code><br> <code>disable (1|0)</code><br>
1: Disables the monitoring.<br> 1: Disables the monitoring.<br>
        0: see "set active"         0: see "set active"
</li> </li>
<li> <li>
<a href="disabledForIntervals"> <a href="#disabledForIntervals">
<u><code>disabledForIntervals HH:MM-HH:MM HH:MM-HH-MM ...</code></u> <u><code>disabledForIntervals HH:MM-HH:MM HH:MM-HH-MM ...</code></u>
</a> </a>
</li> </li>
@ -707,7 +711,7 @@ sub monitoring_setActive($) {
Like errorReturn, just for the warning list. Like errorReturn, just for the warning list.
</li> </li>
<li> <li>
<a href="readingFnAttributes"> <a href="#readingFnAttributes">
<u><code>readingFnAttributes</code></u> <u><code>readingFnAttributes</code></u>
</a> </a>
</li> </li>
@ -811,7 +815,7 @@ attr Wasserfilter_monitoring warningReturn {return unless(@warnings);;\
return "Der Wasserfilter muss demn&auml;chst gewechselt werden.";;\ return "Der Wasserfilter muss demn&auml;chst gewechselt werden.";;\
} }
attr Wasserfilter_monitoring warningWait 60*60*24*25</pre> attr Wasserfilter_monitoring warningWait 60*60*24*25</pre>
A <a href="dash_dhcp"><u>DashButton</u></a> is used to tell FHEM that A <a href="#dash_dhcp"><u>DashButton</u></a> is used to tell FHEM that
the water filter has been changed.<br> the water filter has been changed.<br>
After 30 days, the DashButton is set to the error list. After 30 days, the DashButton is set to the error list.
</li> </li>
@ -841,7 +845,7 @@ attr putzen_monitoring errorReturn {return unless(@errors);;\
return(join("\n - ", "Die folgenden Räume müssen wieder geputzt werden:", @errors))\ return(join("\n - ", "Die folgenden Räume müssen wieder geputzt werden:", @errors))\
} }
attr putzen_monitoring errorWait 60*60*24*7</pre> attr putzen_monitoring errorWait 60*60*24*7</pre>
Several <a href="dash_dhcp"><u>DashButton</u></a> are used to inform Several <a href="#dash_dhcp"><u>DashButton</u></a> are used to inform
FHEM that the rooms have been cleaned.<br> FHEM that the rooms have been cleaned.<br>
After 7 days, the room is set to the error list.<br> After 7 days, the room is set to the error list.<br>
However, the room name is not the device name but the readings name and However, the room name is not the device name but the readings name and
@ -877,9 +881,9 @@ attr BeamerFilter_monitoring errorReturn {return unless(@errors);;\
} }
attr BeamerFilter_monitoring warningFuncAdd {return} attr BeamerFilter_monitoring warningFuncAdd {return}
attr BeamerFilter_monitoring warningFuncRemove {return}</pre> attr BeamerFilter_monitoring warningFuncRemove {return}</pre>
An <a href="HourCounter"><u>HourCounter</u></a> is used to record the An <a href="#HourCounter"><u>HourCounter</u></a> is used to record the
operating hours of a beamer and a operating hours of a beamer and a
<a href="dash_dhcp"><u>DashButton</u></a> to tell FHEM that the filter <a href="#dash_dhcp"><u>DashButton</u></a> to tell FHEM that the filter
has been cleaned.<br> has been cleaned.<br>
If the filter has not been cleaned for more than 200 hours, the device If the filter has not been cleaned for more than 200 hours, the device
is set to the error list.<br> is set to the error list.<br>
@ -912,7 +916,7 @@ attr BeamerFilter_monitoring warningFuncRemove {return}</pre>
zwei Attribute formatiert ausgeben.<br> zwei Attribute formatiert ausgeben.<br>
<br> <br>
Folgende Anwendungen sind m&ouml;glich und werden Folgende Anwendungen sind m&ouml;glich und werden
<a href="monitoringexamples"><u>unten</u></a> beschrieben:<br> <a href="#monitoringexamples"><u>unten</u></a> beschrieben:<br>
<ul> <ul>
<li>ge&ouml;ffnete Fenster</li> <li>ge&ouml;ffnete Fenster</li>
<li>Batterie Warnungen</li> <li>Batterie Warnungen</li>
@ -1056,17 +1060,21 @@ attr BeamerFilter_monitoring warningFuncRemove {return}</pre>
<b>Attribute</b> <b>Attribute</b>
<ul> <ul>
<li> <li>
<a href="addStateEvent"> <a href="#addStateEvent">
<u><code>addStateEvent</code></u> <u><code>addStateEvent</code></u>
</a> </a>
</li> </li>
<li>
<code>blacklist</code><br>
Durch Komma getrennte Liste von Ger&auml;ten die ignoriert werden.
</li>
<li> <li>
<code>disable (1|0)</code><br> <code>disable (1|0)</code><br>
1: Deaktiviert das monitoring.<br> 1: Deaktiviert das monitoring.<br>
0: siehe "set active" 0: siehe "set active"
</li> </li>
<li> <li>
<a href="disabledForIntervals"> <a href="#disabledForIntervals">
<u><code>disabledForIntervals HH:MM-HH:MM HH:MM-HH-MM ...</code></u> <u><code>disabledForIntervals HH:MM-HH:MM HH:MM-HH-MM ...</code></u>
</a> </a>
</li> </li>
@ -1168,7 +1176,7 @@ attr BeamerFilter_monitoring warningFuncRemove {return}</pre>
Wie errorReturn, nur f&uuml;r die warning-Liste. Wie errorReturn, nur f&uuml;r die warning-Liste.
</li> </li>
<li> <li>
<a href="readingFnAttributes"> <a href="#readingFnAttributes">
<u><code>readingFnAttributes</code></u> <u><code>readingFnAttributes</code></u>
</a> </a>
</li> </li>
@ -1282,7 +1290,7 @@ attr Wasserfilter_monitoring warningReturn {return unless(@warnings);;\
return "Der Wasserfilter muss demn&auml;chst gewechselt werden.";;\ return "Der Wasserfilter muss demn&auml;chst gewechselt werden.";;\
} }
attr Wasserfilter_monitoring warningWait 60*60*24*25</pre> attr Wasserfilter_monitoring warningWait 60*60*24*25</pre>
Hierbei wird ein <a href="dash_dhcp"><u>DashButton</u></a> genutzt um Hierbei wird ein <a href="#dash_dhcp"><u>DashButton</u></a> genutzt um
FHEM mitzuteilen, dass der Wasserfilter gewechselt wurde.<br> FHEM mitzuteilen, dass der Wasserfilter gewechselt wurde.<br>
Nach 30 Tagen wird der DashButton auf die error-Liste gesetzt. Nach 30 Tagen wird der DashButton auf die error-Liste gesetzt.
</li> </li>
@ -1315,7 +1323,7 @@ attr putzen_monitoring errorReturn {return unless(@errors);;\
return(join("\n - ", "Die folgenden Räume müssen wieder geputzt werden:", @errors))\ return(join("\n - ", "Die folgenden Räume müssen wieder geputzt werden:", @errors))\
} }
attr putzen_monitoring errorWait 60*60*24*7</pre> attr putzen_monitoring errorWait 60*60*24*7</pre>
Hierbei werden mehrere <a href="dash_dhcp"><u>DashButton</u></a> Hierbei werden mehrere <a href="#dash_dhcp"><u>DashButton</u></a>
genutzt um FHEM mitzuteilen, dass die Räume geputzt wurden.<br> genutzt um FHEM mitzuteilen, dass die Räume geputzt wurden.<br>
Nach 7 Tagen wird der Raum auf die error-Liste gesetzt.<br> Nach 7 Tagen wird der Raum auf die error-Liste gesetzt.<br>
Der Raum Name ist hierbei jedoch nicht der Geräte-Name, sondern der Der Raum Name ist hierbei jedoch nicht der Geräte-Name, sondern der
@ -1352,9 +1360,9 @@ attr BeamerFilter_monitoring errorReturn {return unless(@errors);;\
} }
attr BeamerFilter_monitoring warningFuncAdd {return} attr BeamerFilter_monitoring warningFuncAdd {return}
attr BeamerFilter_monitoring warningFuncRemove {return}</pre> attr BeamerFilter_monitoring warningFuncRemove {return}</pre>
Hierbei wird ein <a href="HourCounter"><u>HourCounter</u></a> genutzt Hierbei wird ein <a href="#HourCounter"><u>HourCounter</u></a> genutzt
um die Betriebsstunden eine Beamer zu erfassen und ein um die Betriebsstunden eine Beamer zu erfassen und ein
<a href="dash_dhcp"><u>DashButton</u></a> um FHEM mitzuteilen, dass der <a href="#dash_dhcp"><u>DashButton</u></a> um FHEM mitzuteilen, dass der
Filter gereinigt wurde.<br> Filter gereinigt wurde.<br>
Wurde der Filter l&auml;nger als 200 Betriebsstunden nicht gereinigt Wurde der Filter l&auml;nger als 200 Betriebsstunden nicht gereinigt
wird das Ger&auml;t auf die error-Liste gesetzt.<br> wird das Ger&auml;t auf die error-Liste gesetzt.<br>