diff --git a/Manager/module.php b/Manager/module.php index 9917916..e09aacd 100644 --- a/Manager/module.php +++ b/Manager/module.php @@ -352,14 +352,22 @@ class Manager extends IPSModule foreach ($userEnergyProv as $userInstanceID => $leistung) { // 1. Innerhalb der Schleife: alle nicht-negativen Leistungen sammeln $positiveValues = array_filter( - $samePriorityUsers[$userInstanceID]["PowerSteps"], + array_column( + $samePriorityUsers, + 'PowerSteps', + 'InstanceID' + )[$userInstanceID], function ($l) { return $l >= 0; } ); // 2. Falls keine Werte ≥ 0 vorhanden sind, auf 0 zurückfallen $fallbackMinimum = empty($positiveValues) - ? max($samePriorityUsers[$userInstanceID]["PowerSteps"]) + ? max( array_column( + $samePriorityUsers, + 'PowerSteps', + 'InstanceID' + )[$userInstanceID]) : min($positiveValues); // 3. minimalleistung = dieser Fallback @@ -429,14 +437,22 @@ class Manager extends IPSModule foreach ($userEnergyProv as $userInstanceID => $leistung) { // 1. Innerhalb der Schleife: alle nicht-negativen Leistungen sammeln $positiveValues = array_filter( - $samePriorityUsers[$userInstanceID]["PowerSteps"], + array_column( + $samePriorityUsers, + 'PowerSteps', + 'InstanceID' + )[$userInstanceID], function ($l) { return $l <= 0; } ); // 2. Falls keine Werte ≥ 0 vorhanden sind, auf 0 zurückfallen $fallbackMinimum = empty($positiveValues) - ? min($samePriorityUsers[$userInstanceID]["PowerSteps"]) + ? min( array_column( + $samePriorityUsers, + 'PowerSteps', + 'InstanceID' + )[$userInstanceID]) : max($positiveValues); // 3. minimalleistung = dieser Fallback