idle objekt angepasst
This commit is contained in:
@@ -110,15 +110,36 @@ class HauptManager extends IPSModule
|
||||
IPS_LogMessage("Hauptmanager", print_r($Verbraucher_Liste_Korr));
|
||||
|
||||
// Wenn nicht alle Benutzer Idle = true sind, rufe SetAktuelle_Leistung mit Aktuelle_Leistung Werten auf, (alle Verbraucher behalten die aktuelle Leistung)
|
||||
if (!$allIdle) {
|
||||
foreach ($Verbraucher_Liste_Korr as $user) {
|
||||
$sendarray = [
|
||||
"peak" => $Is_Peak_Shaving,
|
||||
"setpower" => $user["User"]["Aktuelle_Leistung"]
|
||||
];
|
||||
RequestAction($user["Sendback"], json_encode($sendarray));
|
||||
IPS_LogMessage("HauptManager", "aufgerufen nicht alle idle");
|
||||
if (true) {
|
||||
// Schritt 1: Benutzer nach Writeback-Wert aufteilen
|
||||
$writebackArrays = [];
|
||||
foreach ($Verbraucher_Liste_Korr[0] as $user) {
|
||||
$writeback = $user['Writeback'];
|
||||
if (!isset($writebackArrays[$writeback])) {
|
||||
$writebackArrays[$writeback] = [];
|
||||
}
|
||||
$writebackArrays[$writeback][] = $user;
|
||||
}
|
||||
|
||||
// Schritt 2: Foreach-Schleife pro Writeback-Array
|
||||
foreach ($writebackArrays as $writeback => $users) {
|
||||
$resultArray = [
|
||||
'Is_Peak_Shaving' => true,
|
||||
'User' => []
|
||||
];
|
||||
|
||||
foreach ($users as $user) {
|
||||
$resultArray['User'][] = [
|
||||
'InstanceID' => $user['InstanceID'],
|
||||
'Set_Leistung' => $user['Aktuelle_Leistung']
|
||||
];
|
||||
}
|
||||
|
||||
// Schritt 3: Array in String konvertieren
|
||||
$resultString = json_encode($resultArray);
|
||||
|
||||
// Schritt 4: RequestAction aufrufen
|
||||
RequestAction($writeback, $resultString);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user