Laden nach PV Überschuss ohne Zusatzhardware

Nachdem ich lange gesucht und nichts gefunden habe, habe ich vor ein paar Tagen ein Projekt begonnen: Laden eines Model 3 nach PV Überschuss mit einer beliebigen Wallbox, ohne Zusatzhardware. Da ich dachte es ist für einige hier interessant, habe ich die Software nun so umgebaut, dass sie auch für andere außer mir nutzbar ist:

Voraussetzung ist eine TeslaMate Installation incl TeslaMate API und ein Smart Meter, welches einen REST Endpunkt bereitstellt, der die Überschussleistung in Watt zurückgibt. Die Software ist in einer sehr frühen kaum getesteten Phase, funktioniert bei mir daheim aber schon recht gut. Aktuell gibt es zwei Modi:

  1. MaxPower: Es wird mit maximaler Leistung geladen
  2. PVOnly: Es wird nur mit PV Strom geladen

Als nächstes ist geplant das SMA Energymeter (ist auch im SunnyHomeManager 2.0 integriert) anzubinden. Alles weitere wird sich zeigen. Da es sich hier ausschließlich um ein privates Projekt handelt und ich das in meiner Freizeit mache, kann sich die Entwicklung natürlich etwas hinziehen.

29 „Gefällt mir“

Ich hab sowas ähnliches als Modul für die openWB in der Entwicklung. Schön zu sehen das der Gedanke nicht nur mir im Kopf geistert

2 „Gefällt mir“

Kleine Ergänzung: Es würde mir sehr helfen, wenn hier up gevotet wird: Add charge_current_request and charge_current_request_max to MQTT topics · Discussion #2412 · adriankumpf/teslamate · GitHub

Das wäre noch eine wichtige Voraussetzung, um das Einstellen der Ampere zu verbessern, insbesondere bei unterschiedlichen max Ampere je Fahrzeug + Wenn die Wallboxen das Lastenmanagement übernehmen sollen.

1 „Gefällt mir“

Habe ich auch erst überlegt, ob ich das mache, aber in C# war ich einfach schneller und ursprünglich war’s nur für mich gedacht. War dann allerdings kaum Aufwand nochmal umzubauen und ich dachte mir vll hilft’s ja jemandem und sei es nur als Codevorlage :wink:

1 „Gefällt mir“

SMA Plugin ist fertig und Konfigurationsanleitung in der README ergänzt. Bei Fragen und Problemen, gerne auf mich zukommen. Und: Einen PayPal Donate Button gibt’s jetzt auch :wink:

Nächstes Ziel ist eine Möglichkeit einzustellen, dass zur Uhrzeit xx:xx mindestens y% im Akku sind.

1 „Gefällt mir“

Wenn man schonmal dabei ist Feedback zu geben, Dockerhub schlägt ja wie immer vor MultiArch zu bauen. Du hast in den GitHub Actions die du bisher nutzt nur ARM64 und AMD64 drin. So unwahrscheinlich wie es auch ist, da wäre ne Idee noch normales ARM (also 32Bit) reinzupacken welches alte Raspberries noch hatten. Eventuell sogar alles was Teslamate bietet. Dürfte nix weiter sein als die Actions anzupassen, C# compiled ja auf alles.

Ein weiterer Punkt wäre REST-API. So weit ich das laut Doku sehe kann man den bisher nur per Enviroment Variablen, sowie über die eigene Seite ansprechen. Eine HomeAssitant Integration (oder ähnliches) müsste das am Besten aber über REST machen. Evt. geht das ja schon, fehlt nur in der Doku.

Das mit der Architektur stelle ich noch um, ich hatte nur Probleme mit der Github Pipeline bzw Actions, irgendwas hat es da zerlegt und ich hab mich dann vorerst nicht weiter drum gekümmert.

Bezueglich Rest Endpunkte: Gibts aktuell noch nicht, gerne Vorschläge, was es geben soll, dann kann ich die einbauen.

Wäre es möglich MinAmp und MaxAmp während der Container läuft zu verändern? Wenn ja wären das so zwei Dinge die richtig cool wären. Will man das Auto etwas schneller vollbekommen kann man das so automatisiert auf z.B. 5A min setzen lassen. Und natürlich das switchen zwischen Maximum Power Charge Mode und PV Charge. Mehr fällt mir spontan nicht ein was Sinn machen könnte.

Da wäre die Umsetzung interessant. Passiv versuchen, also die ganze Zeit nur im PV Modus laden bis man die volle Leistung braucht und dann 16A ziehen, Aktiv die MinAmp höher setzen, oder intelligent anhand der Zeit von Sonnenauf- bzw. Untergang das planen (Beispielsweise wenn man 11Uhr los muss und das am Vortag 14Uhr dransteckt zieht er alles von Solar, stoppt die Ladung über Nacht und fängt frühs wieder an, aber mit höherer MinAmp, sodass er das Ziel erreicht).

Das sehe ich als falsche Option, weil Annahme: Ich habe 80% als Ziel um 11 Uhr, ich habe 65% im Akku (mal angenommen ich brauche eine Stunde für 15%). Warum soll ich dann zum Sonnenaufgang um 6 Uhr die min Ampere erhöhen wenn es vll bis um 10 schüttet und von 10 bis 11 hab ich dann Sonne und kann die vollen 11kW aus der PV ziehen? Aus meiner Sicht macht alles zwischen MaxPower und nur PV keinen Sinn. Immer wenn ich schon vorher mit Netzbezug lade schmeisse ich die Chance weg, dass später ggf. doch noch mehr Sonne scheint als erwartet.

Okay, da hast du natürlich Recht, an Regen hab ich nicht gedacht.
Berechnen tust du das anhand der kW die der Anschluss bringt? Weil du musst ja unterscheiden ob die 16A 3Phasig oder 1Phasig anliegen.

Im Prinzip sehr einfach. Aus aktuellem Ladestand und Abfahrtszeit weisst Du wann der letzte Moment ist um auf volle Netzladung umzustellen. Wenn die PV also vor dieser last time schon weiter ist wird er nie umschalten.

1 „Gefällt mir“

Genau so mache ich das. Nur dass ich auch noch morgens den Rest im Akku mit laden lasse. Da weiß ich dass ich über Nacht 25% brauche. Und kann so morgens den Rest bis hinunter auf 10% Akku ins Auto laden.
Ist dann ja nur ein Summand auf der Ladeleistung der solange ansteht bis der Akku leer ist.
So ähnlich wie in der ooen WB der Auto Vorrang. Nur eben zeitlich begrenzt auf die Zeit ohne PV Ertrag.

Das ist aktuell noch nicht implementiert, momentan gehe ich immer von dreiphasig aus. Nachdem Tesla aber beim Anstecken immer zu laden beginnt sehe ich ja da, ob 3 oder einphasig => Kann ich mir merken, bis ausgesteckt wird.

Danke an alle die upgevotet haben, wurde umgesetzt und sollte im nächsten TeslaMate Release drin sein.

1 „Gefällt mir“

So heute erstmals damit mit tatsächlichem PV-Strom geladen:

Bin ganz zufrieden :slight_smile: 99% Sonnenstrom, das 1% kommt halt daher, dass nur alle 30 Sekunden geregelt wird und bei wechselnder Bewölkung/schaltenden Geräten wie Waschmaschine und Herd, hat man halt immer etwas Netzbezug und etwas Einspeisung… Insegesamt 38kWh nachgeladen, dann war der Akku auf 90%.

2 „Gefällt mir“

Falls die Software hier schon jemand nutzt, in der docker-compose.yml ist eine neue Option hinzugekommen unter volumes, mit config Files. Damit überlebt die aktuelle Einstellung, ob PV, oder Maximale Leistung einen Container-Neustart und eine Container-Neuerstellung. Zum Thema MindestSoC zum Zeitpunkt x: Dauert noch ein wenig, ich hab wie man unschwer erkennen kann noch nie Frontend programmiert, also kann noch ein wenig dauern. Zudem bin ich am Überlegen, ob ich das ganze Frontend nochmal umbaue, sodass normale REST Endpoints genutzt werden => Jede Funktionalität in der UI könnte auch direkt von außen angesprochen werden.

2 „Gefällt mir“

Nochmals eine kleine Korrektur: Das Abwarten der x Minuten zum Ladestand hat nicht korrekt funktioniert. Der Timer wurde nicht zurückgesetzt, wenn innerhalb der x Minuten wieder zu wenig Überschuss da ist. Ich werde mich die nächsten Tage mit den Github Releases mal genauer auseinander setzen, sodass korrekt Releases erzeugt werden und im Git Repo ein Changelog ersichtlich ist. Dann kann man sich auch automatisch benachrichtigen lassen, wenn ein neuer Release da ist.

So, da ich es selber brauche, habe ich mir eine quick and dirty Version zum Laden auf Zeitpunkt x gemacht (Verbesserung folgt): Man muss einen SOC + Datum + Stunden + Minuten eingeben (Werte werden beim Verlassen der Eingabefelder gespeichert). Aktuell ist aber eine feste Laderate von 15% pro Stunde hinterlegt (entspricht in etwa einem LR bei 11kW). Wichtig: Neue Environment Variable für die Zeitzone hinzufügen (Siehe README).
Zudem ist noch eine Korrektur mit drin, unter bestimmten Umständen wurde die gespeicherte Konfig nicht richtig ausgelesen.

Beim Aktuellen Stand wird das Ganze jetzt mal eine Zeit bleiben, weil ich einiges umstellen muss, sodass ich erweitern kann.

Ich würde unter der Überschrift https://evcc.io empfehlen

2 „Gefällt mir“