Konfiguration Teslalogger

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
Mit meinem Empfehlungslink bekommst du 1500km kostenloses Supercharging beim Kauf eines Teslas:
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.
Wenn du meinen Blog unterstützen möchtest, dann würde ich mich über eine kleine Spende freuen:

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.

  1. MariaDB / MySql installieren: https://mariadb.com/downloads/
  2. Datenbank-Schema erstellen: https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/sqlschema.sql
  3. NodeJS installieren: https://nodejs.org/en/download/
  4. Grafana installieren: https://grafana.com/grafana/download
  5. Trackmap-Panel für Grafana installieren: https://github.com/pR0Ps/grafana-trackmap-panel
  6. Grafana Panels importieren. Siehe: https://www.impala64.de/blog/tesla/2018/12/06/einrichtung-teslalogger/#update
  7. Teslalogger runterladen: https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/bin/TeslaLogger.exe
  8. App.config runterladen und umbenennen in “TeslaLogger.exe.config” https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/App.config
  9. TeslaLogger.exe.config konfigurieren
  10. 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;"