feat: Einspeisebegrenzung in Demo simulieren
Tests / test (push) Successful in 46s

This commit is contained in:
dh
2026-09-26 10:09:10 +00:00
parent dcf51bd8be
commit 72d96aeb81
3 changed files with 54 additions and 5 deletions
+15
View File
@@ -123,6 +123,13 @@ final class DemoanlageBootstrapTest extends TestCase
self::assertStringContainsString("'PrognoseHausverbrauchVariableID' => \$houseDisplay", $source);
self::assertStringContainsString("'PrognoseSOCVariableID' => \$batterySoc", $source);
self::assertStringContainsString("'PrognoseSendeintervall' => 60", $source);
self::assertStringContainsString("'IstleistungVariableID' => \$inverterActual", $source);
self::assertStringContainsString("'BegrenzungVariableID' => \$inverterLimit", $source);
self::assertStringContainsString("'Begrenzungsart' => 'watt'", $source);
self::assertStringContainsString("'EinspeisebegrenzungAktiv' => true", $source);
self::assertStringContainsString("'Einspeisegrenze' => 3000.0", $source);
self::assertStringContainsString("'Einspeisetoleranz' => 100.0", $source);
self::assertStringContainsString("'NetzfahrplanAktiv' => false", $source);
self::assertStringContainsString("'demo-hybrid-1'", $source);
self::assertStringContainsString("'demo-pv-1'", $source);
self::assertStringContainsString("'demo-battery-1'", $source);
@@ -191,6 +198,14 @@ final class DemoanlageBootstrapTest extends TestCase
self::assertSame(0.0, enelixDemoBatteryRegisterPower(2, 0, 1500.0));
}
public function testWechselrichtergrenzeBegrenztNurDieTatsaechlichePvLeistung(): void
{
self::assertSame(3000.0, enelixDemoLimitPvPower(8000.0, 3000.0));
self::assertSame(2500.0, enelixDemoLimitPvPower(2500.0, 3000.0));
self::assertSame(0.0, enelixDemoLimitPvPower(-100.0, 3000.0));
self::assertSame(0.0, enelixDemoLimitPvPower(8000.0, -100.0));
}
public function testRollbackIstExplizitBestaetigungspflichtig(): void
{
$this->expectException(RuntimeException::class);