fix(easee): veraltete Ladeleistung nach Ladestopp nullen
Tests / test (push) Successful in 50s

This commit is contained in:
dh
2026-09-29 13:15:43 +00:00
parent ace1821213
commit 37400878b6
2 changed files with 36 additions and 4 deletions
+9 -4
View File
@@ -53,11 +53,16 @@ final class EaseeLadestatus
? self::phasenzahl((int) ($beobachtungen['110'] ?? 0)) ? self::phasenzahl((int) ($beobachtungen['110'] ?? 0))
: 0; : 0;
$leistung = max(0.0, (float) ($beobachtungen['120'] ?? 0.0) * 1000.0); $laedt = $betriebszustand === 3;
$leistung = $laedt
? max(0.0, (float) ($beobachtungen['120'] ?? 0.0) * 1000.0)
: 0.0;
$stroeme = []; $stroeme = [];
foreach ([182, 183, 184, 185] as $id) { if ($laedt) {
if (array_key_exists((string) $id, $beobachtungen)) { foreach ([182, 183, 184, 185] as $id) {
$stroeme[] = abs((float) $beobachtungen[(string) $id]); if (array_key_exists((string) $id, $beobachtungen)) {
$stroeme[] = abs((float) $beobachtungen[(string) $id]);
}
} }
} }
$ladestrom = $stroeme === [] ? 0.0 : max($stroeme); $ladestrom = $stroeme === [] ? 0.0 : max($stroeme);
+27
View File
@@ -77,6 +77,33 @@ final class EaseeLadestatusTest extends TestCase
self::assertSame(0, $status['Phasenzahl']); self::assertSame(0, $status['Phasenzahl']);
} }
public function testStillstehendeWallboxSetztVeralteteLeistungUndStromAufNull(): void
{
$status = EaseeLadestatus::ausBeobachtungen([
'109' => 2,
'110' => 30,
'120' => 10.294,
'182' => 14.9,
'183' => 14.8,
'184' => 14.7,
], 32);
self::assertEqualsWithDelta(0.0, $status['Istleistung_W'], 0.01);
self::assertEqualsWithDelta(0.0, $status['Ladestrom_A'], 0.01);
}
public function testFertigGeladeneWallboxSetztVeralteteLeistungAufNull(): void
{
$status = EaseeLadestatus::ausBeobachtungen([
'109' => 4,
'110' => 30,
'120' => 10.294,
], 32);
self::assertTrue($status['FahrzeugGeladen']);
self::assertEqualsWithDelta(0.0, $status['Istleistung_W'], 0.01);
}
public function testApiUndKabelgrenzenBegrenzenDenKonfiguriertenStrom(): void public function testApiUndKabelgrenzenBegrenzenDenKonfiguriertenStrom(): void
{ {
$status = EaseeLadestatus::ausBeobachtungen([ $status = EaseeLadestatus::ausBeobachtungen([