From 22b516c7e816fc1dfda16cda09da86155227b662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=A4fliger?= Date: Wed, 6 Aug 2025 14:49:12 +0200 Subject: [PATCH] no message --- Manager/module.php | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) 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