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:
parent
841f0c1265
commit
31b6988a7f
@ -9872,7 +9872,7 @@ sub _batChargeRecmd {
|
|||||||
next if($err);
|
next if($err);
|
||||||
|
|
||||||
my $batinstcap = BatteryVal ($hash, $bn, 'binstcap', 0); # installierte Batteriekapazität Wh
|
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
|
my $batoptsoc = ReadingsNum ($name, 'Battery_OptimumTargetSoC_'.$bn, 0); # aktueller optimierter SoC
|
||||||
|
|
||||||
if (!$inplim || !$batinstcap) {
|
if (!$inplim || !$batinstcap) {
|
||||||
@ -9889,8 +9889,7 @@ sub _batChargeRecmd {
|
|||||||
|
|
||||||
debugLog ($paref, 'batteryManagement', "Bat $bn Charge Rcmd - Installed Battery capacity: $batinstcap Wh");
|
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 $whneed = sprintf "%.0f", ($batinstcap - ($batinstcap * $csoc / 100)); # benötigte Energie bis 100% Batteriekapazität Wh
|
||||||
my $sfmargin = $whneed * 0.25; # Sicherheitszuschlag: X% der benötigten Ladeenergie (Wh)
|
|
||||||
|
|
||||||
## Auswertung für jede kommende Stunde
|
## Auswertung für jede kommende Stunde
|
||||||
########################################
|
########################################
|
||||||
@ -9920,7 +9919,8 @@ sub _batChargeRecmd {
|
|||||||
## SOC-Prognose und Ladeempfehlung
|
## SOC-Prognose und Ladeempfehlung
|
||||||
####################################
|
####################################
|
||||||
my $progsoc = sprintf "%.0f", (100 / $batinstcap * ($batinstcap - $whneed)); # Prognose SoC
|
my $progsoc = sprintf "%.0f", (100 / $batinstcap * ($batinstcap - $whneed)); # Prognose SoC
|
||||||
$progsoc = $progsoc < $batoptsoc ? $batoptsoc :
|
$progsoc = !$num ? $csoc : # Stunde 00 (aktuelle) -> $progsoc = $csoc
|
||||||
|
$progsoc < $batoptsoc ? $batoptsoc :
|
||||||
$progsoc < $lowSoc ? $lowSoc :
|
$progsoc < $lowSoc ? $lowSoc :
|
||||||
$progsoc;
|
$progsoc;
|
||||||
|
|
||||||
@ -9931,6 +9931,8 @@ sub _batChargeRecmd {
|
|||||||
}
|
}
|
||||||
); # Readings NextHourXX_Bat_XX_ChargeForecast erstellen
|
); # 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 ( $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
|
if ( !$num && $pvCu - $curcon >= $inplim ) {$rcmd = 1} # Ladeempfehlung wenn akt. PV Leistung >= WR-Leistungsbegrenzung
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user