From 24829f96b964c0ba7ca271682869cb3415f4f7bf Mon Sep 17 00:00:00 2001 From: "belevo\\mh" Date: Wed, 12 Nov 2025 10:34:56 +0100 Subject: [PATCH] =?UTF-8?q?kleiner=20Bug=20Behoben,=20wegen=20Tempgl=C3=A4?= =?UTF-8?q?ttug,?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Puffer_Speicher/module.php | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/Puffer_Speicher/module.php b/Puffer_Speicher/module.php index e4bf203..cc45b88 100644 --- a/Puffer_Speicher/module.php +++ b/Puffer_Speicher/module.php @@ -176,42 +176,28 @@ class Puffer_Speicher extends IPSModule $this->LadeUndSortiereLeistungen(); $boilertemperatur_glätten = $this->ReadPropertyBoolean("Puffertemperatur_glätten"); + if ($boilertemperatur_glätten) { // Wenn Glättung aktiviert ist, führe das Glätten durch - $boilerFuehlerPT1ID = $this->ReadPropertyInteger("Pufferfuehler_PT1"); - - if (IPS_VariableExists($boilerFuehlerPT1ID)) { - $boilerPT1 = GetValue($boilerFuehlerPT1ID); - } else { - $boilerPT1 = 0.0; // Standardwert - } - - $boilerTempID = $this->GetIDForIdent("Boilertemperatur"); - if (IPS_VariableExists($boilerTempID)) { - $boilerTemp = $this->GetValue("Boilertemperatur"); - } else { - $boilerTemp = 0.0; // Standardwert - } - + $boilerPT1 = GetValue($this->ReadPropertyInteger("Pufferfuehler_PT1")); + // PT + $boilerTemp = $this->GetValue("Puffertemperatur"); $time_constant= $this->ReadPropertyInteger("ZeitKonstante"); $delta_t = 5; // Zeitdifferenz zwischen den Messungen (30 Sekunden) $alpha = $delta_t / ($time_constant + $delta_t); $newBoilerTemp = $boilerTemp + $alpha * ($boilerPT1 - $boilerTemp); $this->SetValue("Puffertemperatur", $newBoilerTemp); + } else { // Wenn Glättung nicht aktiviert ist, setze die Boilertemperatur direkt auf den Wert des Boilerfühlers - $boilerFuehlerPT1ID = $this->ReadPropertyInteger("Pufferfuehler_PT1"); - - if (IPS_VariableExists($boilerFuehlerPT1ID)) { - $boilerPT1 = GetValue($boilerFuehlerPT1ID); - } else { - $boilerPT1 = 0.0; // Standardwert - } + $boilerPT1 = GetValue($this->ReadPropertyInteger("Pufferfuehler_PT1")); + // Setze Boilertemperatur direkt auf den Wert des Boilerfühlers $this->SetValue("Puffertemperatur", $boilerPT1); } - + + $at = GetValue($this->ReadPropertyInteger("Aussentemp")); $this->SetValue("Aussentemperatur", $at);