diff --git a/HauptManager/module.php b/HauptManager/module.php index 53a2d80..5b0c592 100644 --- a/HauptManager/module.php +++ b/HauptManager/module.php @@ -217,7 +217,8 @@ class HauptManager extends IPSModule foreach ($samePriorityUsers as $user) { $userEnergyProv["User"] = [ 'InstanceID' => $user['InstanceID'], - 'Writeback' => $user['Writeback'] + 'Writeback' => $user['Writeback'], + 'Set_Leistung' => 0 ]; } // Alle Schritte der Benutzer in einem Array sammeln @@ -241,14 +242,22 @@ class HauptManager extends IPSModule // Iteriere durch alle Schritte foreach ($allSteps as $entry) { $user = $entry["user"]; + $manager = $entry["Writeback"]; $powerstep = $entry["step"]; + $aktleistung = array_values(array_filter($array, function($entry2) use ($user, $manager) { + return $entry2["user"] == $user && $entry2["Writeback"] == $manager; + }))[0]["step"] // Überprüfe, ob noch genügend verbleibende Energie für den nächsten Schritt vorhanden ist - if ($remainingPower >= $powerstep - $userEnergyProv[$user]) { + if ($remainingPower >= $powerstep - $aktleistung) { // Aktualisiere die verbleibende Energie und die bereitgestellte Energie für den Benutzer - $remainingPower -= $powerstep - $userEnergyProv[$user]; - $userEnergyProv[$user] = $powerstep; - } + $remainingPower -= $powerstep - $aktleistung; + + array_walk($array, function(&$entry3) use ($user, $manager, $powerstep) { + if ($entry3["user"] == $user && $entry3["Writeback"] == $manager) { + $entry3["step"] = $powerstep; + } + }); } } diff --git a/library.json b/library.json index bbaa5ce..0d7df51 100644 --- a/library.json +++ b/library.json @@ -6,7 +6,7 @@ "compatibility": { "version": "7.1" }, - "version": "1.166", + "version": "1.167", "build": 0, "date": 0 } \ No newline at end of file