From b7a7d3b0b8b9ff4e1751b0e799ebb3042cd15bd2 Mon Sep 17 00:00:00 2001 From: DS_Starter Date: Sat, 13 Mar 2021 20:15:09 +0000 Subject: [PATCH] 76_SolarForecast.pm: contrib 0.10.0 git-svn-id: https://svn.fhem.de/fhem/trunk@23955 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/76_SolarForecast.pm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index eda07fa4b..217c54d64 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -1240,7 +1240,7 @@ sub writeCacheToFile { my @pvh; - my $json = encode_json $data{$type}{$name}{$cachename}; + my $json = encode_json ($data{$type}{$name}{$cachename}); push @pvh, $json; my $error = FileWrite($file, @pvh); @@ -1315,8 +1315,10 @@ sub _transferDWDForecastValues { } if($fd == 0 && sprintf("%02d",$fh) eq $chour) { - $paref->{calcpv} = $calcpv; + $paref->{calcpv} = $calcpv; + $paref->{histname} = "pvfc"; setPVhistory ($paref); + delete $paref->{histname}; } } @@ -1455,8 +1457,9 @@ sub _transferInverterValues { $paref->{ethishour} = $ethishour; $paref->{nhour} = $nhour; + $paref->{histname} = "pvrl"; setPVhistory ($paref); - delete $paref->{nhour}; + delete $paref->{histname}; } return; @@ -2697,14 +2700,15 @@ sub setPVhistory { my $t = $paref->{t}; # aktuelle Unix-Zeit my $chour = $paref->{chour}; my $nhour = $paref->{nhour}; + my $histname = $paref->{histname} // qq{}; my $ethishour = $paref->{ethishour} // 0; my $calcpv = $paref->{calcpv} // 0; my $type = $hash->{TYPE}; my $day = strftime "%d", localtime($t); # aktueller Tag - $data{$type}{$name}{pvhist}{$day}{$nhour}{pvrl} = $ethishour if($nhour); # realer Energieertrag - $data{$type}{$name}{pvhist}{$day}{$chour}{pvfc} = $calcpv if($chour); # prognostizierter Energieertrag + $data{$type}{$name}{pvhist}{$day}{$nhour}{pvrl} = $ethishour if($histname eq "pvrl"); # realer Energieertrag + $data{$type}{$name}{pvhist}{$day}{$chour}{pvfc} = $calcpv if($histname eq "pvfc"); # prognostizierter Energieertrag Log3 ($name, 5, "$name - set PV History hour $chour -> real: $ethishour, forecast: $calcpv");