{#TE33E} Teslalogger auf Raspberry Pi installieren

Beitragsbild Teslalogger auf dem Raspberry Pi installieren
Beitragsbild Raspberry Pi

Anzeige … Weil es das Gesetz so verlangt (was ist das?)
Der folgende Beitrag ist ein reiner Anleitungs-Artikel ohne Verbindung zu den genannten Marken TESLA, Transcent, Western Digital, AVM/Fritz, Rii oder Teslalogger. Aber die affige Gesetzgebung Deutschlands… ach egal.

Es werden im gesamten Artikel KEINE Affiliate-Links verwendet, es gibt auch kein Sponsoring oder ähnliches.

Seit einem ganzen Jahr fahre ich nun mein geliebtes Tesla Model 3 SR+. Interessanterweise lassen sich eine ganze Menge Live-Daten vom Fahrzeug abgreifen, für einen Daten-Fetischisten wie mich die absolute Erfüllung.
Um diese Daten einigermaßen ordentlich aufzubereiten, gibt es bereits einige Online-Dienste (zum Beispiel TeslaFi oder Tronity), die diese Aufgabe für den Anwender erledigen und die gesammelten Rohdaten besser lesbar ausgeben. Aber nicht jeder möchte gerne seine Fahrzeugdaten irgendeinem Online-Dienst überlassen. Genau dafür gibt es die Software „Teslalogger“.

Die Anwendung läuft auf einem heimischen Raspberry Pi (ich habe sie allerdings auch schon erfolgreich in einer Hyper-V-Umgebung unter Windows laufen lassen) und kann so ganz sicher die Daten des eigenen Teslas sammeln, ohne Angst haben zu müssen, dass diese missbräuchlich verwendet werden.
In dieser Basis-Anleitung zeige ich dir, wie man den Teslalogger in der Docker-Variante auf einem Raspberry Pi installiert. Viel Spaß beim Lesen und nachmachen!

Was findest du in diesem Artikel?

Was ist das Ziel dieser Anleitung?

Ich habe mir am Anfang sehr schwergetan, den Teslalogger in der Docker-Version auf den RasPi zu bekommen. Immer wieder stieß ich auf neue Probleme, die ich erst lösen musste, um dann doch wieder vor einem verbastelten System auf dem RasPi zu sitzen. Nachdem ich dann alle Erfolge und Misserfolge gebündelt hatte, kam ein sauberes System mit fehler- und frustfreier Basis-Installation des Datensammlers dabei heraus.
Diese Anleitung soll nun aufzeigen, wie der Raspberry Pi vorbereitet und eine lauffähige Grundinstallation von Docker, docker-compose und dem Teslalogger erstellt wird.
Auf eine weitere Konfiguration der Software kann und will ich hier allerdings nicht eingehen, dafür gibt es deutlich bessere Anlaufstellen als meinen Blog (Links zu Anlaufpunkten findest du am Ende dieses Beitrages). Vielen Dank für dein Verständnis 🙂

Ich arbeite mit einem Apple-Gerät, daher ist diese Anleitung auch eher an macOS-Nutzer gerichtet. Dennoch kann die Anleitung selbstverständlich auch für Windows genutzt werden, denn hier ist lediglich die verwendete Software für die SSH-Verbindung zum RasPi anders. Hier muss dann einfach eine Anwendung, wie zum Beispiel das kostenlose PuTTY, verwendet werden.
Ich bin mir sicher, dass man die Installation des Teslaloggers auch eleganter bewerkstelligen kann. Aber das hier ist mein für mich funktionierender Weg und diesen gebe ich an dich weiter. Über konstruktive Verbesserungsvorschläge in den Kommentaren freue ich mich natürlich sehr.

Zurück nach oben

Welche Soft- und Hardware wird für diese Anleitung genutzt?

Raspberry Pi 3B mit SD-Karte und Kartenleser

Raspberry Pi OS (64Bit-Version)

balenaEtcher (Optional)

Docker

Teslalogger

Verwendete Hardware für den Teslalogger
Verwendete Hardware für den Teslalogger: Raspberry Pi 3B, SD-Karte und SD-Kartenleser

Zurück nach oben

Feste IP-Adresse für den Teslalogger vergeben

Damit man keine bösen Überraschungen erlebt und der Teslalogger immer schön im Heimnetz erreichbar bleibt, sollte man dem RasPi eine feste IP-Adresse zuweisen.

Feste IP-Vergabe in der Fritz-Box aktivieren
Oberfläche der Fritz!-Box zur Aktivierung der festen IP-Adresse

Zurück nach oben

Das Grundsystem wird auf dem RasPi installiert

Alles neu mit Raspberry Pi OS

Seit kurzem ist die Installation des Grundsystems ein klein wenig komplizierter geworden.
Der übliche Weg war: SD-Karte mit einem Imager beschreiben, SSH freigeben und mit dem Standard-User „pi“ loslegen.

Jetzt, seit April 2022, läuft das ein klein wenig anders. Zuallererst benötigt man den Raspberry Pi OS Installer. Dieser Installer (erhältlich für macOS, Windows und Linux) hat einen kleinen Vorteil, man benötigt keinen SD-Karten-Imager, wie zum Beispiel belanaEtcher oder „Win32 Disk Imager“, mehr. Diese Funktionalität bringt das Rasberry Pi OS nun automatisch mit. Den Download des Imagers findest du hier.

Download des Raspberry Pi Imagers
Downloadseite des Raspberry Pi OS Imagers

Installation des Raspberry Pi OS

Im ersten Schritt wird die Installer-Datei geöffnet und das Betriebssystem, sowie die zu beschreibende SD-Karte ausgewählt.

Ich habe mich hier für die Version „Raspberry Pi OS (64-bit)“ mit Desktop entschieden, da ich die Desktop-Oberfläche gerne via Remote Desktop nutzen möchte.

Der gestartete Raspberry Pi OS Imager
Der gestartete Raspberry Pi OS Imager

Mit dem Klick auf Schreiben geht es auch schon los, damit ist die Grundinstallation des Betriebssystems auch schon erledigt.

SD-Karte auch mit Imager-Software beschreibbar

Natürlich kannst du deine SD-Karte auch mit einem Imager-Tool, wie dem balenaEtcher oder Win32 Disk Imager, beschreiben. Wie das geht, habe ich bereits in diesem Artikel ausführlich beschrieben. Das Image für diese Installationsart findest du dann hier.

Zurück nach oben

Ein bisschen Konfig muss sein, nur wo steckt der Nutzer „pi“?

Wie bereits erwähnt, aus Sicherheitsgründen hat man neuerdings den Standard-User „pi“ entfernt, was das Aufsetzen des Systems nun ein klein wenig komplizierter macht.
Nach dem Beschreiben der SD-Karte solltest du den RasPi, um den Konfigurationsdialog lesen zu können, über die interne HDMI-Schnittstelle an einen Monitor oder Fernseher anschließen.
Des Weiteren benötigst du auch noch eine Tastatur und eine Maus, alternativ eine kleine Kombi-Tastatur. Ich besitze dafür seit langer Zeit eine kleine Tastatur von Rii. Diese funktioniert dank dem eingebauten TouchF-feld für diese Zwecke wirklich großartig, abgesehen davon wird die Wartung unserer Hörspiel-RasPis durch das handliche Format deutlich einfacher. Das ist nur eine Empfehlung meinerseits, keine Werbung für diese Tastatur 😉

NextcloudPi Teil 4: Tastatur Rii i8+
Tastatur Rii i8+

Wenn du nun deinen RasPi mit der nötigen Hardware, deinem Netzwerk (am besten mit über ein Ethernet-Kabel) und einem Bildschirm verbunden hast, begrüßt dich nach der Boot-Sequenz recht schnell der Willkommen-Screen.

Willkommensbild zum Start der Installation des Raspberry Pi OS
Willkommensbild zum Start der Installation des Raspberry Pi OS

Einer der ersten Schritte ist die Auswahl des Landes, der Sprache und der Zeitzone.

Sprachauswahl bei der Installation des Raspberry Pi OS
Sprachauswahl bei der Installation des Raspberry Pi OS

Gleich danach musst du den User und das Passwort festlegen. Für diese Anleitung habe ich den User „tesla“ mit dem Passwort „teslalogger“ verwendet. Merk dir diese Daten gut, du brauchst sie später, um dich via SSH auf dem Raspberry Pi einzuloggen und Docker zu konfigurieren. Das sind NICHT die Zugangsdaten für den Teslalogger. Selbstverständlich kannst du hier auch deine eigenen Zugangsdaten eingeben 😉

Auswahl Username und Passwort während der Raspberry Pi OS-Installation
Auswahl Username und Passwort während der Raspberry Pi OS-Installation

Während dem Konfigurationsdialog wird man aufgefordert, WLAN-Daten einzugeben. Das habe ich übersprungen, da ich den RasPi direkt über ein Kabel mit dem Router verbinde.
Natürlich steht dir frei, WLAN zu verwenden. Dann musst du aber darauf achten, dass die vorher festgelegte Konfiguration im Router ggf. noch einmal angepasst werden muss.
Wenn das Installationstool durchgelaufen und der Raspberry Pi neu gestartet ist, dann musst du in dessen Konfiguration die Optionen SSH und optional, wenn du wie ich mit dem Remote Desktop auf den RasPi zugreifen möchtest, VNC aktivieren. Du findest das Konfigurationstool unter STARTMENÜ -> EINSTELLUNGEN -> RASPBERRY PI-KONFIGURATION.

SSH und VNC auf dem Raspberry Pi OS-Desktop aktivieren
SSH und VNC auf dem Raspberry Pi OS-Desktop aktivieren

Damit sind Installation und Konfiguration des Grundsystems abgeschlossen.
Nun kannst du den RasPi herunterfahren, die verbundene Peripherie entfernen und den Rasberry Pi an seinem neuen Arbeitsplatz aufstellen.

Zurück nach oben

Via SSH mit dem Raspberry Pi verbinden

Via SSH auf dem Raspberry Pi einloggen
Via SSH auf dem Raspberry Pi einloggen

Hilfe, ich hab den RasPi verbeult!

Solltest du bereits viel mit deinem RasPi ausprobiert haben, so wie ich, kann es leicht passieren, dass du beim Versuch, dich mit dem Minicomputer zu verbinden ,die Fehlermeldung „WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED…“ zu Gesicht bekommst. Was es damit auf sich hat, kannst du zum Beispiel hier nachlesen. Dort findest du auch Wege unter macOS und Windows, um das Problem zu lösen.

Verwendest du ebenfalls wie ich einen Mac, dann gib folgendes in deiner Terminal-Software ein (dazu ist keine Verbindung zum RasPi notwendig, würde ja momentan eh nicht gehen):

ssh-keygen -R "[SERVER-NAME]oder[IP-ADRESSE]"

Im Anschluss daran sollte sich dein Computer nach dem Einsetzen der SD-Karte wieder per SSH mit dem RasPi verbinden lassen.

Jetzt aber echt, verbinden des Rasberry Pi via SSH

Ich verwende hier die App „iTerm2“ aus dem Apple Appstore. Die SSH-Verbindung funktioniert natürlich auch mit der Standard-App „Terminal“, die unter macOS automatisch vorinstalliert ist. Unter Windows verwendest du eben das bereits oben erwähnte Tool PuTTY (oder was du auch immer dafür einsetzen möchtest).

Hast du deinen Terminal-Client geöffnet, dann gibst du folgendes in der Kommandozeile ein:

ssh tesla@[IP-ADRESSE DEINES RASPI]

Oder, falls du einen anderen Port als den Standardport 22 verwenden solltest:

ssh -p [PORTNUMMER] tesla@[IP-ADRESSE DEINES RASPI]

Username und Passwort sind hier die im vorherigen Abschnitt konfigurierten Daten, also „tesla“ und „teslalogger„. Hast du andere Login-Daten erstellt, dann verwendest du natürlich diese.
Für den Fall, dass du noch nie etwas mit der Kommandozeile des RasPi zu tun hattest: nicht wundern, wenn sich während der Passworteingabe im Eingabefeld nichts bewegt, das gehört so. Einfach Passwort eintippen und mit Return bestätigen.

Zurück nach oben

Docker installieren

Nun geht es aber los mit dem Unterbau des Teslaloggers. Hierfür wird die Open-Source-Software Docker verwendet.
Wenn du nicht weißt, wofür Docker gut ist, hier findest du einen kleinen Überblick über das mächtige Programm.

Nun zur Installation der Software. Da wir gerade erst ein nagelneues OS aufgesetzt haben, musst du zuerst das Betriebssystem aktualisieren. Solltest du das bereits im Rahmen der Raspberry Pi OS-Installation erledigt haben, dann kannst du dir diesen Schritt sparen.

sudo apt-get update && sudo apt-get upgrade

Nach der Aktualisierung des Betriebssystems sollte der RasPi noch einmal neu gestartet werden.

sudo shutdown -r now

Nach dem hoffentlich erfolgreichen Neustart wird nun das Install-Skript für Docker aufgerufen.

sudo curl -fsSL https://get.docker.com | sh

Ist das Skript durchgelaufen, muss der zuvor angelegte User „tesla“ der Docker-Gruppe „docker“ hinzugefügt werden.

sudo usermod -aG docker tesla

Nun noch schnell die Version und Informationen der installierten Software prüfen…

sudo docker version
sudo docker info

… und für den letzten großen Test die Docker Hello-World-Demo starten.

sudo docker run hello-world
Test von Docker mit Hello-World-Demo
Test der Docker-Installation mit Hello-World-Demo

Zurück nach oben

Nichts geht für den Teslalogger ohne docker-compose

Im nächsten Schritt wird pip3 (ein Paketverwaltungsprogramm für Python), Python3 und docker-compose installiert.

sudo apt-get install libffi-dev libssl-dev
sudo apt install python3-dev
sudo apt-get install -y python3 python3-pip
sudo pip3 install docker-compose 
sudo apt-get install docker-compose
(vielen Dank an Andreas für den Hinweis, dass man apt-get und pip3 nicht mischen sollte)

Darüber hinaus soll Docker automatisch nach einem Reboot des kleinen Computers starten.

sudo systemctl enable docker

Die Installation von docker-compose kann dann noch einmal mit folgender Zeile überprüft werden.

docker-compose -v

Zurück nach oben

Klonen des Teslaloggers

Nun wird es ernst, der Docker-Teslalogger wird von Github gezogen.

git clone https://github.com/bassmaster187/TeslaLogger

Zurück nach oben

Config-Files für den Teslalogger erstellen und bearbeiten

Anschließend wird das Konfigurationsfile für die Anwendung erstellt…

cp TeslaLogger/TeslaLogger/App.config TeslaLogger/TeslaLogger/bin/TeslaLogger.exe.config

… und bearbeitet.

nano TeslaLogger/TeslaLogger/bin/TeslaLogger.exe.config

Sollte nano aus welchem Grund auch immer in deinem System fehlen, dann kannst du das Programm natürlich noch im Nachhinein installierten.

sudo apt-get install nano


In der Zeile „setting name=“DBConnectionstring“… werden die Zugangsdaten zur Datenbank eingetragen. Das sieht dann so aus:

<value>Server=database;Database=teslalogger;Uid=root;Password=teslalogger;CharSet=utf8;</value>
Ansicht des Teslalogger-Konfigurationsfiles zur Eingabe des DBConnectionstring
Teslalogger Config-File, geöffnet mit Nano

Um Nano zu beenden und damit die Bearbeitung der Konfigurations-Datei abzuschließen, benötigst du zwei Tastenkombinationen.
Mit „STRG – O“ speicherst du die Datei, mit der Kombination „STRG – X“ verlässt du den Editor.
Anschließend landest du wieder in der Terminal-Eingabeaufforderung und kannst mit dem nächsten Punkt fortfahren.

Zurück nach oben

Docker-Container Teslalogger wird erstellt

Nun wird zu guter Letzt der Container für Docker erstellt.

cd TeslaLogger
sudo docker-compose build
sudo docker-compose up -d

Zurück nach oben

Admin-Panel aufrufen

Docker läuft, die Anwendung steht, jetzt kann zum ersten großen Test das Admin-Panel, welches mit noch ein paar Einstellungsmöglichkeiten auf dich wartet, aufgerufen werden. Du erreichst das Admin-Dashboard (Default-User und -Passwort: „admin“ / „teslalogger“) so:

http://[IP-ADRESSE DES RASPI]:8888/admin
Ansicht der Startseite des Teslalogger Admin-Panels
Teslalogger Admin-Panel Startseite

Du kannst aber natürlich auch direkt auf die Grafana-Oberfläche mit deinen gesammelten Daten zugreifen:

http://[IP-ADRESSE DES RASPI]:3000
Loginin-Screen der Oberfläche Grafana
Login-Screen der Oberfläche Grafana

Zurück nach oben

*Update* Verbindung zu Grafana herstellen

Sollte die Verbindung aus dem Admin-Panel zu den Grafana-Boards nicht klappen, dann bitte noch einmal prüfen, ob die URL-Angaben in den Einstellungen des Admin-Panels richtig sind.
Unter „URL Admin Panel“ und „URL Grafana“ sollte entweder der richtige, in der Fritz-Box vergebene Name, oder die IP-Adresse das RasPi angegeben werden. Port-Angaben bitte nicht vergessen! Ich persönlich bevorzuge hier die IP-Adresse.

Auf dem Bild sind Einstellungsoptionen aus dem Teslalogger-Admin-Panel zu sehen. Die wichtigen Einstellungen betreffen die Punkte URLAdminPanel und URL Grafana.

Zurück nach oben

Letzte Worte und wichtige Links

Damit hat man nun eine funktionierende Basis-Installation des Docker-Teslaloggers, das Ziel dieser Schritt-für-Schritt-Anleitung wurde damit hoffentlich erreicht 🙂


Natürlich musst du hier noch selbst Hand anlegen und die Anwendung zu Ende konfigurieren. Du kannst auch einen Fernzugang einrichten, um von außerhalb deines Heimnetzes auf den RasPi zugreifen zu können. Wenn du die App „ScanMyT3sla“ besitzt, dann können auch diese Daten im Teslalogger gesammelt werden. Möglichkeiten gibt es viele, als guten Anlaufpunkt sehe ich hier zum Beispiel den Faden „Teslalogger mit Raspberry Pi & MySql & Grafana & OSM“ des TFF-Forums oder die Github-Seite des Entwicklers. Alternativ kannst du dir auch einen fertig konfigurierten Raspberry Pi auf dessen Seite https://e-mobility-driving-solutions.com bestellen oder ihm via PayPal eine Spende zukommen lassen, um das Projekt ein wenig zu unterstützen.

Ich hoffe, die Anleitung konnte dir ein wenig helfen. Viel Erfolg beim tracken deines Teslas!


Vielen Dank für das Lesen dieses Blog-Beitrags, bis zum nächsten Mal und haltet immer eure Galionsfigur sauber,
euer Michael, der Couchpirat… Arrrr!

Zurück nach oben

10 Antworten

  1. Uwe Carstensen sagt:

    Danke für die super Anleitung!
    Habe viele andere probiert, aber mit deiner hat es endlich geklappt.

    Viele Grüße!
    Uwe

  2. Bernhard Kather sagt:

    Hallo,

    danke für deine Anleitung.

    Habe nur ein Problem, evtl. kannst du mit da helfen?
    Diese Befehl brauchte einen Fehler:
    sudo pip3 install docker-compose

    Es kommt diese Meldung:

    be@raspberrypi:/TeslaLogger $ sudo pip3 install docker-compose
    error: externally-managed-environment

    × This environment is externally managed
    ╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    For more information visit http://rptl.io/venv

    note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing –break-system-packages.
    hint: See PEP 668 for the detailed specification.

    Mit dem Befehl:
    sudo apt install docker-compose

    Wurde docker-compose installiert, was denkst du, ist das ein Problem?

    Danke für dein Feedback

    Viele Grüsse
    Bernhard

  3. Andreas sagt:

    Hi, hierzu: error: externally-managed-environment

    Ich hatte das heute auch und sie erklären es eigentlich ganz gut. Es sei eine ziemlich Falle, apt und pip zu mischen.
    Wenn man jetzt einfach nur apt verwendet, also anstatt Deines Befehles:
    sudo pip3 install docker-compose

    diesen verwendet:
    sudo apt-get install docker-compose

    dann meckert nichts und es geht auch gut. (Ging zumindest bei mir)

    LG
    Andreas

    • Michael sagt:

      Hallo Andreas,
      vielen Dank für deinen Kommentar. Ich hatte damals meinen Weg, der für mich funktioniert hat, aufgeschrieben. Aber ich werde den Artikel gerne noch um deine Befehlszeile ergänzen. Schließlich sollen bei der Installation des Teslaloggers so wenig Fehler wie möglich geschehen 🙂 VG Michael

  4. tommy sagt:

    HEy, danke für die Anleitung. Ich habe alles installiert, unter teslalogger.fritz.box:8888/admin wird das Fahrzeug angezeigt (mit km, firmware etc.), aber sobald ich ein Dashboard (Grafana) anzeigen lassen will, dann kommt nur eine Fehlermeldung:

    „Not Found
    The requested URL was not found on this server.

    Apache/2.4.38 (Debian) Server at teslalogger.fritz.box Port 8888“

    Die Adresse (z.b.teslalogger.fritz.box:3000 bzw. IPADRESSE:3000) Grafana/Admin ist selbstverständlich richtig. Die Grafanaseite ist erreichbar, beinhaltet jedoch keine Dashboards.

    • Michael sagt:

      Hallo Tommy,
      ehrlich gesagt bin ich da leider total überfragt. Ich hätte spontan auf eine falsche Adresse in den Einstellungen des Teslaloggers getippt oder dir geraten, das ganze mal nur mit der IP-Adresse auszuprobieren. Aber das scheinst du ja alles bereits gemacht zu haben.
      Daher ist dann wohl das TFF-Forum die bessere Anlaufstelle, ich hab spontan leider keine Lösung parat 🙁
      Viele Grüße Michael

  5. Andi sagt:

    Hi, ich bin begeistert, die Anleitung funktioniert nach wie vor tadellos und ohne irgendwelche Mätzchen. Das erlebt man in anderen Tutorials häufig anders, z.B. sehr vage Beschreibungen von Schritten („so, nun noch schnell den Kernel neu komplieren, muss ich ja nicht extra beschreiben“).
    All das hast du dankbarerweise nicht gemacht. Wenn du die Anleitung noch „einsteigerfreundlicher“ gestalten möchtest müsstest du eigentlich nur noch im Schritt „Config-Files für den Teslalogger erstellen und bearbeiten“ dazu schreiben, wie man unter nano die datei speichert und schließt. Hab z.B. nur alle Jubeljahre lang was mit Linux zu tun und musste erstmal wieder googeln.

    Ansonsten wie gesagt top Arbeit, funktioniert auch unter Windows wie beschrieben! Danke, Danke, Danke!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

DerCouchpirat