76_SolarForecast: more preparation for barrierSoC

git-svn-id: https://svn.fhem.de/fhem/trunk@30485 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
DS_Starter
2025-11-03 19:58:56 +00:00
parent cc2b8ea79f
commit b01b5ef90d
2 changed files with 10 additions and 6 deletions

View File

@@ -12319,17 +12319,19 @@ sub __batChargeOptTargetPower {
## Ziel und dessen Erreichbarkeit ## Ziel und dessen Erreichbarkeit
################################### ###################################
my $goalwh = $hsurp->{$hod}{$sbn}{goalwh}; # Ladeziel my $goalwh = $hsurp->{$hod}{$sbn}{goalwh}; # Ladeziel
my $runwhneed = $goalwh - $runwh; my $runwhneed = ($goalwh - $runwh) / $befficiency;
my $achievable = 1; my $achievable = 1;
if ($runwhneed > 0 && $remainingSurp * $befficiency < $runwhneed) { # Erreichbarkeit des Ziels (benötigte Ladeenergie total) prüfen if ($runwhneed > 0 && $remainingSurp < $runwhneed) { # Erreichbarkeit des Ziels (benötigte Ladeenergie total) prüfen
$achievable = 0; $achievable = 0;
} }
storeReading ('Battery_TargetAchievable_'.$sbn, $achievable) if($nhr eq '00'); storeReading ('Battery_TargetAchievable_'.$sbn, $achievable) if($nhr eq '00');
$hsurp->{$hod}{$sbn}{loadrel} = $runwhneed > 0 ? 1 : 0; # Ladefreigabe abhängig von Ziel-SoC Erfüllung $hsurp->{$hod}{$sbn}{loadrel} = $runwhneed > 0 ? 1 : 0; # Ladefreigabe abhängig von Ziel-SoC Erfüllung
$hsurp->{$hod}{$sbn}{achievelog} = "charging target: $goalwh Wh, remaining: ".(sprintf "%.0f", $runwhneed).' Wh -> target likely achievable? '.($achievable ? 'yes' : 'no'); $hsurp->{$hod}{$sbn}{achievelog} = "charging target: $goalwh Wh, remaining: ".
(sprintf "%.0f", ($runwhneed * $befficiency)).' Wh -> target likely achievable? '.
($achievable ? 'yes' : 'no');
## kein Überschuß ## kein Überschuß
################### ###################

View File

@@ -12319,17 +12319,19 @@ sub __batChargeOptTargetPower {
## Ziel und dessen Erreichbarkeit ## Ziel und dessen Erreichbarkeit
################################### ###################################
my $goalwh = $hsurp->{$hod}{$sbn}{goalwh}; # Ladeziel my $goalwh = $hsurp->{$hod}{$sbn}{goalwh}; # Ladeziel
my $runwhneed = $goalwh - $runwh; my $runwhneed = ($goalwh - $runwh) / $befficiency;
my $achievable = 1; my $achievable = 1;
if ($runwhneed > 0 && $remainingSurp * $befficiency < $runwhneed) { # Erreichbarkeit des Ziels (benötigte Ladeenergie total) prüfen if ($runwhneed > 0 && $remainingSurp < $runwhneed) { # Erreichbarkeit des Ziels (benötigte Ladeenergie total) prüfen
$achievable = 0; $achievable = 0;
} }
storeReading ('Battery_TargetAchievable_'.$sbn, $achievable) if($nhr eq '00'); storeReading ('Battery_TargetAchievable_'.$sbn, $achievable) if($nhr eq '00');
$hsurp->{$hod}{$sbn}{loadrel} = $runwhneed > 0 ? 1 : 0; # Ladefreigabe abhängig von Ziel-SoC Erfüllung $hsurp->{$hod}{$sbn}{loadrel} = $runwhneed > 0 ? 1 : 0; # Ladefreigabe abhängig von Ziel-SoC Erfüllung
$hsurp->{$hod}{$sbn}{achievelog} = "charging target: $goalwh Wh, remaining: ".(sprintf "%.0f", $runwhneed).' Wh -> target likely achievable? '.($achievable ? 'yes' : 'no'); $hsurp->{$hod}{$sbn}{achievelog} = "charging target: $goalwh Wh, remaining: ".
(sprintf "%.0f", ($runwhneed * $befficiency)).' Wh -> target likely achievable? '.
($achievable ? 'yes' : 'no');
## kein Überschuß ## kein Überschuß
################### ###################