Plugin-Daten
AutorDieter Schmidberger
Logo
StatusSTABLE
Version0.3.4
Min. LB Version2.0
Release Downloadhttps://schmidberger.name/download/loxberry/LoxBerry-Plugin-Easee-Home-v0.3.4.zip
BeschreibungSchnittstelle zur easee.cloud um Daten der Easee Home Wallbox(en) abzufragen und zu ändern.
SprachenDE
Diskussionhttps://www.loxforum.com/forum/projektforen/loxberry/plugins/295020-plugin-easee-home-wallbox

Easee Home Wallbox

Version History...


Funktion des Plugins

Das Plugin bietet die Möglichkeit die API der easee.cloud zu nutzen um Werte der Wallbox(en) abzufragen und zu verändern.
Mit den Benutzdaten wird ein Token erstellt der für einen Tag gilt, und wenn nötig erneuert wird. 
Die Verbindung zur Cloud ist immer verschlüsselt, und die Daten werden nie im Plain-Text gesendet und sind somit nicht lesbar.

Konfigurationsoptionen

Nutzerdaten
Benutzername = Email-Adresse mit der ihr euch an der easee.cloud anmeldet
Passwort = Passwort mit der ihr euch an der easee.cloud anmeldet

MiniServer
Wenn ihr mehr als einen MiniServer habt könnt ihr hier auswählen an welchen die Antwort gesendet wird.

Rückgabe
Ihr könnt die Werte auf 2 Arten zurück erhalten, einmal als JSON oder als UDP, das ihr mit der Befehlserkennung auswerten könnt.

Einrichtung in der Loxone Config Software

Abfrage / Einstellungen ändern
Um den Empfang von Daten anzufordern oder Werte zu ändern, werden virtuelle Ausgänge angelegt. Die aktuellen Werte aus der Easee Cloud lassen sich dann über virtuelle Eingänge empfangen und weiterverarbeiten.

Hinweis: Das Plugin fragt die Werte nicht selbständig ab (kein polling). Um die aktuellen Daten zu holen muss zunächst z. B. der Parameter "config" oder "state" (vollständige Liste siehe https://developer.easee.cloud) per virtuellem Ausgangsbefehl gesendet werden. Mit einem Implusgeber kann dies bei Bedarf alle paar Sekunden automatisch geschehen.


Als IP gebt ihr die IP des Loxberry auf dem das Plugin installiert ist an.


Virtueller Ausgang Befehle
Die Basis URL die ihr bei Befehl EIN eintrag müsst ist /plugins/easee_home/easee.php gefolgt von den Parametern(?do=)(&type=)(&value=)(&id=EHxxxxxxx)

?do=xxxxxxxxxx&id=EHxxxxxxxx
config Gibt die aktuelle Geräte-Konfiguration zurück (Empfang über virtuelle Eingänge).
state Gibt den aktuellen Status und Werte zurück(Empfang über virtuelle Eingänge).
circuits Gibt den aktuellen Status der Einstellungen für den Stromkreis zurück
start_charging Starte das laden wenn ein Fahrzeug angeschlossen ist.
stop_charging Stoppt das laden wenn über ein Zeitprofil geladen wird. Wurde manuell gestartet kann nur mit Start/Pause/Resume gearbeitet werde.
pause_charging Pausiert das Laden.
resume_charging Startet das Laden erneut nachdem es pausiert wurde.
reboot Startet die Wallbox neu.
force_reboot Startet die Wallbox neu auch wenn z.B. gerade geladen wird. (nur im Notfall nutzen)
latest Gibt Verbrauchswerte des letzten Ladevorgang zurück.
ongoing Gibt Verbrauchswerte des aktuell laufenden Ladevorgang zurück.
post_settings Schreibt Werte ins Gerät.
post_lock_state Ver-/Entriegelt das Kabel, auch wenn z.B. kein Auto geladen wird. (Wird ein Fahrzeug geladen verriegelt die Wallbox das Kabel automatisch)
?do=post_settings&type=xxxxxxxxx&value=xxxxx&id=EHxxxxxxxx
enabled Aktiviert oder deaktiviert die Wallbox. (&value=true/false)
enableIdleCurrent Aktiviert die Freigabe auch Strom zu liefern wenn die Batterie voll ist, z.B. für Standheizung (&value=true/false)
limitToSinglePhaseCharging Sperrt das3 Phasen laden,z.B. bei Renault Zoe nötig. (&value=true/false)
lockCablePermanently Sperrt das Kabel permanent. (&value=true/false)
smartButtonEnabled Aktiviert den SmartButton am Gerät. (&value=true/false)
phaseMode Stell den Lademodus mit 1/3 Phasen oder automatisch ein. (&value=1/2/3)
1=1Ph/2=Auto/3=3Ph.
 smartCharging Aktiviert das SmartCharging um z.B. in der günstigsten Zeit zu laden. (&value=true/false)
localPreAuthorizeEnabled ?? (&value=true/false)
localAuthorizeOfflineEnabled ?? (&value=true/false)
allowOfflineTxForUnknownId ?? (&value=true/false)
offlineChargingMode Legt fest ob auch ohne WLAN/SIM-Verbindung geladen werden darf. (&value=true/false)
Es werden keine Daten an die Cloud übertragen. Ob diese auf dem Gerät gespeichert sind kann ich nicht sagen.
authorizationRequired Schaltet die RFID Freigabe am Gerät ein/aus. (&value=true/false)
remoteStartRequired (&value=true/false)
ledStripBrightness Steuert die Helligkeit des LED-Streifen am Gerät. (&value=0-100)
maxChargerCurrent Gibt die maximale Stromstärke zu Ladung vor. (&value=6-xx)
dynamicChargerCurrent Gibt die dynamische Stromstärke vor. ((&value=6-xx)
Beim starten eines neuen Ladevorgang wird diese auf 32Azurück gesetzt.
?do=post_lock_state&value=xxxxxx&id=EHxxxxxxxx Befehl zum verriegeln des Ladekabel.  (&value=true/false)
?do=post_dynamicCurrent&value=P1,P2,P3&id=EHxxxxxxxx Mit diesen Befehl kann die Stromstärke je Phase dynamisch eingestellt werden.
Diese Einstellung bezieht sich auf den ganzen Kreislauf, wenn z.B. mehrere Box an diesem Kreis hängen sind alle Boxen betroffen.

Als value= müssen immer die Werte aller 3 Phasen mit gesendet werden

Beispiel
value=16,0,0 oder value=16,16,16….
Wird der Wert für mehr als 4 Stunden nicht geändert fällt der Kreis zurück auf den fest eingestellten Standard

Beispiele
Befehle zur Konfigurations- und Status-Abfrage
/plugins/easee_home/easee.php?do=state&id=EHxxxxxx
/plugins/easee_home/easee.php?do=config&id=EHxxxxxx

Befehle für Start/Stopp/Pause/Resume
/plugins/easee_home/easee.php?do=start_charging&id=EHxxxxxx
/plugins/easee_home/easee.php?do=pause_charging&id=EHxxxxxx
/plugins/easee_home/easee.php?do=stop_charging&id=EHxxxxxx
/plugins/easee_home/easee.php?do=resume_charging&id=EHxxxxxx

Befehl zum ändern von Einstellungen
/plugins/easee_home/easee.php?do=post_settings&type=enabled&value=true&id=EHxxxxxx
/plugins/easee_home/easee.php?do=post_settings&type=maxChargerCurrent&value=10&id=EHxxxxxx
/plugins/easee_home/easee.php?do=post_lock_state&value=true&id=EHxxxxxxxx

Tipp!
Ihr könnt nach dem ihr eure Daten im Plugin gespeichert habt auch jederzeit das ganz im Browser testen. (JSON Rückgabe im Plugin aktiveren)
http://loxberry_ip//plugins/easee_home/easee.php?do=config&id=EHxxxxxx  (xxxxxxx gehen eure ID austauschen)


Empfang UDP

Für den Empfang kann man virtuelle Eingänge mit Befehlserkennung oder virtuelle UDP Eingänge anlegen.

 Beim UDP Empfangsport gebt ihr den gleichen an den ihr im Plugin vorgegeben habt. Optional tragt ihr auch die Senderadress ein. Das ist dann der Loxberry hostname oder die IP (ohne http://)

Erkennung z.B. für die Spannung.
Es fäng immer mit der ID EHxxxxxxxx_ an gefolgt von den Wertenamen.

Eine UDP Vorlage mit den grundlegenden Parametern findet ihr hier: UDP Vorlage für LoxConfig. Die IP und der Port müssen auf den jeweiligen Loxberry angepasst werden. Das gleiche gilt für den ID-Platzhalter der Easee Box.

Status des Chargers inkl. Weiterverarbeitung:

Mit dem "State" Befehlt, liefert die API eine Reihe von Ergebnissen zurück, welche über die UDP Eingänge aufgenommen werden können. Im Rückgabefeld "EHXXXX_chargerOpMode" erhält man Auskunft über den aktuellen Betriebs-Status in Form einer Zahl. Diese Zahl lässt sich am besten durch den Status Baustein übersetzen und dann vereinfacht für den Wallbox Baustein weiterverarbeiten. So wird in diesem Beispiel nur noch digital unterschieden, um damit den Vc Eingang des Wallbox Bausteins zu versorgen. 1=Auto verbunden, 0=Kein Auto verbunden


Empfang MQTT

Die Daten können auch per MQTT-Plugin Empfangen werden.
Alle Werte werden aus dem MQTT-Plugin geladen, das einzige was man noch machen muss, ist die Subscription easee/# 

Die Daten werden am /easee/EHxxxxx/value=x gesendet.
EH steht für die jeweilige Seriennummer der Wallbox.

Alle Werte findet ihr unter: https://developer.easee.cloud (/api/chargers/{id}/config) und (/api/chargers/{id}/state)

Beispiel Config

Die folgende Beispielkonfiguration soll eine Anbindung von zwei Easee Chargern in einem Haushalt mit vorhandener PV Anlage und Speicher verdeutlichen:

1. Schritt - Regelmäßige Abfrage der Wallboxen über einen Impulsgeberbaustein, der alle 20 Sekunden einen Impuls sendet an die Virtuellen Ausgänge mit den folgenden Befehlen:

/plugins/easee_home/easee.php?do=state&id=EHXXXXX

2. Schritt - Die Virtuellen Eingänge aus dem Plugin mit dem Wallboxbaustein verbinden. Hinweis: WBL steht für Wallbox Links, WBR für Wallbox Rechts.

Die einzelnen Befehlserkennungen im Beispiel sind dann:

  1. Ec - Laden freigegeben EHTXXXXX_isOnline=\v
  2. Vc - Kabel angeschlossen EHTXXXXX_cableLocked=\v
  3. Cp - Ladeleistung EHTXXXXX_totalPower=\v
  4. Mr - Zählerstand EHTXXXXX_lifetimeEnergy=\v

3. Schritt - Die Ausgänge der Wallboxsteuerung mit Befehlen für die Easee Wallbox verbinden, damit diese gestartet/pausiert, sowie die Ladeleistung über den DynamicCurrentValue Befehl richtig angesteuert wird

Jetzt wird es Umfangreich, über den Statusbaustein Pause/Resume werden die Wallboxen Pausiert und wieder gestartet, wenn die nötigen Bedingungen vorliegen. In dem Beispiel wurde auch noch die Speichersteuerung mit integriert, grundsätzlich reicht aber der folgende Befehl:

Ca - Charching allowed = Ein - wird der folgende Befehl übermittelt: /plugins/easee_home/easee.php?do=resume_charging&id=EHTXXXXX

Ca - Charging allowed = Aus - wird der folgende Befehl übermittel: /plugins/easee_home/easee.php?do=pause_charging&id=EHTXXXXX

To be continued … (erstmal Fussball schauen)

Diskussion