no message
This commit is contained in:
@@ -22,6 +22,23 @@
|
||||
"name": "Netzbezug",
|
||||
"caption": "Variable mit dem zu regelnden Netzbezug"
|
||||
},
|
||||
{
|
||||
"type": "CheckBox",
|
||||
"name": "UmschaltpunktStatisch",
|
||||
"caption": "Umschaltpunkt Statisch festlegen"
|
||||
},
|
||||
{
|
||||
"type": "NumberSpinner",
|
||||
"name": "Umschalt_Solarladen",
|
||||
"caption": "Umschaltpunkt auf Solarladen",
|
||||
"suffix": "Watt"
|
||||
},
|
||||
{
|
||||
"type": "NumberSpinner",
|
||||
"name": "Umschalt_Peakshaving",
|
||||
"caption": "Umschaltpunkt auf Peakshaving",
|
||||
"suffix": "Watt"
|
||||
},
|
||||
{
|
||||
"type": "CheckBox",
|
||||
"name": "HauptmanagerAktiv",
|
||||
|
||||
@@ -11,6 +11,9 @@ class Manager extends IPSModule
|
||||
$this->RegisterPropertyInteger("Ueberschussleistung", 0);
|
||||
$this->RegisterPropertyInteger("Netzbezug", 0); // Initialisierung mit 0
|
||||
$this->RegisterPropertyString("Verbraucher_Liste", "[]");
|
||||
$this->RegisterPropertyBoolean("UmschaltpunktStatisch", false); // Initialisierung mit 0
|
||||
$this->RegisterPropertyInteger("Umschalt_Solarladen", 100); // Initialisierung mit 0
|
||||
$this->RegisterPropertyInteger("Umschalt_Peakshaving", 10000); // Initialisierung mit 0
|
||||
$this->RegisterPropertyBoolean("HauptmanagerAktiv", false); // Initialisierung mit 0
|
||||
$this->RegisterPropertyInteger("ManagerID", 0); // Initialisierung mit 0
|
||||
$this->RegisterPropertyInteger("DatenHoch", 0); // Initialisierung mit 0
|
||||
@@ -110,6 +113,7 @@ class Manager extends IPSModule
|
||||
$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
|
||||
$totalAktuelle_Leistung = 0; // Variable zur Summierung der Aktuelle_Leistung Werte
|
||||
$helpvar_offset_peakermitteln = 0; // Variable zur Summierung der Aktuelle_Leistung Werte
|
||||
|
||||
// Fülle das Array mit allen entsprechenden Werten der Verbraucher ab
|
||||
foreach ($Verbraucher_Liste as $user) {
|
||||
@@ -150,7 +154,6 @@ class Manager extends IPSModule
|
||||
//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
|
||||
$totalAktuelle_Leistung += ($Aktuelle_Leistung-$delta);
|
||||
@@ -172,21 +175,53 @@ class Manager extends IPSModule
|
||||
$Peakleistung = $this->ReadPropertyInteger("Peakleistung");
|
||||
$Ueberschussleistung = $this->ReadPropertyInteger("Ueberschussleistung");
|
||||
|
||||
if($this->GetValue("Is_Peak_Shaving")){
|
||||
$Netzbezug_korr = $Netzbezug + $totalAktuelle_Leistung;
|
||||
}else{
|
||||
$Netzbezug_korr = $Netzbezug - $totalAktuelle_Leistung;
|
||||
|
||||
}
|
||||
|
||||
// Fallunterscheidung ob auf Solarladen oder Peakshaving gerregelt wird.
|
||||
if ($Netzbezug_korr < ($Peakleistung + $Ueberschussleistung) / 2) {
|
||||
if(GetValue($this->ReadPropertyBoolean("UmschaltpunktStatisch"))==false){
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
}else{ // Statische ermittlung der Betriebsart
|
||||
|
||||
if($Netzbezug<GetValue($this->ReadPropertyInteger("Umschalt_Solarladen"))){
|
||||
|
||||
$remainingPower = -1 * (-1 * $Ueberschussleistung + $Netzbezug);
|
||||
$Is_Peak_Shaving = false;
|
||||
|
||||
}
|
||||
elseif($Netzbezug>GetValue($this->ReadPropertyInteger("Umschalt_Peakshaving"))){
|
||||
|
||||
$remainingPower = $Peakleistung - $Netzbezug;
|
||||
$Is_Peak_Shaving = true;
|
||||
|
||||
}
|
||||
elseif( $this->GetValue("Is_Peak_Shaving")==false){
|
||||
|
||||
$remainingPower = -1 * (-1 * $Ueberschussleistung + $Netzbezug);
|
||||
$Is_Peak_Shaving = false;
|
||||
|
||||
}
|
||||
elseif( $this->GetValue("Is_Peak_Shaving")==true){
|
||||
|
||||
$remainingPower = $Peakleistung - $Netzbezug;
|
||||
$Is_Peak_Shaving = true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$remainingPower += $totalAktuelle_Leistung;
|
||||
|
||||
IPS_LogMessage("Manag anfang", $remainingPower);
|
||||
|
||||
Reference in New Issue
Block a user