mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 12:49:34 +00:00
76_SMAPortal: contrib 3.4.1
git-svn-id: https://svn.fhem.de/fhem/trunk@22626 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
b2f9eca72f
commit
ab0f6fe5a2
@ -1,5 +1,5 @@
|
|||||||
#########################################################################################################################
|
#########################################################################################################################
|
||||||
# $Id: 76_SMAPortal.pm 22390 2020-07-12 06:31:29Z DS_Starter $
|
# $Id: 76_SMAPortal.pm 22573 2020-08-10 16:02:32Z DS_Starter $
|
||||||
#########################################################################################################################
|
#########################################################################################################################
|
||||||
# 76_SMAPortal.pm
|
# 76_SMAPortal.pm
|
||||||
#
|
#
|
||||||
@ -137,6 +137,7 @@ BEGIN {
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
my %vNotesIntern = (
|
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 ".
|
"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",
|
"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 ",
|
"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;
|
@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);
|
readingsBeginUpdate($hash);
|
||||||
|
|
||||||
@ -2869,12 +2870,12 @@ sub setVersionInfo {
|
|||||||
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
||||||
# META-Daten sind vorhanden
|
# META-Daten sind vorhanden
|
||||||
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SMAPortal}{META}}
|
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SMAPortal}{META}}
|
||||||
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 76_SMAPortal.pm 22390 2020-07-12 06:31:29Z DS_Starter $ im Kopf komplett! vorhanden )
|
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 76_SMAPortal.pm 22573 2020-08-10 16:02:32Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||||
$modules{$type}{META}{x_version} =~ s/1\.1\.1/$v/gx;
|
$modules{$type}{META}{x_version} =~ s/1\.1\.1/$v/gx;
|
||||||
} else {
|
} else {
|
||||||
$modules{$type}{META}{x_version} = $v;
|
$modules{$type}{META}{x_version} = $v;
|
||||||
}
|
}
|
||||||
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 76_SMAPortal.pm 22390 2020-07-12 06:31:29Z DS_Starter $ im Kopf komplett! vorhanden )
|
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 76_SMAPortal.pm 22573 2020-08-10 16:02:32Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||||
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
||||||
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
||||||
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
||||||
@ -2890,7 +2891,7 @@ return;
|
|||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
# delete Readings und Hash HELPER-Daten
|
# delete Readings und Hash HELPER-Daten
|
||||||
# $conspl = providerLevel berücksichtigen
|
# $conspl = providerLevel berücksichtigen
|
||||||
################################################################
|
################################################################
|
||||||
sub deleteData {
|
sub deleteData {
|
||||||
my $hash = shift;
|
my $hash = shift;
|
||||||
@ -2898,11 +2899,11 @@ sub deleteData {
|
|||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my @allrds = keys%{$defs{$name}{READINGS}};
|
my @allrds = keys%{$defs{$name}{READINGS}};
|
||||||
|
|
||||||
my $bl = "state|lastCycleTime|Counter|loginState"; # Blacklist
|
my $bl = "state|lastCycleTime|Counter|loginState"; # Blacklist
|
||||||
|
|
||||||
my $pblvl = $stpl{plantLogbook}{level}; # Logbuch Level
|
my $pblvl = $stpl{plantLogbook}{level}; # Logbuch Level
|
||||||
|
|
||||||
if(!$subs{$name}{forecastData}{doit}) { # wenn forecastData nicht abgerufen werden sollen -> Wetterdaten im HELPER löschen
|
if(!$subs{$name}{forecastData}{doit}) { # wenn forecastData nicht abgerufen werden sollen -> Wetterdaten im HELPER löschen
|
||||||
my $fclvl = $stpl{forecastData}{level};
|
my $fclvl = $stpl{forecastData}{level};
|
||||||
delete $hash->{HELPER}{"${fclvl}_ThisHour_WeatherId"};
|
delete $hash->{HELPER}{"${fclvl}_ThisHour_WeatherId"};
|
||||||
for my $i (1..23) {
|
for my $i (1..23) {
|
||||||
@ -2911,22 +2912,32 @@ sub deleteData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($conspl) { # Readings löschen wenn nicht im providerLevel enthalten
|
if($conspl) { # Readings löschen wenn nicht im providerLevel enthalten
|
||||||
for my $key(@allrds) {
|
my $pbl = q{};
|
||||||
my ($lvl) = $key =~ m/^(L\d+)_/x;
|
for my $prl (keys %{$mandatory{$name}}) { # mandatory Provider die abgerufen wurden
|
||||||
if($lvl) {
|
my $lvlm = $mandatory{$name}{$prl}{level}; # Forum: https://forum.fhem.de/index.php/topic,102112.msg1078990.html#msg1078990
|
||||||
for my $p (keys %{$subs{$name}}) {
|
if ($lvlm) {
|
||||||
delete($defs{$name}{READINGS}{$key}) if($subs{$name}{$p}{level} eq $lvl && !$subs{$name}{$p}{doit});
|
$pbl .= "|^".$lvlm."_";
|
||||||
}
|
|
||||||
} else {
|
|
||||||
delete($defs{$name}{READINGS}{$key}) if($key !~ /$bl/x);
|
|
||||||
}
|
}
|
||||||
delete $defs{$name}{READINGS}{$key} if($key =~ /^$pblvl/x); # Logbuchreadings immer löschen
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) {
|
||||||
|
delete($defs{$name}{READINGS}{$key}) if($key !~ /$bl/x);
|
||||||
|
delete $defs{$name}{READINGS}{$key} if($key =~ /^$pblvl/x); # Logbuchreadings immer löschen
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
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);
|
delete($defs{$name}{READINGS}{$key}) if($key !~ /$bl/x);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user