From 8f344dcc9734830d86d7d1d8b01e1d2e239912bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=A4fliger?= Date: Tue, 8 Oct 2024 16:09:13 +0200 Subject: [PATCH] Weitere Fehlerbehebung --- Verbraucher_1_Stufig/form.json | 6 +++++ Verbraucher_1_Stufig/module.php | 48 ++++++++++++++++----------------- library.json | 2 +- 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/Verbraucher_1_Stufig/form.json b/Verbraucher_1_Stufig/form.json index 83679ef..8b4b348 100644 --- a/Verbraucher_1_Stufig/form.json +++ b/Verbraucher_1_Stufig/form.json @@ -17,6 +17,12 @@ "caption": "Mindestlaufzeit des Verbruachers wärend eines Tages", "suffix": "" }, + { + "type": "NumberSpinner", + "name": "Zeit_Zwischen_Zustandswechseln", + "caption": "Mindestlaufzeit des Verbrauchers bei Lastschaltung", + "suffix": "" + }, { "type": "NumberSpinner", "name": "BoilerLeistung", diff --git a/Verbraucher_1_Stufig/module.php b/Verbraucher_1_Stufig/module.php index 06cd2c0..c5dfafb 100644 --- a/Verbraucher_1_Stufig/module.php +++ b/Verbraucher_1_Stufig/module.php @@ -56,6 +56,30 @@ class Verbraucher_1_Stufig extends IPSModule { } } + + // Methode zum Setzen der PowerSteps und Timer starten + public function SetTimerOn($powerSteps) { + + // Timer setzen, der nach "Zeit_Zwischen_Zustandswechseln" abläuft + $zeitZwischenZustandswechseln = $this->ReadPropertyInteger("Zeit_Zwischen_Zustandswechseln"); + $this->SetTimerInterval("ZustandswechselTimer", $zeitZwischenZustandswechseln * 1000); // Timer in Millisekunden + + // Timer-Status auf true setzen + $this->SetValue("IsTimerActive", true); + + } + + // Methode zum Zurücksetzen von PowerSteps nach Ablauf des Timers + public function ResetPowerSteps() { + // PowerSteps wieder auf den ursprünglichen Zustand setzen (wie vorherige Funktionalität) + $this->SetValue("PowerSteps", json_encode([$this->GetValue("CurrentPower")])); + + // Timer stoppen + $this->SetTimerInterval("ZustandswechselTimer", 0); + + // Timer-Status auf false setzen + $this->SetValue("IsTimerActive", false); + } // Methode zum Setzen des aktuellen Stromverbrauchs public function SetCurrentPower(float $power) { $this->CheckIdle($power); @@ -85,30 +109,6 @@ class Verbraucher_1_Stufig extends IPSModule { } } - // Methode zum Setzen der PowerSteps und Timer starten - public function SetTimerOn($powerSteps) { - - // Timer setzen, der nach "Zeit_Zwischen_Zustandswechseln" abläuft - $zeitZwischenZustandswechseln = $this->ReadPropertyInteger("Zeit_Zwischen_Zustandswechseln"); - $this->SetTimerInterval("ZustandswechselTimer", $zeitZwischenZustandswechseln * 1000); // Timer in Millisekunden - - // Timer-Status auf true setzen - $this->SetValue("IsTimerActive", true); - - } - - // Methode zum Zurücksetzen von PowerSteps nach Ablauf des Timers - public function ResetPowerSteps() { - // PowerSteps wieder auf den ursprünglichen Zustand setzen (wie vorherige Funktionalität) - $this->SetValue("PowerSteps", json_encode([$this->GetValue("CurrentPower")])); - - // Timer stoppen - $this->SetTimerInterval("ZustandswechselTimer", 0); - - // Timer-Status auf false setzen - $this->SetValue("IsTimerActive", false); - } - // Methode zum Abrufen der aktuellen Daten public function GetCurrentData(bool $Peak) { $IstNacht = $this->GetValue("IstNacht"); diff --git a/library.json b/library.json index c51d527..f95e3d8 100644 --- a/library.json +++ b/library.json @@ -6,7 +6,7 @@ "compatibility": { "version": "7.1" }, - "version": "0.13", + "version": "0.15", "build": 0, "date": 0 } \ No newline at end of file