no message
This commit is contained in:
@@ -312,8 +312,42 @@ class Manager extends IPSModule
|
|||||||
// Nun die verteilen, die 0 erhalten können.
|
// Nun die verteilen, die 0 erhalten können.
|
||||||
$samePriorityUsers = $withZero;
|
$samePriorityUsers = $withZero;
|
||||||
|
|
||||||
|
// $userEnergyProv = [];
|
||||||
|
// $userEnergyProv = array_fill_keys(array_column($samePriorityUsers, "InstanceID"), 0); // Initialisierung für jeden Benutzer auf 0 setzen
|
||||||
|
|
||||||
|
|
||||||
$userEnergyProv = [];
|
$userEnergyProv = [];
|
||||||
$userEnergyProv = array_fill_keys(array_column($samePriorityUsers, "InstanceID"), 0); // Initialisierung für jeden Benutzer auf 0 setzen
|
|
||||||
|
foreach ($samePriorityUsers as $entry) {
|
||||||
|
$instanceID = $entry["InstanceID"];
|
||||||
|
// Schutz: falls PowerSteps nicht gesetzt oder kein Array ist
|
||||||
|
$steps = (isset($entry["PowerSteps"]) && is_array($entry["PowerSteps"])) ? $entry["PowerSteps"] : [0];
|
||||||
|
|
||||||
|
// Wenn 0 als möglicher Step vorhanden ist -> 0 setzen
|
||||||
|
|
||||||
|
$minStep = min($steps);
|
||||||
|
$maxStep = max($steps);
|
||||||
|
|
||||||
|
if (in_array(0, $steps, true)) {
|
||||||
|
$userEnergyProv[$instanceID] = 0;
|
||||||
|
continue;
|
||||||
|
} elseif ($minStep > 0) {
|
||||||
|
// nur positive Schritte -> minimalen positiven Wert einsetzen
|
||||||
|
$userEnergyProv[$instanceID] = $minStep;
|
||||||
|
// entspricht deinem vorherigen Verhalten: remainingPower reduzieren
|
||||||
|
$remainingPower -= $minStep;
|
||||||
|
} elseif ($maxStep < 0) {
|
||||||
|
// nur negative Schritte -> maximalen (am wenigsten negativen) Wert einsetzen
|
||||||
|
$userEnergyProv[$instanceID] = $maxStep;
|
||||||
|
// entspricht deinem vorherigen Verhalten: remainingPower erhöhen (maxStep ist negativ)
|
||||||
|
$remainingPower += $maxStep;
|
||||||
|
} else {
|
||||||
|
// Mixed (positive & negative) aber kein 0 -> Fallback 0 (ändere wenn nötig)
|
||||||
|
$userEnergyProv[$instanceID] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IPS_LogMessage("Manag", $remainingPower);
|
IPS_LogMessage("Manag", $remainingPower);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user