go-e Charger+

Der go-e Charger+ (auch go-eCharger HOME+ und HOMEfix genannt) ist ein Typ-2 Charger der Firma go-e in Kärnten / Österreich. Siehe https://go-e.co/produkte/go-echarger-home/ Er ist im Vergleich zu anderen Wallboxen günstig und dank offener Schnittstelle relativ einfach anzusteuern.

Es gibt 2x2 Varianten: mit 11 kW und 22 kW (maximale Ladeleistung) sowie mit oder ohne den Zusatz 'fix'. Modelle mit 'fix' werden direkt an das Stromkabel angeschlossen. Modell ohne 'fix' werden über Steckdosen angeschlossen und sind portabel. Anschluss an roten 16A CEE Stecker beim Modell mit 11 kW und an roten 32A CEE Stecker beim Modell mit 22 kW. Mittels Adapter (Zubehör) kann die portable Fassung auch an 16A CEE blau, 16A CEE rot, 32A CEE blau, T23 oder normalen Schuko-Stecker gesteckt werden. Die Ansteuerung via Loxone ist in allen Fällen gleich.

In Deutschland fördert die KfW nur den go-eCharger HOMEfix 11 kW. In Österreich werden abhängig vom Förderprogramm sämtliche go-eCharger gefördert.

Zugriffsmöglichkeiten

Auf den go-e Charger kann auf unterschiedliche Art und Weise aus dem lokalen Netzwerk lesend/schreibend zugegriffen werden:

  • http - die hier beschriebene Möglichkeit. Hat den Nachteil, dass fürs Lesen der Werte jedes mal wieder ein Request an den go-e Charger abgesetzt werden muss

  • modbus - nur bei V1 der API möglich. Selber Nachteil wie bei http, hat darüber hinaus auch weniger Werte die man lesen/schreiben kann

  • mqtt - z.B. via MQTT Broker im loxberry. Der go-e Charger hat einen MGTT Server eingebaut - d.h. schickt nur bei Änderung die Werte an den MQTT Broker → weniger Traffic. Hat aber den Nachteil, dass die automatische Konversion der Werte (z.B. von W → kW von energy_total für den Eingang in den Wallbox-Baustein) über einen eigenen Baustein in der Loxone config gemacht werden muss (geht bei http über die Korrektur im Virtuellen Eingang Befehl)

Vorbereitung

Folgende Dinge müssen vor Einbinden des go-e Chargers in die Loxone erledigt werden:

  • Standort für go-e Charger bestimmen - dort, wo der go-e Charger hinkommt muss ein ausreichend guter WLAN Empfang sein. Achtung: Garagenwände sind oft nicht WLAN tauglich, die WLAN-Stärke des go-e Chargers ist nicht umwerfend und er hat nur eine Antenne (d.h. verwendet für seinen Accesspoint denselben Channel wie fürs Senden/Empfangen von Daten) → am besten in/neben der Garage einen WLAN Extender oder noch besser WLAN Access-Point einrichten.
    Auch sollte der Standort in der Nähe der Ladestelle des Elektroautos sein - niemand wird mit meterlangen Ladekabeln am Garagenboden glücklich. Fürs Aufhängen von Ladekabeln (und dem Ladestecker) gibts günstige Halterungen.
    Der go-e Charger hat eine Befestigungsplatte, die man leicht an die Wand schrauben kann.

  • go-e Charger kaufen und an den Strom anstecken - der go-e Charger kommt mit einem 32A Stecker - d.h. du brauchst in der Garage einen 32A Anschluss (die großen roten) oder einen Zwischenstecker (auch von go-e erwerbbar). Die Zwischenstecker von go-e stellen sicher, dass über einen z.B. 16A Stecker auch nur 16A Strom gezogen werden können.
    Sobald der Strom da ist, sollten die LEDs des go-e Chargers leuchten.

  • go-e Charger App am Handy installieren - der go-e Charger braucht (zumindest fürs Einrichten) eine Handy-App - siehe Android-App bzw. i-Phone App

  • go-e Charger ins WLAN bringen - der go-e Charger hat einen internen WLAN AccessPoint zum Einrichten. Mit diesem muss man sich per Handy verbinden (SSID "go-e-<letzte Stellen der Seriennummer>") - dann hat man am Handy zwar kein Internet, aber kann über die App den go-e Charger einrichten.
    In der go-e Charger App das Haus-WLAN einrichten: Im Menüpunkt Cloud die SSID und Passwort des Haus-WLANs eingeben

  • dem go-e Charger eine fixe IP Adresse zuweisen - um mit dem go-e Charger kommunizieren zu können, muss man ihm eine fixe IP-Adresse zuordnen. Das geht (leider) nicht über den go-e Charger selbst, sondern nur über den Router: Am Router unter "DHCP Client List" den go-e Charger suchen ("go-eCharger") und dessen MAC-Adresse merken. Dann am Router unter DHCP - Address Reservation oder IP & MAC Binding die MAC-Adresse mit einer fixen IP-Adresse versehen. Nach Restart des Routers und des go-e Chargers sollte er dann immer diese IP Adresse haben.

  • Bei go-e Charger ab Version 3 den Zugriff per http erlauben - die Version ist auf der Rückseite des Gerätes erkennbar. Ab Version v3 muss in der App unter Internet "Aktiviere lokale HTTP API v2" (oder die v1 API) angehakt sein.

Wenn alles passt, dann sollte die API des go-e Chargers auf einem Browser aufrufbar sein: http://<ip-adresse>/status (bei API v1) bzw. http://<ip-adresse>/api/status sollte in etwa folgendes Ergebnis liefern:

Status API V1
{"version":"B","tme":"0806200830","rbc":"10","rbt":"6652152","car":"3","amp":"8","err":"0","ast":"1","alw":"0","stp":"0","cbl":"32","pha":"56","tmp":"0","tma":[20.88,21.12,20.62,20.75],"amt":"32","dws":"0","dwo":"0","adi":"0","uby":"0","eto":"90","wst":"0","txi":"0","nrg":[228,228,228,2,0,0,0,0,0,0,0,0,0,0,0,0],"fwv":"033","sse":"011475","wss":"mywlan","wke":"********","wen":"1","cdi":"1","tof":"101","tds":"1","lbr":"255","aho":"3","afi":"7","azo":"0","ama":"16","al1":"6","al2":"9","al3":"12","al4":"14","al5":"16","cid":"255","cch":"65535","cfi":"65280","lse":"0","ust":"0","wak":"b7665c7ff8","r1x":"3","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"70","ecr":"0","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"C9A694C2","rcr":"","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"E-Niro","rnm":"","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":0,"mce":0,"mcs":"test.mosquitto.org","mcp":1883,"mcu":"","mck":"","mcc":0}



Status API V2
{"rfb":1657,"stao":null,"alw":true,"acu":16,"adi":false,"dwo":null,"tpa":0,"sse":"099931","eto":9482,"wifis":[{"ssid":"","key":false,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"},{"ssid":"","key":false,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"},{"ssid":"<ssid>","key":true,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"},{"ssid":"","key":false,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"},{"ssid":"","key":false,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"},{"ssid":"","key":false,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"},{"ssid":"","key":false,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"},{"ssid":"","key":false,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"},{"ssid":"","key":false,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"},{"ssid":"","key":false,"useStaticIp":false,"staticIp":"0.0.0.0","staticSubnet":"0.0.0.0","staticGateway":"0.0.0.0","useStaticDns":false,"staticDns0":"0.0.0.0","staticDns1":"0.0.0.0","staticDns2":"0.0.0.0"}],"scan":[{"ssid":"<ssid>","encryptionType":3,"rssi":-72,"channel":4,"bssid":"70:69:0E:64:02:44","f":[4,4,true,true,true,false,false,false,false,"AT"]},{"ssid":"<ssid>","encryptionType":3,"rssi":-75,"channel":11,"bssid":"10:27:F5:AC:0C:20","f":[4,4,true,true,true,false,false,false,false,""]},{"ssid":"<ssid>","encryptionType":3,"rssi":-88,"channel":13,"bssid":"4E:66:26:B0:B2:BB","f":[4,4,true,true,true,false,false,false,false,""]}],"scaa":3813,"wst":3,"wsc":0,"wsm":"","wsms":3,"ccw":{"ssid":"<ssid>","encryptionType":3,"pairwiseCipher":4,"groupCipher":4,"b":true,"g":true,"n":true,"lr":false,"wps":false,"ftmResponder":false,"ftmInitiator":false,"channel":4,"bssid":"70:69:0E:64:02:44","ip":"192.168.1.107","netmask":"255.255.255.0","gw":"192.168.1.1","ipv6":["FE80::AA03:2AFF:FE2C:3AEC"],"dns0":"192.168.1.10","dns1":"8.8.8.8","dns2":"0.0.0.0"},"wfb":null,"wcb":"44:69:02:64:70:0F","wpb":["10:27:F5:AC:0C:20","4E:66:26:B0:B2:BB"],"nif":"st","dns":"st","host":"go-echarger_099931","rssi":-64,"tse":false,"tsss":0,"tof":60,"tds":1,"utc":"2022-07-14T10:45:02.563.112","loc":"2022-07-14T12:45:02.563.889 +02:00","led":{"id":2,"name":"Charging","norwayOverlay":true,"modeOverlay":true,"subtype":"schweif","count":1,"speed":21},"lbr":255,"lmo":3,"ama":16,"clp":[6,9,11,14,16],"bac":true,"sdp":false,"lbp":null,"amp":16,"fna":"go-eCharger_099931","cid":"#FF00FF","cwc":"#FFFF00","cch":"#00FFFF","cfi":"#00FF00","ust":0,"lck":0,"sch_week":{"control":0,"ranges":[{"begin":{"hour":0,"minute":0},"end":{"hour":0,"minute":0}},{"begin":{"hour":0,"minute":0},"end":{"hour":0,"minute":0}}]},"sch_satur":{"control":0,"ranges":[{"begin":{"hour":0,"minute":0},"end":{"hour":0,"minute":0}},{"begin":{"hour":0,"minute":0},"end":{"hour":0,"minute":0}}]},"sch_sund":{"control":0,"ranges":[{"begin":{"hour":0,"minute":0},"end":{"hour":0,"minute":0}},{"begin":{"hour":0,"minute":0},"end":{"hour":0,"minute":0}}]},"nmo":false,"fsp":false,"acs":0,"frc":2,"rbc":18,"rbt":20131823,"car":2,"err":0,"cbl":32,"pha":[true,true,true,true,true,true],"wh":1559.071,"trx":null,"fwv":"053.3","ccu":null,"oem":"go-e","typ":"go-eCharger","fwc":"10","lse":false,"cdi":{"type":0,"value":18320787},"lccfi":16395574,"lccfc":19592654,"lcctc":19598823,"tma":[29.625,33.75],"amt":32,"nrg":[229,239,238,6,14.2,0,0,3300,0,0,0,3430,100,0,11,100],"modelStatus":3,"lmsc":19657243,"mca":6,"awc":0,"awp":3,"awcp":{"start":1657792800,"end":1657796400,"marketprice":37.006},"ido":null,"frm":1,"fup":true,"awe":false,"fst":1400,"fmt":300000,"att":28800,"ate":18000,"ara":true,"acp":true,"cco":18,"esk":false,"fzf":false,"sh":200,"psh":500,"po":-300,"zfo":200,"psmd":10000,"sumd":5000,"mpwst":120000,"mptwt":600000,"mmp":0,"tlf":false,"tls":null,"atp":null,"lpsc":null,"inva":null,"pgrid":null,"ppv":null,"pakku":null,"deltap":0,"pnp":0,"deltaa":0,"pvopt_averagePGrid":0,"pvopt_averagePPv":0,"pvopt_averagePAkku":0,"mci":0,"mcpd":0,"mcpea":null,"su":false,"sua":false,"var":22,"loe":false,"log":"","lop":50,"lof":0,"map":[1,2,3],"upo":false,"pwm":0,"lfspt":16395574,"fsptws":null,"spl3":4200,"psm":2,"ocu":["053.3","053.4 BETA","V 053.0 OUTDATED","V 053.1 OUTDATED"],"cwe":true,"cus":3,"ffb":0,"fhz":50.019,"loa":null,"lot":32,"loty":0,"cards":[{"name":"User 1","energy":0,"cardId":true},{"name":"User 2","energy":0,"cardId":false},{"name":"User 3","energy":0,"cardId":false},{"name":"User 4","energy":0,"cardId":false},{"name":"User 5","energy":0,"cardId":false},{"name":"User 6","energy":0,"cardId":false},{"name":"User 7","energy":0,"cardId":false},{"name":"User 8","energy":0,"cardId":false},{"name":"User 9","energy":0,"cardId":false},{"name":"User 10","energy":0,"cardId":false}],"men":false,"msp":502,"data":"{\"i\":120,\"url\":\"https://data.v3.go-e.io/data?e=j7mNpMtmxD07Y40l0zKf4CeJPwVIjfnSZH2KtsBvrLe8ntZ9BtR_gvQIzJyvAICTPIMGFDF5CU70bv9seLPykFdG1kiXI9A\"}","dll":"https://data.v3.go-e.io/export?e=_wPvpMIpT01GtbqXKj9-ZcOdNE_tWgwiyfYsv3VD5CAgoA5wuzNTq6EIOdjXFvHHS3ZOwGqCNH2U","hai":true,"hla":false,"mce":true,"mcu":"mqtt://<user>:<password>@<url>:1883","mcr":false,"mtp":"/go-eCharger/099931/","mcs":true,"mcc":true,"mcca":7898765,"mlr":"error_type=MQTT_ERROR_TYPE_TCP_TRANSPORT connect_return_code=MQTT_CONNECTION_ACCEPTED","mlra":7883746,"ocppe":false,"ocppu":"ws://echo.websocket.org/","ocpps":false,"ocppc":false,"ocppca":null,"ocppa":false,"ocppaa":null,"ocpph":3600,"ocppi":0,"ocppai":0,"ocppd":"no-card","ocpplea":null,"ocpple":null,"ocpprl":false,"lri":null,"lrc":null,"lrr":null,"cmse":false,"cmmr":20,"cms":"_go-e_controller","cmp":"_tcp","lcs":0,"csa":false,"ctrls":null,"ccd":null}

Die Dokumentation der API-Keys des go-e Chargers findet man unter https://github.com/goecharger/go-eCharger-API-v1/blob/master/go-eCharger%20API%20v1%20DE.md (V1) bzw. https://github.com/goecharger/go-eCharger-API-v2/blob/main/apikeys-de.md (V2).

go-e Charger mit Loxone verbinden

Die Templates VO_go-e charger.xml und VI_go-e charger.xml für V1 bzw. VO_go-e charger V2.xml und VI_go-e charger V2.xml laden und unter C:\ProgramData\Loxone\Loxone Config <version>\Templates\VirtualOut bzw. ...\VirtualIn speichern. Dann die Config starten. In der Loxone Config Miniserver / Virtuelle Eingänge auswählen und über den Ribbon "Vordefinierte HTTP-Geräte" den "go-e charger" laden. Dasselbe unter Virtuelle Ausgänge.

Danach muss noch bei beiden die URL angepasst werden:
Miniserver / Virtuelle Eingänge / go-e charger: http://<ip-adresse>/status bzw. http://<ip-adresse>/api/status
Miniserver / Virtuelle Ausgänge / go-e charger: http://<ip-adresse>
ACHTUNG: kein https und sonst auch nix dazuschreiben!
Die restlichen Werte (Abfragezyklus, Timeout, Anzahl erlaubte Timeouts bzw. Verbindung nach Senden schließen, Trennzeichen, Befehl bei Verbindungsaufbau) könnt ihr so (meist leer) lassen. 10s Abfragezyklus ist nicht zu hoch.

Nach dem Speichern in den Miniserver sollten unter Virtuelle Eingänge dann Daten zur Verfügung stehen bzw. über Virtuelle Ausgänge Daten geschrieben werden können.

Werte lesen und schreiben

Die virtuellen Ein- und Ausgänge können direkt in der Loxone Config verbunden werden und ihre Werte über die Logik gesetzt bzw. ausgelesen werden. Die entsprechenden Befehle bzw. das Parsen der Antwort bzw. das Umwandeln von Werten in die passenden Wertbereiche ist in den Ein- und Ausgängen bereits fertig umgesetzt. Es sind derzeit nur folgende Ein- und Ausgänge in den Templates umgesetzt - bei Bedarf können weitere gerne mit aufgenommen werden (welche es gibt, siehe Dokumentation der API des go-e Chargers):

Eingänge:

  • energy_total - gesamt (d.h. bei allen Ladungen bisher) geladene Energiemenge in kWh

  • energy_current - bei aktuellem Ladevorgang bisher (oder bei letztem Ladevorgang) geladene Energiemenge in kWh

  • status - status des go-e Chargers (0 - Ladestation inaktiv, 1 - Ladestation bereit, kein Fahrzeug, 2 - Fahrzeug lädt, 3 - warte auf Fahrzeug, 4 - Ladung beendet, Fahrzeug noch verbunden) 

  • energy - aktuelle Ladeleistung in kW

  • charge_limit - aktuelle Ladebegrenzung in Ampere

  • unlocked_by - Nummer der RFID-Karte, die für die Ladung benutzt wurde oder 0, wenn ohne RFID-Karte

  • ampere phase 1, ampere phase 2, ampere phase 3 - Ampere je Phase (sinnvoll zur Berechnung der Anzahl an verwendeten Phasen)

  • error - Fehler (siehe Dokumentation)

Ausgänge:

  • allow_charging - soll geladen werden oder nicht

  • charge_limit - gewünschte Ladebegrenzung in Ampere

Mit Wallbox Baustein verbinden

In den meisten Fällen wird man die Werte mit dem Wallbox Baustein in der Loxone Config verbinden wollen.

Dieser Baustein dient dazu die Wallbox in der App zu visualisieren bzw. Soll-Werte für die Wallbox zu definieren bzw. manuell zu überschreiben.

Vom Baustein gibt es drei Versionen, eine ursprüngliche Version vor Loxone Config 13.1 (welche im folgenden beschrieben wird), in den neueren Loxone Config Versionen ab Version 13.1 sind die Bausteine “Wallbox Gen. 1” und “Wallbox (Wb2)” verfügbar.

Infos zum neuen Wallbox-Baustein gab es von Loxone im Blogbeitrag zur Loxone Config 13.1.

Neben den Bezeichnungen haben sich auch generell verschiedene Funktionsweisen geändert, die wichtigsten Eingänge und Ausgänge lassen sich dennoch laut folgenden Tabellen nutzen.

Tabelle zur Übersicht der Wallbox Bausteine und Bezeichnungen in der Loxone Config

 

Relevante Eingänge

Bis Loxone Config v13.0

Ab Loxone Config v13.1

Bis Loxone Config v13.0

Ab Loxone Config v13.1

Wallbox

Wallbox Gen. 1

Wallbox (Wb2)

Ie

Act

Ec

Ic

Vc

Vc

Alc

Cp

Cp

Ale

E

Mr

AII

Cpl

Lm<x> (Limit for charging mode x)

As

Sc

 

Ip

Profile

Sm<x>

Relevante Ausgänge

Bis Loxone Config v13.0

Ab Loxone Config v13.1

Bis Loxone Config v13.0

Ab Loxone Config v13.1

Wallbox

Wallbox Gen. 1

Wallbox (Wb2)

Q1

Ac

Ca

AQl

Cpl

Tp

Bezeichnungen im folgenden für Loxone Config bis v13.0.

Für die Bezeichnungen der Config ab v13.1 müssen weitergehende Änderungen an diesem Wiki und den Screenshots vorgenommen werden.

Folgende Parameter müssen dabei gesetzt werden:

  • Verknüpftes Ladestationsgerät - nicht verknüpfen, da der go-e Charger nicht verknüpfbar ist

  • Profilnamen - wer mittels RFID Karte tracen will, wer wieviel geladen hat, kann hier 2 Profile eingeben, die dann mittels Ip ("Profil") Eingang aus unlocked_by ("uby") vom go-eCharger gesetzt werden (der go-eCharger kennt wesentlich mehr Profile, hier muss auf 2 gruppiert werden)

  • Lm ("Limitierungsmodus") - auf 2 setzen, wenn z.B. je nach Überschuss der Eigenstromerzeugung stärker oder weniger stark geladen werden soll

  • Lr ("Limitierungsmodus beibehalten") - nur anhaken, wenn eine Übersteuerung der Limitierung durch die Loxone-Visualisierung auch fürs nächsten Laden beibehalten werden soll 

  • As ("Automatischer Ladebeginn") - auf 1 setzen, wenn auch das über die Loxone gesteuert werden soll (über Eingang Ie)

Wallbox Baustein mit Logik beschalten

Folgende Eingänge des Wallbox Bausteins eignen sich für die Beschaltung mit Logik → intelligentes Laden des Autos:

  • Ie ("Enable") - zum Starten/Beenden einer Ladung (solange der und auch Ic ("Connected") gesetzt ist, wird geladen. Am besten hier einen Merker (hier "Laden") verknüpfen, der mit entsprechender Intelligenz gesetzt wird. Beispiel dafür siehe go-e Charger+#Intelligent Laden mit intelligenter Ladeleistung.

  • Ic ("Connected") - mit einem Statusbaustein verbinden (siehe rechts), der aus dem Status des go-eChargers ("car") erkennt, ob das Auto angesteckt ist (Achtung: der Status 3 - "Warte auf Fahrzeug" - heißt, das Fahrzeug ist eingesteckt aber die Wallbox liefert keinen Strom - d.h. sollte eigentlich "Warte auf Freigabe" heißen)

  • AIc ("Power") - zum Darstellen der aktuellen tatsächlichen Ladeleistung → mit dem virtuellen Eingang energy ("nrg" - Xter Wert) verbinden

  • AIe ("Energy") - zum Darstellen der gesamten bisherigen Ladeleistung (über alle Ladungen hinweg) → mit dem virtuellen Eingang energy_total ("eto") verbinden

  • AIl ("Limitation") - zum Setzen der Ladeleistung (wenn Q1 ("Ladevorgang aktiv")). Am besten hier einen Merker (hier "Ziel Ladeleistung") verknüpfen, der mit entsprechender Intelligenz gesetzt wird. Achtung: Loxone arbeitet immer mit kW, der go-eCharger aber mit Ampere. Beispiel für intelligente Berechnung der Ladeleistung siehe go-e Charger+#Intelligent Laden mit intelligenter Ladeleistung.

  • Ip ("Profile") - zum Setzen des aktuellen Ladeprofils → mit dem virtuellen Eingang unlocked_by ("uby" (V1) bzw. "trx" (V2)) verbinden

 

go-eCharger mit Wallbox Baustein steuern

Der Wallbox Baustein in der Loxone Config zeigt jetzt, wie der go-eCharger agieren soll. Jetzt muss nur mehr der go-eCharger vom Wallbox Baustein angesteuert werden. Achtung: zuerst ausprobieren, damit hier nicht potentiell falsche / schädliche Werte gesetzt werden (z.B. Ladeleistung, die der Schütz nicht liefert oder ständiges Ein/Aus beim Laden)

  • Q1 ("Ladevorgang aktiv") - soll geladen werden oder nicht → mit dem virtuellen Ausgang allow_charging ("alw" (V1) bzw "frc" (V2)) verbinden

  • AQl ("Ladebegrenzung") - auf wieviel kW soll die Ladung begrenzt werden → über eine Logik von kW auf Ampere umrechnen und dass dann an den virtuellen Ausgang charge_limit ("amp") hängen , oder über virtuellen Ausgang "amx", für neuere Firmware (nur bei V1).
    Hinweis: Die Umrechnungslogik muss auch die Anzahl der Phasen kennen. Dafür sind folgende Bausteine nötig:

    • Statusbaustein zum Erkennen der Anzahl Phasen



    • Formelbaustein zur Umrechnung kW und Phasen auf Ampere mit folgender Formel: INT(I1/0,23/I2)

Lösungen zum intelligenten Laden

Einfache Lösung zum Laden mit Solarstrom

Die Idee hinter diesem Beispiel ist eine einfache Lösung, um das Auto bevorzugt mit selbst produziertem Strom zu laden.

Voraussetzung:

  • Selbst produzierter Strom (z.B. über eigene Solaranlage)

  • Stromzähler in Loxone eingebunden (z.B. via Zählerinterface IR Air oder Modbus Energiezähler)

  1. Den Baustein ''Energiemanager' verwenden bzw. neu anlegen. Dort an den Eingang 'Alp' die aktuelle Leistung aus dem Stromzähler (negative Werte = Überschuss) und an 'Alb' den virtuellen Eingang 'energy' (nrg) des go-eChargers verbinden.

  2. Der Ausgang 'AQr' des Energiemanagers wird verbunden mit dem Eingang 'AIl' des Wallbox Bausteins. 

  3. Weitere Schaltung wie oben angegeben.

In der App kann dann über die Ladebegrenzung jeweils zwischen Intelligent (nur selbstproduzierten Strom laden), Maximum (möglichst schnell laden) oder Manuell gewechselt werden.

Hinweis: Der Energiemanager Baustein kann auch andere Verbraucher ansteuern (Ausgängen Q1-Qx z.B. einen Heizstab). Um die Wallbox hier in der Priorität aller Verbraucher einzuordnen, kann einer der Ausgänge den Eingang 'Ie' der Wallbox schalten. 

Komplexe Lösung mit intelligenter Ladeleistung 

Die Idee hinter folgendem Beispiel ist eine maximale Batterielebensdauer bei minimalen Stromkosten:

  • Batterielebensdauer wird maximiert, wenn die Ladung immer möglichst um 50% liegt und das Auto nur kurze Zeit 100% vollgeladen ist

  • Stromkosten werden minimiert, wenn dann geladen wird, wenn die Photovoltaik gerade Überschuss produziert (oder sonstwie der Strom gerade sehr günstig ist)

Voraussetzung:

  • Selbst produzierter Strom (z.B. über eigene Solaranlage)

  • Stromzähler in Loxone eingebunden (z.B. via Zählerinterface IR Air oder Modbus Energiezähler)

  • Ladenstand des Autos (SOC) bekannt. (z.B. über API des Herstellers)

Darum folgender "Algorithmus": 

  • Wenn Betriebsmodus "Auto volladen", dann mit maximaler Ladeleistung volladen ("Laden" = ein und "Ziel Ladeleistung" = 16A)

  • Ansonsten wenn Betriebsmodus "Auto Erhaltungsladen", dann mit minimaler Ladeleistung bis X% laden ("Laden" = ein und "Ziel Ladeleistung" = je nach Stromüberschuss 6..16A)

  • Ansonsten wenn Stromüberschuss, dann je nach Stärke des Stromüberschusses mit passender Ladeleistung bis X% laden ("Laden" = ein wenn Stromüberschuss, "Ziel Ladeleistung" = je nach Stromüberschuss 6..16A)

X% ist so gewählt, dass typische übliche Wege zu einem Ladestand von 100-X führt, also die Ladung immer um 50% liegt (also z.B. bei X=60% sollte ein üblicher Weg 20% der Reichweite des Autos ausmachen und zu einem Ladestand von 40% führen). Der Betriebsmodus "Auto volladen" wird manuell (in der App) oder durch Logik (z.B. mittels CalDAV-4-Lox aus dem Kalender abgerufen) an Abreisetagen zu längeren Fahrten gesetzt, "Auto Erhaltungsladen", dann wenn typische übliche Wege anstehen.

Beispiel: Fahrt zur Arbeit Mo - Do benötigt 20% der Reichweite → X=60, "Auto Erhaltungsladen" Mo - Do. Fahrt in den Urlaub über 90% der Reichweite am 20.1. → "Auto volladen" am 20.1. In beiden Fällen wird dann ab Mitternacht der nötige Rest geladen.

Anmerkungen:

  • Das Beispiel ist auf ein 1-phasiges Laden bis max. 16A ausgelegt. Hat man ein Auto, das 2- oder 3-phasiges Laden unterstützt, so muss der "Ladeleistung" Statusbaustein um die entsprechend möglichen Werte ergänzt bzw. geändert werden. Hat man die Möglichkeit mit z.B. 32A zu laden, dann muss der "6..16" Analogbegrenzer auf 6..32 eingestellt werden.

  • Der "Ladeleistung" Statusbaustein errechnet die gewünschte Ladeleistung - siehe rechts. Damit nicht so oft ein-ausgeschalten wird, wird erst bei einem Überschuss (AI1) von X+0,12kW die Ladeleistung von X angelegt (die Werte in der ersten Wert-Spalte sind um 0,12 höher als der Statuswert)

  • Die Beschränkung auf X% (AI2) funktioniert nur, wenn die aktuelle Ladung (SOC = state of charge) des Autos in der Loxone bekannt ist - ansonsten müsste sie manuell im Auto / in der App des Autos gesetzt werden

  • Der Merker "Wallbox" wird gesetzt, wenn die allgemeine Stromüberschusslogik des Hauses (über die auch andere variabel einschaltbare Verbraucher gesteuert werden) das Laden des Autos freigibt. Hat man selbst keine solche Stromübschusslogik implementiert, so setzt man "Wallbox" einfach dann, wenn die "Möglichkeit" > als die minimale Ladeleistung ist.

  • Der Statusbaustein "Ladetypus" liefert den Typus (volladen, erhaltungsladen, nicht laden)

  • Geladen wird nur, wenn die gewünschte Ladeleistung >= 6A ist (">=6A?" Formelbaustein mit SIGN(I2/I1 - 1,379) da hier auch kW → A Umrechnung stattfindet)

  • Die Ladeleistung wird bei Tageslicht alle 2 min. geprüft ("alle 2 min." Impulsgeber und Analogspeicher) - das ist nötig um ein ständiges Ändern der Ladelogik oder ob überhaupt geladen wird zu verhindern.

  • Falls geladen wird, so bleibt die Ladeleistung solange auf zumindest niedrigstem Ladeniveau erhalten, bis der Stromüberschuss einen gewissen (negativen) Schwellwert unterschreitet (d.h. es wird auch noch weiter geladen, wenn ein Teil der Ladung aus dem Netz gezogen wird) - das ist notwendig, damit nicht bei z.B. wechselnder Bewölkung alle 2min geladen und wieder nicht geladen wird, was der Wallbox & Ladeelektronik schaden könnte (siehe Tipps & Tricks und Probleme) (Ladeleistung Statusbaustein)

  • Falls nicht geladen wird, oder die gewünschte Ladeleistung unter 6A sinkt, so bleibt die Ladeleistung bei 6A ("6A if not charging" Formelbaustein mit I1*SIGN(I2) und "6..16" Analogbegrenzer), damit wird nicht ständig die Ladeleistung geändert, wenn es gar nix bringt

Tipps & Tricks und Probleme

  • Die V1 und V2 der API unterscheiden sich nicht nur bei der Anzahl der Werte (V2 kann viel mehr - z.B. Umschalten zwischen 1- und 3-phasigem Laden), einige der Werte haben sich auch vom Namen geändert. Auch sind ein paar Werte in V1 unter Anführungszeichen, in V2 aber nicht.

  • Benutzt die für die dynamische Ladebegrenzung wie oben angegeben amx (nur V1), nicht amp. Amx ist nicht persistent, also für häufige Änderungen wie beim dynamischen Laden gedacht. Hingegen schreibt amp auf den internen Flash-Speicher. Go-e garantiert hier nur bis 100.000 Schreibzyklen.

  • Die Ladeverluste (Leitungsverluste zur Wallbox, Verluste durch Gleichrichtung) sind am höchsten, wenn langsam geladen wird (bei mir 27% Verlust bei 1,38kW - es kommt also nur 0,99kW im Akku an - und 17% Verlust bei 3,68kW)
    → nur bei Überschussproduktion durch Photovoltaik macht es Sinn mit weniger als der maximalen Ladeleistung zu fahren - im Beispiel oben sollte daher bei Erhaltungsladen auch mit dem Maximum geladen werden

  • Um die Stromkosten noch weiter zu senken kann man natürlich das Auto auch durch günstigen (Photovoltaik-Strom) zu mehr als X% laden. Damit das Auto aber nicht zu lange voll geladen steht (bei Gelegenheitsfahrern), kann man dazu noch die Wettervorhersage beobachten oder z.B. mittels solcast den PV-Ertrag der nächsten Tage abschätzen und je nach Fahrgewohnheiten z.B. erst am Tag vor Schlechtwetter das Auto voller als X% laden. Der Phantasie sind dabei natürlich keine Grenzen gesetzt

  • Wenn die Netzwerkverbindung für einige Zeit unterbrochen ist, z.B. weil das WLAN ausfällt, lädt der Go-eCharger das Auto mit maximaler Leistung weiter. Das kann ärgerlich sein, etwa wenn man das Auto nur mit PV-Überschuss laden möchte. Das lässt sich aber ändern: In der Go-eCharger App auf dem Handy unter Einstellungen > Lastmanagement das 'Lastmanagement aktivieren' und dann ganz unten bei 'Max- Strom im Fallback-Modus' auf '0A' einstellen. Damit stoppt die Wallbox das Laden, wenn die Verbindung ins Netz/zur Cloud unterbrochen ist. Diese Funktion des Lastmanagement klappt auch mit nur einer Wallbox.