no message
This commit is contained in:
@@ -110,12 +110,12 @@ class HauptManager extends IPSModule
|
||||
}
|
||||
|
||||
// Addiere die aktuell bereits verwendete Leistung auf, um sie bei der verteilung zu berücksichtigen
|
||||
if(in_array(0, $user["PowerSteps"], true)){
|
||||
//if(in_array(0, $user["PowerSteps"], true)){
|
||||
|
||||
// Addiere die aktuell bereits verwendete Leistung auf, um sie bei der verteilung zu berücksichtigen
|
||||
$totalAktuelle_Leistung += ($user["Aktuelle_Leistung"]- $user["Leistung_Delta"]);
|
||||
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
// Berücksichtigung der bereits verteilten Leistungen (nachher kann dafür wieder bei 0 begonnen werden zu verteilen)
|
||||
@@ -206,8 +206,10 @@ class HauptManager extends IPSModule
|
||||
if (empty($samePriorityUsers)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$withZero = [];
|
||||
$withoutZero = [];
|
||||
$withoutZeroHigh = [];
|
||||
$withoutZeroLow = [];
|
||||
/* Alter Verteilalgor. zu testzwecken auskommentiert, wird dann gelöscht wenns funktioniert.
|
||||
foreach ($samePriorityUsers as $entry) {
|
||||
if (min($entry["PowerSteps"]) <= 0) {
|
||||
@@ -216,12 +218,54 @@ class HauptManager extends IPSModule
|
||||
$withoutZero[] = $entry;
|
||||
}
|
||||
}
|
||||
|
||||
// Verbraucher die nicht 0 annhemen können erhalten nun den minimalwert
|
||||
if (!empty($withoutZero)) {
|
||||
foreach ($withoutZero as $entry) {
|
||||
$instanceID = $entry["InstanceID"];
|
||||
$minPowerStep = min($entry["PowerSteps"]);
|
||||
|
||||
IPS_RequestAction($instanceID,"SetAktuelle_Leistung",$minPowerStep);
|
||||
//$remainingPower -= $entry["Aktuelle_Leistung"];
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/* Neuer Block */
|
||||
foreach ($samePriorityUsers as $entry) {
|
||||
$withZero[] = $entry;
|
||||
$withZero[] = $entry;
|
||||
|
||||
if (min($entry["PowerSteps"]) > 0) {
|
||||
|
||||
$withoutZeroHigh[] = $entry;
|
||||
}
|
||||
if (max($entry["PowerSteps"]) < 0) {
|
||||
|
||||
$withoutZeroLow[] = $entry;
|
||||
}
|
||||
}
|
||||
|
||||
// Verbraucher die nicht 0 annhemen können erhalten nun den minimalwert
|
||||
if (!empty($withoutZeroHigh)) {
|
||||
foreach ($withoutZeroHigh as $entry) {
|
||||
$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 */
|
||||
|
||||
|
||||
// Verbraucher die nicht 0 annhemen können erhalten nun den minimalwert
|
||||
|
||||
@@ -169,12 +169,12 @@ class Manager extends IPSModule
|
||||
IPS_LogMessage("Manager", "nciht idle");
|
||||
|
||||
}
|
||||
if(in_array(0, $powerSteps, true)){
|
||||
//if(in_array(0, $powerSteps, true)){
|
||||
|
||||
// Addiere die aktuell bereits verwendete Leistung auf, um sie bei der verteilung zu berücksichtigen
|
||||
$totalAktuelle_Leistung += ($Aktuelle_Leistung-$delta);
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
}
|
||||
// Berücksichtigung der bereits verteilten Leistungen (nachher kann dafür wieder bei 0 begonnen werden zu verteilen)
|
||||
@@ -238,7 +238,8 @@ class Manager extends IPSModule
|
||||
continue;
|
||||
}
|
||||
$withZero = [];
|
||||
$withoutZero = [];
|
||||
$withoutZeroHigh = [];
|
||||
$withoutZeroLow = [];
|
||||
// Verbraucher die nicht 0 Annhemen können, bekommen einfach den tiefsten wert
|
||||
|
||||
|
||||
@@ -252,15 +253,6 @@ class Manager extends IPSModule
|
||||
$withoutZero[] = $entry;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/* Neuer Block */
|
||||
foreach ($samePriorityUsers as $entry) {
|
||||
$withZero[] = $entry;
|
||||
}
|
||||
|
||||
/* Neuer Block Ende */
|
||||
|
||||
|
||||
// Verbraucher die nicht 0 annhemen können erhalten nun den minimalwert
|
||||
if (!empty($withoutZero)) {
|
||||
@@ -272,6 +264,45 @@ class Manager extends IPSModule
|
||||
//$remainingPower -= $entry["Aktuelle_Leistung"];
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/* Neuer Block */
|
||||
foreach ($samePriorityUsers as $entry) {
|
||||
$withZero[] = $entry;
|
||||
|
||||
if (min($entry["PowerSteps"]) > 0) {
|
||||
|
||||
$withoutZeroHigh[] = $entry;
|
||||
}
|
||||
if (max($entry["PowerSteps"]) < 0) {
|
||||
|
||||
$withoutZeroLow[] = $entry;
|
||||
}
|
||||
}
|
||||
|
||||
// Verbraucher die nicht 0 annhemen können erhalten nun den minimalwert
|
||||
if (!empty($withoutZeroHigh)) {
|
||||
foreach ($withoutZeroHigh as $entry) {
|
||||
$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.
|
||||
|
||||
Reference in New Issue
Block a user