Plugin-Daten | |
---|---|
Autor | Dieter Schmidberger |
Logo | |
Status | STABLE |
Version | 0.3.4 |
Min. LB Version | 2.0 |
Release Download | https://schmidberger.name/download/loxberry/LoxBerry-Plugin-Easee-Home-v0.3.4.zip |
Beschreibung | Schnittstelle zur easee.cloud um Daten der Easee Home Wallbox(en) abzufragen und zu ändern. |
Sprachen | DE |
Diskussion | https://www.loxforum.com/forum/projektforen/loxberry/plugins/295020-plugin-easee-home-wallbox |
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.
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.
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)
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:
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)