no message
This commit is contained in:
+27
-21
@@ -97,18 +97,7 @@ class Manager extends IPSModule
|
|||||||
{
|
{
|
||||||
// Systemvariablen abrufen
|
// Systemvariablen abrufen
|
||||||
$Netzbezug = GetValue($this->ReadPropertyInteger("Netzbezug"));
|
$Netzbezug = GetValue($this->ReadPropertyInteger("Netzbezug"));
|
||||||
$Peakleistung = $this->ReadPropertyInteger("Peakleistung");
|
|
||||||
$Ueberschussleistung = $this->ReadPropertyInteger("Ueberschussleistung");
|
|
||||||
|
|
||||||
// Fallunterscheidung ob auf Solarladen oder Peakshaving gerregelt wird.
|
|
||||||
if ($Netzbezug < ($Peakleistung + $Ueberschussleistung) / 2) {
|
|
||||||
$remainingPower = -1 * (-1 * $Ueberschussleistung + $Netzbezug);
|
|
||||||
$Is_Peak_Shaving = false;
|
|
||||||
} else {
|
|
||||||
$remainingPower = $Peakleistung - $Netzbezug;
|
|
||||||
$Is_Peak_Shaving = true;
|
|
||||||
}
|
|
||||||
IPS_LogMessage("Manag anfang", $remainingPower);
|
|
||||||
|
|
||||||
// Alle Energieverbraucher auslesen und dekodieren
|
// Alle Energieverbraucher auslesen und dekodieren
|
||||||
$Verbraucher_Liste = json_decode($this->ReadPropertyString("Verbraucher_Liste"), true);
|
$Verbraucher_Liste = json_decode($this->ReadPropertyString("Verbraucher_Liste"), true);
|
||||||
@@ -120,14 +109,6 @@ class Manager extends IPSModule
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Frage alle Energieverbraucher ab, was sie für Leistungen benötigen könnten
|
|
||||||
foreach ($Verbraucher_Liste as $user) {
|
|
||||||
if (IPS_InstanceExists($user["Verbraucher"])) {
|
|
||||||
IPS_RequestAction($user["Verbraucher"],"GetCurrentData", $Is_Peak_Shaving);
|
|
||||||
IPS_LogMessage("Manager", "aufgerufen getcurrentdata");
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$filteredVerbraucher = []; // Array das später mit allen Verbrauchsdaten der Energieverbraucher gefüllt wird
|
$filteredVerbraucher = []; // Array das später mit allen Verbrauchsdaten der Energieverbraucher gefüllt wird
|
||||||
$allIdle = true; // Variable zur Überprüfung, ob alle Benutzer Idle = true sind
|
$allIdle = true; // Variable zur Überprüfung, ob alle Benutzer Idle = true sind
|
||||||
@@ -180,10 +161,35 @@ class Manager extends IPSModule
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
// Berücksichtigung der bereits verteilten Leistungen (nachher kann dafür wieder bei 0 begonnen werden zu verteilen)
|
|
||||||
$remainingPower += $totalAktuelle_Leistung;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Berücksichtigung der bereits verteilten Leistungen (nachher kann dafür wieder bei 0 begonnen werden zu verteilen)
|
||||||
|
$Netzbezug += $totalAktuelle_Leistung;
|
||||||
|
|
||||||
|
$Peakleistung = $this->ReadPropertyInteger("Peakleistung");
|
||||||
|
$Ueberschussleistung = $this->ReadPropertyInteger("Ueberschussleistung");
|
||||||
|
|
||||||
|
// Fallunterscheidung ob auf Solarladen oder Peakshaving gerregelt wird.
|
||||||
|
if ($Netzbezug < ($Peakleistung + $Ueberschussleistung) / 2) {
|
||||||
|
$remainingPower = -1 * (-1 * $Ueberschussleistung + $Netzbezug);
|
||||||
|
$Is_Peak_Shaving = false;
|
||||||
|
} else {
|
||||||
|
$remainingPower = $Peakleistung - $Netzbezug;
|
||||||
|
$Is_Peak_Shaving = true;
|
||||||
|
}
|
||||||
|
IPS_LogMessage("Manag anfang", $remainingPower);
|
||||||
|
|
||||||
|
// Frage alle Energieverbraucher ab, was sie für Leistungen benötigen könnten
|
||||||
|
foreach ($Verbraucher_Liste as $user) {
|
||||||
|
if (IPS_InstanceExists($user["Verbraucher"])) {
|
||||||
|
IPS_RequestAction($user["Verbraucher"],"GetCurrentData", $Is_Peak_Shaving);
|
||||||
|
IPS_LogMessage("Manager", "aufgerufen getcurrentdata");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Abbrechen wenn es keine gefilterten User gibt
|
// Abbrechen wenn es keine gefilterten User gibt
|
||||||
if (empty($filteredVerbraucher)) {
|
if (empty($filteredVerbraucher)) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user