no message

This commit is contained in:
2025-05-01 07:15:33 +02:00
parent f873c80ba5
commit bc4edf1c5a
2 changed files with 13 additions and 12 deletions

View File

@@ -14,6 +14,7 @@ class HauptManager extends IPSModule
$this->RegisterPropertyInteger("Interval", 3); // Recheninterval
$this->RegisterVariableInteger("Gesamtnetzbezug", "Gesamtnetzbezug", "", 0);
$this->RegisterVariableBoolean("Is_Peak_Shaving", false);
// Timer registrieren
$this->RegisterTimer("Timer_DistributeEnergy",$this->ReadPropertyInteger("Interval")*1000,"IPS_RequestAction(" .$this->InstanceID .', "DistributeEnergy", "");');
@@ -77,15 +78,9 @@ class HauptManager extends IPSModule
$Ueberschussleistung = $this->ReadPropertyInteger("Ueberschussleistung");
$Is_Peak_Shaving = false;
IPS_LogMessage("MaHaunager", $Peakleistung);
IPS_LogMessage("MaHaunager", $Ueberschussleistung);
IPS_LogMessage("MaHaunager", $Netzbezug);
// Fallunterscheidung ob auf Solarladen oder Peakshaving gerregelt wird.
if ($Netzbezug < ($Peakleistung - $Ueberschussleistung) / 2) {
if ($Netzbezug < ($Peakleistung + $Ueberschussleistung) / 2) {
$remainingPower = -1 * (-1 * $Ueberschussleistung + $Netzbezug);
$Is_Peak_Shaving = false;
} else {
@@ -127,7 +122,7 @@ class HauptManager extends IPSModule
$remainingPower += $totalAktuelle_Leistung;
// Wenn nicht alle Benutzer Idle = true sind, rufe SetAktuelle_Leistung mit Aktuelle_Leistung Werten auf, (alle Verbraucher behalten die aktuelle Leistung)
if (!$allIdle) {
if (!$allIdle || ($Is_Peak_Shaving != $this->GetValue("Is_Peak_Shaving"))) {
// Schritt 1: Benutzer nach Writeback-Wert aufteilen
$writebackArrays = [];
foreach ($Verbraucher_Liste_Korr[0]["User"] as $user) {
@@ -161,8 +156,11 @@ class HauptManager extends IPSModule
// Schritt 4: RequestAction aufrufen
RequestAction($writeback, $resultString);
}
$this->SetValue("Is_Peak_Shaving", $Is_Peak_Shaving);
return;
}
$this->SetValue("Is_Peak_Shaving", $Is_Peak_Shaving);
// Sortiere die Verbruacher nach Priorität entweder der PV_Prio oder der Peak Prio
usort($Verbraucher_Liste_Korr[0]["User"], function ($a, $b) use (