auf instanz geprüft dies nicht gibt...
This commit is contained in:
@@ -214,14 +214,19 @@ class HauptManager extends IPSModule
|
|||||||
$samePriorityUsers = $withZero;
|
$samePriorityUsers = $withZero;
|
||||||
// Array für die verteilte Energie pro User erstellen
|
// Array für die verteilte Energie pro User erstellen
|
||||||
$userEnergyProv = [];
|
$userEnergyProv = [];
|
||||||
$userEnergyProv = array_fill_keys(array_column($samePriorityUsers, "InstanceID"), 0); // Initialisierung für jeden Benutzer auf 0 setzen
|
foreach ($samePriorityUsers as $user) {
|
||||||
|
$userEnergyProv["User"] = [
|
||||||
|
'InstanceID' => $user['InstanceID'],
|
||||||
|
'Writeback' => $user['Writeback']
|
||||||
|
];
|
||||||
|
}
|
||||||
// Alle Schritte der Benutzer in einem Array sammeln
|
// Alle Schritte der Benutzer in einem Array sammeln
|
||||||
$allSteps = [];
|
$allSteps = [];
|
||||||
foreach ($samePriorityUsers as $user) {
|
foreach ($samePriorityUsers as $user) {
|
||||||
foreach ($user["PowerSteps"] as $step) {
|
foreach ($user["PowerSteps"] as $step) {
|
||||||
$allSteps[] = [
|
$allSteps[] = [
|
||||||
"user" => $user["InstanceID"],
|
"user" => $user["InstanceID"],
|
||||||
|
"writeback" => $user["Writeback"],
|
||||||
"step" => $step,
|
"step" => $step,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -247,13 +252,11 @@ class HauptManager extends IPSModule
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prüfen, dass jeder User mindestens seinen minimalwert an Leistung bekommt
|
// Prüfen, dass jeder User mindestens seinen minimalwert an Leistung bekommt
|
||||||
foreach ($userEnergyProv as $userInstanceID => $leistung) {
|
foreach ($userEnergyProv as $user) {
|
||||||
$minimalleitsung = min(
|
$minimalleistung = min(
|
||||||
array_column(
|
array_column(
|
||||||
array_filter($allSteps, function ($entry) use (
|
array_filter($allSteps, function ($entry) use ($user) {
|
||||||
$userInstanceID
|
return $entry["user"] == $user['InstanceID'] && $entry["writeback"] == $user['Writeback'];
|
||||||
) {
|
|
||||||
return $entry["user"] == $userInstanceID;
|
|
||||||
}),
|
}),
|
||||||
"step"
|
"step"
|
||||||
)
|
)
|
||||||
@@ -263,7 +266,6 @@ class HauptManager extends IPSModule
|
|||||||
$leistung = max($leistung, $minimalleitsung);
|
$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)) {
|
|
||||||
|
|
||||||
$resultArray['User'][] = [
|
$resultArray['User'][] = [
|
||||||
'InstanceID' => $userInstanceID['InstanceID'],
|
'InstanceID' => $userInstanceID['InstanceID'],
|
||||||
@@ -272,7 +274,7 @@ class HauptManager extends IPSModule
|
|||||||
];
|
];
|
||||||
IPS_LogMessage("Hauptmanager", "aufgerufen setleistung normal");
|
IPS_LogMessage("Hauptmanager", "aufgerufen setleistung normal");
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"compatibility": {
|
"compatibility": {
|
||||||
"version": "7.1"
|
"version": "7.1"
|
||||||
},
|
},
|
||||||
"version": "1.161",
|
"version": "1.162",
|
||||||
"build": 0,
|
"build": 0,
|
||||||
"date": 0
|
"date": 0
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user