text entfehrnt, managermodul

This commit is contained in:
2024-11-28 14:46:54 +01:00
parent 93dbb34042
commit 0ebe6cb403
2 changed files with 8 additions and 10 deletions

View File

@@ -64,12 +64,11 @@ class Manager extends IPSModule
// Frage alle Energieverbraucher ab, was sie für Leistungen benötigen könnten
foreach ($Verbraucher_Liste as $user) {
if (IPS_InstanceExists($user["Verbraucher"])) {
IPS_RequestAction($user["Verbraucher
"],"GetCurrentData",$Is_Peak_Shaving);
IPS_RequestAction($user["Verbraucher"],"GetCurrentData", $Is_Peak_Shaving);
}
}
$filteredVerbrauches = []; // Array das später mit allen Verbrauchsdaten der Energieverbraucher gefüllt wird
$filteredVerbraucher = []; // Array das später mit allen Verbrauchsdaten der Energieverbraucher gefüllt wird
$allIdle = true; // Variable zur Überprüfung, ob alle Benutzer Idle = true sind
$totalAktuelle_Leistung = 0; // Variable zur Summierung der Aktuelle_Leistung Werte
@@ -112,20 +111,20 @@ class Manager extends IPSModule
$remainingPower += $totalAktuelle_Leistung;
// Abbrechen wenn es keine gefilterten User gibt
if (empty($filteredVerbrauches)) {
if (empty($filteredVerbraucher)) {
return;
}
// Wenn nicht alle Benutzer Idle = true sind, rufe SetAktuelle_Leistung mit Aktuelle_Leistung Werten auf, (alle Verbraucher behalten die aktuelle Leistung)
if (!$allIdle) {
foreach ($filteredVerbrauchers as $user) {
foreach ($filteredVerbraucher as $user) {
IPS_RequestAction($user["InstanceID"],"SetAktuelle_Leistung",$user["Aktuelle_Leistung"]);
}
return;
}
// Sortiere die Verbruacher nach Priorität entweder der PV_Prio oder der Peak Prio
usort($filteredVerbrauches, function ($a, $b) use (
usort($filteredVerbraucher, function ($a, $b) use (
$Is_Peak_Shaving
) {
$primaryKey = $Is_Peak_Shaving ? "Sperre_Prio" : "PV_Prio";
@@ -141,7 +140,7 @@ class Manager extends IPSModule
// Schleife durch alle Prioritäten
$priorities = array_unique(
array_column($filteredVerbrauchers, $priorityKey)
array_column($filteredVerbraucher, $priorityKey)
);
$groupedUsers = [];
@@ -239,8 +238,7 @@ s,
// Jedem user den höheren der beiden werte aus minimalwert oder vergebenem zuteilen
$leistung = max($leistung, $minimalleitsung);
// Methode SetAktuelle_Leistung für jeden Verbraucher
mit der entsprechenden Energie aufrufen
// Methode SetAktuelle_Leistung für jeden Verbraucher mit der entsprechenden Energie aufrufen
if (IPS_InstanceExists($userInstanceID)) {
IPS_RequestAction($userInstanceID,"SetAktuelle_Leistung",$leistung);
}

View File

@@ -6,7 +6,7 @@
"compatibility": {
"version": "7.1"
},
"version": "0.157",
"version": "0.158",
"build": 0,
"date": 0
}