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. // Wenn die Prio geleich ist, sortiere danach welcher verbraucher bisher am wenigsten Energie bekommen hat.
if ($a[$primaryKey] == $b[$primaryKey]) 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) // 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"; $priorityKey = $Is_Peak_Shaving ? "Sperre_Prio" : "PV_Prio";
@@ -299,7 +299,7 @@ class Manager extends IPSModule
// Sortiere die Schritte nach Größe // Sortiere die Schritte nach Größe
usort($allSteps, function ($a, $b) usort($allSteps, function ($a, $b)
{ {
return $a["step"] <= $b["step"]; return $a["step"] <=> $b["step"];
}); });
//if remaining power >0 //if remaining power >0
// Iteriere durch alle Schritte // Iteriere durch alle Schritte
@@ -361,7 +361,7 @@ class Manager extends IPSModule
// Sortiere die Schritte nach Größe // Sortiere die Schritte nach Größe
usort($allSteps, function ($a, $b) usort($allSteps, function ($a, $b)
{ {
return $a["step"] <= $b["step"]; return $a["step"] <=> $b["step"];
}); });
$remainingPower = $remainingPower * -1; $remainingPower = $remainingPower * -1;
// Iteriere durch alle Schritte // Iteriere durch alle Schritte