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