fix: Waermepumpe ohne Vorgabe normal betreiben
Tests / test (push) Successful in 45s

This commit is contained in:
dh
2026-09-22 15:13:04 +00:00
parent 0f1e0c9fbb
commit a67018e68f
2 changed files with 18 additions and 7 deletions
+3 -5
View File
@@ -425,11 +425,6 @@ class VerbraucherWaermepumpe extends IPSModule implements VerbraucherSchnittstel
}
$pv = $this->ReadAttributeString('Betriebsart') === Nachrichtenvertrag::BETRIEBSART_PV;
if ($laeuft && $restMindestlaufzeit > 0) {
return $pv
? WaermepumpenRegler::STEUERZUSTAND_ERHOEHUNG
: WaermepumpenRegler::STEUERZUSTAND_NORMAL;
}
if (!(bool) $this->leseZustand('SollwertGueltig')) {
return WaermepumpenRegler::STEUERZUSTAND_NORMAL;
}
@@ -440,6 +435,9 @@ class VerbraucherWaermepumpe extends IPSModule implements VerbraucherSchnittstel
? WaermepumpenRegler::STEUERZUSTAND_ERHOEHUNG
: WaermepumpenRegler::STEUERZUSTAND_NORMAL;
}
if ($laeuft && $restMindestlaufzeit > 0) {
return WaermepumpenRegler::STEUERZUSTAND_NORMAL;
}
return $sollleistung === 0 && $sperrenZulaessig
? WaermepumpenRegler::STEUERZUSTAND_SPERRE
+15 -2
View File
@@ -20,7 +20,7 @@ return static function (TestContext $test): void {
'IstleistungVariableID' => $rueckmeldung,
'Anlaufwartezeit' => 1,
'Wiederholsperre' => 3,
'Mindestlaufzeit' => 1,
'Mindestlaufzeit' => 5,
'Mindestsperrzeit' => 0,
'MaximaleSperrzeit' => 2,
'MaximaleSperrzeit24h' => 60,
@@ -115,7 +115,20 @@ return static function (TestContext $test): void {
$test->assertSame(5000, (int) GetValue(
$test->objectByIdent('Istleistung', $waermepumpe)
));
IPS_Sleep(1100);
});
$test->runCase('Lauf ohne Vorgabe erzwingt keine Erhoehung', static function (
TestContext $test
) use ($waermepumpe, $kontakt1, $kontakt2): void {
IPS_RequestAction($waermepumpe, 'Aktiv', false);
IPS_RequestAction($waermepumpe, 'Aktiv', true);
$test->waitUntil(
static fn (): bool => GetValue($kontakt1) === false
&& GetValue($kontakt2) === false
);
$test->assertSame(false, GetValue($kontakt1));
$test->assertSame(false, GetValue($kontakt2));
IPS_Sleep(5100);
});
$test->runCase('Peak sperrt und maximale Sperrzeit erzwingt Normalbetrieb', static function (