fix(manager): Batterie nach Prioritaet als Restverbraucher regeln
Tests / test (push) Canceled after 0s
Tests / test (push) Canceled after 0s
This commit is contained in:
+4
-20
@@ -106,8 +106,7 @@ final class ManagerRegler
|
||||
float $zielnetzleistung,
|
||||
array $verbraucher,
|
||||
string $prioritaetsfeld,
|
||||
array $bezogeneEnergieWh = [],
|
||||
array $vorgegebeneSollwerte = []
|
||||
array $bezogeneEnergieWh = []
|
||||
): array {
|
||||
if (!in_array($prioritaetsfeld, ['PrioritaetPV', 'PrioritaetPeak'], true)) {
|
||||
throw new InvalidArgumentException('Unbekanntes Prioritaetsfeld.');
|
||||
@@ -130,13 +129,7 @@ final class ManagerRegler
|
||||
|
||||
$festwert = self::istFestwert($daten['Leistungswerte_W']);
|
||||
$festgehalten = !$daten['AenderungMoeglich'];
|
||||
$vorgegebenerSollwert = $vorgegebeneSollwerte[$eintrag['InstanzID']] ?? null;
|
||||
$vorgegeben = is_int($vorgegebenerSollwert)
|
||||
&& Nachrichtenvertrag::enthaeltLeistungswert(
|
||||
$daten['Leistungswerte_W'],
|
||||
$vorgegebenerSollwert
|
||||
);
|
||||
if (($festwert || $festgehalten) && !$vorgegeben) {
|
||||
if ($festwert || $festgehalten) {
|
||||
$nichtSteuerbar += $leistung;
|
||||
}
|
||||
|
||||
@@ -153,8 +146,6 @@ final class ManagerRegler
|
||||
'Leistungswerte_W' => $daten['Leistungswerte_W'],
|
||||
'Festwert' => $festwert,
|
||||
'Festgehalten' => $festgehalten,
|
||||
'Vorgegeben' => $vorgegeben,
|
||||
'VorgegebenerSollwert' => $vorgegeben ? $vorgegebenerSollwert : null,
|
||||
'Sollwert' => self::angenommenerSollwert($daten),
|
||||
];
|
||||
}
|
||||
@@ -176,11 +167,6 @@ final class ManagerRegler
|
||||
$sollwerte = [];
|
||||
$ausgangssumme = 0;
|
||||
foreach ($steuerbar as $eintrag) {
|
||||
if ($eintrag['Vorgegeben']) {
|
||||
$sollwerte[$eintrag['InstanzID']] = $eintrag['VorgegebenerSollwert'];
|
||||
$ausgangssumme += $eintrag['VorgegebenerSollwert'];
|
||||
continue;
|
||||
}
|
||||
if ($eintrag['Festwert']) {
|
||||
$sollwerte[$eintrag['InstanzID']] = self::kleinsterLeistungswert(
|
||||
$eintrag['Leistungswerte_W']
|
||||
@@ -204,7 +190,7 @@ final class ManagerRegler
|
||||
|
||||
$rest = $verteilbudget - $nichtSteuerbar - $ausgangssumme;
|
||||
foreach ($steuerbar as $eintrag) {
|
||||
if ($eintrag['Vorgegeben'] || $eintrag['Festwert'] || $eintrag['Festgehalten']) {
|
||||
if ($eintrag['Festwert'] || $eintrag['Festgehalten']) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -233,9 +219,7 @@ final class ManagerRegler
|
||||
|
||||
$zugeteilt = $nichtSteuerbar;
|
||||
foreach ($steuerbar as $eintrag) {
|
||||
if ($eintrag['Vorgegeben']
|
||||
|| (!$eintrag['Festwert'] && !$eintrag['Festgehalten'])
|
||||
) {
|
||||
if (!$eintrag['Festwert'] && !$eintrag['Festgehalten']) {
|
||||
$zugeteilt += $sollwerte[$eintrag['InstanzID']];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user