Ladestation für Solarladen Easee angepasst
This commit is contained in:
@@ -43,6 +43,8 @@ class Ladestation_v2 extends IPSModule
|
|||||||
$this->RegisterVariableBoolean("IsTimerActive", "IsTimerActive", "", false);
|
$this->RegisterVariableBoolean("IsTimerActive", "IsTimerActive", "", false);
|
||||||
$this->RegisterTimer("ZustandswechselTimer",0,"IPS_RequestAction(" .$this->InstanceID .', "ResetTimer", "");');
|
$this->RegisterTimer("ZustandswechselTimer",0,"IPS_RequestAction(" .$this->InstanceID .', "ResetTimer", "");');
|
||||||
|
|
||||||
|
$this->RegisterVariableString("Letzer_User", "Letzter registrierter Benutzer", "", "");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Variabeln für Kommunkation mit Manager
|
// Variabeln für Kommunkation mit Manager
|
||||||
@@ -345,7 +347,22 @@ class Ladestation_v2 extends IPSModule
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$response = curl_exec($ch);
|
$response = curl_exec($ch);
|
||||||
|
$data = json_decode($response, true);
|
||||||
|
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
|
|
||||||
|
if (json_last_error() === JSON_ERROR_NONE && isset($data["driverIdentifier"])) {
|
||||||
|
|
||||||
|
$this->SetValue("Letzer_User", $data["driverIdentifier"]);
|
||||||
|
|
||||||
|
if($this->ReadPropertyString("Username") === $data["driverIdentifier"]){
|
||||||
|
$this->SetValue("Solarladen", true);
|
||||||
|
}else{
|
||||||
|
$this->SetValue("Solarladen", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Aktueller Zustand Ladestation abfragen (Leistung, auto eingesteckt?)
|
||||||
$ch2 = curl_init();
|
$ch2 = curl_init();
|
||||||
|
|
||||||
$url2 = "https://api.easee.com/api/chargers/".$this->ReadPropertyString("Seriennummer")."/state";
|
$url2 = "https://api.easee.com/api/chargers/".$this->ReadPropertyString("Seriennummer")."/state";
|
||||||
@@ -366,39 +383,21 @@ class Ladestation_v2 extends IPSModule
|
|||||||
$response_easee = curl_exec($ch2);
|
$response_easee = curl_exec($ch2);
|
||||||
curl_close($ch2);
|
curl_close($ch2);
|
||||||
|
|
||||||
IPS_LogMessage("Easee", print_r($response_easee));
|
|
||||||
|
|
||||||
if ($response === false) {
|
|
||||||
IPS_LogMessage("Ladestation", "Fehler beim Abrufen der API-Daten");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$easee_data = json_decode($response_easee, true);
|
$easee_data = json_decode($response_easee, true);
|
||||||
$data = json_decode($response, true);
|
|
||||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
|
||||||
IPS_LogMessage("Ladestation", "Fehler beim Dekodieren der JSON-Antwort");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (isset($data['driverIdentifier']) && ($data['driverIdentifier']==$this->ReadPropertyString("Username"))) {
|
|
||||||
if(isset($easee_data["totalPower"])){
|
|
||||||
|
|
||||||
$this->SetValue("Ladeleistung_Effektiv", round($easee_data["totalPower"]*1000));
|
|
||||||
IPS_LogMessage("Ladestation 1", "1");
|
|
||||||
|
|
||||||
}else{
|
|
||||||
|
|
||||||
$this->SetValue("Ladeleistung_Effektiv", 0);
|
|
||||||
IPS_LogMessage("Ladestation 0", "0");
|
|
||||||
|
|
||||||
|
if (json_last_error() === JSON_ERROR_NONE && isset($easee_data["chargerOpMode"])) {
|
||||||
|
|
||||||
|
if ($easee_data["chargerOpMode"] != 1) {
|
||||||
|
$car_on_station = true;
|
||||||
}
|
}
|
||||||
$this->SetValue("Fahrzeugstatus", 2);
|
else{
|
||||||
$car_on_station = true;
|
$car_on_station = false;
|
||||||
|
}
|
||||||
} else {
|
$this->SetValue("Ladeleistung_Effektiv", round($easee_data["totalPower"]*1000));
|
||||||
$car_on_station = false;
|
$this->SetValue("Fahrzeugstatus", $easee_data["chargerOpMode"]);
|
||||||
$this->SetValue("Fahrzeugstatus", 1);
|
|
||||||
$this->SetValue("Ladeleistung_Effektiv", 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -626,6 +625,9 @@ class Ladestation_v2 extends IPSModule
|
|||||||
// Nichts zu tun für Dummy station
|
// Nichts zu tun für Dummy station
|
||||||
return;
|
return;
|
||||||
case 5:
|
case 5:
|
||||||
|
if($this->ReadPropertyString("Username") != $data["driverIdentifier"]){
|
||||||
|
return;
|
||||||
|
}
|
||||||
$url = "https://api.easee.com/api/chargers/".$this->ReadPropertyString("Seriennummer")."/commands/set_dynamic_charger_current";
|
$url = "https://api.easee.com/api/chargers/".$this->ReadPropertyString("Seriennummer")."/commands/set_dynamic_charger_current";
|
||||||
curl_setopt_array($ch, [
|
curl_setopt_array($ch, [
|
||||||
CURLOPT_ENCODING => "",
|
CURLOPT_ENCODING => "",
|
||||||
@@ -668,6 +670,9 @@ class Ladestation_v2 extends IPSModule
|
|||||||
// Nichts zu tun für Dummy station
|
// Nichts zu tun für Dummy station
|
||||||
return;
|
return;
|
||||||
case 5:
|
case 5:
|
||||||
|
if($this->ReadPropertyString("Username") != $data["driverIdentifier"]){
|
||||||
|
return;
|
||||||
|
}
|
||||||
$url2 = "https://api.easee.com/api/chargers/".$this->ReadPropertyString("Seriennummer")."/commands/set_dynamic_charger_current";
|
$url2 = "https://api.easee.com/api/chargers/".$this->ReadPropertyString("Seriennummer")."/commands/set_dynamic_charger_current";
|
||||||
curl_setopt_array($ch, [
|
curl_setopt_array($ch, [
|
||||||
CURLOPT_ENCODING => "",
|
CURLOPT_ENCODING => "",
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class PV_Visu extends IPSModule
|
|||||||
public function ApplyChanges()
|
public function ApplyChanges()
|
||||||
{
|
{
|
||||||
parent::ApplyChanges();
|
parent::ApplyChanges();
|
||||||
$this->UpdateData();
|
$this->RequestAction("update", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user