Fehler in der Sortierung der gefilterten Verbraucher behoben.

This commit is contained in:
2026-05-21 06:58:00 +02:00
parent ab859e908e
commit 93af0c3735
+4 -4
View File
@@ -183,9 +183,9 @@ class Manager extends IPSModule
// Wenn die Prio geleich ist, sortiere danach welcher verbraucher bisher am wenigsten Energie bekommen hat.
if ($a[$primaryKey] == $b[$primaryKey])
{
return round($a["Bezogene_Energie"] / 2000) <= round($b["Bezogene_Energie"] / 2000);
return round($a["Bezogene_Energie"] / 2000) <=> round($b["Bezogene_Energie"] / 2000);
}
return $a[$primaryKey] <= $b[$primaryKey];
return $a[$primaryKey] <=> $b[$primaryKey];
});
// Primärschlüssel für die Priorität basierend auf dem Parameter auswählen (für sortierung in gruppen anschliessend)
$priorityKey = $Is_Peak_Shaving ? "Sperre_Prio" : "PV_Prio";
@@ -299,7 +299,7 @@ class Manager extends IPSModule
// Sortiere die Schritte nach Größe
usort($allSteps, function ($a, $b)
{
return $a["step"] <= $b["step"];
return $a["step"] <=> $b["step"];
});
//if remaining power >0
// Iteriere durch alle Schritte
@@ -361,7 +361,7 @@ class Manager extends IPSModule
// Sortiere die Schritte nach Größe
usort($allSteps, function ($a, $b)
{
return $a["step"] <= $b["step"];
return $a["step"] <=> $b["step"];
});
$remainingPower = $remainingPower * -1;
// Iteriere durch alle Schritte