e-Car Charger Control / Wallbox-Steuerung

Dies ist eine Android-App zur lokalen Ansteuerung diverser Wallboxen: https://play.google.com/store/apps/details?id=com.chk.go_elocal

Beispiel

Unterstützte Wallbox-Typen mit Phasenumschaltung:

  • Go-eCharger (direkt oder MQTT), Q-Cells Q.HOME EDRIVE-G1, Fronius Wattpilot und kompatible
  • Easee Laderoboter (über die Cloud)
  • Alfen Eve (Single, Duo, Pro)

Unterstützte Wallbox-Typen ohne Phasenumschaltung:

  • SimpleEVSE Wifi (im “Normal Mode” und im “Always Active” Mode)
  • SmartWB (enthält SimpleEVSE/Wifi)
  • Phoenix EV Charge Control EM-CP-PP-ETH
  • Walli Light (enthält Phoenix EV Charge Control EM-CP-PP-ETH)
  • wallbe Eco 2.0 (s) (enthält Phoenix EV Charge Control EM-CP-PP-ETH)
  • Phoenix EV Charge Control EM-CC-AC1-M3
  • Walli Pro (enthält Phoenix EV Charge Control EM-CC-AC1-M3)
  • wallbe Pro (enthält Phoenix EV Charge Control EM-CC-AC1-M3)
  • E3DC easy connect (enthält Phoenix EV Charge Control EM-CC-AC1-M3)
  • Keba P20c,P20x/P30c,P30x/BMW mit oder ohne RFID-Autorisierung
  • cFos Power Brain (auch mit S0-Zähler für die Ladestrommessung, wenn er entsprechend eingebaut und konfiguriert ist)
  • openWB
  • Heidelberg Energy Control (mit Hilfsmodul wbec https://github.com/steff393/wbec/)
  • Mennekes Amtron Xtra oder Premium Wallbox (“mit HCC3”)
  • Hardy Barth cPH1, cPµ1/cPµ2 mit eCB1, und cPH2 (die “neue”, Salia Client)
  • Vestel EVC04 Home Smart/Connect Plus
  • ABL eMH1, ESM (über RS485 Konverter)
  • Etrel INCH und Duo
  • SonnenCharger (siehe Etrel)
  • Compleo Solo / Ducto
  • Mennekes ChargeControl, Amedio, Professional
  • Compleo Solo/Ducto
  • Juice Charger Me
  • Webasto Live
  • Technisat Technivolt
  • Optec Mobility One
  • Ubitricity Heinz
  • Ebee
  • Ensto Chago
  • Garo GLB, GLB+, LS4, LS$ compact

und Bender-Controller-Kompatible:

  • Mennekes ChargeControl, Amedio, Professional
  • Juice Charger Me
  • Webasto Live
  • Technisat Technivolt
  • Optec Mobility One
  • Ubitricity Heinz
  • Ebee
  • Ensto Chago
  • Garo GLB, GLB+, LS4, LS$ compact

und als “Notlösung” für den Ladeziegel:

  • TP-Link “Kasa” Smart WiFi Plug (KP105, KP115, HS100, HS110)
  • Shelly Plug, Shelly Switch Plus (ohne Zugangsschutz [Benutzer/Passwort])
  • Plugs with Tasmota firmware and an energy meter

Bitte schaut zu Tipps und Installationshinweisen unbedingt vorher in mein Forum https://forum.chk.digital/viewforum.php?f=3

Was bedeutet “lokal”? Nun, der go-eCharger zum Beispiel wird von der App des Herstellers über die Cloud, also einen Server des Herstellers, gesteuert. Meine App steuert die Wallbox lokal an, also direkt per WLAN oder über einen VPN-Tunnel.
Für die anderen Wallboxen ist es eher eine Oberfläche zur komfortablen Steuerung (mit Timer, Lademengeneinstellung (falls unterstützt), Lademengenberechnung, …) anstatt die Wallbox über eine Web-Oberfläche anzusprechen.

Unterstütze Geräte

Alle Androiden ab Version 6.0 (neuer bevorzugt, da man leider immer mal neuere Bibliotheken nutzen muss),

oder

Hinweis: um die Keba P20/30 c/x auch unter iOS anzusteuern, gibt es nun eine App (https://www.wallboxcontrol.com) im Apple AppStore: Wallbox Control

Konfiguration

Man muß nur den Typen der Wallbox einstellen, und dessen IP-Adresse angeben):

Das aber ein Mal pro Netz: wenn man also mal im lokalen LAN, mal per VPN verbunden ist, oder im WLAN des go-eChargers, dann muß man die Konfiguration für jedes Netz erneut machen – das spart Strom, weil die App nur dann den Charger zu nutzen sucht, wenn sie in einem Netz ist, in dem ein Charger konfiguriert wurde.

Wichtig: die App muss für eine permanente Arbeit (PV-Überschuss-Modus, Ladelog, System-Grafik im manuellenModus, …) von Batteriesparmaßnahmen ausgeschlossen sein.

Wenn die eingebauten Hinweise nicht klappen, schau mal bei https://dontkillmyapp.com/ vorbei, wie man das bei Deinem Gerät am besten macht. Oder mit Bordmitteln: https://forum.chk.digital/viewtopic.php?p=435#p435

Auto-Daten und -Verbindung:

Die Batteriekapazität spielt dann eine Rolle, wenn man beim go-eCharger einen Prozentsatz (bzw. eine Lademenge) angeben möchte, die geladen werden soll, oder die Lademenge in SOC-%.

Steuerung über den Ladestand des Traktionsakkus (Nissan, Renault, Fiat, Jeep)

Mittlerweile auch in *diese* App eingebaut komme ich an den SoC (State of Charge)-Wert des Fahrakkus eines (europäischen) Nissan-Autos heran.

Renault und Fiat sind nun abfragbar, wenn man einen entsprechenden Account hat.

Ebenfalls gibt es eine “manuelle” SoC-Eingabe, die man auswählen kann. In diesem Fall wird beim Anstecken des Autos an die Wallbox von der App eine Abfrage erzeugt, in der Du den aktuellen SoC eingeben kannst. Nicht toll, aber besser als immer wieder nachschauen müssen, weil man es sich nicht gemerkt hat.

Tesla geht nun über die aktuelle Fleet-API.

Da ioBroker den SoC auch veröffentlicht, kann man dies auch als Quelle angeben.

Den wert per MQTT zu bekommen ist nun auch eine Option.

Und für viele andere: Tronity.

Übersicht der unterstützen Modelle: https://forum.chk.digital/viewforum.php?f=7

Optional kann man also einstellen, dass der SoC-Wert zur Lademengenbegrenzung verwendet wird, dann wird die Ladung beendet, wenn der Akku entsprechend voll ist

Logging

die App bietet die Möglichkeit, den Ladungsprozess mitzuloggen. Hierzu muss aber die App dauernd laufen und verbraucht entsprechend mehr Strom des Smartphones als Google gerne hätte.

Widget

Es kann auch ein Widget platziert werden auf dem Screen, über die man die wichtigsten Infos sieht und den Ladeprozess beeinflussen kann. Auch hier muss dann die App einen Hintergrundprozess laufen lassen – siehe “Logging” kostet das Strom.


Über ein SmartMeter ist eine Steuerung über den Überschuss einer Photovoltaikanlage möglich: (**)

Für die PV-Überschusssteuerung unterstützte Anlagen/APIs:

  • Sonnenspeicher (PV-Anlage mit Heimakku der Firma sonnen GmbH)
  • Fronius Symo/Galvo (+Akku wenn vorhanden)
  • RCT power (+Akku wenn vorhanden)
  • E3DC Simple Mode (+Akku wenn vorhanden)
  • Kostal Piko IQ, IC, und Plenticore (3. Generation) (+Akku wenn vorhanden)
  • Kostal Piko bis 2018 (2. Generation, REST-Zugriff) (+Akku wenn vorhanden)
  • Kostal Piko bis 2015? (1. Generation, HTML-Screenscraping)
  • Senec Home V2+V3 (lokaler Zugriff, nicht per Cloud) (+Akku wenn vorhanden)
  • Solarwatt, EON Auro Energy Manager (+Akku wenn vorhanden) – nur Versionen bis 2022 (EnergyManager Standard, evtl. Pro+, einfach probieren)
  • Sungrow (+Akku wenn vorhanden)
  • Sunny Home Manager 2.0
  • OpenEMS / fenecon FEMS (+Akku wenn vorhanden)
  • Huawei mit SDongleA (aktuelle Firmware!) (+Akku wenn vorhanden).
  • Victron GX Systeme
  • GoodWe ES/EM/SBP/ET/AT/EH/BH/EHB Hybrid
  • SMA Wechselrichter mit Modbus/TCP (+Akku wenn vorhanden)
  • SMA Sunny Island (im netzgekoppelten Modus)
  • SolarEdge Cloud (+Akku wenn vorhanden) (das läuft nicht ideal, da man nur alle 5 Minuten an die aktuellen Daten darf, aber besser als nichts)
  • SolarEdge lokal (modbus) (+Akku wenn vorhanden)
  • Solax / Q-Cells Cloud (+Akku wenn vorhanden) (Standard ist Abruf nur alle 5 Minuten)
  • Solax / Q-Cells lokal (+Akku wenn vorhanden)
  • Varta Heimakkus
  • Sax Heimspeicher
  • Tasmota WebRequest-compatible SmartMeter
  • BatterX Systeme
  • Tesla Powerwall 1+2
  • LG ESS Home 8/10
  • Sofar HYD 5…20K-3PH,\nHYD3…6K-EP,\n80…136KTL,\n5…24KTL-G3 über “Modbus RTU zu Modbus TCP”-Konverter
  • MQTT-Client

Reine Smartmeter (oder Reader für vorhandene Zähler)

  • SolarView für Linux (Telnet)
  • Solar Log (Modbus – nur Smartmeter-Info)
  • EM 300LR Energy Meter
  • Kostal Smart Energy Meter
  • SMA Energy Meter
  • Fronius Symo/Galvo (nur das SmartMeter)
  • Nedap PowerRouter (Beta – Mithilfe gesucht!)
  • ELV PowerFox (https://de.elv.com/powerfox-wlan-stromzaehlerausleser-poweropti-pa201901-inkl-smartphone-app-251535)
  • Powerfox poweropti Gridmeter Reader
  • Shelly 3EM (+PRO 3EM) Energy Meter
  • Emlog Gridmeter reader
  • Solarautonomie Energiemonitor
  • SolarEnergie Energie Monitor
  • smartfox.at
  • Tasmota-kompatible SmartMeter-Reader (WebRequest-JSON)
  • AMIS Leser (von mitterbaur.at/amis-leser.html, zum Auslesen des Smartmeter Siemens TD-3511 im NetzOÖ)
  • generisches JSON/REST-Format (konfigurierbar)

Funktionsprinzip

Die Überschussregelung nutzt den Wert des Smartmeters (das Messgerät am Übergabepunkt zwischen eigenem Stromnetz und dem externen “Grid”), um den dort ablesbaren Überschusswert (bei Stromexport der eigenen PV-Anlage), für die Steuerung der Wallbox zu nutzen, um das Elektroauto (beinahe) nur von der PV-Anlage zu laden.

Wieso “beinahe”? Nun, das Meter wird alle paar Sekunden ausgelesen und die Ladestromstärke angepaßt. Bei Bewölkung schwankt die PV-Leistung, und man kann nur “hinterherregeln”. Das führt dazu, dass immer wieder kurzzeitig Strom exportiert wird (wenn nach einer Abschattung die Sonne durchbricht) oder importiert werden muss (wenn eine Wolke Schatten wirft), bis die Regelung “nachgeregelt” hat und auch das Auto auf die Leistungsänderung reagiert.

Statistisch mittelt sich das heraus, aber da die Preise für Bezug und Export verschieden ist, ist das nicht optimal.

Das kann man leider auch nicht loswerden, auch da die Messwerte von Meter und Wallbox immer nur die Vergangenheit messen und mitteln, und auch nicht ganz synchron sind.

Um das zu umgehen, hilft ein Hausspeicher, denn er sorgt dafür, dass (je nach Leistung) weniger oder garnichts aus dem Grid bezogen werden muss.

Ebenso kann es passieren, dass der Ladungvorgang abgeschaltet wird, wenn die PV-Leistung für eine Ladung zu gering wird. In der App kann man einen Überbrückungszeitraum angeben, in dem die Ladung mit dem minimalen Ladestrom aufrecht erhalten wird. Hier hilft die Hausbatterie, den Stromimport zu vermeiden. Die Entnahme aus der Hausbatterie fällt nicht ins Gewicht, da diese das nachladen kann, wenn die PV-Leistung generell zu niedrig wird für die Auto-Ladung.

Wenn der Speicher nicht über die API abfragbar ist, dann wird zuerst der Speicher geladen und dann erst das Auto (oder vom Überschuß, wenn die PV-Leistung größer ist als die Speicheraufnahme). Das läßt sich nicht umgehen, weil die Speicher-Aufladung natürlich nicht bei der Grid-Messung auftaucht und daher nicht berücksichtigt werden kann.

Wenn der Speicher abfragbar ist, kann man sich aussuchen, ob man zuerst den Hausspeicher, dann den Autoakku laden möchte oder umgekehrt. Da der Heimspeicher aber mit jedem bisschen Ladestrom zurechtkommt, kann er auch die “Reste” aufsammeln und man dem Auto die Priorität geben.

Wenn kein SmartMeter vorhanden ist, wird die PV-Leistung als Basis genommen, und indem man in der App einen Schätzwert als Reserve einträgt, der abgezogen wird, kann man auch eine grobe, ungefähre Überschussladung erreichen.

Installation

Natürlich muss dazu das Smartphone andauernd im WLAN laufen, und wegen des Stromverbrauchs am Besten am Ladegerät hängen. Am besten ist, man besorgt sich ein eigenes Smartphone oder Tablet dazu.

Tip: Mit etwas Einsatz (z.B. Zeitsteuerung der Steckdose) kann man den Energieverbrauch etwas verringern, und mit Programmen wie Tasker oder AutomateIt weiter über den Flugmodus oder CPU-Governor den Smartphone-Verbrauch verringern.

Die App hat eine “Fernsteuerung“, bei der das im WLAN laufende Steuer-Smartphone der “Server” ist und die Daten mit einem “Client”, den man bei sich hat, austauschen kann und ferngesteuert wird. Dies geschieht über eine Google-Datenbank (“Firebase Realtime”) in der EU (Belgien).

Bildschirmschoner:

Da die App oft (PV-Steuerung, SoC-Wert-Steuerung, Abbruch bei Ladestromdifferenz, …) dauernd durchlaufen sollte, wird auf Dauer der Bildschirm an Qualität nachlassen. Und bei OLED wird dadurch auch etwas Strom gespart.

Um das zu minimieren, habe ich einen Bildschirmschoner mit den wichtigsten Informationen eingebaut, dessen Daten über den Bildschirm laufen.

Bildschirmschoner

Kosten

Ja, die App kostet Geld. Aber wenig. Ich investiere viel Zeit und Mühe, um eine gute App zu bieten:

  • Die App hat einen Einmal-Kaufpreis
  • Die PV-Überschussregelung benötigt eine kleine monatliche oder jährliche Zahlung mit 14 Tage kostenloser Schnupperzeit, oder einen lebenslangen Zugriff.

Die Preise dazu stehen im Eintrag des Play Stores.

Tasker, Llama, …

Man kann die App auch anders etwas fernsteuern.

(a) per Android-Broadcasts:

Package “com.chk.go_elocal”
Receiver Type: BroadcastReceiver

  • Intent 1: “com.chk.go_elocal.START_CHARGING”
    – Extra (optional) “PowerA” (float),
    z.B. “PowerA:16”
    – Extra (optional) “MaxEnergyKWh” (float)
    z.B. “MaxEnergyKWh:20”
  • Intent 2: “com.chk.go_elocal.STOP_CHARGING”

(b) per MQTT-Server:

https://android.chk.digital/de/ecar-charger-control/mqtt-commands-to-the-service/

Andere Hinweise

Viele Hinweise sind unter https://forum.chk.digital/viewforum.php?f=127 zu finden.

Beschreibung der Lade-Optionen

Oberfläche

Seid mir nicht böse, wenn ich das nach und nach ergänze… Die Programmierung und Beantwortung von Mails braucht viel Zeit.

Lade-Ziel (nur verfügbar, wenn der Akkustand des Autos abgefragt werden kann):

hier gibt man an, bis zu welchem Ladezustand des Autoakkus geladen werden soll. Dadurch wird der Akku nicht ganz voll geladen, wenn man möchte, um ihn etwas zu schonen.

Lade-Minimum (nur verfügbar, wenn der Akkustand des Autos abgefragt werden kann):

Wenn man den Akku möglichst auf einem Minimalwert halten möchte, z.B. um immer genug Reserve für eine wichtige ungeplante Fahrt zu haben, kann diesen Wert einstellen. Befindet sich der Auto-Akku unterhalb dieses Ladezustands, wird mit maximaler Leistung geladen, bis der Wert erreicht ist.

Boost per Heimspeicher (nur einstellbar in PV-Überschussladung, wenn Heimakku vorhanden ist)

Mit diesen zwei Parametern kann man wählen, dass für eine schnelle Ladung Energie aus dem Heimspeicher entnommen werden darf zur Ladung. Sowohl der minimale SoC des Heimspeichers als auch die Leistung sind einstellbar, unterhalb dieses SoC findet keine Unterstützung statt. Diese Option wird bei Abstöpseln des Autos automatisch zurückgesetzt (bei Wallboxen, die diese Information liefern), ansonsten bei Tageswechsel.

Soll-Lademenge (nur verfügbar, wenn die Wallbox das unterstützt, und der Akkustand der Autos nicht verfügbar ist)

Hier stellt man ein, bis zu welcher geladenen Energiemenge das Auto aufgeladen werden soll.

Soll-Ladestrom (nur im manuellen Modus verfügbar)

Hier stellt man den gewünschten Ladestrom ein, klar.

Reserve oder PV-Unterstzg. (nur einstellbar in PV-Überschussladung)

Dieser Parameter besteht aus drei logischen Gruppen.

  • positiver Wert: dieser Wert wird von dem für die Ladung verfügbaren Überschuss abgezogen, z.B. für den Hausverbrauch (wichtig, wenn man nur die PV-Daten hat zur Überschussberechnung, denn dann muss man einen mittleren Verbrauch des Hauses hier angeben)
  • negativer Wert mit “fester erlaubter Bezug”: dieser Wert wird – als positiver Wert – fest zum Überschuss hinzugerechnet, d.h. was vom Netz zusätzlich bezogen werden darf bei der Ladung. Dies ist bei kleinen Anlagen nett, denn dann kann man auch schon laden, wenn nicht genug PV-Leistung vorhanden ist.
  • negativer Wert mit “max. erlaubter Bezug”: dieser Wert wird – als positiver Wert – zum Überschuss hinzugerechnet, um eine Ladung zu ermöglichen. Es wird hier aber nur die zur Ladung nötige Leistung aus dem Netz genommen, d.h. je mehr die PV an Leistung bringt, desto weniger wird dieser Zuschuss aus dem Netz genommen – wenn überhaupt.

Live-Display (Always-on-Display, z.B. Google Pixel)

… ist nur im Fernsteuer-Modus sichtbar, auf Server und Client, wenn in den Einstellungen erlaubt. Wenn man den Heimspeicher- und/oder Auto-SoC dort nicht sieht, muss man möglicherweise andere Informationen, z.B. Wetter, entfernen, da das AOD nicht immer alle Symbole anzeigt. Beim Pixel geht das über “Einstellungen, Liveanzeige” und dort in deren Einstellungen, … frohen Ausschalten! 😉