Teslalogger auf Synology installieren

Da ich mit der Installation des Teslalogger auf meiner DS220+ von Synology einige Probleme hatte, gibt es hier nochmal eine genaue Anleitung Schritt für Schritt auf Deutsch.

Teslalogger – Synology NAS Installation

1. Auf dem Synology NAS einloggen und aus dem Paketzentrum Docker und Git Server installieren.

2. Beides jeweils einmal starten um zu schauen, ob die beiden Anwendungen auch laufen.

3. SSH (Secure Shelll) auf die NAS einrichten, hier ist eine Anleitung von Synology, wie du das machst.

4. Wenn du eingeloggt bist, ’sudo -i‘ eingeben, um Root-Benutzer zu werden. Das Passwort ist das gleiche, wie dass für das Admin-Konto der NAS.

5. Schnell nochmal zurück zum Paketzentrum und nachschauen, auf welchem Volume der NAS die Anwendung Docker installiert ist und dies merken. In den meisten Fällen auf volume1.

6. Nun in der SSH-Sitzung auf dem Volume in das Docker-Verzeichnis wechseln,  mit cd /volume1/docker

7. Jetzt in der SSH-Sitzung folgendes eingeben: ‚git clone https://github.com/bassmaster187/TeslaLogger‘. Der TeslaLogger wird heruntergeladen und installiert.

8. Anschließend einen leeren Ordner mit dem Namen GrafanaDashboards erstellen z.B. /volume1/docker/TeslaLogger/TeslaLogger/GrafanaDashboards

9. Nun die folgenden config-Datei aus einer anderen erstellen.

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

10. Die Datei docker/TeslaLogger/TeslaLogger/bin/TeslaLogger.exe.config bearbeiten z. B. mit dem Windowseditor, die Datei herunterladen, bearbeiten und wieder hochladen. Hinter dem Part TeslaPasswort folgenden Teil einfügen: Server=database;Database=teslalogger;Uid=root;Password=teslalogger;
Das muss dann so aussehen:

Hier ist die TeslaLogger.exe.config zu finden, auf die Sortierung achten, diese ist meist nach Dateityp und nicht nach Name sortiert:

11. Nun die Datei „Dockerfile“ im Ordner „Teslalogger/docker/teslalogger“ mit einem beliebigen Editor öffnen, z.B. auch wieder mit dem Editor von Windows.
In Zeile 1 muss nun „FROM mono:5.20.1.34“ auf „FROM mono“ geändert werden.

12. Jetzt ist alles Bereit, in der SSH-Sitzung in den Ordner TeslaLogger wechseln, mit cd Teslalogger und folgende zwei Befehle nacheinander ausführen:

docker-compose build
docker-compose up -d

Nach 1 bis 2 Minuten sollte alles laufen, bitte etwas Geduld haben bis die Datenbanken laufen, dies kann man auch direkt in Docker auf der NAS Oberfläche sehen.

13. Versuche dich mit deinem bevorzugten Browser mit Grafana zu verbinden: http://localhost:3000 (admin/teslalogger).
Bei localhost musst du die lokale IP deiner Synology NAS eingeben, z.B. so: http://192.168.42.24:3000

14. Versuche dich mit dem Admin-Panel http://localhost:8888/admin/ zu verbinden, auch hier wieder deine lokale IP der NAS eingeben.

15. Gehe zu Einstellungen / MyTesla-Anmeldeinformationen / Erstes Auto bearbeiten. Gib die Tesla-Anmeldeinformationen / Token ein, um dich mit deinem Auto zu verbinden.

16. Alles weitere findest du im Handbuch zum Teslalogger. https://teslalogger.de/Teslalogger.pdf

 

Docker aktualisieren

Normalerweise aktualisierst du den Teslalogger im Admin-Panel, indem du auf die Schaltfläche „Update“ klickst. Wenn es Updates für das Subsystems gibt, musst du die neueste docker-compose.yam-Datei abrufen.

docker-compose stop
git fetch
git reset --hard origin/master
git checkout origin/master -- docker-compose.yml
git checkout origin/master -- TeslaLogger/GrafanaConfig/datasource.yaml
docker-compose build
docker-compose up -d

Problemlösungen

1. Initialisierungs-Skripte wie das DB-Tabellen-Setup funktionieren nicht

Auf langsameren Geräten wie NAS-Geräten werden die Init-Skripte von Teslalogger beim ersten Durchlauf möglicherweise nicht erfolgreich ausgeführt. Sie können den Container teslalogger_teslalogger_1 nach ~ 5 Minuten neu starten. Dies sollte fehlende Tabellen in der Datenbank erstellen und kann leicht über die Protokolldateien beobachtet werden. Bei Bedarf ein paar Mal wiederholen. Ein hilfreicher Befehl ist:

docker restart teslalogger_teslalogger_1 2. Nicht funktionierende Container-Images oder Build-Caches

Wenn du nichts anderes in den Containern ausführst und in seltsamem Verhalten oder Fehlern feststeckst, versuche die vorhandenen Container-Images, Netzwerke und Build-Caches zu bereinigen:

docker system prune # vorher alle Container mit docker-compose stop anhalten