From 014ea65bc873fe1c164a390de2f52f81bdf3cb79 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Sun, 14 Nov 2021 18:29:29 +0000 Subject: [PATCH] 76_SolarForecast.pm: contrib 0.56.10 git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@25226 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- contrib/DS_Starter/76_SolarForecast.pm | 29 +++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/contrib/DS_Starter/76_SolarForecast.pm b/contrib/DS_Starter/76_SolarForecast.pm index bfabebcca..9d7a5f42e 100644 --- a/contrib/DS_Starter/76_SolarForecast.pm +++ b/contrib/DS_Starter/76_SolarForecast.pm @@ -120,7 +120,7 @@ BEGIN { # Versions History intern my %vNotesIntern = ( - "0.56.10"=> "14.11.2021 change sub _flowGraphic (Max), https://forum.fhem.de/index.php/topic,117864.msg1186970.html#msg1186970 ", + "0.56.10"=> "14.11.2021 change sub _flowGraphic (Max), https://forum.fhem.de/index.php/topic,117864.msg1186970.html#msg1186970, new reset consumerMaster ", "0.56.9" => "27.10.2021 change sub _flowGraphic (Max) ", "0.56.8" => "25.10.2021 change func ___csmSpecificEpieces as proposed from Max : https://forum.fhem.de/index.php/topic,117864.msg1180452.html#msg1180452 ", "0.56.7" => "18.10.2021 new attr flowGraphicShowConsumerDummy ", @@ -732,7 +732,8 @@ sub Set { my ($setlist,@fcdevs,@cfs); my ($fcd,$ind,$med,$cf) = ("","","",""); - my @re = qw( consumerPlanning + my @re = qw( ConsumerMaster + consumerPlanning currentBatteryDev currentForecastDev currentInverterDev @@ -1343,7 +1344,26 @@ sub _setreset { ## no critic "not used" } writeDataToFile ($hash, "consumers", $csmcache.$name); # Cache File Consumer schreiben - } + } + + if($prop eq "consumerMaster") { # Verbraucherhash löschen + my $c = $paref->{prop1} // ""; # bestimmten Verbraucher setzen falls angegeben + + if ($c) { + my $calias = ConsumerVal ($hash, $c, "alias", ""); + delete $data{$type}{$name}{consumers}{$c}; + Log3($name, 3, qq{$name - Consumer "$calias" deleted from memory}); + } + else { + for my $cs (keys %{$data{$type}{$name}{consumers}}) { + my $calias = ConsumerVal ($hash, $cs, "alias", ""); + delete $data{$type}{$name}{consumers}{$cs}; + Log3($name, 3, qq{$name - Consumer "$calias" deleted from memory}); + } + } + + writeDataToFile ($hash, "consumers", $csmcache.$name); # Cache File Consumer schreiben + } createNotifyDev ($hash); @@ -7543,6 +7563,9 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen consumerPlanning löscht die Planungsdaten aller registrierten Verbraucher Um die Planungsdaten nur eines Verbrauchers zu löschen verwendet man: + consumerMaster löscht die Daten aller registrierten Verbraucher aus dem Speicher + Um die Daten nur eines Verbrauchers zu löschen verwendet man: + currentBatteryDev löscht das eingestellte Batteriedevice und korrespondierende Daten currentForecastDev löscht das eingestellte Device für Wetterdaten currentInverterDev löscht das eingestellte Inverterdevice und korrespondierende Daten