72 Gedanken zu „Tesla Logger mit RaspberryPi 3 + MySQL + Grafana“

  1. Super Sache!
    Würdest du den Source Code zur Verfügung stellen, so dass Erweiterungen Programmiert werden können, somit diese dann auch wieder der Community zur Verfügung stehen?

  2. Hallo Christian

    GAAANZ grossen Respekt. Hab einen PI genommen der bei mit rumlag, deine Anleitung befolgt und das Ding gestartet. Beim 1. Versuch erfolgreich. Das wahrlich nicht immer so.
    Vielen Dank für das tolle Programm und die Anleitung.

    Aber wie das immer so ist wenn einer lobt:
    Ich habe noch ein “Luxusproblem”, ich habe drei Teslas. Und auch beim durchsehen des Codes habe ich nicht gefunden wo ich einen auswählen könnte. In WebHelper GetVehicles() scheint der erste Listeneintrag genommen zu werden. Mir würde es völlig reichen in der TeslaLogger.exe.config den Index des Fahrzeugs anzugeben das ich Loggen möchte (Soweit ich weiss entspricht die Reihenfolge in der API der in der APP und ist aufsteigend nach VIN sortiert), Ich habe zwar vor 35 Jahre als Programmierer angefangen und kann Code noch einigermassen lesen und verstehen, bin aber seit 15 Jahren aus der Nummer raus, daher ist selber anpassen leider keine Option. Wenn du mal wieder einen Update machst wäre es Klasse wenn Du an der Stelle tätig werden könntest.

    Aber auch so: tolle Sache und alle Daten daheim 🙂

  3. Hallo Christian, ersteinmal vielen Dank für so ein tolles Projekt. Wie ich dir schon einmal geschrieben habe, läuft bei mir ein Raspi, allerdings ist seine Auslastung eher “unterbelichtet”. Da ich aber nicht weiß, wie ich die Dinge aus deinem Projekt darauf installieren kann habe ich mir einfach einen neuen Raspi geleistet, das Image installiert und nach deiner Anleitung die Zugangsdaten angepasst. Beim Aufruf der Auswertung war soweit, wie ich es beurteilen kann, alles da. Nun habe ich allerdings erst daten, die ab der Erstinstallation vom Tesla abgerufen wurden. Ist das richtig? Kann ich auch ältere Daten noch abrufen? Vielleicht wäre auch ein Youtube Video ganz toll.
    Viele Herzliche Grüße
    Reinhard

  4. Wie funktioniert das mit der geofence.csv?
    Ich habe meine Heimadresse angelegt Aufbau ist genau wie bei den per default hinterlegten Zeilen.

    In Grafana wird aber der von mir hinterlegte Name nicht angezeigt. Ein klick im Adminbereich auf den geofence Button hat eben so wenig zu Erfolg geführt wie ein anschließender reboot. Muss man noch etwas spezielles machen damit es funktioniert?

    Grüße
    Oliver

      1. Im Adminbereich wird mir der Inhalt der CSV Datei ausgegeben, inkl. meiner Einträge.

        Die Rechte der Datei sind:
        -rwxr–r– 1 pi pi 264 Jan 14 21:03 geofence.csv

        Tortzdem zeigt er mir den Namen in der Ladehistory nicht an.

        1. Alte Daten werden nicht nachträglich verändert. Funktioniert das denn für Fahrten oder Ladungen nachdem Du die geofence.csv verändert und neu gestartet hast? Sind die Einträge der geofence.csv im Logfile, wenn du neu startest?

          1. Ahh, bin seit dem Einspielen der Geodaten nicht mehr gefahren und hatte nur immer unter “Vampir Drain” und “Ladehistory” nachgesehen. Bin aber mal eben kurz gefahren, beim neuen Trip stimmt es jetzt.

            Der Punkt “Gefence” im Adminbereich zeigt aber nur die hinterlegten Daten und ist kein Button um das einlesen einer veränderten gefence.csv anzustoßen, richtig? Also zukünftig nur die Datei überarbeiten und zur Sicherheit einen reboot machen.

          2. Richtig. Das ist mal so geplant, dass man eine hübsche Oberfläche hat, wo man seine POIs komfortabel eingeben kann und es entsteht dann automatisch die Datei. Deshalb hab ich jetzt nicht angefangen da großartig eine Doku zu schreiben. Also: editieren und neu starten. Dann werden zukünftige Daten berücksichtigt.

  5. Vielen Dank für die Arbeit. Fast alles funktioniert perfekt. Leider erkennt er das schlafen nicht richtig – wie aus dem LogFile zu erkennen ist:
    18.01.2019 17:23:54 : Waiting for car to go to sleep 20
    18.01.2019 17:24:56 : online
    18.01.2019 17:40:06 : Waiting for car to go to sleep 0
    Leider kann ich mit dem Tasker nicht arbeiten da ich hinter einem IP V6 / DSLight anschluss hänge und ich von außen nicht rein komme.
    Im Schnitt meldet er erst nach 3-4 Stunden dass er schläft – über mehrere Tage getestet.
    Was mache ich falsch?

    1. Das der Tesla oft gut und gerne 3 Stunden braucht um schlafen zu gehen ist normal. Nach jeder Fahrt muss er erstmal nachhause anrufen und Daten verschicken 🙂
      Ich werde mir eine Lösung einfallen lassen für IP V6 / DSL-Light

      1. Vielen Dank für deine Mühen! Es ist eine echte Bereicherung wenn ich mir die Daten / Statistiken ansehe. Leider treffe ich außergewöhnlich oft genau die 21min und es fehlen Daten die das Auswerten erschweren. Ich habe mich schon oft über den “beschränkten” Zugang geärgert – leider kommt in meiner Situation kein anderer in Frage. Wieso die Hersteller der Router keine vernünfige IP V6 Firewall liefern ist mir auch ein Rätsel. IP V6 auf machen ist also auch keine Lösung. Gibt es überhaupt eine Möglichkeit für DSL-Light ohne externen Server?
        Anyways vielen Dank dass du auf der Suche nach einer Lösung bist.

          1. Hallo Christian
            Habe eben auf die letzte Version geupdatet und was kann ich sagen – es ist Perfekt! Spende ist unterwegs!
            Meine Frau killt mich morgen weil ich nicht schlafen gehe aber die Einbindung über MQTT in OpenHab kann ich mir jetzt nicht nehmen lassen 😀

            Klasse Projekt – ich freue mich schon auf die kommenden Neuigkeiten.

            Lg
            Martin

          2. Hallo Christian
            Heute hatte ich volgendes Phänomen:

            20.02.2019 18:28:11 : Unhandled State: NULL
            20.02.2019 18:28:12 : Unhandled State: NULL
            20.02.2019 18:28:13 : Unhandled State: NULL
            20.02.2019 18:28:14 : Unhandled State: NULL
            20.02.2019 18:28:15 : Unhandled State: NULL
            20.02.2019 18:28:16 : Unhandled State: NULL
            20.02.2019 18:28:17 : Unhandled State: NULL
            20.02.2019 18:28:18 : Unhandled State: NULL
            20.02.2019 18:28:19 : Unhandled State: NULL
            20.02.2019 18:28:20 : Unhandled State: NULL
            20.02.2019 18:28:22 : Unhandled State: NULL
            20.02.2019 18:28:23 : Unhandled State: NULL
            20.02.2019 18:28:24 : Unhandled State: NULL
            20.02.2019 18:28:25 : Unhandled State: NULL
            20.02.2019 18:28:26 : Unhandled State: NULL
            -Das komplette LOG-File ist voll
            Er hat nichts aufgezeichnet…
            Habe gestern abend ein Update auf die 1.27.0.0 gemacht.
            Ist das bekannt?

  6. Hallo Christian, du verwendest OpenStreetMap für die Fahrtroutenanzeige. Gibt es dafür auch eine aktuelle Karte?
    Ich hatte letzte Woche eine Spende geschickt. Ist sie bei dir nicht angekommen?
    Gruß Reinhard

    1. Hallo Reinhard,

      ja, die Spende ist angekommen. Vielen lieben Dank.
      Wie meinst du eine aktuelle Karte? Die Karten werden regelmäßig neu gerendert und auf den Tileserver upgeloaded.
      Die Aktualität ist vermutlich von Ort zu Ort unterschiedlich. Ich wohne laut Google Maps auf einem Maisfeld und das schon seit 7 Jahre. In Openstreetmap ist seit ca 5 Jahre ist meine Straße eingezeichnet und sogar mein Haus und Garage. Häuser, die 2018 gebaut wurden sind aber noch nicht drin.
      Was du auch machen kannst sind die unterschiedlichen Layer umschalten. Oben rechts in der Karte auf die “Blätter” drücken. Je nach Zoomstufe, kannst du andere Layer auswählen.

      1. Hallo Christian,
        Ja, das mit der Karte hat mich gewundert. Mein Haus ist da nicht eingezeichnet, obwohl wir schon seit 20 Jahren dort wohnen, die Nachbarn aber schon, obwohl sie noch nicht so lange da wohnen.
        Heute habe ich mal auf die V 1.12 upgedatet. Wen man sonst nichts mit GitHub zu tun hatte, ist das schon ein bisschen umständlich. Du hattest ja schon in der Beschreibung kurz geschildert, was man da machen muss. Ich hoffe, es ist jetzt alles soweit ok. Zumindest wurden heute meine Fahrt und das Aufladen aufgezeichnet. Beim Neustart konnte ich zwar den “Knopf” drücken, jedoch verschwand dann das Bild auf dem Browser und nach einer kurzen Zeit kam die Fehkermeldung der Zeitüberschreitung. Allerdings hatte das wohl keinen Einfluss auf das neu gestartete Programm.
        Wofür sind eigentlich die Angaben zu SuC oder SC in geofensic?
        elektrische Grüße
        Reinhard

        1. Hallo Reinhard,

          die neue Version von gestern Nacht updatet schon mal die Admin Seiten automatisch. Grafana wird auch noch bald automatisch upgedatet.

          Neustart ist in der neuesten Version auch ohne “Zeitüberschreitung”

          Geofencing Datei ist dazu da, dass man nicht einfach nur eine Adresse sieht, sondern einen bekannten Namen, wie z.B. “Home”, “Arbeit”, “Großeltern” oder aber “Supercharger Ulm”

  7. Hallo Christian,
    sehr tolle Lösung. Ich habe Ihnen gerade einen Betrag gespendet. Falls Sie die Software weiter entwickeln, bin ich auch gerne bereit jedes Jahr zu spenden.
    Danke für die tolle Arbeit.
    elektrische Grüße
    Christian

  8. Hallo Christian,
    ich habe eine 32GB micro SD Karte im Raspi. Wie sieht es eigentlich mit der speicherbaren Datenmenge aus? In welchen zeitlichen Abständen sollte man eine Datensicherung machen? Werden die alten Daten dann überschrieben?
    Elektrische Grüße
    Reinhard

  9. Hallo Christian,

    ich hane mir für meine Haussteuerung mit Edomi einen Baustein gebaut und komme sonan die Daten. Dein Projekt gibt aber deutlich mehr her, insofern würde ich dies gerne nutzen.

    Die Daten bräuchte ich aber weiterhin in edomi insofern wäre es ideal wenn es eine mqtt Schnittstelle geben würde.

    Hast du das, bzw. ist das in Planung?

    Gruß Hartwig

  10. Hallo Christian

    Ich habe ein neues Verhalten im LogFile entdeckt

    22.02.2019 12:58:17 : TaskerWakeupToken Exception: One or more errors occurred.

    Ich hoffe ich habe nicht schon wieder den Fix überlesen.

    LG Martin

  11. Hallo Christian,

    Respekt für diese tolle Arbeit. Ich habe dazu eine Frage. Ich möchte meinen TESLA mittels Loxone an einer PV Anlage laden. Kannst du auch auf den einstellbaren Ladestrom zugreifen und ggf. über die Software anpassen/ändern?.

    Danke und Gruß

    Thomas

    1. Den Ladestrom kann man leider mit der API (noch) nicht beeinflussen. Was ich machen könnte, ist die Ladung starten / stoppen. So könnte man eine Regel machen, dass die Ladung gestartet wird, ab einer gewissen Leistung und wieder gestoppt wird, wenn diese Leistung unterschritten wird.

  12. Hallo zusammen
    Besteht die Möglichkeit die Daten von einem Trip von vor 2 Tagen noch einzulesen? Mein Pi war nicht am Strom als ich am Abend nach Hause kam und ich habe dann nur den Trip von heute gesehen…der andere war aber viel interessanter mit Passfahrten in den Alpen und Laden am SuperCharger… Danke für eure Tips.
    Andreas

      1. Danke Christian. Wie machst du das denn wenn du für mehrere Tage unterwegs bist mit dem laden der Daten? ev. besteht eine Möglichkeit das Pi als Wifi Hub zu benutzen und dadurch die Daten zu lesen direkt im Fahrzeug wenn ich unterwegs bin und zu Hause dann zu synchronisieren? Beste Grüsse Andreas

          1. Hi Christian – Sorry. Ich versuche es nochmals. Also ich habe deine super SW geladen auf dem Pi und alles läuft sehr gut für die ersten 2 Tage. Dann war ich für 2 Tage unterwegs (weg von zu Hause) mit relativ viel KM. Habe dann am 3 Tag zu Hause mein Pi wieder angelassen und nun fehlt mir der ganze Trip von den 2 Tagen inkl. aufladen am SC etc. Das wäre aber wohl nicht im Sinne des Erfinders oder? Was habe ich hier Falsch gemacht? Herzlichen Dank für deine Antwort. Grüsse Andreas

          2. Ich verstehe nicht richtig. War der Raspberry ausgeschaltet, als du unterwegs warst? Wenn ja, dann ist das normal. Der muss immer an sein. Rückwirkend kann ich keine Daten vom Teslaserver holen.
            Wenn er an war, dann hilft vielleicht das Logfile auf die Ursache zu kommen. Die nennt sich nohup.out. Du kannst mir die auch per Email schicken, dann könnte ich nachschauen, was da los war.

  13. Hallo,

    ich erhalte im Logfile immer folgende Fehlermeldung:

    -14.04.2019 14:47:59 : upstream internal error

    Hat das was zu bedeuten?

    Danke für deine Hilfe

    1. Hallo Michael,

      upstream internal error, bedeutet, dass der Tesla dem Teslaserver nicht plausible Daten verschickt oder einfach die Verbindung so schlecht ist, dass der Tesla keine richtigen Daten absetzen kann. Meist geht dann die Tesla App auch nicht.

      1. Hi Christian,

        danke für die zügige Antwort.
        Die Tesla App funktioniert einwandfrei, auch hat das Fahrzeug einen guten Empfang (mobil) als auch einen guten WLAN Empfang (Tesla steht direkt neben dem Zimmer mit dem Router)!
        Ich benutze die Tasker App mit den von dir empfohlenen Einstellungen.
        Kann ich dir mal mein Log File senden und du schaust es dir an, denn die Fehlermeldung, upstream internal error, kommt recht häufig im Log vor?

        Gruß
        Michael

        1. Sorry, eine weitere Frage:
          Es kommt nach 20 Minuten auch immer folgendes:
          4.04.2019 18:42:20 : Waiting for car to go to sleep 20
          14.04.2019 18:43:20 : Restart communication with Tesla Server!
          14.04.2019 18:43:21 : online

          d. h. das Fahrzeug geht nicht schlafen, oder? WOran kann es liegen, gestern funktionierte es?

          1. Christian, danke für die zügigen Antworten.
            Topp Support!

            Wenn der Tesla selber bestimmt wann er schlafen geht, wozu ist dann die Tasker App da? Geht es dabei um den start der Aufzeichnung?
            Weiterhin habe ich nicht verstanden, wozu ich Geofence brauche (ich habe meine Adresse eingetragen, aber was passiert an diesen Standorten?).

            Gruß
            Michael

    1. Michael, ich schreibe hier mal eine Antwort auf Deine Fragen vom 17.April:
      Korrekt, Tasker braucht es,, um den Beginn der Fahrt nicht zu verpassen. Die Geofence-Datei kann dazu benutzt werden, Orte wie z.B. die Heimadresse mit einem Namen anstelle der automatisch ermittelten Adresse zu versehen.

      Das ist ausführlich und vielleicht etwas verständlicher im Handbuch beschrieben, das neu im Admin-Panel verlinkt ist und ansonsten hier zu finden ist:
      http://teslalogger.de/handbuch.php

  14. Hallo,

    wenn ich den Teslalogger aus dem Internet, z. B von meinem Arbeitsplatz erreichen möchte, welchen Port muss ich dann forwarden? TCP?

    Danke
    Gruß Michael

  15. hallo, besteht die Möglichkeit deine Software auf ein bereits vorhandenes Image / genutzten Raspi mit einzuspielen?

    Wieviel Rechenpower knapsen deine Skripte dem Raspi ab, sprich wieviel parallel kann ich dazu laufen lassen?

    danke

    1. Ja, geht, wenn es nicht zu Konflikte durch unterschiedliche Stände von gleichzeitig verwendete Komponenten kommt (z.B. Mysql, Grafana oder Mono)…
      Installation ist hier unten beschrieben: http://www.impala64.de/blog/tesla/2018/12/06/einrichtung-teslalogger/
      “Rechenpower” also CPU braucht der Teslalogger wenig. Ram Speicher dagegen könnte knapp werden. Mit Swap File könnte man das Problem beheben, dann wird er aber langsamer…
      Ich würde mir gar nicht den Stress machen und einfach einen Zweiten Raspberry hinstellen. Ich hab daheim aktuell 4 Raspberrys am laufen.

  16. Hallo,

    Zunächst einmal Vielen Dank für die tolle Software!
    Ich hab jetzt versucht, den TeslaLogger manuell gemäß Anleitung zu installieren (Ubuntu Server 16.04), und alles hat soweit auch sehr gut funktioniert (Grafana, Mono). Nach dem Starten im Terminal mittels “sudo mono TeslaLogger.exe &” erscheint als einziger Output “[1] 321” (Zahlen wechseln nach jedem Aufruf), über “http://Server-IP-Adresse/admin” wird aber keine Seite im Browser angezeigt. Fehlt hier u.U. noch eine entsprechende Webserver-Konfiguration?

    Vielen Dank im Vorhinein für die Hilfe!
    Grüße, Rainer

  17. Hi Chris,
    I’m new in programming, and also a new m3 owner, just trying to run the teslalogger on my linux server via docker; however i have a problem on this, do you know how can i change the mysql default port (3306)? As it’s already using by other program, thanks.

    //Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use//

  18. Hallo Christian

    Vorab Hut ab und Gratulation zu dieser Arbeit und Deinem Engagement!

    Frage: Kann ich mehrere Teslas gleichzeitig loggen oder braucht es pro Fahrzeug einen separaten Logger? Falls das letztere der Fall ist, hast Du das vorgesehen als zukünftige Erweiterung?

    Nochmals Danke und Gruss vom Namensvetter 🙂

    1. Du brauchst pro Fahrzeug einen Logger. Ich wollte das nicht programmieren ohne jedes Feature mit mehreren Fahrzeugen zu testen. Das kann man theoretisch programmieren, aber ob es in der Praxis auch immer funktioniert ist dann die große Frage. Da ich in den nächsten Wochen und Monate nicht plane einen Zweiten Tesla zu kaufen, wird es diese Funktion auch so schnell nicht geben. Wenn jemand meiner Frau gerne eins schenken möchte, dann programmiere ich es sofort 🙂

Schreibe einen Kommentar

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