Fancy Visualisierungen

Es kommt bei mir nicht selten vor, dass Fancy Visualisierungen von Daten ein “Wow” auslösen. Ein Stück dieses Wow-Effektes will ich dir heute zeigen. In diesem Beitrag zeige ich dir, wie du mit Grafana, Influxdb und einem Python Skript, die API Daten deines Teslas visualisieren kannst.

Hintergrund

Es gibt zahlreiche Web Services wie Teslafi oder Teslaspy. Die Weitergabe des Tesla Account Passwortes an Dritte ist aber nicht gerade vorteilhaft. Liegt ein Raspberry Pi oder Linux Maschine zu Hause rum, erhält man eine noch bessere kostenfreie Lösung.

Voraussetzungen

Grafana, Influxdb und das Python Skript zum abfragen der Tesla API, können auf einer Linux Maschine oder einem Raspberry Pi installiert werden. Hat man bereits eine laufende Grafana und Influxdb Instanz, empfehle ich diese zu verwenden. Obwohl ich Grafana und Influxdb bereits seit mehreren Jahren privat verwende, zeige ich dir hier alle Konfigurationsschritte von Anfang bis Anschluss. Ich verwende an dieser Stelle ein Raspberry PI 3.

Docker

Die Installation via Docker vereinfacht den ganzen Ablauf stark, wer dennoch auf Docker verzichten will, kann sich unter https://github.com/lephisto/tesla-apiscraper die nötigen Informationen holen. Diese Anleitung setzt jedoch auf Docker.

Let’s go

Zuerst muss das Repository geklont werden

git clone https://github.com/lephisto/tesla-apiscraper

Wenn git nicht vorinstalliert ist

sudo apt-get install git

Docker installiert man mit

curl -fsSL get.docker.com -o get-docker.sh && sudo sh get-docker.sh

Zudem muss Docker Compose mitinstalliert werden

sudo apt-get install docker-compose

Die Konfiguration kopieren

cp config.py.compose config.py

Anpassen mit

nano config.py

Es sei hier angemerkt, dass mindestens die Tesla Account Daten hinzugefügt werden müssen. Hast du keine Verwendung für die Android App die in der Konfiguration erwähnt wird, dann setzt die Variable a_enable_api auf False. Nun erstellst du das Logfile, damit dieses in den Docker Container gemountet werden kann.

touch apiscraper.log

Für den persistenten Speicher des Containers braucht es drei weitere Befehle.

sudo mkdir -p /opt/apiscraper/influxdb sudo mkdir -p /opt/apiscraper/grafana sudo chown 472 /opt/apiscraper/grafana

Der Docker Stack lässt sich nun starten

./dashboard2docker.sh docker-compose up -d

Beim ersten Ausführen dauert dieser Prozess ein Wenig länger, da zuerst alle Docker Images heruntergeladen werden müssen. Ist der Stack einmal online, erreicht man das Grafana Dashboard unter http://ip:3000 (ip muss hier natürlich mit der tatsächlichen IP Adresse ersetzt werden). Stoppen lässt sich der Docker Stack mit.

docker-compose down

Die Docker Images von Grafana und Influxdb werden immer wieder auf den neuesten Stand gebracht. Somit empfiehlt es sich von Zeit zu Zeit die folgenden Befehle auszuführen, um die Images auf den letzten Stand zu bringen.

docker-compose pull docker-compose build --build-arg CACHEBUST=$(date +%s) apiscraper docker-compose up --force-recreate --build

Damit das Abfragen der Tesla API Daten auch nach einem Neustart des Systems direkt anläuft, muss ein Service eingerichtet werden

sudo cp tesla-apiscraper.service /lib/systemd/system sudo systemctl daemon-reload sudo systemctl enable tesla-apiscraper.service

Grafana

Das Passwort der Users admin lautet beim ersten Start von Grafana admin. Grafana fordert dich jedoch direkt auf, ein neues Passwort einzugeben. Unter Dashboards lässt sich ein vorkonfiguriertes Dashboard mit dem Namen Tesla Metrics V2 vorfinden. Ist man mit dem Tesla Metrics V2 Dashboard nicht zufrieden, kann man eines nach dem eigenen Gusto erstellen. Lass mich in den Kommentaren wissen, ob du einen detaillierten Beitrag zum Thema Grafana möchtest.

Disclaimer

Zu oftes Abfragen der Tesla API Daten kann zu erhöhtem Energieverbrauch des Fahrzeuges führen. Die Variablen a_allow_sleep und a_maximum_sleep in der Konfiguration, können bei der Optimierung helfen.

“Buy Me A Coffee”