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