This commit is contained in:
@@ -271,7 +271,11 @@ class VerbraucherWarmwassererwaermer extends IPSModule implements VerbraucherSch
|
||||
}
|
||||
}
|
||||
|
||||
$this->schalteLeistung($ziel, $jetzt);
|
||||
$lastwechselErfolgt = $this->schalteLeistung($ziel, $jetzt);
|
||||
if ($lastwechselErfolgt) {
|
||||
$this->WriteAttributeString('Leistungsangebot', json_encode([$ziel], JSON_THROW_ON_ERROR));
|
||||
$this->setzeZustand('AenderungMoeglich', false);
|
||||
}
|
||||
$this->setzeZustand('Sollleistung', $ziel);
|
||||
$this->aktualisiereStoerungen($temperaturGueltig);
|
||||
if ($meldungPlanen) {
|
||||
@@ -420,14 +424,14 @@ class VerbraucherWarmwassererwaermer extends IPSModule implements VerbraucherSch
|
||||
$this->setzeZustand('LegionellenbetriebAktiv', $fruehestensFaellig);
|
||||
}
|
||||
|
||||
private function schalteLeistung(int $zielLeistung, int $jetzt): void
|
||||
private function schalteLeistung(int $zielLeistung, int $jetzt): bool
|
||||
{
|
||||
$stufen = WarmwasserRegler::dekodiereLeistungsstufen($this->ReadPropertyString('LeistungsStufen'));
|
||||
$zielStufe = WarmwasserRegler::stufeFuerLeistung($stufen, $zielLeistung);
|
||||
$bisherigeLeistung = (int) round((float) $this->leseZustand('Istleistung'));
|
||||
if ($zielLeistung === $bisherigeLeistung && $this->kontakteEntsprechenZiel($stufen, $zielLeistung)) {
|
||||
$this->WriteAttributeString('Schaltfehler', '');
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -464,6 +468,8 @@ class VerbraucherWarmwassererwaermer extends IPSModule implements VerbraucherSch
|
||||
$this->WriteAttributeInteger('LetzterLastwechsel', $jetzt);
|
||||
$this->aktualisiereLastwechselstatus($jetzt);
|
||||
$this->protokolliere('Leistungsstufe', ['Leistung_W' => $zielLeistung, 'Stufe' => $zielStufe]);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user