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
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
Ladestation_v2-Instanzen.
Ladestation- und Ladestation_v2-Instanzen.
Benutzername und Passwort werden ausschließlich im Gateway eingetragen. Mehrere
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
Die Ladestationstypen 5 und 6 verwenden das oben als Schnittstelle ausgewählte
`Easee SignalR Gateway`. Die Schnittstellenauswahl wird bei allen
Die Ladestationstypen 5 und 6 verwenden das im Konfigurationsformular
ausgewählte `Easee SignalR Gateway`. Die Auswahl wird nur bei diesen beiden
Stationstypen angezeigt.
- 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.
2. Easee-Benutzername und Passwort im Gateway eintragen.
3. In `Ladestation` Typ 5 oder 6 sowie die Easee-Seriennummer wählen.
4. Oben über `Schnittstelle konfigurieren` beziehungsweise
`Schnittstelle ändern` die gewünschte Gateway-Instanz auswählen.
4. Im Feld `Easee SignalR Gateway` die gewünschte Gateway-Instanz auswählen.
Mehrere Easee-Ladestationen desselben Kontos verwenden gemeinsam ein Gateway.
+7 -1
View File
@@ -105,10 +105,16 @@
"suffix": "",
"visible": false
},
{
"type": "SelectInstance",
"name": "EaseeGatewayID",
"caption": "Easee SignalR Gateway",
"visible": false
},
{
"type": "Label",
"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
}
]
+2 -6
View File
@@ -4,13 +4,9 @@
"type": 3,
"vendor": "Belevo AG",
"aliases": [],
"parentRequirements": [
"{BC4E9B83-9C9B-44C3-A902-5CEB45B0E5B1}"
],
"parentRequirements": [],
"childRequirements": [],
"implemented": [
"{A8EF2E37-6B35-4E92-A7D1-4F8172790BA2}"
],
"implemented": [],
"prefix": "GEF",
"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,
"caption" => "Variable mit eCarUp API-Token",
],
"EaseeGatewayID" => [
"visible" => false,
],
"EaseeGatewayHint" => [
"visible" => false,
],
@@ -253,6 +256,7 @@ class Ladestation extends IPSModule
"caption" => "eCarUp Benutzerkennung für Solarladen",
];
$configuration["Token_ECarUp"]["visible"] = true;
$configuration["EaseeGatewayID"]["visible"] = true;
$configuration["EaseeGatewayHint"]["visible"] = true;
break;
@@ -261,6 +265,7 @@ class Ladestation extends IPSModule
"visible" => true,
"caption" => "Easee Seriennummer",
];
$configuration["EaseeGatewayID"]["visible"] = true;
$configuration["EaseeGatewayHint"]["visible"] = true;
break;
}
@@ -296,22 +301,7 @@ class Ladestation extends IPSModule
!$usesEaseeGateway
);
$instance = IPS_GetInstance($this->InstanceID);
$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 {
if (!$usesEaseeGateway || $this->ReadPropertyInteger("EaseeGatewayID") <= 0) {
$this->SetValue("Easee_Gateway_Connected", false);
}
@@ -449,17 +439,16 @@ class Ladestation extends IPSModule
private function SendEaseeGatewayRequest(array $request)
{
$instance = IPS_GetInstance($this->InstanceID);
$parentID = (int)$instance["ConnectionID"];
if (!$this->IsEaseeGatewayInstance($parentID)) {
$gatewayID = $this->GetConfiguredEaseeGatewayID();
if ($gatewayID <= 0 || !function_exists("EASEEGW_ProcessStationRequest")) {
$this->SetValue("Easee_Gateway_Connected", false);
return null;
}
$response = $this->SendDataToParent(json_encode([
"DataID" => self::EASEE_GATEWAY_REQUEST_ID,
"Buffer" => json_encode($request),
]));
$response = EASEEGW_ProcessStationRequest(
$gatewayID,
json_encode($request)
);
if (!is_string($response) || $response === "") {
return null;