Der Ladefritz

Wenn sich ein Telefonmann mit Elektromobilität befasst, kommt sowas raus: Der Ladefritz.

Ende 2021 kam die Idee, eine eigene Ladesäule (öffentlich; denn auf unserem Gemeinschafts-Parkplatz ist das aus verschiedenen Gründen nicht so einfach) hier im Wohngebiet aufzubauen. Und da ich mich beruflich mit Telefonie befasse, war klar: Das Ding bekommt eine Telefonnummer, damit ich schon auf dem Weg nach Hause abfragen kann, ob die Säule frei oder belegt ist.

Die Idee der eigenen Säule ist auch noch nicht vom Tisch, auch wenn sie zumindest auf öffentlichem Grund schwierig wird (Standort-Monopol für den städtischen Energieversorger). Aber die Telefonnummer hab ich trotzdem schon mal gebastelt. Bzw. den Ladefritz, und mit dem kann man "jede" Säule abfragen.

Wozu das ganze?

Einfach so. Weil ich's kann.

Trotzdem ist es nicht komplett unsinnig. Die Verfügbarkeitsanzeige in unserem Skoda Navi ist leider für die Tonne (scheint mir gecached zu sein), und in der App nachgucken ist irgendwie nicht richtig komfortabel. Von daher ist "Laura, ruf den Ladefritz an" (für nicht-Skoda-Fahrer: Laura ist der Sprachassistent) eigentlich die komfortabelste Methode, zu gucken, ob die Ladesäule daheim frei ist.

Technische Umsetzung

Datenbestand + Statusabfrage

Der Ladefritz braucht im Wesentlichen zwei Angaben: Eine Übersicht der überhaupt existierenden Ladesäulen (irgendwie muss man ja zuordnen, welche man abfragen möchte). Und eine Anzeige des Verfügbarkeits-Status.

Beides beziehe ich über interne APIs von Ladekarten-Anbieter. Die haben eine App, mit der ich passende Ladesäulen in meiner Nähe und deren Verfügbarkeitsangabe einsehen kann, und wenn eine App das kann, dann ganz oft auch eine WebApp. Und wenn eine WebApp das kann, kann ich's auch. Das ist nicht Sinn der Sache, dass ich die Abfrage ... aber wer ein bisschen Ahnung von Webanwendungen, AJAX und JSON hat, kann sich in etwa vorstellen, was ich da gemacht habe. Und solange ich nicht mal Wireshark oder einen https-Proxy anwerfen brauchte, auch keine Zugangsdaten, sondern nur die rechte Maustaste meines Webbrowsers, solange gehe ich davon aus, dass das öffentliche Quellen sind, die ich abfragen darf.

Tatsächlich mussten es auch mehrere sein. Die RheinEnergie macht ja bekanntlich kein Roaming, also musste ich verschiedene Ladekarten "simulieren", denn mit z.B. der NewMotion-API komme ich sonst an die Kölner Säulen nicht ran. Netterweise ähneln sich die JSON-Ausgaben alle, d.h. der Aufwand war erfrischend gering.

Rufnummer und Sprachmenü

Nachdem ich also den Status abfragen kann, brauchte ich noch eine Rufnummer, einen Namen und ein Sprachmenü. Die Rufnummer war nicht das Problem (wozu arbeite ich in einer Telefongesellschaft), die verwendete Vorwahl ist ein Andenken an meine verstorbenen Großeltern. Der Name "Ladefritz" wiederum ist meiner Tochter zu verdanken (in allen Arten von Playmobil-, Lego- und Rollenspielen heißt mein Character immer Fritz). Und das Sprachmenü kommt aus einer Swyx-Telefonanlage und dort aus dem Extended Call Routing (mittels grafischem Script-Editor)

  • zuerst wird per https-Schnittstelle von der Telefonanlage aus der Ladefritz befragt (als Parameter gibt's die gewählte Rufnummer)
  • der guckt nach, welcher Ladesäule diese Rufnummer zugewiesen wurde und gibt drei Angaben zurück - Status, frei, gesamt. Mit dem Status wird abgefangen, ob eine ungültige Rufnummer angerufen wurde (bei längerer Inaktivität wird die Zuordnung Rufnummer<->Säule aufgehoben) und dann eine "not found"-Fehlermeldung abgespielt.
  • Danach wird die Anzahl der freien Ladeports angesagt sowie die Anzahl der Ports insgesamt
  • Dann wird nochmal ein Blick auf die Status-Rückmeldung geworfen: Falls einzelne Ports dieses Standortes als "out of order" oder "inoperative" gemeldet waren, war das darin codiert und es kommt noch eine Warn-Ansage hinterher.

Fertig. Etwas ärgerlich: Die Swyx-Anlage kann zwar Ziffern ansagen, aber das ist eine weibliche Stimme (und in unserer eigenen Büro-Anlage noch dazu ausgetauscht gegen unsere Haus-&Hof-Sprecherin), das Ding heißt aber ja Ladefritz und nicht Ladeulla. Darum musste ich alle Ziffern manuell nochmal als Soundfile hochladen und darauf verweisen. 

Ausblick und Blick zur Seite

Eine Roadmap gibt's natürlich nicht. Erstmal will ich gucken, dass die Abfrage des Status vernünftig und halbwegs-Echtzeit funktioniert. Die Soundfiles gefallen mir vom Klang nicht (sind per https://freetts.com/ erzeugt - mit einer weiblichen Stimme habe ich da in der Vergangenheit gute Erfahrung gemacht, aber der Ladefritz braucht ja eine männliche Stimme und die klingt am Telefon irgendwie unsauber), vielleicht mache ich die mal neu.

Und wenn ich ganz viel Langeweile habe, baue ich noch ein "Soll ich Dir Bescheid sagen, wenn an dieser Säule etwas frei wird? Dann drück die 1, und ich schicke Dir eine SMS" ein...

Abfallprodukt

Nicht als Ausblick, sondern als Randeffekt: Während ich da so rumprobiere und mein Script "alle" Ladesäulen um meine Test-PLZ versucht zu finden, rief meine Tochter: Essen ist fertig. Ich also runter, und als ich danach wieder weiterbasteln wollte, hatte sich der Suchradius langsam aber sicher bis an die holländische Nordseeküste vorgearbeitet. Von Seiten des Quell-Servers keinerlei Limit, außer der immer langamer werdenden Abfrageperformance. 

Nun, nach dem Motto "haben ist besser als brauchen" habe ich jetzt also eine SQL-Datenbank mit rund 42.000 Ladepunkten (auf 17.000 Standorte) in Deutschland und nochmal etwa die halbe Menge aus dem benachbarten Ausland. Also habe ich mal daraus ein Städte-Ranking gebaut. 

Genug geredet: Auf zum Ladefritz

Den Ladefritz findest Du hier

Viel Spaß damit! Und wenn Du ihn regelmäßig nutzt, freue ich mich über Feedback.

Belegt-Status der Ladesäule einfach per Telefon abfragen

Feedback