no message

This commit is contained in:
dh
2026-08-06 16:00:49 +02:00
parent a87461eefa
commit c9ca9661cf
5 changed files with 25 additions and 35 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
Das Gateway hält eine gemeinsame SignalR-Verbindung zum Easee-Konto und verteilt Das Gateway hält eine gemeinsame SignalR-Verbindung zum Easee-Konto und verteilt
die Observations 47 (Max Charger Current), 109 (Charger Op Mode), 110 die Observations 47 (Max Charger Current), 109 (Charger Op Mode), 110
(Output Phase), 120 (Total Power) und 182 bis 185 (gemessene Leiterströme) an alle verbundenen (Output Phase), 120 (Total Power) und 182 bis 185 (gemessene Leiterströme) an alle verbundenen
Ladestation_v2-Instanzen. Ladestation- und Ladestation_v2-Instanzen.
Benutzername und Passwort werden ausschließlich im Gateway eingetragen. Mehrere Benutzername und Passwort werden ausschließlich im Gateway eingetragen. Mehrere
Easee-Ladestationen desselben Kontos verwenden dasselbe Gateway. Für ein weiteres Easee-Ladestationen desselben Kontos verwenden dasselbe Gateway. Für ein weiteres
+3 -4
View File
@@ -7,8 +7,8 @@ Ladestationstyp an. Allgemeine Regel- und Zeitparameter bleiben immer sichtbar.
## Easee ## Easee
Die Ladestationstypen 5 und 6 verwenden das oben als Schnittstelle ausgewählte Die Ladestationstypen 5 und 6 verwenden das im Konfigurationsformular
`Easee SignalR Gateway`. Die Schnittstellenauswahl wird bei allen ausgewählte `Easee SignalR Gateway`. Die Auswahl wird nur bei diesen beiden
Stationstypen angezeigt. Stationstypen angezeigt.
- Typ 5: Easee mit zusätzlicher eCarUp-Benutzerprüfung für Solarladen - Typ 5: Easee mit zusätzlicher eCarUp-Benutzerprüfung für Solarladen
@@ -67,7 +67,6 @@ Modul- und Instanzidentität bleibt erhalten.
1. Eine Instanz `Easee SignalR Gateway` anlegen. 1. Eine Instanz `Easee SignalR Gateway` anlegen.
2. Easee-Benutzername und Passwort im Gateway eintragen. 2. Easee-Benutzername und Passwort im Gateway eintragen.
3. In `Ladestation` Typ 5 oder 6 sowie die Easee-Seriennummer wählen. 3. In `Ladestation` Typ 5 oder 6 sowie die Easee-Seriennummer wählen.
4. Oben über `Schnittstelle konfigurieren` beziehungsweise 4. Im Feld `Easee SignalR Gateway` die gewünschte Gateway-Instanz auswählen.
`Schnittstelle ändern` die gewünschte Gateway-Instanz auswählen.
Mehrere Easee-Ladestationen desselben Kontos verwenden gemeinsam ein Gateway. Mehrere Easee-Ladestationen desselben Kontos verwenden gemeinsam ein Gateway.
+7 -1
View File
@@ -105,10 +105,16 @@
"suffix": "", "suffix": "",
"visible": false "visible": false
}, },
{
"type": "SelectInstance",
"name": "EaseeGatewayID",
"caption": "Easee SignalR Gateway",
"visible": false
},
{ {
"type": "Label", "type": "Label",
"name": "EaseeGatewayHint", "name": "EaseeGatewayHint",
"caption": "Das Easee SignalR Gateway wird oben über Schnittstelle konfigurieren/ändern ausgewählt.", "caption": "Die Easee-Zugangsdaten werden im ausgewählten Gateway konfiguriert.",
"visible": false "visible": false
} }
] ]
+2 -6
View File
@@ -4,13 +4,9 @@
"type": 3, "type": 3,
"vendor": "Belevo AG", "vendor": "Belevo AG",
"aliases": [], "aliases": [],
"parentRequirements": [ "parentRequirements": [],
"{BC4E9B83-9C9B-44C3-A902-5CEB45B0E5B1}"
],
"childRequirements": [], "childRequirements": [],
"implemented": [ "implemented": [],
"{A8EF2E37-6B35-4E92-A7D1-4F8172790BA2}"
],
"prefix": "GEF", "prefix": "GEF",
"url": "https://git.belevo.ch/dh/Enelix/src/branch/main/Ladestation" "url": "https://git.belevo.ch/dh/Enelix/src/branch/main/Ladestation"
} }
+12 -23
View File
@@ -200,6 +200,9 @@ class Ladestation extends IPSModule
"visible" => false, "visible" => false,
"caption" => "Variable mit eCarUp API-Token", "caption" => "Variable mit eCarUp API-Token",
], ],
"EaseeGatewayID" => [
"visible" => false,
],
"EaseeGatewayHint" => [ "EaseeGatewayHint" => [
"visible" => false, "visible" => false,
], ],
@@ -253,6 +256,7 @@ class Ladestation extends IPSModule
"caption" => "eCarUp Benutzerkennung für Solarladen", "caption" => "eCarUp Benutzerkennung für Solarladen",
]; ];
$configuration["Token_ECarUp"]["visible"] = true; $configuration["Token_ECarUp"]["visible"] = true;
$configuration["EaseeGatewayID"]["visible"] = true;
$configuration["EaseeGatewayHint"]["visible"] = true; $configuration["EaseeGatewayHint"]["visible"] = true;
break; break;
@@ -261,6 +265,7 @@ class Ladestation extends IPSModule
"visible" => true, "visible" => true,
"caption" => "Easee Seriennummer", "caption" => "Easee Seriennummer",
]; ];
$configuration["EaseeGatewayID"]["visible"] = true;
$configuration["EaseeGatewayHint"]["visible"] = true; $configuration["EaseeGatewayHint"]["visible"] = true;
break; break;
} }
@@ -296,22 +301,7 @@ class Ladestation extends IPSModule
!$usesEaseeGateway !$usesEaseeGateway
); );
$instance = IPS_GetInstance($this->InstanceID); if (!$usesEaseeGateway || $this->ReadPropertyInteger("EaseeGatewayID") <= 0) {
$parentID = (int)$instance["ConnectionID"];
// Eine in Version 1.2/1.3 gespeicherte Gateway-Auswahl wieder als
// normale IP-Symcon-Schnittstelle verbinden.
if ($parentID <= 0) {
$storedGatewayID = $this->GetConfiguredEaseeGatewayID();
if ($storedGatewayID > 0) {
IPS_ConnectInstance($this->InstanceID, $storedGatewayID);
$parentID = $storedGatewayID;
}
}
if ($usesEaseeGateway && $this->IsEaseeGatewayInstance($parentID)) {
$this->SubscribeToEaseeGateway();
} else {
$this->SetValue("Easee_Gateway_Connected", false); $this->SetValue("Easee_Gateway_Connected", false);
} }
@@ -449,17 +439,16 @@ class Ladestation extends IPSModule
private function SendEaseeGatewayRequest(array $request) private function SendEaseeGatewayRequest(array $request)
{ {
$instance = IPS_GetInstance($this->InstanceID); $gatewayID = $this->GetConfiguredEaseeGatewayID();
$parentID = (int)$instance["ConnectionID"]; if ($gatewayID <= 0 || !function_exists("EASEEGW_ProcessStationRequest")) {
if (!$this->IsEaseeGatewayInstance($parentID)) {
$this->SetValue("Easee_Gateway_Connected", false); $this->SetValue("Easee_Gateway_Connected", false);
return null; return null;
} }
$response = $this->SendDataToParent(json_encode([ $response = EASEEGW_ProcessStationRequest(
"DataID" => self::EASEE_GATEWAY_REQUEST_ID, $gatewayID,
"Buffer" => json_encode($request), json_encode($request)
])); );
if (!is_string($response) || $response === "") { if (!is_string($response) || $response === "") {
return null; return null;