Impressum / Datenschutz Regeln Cookies
TFF FORUM TFF E.V. SUPERCHARGE-ME
TFF Forum

Probleme mit Home-Assistant

Bei home-assistant scheint jemand eine Lösung gefunden zu haben? Meine Programmierkenntnisse sind leider zu schlecht, um diese Lösung zu verstehen.

Hm ok, dann ist es mir heute einfach das erste Mal aufgefallen, da OpenWB auch zickt.

Ich finde in den Quellen keinen Hinweis, wie die Authentifikation umgesetzt wurde :frowning:
Sollte jemand herausfinden, wie ich mit CURL oder besser noch Telegraf die neue API nutzen kann, bitte dringend hier posten :slight_smile:

Tesla hat definitiv etwas geändert bei der 20.49.0, ich hatte bisher eine Anbindung an FHEM und habe da die Werte der Powerwall als Graphen dargestellt, seit gestern Abend funktioniert das nicht mehr. Außerdem sehe ich auf der internen Webseite der Powerwall keine Werte mehr, ich muss mich als Benutzer einloggen.

Im fhem Forum gibt es einen Hinweis:
/api/login/Basic deaktivieren im Powerwall Modul ist ein temporärer fix.

Hilft im Moment bei mir…

Hast Du da einen Link ins Forum? Ich finde das da leider nicht und sehe im Modul auch auf Anhieb nicht, was ich ändern muss.

api/login/Basic als Suchbegriff im fhem Forum, gleich der erste Hit.
Ich bin unterwegs kann nur kurz schreiben

Mit folgenden curl Befehlen funktioniert es wieder (man muss erst das Token generieren, daher braucht es jetzt zwei Befehle):

/usr/bin/curl -k -c /tmp/pw2.cookie -X POST -H "Content-Type: application/json" -d '{"username":"customer","password":"DeinPW", "email":"IrgendEineMailadresse","force_sm_off":false}' https://IPvonPWGateway/api/login/Basic

/usr/bin/curl -k -b /tmp/pw2.cookie https://IPvonPWGateway/api/system_status/soe

als Beispiel für den SoC

1 Like

@twiederh - hast Du das im Modul inzwischen gefunden?
Ansonsten in der Zeile ein „#“ davor:
unter my %paths =
snip …
# 'login' => 'login/Basic',
snip…

Die Lösung von marlan99 sieht auch spannend aus, ich will mich aber nicht einloggen, nur lesen.

@Kontrabass Danke für die Antwort, leider klappt das bei mir nicht. Ich habe noch das hier gefunden:

Wie es aussieht, muss man sich mit 20.49.0 an der Powerwall anmelden mit dem lokalen Passwort für den Benutzer, das normalerweise die Seriennummer ist. Ich hatte das Passwort geändert aber auch nach den zurückändern auf die Seriennummer kein Glück. Das was in dem Post oben vorgeschlagen wird, ist aber auch nicht nur einfach ein Ersetzen der entsprechenden Zeile in dem Modul. Mittlerweile kommen da aber noch mehr Fehlermeldungen rein, vielleicht schaut sich der Entwickler das an. Auch andere Home-Automations-Produkte haben die gleichen Schwierigkeiten, da habe ich auch schon Meldungen gesehen.

Es wäre schön, wenn Tesla dem Kunden die Wahl lassen würde, wie sicher die Powerwall sein soll.

Nachdem ich keine Lösung gefunden habe, habe ich bei Tesla angerufen und darum gebeten, ein Downgrade meines Gateways zu machen. Das ist innerhalb weniger Stunden passiert, jetzt kann ich wieder normal auf meine Powerwall zugreifen.

Ich habe eine Lösung gefunden

Ich nutzte zwar keinen Home-Assistant, aber mit dieser Anleitung wird es wohl funktionieren.
Man benötigt einen Raspberry Pi (oder ein anderes Linux System) mit Webserver und Linux Grundkenntnisse.

Als erstes muss man herausfinden, ob man einen Webserver installiert hat.

Tippen Sie in die Kommandozeile: cd /var/www/html

Kommt dann sowas wie „Verzeichnis nicht gefunden“ müssen Sie einen Webserver installieren, wie das geht wird oft genug im Internet beschrieben.

Kommt keine Fehlermeldung, haben Sie schon einen Webserver installiert, machen Sie hiermit weiter:

sudo mkdir /var/www/html/powerwall

Und weiter mit:

curl -k -0 -c /home/pi/pw_cookie.txt -X POST -H „Content-Type: application/json“ -d ‚{„username“:„customer“,"password“:“MEIN_PASSWORT“, „email“:“[email protected]“,“force_sm_off“:false}‘ https://IP_DER_POWERWALL/api/login/Basic

Ändern Sie Folgende Dinge:

MEIN_PASSWORT in das Passwort für die Weboberfläche Ihrer Powerwall, nicht das Tesla Passwort. Das Passwort steht auf der Innenseite des Gateways (nur die letzten fünf Zeichen!)

[email protected] in Ihre Email Adresse mit der Sie sich an der Weboberfläche der Powerwall anmelden

IP_DER_POWERWAL in die IP Adresse Ihrer Powerwall

Sonst muss nichts weiter geändert werden. Die Anführungszeichen müssen unbedingt erhalten bleiben.

Nun Tippen Sie: sudo curl -k -0 -b /home/pi/pw_cookie.txt https://IP_DER_POWERWAL/api/system_status/soe -o /var/www/html/powerwall/soe.json ein.

Ändern Sie wieder IP_DER_POWERWAL in die richtige IP um.

Öffnen Sie nun den Browser und tippen http://IP_ADRESSE_DES_RASPBERRYS/powerwall/soe.json ein.

IP_ADRESSE_DES_RASPBERRYS ändern in Ihre Raspberry Adresse. Wichtig http nicht https.

Nun sollte wie gewohnt angezeigt werden, wieviel Prozent der Akku noch hat.
Z.B. {„percentage“:88.75116429032028}

Möchten Sie andere Daten abrufen, ergänzen Sie. Z. B.
sudo curl -k -0 -b /home/pi/pw_cookie.txt https://IP_DER_POWERWAL/api/meters/aggregates -o /var/www/html/powerwall/aggregates.json

Nun lassen sich die weiteren Daten auch abrufen: http://IP_ADRESSE_DES_RASPBERRYS/powerwall/aggregates.json

Diese Kommandos müssen jetzt noch automatisiert werden:

sudo crontab -e

Wenn Sie diesen Befehl zum ersten mal ausführen, werden Sie gefragt, welchen Editor Sie gerne verwenden möchten. Wählen Sie nano aus.

Scrollen Sie nach unten. In der letzten Zeile sollte ein # stehen. Fügen Sie hiernach folgendes ein:

#
*/1 * * * * sudo curl -k -0 -b /home/pi/pw_cookie.txt https://IP_DER_POWERWAL/api/system_status/soe -o /var/www/html/powerwall/soe.json ; sudo curl -k -0 -b /home/pi/pw_cookie.txt https://IP_DER_POWERWAL/api/meters/aggregates -o /var/www/html/powerwall/aggregates.json
#

Wichtig:

***/1 * * * *** bedeutet, dass der Befehl jede Minute ausgeführt wird (sollte ausreichen).
Der Text zwischen den # # sollte in einer Zeile stehen.
Am Ende des Befehls muss immer ein # stehen.

Wer es nicht ganz verstanden hat (ist ja auch ein bisschen kompliziert), sollte sich das angehängte Bild anschauen.


(Das im roten Kasten abtippen)

Speichen können Sie mit STRG+X, dann je nach Sprache J oder Y und dann ENTER.

Jetzt sollte da stehen: crontab: installing new crontab

Jetzt müssen Sie überall wo die JSON Daten der Powerwall (Datenbank, Smart Home, Home-Assistant etc.) weiterverarbeitet werden, die URL umstellen.

Wo also früher https://IP_DER_POWERWAL/api/system_status/soe abgerufen wurde, müssen Sie jetzt http://IP_ADRESSE_DES_RASPBERRYS/powerwall/soe.json eintragen. Wichtig wieder http statt https.

Leider habe ich es nicht hinbekommen, den ersten curl Befehl (also der, der den Cookie erstellt) in crontab zu automatisieren. Vielleicht bekommt ja einer von euch das hin. Ich schätzte, dass der Cookie mindestens einen Monat hält (bei mir im Moment schon ca. zwei Wochen). Man müsste also ein mal im Monat den ersten Befehl manuell ausführen.

Fertig.

Fragen oder Anregungen?

Schöne Grüße Sebastian