Modul für Tesla Model S / 3 / X

Begonnen von swhome, 17 Juli 2017, 12:53:25

Vorheriges Thema - Nächstes Thema

Elektrolurch

Hallo Liste,

jetzt habe ich mal das php - Skript nach perl übertragen. Bis zu den Cookies (s.o.) bin ich dann auch gekommen. Dann kommt beim Aufruf der Seite, an die u.a. Benutzername / Kennwort überttragen wird und einen Code zurückliefern soll, die Fehlermeldung: Access denied.
Wenn ich mir die return Seite ansehe, ist da nun ein Capcha drauf, was natürlich nur ein "human" ausfüllen kann. Damit ist das php - Skript erst einmal tot. In dem Forum zu dem Skript ist mann auch zum gleichen Ergebnis gekommen, was ich erst leider gestern gesehen habe.
Allerdings habe ich noch eine andere Lösung gefunden:
Auf der Teslafi - Seite unter "registrieren" findet man verschiedene  Hinweise zur Generierung des Tokens, u.a. ja auch das php - Skript.
Dort ist allerdings auch die IOS - App "TeslaToken" aufgeführt.
Der Programmierer hat wohl sogar den Code veröffentlicht und sagt, dass die credentials nur auf dem iPhone gespeichert werden. Die App kostet 1,09 €.
Ich habe sie gestern ausgeführt und mal die DNS - Zugriffe protokolliert.
Da sind nur Zugriffe auf die Tesla-Seite vorhanden. Natürlich kann man nicht 100 $ ausschliessen, dass die App doch noch woanders hin "telefoniert", aber das gleiche gilt ja auch für die Teslafi - Seite.
Der durch die App generierte Token funktioniert.
Es gibt auch einen Refresh-Token, wie ich diesen dann aber anwenden muss, ist mir noch nicht klar.

Elektrolurch
configDB und Windows befreite Zone!

aski71

Zitat von: herman am 08 April 2021, 21:21:04
Ich habe die Dateien direkt über die SSH Konsole auf meinem raspi mit dem Texteditor nano bearbeitet. Der Dateitransport von Github kennt ja vermutlich nur den Link zum "Originalen" Github. Somit hast Du die Änderungen vermutlich wieder mit dem Original überschrieben.

So würde ich vorgehen:

- via SSH Konsole anmelden (mit einem user der Rechte hat die Dateien zu bearbeiten
- in das FHEM Verzeichnis wechseln (bei mir: cd /opt/fhem/FHEM
- die beiden Dateien zur Sicherung weg verschieben (Pfad für backup anpassen)
mv 49_TeslaCar.pm /opt/backup
mv 49_TeslaConnection.pm /opt/backup

- Dann die Dateien jeweils mit nano leer neu erstellen
nano 49_TeslaCar.pm
- In Github die Datei öffnen und den Inhalt rauskopieren https://github.com/BAngel87/FHEM-Tesla/blob/master/FHEM/49_TeslaCar.pm
- Inhalt in die Datei kopieren (Ich verwende putty - da geht das in Verbindung mit nana mit Rechtsklick)
- Speichern "Strg + O" und mit Enter bestätigen und Beenden "Strg + X"
- Dann das ganze für die nächste Datei wiederholen
49_TeslaConnection.pm
- In Github die Datei öffnen und den Inhalt rauskopieren https://github.com/BAngel87/FHEM-Tesla/blob/master/FHEM/49_TeslaConnection.pm
- dann FHEM neustarten

Nach dem Neustart sollte dieser Teil der Anleitung funktionieren:

Paste Token "qts-*******" in fhem attr.
set teslaconn Login
set TeslaCar init

Hi, ich habe mich an diese Anleitung gehalten und scheitere beim Anlegen des Tokens.

Wenn ich
attr teslaconn AccessToken qts-********
absetze, sagt fhem:
Unknown attribute AccessToken

:o

Was mache ich falsch?

herman

Zitat von: aski71 am 09 Juni 2021, 17:40:35
Hi, ich habe mich an diese Anleitung gehalten und scheitere beim Anlegen des Tokens.

Wenn ich
attr teslaconn AccessToken qts-********
absetze, sagt fhem:
Unknown attribute AccessToken

:o

Was mache ich falsch?

Die Meldung deutet darauf hin, dass das nicht die modifizierten Dateien sind. Hast Du FHEM danach neu gestartet? Am besten sicherstellen, dass die Dateien getauscht wurden und nach dem Tausch FHEM neu starten

TechnoTron

Hallo alle zusammen,

ich habe eine einfache und praktikable Möglichkeit gefunden.
Unter ios gibt es die App AuthAppForTesla. Sie ist gratis und funktioniert bestens.


  • App downloaden
  • Anmelden
  • Token kopieren und bei Bedarf erneuern

Lg
T
Das Käseparadoxon.

Käse hat Löcher.
Je mehr Käse desto mehr Löcher.
Je mehr Löcher desto weniger Käse.

joker4791

So, nachdem nun Nero seit ein paar Tagen keine Daten mehr gesendet hat, habe ich versucht "RefreshToken" zu machen und prompt gibt es einen "Refresh Error" zurück. Natürlich geht jetzt gar nichts mehr, habe auch keinen Überblick mehr was zu tun ist, da das Modul die letzten 1,5a problemlos gelaufen ist...

joker4791

#260
Zitat von: TechnoTron am 10 August 2021, 09:33:38
Unter ios gibt es die App AuthAppForTesla. Sie ist gratis und funktioniert bestens.
Dieser ganze Apple-Mist ist natürlich mal wieder völlig unbrauchbar, da:

  • keine Version für Android verfügbar
  • keine VM für iOS verfügbar
  • auf dem alten iPad, das hier noch rumliegt läuft es nicht (benötigt iOS >=14.0)
  • ich werde nicht losziehen wegen dem Mist und mir für >1kEUR ein Telefon kaufen
>:(

Stattdessen gibt es für Android die App Tesla Tokens, die scheinbar auch erstmal ihren Dienst tut.

Dann noch den ganzen Code updaten:
:~# cd /opt/fhem/FHEM
:/opt/fhem/FHEM# mv 49_TeslaConnection.pm 49_TeslaConnection.pm.bak
:/opt/fhem/FHEM# mv 49_TeslaCar.pm 49_TeslaCar.pm.bak
:/opt/fhem/FHEM# wget "https://raw.githubusercontent.com/BAngel87/FHEM-Tesla/master/FHEM/49_TeslaConnection.pm"
:/opt/fhem/FHEM# wget "https://raw.githubusercontent.com/BAngel87/FHEM-Tesla/master/FHEM/49_TeslaCar.pm"

Danach shutdown restart in FHEM und den Token bekannt machen: attr teslaconn AccessToken qts-********
Nach Login sagt er auch connected, aber bei set 5YJSA7E21GFxxxxxx init gibt es noch einen Fehler:
Failed to connect to TeslaCar API, see log for details
Also attr 5YJSA7E21GFxxxxxx verbose 5 und dann erscheint im log folgendes:
2021.09.08 09:05:19 2: set command: init
2021.09.08 09:05:19 4: 5YJSA7E21GFxxxxxx request: https://owner-api.teslamotors.com/api/1/vehicles
2021.09.08 09:05:19 4: 5YJSA7E21GFxxxxxx: no token to be refreshed
2021.09.08 09:05:21 4: 5YJSA7E21GFxxxxxx response:


Und beim Versuch des ScanCars ist FHEM dann komplett gecrasht:
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/49_TeslaConnection.pm line 319.

Tja, das ist irgendwie alles wenig hilfreich... Daher geht es weiterhin erstmal nicht mehr. :(

OK, Fehler gefunden. der neue AccessToken beginnt nicht mehr mit qts-*** , sondern mit eu-*** . Jetzt gibt es (endlich) auch wieder Daten.


speedAmaster

Hallo zusammen,
ich bin hier Neuling zu teslaconn und habe

1. mir die neuesten 49_TeslaConnection.pm und 49_TeslaCar.pm geholt
2. define teslaconn TeslaConnection
     attr teslaconn room Auto
     attr teslaconn AccessToken eu-xxxxxxxx         
3. testlaconn gibt mir als Status "Login necessary"
4. ich mache ein set teslaconn xxx@xxxx.de xxxxxxx
5. ERFOLG: testlaconn gibt mir als Status "Connected"

ABER: sobald ich ein "set teslaconn scanCars" mache stürzt FHEM komplett ab.
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/49_TeslaConnection.pm line 319.

ein vorheriges "set teslaconn scanDevices" bring auch nichts.....
ein vorherigeds "define TeslaM3 TeslaCar teslaconn LRW3xxxxxxxxxxx" bringt auch nicht....

WAS mache ich denn falsch mit dem Modul?


abc2006

Ich habe folgende Schritte erfolgreich durchgeführt:

FHEM:
update all https://raw.githubusercontent.com/sw-home/FHEM-Tesla/master/controls_tesla.txt
(kann man möglicherweise überspringen)

Kommandozeile:
cd /opt/fhem/FHEM
rm 49_TeslaConnection.pm
wget "https://raw.githubusercontent.com/BAngel87/FHEM-Tesla/master/FHEM/49_TeslaConnection.pm"
rm 49_TeslaCar.pm
wget "https://raw.githubusercontent.com/BAngel87/FHEM-Tesla/master/FHEM/49_TeslaCar.pm"

FHEM:
shutdown restart

Handy (Android)
App Tesla Tokens installieren
einloggen mit Username/Passwort
Den Owner API Access Token kopieren (fängt mit qts- an)

FHEM:
defmod MeinModel3 TeslaConnection <API ACCESS TOKEN von oben>  (geht möglicherweise auch ohne den API Key, müsste dann in der Doku in eckige Klammern)
attr MeinModel3 AccessToken qts-..... << den API Access Token von oben hier eintragen
attr MeinModel3 room tesla
set MeinModel3 login <teslabenutzername> <teslapasswort>
set MeinModel3 scanCars (Beim ersten mal ist es hier abgestürzt, aber das lag evtl am fehlenden AccessToken)

daraufhin legt FHEM ein device an, welches meine FIN als Namen hat.
Kurz warten, dann erscheinen auch die Readings.

Hoffe das hilft, wenn ich hier feedback bekomme, stell ichs auch gern ins Wiki rein...

Grüße,
Stephan


PS: grad gesehen, oben war die Frage nach dem Batteriestand:
Device <VIN>, Reading battery_level (vermutlich prozent) battery_range (vermutlich km)

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

abc2006

Leider aktualisiert sich mein Tesla nicht automatisch, ich muss das immer manuell antriggern.
Jemand eine Idee, wie ich das automatisieren kann?
Sonst muss ich ein DOIF setzen, was automatisch alle x Sekunden einen requestSettings durchführt...

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

satprofi

Zitat von: abc2006 am 28 September 2021, 13:03:28
Ich habe folgende Schritte erfolgreich durchgeführt:

FHEM:
update all https://raw.githubusercontent.com/sw-home/FHEM-Tesla/master/controls_tesla.txt
(kann man möglicherweise überspringen)

Kommandozeile:
cd /opt/fhem/FHEM
rm 49_TeslaConnection.pm
wget "https://raw.githubusercontent.com/BAngel87/FHEM-Tesla/master/FHEM/49_TeslaConnection.pm"
rm 49_TeslaCar.pm
wget "https://raw.githubusercontent.com/BAngel87/FHEM-Tesla/master/FHEM/49_TeslaCar.pm"

FHEM:
shutdown restart

Handy (Android)
App Tesla Tokens installieren
einloggen mit Username/Passwort
Den Owner API Access Token kopieren (fängt mit qts- an)

FHEM:
defmod MeinModel3 TeslaConnection <API ACCESS TOKEN von oben>  (geht möglicherweise auch ohne den API Key, müsste dann in der Doku in eckige Klammern)
attr MeinModel3 AccessToken qts-..... << den API Access Token von oben hier eintragen
attr MeinModel3 room tesla
set MeinModel3 login <teslabenutzername> <teslapasswort>
set MeinModel3 scanCars (Beim ersten mal ist es hier abgestürzt, aber das lag evtl am fehlenden AccessToken)

daraufhin legt FHEM ein device an, welches meine FIN als Namen hat.
Kurz warten, dann erscheinen auch die Readings.

Hoffe das hilft, wenn ich hier feedback bekomme, stell ichs auch gern ins Wiki rein...

Grüße,
Stephan


PS: grad gesehen, oben war die Frage nach dem Batteriestand:
Device <VIN>, Reading battery_level (vermutlich prozent) battery_range (vermutlich km)

Hallo.
Frage zu den readings bzgl. Ladudestatus.
Bei mir zeigt die Anzahl der Phasen, trotz 11kW Ladung, nur 2 an.
kann doch nicht stimmen, oder?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

abc2006

Zitat von: satprofi am 11 Oktober 2021, 17:33:28
Hallo.
Frage zu den readings bzgl. Ladudestatus.
Bei mir zeigt die Anzahl der Phasen, trotz 11kW Ladung, nur 2 an.
kann doch nicht stimmen, oder?


Vermutlich eher nicht. Soweit ich das auf dem Schirm habe, gibts kein Auto, was mit 2 Phasen lädt - entweder 1 oder 3.
evtl zählt da jemand falsch (0-1-2)
Aber da gibts noch ein paar mehr readings, die nicht so ganz plausibel sind... ganz zu schweigen vom dauernden logout.
Hatte noch keine Zeit, da mal rein zu schauen, muss jetzt erstmal ein Modul für die Wallbox bauen xD

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

speedAmaster

@swhome hat auf Seite 2 folgendes für eine GoogleMaps-Karte beschrieben:

define teslamap weblink htmlCode {'<div style="width: 400; overflow: hidden; height: 300px;"><iframe src="https://www.google.com/maps/embed/v1/place?key=XXXXXXXXX&q='.ReadingsVal('XXXXXXX','position','').' " width="480" height="480" frameborder="0" style="pointer-events:none; border:0; margin-top: -100px; margin-left: -30px;"></iframe></div>'}

Leider bekomme ich nur Fehlermeldungen
ZitatUnknown command overflow:, try help.
Unknown command height:, try help.
Unknown command "><iframe, try help.
Unknown command border:0, try help.
Unknown command margin-top:, try help.
Unknown command margin-left:, try help.
Unknown command "></iframe></div>'}, try help.

Wenn ich es mit iframes versuche, klappt die dynamische Zuweisung der Position nicht, da er ".ReadingsVal...." als Text interpretiert.
define TeslaKarte weblink iframe "{'https://www.google.com/maps/embed/v1/place?key=XXXXXXX&q='.ReadingsVal('XXXXXXXXXXX','position','')}"


Wie bekomme ich denn meine Position für meinen Tesla angezeigt?

speedAmaster

Hallo Stephan abc2006,
hat super funktioniert. Ist sicher reif für's Wiki. Mein Token beginnt mit "eu-". Zudem hat scancars bei mir FHEM zum Absturz gebracht. Beim 2ten Versuch hat es geklappt.
Vielen Dank und Gruß
Bernd

Zitat von: abc2006 am 28 September 2021, 13:03:28
FHEM:
update all https://raw.githubusercontent.com/sw-home/FHEM-Tesla/master/controls_tesla.txt
(kann man möglicherweise überspringen)

Kommandozeile:
cd /opt/fhem/FHEM
rm 49_TeslaConnection.pm
wget "https://raw.githubusercontent.com/BAngel87/FHEM-Tesla/master/FHEM/49_TeslaConnection.pm"
rm 49_TeslaCar.pm
wget "https://raw.githubusercontent.com/BAngel87/FHEM-Tesla/master/FHEM/49_TeslaCar.pm"

FHEM:
shutdown restart

Handy (Android)
App Tesla Tokens installieren
einloggen mit Username/Passwort
Den Owner API Access Token kopieren (fängt mit qts- an)

FHEM:
defmod MeinModel3 TeslaConnection <API ACCESS TOKEN von oben>  (geht möglicherweise auch ohne den API Key, müsste dann in der Doku in eckige Klammern)
attr MeinModel3 AccessToken qts-..... << den API Access Token von oben hier eintragen
attr MeinModel3 room tesla
set MeinModel3 login <teslabenutzername> <teslapasswort>
set MeinModel3 scanCars (Beim ersten mal ist es hier abgestürzt, aber das lag evtl am fehlenden AccessToken)

daraufhin legt FHEM ein device an, welches meine FIN als Namen hat.
Kurz warten, dann erscheinen auch die Readings.

Decki

Hallo zusammen,

ich habe es mal wieder nach Monaten versucht, meinen Tesla zu verbinden. Alles wie oben durchgeführt.
Login funktioniert, aber teslaconn scancars liefert:
2021.10.28 11:33:43 4: teslaconn request: https://owner-api.teslamotors.com/api/1/vehicles
2021.10.28 11:33:43 4: teslaconn: no token to be refreshed
2021.10.28 11:33:43 4: teslaconn response: {"response":null,"error":"not found","error_description":""}


Ich habe das Model3 noch als Device in fhem. Muss ich das vorher löschen oder wird das aktualisiert?
Raspi 2 im Schaltschrank, USB IR Lesekopf am EHz21, Gaszähler mit Reedkontakt, Jeelink,  16 FS20 Aktoren,  3 Ufos für LED, 11 FS20 Rolladenaktore, AMAD 4.0 mit Sprachausgabe, Esp12 mit EspEasy

Decki

Kleines Update zu meinem vorherigen Post.
Wenn ich das vor Monaten funktionierende Model 3 Device das Kommando "set init" starte, kommt: Specified car with VIN 5XXXXXXXXXXX not found.
Teslaconn sagt connected. Mit meinem Handy kann ich das Auto steuern. Ich bin nicht der Besitzer, sondern nur der Fahrer (Firmenauto).
Logge ich mich mit meinem Account bei Tesla.com ein, sehe ich kein Model 3. Das ganze hat vor Monaten super funktioniert und ich hatte alle Daten in Fhem.
Muss ich mit meinem Tesla Account bei Tesla das Auto sehen?

Raspi 2 im Schaltschrank, USB IR Lesekopf am EHz21, Gaszähler mit Reedkontakt, Jeelink,  16 FS20 Aktoren,  3 Ufos für LED, 11 FS20 Rolladenaktore, AMAD 4.0 mit Sprachausgabe, Esp12 mit EspEasy