Impressum / Datenschutz Forumsregeln
TFF FORUM TFF E.V. SUPERCHARGE-ME
TFF Forum

Teslalogger mit Raspberry Pi & MySql & Grafana & OSM

Vielleicht hat heimlich dir jemand die Batterie aufgefüllt :laughing: :laughing: :laughing:

Ja, keine Ahnung, was da los ist. Kannst du das mal beobachten, ob es wieder auftritt. Letztes Jahr kam sowas regelmäßig vor, deshalb habe ich es in Grafana gefiltert.

Hab ich aufgenommen.
github.com/bassmaster187/TeslaLogger/issues/97

Erster Wurf: Script um via overpass-API Ladestationen aus OSM abzufragen.

Addresses inserted: 3133

  • ca. Deutschland
  • nur LS mit Name oder Operator oder Network oder Kombination derer

github.com/superfloh247/TeslaLo … verpass.pl

(jaja, XML per regex ist pfui, aber so läuft es ohne zusätzliche Perl-Module)

Evtl. ist es meckern auf hohem Niveau, aber aus meiner Sicht werden manche Daten viel zu selten geschrieben. Es fällt erst auf, wenn man Grafiken in einer bestimmter Zeit auswertet und dann fehlen die Daten, weil die in der Zeit nicht geschrieben wurden:
Diesen Bereich wollte ich auswerten (nach einer Ladepause):


Die Daten wurden zuletzt vor Ladepause gesendet:

OSM ist sicher nicht vollständig. Es ist hier aber schon mehrfach gesagt worden, dass auch andere existierende Quellen nicht vollständig sind.
OSM kann problemlos von jedermann nachgepflegt, erweitert und aktualisiert werden. Nodes, die noch keinen Namen haben, lassen sich schnell korrigieren.
Und dieses Daten lassen sich auch ohne Probleme - unter Achtung der Lizenz - nutzen.
Wenn jeder in diesem Forum die „Patenschaft“ für ein paar Ladestationen übernimmt (initial einpflegen, ab und zu überprüfen), stünde in OSM ganz schnell eine ziemlich vollständige Liste zur Verfügung.
Man braucht keine zusätzliche Liste der Ladestationen erneut von Anfang aufzubauen (OSM hat ja schon eine ganz gute Basis), hat trotzdem eine zentrale Datenbasis und auch die Pflege ist verteilt. Und die Liste darf -dank der Lizenz - von jedermann genutzt werden.

Aber das sind nur meine Gedanken zur Idee einer solchen Liste.

Die T&C zur Nutzung der API gibt’s unter operations.osmfoundation.org/policies/api/
Zusätzliche Einschränkungen der Overpass-API wiki.openstreetmap.org/wiki/Ove … imitations

Das sollte dann überflüssig sein. Gewünscht ist ja nur der gezogene Auszug aus dem planetfile. Das reduziert die notwendie Downloadmenge und erlaubt schnellere Aktualisierungen der gefilterten Daten.

Meine aus overpass generierte Liste löst quasi sämtliche öffentlichen Ladesäulen passend auf, seit ich den Logger hab (Ende August).

Das Problem mit dem Logger kann auch daran liegen, dass Ende November der Atrributwert geändert wurde. Ich hatte auch einen Steinalten Eintrag in den Settings. Beim Abarbeiten der Anleitung ist mir aufgefallen, das der Wert nicht stimmt.
Wieso das so ist, keine Ahnung. Aber bei mir war es seit 14.03 immer die 04a1f861. Habe ich in der nohup.out geprüft. Zwischen dem 29.11 und dem 01.12 hat sich der Wert dann auf b7dfb394 geändert. Kann das mit einem Update zusammenhängen? Die beiden Blöcke unten kommen aus der selben nohup.out. Gefühlt habe ich das Update, dass die Schnittstelle für das Auslesen der Daten von ScanMyTesla bereit stellt um die Zeit herum ausgelöst.

29.11.2019 15:54:29 : Tasker Config:
Server Port : teslalogger.de
Pfad : wakeup.php
Attribute : t=04a1f861

01.12.2019 09:41:25 : Tasker Config:
Server Port : teslalogger.de
Pfad : wakeup.php
Attribute : t=b7dfb394

einen schönes Adventswochenende
Andreas

@bassmaster: ich schicke dir die gesamte Datei per Mail.

Wenn ich richtig im Kopf habe, wird Token aus eMail und der VIN erzeugt. Kann es sein, dass du ne neue eMail bei Tesla hinterlegt hast?

Hervorragender Vorschlag!
Ich habe „meine“ Ladestationen in OSM überarbeitet :slight_smile:

regex ist auch langsam. vielleicht nimmst du json als ausgabe oder ich programmier das um in c#?

Wenn ich mir den Quellcode anschaue, dann hat sich entweder deine VIN geändert - glaube ich nicht, aber Tesla ist alles zuzutrauen.
Oder deine Emailadresse. Oder Groß / Kleinschreibung der Emailadresse?

                byte[] tempTasker = System.Text.Encoding.UTF8.GetBytes(vin + ApplicationSettings.Default.TeslaName);

                TaskerHash = String.Empty;
                var crc32 = new DamienG.Security.Cryptography.Crc32();
                foreach (byte b in crc32.ComputeHash(tempTasker))
                    TaskerHash += b.ToString("x2").ToLower();

                if (!String.IsNullOrEmpty(ApplicationSettings.Default.TaskerPrefix))
                    TaskerHash = ApplicationSettings.Default.TaskerPrefix + "_" + TaskerHash;

                if (ApplicationSettings.Default.Car > 0)
                    TaskerHash = TaskerHash + "_" + ApplicationSettings.Default.Car;

                Logfile.Log("Tasker Config:\r\n Server Port : https://teslalogger.de\r\n Pfad : wakeup.php\r\n Attribute : t=" + TaskerHash);

Prinzipiell gefällt es mir ganz gut. Vielleicht bringen wir es zur Perfektion.

„no name for“ finde ich jetzt nicht unbedingt hilfreich oder nützlich. Einfach weglassen? Oder vielleicht in der Teslalogger Geokodierung die Möglichkeit einbauen direkt zu OpenStreetMap zu gehen und dort zu ändern?

„Ladesäule Lidl“ finde ich auch nicht unbedingt hilfreich. Wenn kein Ortname im Name-Tag vorhanden ist, würde ich noch als Suffix den Ort angeben?

Ich würde mehrere Dateien machen: „Overpass-Land.csv“ Dann können wir für sämtliche Länder das ganze machen

Die overpass-API sieht doch echt gut aus.

Vorschläge für Algo zum finden der LS, zum Benamsen und noch ein paar Ideen mehr:
Benamsen:

  • API Status abfragen, ob gerade ein Slot frei ist
  • aus Koordinaten BBox erzeugen: +/- x
  • API abfragen
  • nach LS im Ergebnis suchen
    – wenn mehrere: nächste (kürzeste Distanz) ermitteln
    – wenn keine: noch mal Status prüfen und abfragen mit BBox 2x
    — wenn immer noch nix: Ladestation Straße Ort und Hinweis, das sie in OSM fehlt, mit Link auf OSM, und Link auf den Admin-CSV-Editor

(Admin-CSV-Editor ist bei mir übrigens kaputt:
PHP Notice: Undefined offset: 1 in /var/www/html/admin/geofencing.php on line 84, referer: raspberry/admin/)

Algo für Benamsung:

  • Name und Betreiber, sofern vorhanden, sonst
  • nur Name, sonst
  • nur Betreiber, sonst
  • nur Netzwerk
  • Ort hinzufügen:
    – Straße, sofern vorhanden, und Ort, sonst nur Ort

Ideales Ergebnis: Ladestation Ostsee-Park - E.ON - Ostsee-Park-Straße 3, 18069 Lambrechtshagen

Ist bissl lang, oder?
Kann Grafana MouseOver? Dann vielleicht nen Kurznamen erzeugen und nen Langnamen für MouseOver.

Ich kenne mich im .net-Framework nicht aus. Gibt’s sowas wie einen Scheduled Task der sich selbstständig immer wieder startet, aber aufpasst, dass es nur einen gibt?
Wenn ja: der könnte alle x Minuten (5 oder so) sich mit dem UpdateAllPOIAddresses()-SQL die nächste unbenannte LS raussuchen und benennen.
Ggfs. das DB-Schema der Tabelle pos erweitern um ein „last mod date“ des Positionsnamens, und dann regelmäßig auch die alten (>4 Wochen zB) erneut abfragen. Außerdem pos erweitern um eine Quelle, d.h ob der Name aus overpass (muss also automatisch aktualisiert werden) oder CSV (wird durch Datei anfassen aktualisiert) kommt.

Ist nur eine Ausgabe nach STDERR und landet nicht in der CSV.
Direkten Link, um OSM zu verbessern finde ich sehr gut! Hürde möglichst niedrig halten :slight_smile:

Tja, aber wie herausfinden, ob im LS-Namen schon eine Straße und/oder ein Ort vorhanden ist?

Ist eine Fleißaufgabe: „nur“ schnell die halbwegs passenden BBoxen ins Script einbauen.

Ach ja und noch was :slight_smile:
Wär’s nicht besser, den Teslalogger-State per Socket abfragbar zu machen und dann von der Admin-Seite aus abzufragen? Alle paar Sekunden das json neu zu schreiben tötet irgendwann die SD-Card. Ich meine, ist konsequent sowas in Teslazubehör einzubauen :laughing: MCU Problem / Emmc fail - Wer hier hat das Problem?

Ich überlege grade für unser Model X auch noch einen Logger zu bestellen… jetzt heisst der erste ja einfach „Raspberry“ im System, wie kann ich dann in Zukunft die 2 auseinder halten?

Entweder per SSH umbenennen oder per ip drauf zugreifen

Danke. Ich google mal nach dem SSH :slight_smile:

installier dir putty z.B chiark.greenend.org.uk/~sgtatham/putty/

dann die SSH session auf die IPadresse des loggers öffnen
hostname ändern finden sich x google entries z.B. auch mein eigener :slight_smile:
okedv.dyndns.org/wbb/index.php?t … e/#post627

[code]login as: pi
pi@192.168.88.8’s password:
Linux teslalogger 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Dec 8 07:55:22 2019 from 192.168.88.2

Wi-Fi is disabled because the country is not set.
Use raspi-config to set the country before use.

pi@teslalogger:~ $ cat /etc/hostname
teslalogger
pi@teslalogger:~ $
[/code]

Voraussetzung ist auch, das SSH auf dem Raspi auch aktiv ist… Das ist per Default nicht mehr der Fall. Dazu muss eine leere Datei SSH im root Verzeichnis der SD-Karte angelegt werden, nur dann wird SSH aktiviert.

Gruss Mayday

Danke euch…mal sehen ob ich das hin bekomme :S

Bei mir hat sich im Konto nichts geändert. Die Kontodaten sind seit der Bestellung unverändert.
Ich habe aber nicht geprüft ob Tesla in der mailanschrift groß /klein - Schreibung berücksichtigt. Wen es beim Logger einen Unterschied macht, könnte das der Grund sein. Ich habe ja fest gestellt, dass ich, wenn ich die Daten nach einem Logger update nicht neu eingebe, immer wieder Fahrten ohne Aufzeichnung bekomme.
Beim Eingeben im Tablet ist der erste Buchstabe, wenn ich nicht aufpass, in grossem Buchstaben.
einen schönen Dritten Advent
Andreas

Ich hab ein paar „meiner“ Ladesäulen in OSM überarbeitet und bin prompt an einen Wikipediablockwart geraten.

Name bei Ladesäulen ist wohl pfui.
Betreiber einsetzen ist OK.

Also sollten wir zur Benamsung ein anderes Schema verwenden. ZB Betreiber + Standort.