Switch Tesla Powerwall to backup only while charging #5826
Replies: 8 comments 11 replies
-
Sehr schön, super gemacht. Das wäre in evcc dann ein: interface DischargeLocker {
LockBattery(bool)
} den wir optional umsetzen könnten. Die Steuerung ist allerdings nochmal ein komplexeres Thema- es könnte ja attraktiv sein, bei günstigen Preisen auch die Batterie aus dem Netz nachzuladen. Bzgl. Tesla: welchen Token verwendest Du hier- den vom Fahrzeug? Bei mehreren Tesla Fahrzeugen wären jeweils die gleichen Endpunkte im Energy API sichtbar? Da ich keine PW habe bräuchte ich dafür mal Zugangsdaten zum testen ([email protected]). /cc @premultiply |
Beta Was this translation helpful? Give feedback.
-
Mir ist es auch wichtig, die Powerwall nicht beim Laden des PKW leerzusaugen bis zur Backupgrenze. Wenn ich z. B. das Auto in der Nacht angesteckt habe und es dann automatisch irgendwann geladen wird, dann ist ansonsten danach die Powerwall leer, wenn wir morgens wieder Strom brauchen und dann müssen wir den Strom teuer einkaufen und warten, bis wieder genug PV-Ertrag kommt. Die Token habe ich übrigens mit https://github.com/adriankumpf/tesla_auth unter Windows ausgelesen. |
Beta Was this translation helpful? Give feedback.
-
Mit gültigem Accesstoken klappt es. Wenn der aber abgelaufen ist, dann funktioniert der Refresh mit Refreshtoken leider nicht. getTeslaIds() habe ich um die Zeilen ergänzt: Das hat da zwar eigentlich nichts zu suchen, aber hilft mir, um einfach die Restkapazität der Powerwall jährlich prüfen und die Alterung des Akkus bestimmen zu können. |
Beta Was this translation helpful? Give feedback.
-
Das Skript benötigt kein Access Token als Input, da es die selbst fetched. Wenn Du manuell ein access token ablegst nutzt das Script dein refresh token zunächst nicht. Somit ist Deine Vermutung naheliegend das es daran liegt. Ein JWT einhält zwei Base64 kodierte Blöcke und abschließend eine Signatur über die vorhergehenden Daten. Diese 3 Blöcke sind durch zwei Punkte voneinander abgegrenzt. Ganz grobe Schnitzer kannst du also erkennen wenn Du das Format deines Tokens anschaust. Ferner kannst Du auch Dein RefreshToken mal in jwt.io einfügen, dort kannst Du hoffentlich Daten sehen, und wichtig ganz unten sollte "signature verified" stehen. Wenn das nicht der Fall ist, ist Dein Token ungültig. |
Beta Was this translation helpful? Give feedback.
-
Da heute viel Sonne da war, habe ich tatsächlich mal tagsüber geladen und dabei auch mal mit den Modi rumgespielt. @andig ich habe mich kurz im Code umgeschaut, und auch nicht gesehen dass es für ChargeMode Wechsel bereits einen Event gibt. So einen Event könnte aus lp.SetMode() via lp.pushEvent() relativ einfach gesendet werden. Ich könnte mich mal an meinem ersten PR versuchen, so fern die Idee Anklang findet. |
Beta Was this translation helpful? Give feedback.
-
Das funktioniert nicht mit den Token aus den Webbrowser-Cookies, denn diese verwenden Oauth v1 und sind für unsere Zwecke ausreichend berechtigt. Allerdings funktioniert die Erneuerung des Accesstoken v1 aus dem Refreshtoken v1 mit diesem Skript. Du solltest diese Zeile aus der Readme entfernen. Ich habe leider immer noch nicht herausgefunden, wieso ich es nicht schaffe, mit einem Refreshtoken v3 einen neuen Accesstoken v3 zu besorgen. Ich versuche es jetzt nochmal mit https://github.com/Marky0/tesla_api_lite . Mit dem Refreshtoken von der tesla_api_lite schafft es dein Tool hier lieder nicht, einen neuen Accesstoken zu ziehen. |
Beta Was this translation helpful? Give feedback.
-
Ich habe das jetzt mit REST API umgesetzt, siehe: #9090 |
Beta Was this translation helpful? Give feedback.
-
Ich mußte da heute eh nochmal ran, und habe in dem Zuge auch einen docker build auf GitHub erzeugt. Das image ist jetzt verfügbar als |
Beta Was this translation helpful? Give feedback.
-
I know there's different opinions and existing comments/discussions on here wether draining your home battery for charging your EV is an issue or not. As I did not want to drain my Powerwall via maximum load every time I charge the car, I decided to create a script for this, that can be used as an event handler for evcc.
https://github.com/GrimmiMeloni/powerwall-backupCtrl
Beta Was this translation helpful? Give feedback.
All reactions