Hallo,
nach einigen Tagen Tüftelei habe ich den ersten Aufschlag meines Workflow zum KI gestützen optimierten Laden des E-Autos fertig. Ich habe dafür die Verbindung von Homeassistant und N8N genutzt. Der Trigger für den Start kommt aus Homeassistant. Trigger sind “Ladekabel wird mit dem Auto verbunden” , “Änderung der vorgegebenen Ladestrategie”, “durch die KI ermittelten optimalen Zeitpunkt für den Ladestart” und “Wechsel von Strombezug zu Netzeinspeisung” Homeassistant schickt die Trigger als “MQTT-publish” an N8N. Zunächst wird dann im ersten Schritt Datum und Zeit aus Homeasistant ausgelesen. Der darauf folgende AI Agent Ladestrategie auswählen, analysiert dann die zur Verfügung stehenden Daten für die Ladestrategie. Hierfür werden einige wenige Werte aus Homeassistant ausgelesen. Im nächsten Schritt werden aus der influxdb mittels http Abruf historische Daten bzgl. der PKW Reichweite abgerufen. Diese Daten werden an den “KI Agenten Auto optimieren” übergeben. Hier werden aus Homeassistant die erforderlichen Ist-Werte des PKW ausgelesen, durch vorgegebene zu erreichende Reichweiten wird dann der Ladebedarf berechnet. Im nächsten Schritt werden erneut aus der Influxdb historischen Daten zu PV-Stromerzeugung, Strombezug, Netzeinspeisung, Batteriespeicherdaten usw ausgelesen und alle Daten an den “KI Agenten Prognose Solarertrag” übergeben. Der liest dann aus Homeassistant die aktellen Sensoren für Helligkeit, Helligkeit aus Südrichtung und Westrichtung , Wetterbericht, Wetterprognose und PV Prognose aus. Ziel ist es die optimierte PV Prognose aus historischen Daten und Wetterberichten zu erhalten. Die gesamten Daten werden dann an den “KI Agenten optimiertes Laden” übergeben, der die Iststromwerte (PV, Netz, Batterie, Verbraucher) aus Homeassistant ausliest. Dazu den Strombezugspreis, den vorgegeben PV Strompreis ausliest und so auf Basis des kalkulierten Netzstrombezugs und der PV-Produktion sowie der Lademenge einen durchschnittlichen Preis ermittelt und die zu erwartenden Kosten des Ladevorgangs und diese mit dem zu erwarteten Strombezug und -verbrauch zu optimieren. Als nächstes rechnet der “KI Agent Wallbox steuern” die daraus resultierende Ladeleistung der Wallbox und den optimalen Ladezeitpunkt aus. Es werden zwei Werte erzeugt: “Ladeleistung” und “Ladedatum und Zeit”. Beide Werte jeweils an die beiden angeschlossenen “KI Agenten für Ladezeit und Ladeleistung” gegeben, die nur noch die Aufgabe haben die Werte zu trennen und jeweils weiter zu reichen. Liegt der Startwert in der Zukunft (also kein sofortiger Start) wir der Startzeitpunkt an Homeassistant übergeben, so dass Homeassistant erneut zum richtigen Zeitpunkt einen Starttrigger senden kann. Die Wallbox wird in diesem Fall nicht eingeschaltet. Soll sofort gestartet werden, wird die richtige Ladeleistung an Homeassistant geschickt und die Wallbox mit der Ladeleistung gestartet. In diesem Fall wird ein Vergangenheitswert an Homeassistant übermittelt, damit nicht neu getriggert wird. Der Prozess läuft dann in eine 5 Minuten Schleife um die Prognose mit den Istwerten anzupassen und ggf. zu korrigieren.
Ich muss das Ganze jetzt natürlich noch testen, und Fehler identifizieren und Verbesserungen einbauen. In der Weiterentwicklung plane ich folgende Ergänzungen/Entwicklungen:
Zugriff auf Calender (idealer weise ein homeassistant Kalender) in dem die wesentlichen Fahrstrecken (Orte zu den ich fahren muss) abgebildet werden
-
Einbinden von google maps oder einer anderen Routingapplikation um auf Basis der Kalenderdaten die erforderlichen Strecken zu kalkulieren
-
Anhand der Strecken den Verbrauch ermitteln
-
Ziele die weit sind, aber eine Fahrt zu einem Bahnhof oder Flughafen im Kalender eingetragen sind, müssen so kalkuliert werden, dass nur die Strecke bis zum Flughafen bzw. Bahnhof kalkuliert werden, weil die weitere Strecke dann mit Bahn oder Flugzeug erfolgt
-
Urlaubsabwesenheiten müssen eingeplant werden und zwar nach Urlaub zu Hause und Urlaub unterwegs, wenn Urlaub unterwegs muss das Auto vorab auf einen Batteriladestand von um die 80% gebracht werden um die Batterie zu schonen.
-
Langstreckenoptmierung; Einbindung von Ladestellenbetreibern (Shell, EnBW, EVE, Ionity, Electroverse) für Fahrten, die die maximale Reichweite überschreiten, hier soll das System Ladestation unterwegs suchen die günstig sind und auf der Basis eine Routen-Ladestrategie erarbeiten und vorschlagen
-
Einbindung des Ladepreises bei der Arbeit um zu entscheiden ob und wann eher bei der Arbeit oder zuHause zu laden ist.
-
Optimierungspfade für optimiertes laden (Winter), erzwungenes Laden (bis zum vorgegeben Ladelevel) und laden mit Nulleinspeisung (Sommer) integrieren
-
weitere influxdb abrufe prüfen
-
Obsidian einbinden um ggf. Prompts über Obsidian zu ändern
Bei Fragen und Anregungen, immer gerne
Gruß
Elmar