From 26da6ff034530c1d017a5f5e8eaabe1a739de585 Mon Sep 17 00:00:00 2001 From: DS_Starter Date: Sun, 14 Mar 2021 15:46:03 +0000 Subject: [PATCH] 76_SolarForecast.pm: contrib 0.11.0 git-svn-id: https://svn.fhem.de/fhem/trunk@23969 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/76_SolarForecast.pm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index e52f915c1..7f44d7720 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -2790,15 +2790,30 @@ sub setPVhistory { if($histname eq "pvrl") { # realer Energieertrag $val = $ethishour; - $data{$type}{$name}{pvhist}{$day}{$nhour}{pvrl} = $ethishour; + $data{$type}{$name}{pvhist}{$day}{$nhour}{pvrl} = $ethishour; + + my $pvrlsum = 0; + for my $k (keys %{$data{$type}{$name}{pvhist}{$day}}) { + next if($k eq "99"); + $pvrlsum += $data{$type}{$name}{pvhist}{$day}{$k}{pvrl} // 0; + } + $data{$type}{$name}{pvhist}{$day}{99}{pvrl} = $pvrlsum; } if($histname eq "pvfc") { # prognostizierter Energieertrag $val = $calcpv; - $data{$type}{$name}{pvhist}{$day}{$nhour}{pvfc} = $calcpv; + $data{$type}{$name}{pvhist}{$day}{$nhour}{pvfc} = $calcpv; + + my $pvfcsum = 0; + for my $k (keys %{$data{$type}{$name}{pvhist}{$day}}) { + next if($k eq "99"); + $pvfcsum += $data{$type}{$name}{pvhist}{$day}{$k}{pvfc} // 0; + } + $data{$type}{$name}{pvhist}{$day}{99}{pvfc} = $pvfcsum; } Log3 ($name, 5, "$name - set PV History hour: $nhour, hash: $histname, val: $val"); + delete $data{$type}{$name}{pvhist}{$day}{summary}; return; }