From 203a7a8044805beba9af69cb62d3793f57b0edea Mon Sep 17 00:00:00 2001 From: DS_Starter Date: Wed, 27 Aug 2025 17:49:14 +0000 Subject: [PATCH] 76_SolarForecast: Version 1.57.3 git-svn-id: https://svn.fhem.de/fhem/trunk@30225 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/76_SolarForecast.pm | 7 +++++-- fhem/contrib/DS_Starter/76_SolarForecast.pm | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/76_SolarForecast.pm b/fhem/FHEM/76_SolarForecast.pm index 087d3d266..eb8a436d2 100644 --- a/fhem/FHEM/76_SolarForecast.pm +++ b/fhem/FHEM/76_SolarForecast.pm @@ -11084,6 +11084,7 @@ sub _transferBatteryValues { delete $data{$name}{current}{batpowerinsum}; delete $data{$name}{current}{batpoweroutsum}; delete $data{$name}{current}{batcapsum}; + delete $data{$name}{current}{batwhtotal}; for my $bn (1..MAXBATTERIES) { $bn = sprintf "%02d", $bn; @@ -11296,19 +11297,21 @@ sub _transferBatteryValues { } if ($num) { - writeToHistory ( { paref => $paref, key => 'socwhsum', val => (sprintf "%.0f", $socwhsum), hour => $nhour } ); - if ($bcapsum) { my $soctotal = sprintf "%.2f", ($socwhsum / $bcapsum * 100); # resultierender SoC (%) aller Batterien als "eine" $data{$name}{current}{batsoctotal} = $soctotal; push @{$data{$name}{current}{batsocslidereg}}, $soctotal; # Schieberegister average SOC aller Batterien } + $socwhsum = sprintf "%.0f", $socwhsum; + writeToHistory ( { paref => $paref, key => 'socwhsum', val => $socwhsum, hour => $nhour } ); + limitArray ($data{$name}{current}{batsocslidereg}, SLIDENUMMAX); $data{$name}{current}{batpowerinsum} = $pbisum; # summarische laufende Batterieladung $data{$name}{current}{batpoweroutsum} = $pbosum; # summarische laufende Batterieentladung $data{$name}{current}{batcapsum} = $bcapsum; # Summe installierte Batterie Kapazität in Wh + $data{$name}{current}{batwhtotal} = $socwhsum; # Ladung in Wh über alle Batterien } return; diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index 087d3d266..eb8a436d2 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -11084,6 +11084,7 @@ sub _transferBatteryValues { delete $data{$name}{current}{batpowerinsum}; delete $data{$name}{current}{batpoweroutsum}; delete $data{$name}{current}{batcapsum}; + delete $data{$name}{current}{batwhtotal}; for my $bn (1..MAXBATTERIES) { $bn = sprintf "%02d", $bn; @@ -11296,19 +11297,21 @@ sub _transferBatteryValues { } if ($num) { - writeToHistory ( { paref => $paref, key => 'socwhsum', val => (sprintf "%.0f", $socwhsum), hour => $nhour } ); - if ($bcapsum) { my $soctotal = sprintf "%.2f", ($socwhsum / $bcapsum * 100); # resultierender SoC (%) aller Batterien als "eine" $data{$name}{current}{batsoctotal} = $soctotal; push @{$data{$name}{current}{batsocslidereg}}, $soctotal; # Schieberegister average SOC aller Batterien } + $socwhsum = sprintf "%.0f", $socwhsum; + writeToHistory ( { paref => $paref, key => 'socwhsum', val => $socwhsum, hour => $nhour } ); + limitArray ($data{$name}{current}{batsocslidereg}, SLIDENUMMAX); $data{$name}{current}{batpowerinsum} = $pbisum; # summarische laufende Batterieladung $data{$name}{current}{batpoweroutsum} = $pbosum; # summarische laufende Batterieentladung $data{$name}{current}{batcapsum} = $bcapsum; # Summe installierte Batterie Kapazität in Wh + $data{$name}{current}{batwhtotal} = $socwhsum; # Ladung in Wh über alle Batterien } return;