mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 03:06:37 +00:00
76_SMAPortal: avoid deletion of readings if provider is selected but value not delivered. Forum: #102112.msg1078990.html#msg1078990
git-svn-id: https://svn.fhem.de/fhem/trunk@22640 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
77daab008b
commit
900f46f4fd
@ -1,5 +1,8 @@
|
||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||
# Do not insert empty lines here, update check depends on it.
|
||||
- change: 76_SMAPortal: avoid deletion of readings if provider is selected
|
||||
but value not delivered.
|
||||
Forum: #102112.msg1078990.html#msg1078990
|
||||
- bugfix: 73_AutoShuttersControl: fix bug in call
|
||||
IsAfterShuttersTimeBlocking()
|
||||
- bugfix: 73_AutoShuttersControl: fix fix numeric eq
|
||||
|
@ -137,6 +137,7 @@ BEGIN {
|
||||
|
||||
# Versions History intern
|
||||
my %vNotesIntern = (
|
||||
"3.4.1" => "18.08.2020 add selected providerlevel to deletion blacklist # Forum: https://forum.fhem.de/index.php/topic,102112.msg1078990.html#msg1078990 ",
|
||||
"3.4.0" => "09.08.2020 attr balanceDay, balanceMonth, balanceYear for data provider balanceDayData, balanceMonthData, balanceYearData ".
|
||||
"set getData command, update button in header of PortalAsHtml, minor code changes according PBP",
|
||||
"3.3.4" => "12.07.2020 fix break in header if attribute hourCount was reduced ",
|
||||
@ -2067,7 +2068,7 @@ sub ParseData { ## no critic
|
||||
@da = split "###", $lc;
|
||||
}
|
||||
|
||||
deleteData($hash, 0) if($getp ne "none"); # Daten nur löschen wenn Datenabruf (kein Verbraucher schalten)
|
||||
deleteData($hash, 1) if($getp ne "none"); # Daten nur löschen wenn Datenabruf (kein Verbraucher schalten)
|
||||
|
||||
readingsBeginUpdate($hash);
|
||||
|
||||
@ -2912,21 +2913,31 @@ sub deleteData {
|
||||
}
|
||||
|
||||
if($conspl) { # Readings löschen wenn nicht im providerLevel enthalten
|
||||
my $pbl = q{};
|
||||
for my $prl (keys %{$mandatory{$name}}) { # mandatory Provider die abgerufen wurden
|
||||
my $lvlm = $mandatory{$name}{$prl}{level}; # Forum: https://forum.fhem.de/index.php/topic,102112.msg1078990.html#msg1078990
|
||||
if ($lvlm) {
|
||||
$pbl .= "|^".$lvlm."_";
|
||||
}
|
||||
}
|
||||
|
||||
for my $prl (keys %{$subs{$name}}) { # Provider die abgerufen wurden
|
||||
my $lvl = $subs{$name}{$prl}{level} if($subs{$name}{$prl}{doit}); # Forum: https://forum.fhem.de/index.php/topic,102112.msg1078990.html#msg1078990
|
||||
if ($lvl) {
|
||||
$pbl .= "|^".$lvl."_";
|
||||
}
|
||||
}
|
||||
$bl .= $pbl; # Blacklist ergänzen
|
||||
|
||||
for my $key(@allrds) {
|
||||
my ($lvl) = $key =~ m/^(L\d+)_/x;
|
||||
if($lvl) {
|
||||
for my $p (keys %{$subs{$name}}) {
|
||||
delete($defs{$name}{READINGS}{$key}) if($subs{$name}{$p}{level} eq $lvl && !$subs{$name}{$p}{doit});
|
||||
}
|
||||
} else {
|
||||
delete($defs{$name}{READINGS}{$key}) if($key !~ /$bl/x);
|
||||
}
|
||||
delete $defs{$name}{READINGS}{$key} if($key =~ /^$pblvl/x); # Logbuchreadings immer löschen
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
for my $key(@allrds) {
|
||||
for my $key(@allrds) { # alle Readings löschen bis auf Standard-Blacklist
|
||||
delete($defs{$name}{READINGS}{$key}) if($key !~ /$bl/x);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user