Zum Hauptartikel “Teslalogger mit Raspberry Pi 3+ MySql + Grafana” geht es hier: LINK
Einrichtung
Raspberry Pi mit Router zuhause verbinden (Ethernet / Netzwerk-Kabel).
In die Steckdose einstecken
Nach 2-3 Minuten sollte der Raspberry in Netzwerk angemeldet sein.
Tesla Zugangsdaten eingeben
Im Browser folgenden Link eingeben:
http://raspberry/admin/password.php
Dort die selben Zugangsdaten wie im Teslaaccount angeben und speichern. Nach einer Minute sollte sich der Teslalogger mit dem Server verbunden haben.
Mehrere Fahrzeuge
Im Explorer zum Verzeichnis gehen:
\\RASPBERRY\teslalogger
Name: pi
Passwort: teslalogger
Dort befindet sich eine Datei:
TeslaLogger.exe.config
Diese muss angepasst werden (Notepad).
Bei Car kann man die Fahrzeugnummer im Teslaaccount angeben. Sie fängt mit 0 an. Hat man nur ein Fahrzeug, dann bleibt dort eine 0. Hat man 2 Fahrzeuge und man möchte das 2. Fahrzeug mit dieser Instanz loggen, dann schreibt man dort eine 1 rein. Achtung: pro Fahrzeug benötigt man ein Raspberry.
<setting name="TeslaName" serializeAs="String">
<value>max@mustermann.de</value>
</setting>
<setting name="TeslaPasswort" serializeAs="String">
<value>MyTeslaPassword</value>
</setting>
<setting name="Car" serializeAs="String">
<value>0</value>
</setting>
Nach dem Speichern, ein Mal neu starten unter:
http://raspberry/admin/
Dann „Restart“ drücken.
Smart-Home mit MQTT
Möchte man die Daten vom Tesla an einem MQTT-Broker schicken, dann muss man dafür die MQTTClient.exe.config editieren:
<setting name="MQTTHost" serializeAs="String">
<value></value>
</setting>
<setting name="Topic" serializeAs="String">
<value></value>
</setting>
<setting name="Name" serializeAs="String">
<value></value>
</setting>
<setting name="Password" serializeAs="String">
<value></value>
</setting>
Name und Password braucht man nur, wenn der MQTT-Broker das auch wirklich braucht.
Anschließend neu starten und im Logfile sollte man dann sehen:
17.02.2019 23:49:28 : MQTT : MqttClient Version: 1.2.0.0
17.02.2019 23:49:29 : MQTT : Connecting without credentials: 192.168.1.23
17.02.2019 23:49:29 : MQTT : Connected!
Auswertung
Auswertungen unter:
http://raspberry:3000
Username: admin
Passwort: teslalogger
Update
Neuere Versionen können einfach im Admin Bereich mit dem Button “Update” aktualisiert werden: http://raspberry/admin/
Ist dieser Button nicht sichtbar, dann muss man ein mal den Teslalogger händisch updaten:
Der Teslalogger wird ständig erweitert und Fehler behoben.
Die neueste Version vom TeslaLogger ist immer unter:
https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/bin/TeslaLogger.exe
Diese Datei Herunterladen und in (Datei Explorer)
\\RASPBERRY\teslalogger
austauschen. Danach den Raspberry neu Starten. (Siehe oben).
Spende
Wenn du das Projekt unterstützen möchtest, dann würde ich mich auf eine kleine Spende freuen:
Kontoinhaber: Christian Pogea IBAN: DE04 7603 0080 0240 0145 02 BIC: CSDBDE71XXX Verwendungszweck: Spende Teslalogger |
http://ts.la/christian7267
FAQ
Fehlende Datensätze
Greift man auf die Daten des Fahrzeug zu, kann das Fahrzeug nicht in den “Sleep” Modus gehen. Die Konsequenz ist, dass das Fahrzeug ca. 4kWh / 20km pro Tag an Kapazität verliert. Deshalb greift der Teslalogger 15 Minuten nach der letzten Fahrt / Ladung, für 21 Minuten nicht mehr auf das Fahrzeug zu, damit es in den Sleep Modus gehen kann.
Das kann man auch im Logfile sehen:
06.01.2019 16:26:41 : online
06.01.2019 16:41:46 : Waiting for car to go to sleep 0
06.01.2019 16:42:46 : Waiting for car to go to sleep 1
... usw
06.01.2019 17:00:46 : Waiting for car to go to sleep 19
06.01.2019 17:01:46 : Waiting for car to go to sleep 20
06.01.2019 17:02:48 : asleep
Es gibt einen Trick, wie man das Problem umgehen kann:
Für Android Benutzer: LINK
Für iPhone Benutzer: LINK
Hoher Standbyverbrauch
Frägt man Daten ab vom Fahrzeug mit der Tesla-App oder mit meinem Teslalogger, dann bleibt der Computer im Tesla an und verbraucht bis zu 4kWh / Tag. Damit das nicht passiert, habe ich Voraussetzungen getroffen, dass das Fahrzeug überhaupt die Möglichkeit hat in den Standby Mode zu gehen.
Zusätzlich müssen dringend diese Voraussetzungen getroffen werden:
- “immer verbunden” muss aus sein
- “Energiesparmodus” muss an sein.
- “Intelligente Vorklimatisierung” muss aus sein.
- keine weiteren Dienste wie z.B. abetterrouteplanner / TeslaFi / Openhab2 usw. dürfen die Zugangsdaten / Token haben.
- keine Teslaschlüssel in der Nähe
- Tesla Widget auf den Smartphone deaktivieren.
- Manche (ältere) Android Geräte lassen die Tesla-App im Hintergrund weiterlaufen. Immer darauf achten, dass die App beendet wird notfalls im Taskmanager abschießen.
- Es soll wohl Probleme geben, wenn das Fahrzeug einen schlechten WLan Empfang hat. So versucht es sich permanent zu verbinden und die Verbindung zu schließen und kommt so nicht in den Sleep Modus. Notfalls WLan Profil im Auto löschen.
Manuelle Installation
Einige möchten den Teslalogger nicht auf einem Raspberry laufen lassen, dann muss man das ganze selbst installieren. Das soll jetzt keine Schritt für Schritt Anleitung werden, sondern nur grob angeschnitten werden, was man installieren muss, da die vielen verschiedenen Konstellationen das fast unmöglich machen.
Ein Tip: die Raspberry Paketmanager beinhalten leider nicht die aktuellsten Installationspakete, die benötigt werden. Deshalb muss man alles manuell installieren.
- MariaDB / MySql installieren: https://mariadb.com/downloads/
- Datenbank-Schema erstellen: https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/sqlschema.sql
- NodeJS installieren: https://nodejs.org/en/download/
- Grafana installieren: https://grafana.com/grafana/download
- Trackmap-Panel für Grafana installieren: https://github.com/pR0Ps/grafana-trackmap-panel
- Grafana Panels importieren. Siehe: https://www.impala64.de/blog/tesla/2018/12/06/einrichtung-teslalogger/#update
- Teslalogger runterladen: https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/bin/TeslaLogger.exe
- App.config runterladen und umbenennen in “TeslaLogger.exe.config” https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/App.config
- TeslaLogger.exe.config konfigurieren
- Je nach System muss .net Framework oder Mono installiert werden. Auf Windows würde ich .net Framework 4.5 verwenden. Auf alle anderen Systemen Mono: https://www.mono-project.com/download/stable/
TeslaLogger.exe muss jetzt beim Systemstart automatisch gestartet werden.
Unter Linux z.B. in
etc/rc.local
nohup mono TeslaLogger.exe &
Verbinden per SSH
Terminal Client wie Putty starten.
Verbinden zur Host IP: raspberry
Port: 22
Typ: SSH
Name: pi
Passwort: teslalogger
Daten löschen bis zu einem bestimmten Datum
Backup machen und das wo anders sichern!
Verbinden per SSH
Dann im SSH eingeben:
mysql -u root -pteslalogger teslalogger
delete from charging where Datum < '2019-12-20'; delete from chargingstate where StartDate < '2019-12-20'; delete from drivestate where StartDate < '2019-12-20'; delete from state where StartDate < '2019-12-20'; delete from can where datum < '2019-12-20'; delete from car_version where StartDate < ‚2019-12-20‘;
Das Datum muss natürlich auf dein Bedürfnis angepasst werden. Das format ist Jahr-Monat-Tag
Monat und Tag müssen zweistellig sein. ggf eine 0 als Prefix verwenden.
Fahrzeug Löschen
Hat man aus versehen ein Fahrzeug angelegt und möchte es löschen, dann geht man so vor:
Backup machen und das wo anders sichern!
Verbinden per SSH
Dann im SSH eingeben (id muss angepasst werden):
mysql -u root -pteslalogger teslalogger -Bse "delete from cars where id=2;"