This commit is contained in:
@@ -38,11 +38,13 @@ return static function (TestContext $test): void {
|
||||
'DiagnosevariablenAnzeigen' => true,
|
||||
]
|
||||
);
|
||||
$lizenzcode = trim((string) getenv('ENELIX_TEST_LICENSE_CODE'));
|
||||
$managerId = $test->createInstance(
|
||||
'{6F771B18-59D4-4C8A-B951-3B2FE9F6A2C4}',
|
||||
'Hilfsmanager',
|
||||
[
|
||||
'NetzleistungVariableID' => $netzleistungId,
|
||||
'Lizenzcode' => $lizenzcode,
|
||||
'AutomatischeSuche' => false,
|
||||
'VerbraucherZuordnung' => json_encode([
|
||||
['InstanzID' => $verbraucherId, 'Aktiv' => true],
|
||||
@@ -88,6 +90,17 @@ return static function (TestContext $test): void {
|
||||
IPS_RequestAction($managerId, 'Regeln', true);
|
||||
};
|
||||
|
||||
if ($lizenzcode === '') {
|
||||
$test->runCase('Manager bleibt ohne Lizenz sicher gesperrt', static function (
|
||||
TestContext $test
|
||||
) use ($verbraucherId, $managerId): void {
|
||||
$test->assertInstanceStatus($verbraucherId);
|
||||
$test->assertInstanceStatus($managerId, 203);
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$test->runCase('Instanzen und Diagnosevariablen werden angelegt', static function (
|
||||
TestContext $test
|
||||
) use ($verbraucherId, $managerId): void {
|
||||
@@ -119,7 +132,7 @@ return static function (TestContext $test): void {
|
||||
);
|
||||
});
|
||||
|
||||
$test->runCase('Unter Minimum wird in PV und Peak bis über die Hysterese geheizt', static function (
|
||||
$test->runCase('Unter Minimum erzwingt PV das Maximum und Peak bietet alle Stufen', static function (
|
||||
TestContext $test
|
||||
) use (
|
||||
$temperaturSetzen,
|
||||
@@ -132,17 +145,19 @@ return static function (TestContext $test): void {
|
||||
$warteAufKontakte([false, false, true]);
|
||||
$test->assertSame('PV', GetValue($test->objectByIdent('Betriebsart', $managerId)));
|
||||
|
||||
$managerRegeln(3000.0);
|
||||
$warteAufKontakte([false, false, true]);
|
||||
IPS_Sleep(1100);
|
||||
$managerRegeln(1000.0);
|
||||
$warteAufKontakte([false, true, false]);
|
||||
$test->assertSame('Peak', GetValue($test->objectByIdent('Betriebsart', $managerId)));
|
||||
|
||||
$temperaturSetzen(49.9);
|
||||
$managerRegeln(3000.0);
|
||||
$warteAufKontakte([false, false, true]);
|
||||
IPS_Sleep(1100);
|
||||
$temperaturSetzen(47.0);
|
||||
$managerRegeln(1000.0);
|
||||
$warteAufKontakte([true, false, false]);
|
||||
|
||||
IPS_Sleep(1100);
|
||||
$temperaturSetzen(50.0);
|
||||
$managerRegeln(3000.0);
|
||||
$managerRegeln(1000.0);
|
||||
$warteAufKontakte([false, false, false]);
|
||||
});
|
||||
|
||||
@@ -170,12 +185,12 @@ return static function (TestContext $test): void {
|
||||
$managerRegeln(-3000.0);
|
||||
$warteAufKontakte([false, false, false]);
|
||||
|
||||
$temperaturSetzen(55.0);
|
||||
$temperaturSetzen(54.9);
|
||||
$managerRegeln(-3000.0);
|
||||
$warteAufKontakte([false, false, true]);
|
||||
});
|
||||
|
||||
$test->runCase('Legionellenziel erlaubt Peak-Stufen und lädt in PV maximal', static function (
|
||||
$test->runCase('Erhöhtes Maximalziel bleibt im freien Peakbetrieb gesperrt', static function (
|
||||
TestContext $test
|
||||
) use (
|
||||
$verbraucherId,
|
||||
@@ -190,10 +205,10 @@ return static function (TestContext $test): void {
|
||||
|
||||
IPS_Sleep(1100);
|
||||
$managerRegeln(2000.0);
|
||||
$warteAufKontakte([true, false, false]);
|
||||
$warteAufKontakte([false, false, false]);
|
||||
});
|
||||
|
||||
$test->runCase('Zeitplan erzwingt rechtzeitiges Aufheizen wie ein Minimum', static function (
|
||||
$test->runCase('Zeitplan bietet in Peak alle Stufen und erzwingt in PV das Maximum', static function (
|
||||
TestContext $test
|
||||
) use (
|
||||
$verbraucherId,
|
||||
@@ -211,6 +226,12 @@ return static function (TestContext $test): void {
|
||||
['Uhrzeit' => date('H:i', time() + 60), 'Solltemperatur' => 60],
|
||||
], JSON_THROW_ON_ERROR));
|
||||
IPS_ApplyChanges($verbraucherId);
|
||||
$test->assertSame(true, GetValue(
|
||||
$test->objectByIdent('AenderungMoeglich', $verbraucherId)
|
||||
));
|
||||
$warteAufKontakte([false, false, false]);
|
||||
|
||||
$managerRegeln(-3000.0);
|
||||
$warteAufKontakte([false, false, true]);
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user