no message
This commit is contained in:
@@ -270,51 +270,33 @@ class Manager extends IPSModule
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Neuer Block */
|
// Nun die verteilen, die 0 erhalten können.
|
||||||
foreach ($samePriorityUsers as $entry) {
|
$samePriorityUsers = $withZero;
|
||||||
$withZero[] = $entry;
|
|
||||||
|
|
||||||
if (min($entry["PowerSteps"]) > 0) {
|
$userEnergyProv = [];
|
||||||
|
|
||||||
$withoutZeroHigh[] = $entry;
|
// Initialisierung für jeden Benutzer abhängig von den Bedingungen
|
||||||
}
|
foreach ($samePriorityUsers as $entry) {
|
||||||
if (max($entry["PowerSteps"]) < 0) {
|
$instanceID = $entry["InstanceID"];
|
||||||
|
|
||||||
$withoutZeroLow[] = $entry;
|
if (in_array($entry, $withZero, true)) {
|
||||||
}
|
// User darf 0 annehmen
|
||||||
}
|
$userEnergyProv[$instanceID] = 0;
|
||||||
|
} else {
|
||||||
// Verbraucher die nicht 0 annhemen können erhalten nun den minimalwert
|
// User darf nicht 0 annehmen -> min() oder max()
|
||||||
if (!empty($withoutZeroHigh)) {
|
$minPowerStep = min($entry["PowerSteps"]);
|
||||||
foreach ($withoutZeroHigh as $entry) {
|
$maxPowerStep = max($entry["PowerSteps"]);
|
||||||
$instanceID = $entry["InstanceID"];
|
|
||||||
$minPowerStep = min($entry["PowerSteps"]);
|
|
||||||
|
|
||||||
$remainingPower += $minPowerStep;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Verbraucher die nicht 0 annhemen können erhalten nun den minimalwert
|
|
||||||
if (!empty($withoutZeroLow)) {
|
|
||||||
foreach ($withoutZeroLow as $entry) {
|
|
||||||
$instanceID = $entry["InstanceID"];
|
|
||||||
$minPowerStep = max($entry["PowerSteps"]);
|
|
||||||
|
|
||||||
$remainingPower -= $minPowerStep;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Neuer Block Ende */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Nun die verteilen, die 0 erhalten können.
|
|
||||||
$samePriorityUsers = $withZero;
|
|
||||||
|
|
||||||
$userEnergyProv = [];
|
|
||||||
$userEnergyProv = array_fill_keys(array_column($samePriorityUsers, "InstanceID"), 0); // Initialisierung für jeden Benutzer auf 0 setzen
|
|
||||||
|
|
||||||
|
if ($minPowerStep > 0) {
|
||||||
|
$userEnergyProv[$instanceID] = $minPowerStep;
|
||||||
|
} elseif ($maxPowerStep < 0) {
|
||||||
|
$userEnergyProv[$instanceID] = $maxPowerStep;
|
||||||
|
} else {
|
||||||
|
// Falls weder klar >0 noch klar <0 -> als Fallback 0
|
||||||
|
$userEnergyProv[$instanceID] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
IPS_LogMessage("Manag", $remainingPower);
|
IPS_LogMessage("Manag", $remainingPower);
|
||||||
|
|
||||||
if($remainingPower>=0){
|
if($remainingPower>=0){
|
||||||
|
|||||||
Reference in New Issue
Block a user