From 3c76c2a0dd279185668debbb08901cac346aefd9 Mon Sep 17 00:00:00 2001 From: "belevo\\mh" Date: Mon, 24 Feb 2025 10:18:13 +0100 Subject: [PATCH] =?UTF-8?q?zu=C3=BCrck=20gesetzt=20f=C3=BCr=20Fehler=20dia?= =?UTF-8?q?gnose?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Batterie/module.php | 42 ++++++++++++++++++------------------------ library.json | 2 +- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/Batterie/module.php b/Batterie/module.php index 1f28b0f..f95a6d7 100644 --- a/Batterie/module.php +++ b/Batterie/module.php @@ -94,32 +94,26 @@ public function RequestAction($Ident, $Value) public function SetAktuelle_Leistung(int $power) { - // Ausgewählte Variablen aus der Instanzkonfiguration lesen - $entladeleistungID = $this->ReadPropertyFloat("Entladeleistung"); - $ladeleistungID = $this->ReadPropertyFloat("Ladeleistung"); - // Überprüfen, ob die Entladeleistung-ID korrekt gesetzt ist - if ($entladeleistungID > 0) { - if ($power < 0) { - // Entladeleistung setzen (wenn power negativ ist) - $this->SetValue("AktuelleEntladeleistung", abs($power)); - $this->SetValue("AktuelleLadeleistung", 0); // Ladeleistung auf 0 setzen - } else { - // Ladeleistung auf 0 setzen, wenn keine Entladung stattfindet - $this->SetValue("AktuelleEntladeleistung", 0); - } + $spannung = $this->ReadPropertyInteger("Batteriespannung"); + //$ladestrom = GetValue($this->GetIDForIdent("Ladestrom")); + //$entladestrom = GetValue($this->GetIDForIdent("Entladestrom")); + $ladestrom = $this->ReadPropertyFloat("Ladestrom"); + $entladestrom = $this->ReadPropertyFloat("Entladestrom"); + + if ($spannung <= 0) { + IPS_LogMessage("Batterie", "Fehler: Batteriespannung ist 0 oder ungültig."); + return; } - - // Überprüfen, ob die Ladeleistung-ID korrekt gesetzt ist - if ($ladeleistungID > 0) { - if ($power >= 0) { - // Ladeleistung setzen (wenn power positiv ist) - $this->SetValue("AktuelleLadeleistung", $power); - $this->SetValue("AktuelleEntladeleistung", 0); // Entladeleistung auf 0 setzen - } else { - // Ladeleistung auf 0 setzen, wenn keine Aufladung stattfindet - $this->SetValue("AktuelleLadeleistung", 0); - } + + if ($power >= 0) { + $ladestrom = $power / $spannung; + $this->SetValue("Ladestrom", $ladestrom); + $this->SetValue("Entladestrom", 0); + } else { + $entladestrom = $power / $spannung; + $this->SetValue("Entladestrom", $entladestrom); + $this->SetValue("Ladestrom", 0); } diff --git a/library.json b/library.json index 79e6e4a..69eb7d1 100644 --- a/library.json +++ b/library.json @@ -6,7 +6,7 @@ "compatibility": { "version": "7.1" }, - "version": "1.051", + "version": "1.052", "build": 0, "date": 0 } \ No newline at end of file