Hallo zusammen,
ich habe über GitHub - tdorssers/TeslaPy: A Python module to use the Tesla Motors Owner API Photovoltaik Überschuss Laden implementiert. War mein erstes mal mit Python, also bestimmt nicht auf Profi-Level…
Edit: Bei meiner alten Anlage kenne ich nur die Leistung der Anlage, nicht aber den Netzbezug. Deshalb funktioniert es natürlich nur gut, wenn keine anderen großen Verbraucher im Haus laufen. Wenn man natürlich den Netzbezug kennt könnte man das Skript noch deutlich verbessern.
Funktioniert astrein.
Voraussetzung ist, dass das Auto schon Software 2021.36.x drauf hat.
Das Programm läuft in einer Endlosschleife auf meinen Raspberry Pi. Es gibt keine Probleme, dass das Auto nach dem Laden dadurch unnötig wach bleibt. Es ist daher nicht nötig, das Programm immer wieder zu starten. 1x auf dem Raspberry Pi starten und dann durchlaufen lassen.
Es funktioniert auch unter 5 Ampere:
Per API können die Ampere auch unter 5 Ampere gesetzt werden. Dazu muss - warum auch immer - das Kommando „CHARGING_AMPS“ 2x aufgerufen werden.
Ist so implementiert:
Endlosschleife(Wartezeit)
falls nicht (Auto offline oder Auto nicht angeschlossen oder Auto nicht zu Hause)
PV-Leistung = Hole die aktuelle Leistung der PV-Anlage
Gewünschte Ampere = PV-Leistung * Faktor
falls(Gewünschte Ampere > 1) // sonst lohnt es sich imho nicht, auch Grundlast beachten
starte das Laden, falls aktuell nicht gestartet
setze Gewünschte Ampere
sonst falls(Gewünschte Ampere <= 1)
Stoppe das Laden
Die Umrechnung der Leistung zu Ampere habe ich mit dem Faktor 14/11 statt 16/11 gemacht (16 Ampere = 11 kw). So bleibt noch ein wenig PV-Strom für das Haus übrig.
Die Ausgaben werden in einer Log-Datei mitgeschrieben und es wird ein Web-Server gestartet, der die Log-Datei ausgibt. Über den Get-Parameter „quit“ kann die Anwendung über deren URL gestoppt werden.
Besteht aus 3 Modulen:
PV_Charge.py - Der Code
constants_pv_charging.py - Die Konstanten
pv.py - Hier wird die Methode read_pv_voltage() implementiert, welche die aktuelle Leistung der PV-Anlage ausliest. Bei mir handelt es sich um eine alte Kostal Anlage, die uraltes Web-Interface hat. Ich parse das Web-Interface, um die aktuelle Leistung auszulesen. Dies muss je nach PV-Interface angepasst werden.
Der Tesla token muss in der cache.json vorhanden sein. Dazu einfach 1x z.B. gui.py starten und 1x einloggen.
Bei mir ist es ein 250 Euro China Kabel am CEE Starkstrom Anschluss, mehr braucht man nicht um Überschuss Laden hinzukriegen ![]()
Edit, wegen dem Kommentar von @ tornado7
Natürlich ist es kein echtes Überschuss-Laden, da ich den Netzbezug nicht kenne. Wenn keine großen Verbraucher im Haus laufen, funktioniert es recht gut. Man kann natürlich den Ampere-Faktor noch ein wenig defensiver einstellen um hier noch mehr auf der sicheren Seite zu sein. Ich konnte gestern Mittag bis früher Nachmittag bei einer Leistung der PV-Anlage zwischen 7 und 2 kw das Auto laden, ohne dass zusätzlich Strom aus dem Netz bezogen wurde.
Auf jeden Fall angepasst werden muss:
- Implementierung von read_pv_voltage() in pv.py je nach verwendeter Anlage
- HOME_LOCATION in constants_pv_charging.py. Diese ist z.B. in gui.py von TeslaPy sichtbar
- with Tesla(„Account Name“, False, False) as tesla in Zeile 73 von PV_Charge.py Hier den Account Name nach eurem Account Namen anpassen
Test: neue Datei auf Wunsch des Autors:
PVCharging.zip (3,6 KB)

Wenn dann mit Elektriker, und wahrscheinlich überhaupt schwierig da einen zu finden, der einem das einbaut.





