feat: Demoanlage um Batterie und Tagesprofile erweitern
This commit is contained in:
@@ -18,8 +18,12 @@ final class DemoanlageBootstrapTest extends TestCase
|
||||
'boiler1' => 2400,
|
||||
'boiler2' => 1500,
|
||||
'dryer' => 900,
|
||||
'buffer' => 1800,
|
||||
'battery' => -1200,
|
||||
'temp1' => 51.2,
|
||||
'temp2' => 48.7,
|
||||
'bufferTemp' => 39.4,
|
||||
'batterySoc' => 63.5,
|
||||
'manager' => 'PV',
|
||||
]);
|
||||
|
||||
@@ -27,6 +31,9 @@ final class DemoanlageBootstrapTest extends TestCase
|
||||
self::assertStringContainsString('Boiler 1', $html);
|
||||
self::assertStringContainsString('Boiler 2', $html);
|
||||
self::assertStringContainsString('Entfeuchter', $html);
|
||||
self::assertStringContainsString('Pufferspeicher', $html);
|
||||
self::assertStringContainsString('Batterie', $html);
|
||||
self::assertStringContainsString('63,5 %', $html);
|
||||
self::assertStringContainsString('Einspeisung', $html);
|
||||
self::assertStringContainsString('12:30', $html);
|
||||
}
|
||||
@@ -105,6 +112,10 @@ final class DemoanlageBootstrapTest extends TestCase
|
||||
self::assertStringContainsString('ENELIX_DEMO_DUMMY_MODULE', $source);
|
||||
self::assertStringContainsString("'Boiler1Liste'", $source);
|
||||
self::assertStringContainsString("'Boiler2Liste'", $source);
|
||||
self::assertStringContainsString("'PufferListe'", $source);
|
||||
self::assertStringContainsString("'BatterieListe'", $source);
|
||||
self::assertStringContainsString('ENELIX_DEMO_BUFFER_MODULE', $source);
|
||||
self::assertStringContainsString('ENELIX_DEMO_BATTERY_MODULE', $source);
|
||||
self::assertStringContainsString("'EnergieflussPVkW'", $source);
|
||||
self::assertStringContainsString("'~Power'", $source);
|
||||
self::assertStringContainsString("'~Electricity'", $source);
|
||||
@@ -120,6 +131,20 @@ final class DemoanlageBootstrapTest extends TestCase
|
||||
"enelixDemoEnergyNode(\$flowDryer, 'Entfeuchter', 'consumer')",
|
||||
$source
|
||||
);
|
||||
self::assertStringContainsString(
|
||||
"enelixDemoEnergyNode(\$flowBuffer, 'Pufferspeicher', 'consumer', \$bufferTemp)",
|
||||
$source
|
||||
);
|
||||
self::assertStringContainsString(
|
||||
"enelixDemoEnergyNode(\$flowBattery, 'Batteriespeicher', 'battery', \$batterySoc)",
|
||||
$source
|
||||
);
|
||||
self::assertStringContainsString(
|
||||
"\$consumerIds = [\$boiler1, \$boiler2, \$dryer, \$buffer, \$battery]",
|
||||
$source
|
||||
);
|
||||
self::assertStringContainsString("'consumerIds' => \$consumerIds", $source);
|
||||
self::assertStringContainsString("'VerbraucherZuordnung' => '[]'", $source);
|
||||
self::assertStringContainsString(
|
||||
"enelixDemoEnsureChart(\$history, 'LeistungsdiagrammNativ'",
|
||||
$source
|
||||
@@ -135,6 +160,27 @@ final class DemoanlageBootstrapTest extends TestCase
|
||||
);
|
||||
}
|
||||
|
||||
public function testDynamischeUmgebungBleibtBegrenztUndVeraendertDenLastgang(): void
|
||||
{
|
||||
$static = enelixDemoEnvironment(12.0, 1000.0, 30, false);
|
||||
self::assertSame(['base' => 1000.0, 'cloud' => 30.0, 'outside' => 6.0], $static);
|
||||
|
||||
$morning = enelixDemoEnvironment(7.5, 1000.0, 30, true);
|
||||
$night = enelixDemoEnvironment(2.0, 1000.0, 30, true);
|
||||
self::assertGreaterThan($night['base'], $morning['base']);
|
||||
self::assertGreaterThanOrEqual(0.0, $morning['cloud']);
|
||||
self::assertLessThanOrEqual(100.0, $morning['cloud']);
|
||||
self::assertNotSame($morning['outside'], $night['outside']);
|
||||
}
|
||||
|
||||
public function testBatterieregisterWerdenMitKorrektemVorzeichenAbgebildet(): void
|
||||
{
|
||||
self::assertSame(1500.0, enelixDemoBatteryRegisterPower(2, 11, 1500.0));
|
||||
self::assertSame(-1500.0, enelixDemoBatteryRegisterPower(2, 12, 1500.0));
|
||||
self::assertSame(0.0, enelixDemoBatteryRegisterPower(1, 11, 1500.0));
|
||||
self::assertSame(0.0, enelixDemoBatteryRegisterPower(2, 0, 1500.0));
|
||||
}
|
||||
|
||||
public function testRollbackIstExplizitBestaetigungspflichtig(): void
|
||||
{
|
||||
$this->expectException(RuntimeException::class);
|
||||
|
||||
Reference in New Issue
Block a user