This commit is contained in:
@@ -425,11 +425,6 @@ class VerbraucherWaermepumpe extends IPSModule implements VerbraucherSchnittstel
|
|||||||
}
|
}
|
||||||
|
|
||||||
$pv = $this->ReadAttributeString('Betriebsart') === Nachrichtenvertrag::BETRIEBSART_PV;
|
$pv = $this->ReadAttributeString('Betriebsart') === Nachrichtenvertrag::BETRIEBSART_PV;
|
||||||
if ($laeuft && $restMindestlaufzeit > 0) {
|
|
||||||
return $pv
|
|
||||||
? WaermepumpenRegler::STEUERZUSTAND_ERHOEHUNG
|
|
||||||
: WaermepumpenRegler::STEUERZUSTAND_NORMAL;
|
|
||||||
}
|
|
||||||
if (!(bool) $this->leseZustand('SollwertGueltig')) {
|
if (!(bool) $this->leseZustand('SollwertGueltig')) {
|
||||||
return WaermepumpenRegler::STEUERZUSTAND_NORMAL;
|
return WaermepumpenRegler::STEUERZUSTAND_NORMAL;
|
||||||
}
|
}
|
||||||
@@ -440,6 +435,9 @@ class VerbraucherWaermepumpe extends IPSModule implements VerbraucherSchnittstel
|
|||||||
? WaermepumpenRegler::STEUERZUSTAND_ERHOEHUNG
|
? WaermepumpenRegler::STEUERZUSTAND_ERHOEHUNG
|
||||||
: WaermepumpenRegler::STEUERZUSTAND_NORMAL;
|
: WaermepumpenRegler::STEUERZUSTAND_NORMAL;
|
||||||
}
|
}
|
||||||
|
if ($laeuft && $restMindestlaufzeit > 0) {
|
||||||
|
return WaermepumpenRegler::STEUERZUSTAND_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
return $sollleistung === 0 && $sperrenZulaessig
|
return $sollleistung === 0 && $sperrenZulaessig
|
||||||
? WaermepumpenRegler::STEUERZUSTAND_SPERRE
|
? WaermepumpenRegler::STEUERZUSTAND_SPERRE
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ return static function (TestContext $test): void {
|
|||||||
'IstleistungVariableID' => $rueckmeldung,
|
'IstleistungVariableID' => $rueckmeldung,
|
||||||
'Anlaufwartezeit' => 1,
|
'Anlaufwartezeit' => 1,
|
||||||
'Wiederholsperre' => 3,
|
'Wiederholsperre' => 3,
|
||||||
'Mindestlaufzeit' => 1,
|
'Mindestlaufzeit' => 5,
|
||||||
'Mindestsperrzeit' => 0,
|
'Mindestsperrzeit' => 0,
|
||||||
'MaximaleSperrzeit' => 2,
|
'MaximaleSperrzeit' => 2,
|
||||||
'MaximaleSperrzeit24h' => 60,
|
'MaximaleSperrzeit24h' => 60,
|
||||||
@@ -115,7 +115,20 @@ return static function (TestContext $test): void {
|
|||||||
$test->assertSame(5000, (int) GetValue(
|
$test->assertSame(5000, (int) GetValue(
|
||||||
$test->objectByIdent('Istleistung', $waermepumpe)
|
$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 (
|
$test->runCase('Peak sperrt und maximale Sperrzeit erzwingt Normalbetrieb', static function (
|
||||||
|
|||||||
Reference in New Issue
Block a user