2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-01-31 06:39:11 +00:00

76_SolarForecast: contrib 1.43.0

git-svn-id: https://svn.fhem.de/fhem/trunk@29506 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2025-01-10 15:37:15 +00:00
parent 841f0c1265
commit 31b6988a7f

View File

@ -9872,7 +9872,7 @@ sub _batChargeRecmd {
next if($err);
my $batinstcap = BatteryVal ($hash, $bn, 'binstcap', 0); # installierte Batteriekapazität Wh
my $soc = BatteryVal ($hash, $bn, 'bcharge', 0); # aktuelle Ladung in %
my $csoc = BatteryVal ($hash, $bn, 'bcharge', 0); # aktuelle Ladung in %
my $batoptsoc = ReadingsNum ($name, 'Battery_OptimumTargetSoC_'.$bn, 0); # aktueller optimierter SoC
if (!$inplim || !$batinstcap) {
@ -9889,8 +9889,7 @@ sub _batChargeRecmd {
debugLog ($paref, 'batteryManagement', "Bat $bn Charge Rcmd - Installed Battery capacity: $batinstcap Wh");
my $whneed = sprintf "%.0f", ($batinstcap - ($batinstcap * $soc / 100)); # benötigte Energie bis 100% Batteriekapazität Wh
my $sfmargin = $whneed * 0.25; # Sicherheitszuschlag: X% der benötigten Ladeenergie (Wh)
my $whneed = sprintf "%.0f", ($batinstcap - ($batinstcap * $csoc / 100)); # benötigte Energie bis 100% Batteriekapazität Wh
## Auswertung für jede kommende Stunde
########################################
@ -9919,8 +9918,9 @@ sub _batChargeRecmd {
## SOC-Prognose und Ladeempfehlung
####################################
my $progsoc = sprintf "%.0f", (100 / $batinstcap * ($batinstcap - $whneed)); # Prognose SoC
$progsoc = $progsoc < $batoptsoc ? $batoptsoc :
my $progsoc = sprintf "%.0f", (100 / $batinstcap * ($batinstcap - $whneed)); # Prognose SoC
$progsoc = !$num ? $csoc : # Stunde 00 (aktuelle) -> $progsoc = $csoc
$progsoc < $batoptsoc ? $batoptsoc :
$progsoc < $lowSoc ? $lowSoc :
$progsoc;
@ -9931,6 +9931,8 @@ sub _batChargeRecmd {
}
); # Readings NextHourXX_Bat_XX_ChargeForecast erstellen
my $sfmargin = $whneed * 0.25; # Sicherheitszuschlag: X% der benötigten Ladeenergie (Wh)
if ( $whneed + $sfmargin >= $spday ) {$rcmd = 1} # Ladeempfehlung wenn benötigte Ladeenergie >= Restüberschuß des Tages zzgl. Sicherheitsaufschlag
if ( !$num && $pvCu - $curcon >= $inplim ) {$rcmd = 1} # Ladeempfehlung wenn akt. PV Leistung >= WR-Leistungsbegrenzung