text entfehrnt, managermodul
This commit is contained in:
@@ -64,12 +64,11 @@ class Manager extends IPSModule
|
|||||||
// Frage alle Energieverbraucher ab, was sie für Leistungen benötigen könnten
|
// Frage alle Energieverbraucher ab, was sie für Leistungen benötigen könnten
|
||||||
foreach ($Verbraucher_Liste as $user) {
|
foreach ($Verbraucher_Liste as $user) {
|
||||||
if (IPS_InstanceExists($user["Verbraucher"])) {
|
if (IPS_InstanceExists($user["Verbraucher"])) {
|
||||||
IPS_RequestAction($user["Verbraucher
|
IPS_RequestAction($user["Verbraucher"],"GetCurrentData", $Is_Peak_Shaving);
|
||||||
"],"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
|
$allIdle = true; // Variable zur Überprüfung, ob alle Benutzer Idle = true sind
|
||||||
$totalAktuelle_Leistung = 0; // Variable zur Summierung der Aktuelle_Leistung Werte
|
$totalAktuelle_Leistung = 0; // Variable zur Summierung der Aktuelle_Leistung Werte
|
||||||
|
|
||||||
@@ -112,20 +111,20 @@ class Manager extends IPSModule
|
|||||||
$remainingPower += $totalAktuelle_Leistung;
|
$remainingPower += $totalAktuelle_Leistung;
|
||||||
|
|
||||||
// Abbrechen wenn es keine gefilterten User gibt
|
// Abbrechen wenn es keine gefilterten User gibt
|
||||||
if (empty($filteredVerbrauches)) {
|
if (empty($filteredVerbraucher)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wenn nicht alle Benutzer Idle = true sind, rufe SetAktuelle_Leistung mit Aktuelle_Leistung Werten auf, (alle Verbraucher behalten die aktuelle Leistung)
|
// Wenn nicht alle Benutzer Idle = true sind, rufe SetAktuelle_Leistung mit Aktuelle_Leistung Werten auf, (alle Verbraucher behalten die aktuelle Leistung)
|
||||||
if (!$allIdle) {
|
if (!$allIdle) {
|
||||||
foreach ($filteredVerbrauchers as $user) {
|
foreach ($filteredVerbraucher as $user) {
|
||||||
IPS_RequestAction($user["InstanceID"],"SetAktuelle_Leistung",$user["Aktuelle_Leistung"]);
|
IPS_RequestAction($user["InstanceID"],"SetAktuelle_Leistung",$user["Aktuelle_Leistung"]);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sortiere die Verbruacher nach Priorität entweder der PV_Prio oder der Peak Prio
|
// 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
|
$Is_Peak_Shaving
|
||||||
) {
|
) {
|
||||||
$primaryKey = $Is_Peak_Shaving ? "Sperre_Prio" : "PV_Prio";
|
$primaryKey = $Is_Peak_Shaving ? "Sperre_Prio" : "PV_Prio";
|
||||||
@@ -141,7 +140,7 @@ class Manager extends IPSModule
|
|||||||
|
|
||||||
// Schleife durch alle Prioritäten
|
// Schleife durch alle Prioritäten
|
||||||
$priorities = array_unique(
|
$priorities = array_unique(
|
||||||
array_column($filteredVerbrauchers, $priorityKey)
|
array_column($filteredVerbraucher, $priorityKey)
|
||||||
);
|
);
|
||||||
$groupedUsers = [];
|
$groupedUsers = [];
|
||||||
|
|
||||||
@@ -239,8 +238,7 @@ s,
|
|||||||
// Jedem user den höheren der beiden werte aus minimalwert oder vergebenem zuteilen
|
// Jedem user den höheren der beiden werte aus minimalwert oder vergebenem zuteilen
|
||||||
$leistung = max($leistung, $minimalleitsung);
|
$leistung = max($leistung, $minimalleitsung);
|
||||||
|
|
||||||
// Methode SetAktuelle_Leistung für jeden Verbraucher
|
// Methode SetAktuelle_Leistung für jeden Verbraucher mit der entsprechenden Energie aufrufen
|
||||||
mit der entsprechenden Energie aufrufen
|
|
||||||
if (IPS_InstanceExists($userInstanceID)) {
|
if (IPS_InstanceExists($userInstanceID)) {
|
||||||
IPS_RequestAction($userInstanceID,"SetAktuelle_Leistung",$leistung);
|
IPS_RequestAction($userInstanceID,"SetAktuelle_Leistung",$leistung);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"compatibility": {
|
"compatibility": {
|
||||||
"version": "7.1"
|
"version": "7.1"
|
||||||
},
|
},
|
||||||
"version": "0.157",
|
"version": "0.158",
|
||||||
"build": 0,
|
"build": 0,
|
||||||
"date": 0
|
"date": 0
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user