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;"
Hallo, das Update von Grafana funktioniert nicht. Kann Dir die Error-Meldung (Screenshot) mailen.
Import failed
JSON -> JS Serialization failed: JSON Parse error: Unrecognized token ‘<'
Geh mal bitte unter:
https://github.com/bassmaster187/TeslaLogger
dann “Clone or download”
dann “Download zip”
dann die Datei runterladen und entpacken.
im Verzeichnis “TeslaLogger-master\TeslaLogger\Grafana” sind dann die Dateien. Sag bitte bescheid, ob es geklappt hat.
super, hat funktioniert 🙂
Hi,
ich habe das heute auch mal ausprobiert, leider startet der grafna service so gar nicht:
root@raspberry:~# /etc/init.d/grafana-server status -l
● grafana-server.service – Grafana instance
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Wed 2019-01-30 21:59:36 CET; 3min 15s ago
Docs: http://docs.grafana.org
Process: 564 ExecStart=/usr/sbin/grafana-server –config=${CONF_FILE} –pidfile=${PID_FILE_DIR}/grafana-server.pid –packaging=deb cfg:default.paths.logs=${LOG_DIR} cfg:default.paths.data=${DATA_DIR} cfg:default.paths.plugins=${PLUGINS_DIR} cfg:default.paths.provisioning=${PROVISIONING_CFG_DIR} (code=killed, signal=SEGV)
Main PID: 564 (code=killed, signal=SEGV)
Jan 30 21:59:35 raspberry systemd[1]: grafana-server.service: Failed with result ‘signal’.
Jan 30 21:59:36 raspberry systemd[1]: grafana-server.service: Service hold-off time over, scheduling restart.
Jan 30 21:59:36 raspberry systemd[1]: Stopped Grafana instance.
Jan 30 21:59:36 raspberry systemd[1]: grafana-server.service: Start request repeated too quickly.
Jan 30 21:59:36 raspberry systemd[1]: Failed to start Grafana instance.
Jan 30 21:59:36 raspberry systemd[1]: grafana-server.service: Unit entered failed state.
Jan 30 21:59:36 raspberry systemd[1]: grafana-server.service: Failed with result ‘signal’.
Von wo will er denn die Konfig Dateien lesen?
-crzydg
Hier stimmt was nicht. Ich würde das Image nochmal frisch draufmachen.
Hallo Christian,
Das Teil läuft prima. Ich bekomme nur keine FTP-Verbindung.
Mit FileZilla musste ich ein ungültiges Zertifikat frei geben. Danach hat es geklappt. Ich möchte mir die Backupdateien über eine Synologic per FTP einsammeln. Das wäre über einen Ordnersync super einfach zu machen. Nur bei der FTP oder SFTP schaffe ich es nicht mich am Teslalogger anzumelden.
Es werden im Anmeldeformular folgende Punkte abgefragt:
In {} die Angaben, die ich benutze.
Host oder IP: {akutelle IP des Raspberrys alternativ raspberry}
Port: {FTP_21, SFTP_22}
Kontoname: {pi}
Kennwort: {teslalogger}
Codepage: {Unicode (UTF8)}
in der phpinfo ist sowohl FTP als auch STPS support mit enabled angegeben. Sollten als auch laufen.
Leider habe ich absolut keine Linux-Erfahrungen. Weiß als nicht wo ich suchen kann.
Ich kenne mich mit Synology aus, aber kann man denn nicht einfach auf ein Samba Share / Windows Freigabe zugreifen.
leider nein.
Es ist eigentlich gedacht, um Web-Laufwerke in die Synologic einzubinden.
Ich suche die Daten, mit denen man sich auch über “Netzlaufwerk Verbinden/Verbinden mit einem Netzlaufwerk” im Dateiexplorer anmelden kann.
Da FTP support auf enabled steht und auch das Modul FTP eingebunden ist, muss es eigentlich gehen. Nur mit welchen Daten?
Server: IP-Adresse des Teslaloggers
Port: ? Standard sind wohl FTP_21, SFTP_22
Kontoname: “pi” oder “root”
Kennwort: ? “teslalogger”
Codepage: ? Standard ist wohl {Unicode (UTF8)}
Hier komme ich einfach nicht weiter.
kannst du mal bei dir versuchen eine FTP-Verbindung aufzubauen. Ich schaffe es auch vom Windowsrechner nicht mehr.
Ergänzende Frage ist es möglich, die Daten einer oder aller Auswertungen zu exportieren?
CSV, Excel …?
Also SFTP scheint zu gehen. FTP nicht. Probier mal FileZilla. Vielleicht kann man Synology überreden auch mit SFTP zu funktionieren. Ansonsten muss man vielleicht ein FTP Server am Raspberry installieren.
Hi,
Frage und Anmerkung:
(a) kann man den Teslalogger unter Linux selber kompilieren, wenn ja wie?
(b) “nohup” ist in /etc/rc.local sinnfrei.
a: ja, kann man. Das sollte mit xbuild gehen: https://www.mono-project.com/docs/about-mono/releases/2.6.0/#xbuild
b: ich habe es seinerzeit nicht ohne nohup zum laufen gebracht – lag vielleicht am Mono, aber ich schaue es mir nochmal an.
Hi,
ich habe mir eine Elektroinstallation inkl. Zähler mit S0 Ausgang geschaffen.
Siehst du eine Möglichkeit das Projekt von https://www.volkszaehler.org/ zu integrieren?
Damit hätte man auch den Verbrauch, der aus dem Netz gezogen wird.
Viele Grüße
Denny
Prinzipiell ist das bestimmt möglich. Aktuell bin ich aber Privat sehr beschäftigt. Vielleicht schaue ich es mir im Herbst / Winter an. Damit es nicht Vergesse, habe ich mir eine GitHub Aufgabe gemacht. Ich selbst habe auch einen Zähler mit S0 Bus.
https://github.com/bassmaster187/TeslaLogger/issues/59
Wenn du Unterstützung zum Beispiel für einen Test benötigst bitte einfach melden.
Hallo Christian, danke für deine super Lösung, bin bisher noch bei teslalog, aber will da weg, weil ich die Daten auch lieber im eigenen Speicher (Synology) haben will.
Nur zweifel ich langsam an meinen Fähigkeiten und komm mit der Installation überhaupt nicht weiter und scheitere ständig an der arm v7 vs v8 Thematik. Will es mit Docker auf einem Raspi 3+B installieren. Aber ich finde kein installierbares Image mit 64Bit als Default?
Mit Raspbian geht es definitiv nicht.
Was mach ich falsch?
Welches Raspi Image ist die beste Basis?
Danke!
Wolfi
Prinzipiell ist kein Raspberry Image gut für den Docker Betrieb. Am besten ist es den Docker nicht über apt-get zu installieren, sondern von der Homepage. Docker-compose genauso.
Ich würde mir aber keine großen Umstände machen. Es gibt ein fertiges Raspberry kit zum kaufen und du unterstützt damit auch unsere Weiterentwicklung.
Hallo,
läuft der Teslalogger auch auf einem Raspberry 4 mit php 7?
Danke!
Noch nicht. Wird aber in den nächsten Wochen freigegeben.
Hi,
ist es möglich 2 Teslalogger Instanzen zusammenzuführen?
Wir haben 2 Raspis am laufen, pro Auto einen.
Gibt es eine Anleitung oder Vorgehensweise, wie man die Daten von einem Raspi auf den anderen übertragen und zusammenführen kann?
Danke!
Nein, ein Raspberry kann nur ein Fahrzeug loggen.
Servus Christian, jetzt habe ich den Teslalogger als Dockerinstanz laufen und sehe auch mein Fahrzeug online. In den Dashboards habe ich allerdings überhaupt keine Daten. Mittlerweile ist das Fahrzeug fast 4,5 Jahre im Betrieb, da sollte doch einiges vorhanden sein. Im Mai diesen Jahres wurde die MCU1 gegen eine neuere MCU1 ausgetauscht. Gibt es da einen Zusammen hang? VG Jörg
Der Teslalogger kann keine historische Daten runterladen. Er kann nur ab Zeitpunkt der Inbetriebnahme loggen.
Hallo Christian
Ich habe von einem funktionierenden Teslalogger die SD-Karte geklont Für einen 2. Teslalogger für unser 2. Fahrzeug. Die Datenbank teslalogger habe ich gelöscht und das Datenbank-Schema von deinem git eingespielt. Teslalogger.exe.config konfiguriert (war nur die car-nummer die geändert werden musste). Der Teslalogger läuft aber sammelt keine Daten. Was habe ich falsch gemacht?
Hier noch die letzten Zeilen des Log-Files nach dem Start des Teslalogger:
26.02.2021 17:38:27 : Housekeeping: database usage (teslalogger)
26.02.2021 17:38:27 : Table: can data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:27 : Table: candata data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:27 : Table: car_version data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:27 : Table: cars data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:27 : Table: charging data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : Table: chargingstate data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : Table: drivestate data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : Table: httpcodes data: 0 MB index: 0 MB rows: 61
26.02.2021 17:38:28 : Table: mothership data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : Table: mothershipcommands data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : Table: pos data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : Table: shiftstate data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : Table: state data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : Table: superchargers data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : Table: superchargerstate data: 0 MB index: 0 MB rows: 0
26.02.2021 17:38:28 : settings file not found at /etc/teslalogger/settings.json
26.02.2021 17:38:28 : settings file not found at /etc/teslalogger/settings.json
26.02.2021 17:38:28 : Housekeeping: database.mothership older than 14 days count: 0 minID:0 maxID:0
26.02.2021 17:38:28 : RunHousekeepingInBackground finished, took 303.737ms
Warum sind alle Tabellen der DB leer? Müsste nicht mindestens in die Tabelle “cars” das Fahrzeug angelegt werden?
Thomas
Hallo Thomas,
der Teslalogger unterstützt mehrere Fahrzeuge. Du kannst einfach das zweite Fahrzeug beim alten Raspberry hinzufügen. Admin-Panel / Settings / Zugangsdaten / New Car
Danke für die Rückmeldung.
Hat geklappt. Ich wusste nicht, dass der Teslalogger unterdessen mehrere Fahrzeuge unterstützt.
Thomas
Hallo Christian,
Danke sehr für die Lösung!
Ich habe ei mir im smarthome bereits exisitierende Installationen von MariaDB, Grafana usw. und würde mir den Teslalogger gerne auf einer vorhandenen VM installieren. Ich hänge jetzt gerade daran, wie ich die Grafana Panel auf meinem vorhandenen Grafana importieren kann. Hast Du da einen Tip?
Das wird ziemlich kompliziert und vor allem Grafana hat diverse Bugs in der neuen Version, die einige Features vom Teslalogger verhindern.
Quick question: I already have the Teslalogger running but I’m now selling the “old” car and getting a new one. Do I need to do anything to starting getting the data from the new car? If yes, what are the recommended steps?
Thank you!
Just add a new car and select the new car as main car.
Have fun with your new car!