version 2 für manager und ladestation erstellt
This commit is contained in:
@@ -182,7 +182,6 @@ public function RequestAction($Ident, $Value)
|
||||
// IdleCounter verarbeiten
|
||||
$this->ProcessIdleCounter();
|
||||
|
||||
$this->SetValue("Leistung_Delta", GetValue($this->ReadPropertyInteger("Batterieleistung_Effektiv"))-$power);
|
||||
|
||||
}
|
||||
|
||||
@@ -286,121 +285,6 @@ public function RequestAction($Ident, $Value)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// $inhystere = $this->GetValue("Hysterese");
|
||||
// $inhystere_netz = $this->GetValue("Hysterese_Netz");
|
||||
|
||||
/*$batterieManagement = $this->ReadPropertyInteger("Batteriemanagement");
|
||||
if ($batterieManagement == 1) {
|
||||
$dummy_array[] = 0;
|
||||
return $this->SetValue("PowerSteps", json_encode($dummy_array));
|
||||
}
|
||||
|
||||
$batterieladezustandID = $this->ReadPropertyInteger("Batterieladezustand");
|
||||
if ($batterieladezustandID > 0) {
|
||||
$batterieladezustand = GetValue($batterieladezustandID);
|
||||
} else {
|
||||
IPS_LogMessage("Batterie", "Fehler: Ungültige Batterieladezustand-ID.");
|
||||
return;
|
||||
}
|
||||
if ($Peak) {
|
||||
if ($batterieladezustand >= 5 + $aufdasnachladen) {
|
||||
$this->SetValue("Hysterese", false);
|
||||
$this->SetValue("Hysterese_Netz", true);
|
||||
}
|
||||
|
||||
if ($batterieladezustand < $aufdasnachladen) {
|
||||
$this->SetValue("Hysterese_Netz", false);
|
||||
}
|
||||
|
||||
if ($batterieladezustand <= $minimumentladen) {
|
||||
$filtered_powersteps = array_filter($array_powersteps, function ($value) {
|
||||
return $value >= 0;
|
||||
});
|
||||
$filtered_powersteps_laden = array_values($filtered_powersteps);
|
||||
$this->SetValue("PowerSteps", json_encode($filtered_powersteps_laden));
|
||||
$this->SetValue("Hysterese", true);
|
||||
IPS_LogMessage("Batterie", "Peak: unter minimum");
|
||||
|
||||
} elseif ($batterieladezustand > $minimumentladen) {
|
||||
|
||||
if ($inhystere == true && $inhystere_netz == false) {
|
||||
$filtered_powersteps = array_filter($array_powersteps, function ($value) {
|
||||
return $value >= 0;
|
||||
});
|
||||
$filtered_powersteps_laden = array_values($filtered_powersteps);
|
||||
$this->SetValue("PowerSteps", json_encode($filtered_powersteps_laden));
|
||||
IPS_LogMessage("Batterie", ": peak: Hysterese");
|
||||
IPS_LogMessage("Debug", "peak: Hysterese Hysterese_Netz: " . ($inhystere_netz ? "true" : "false"));
|
||||
IPS_LogMessage("Debug", "peak: Hysterese Hysterese: " . ($inhystere ? "true" : "false"));
|
||||
|
||||
} elseif ($inhystere_netz == true && $inhystere == false) {
|
||||
$netzbezug = GetValue($this->ReadPropertyInteger("Netzbezug"));
|
||||
if (abs($netzbezug) > $maxleistung) {
|
||||
$dummy_array[] = $maxleistung * (-1);
|
||||
} else {
|
||||
$dummy_array[] = $netzbezug;
|
||||
}
|
||||
$this->SetValue("PowerSteps", json_encode($dummy_array));
|
||||
IPS_LogMessage("Batterie", "Peak: netzbezug, keine hysterese");
|
||||
IPS_LogMessage("Debug", "Peak: netzbezug, keine hysterese Hysterese_Netz: " . ($inhystere_netz ? "true" : "false"));
|
||||
IPS_LogMessage("Debug", "Peak: netzbezug, keine hysterese Hysterese: " . ($inhystere ? "true" : "false"));
|
||||
|
||||
} elseif ($inhystere_netz == false && $inhystere == false) {
|
||||
$this->SetValue("PowerSteps", json_encode($array_powersteps));
|
||||
IPS_LogMessage("Batterie", "Peak: alle Werte, keine hysterese");
|
||||
|
||||
} else {
|
||||
$dummy_array[] = 0;
|
||||
$this->SetValue("PowerSteps", json_encode($dummy_array));
|
||||
IPS_LogMessage("Batterie", ": peak: Kein Fall");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else { // Solar
|
||||
|
||||
if ($batterieladezustand >= 5 + $aufdasnachladen) {
|
||||
$this->SetValue("Hysterese", false);
|
||||
$this->SetValue("Hysterese_Netz", true);
|
||||
}
|
||||
|
||||
if ($batterieladezustand < $aufdasnachladen) {
|
||||
$this->SetValue("Hysterese", true);
|
||||
$this->SetValue("Hysterese_Netz", false);
|
||||
$nachladen = $this->ReadPropertyInteger("MaxNachladen");
|
||||
$dummy_array[] = $nachladen;
|
||||
IPS_LogMessage("Batterie", ": MaxNachladen " . json_encode($dummy_array));
|
||||
$this->SetValue("PowerSteps", json_encode($dummy_array));
|
||||
|
||||
} elseif ($batterieladezustand >= $aufdasnachladen) {
|
||||
if ($inhystere == true) {
|
||||
$filtered_powersteps = array_filter($array_powersteps, function ($value) {
|
||||
return $value >= 0;
|
||||
});
|
||||
$filtered_powersteps_laden = array_values($filtered_powersteps);
|
||||
$this->SetValue("PowerSteps", json_encode($filtered_powersteps_laden));
|
||||
IPS_LogMessage("Batterie", ": solar: Hysterese");
|
||||
} else {
|
||||
$this->SetValue("PowerSteps", json_encode($array_powersteps));
|
||||
IPS_LogMessage("Batterie", ": solar: Keine Hysterese");
|
||||
}
|
||||
|
||||
} else {
|
||||
$dummy_array[] = 0;
|
||||
$this->SetValue("PowerSteps", json_encode($dummy_array));
|
||||
}
|
||||
|
||||
if ($batterieladezustand >= 100) {
|
||||
$filtered_powersteps_entladen = array_filter($array_powersteps, function ($value) {
|
||||
return $value <= 0;
|
||||
});
|
||||
$this->SetValue("PowerSteps", json_encode($filtered_powersteps_entladen));
|
||||
IPS_LogMessage("Batterie", ": Solar über 100%" );
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user