fix(ladestation): Solarpause nicht als Ladeende erkennen

This commit is contained in:
dh
2026-09-29 09:07:44 +00:00
parent 21577c0125
commit b86810d30f
4 changed files with 64 additions and 4 deletions
+8 -3
View File
@@ -34,8 +34,12 @@ final class LadestationRegler
* @param array{Rohstatus: int, Istleistung_W: float} $rohstatus
* @return array<string, int|float|bool>
*/
public static function normalisiereStatus(array $rohstatus, bool $warVerbunden): array
{
public static function normalisiereStatus(
array $rohstatus,
bool $warVerbunden,
bool $warGeladen = false,
bool $ladungErwartet = true
): array {
$verbunden = $rohstatus['Rohstatus'] !== 1;
$leistung = max(0.0, $rohstatus['Istleistung_W']);
$phasen = self::PHASEN_UNBEKANNT;
@@ -47,7 +51,8 @@ final class LadestationRegler
$nenner = $phasen === self::PHASEN_EIN ? 230.0 : 1.71 * 400.0;
$ladestrom = $leistung / $nenner;
$ermittelterMaximalstrom = 2.5 + $ladestrom;
$geladen = $warVerbunden && $ermittelterMaximalstrom < 6.0;
$geladen = $warGeladen
|| ($warVerbunden && $ladungErwartet && $ermittelterMaximalstrom < 6.0);
}
if (!$verbunden) {