Archiv der Kategorie: Teslalogger

iBeacon & Teslalogger mit iPhone

Zum Hauptartikel “Teslalogger mit Raspberry Pi 3+ MySql + Grafana” geht es hier: LINK

Wie man in den FAQs nachlesen kann, darf man nicht auf die API zugreifen, ansonsten kann das Fahrzeug nicht in den Sleep Modus gehen und verbraucht so bis zu 4 kWh am Tag. Deshalb kann es hin und wieder vorkommen, dass maximal 21 Minuten an Daten fehlen.

Um das zu umgehen, kann man dem Teslalogger mit einem Trick sagen, dass er jetzt wieder zuhören soll.

Leider kann man unter iOS keine Aktionen durchführen, wenn eine Bluetooth Verbindung hergestellt wurde. Somit kann man den Teslalogger nicht aufwecken, wenn sich das iPhone mit der Tesla Freisprecheinrichtung verbindet. Eine Möglichkeit unter iOS ist ein iBeacon zu verwenden.

Voraussetzungen:

Einrichtung App Geofency:

Beim “Betreten” des iBeacon soll eine URL per HTTP GET ausgeführt werden.

Die URL ist:
http://teslalogger.de/wakeup.php?t=abcdefg

t=abcdefg muss mit dem Attribut geändert werden, den man beim Neustart des Teslalogger im Logfile findet:

24.01.2019 09:48:15 : Tasker Config:
Server Port : https://teslalogger.de
Pfad : wakeup.php
Attribute : t=1234abcd

Funktionsprüfung

  • Zum Auto gehen und warten bis das iPhone das iBeacon erkennt.
  • Teslalogger neu Starten

Beim Neustart des Teslalogger wird überprüft ob das Webservice vom Tasker aufgerufen wurde. Wenn alles geklappt hat, dann steht im Logfile vom Teslalogger:

 24.01.2019 10:24:40 : TaskerWakeupfile available! [Webservice] 

Wollte der Teslalogger gerade aufhören mit dem Fahrzeug zu kommunizieren, dann sieht man im Logfile:

24.01.2019 10:20:28 : Waiting for car to go to sleep 8
24.01.2019 10:21:29 : Waiting for car to go to sleep 9
24.01.2019 10:22:29 : TaskerWakeupfile available! [Webservice]
24.01.2019 10:22:29 : Wakeupfile prevents car to get sleep
24.01.2019 10:22:31 : online
Wenn du meinen Blog unterstützen möchtest, dann würde ich mich über eine kleine Spende freuen:

Tasker & Teslalogger mit Android

Zum Hauptartikel “Teslalogger mit Raspberry Pi 3+ MySql + Grafana” geht es hier: LINK

Wie man in den FAQs nachlesen kann, darf man nicht auf die API zugreifen, ansonsten kann das Fahrzeug nicht in den Sleep Modus gehen und verbraucht so bis zu 4 kWh am Tag. Deshalb kann es hin und wieder vorkommen, dass maximal 21 Minuten an Daten fehlen.

Um das zu umgehen, kann man dem Teslalogger mit einem Trick sagen, dass er jetzt wieder zuhören soll. Am einfachsten kann man das mit der APP Tasker machen.

Sobald das Smartphone sich mit der Bluetooth-Freisprecheinrichtung verbindet, sendet Tasker ein HTTP-Get Befehl an unseren Teslalogger und der weiß dann, dass er jetzt wieder Aktiv werden soll.

Voraussetzungen

  • Teslalogger Version 1.14.0.0 (24.01.2019) oder höher.
  • Tasker App

Das Teslalogger Update wird hier erklärt.

Einrichtung Tasker

In Tasker unter Profile ein neues Profil hinzufügen.

“Status” auswählen. Dann “Netzwerk”. Dann “Bluetooth verbunden”.
In Name und Adresse den Tesla auswählen.

“Neuer Task” zum Profil auswählen.
Einen Namen geben. z.B. “Teslalogger”

“+” Auswählen und “Netzwerk”. Dann “HTTP Request”

Unter URL muss “https://teslalogger.de/wakeup.php” stehen.
Unter “Query Parameters” muss das stehen, was im Logfile beim Neustart vom Teslalogger steht.

24.01.2019 09:48:15 : Tasker Config:
Server Port : https://teslalogger.de
Pfad : wakeup.php
Attribute : t=1234abcd

Tasker muss immer laufen. Leider ist da Android ziemlich restriktiv. Darum muss man ein paar Tricks anwenden um Tasker immer im Hintergrund laufen lassen zu können. Je nachdem was für ein Gerät man hat, muss man andere Dinge einstellen. Hier kann man nachlesen, was man machen sollte.

Funktionsprüfung

Wenn Tasker richtig installiert wurde und die Aktuellste Teslalogger Version installiert ist, dann kann man eine Funktionsprüfung durchführen.

  • Zum Auto gehen und warten bis das Smartphone automatisch mit der Freisprecheinrichtung verbunden ist.
  • Teslalogger neu Starten

Beim Neustart des Teslalogger wird überprüft ob das Webservice vom Tasker aufgerufen wurde. Wenn alles geklappt hat, dann steht im Logfile vom Teslalogger:

 24.01.2019 10:24:40 : TaskerWakeupfile available! [Webservice] 

Wollte der Teslalogger gerade aufhören mit dem Fahrzeug zu kommunizieren, dann sieht man im Logfile:

24.01.2019 10:20:28 : Waiting for car to go to sleep 8
24.01.2019 10:21:29 : Waiting for car to go to sleep 9
24.01.2019 10:22:29 : TaskerWakeupfile available! [Webservice]
24.01.2019 10:22:29 : Wakeupfile prevents car to get sleep
24.01.2019 10:22:31 : online
Wenn du meinen Blog unterstützen möchtest, dann würde ich mich über eine kleine Spende freuen:

Konfiguration Teslalogger

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
Mit meinem Empfehlungslink bekommst du 1500km kostenloses Supercharging beim Kauf eines Teslas:
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.
Wenn du meinen Blog unterstützen möchtest, dann würde ich mich über eine kleine Spende freuen:

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.

  1. MariaDB / MySql installieren: https://mariadb.com/downloads/
  2. Datenbank-Schema erstellen: https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/sqlschema.sql
  3. NodeJS installieren: https://nodejs.org/en/download/
  4. Grafana installieren: https://grafana.com/grafana/download
  5. Trackmap-Panel für Grafana installieren: https://github.com/pR0Ps/grafana-trackmap-panel
  6. Grafana Panels importieren. Siehe: https://www.impala64.de/blog/tesla/2018/12/06/einrichtung-teslalogger/#update
  7. Teslalogger runterladen: https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/bin/TeslaLogger.exe
  8. App.config runterladen und umbenennen in “TeslaLogger.exe.config” https://github.com/bassmaster187/TeslaLogger/blob/master/TeslaLogger/App.config
  9. TeslaLogger.exe.config konfigurieren
  10. 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 &