Im Beitrag Energiemanagement mit Loxone – Wallbox habe ich beschrieben, wie ich den Loxone Energiemanager zum intelligenten Laden meines MG4 mittels SMA Wallbox verwende. Während die dort beschriebenen Mechanismen nach wie vor im Einsatz sind, habe ich seitdem zwei wichtige Erweiterungen vorgenommen: Erstens habe ich einen weiteren Lademodus definiert, der die Nutzung selbst erzeugter Energie maximiert, indem optional ein Teil der Energie aus dem Heimspeicher zugeführt wird. Zweitens habe ich eine Komfortfunktion umgesetzt, mit der ich den gewünschten Ziel-Akkustand (State of Charge, SoC) des Autos festlegen kann, bei dem der Ladevorgang automatisch endet. Beide beschreibe ich in diesem Beitrag.
Optimierung des Eigenverbrauchs
Der MG4 unterstützt in der Standard-Variante nur einphasiges AC-Laden, so dass ich auch bei voller Sonneneinstrahlung nur mit maximal 4,6 kW laden kann (für Details siehe Energiemanagement mit Loxone – Wallbox). Der Ladevorgang dauert also relativ lang, und die überschüssige PV-Energie füllt also den Heimspeicher, der dadurch an Sommertagen relativ schnell gefüllt ist, zumal wenn er morgens ohnehin noch vom Vortag bei 60% steht. Mein Ziel war es, bereits vor den sonnenreichen Stunden das Auto mit mehr Energie zu laden, dabei den Heimspeicher bis zu einem Mindestniveau zu entladen, und damit die Nutzung der selbst produzierten Energie zu maximieren, ohne dabei Strom aus dem Netz zu beziehen, falls der Vormittag doch weniger Sonnenenergie liefert als vermutet. Gleichzeitig sollte auch bei zwischenzeitlicher Bewölkung der Ladevorgang – anders als beim reinen Überschussladen – nicht gedrosselt oder unterbrochen, sondern diese Phase über den Heimspeicher überbrückt werden.
Sämtliche Informationen, die ich dazu brauchte, waren bereits im Miniserver vorhanden – es fehlte nur an der passenden Berechnung der Ladeleistung. Ich erstellte zunächst einen 2-Auswahltasten-Baustein, mit dem ich über die Loxone App das Mindest-Niveau des Heimspeichers einstellen konnte:

Die Idee für die Ladeleistung: Bei geringer PV-Produktion sollte Leistung aus dem Heimspeicher zugeführt werden, ohne dass dieser sich unter das eingestellte Niveau entlädt. Bei Annäherung an dieses Mindest-Level sollte die Ladeleistung allmählich abnehmen und bei Anstieg der PV-Produktion dann wieder steigen. In meiner aktuellen Umsetzung ist das Limit für die aus dem Heimspeicher entnommene Leistung genau 1 kW pro 10 Prozentpunkte, die der aktuelle Füllstand über dem Sollwert liegt. Dies habe ich über einen separaten Energiemanager-Baustein umgesetzt, der wie folgt konfiguriert ist:

Wichtig ist hier der Eingang O (Offset Grid Power). Dieser legt fest, wieviel Leistung aus dem Netz oder dem Batteriespeicher entnommen werden darf. Dieser Energiemanager-Baustein liefert die Ladeleistung für den neuen Lademodus „Max Sonne“ am Wallbox-Baustein und optimiert so der Eigennutzung des produzierten PV-Stroms, auch bei geringer Ladeleistung des Fahrzeugs, insbesondere im Frühjahr und im Herbst.
Ziel-Akkustand: Laden bis 80%
Um den Akku des Autos zu schonen, solange man keine längeren Strecken fährt, lautet eine verbreitete Empfehlung, diesen nur bis 80% aufzuladen. Unser MG4 hat praktischerweise direkt eine Funktion eingebaut, die bei Erreichen des Akkustands von 80% den Ladevorgang beendet. Einziges Problem: Sie funktioniert nicht. Egal, welche Einstellung ich gewählt habe, am nächsten Morgen war das Auto grundsätzlich auf 100% geladen. Mein anfänglicher Workaround beim Laden über Nacht: Im Wallbox-Baustein der Loxone-App eine konstante Ladeleistung festlegen, nach einiger Zeit in der MG-App1 die Uhrzeit für das voraussichtliche Ende des Ladevorgangs (bei 100%) ablesen und in der Loxone-App die Ladeleistung soweit absenken, dass dieses erst am späten Vormittag erreicht wird. Dann konnte ich nach dem Aufstehen den Akkustand ablesen und den Ladevorgang manuell beenden. Das war leider weder komfortabel noch „smart“.
Wenn der Miniserver den aktuellen Akkustand des MG4 kennen würde, könne er bei Erreichen des gewünschten Levels den Ladevorgang automatisch beenden. Während beim DC-Laden über den CCS-Stecker der Ladestand (State of Charge, SoC) des Fahrzeugs an die Ladestation übermittelt wird, ist das beim AC-Laden über Typ2-Stecker nicht möglich. In diesem Fall kennt nur das Fahrzeug und ggf. die zugehörige App den SoC. Aber wo eine App ist, muss ja auch eine API sein (wenn auch vermutlich eine private). Genau wie zuvor bei der Suche nach einer Wallbox-Anbindung für Loxone brachte eine Internet-Recherche einige Ansätze zutage, insbesondere die GitHub Organisation SAIC iSmart API, die das Kommunikationsprotokoll zwischen MG-App und den Servern des Herstellers rekonstruiert und verschiedene kompatible Clients entwickelt haben, darunter eine Python-Bibliothek, eine Java-Bibliothek, ein Home Assistant Add-On sowie ein MQTT Gateway.
Wie bereits in früheren Beiträgen beschrieben nutze ich zwar Home Assistant, aber in der Container-Variante, die keine Add-Ons erlaubt, sondern nur Integrationen. Und eine eigene Integration zu entwickeln hatte sich ja bei der Wallbox schon als der falsche Weg herausgestellt. Da ich zur Integration meines Smart Locks aber seit Kurzem ohnehin einen MQTT-Broker im Einsatz hatte, erstellte ich schnell ein Docker Compose File für das SAIC Python MQTT Gateway und trug dort die Zugangsdaten zur MG-App sowie zum MQTT Broker ein. Kurze Zeit später war der MG4 in Home Assistant verfügbar.
Update Januar 2025: Seit Anfang Dezember 2024 kann der Miniserver mit Loxone Config und App Version 15.3 selbst als MQTT Client fungieren – der Weg über Home Assistant ist also nicht mehr zwingend erforderlich. Außer, man nutzt wie ich einen Miniserver Gen 1. Der kann nämlich auch mit Version 15.3 kein MQTT.
Für die Weitergabe von geänderten Werten an den Miniserver hatte ich bereits für die Überwachung meiner Wärmepumpe eine komfortable Lösung gefunden, also musste ich nur einen passenden Eingang in der Loxone Config anlegen, dessen UUID in meinem customize.yml mit der passenden Entity verknüpfen, und diese als Auslöser für meine Automation hinzufügen.
sensor.lsjwhxxxxxx_soc:
loxone_uuid: '1da03de4-010c-09c1-ffff7f08837d3b2d'
Zur Festlegung des Zielwerts verwende ich genau wie für den Heimspeicher einen 2-Auswahltasten-Baustein mit 10%-Schritten.

Um den Ladevorgang bei Erreichen des Zielwertes zu beenden, vergleiche ich den aktuellen SoC-Wert des MG4 mit dem Zielwert und leite das Ergebnis an den Ec-Eingang (Enable charging) des Wallbox-Bausteins. Das schien mir zunächst etwas drastisch, tut aber zuverlässig genau das, was es soll:

Damit kann ich im Normalfall das Auto immer auf 80% laden und vor langen Fahrten den Sollwert einfach auf 100% anpassen.
- …die zudem die Einschränkung hat, dass ein Fahrzeug immer nur mit exakt einem MG Account verknüpft, und auch ein MG Account immer nur an exakt einem Mobilgerät eingeloggt sein kann. Wenn man sein Auto also nicht allein verwendet, ist die Chance hoch, dass man sich erst neu einloggen muss und damit andere Familienmitglieder aus ihrer App ausloggt. ↩︎
Ein Kommentar zu „MG4 intelligent laden mit Loxone und Home Assistant“