batterie
This commit is contained in:
@@ -55,7 +55,7 @@ class Batterie extends IPSModule
|
||||
$stepSize = 250; // Schrittgröße
|
||||
|
||||
// Erstellen der PowerSteps
|
||||
for ($i = 0; $i <= $maxleistung * 2; $i += $stepSize) {
|
||||
for ($i = -$maxleistung; $i <= $maxleistung; $i += $stepSize) {
|
||||
$array_powersteps[] = $i;
|
||||
}
|
||||
|
||||
@@ -103,8 +103,8 @@ public function RequestAction($Ident, $Value)
|
||||
return;
|
||||
}
|
||||
// Batterie entladen oder laden basierend auf der Leistung
|
||||
if ($power > $maxleistung) {
|
||||
$ladestrom = ($power - $maxleistung) / $spannung;
|
||||
if ($power >= 0) {
|
||||
$ladestrom = $power / $spannung;
|
||||
$this->SetValue("Ladestrom", $ladestrom);
|
||||
$this->SetValue("Entladestrom", 0);
|
||||
//IPS_LogMessage("Batterie", "Ladestrom: " . $ladestrom);
|
||||
@@ -148,7 +148,7 @@ public function RequestAction($Ident, $Value)
|
||||
if ($Peak) {
|
||||
if ($batterieladezustand <= $minimumentladen) {
|
||||
$filtered_powersteps = array_filter($array_powersteps, function ($value) use ($maxleistung) {
|
||||
return $value > $maxleistung; // Hochpass filtern
|
||||
return $value >= 0; // Hochpass filtern
|
||||
});
|
||||
$filtered_powersteps_laden = array_values($filtered_powersteps);
|
||||
$this->SetValue("PowerSteps", json_encode($filtered_powersteps_laden));
|
||||
@@ -156,7 +156,7 @@ public function RequestAction($Ident, $Value)
|
||||
|
||||
} elseif ($batterieladezustand >= $aufdasnachladen) {
|
||||
$filtered_powersteps_entladen = array_filter($array_powersteps, function ($value) use ($maxleistung) {
|
||||
return $value < $maxleistung; // Tiefpass filtern
|
||||
return $value < 0; // Tiefpass filtern
|
||||
});
|
||||
$this->SetValue("PowerSteps", json_encode($filtered_powersteps_entladen));
|
||||
IPS_LogMessage("Batterie", "Batterie entladen: " );
|
||||
@@ -172,12 +172,16 @@ public function RequestAction($Ident, $Value)
|
||||
|
||||
} else { // Solar
|
||||
|
||||
$filtered_powersteps_solar = array_filter($array_powersteps, function ($value) use ($maxleistung) {
|
||||
return $value > $maxleistung; // Hochpass filtern
|
||||
});
|
||||
|
||||
$this->SetValue("PowerSteps", json_encode($filtered_powersteps_solar));
|
||||
IPS_LogMessage("Batterie", "Solarmodus");
|
||||
if ($batterieladezustand <= $minimumentladen) {
|
||||
$this->SetValue("PowerSteps", max($array_powersteps));
|
||||
} else {
|
||||
$filtered_powersteps = array_filter($array_powersteps, function ($value) use ($maxleistung) {
|
||||
return $value >= 0; // Hochpass filtern
|
||||
});
|
||||
$filtered_powersteps_laden = array_values($filtered_powersteps);
|
||||
$this->SetValue("PowerSteps", json_encode($filtered_powersteps_laden));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,5 +219,6 @@ public function RequestAction($Ident, $Value)
|
||||
$this->SetValue("Idle", true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
@@ -6,7 +6,7 @@
|
||||
"compatibility": {
|
||||
"version": "7.1"
|
||||
},
|
||||
"version": "1.037",
|
||||
"version": "1.038",
|
||||
"build": 0,
|
||||
"date": 0
|
||||
}
|
||||
Reference in New Issue
Block a user