mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-01 07:19:24 +00:00
KM271: added attribute <additionalNotify> to activate notification for specific readings which normally send no notification because of high traffic
git-svn-id: https://svn.fhem.de/fhem/trunk@10926 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
92f765840c
commit
00a10c8d39
@ -355,7 +355,7 @@ KM271_Initialize($)
|
||||
$hash->{SetFn} = "KM271_Set";
|
||||
$hash->{GetFn} = "KM271_Get";
|
||||
$hash->{AttrFn} = "KM271_Attr";
|
||||
$hash->{AttrList} = "do_not_notify:1,0 all_km271_events:1,0 ww_timermode:automatik,tag readingsFilter $readingFnAttributes";
|
||||
$hash->{AttrList} = "do_not_notify:1,0 all_km271_events:1,0 ww_timermode:automatik,tag readingsFilter additionalNotify $readingFnAttributes";
|
||||
|
||||
%km271_rev = ();
|
||||
foreach my $k (sort keys %km271_tr) { # Reverse map
|
||||
@ -760,7 +760,8 @@ KM271_Read($)
|
||||
# Analyze the data
|
||||
my ($fn, $arg) = ($1, $2);
|
||||
my $msghash = $km271_rev{$fn};
|
||||
my $all_events = AttrVal($name, "all_km271_events", "");
|
||||
my $all_events = AttrVal($name, 'all_km271_events', '');
|
||||
my $notifyFilter = AttrVal($name, 'additionalNotify', '');
|
||||
|
||||
if($msghash) {
|
||||
my $km271Timer = $hash->{PRG_TIMER};
|
||||
@ -776,7 +777,7 @@ KM271_Read($)
|
||||
|
||||
if($f eq "d") { $val /= $farg; }
|
||||
elsif($f eq "p") { $val += $farg; }
|
||||
elsif($f eq "ne") { $ntfy = $all_events; }
|
||||
elsif($f eq "ne") { $ntfy = ($notifyFilter && $key =~ m/$notifyFilter/s) ? 1 : $all_events; }
|
||||
elsif($f eq "s") { $val = $val-256 if($val > 127); }
|
||||
elsif($f eq "bf") { $val = KM271_setbits($val, $farg); }
|
||||
elsif($f eq "a") { $val = $km271_arrays[$farg][$val]; }
|
||||
@ -829,7 +830,7 @@ KM271_Attr(@)
|
||||
if($cmd eq 'set') {
|
||||
if($attrName eq 'ww_timermode') {
|
||||
return "Invalid $attrName <$attrVal>" if(!$km271_set_betriebsart{$attrVal});
|
||||
} elsif($attrName eq 'readingsFilter') {
|
||||
} elsif($attrName eq 'readingsFilter' || $attrName eq 'additionalNotify') {
|
||||
eval {qr/$attrVal/};
|
||||
if($@) {
|
||||
Log3 $name, 1, "$name: Invalid Regex for $attrName <$attrVal> '$@'";
|
||||
@ -1148,10 +1149,15 @@ KM271_SetReading($$$$)
|
||||
Only readings which will match the regular expression will be used. All other readings are
|
||||
suppressed in the device and even in the logfile.
|
||||
</li>
|
||||
<a name="additionalNotify"></a>
|
||||
<li>additionalNotify<br>
|
||||
Regular expression for activation of notify for readings with normally suppressed events.<br>
|
||||
Useful for *_Vorlaufisttemperatur readings if notification should be activated only for a specific reading
|
||||
and not for all like all_km271_events.
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
|
||||
<a name="KM271events"></a>
|
||||
<b>Generated events:</b>
|
||||
<ul>
|
||||
|
Loading…
Reference in New Issue
Block a user