MK Bits

Blog von Dr. Markus Kreuz

Alles begann mit einer einfachen Frage: Wann kommt das nächste WC? Wir waren zusammen auf der Autobahn unterwegs und so langsam drückte die Blase. Die Frage war nun, wann das nächste WC entlang unserer Autobahn kommt. Über das Navi im Auto konnten wir die nächsten Rastplätze (also mit Restaurant) finden, diese liegen jedoch auch manchmal etwas weit weg. Daher war die Idee geboren, eine einfache App zu bauen, die einem die Distanz und Zeit zum nächsten WC anzeigen kann.

Erste Recherche zu Daten

In einer ersten Recherche zeigte sich, dass noch keine anderen Apps diese Info bereitstellen. Auch die Suche nach WCs in diversen Kartenanwendungen führt nur manchmal zum Erfolg. Spannend ist, dass der Bund eine eigene App für die Autobahnen anbietet. In dieser lassen sich auch Informationen für einzelne Parkplätze aufrufen, unter anderem auch, ob dieser über ein WC verfügt. Dies ist eine sehr vielversprechende Option. Zudem ist die API hinter der Autobahn-App auch unabhängig aufrufbar.

Erste App-Versuche

Jetzt ist also die Frage, wie sich die Daten in einer App verwenden lassen. Dazu brauche ich in erster Linie einen Server, der die Daten aufbereitet und bereitstellt. Als zweite Komponente braucht es eine App, die den Standort des Benutzers erfassen und verarbeiten kann. Kommend eher aus der Backend-Entwicklung war für mich der Ansatz klar (Spoiler-Alert: Und es wird dann anders kommen): Ich verwende die App, um den Standort mittels GPS zu erfassen und an das Backend zu schicken. Dieses gibt dann die Informationen über das nächste WC zurück an die App. Also habe ich eine kleine Web-App geschrieben, die über GPS den Standort mittels 3 Koordinaten bestimmen kann. Screenshot Webapp

Erstes Server-Backend

Fürs Backend wollte ich zum ersten Mal die “Cloud” ausprobieren, da ich mir davon erhofft hatte, besser skalieren zu können. Für Azure gab es eine kostenlose Testversion, sodass ich damit direkt starten konnte. Um nicht zu viele Komponenten verwenden zu müssen, habe ich mich für eine Azure Function entschieden. Diese hat allerdings den Nachteil, dass jedes Mal die gesamte Berechnung laufen musste. Die Funktion erhält dabei die 3 Koordinaten und liefert die nächsten WCs als Ergebnis zurück. Nach einem Hin und Her lief die Berechnung einwandfrei. Allerdings zeigte sich ein anderes Problem: Der Kaltstart der Azure-Funktion. Dies bedeutet, dass das Hochfahren der Cloud eine gewisse Zeit in Anspruch nimmt. Das führt dann dazu, dass insbesondere wenn länger keine Anfragen erfolgt sind, das Ergebnis teilweise 10 Sekunden braucht. Auch nach diversen Optimierungen konnte ich die Zeit nur auf 5 Sekunden reduzieren. Das ist aus Nutzerperspektive wenig optimal.

Neue Architektur

Daher musste die Architektur noch einmal angepasst werden und ich von meiner bisherigen Denkweise abweichen. Die neue Idee war es nun, dass auf dem Server alle Daten vorab berechnet werden und sich die App die Daten lädt, lokal speichert und dann die ganze Berechnung lokal durchführt. Dafür musste natürlich das Backend angepasst werden. Mittlerweile läuft es auf meinem IONOS-Server. Auch die App ist nun in Swift und SwiftUI geschrieben, sodass die lokale Berechnung deutlich effizienter erfolgt. Durch den Cache dauert die Bestimmung des nächsten WCs nun weniger als 1 Sekunde.

Swift / SwiftUI

Swift als Programmiersprache war sehr einfach zu verstehen. Es war für mich schon eine größere Umstellung mit einer Reactive UI zu arbeiten. Aber nach einer gewissen Einarbeitungszeit, habe ich sehr geschätzt, mich nicht um den Zustand kümmern zu müssen (außer in CarPlay, mehr dazu später). Über das Jahr Entwicklungszeit sind die eigenen Ansprüche immer weiter gewachsen, auch beim Vergleich wie andere Apps etwas umsetzen. Immer wenn ich einen neuen Trick in SwiftUI herausgefunden hatte, wollte ich es gleich an allen Stellen umsetzen. Angefangen mit nur einer Startseite und einer Liste der nächsten WCs, umfasst die App jetzt auch eine interaktive Karte mit Slideover, eine Detailansicht, Einstellungen und auch Feedbackfunktionen. Mit dem Release-Stand bin ich wirklich sehr zufrieden und stolz auf meine erste iOS App. Screenshot App

CarPlay

Während wir die App bei unseren Autobahnfahrten ausprobierten, wurde deutlich, dass sie aktuell nur vom Beifahrer verwendet werden darf. Allerdings sind auch viele Personen einzeln unterwegs und hierfür wäre eine Integration in CarPlay notwendig. Da dies nicht automatisch jeder App zur Verfügung steht, musste ich einen Antrag bei Apple einreichen. Dieser Prozess ist allerdings sehr intransparent. Nachdem mehrere Monate keine Antwort kam, füllte ich das Formular erneut aus und stellte parallel eine Anfrage an den Support. Nach ein paar weiteren Wochen habe ich die Freigabe für CarPlay erhalten. Es war sehr spannend zu sehen, dass die Entwicklung für CarPlay sich sehr von SwiftUI unterscheidet. Es fühlt sich wie eine ganz andere Welt an. Nach viel Try-and-Error und diversen Hacks mit der Dokumentation funktioniert die CarPlay-Version der App. Hierbei stehen alle Funktionen zur Verfügung, die fürs Fahren relevant sind.

Screenshot CarPlay

Daten

Wie sich im Laufe der Entwicklung herausstellte, sind die Daten vom Bund eine gute Basis, aber weit davon entfernt, vollständig zu sein. Bei unseren Testfahrten haben wir häufiger festgestellt, dass Rastplätze fehlten oder auch die Information, ob ein Rastplatz ein WC hat fehlerhaft sind. Daher habe ich auch einen Großteil der Zeit damit verbracht, die Daten automatisiert und manuell aufzubereiten. Dies erfolgte mittels Abgleich weiterer Quellen wie Here Maps oder TomTom, da auch dort nicht immer die Angaben korrekt waren. Darüber hinaus habe ich auch eigene Tools entwickelt, um die Daten auf Plausibilität zu prüfen oder auch die Autobahnrichtung automatisch zu bestimmen. Die schlechte Datenlage ist einer der Hauptgründe, warum die Entwicklung der App so viel Zeit in Anspruch genommen hat. Daher seht es mir bitte nach, sollten weiterhin Fehler in den Daten sein. Meldet sie mir gerne, dann kann ich sie korrigieren. Neben den Daten zu WCs enthält der Datensatz inzwischen auch weitere Informationen über einen Rastplatz; ob eine Tankstelle / Lademöglichkeit vorhanden ist und auch ob es sich um einen Rastplatz oder Rasthof (mit Restaurant) handelt.

Weitere Herausforderungen

Wie es bei vielen Entwicklungen vorkommt, bin auch ich im Laufe der Zeit auf weitere spannende Herausforderungen gestoßen. Da wäre zum einen das Problem der Autobahnbaustellen. In den Baustellen ist es nicht möglich die korrekte Fahrdistanz zu bekommen, da das iPhone denkt, dass man sich auf der anderen Fahrbahn befindet. Daher musste ich ein Verfahren entwickeln, um zwischen der Luft- und Fahrdistanz zu wechseln. Dies ist auch ein Herausforderung bei der Bestimmung der Fahrtrichtung. Weiterhin sind Autobahnen wie die A44 spannend, da diese mehrfach unterbrochen ist. Daher habe ich die Unterbrechungen automatisch bestimmt, um korrekt ausgeben zu können, wann das nächste WC kommt. So habe ich in der Zeit vieles über die Deutschen Autobahnen und den Aufbau von Rastplätzen gelernt.

Kosten der App

Kurz möchte ich noch auf das Kostenmodell der App eingehen. Ich habe mich lange damit befasst, welches Modell insgesamt fair wäre. Da mir durch den Betrieb der App und auch die Entwicklung durchaus Kosten entstanden sind und entstehen, war für mich klar, dass ich sie nicht gratis zur Verfügung stellen möchte. Somit blieben noch die Möglichkeiten eines Abos, Einmalkauf oder In-App Kauf. Ich selbst bin kein großer Fan von Abos, insbesondere wenn ich auch nicht garantieren kann, dass regelmäßig große neue Feature entwickelt werden. Bei einem Einmalkauf war meine Befürchtung, dass viele die App gerne vorher ausprobieren wollen und nicht wissen, dass sie Apps zurückgeben können. Somit bleibt noch der einmalige In-App Kauf. Diesen habe ich kombiniert mit einer Anzahl an Freisuchen, bevor der Benutzer oder die Benutzerin eine Freischaltung benötigt. Dies ist aus meiner Sicht sehr fair, um die App ausprobieren zu können.

Abschließende Gedanken

Es war und ist weiterhin eine spannende Herausforderung, diese anfangs einfach erscheinende Frage nach dem nächsten WC auf einer Autobahn. Die App ist jetzt im AppStore, die Entwicklung ist aber nicht beendet. Ich habe viele weitere Ideen für die App, die je nach Zeit umgesetzt werden. Daher ist die App eher als MVP zu sehen und ich freue mich auf eure Rückmeldungen.

Weiterhin möchte ich noch einen großen Dank an gpskoordinaten.de/ richten. Die Seite war super hilfreich bei der Validierung und dem Testen.

Zum Abschluss gilt mein besonderer Dank Allen, die an der Entwicklung mitgewirkt haben; sei es beim Brainstorming, Suchen nach Fehlern oder dem Testen.

Wie in meinem ersten Post bereits erwähnt, bin ich sehr technik- und auch insbesondere autobegeistert. Während meiner Promotion habe ich mich intensiv mit den verschiedenen Antriebsformen auseinander gesetzt. In diesem Post möchte ich das Thema der Plug-In Hybride einmal genauer beleuchten und meine Erfahrungen teilen. Hierbei ist wichtig zu erwähnen, dass ich nur für meinen BMW 330e sprechen kann. Vieles davon trifft aber auch auf andere Plug-In Hybride zu.

Einordnung des Konzepts

Vorweg eine kurze Einordnung des Konzepts. Ein Plug-In Hybrid besitzt neben einem Verbrennungsmotor auch einen elektrifizierten Antriebsstrang, mit dem das Fahrzeug auch einige Kilometer rein elektrisch zurücklegen kann (ca. 50 bis zu 100 km bei aktuellen Modellen). Strategisch betrachtet waren Plug-In Hybride damals für die Erfüllung der CO2 Grenzwerte der Autohersteller sehr beliebt. Denn sie verbrauchen im Testzyklus meist weniger als 2 Liter auf 100 km und waren dabei aber einfach an den Kunden zu bringen im Gegensatz zu reinen E-Autos. Zudem gab es viele steuerliche Anreize (0,5 % Dienstwagen Versteuerung), sowie Kaufprämien (Umweltbonus bis zu 3.750 €). Leider wurde insbesondere bei den Dienstwagen nicht kontrolliert, ob die Fahrer die Wagen auch laden. Und so fuhren und fahren immer noch viele ihre Batterie eher spazieren. Auch wenn der Plug-In Hybrid als Dienstwagen also eher kontraproduktiv war, so hat das Konzept durchaus seine Daseinsberechtigung.

Persönliche Gründe für das Auto

Für mich ganz persönlich gesprochen stand für 2021 die Entscheidung über ein neues Auto an. Davor hatte ich einen “normalen” Verbrenner mit einer Start-Stop Automatik als höchstes Gefühl der Hybridisierung. Ich wohnte damals in der Innenstadt ohne eigene Garage oder Lademöglichkeit. Weiterhin gab es 2021 nur recht wenige E-Autos, die keine SUVs waren. Gleichzeit wollte ich schon einmal erste Erfahrungen mit der Elektromobilität sammeln und wenigstens schon einmal mit den Fußzehen das Wasser berühren. Daher entschied ich mich für einen Plug-In Hybriden, nachdem ich geschaut hatte, wie ich bei mir öffentlich laden kann. Nach jetzt knapp 2 Jahren, möchte ich meine Erfahrungen teilen für alle, die auch in die Elektromobilität einsteigen wollen und über die Anschaffung eines Plug-In Hybriden nachdenken.

Fahren und das Auto

Grundsätzlich fährt sich der BMW 330e wie jeder andere 3er auch. Allerdings ist das zusätzliche Gewicht nicht von der Hand zu weisen. Dies merkt man insbesondere in Kurven und beim Bremsen. Der 330e Touring ist ein tolles und entspanntes Reiseauto. Gerade das elektrische Fahren bringt eine Ruhe mit sich. Auch auf längeren Strecken funktioniert der Wechsel zwischen dem Verbrennungs- und E-Motor problemlos und wird situativ gesteuert. Wenn man genau hinhört oder spürt, merkt man manchmal das Starten des Verbrennungsmotors. Im normalen Betriebs muss man allerdings schon in die Instrumentenkombi schauen, um zu sehen, welcher Modus aktiv ist. Dies funktioniert allerdings nur bei einer aktiven Zielführung wirklich gut. Ich selbst fahre sowieso immer mit Navi, und sei es nur für die Ankunftszeit. Für andere mag dies allerdings eine Umstellung sein. Die Ingenieure von BMW haben es dabei geschafft den Verbrauch so genau im Voraus zu bestimmen, dass man immer mit quasi leerem Akku ankommt. Dies ist vollkommen ok, wenn man am Ziel laden kann. Ansonsten muss man vorher alle Zwischenziele ins Navi speichern, damit das Fahrzeug die gesamte Route optimieren kann. Das ist leider ein kleiner Wermutstropfen, Gedanken lesen kann das Auto aber (noch) nicht.

Elektrisches Fahren

Der 330e hat einen 80 kW (~109 PS) Elektromotor und kann bis zu 140 km/h elektrisch fahren. Bei einen 2-Tonnen Auto darf man hier keine Wunder erwarten. Aber insbesondere in der Stadt beschleunigt er wirklich gut und lässt alle hinter sich (außer natürlich reine E-Autos). Das elektrische Fahren ist sehr angenehm und bringt eine Ruhe mit sich. Die Norm-Reichweite meines Wagen liegt bei 55 km. Diese habe ich im Sommer immer locker geschafft. Unter guten Bedingungen waren sogar über 60 km drin. Wie aber auch bei E-Autos ist die Reichweite stark von den Außentemperaturen abhängig. So sind im Winter teilweise dann nur noch 30 km das höchste der Gefühle. Dies sollte man bei der täglichen Strecke berücksichtigen.

Laden

Das Thema Laden ist natürlich immer so eine Sache. Wie eingangs erwähnt, habe ich keine Möglichkeit direkt Zuhause den Wagen zu laden. Ich bin also auf die öffentliche Ladeinfrastruktur angewiesen. Im Gegensatz zum E-Auto muss man sich auf langen Strecken keine Gedanken zum Laden unterwegs machen, dafür umso mehr um das laden am Zielort. Das Energiemanagement des Autos plant immer so, dass der Akku am Zielort leer ist. Um also den maximalen Nutzen zu haben, muss man immer laden. Nach anfänglichen Schwierigkeiten habe ich einen guten Rhythmus gefunden. Auch die BMW Charging Card ist eine große Hilfe, weil es damit nie Probleme hab. Allerdings fallen hier im “Active”-Tarif Strafgebühren nach drei Stunden Ladezeit an, außer Nachts zwischen 21h und 8h. (Stand Juni 2023). Der 330e benötigt allerdings eher so 3,5 Stunden für einen vollen Akku. Also versuche ich meist den Wagen abends zu laden und bringe ihn dann zurück zum Parkplatz. Während viele andere abends noch mit dem Hund rausgehen, fahre und hole ich dann meist das Auto vom/zum Laden. Selbst bei 55 km Reichweite im Sommer geht der Akku schnell zuneige, sodass man durchaus eine gewisse Disziplin fürs Laden braucht. Hier wäre es natürlich sehr hilfreich, den Wagen einfach in der heimischen Garage anzustecken. In der gesamten Zeit hatte ich nur 1-2 Male echte Probleme mit den Ladesäulen. Viel häufiger war es der Fall, dass die Ladeplätze zugeparkt waren. Hier wäre ein konsequenteres Abschleppen wünschenswert.

Verbrauch

Direkt kausal zum Thema Laden ist auch der Verbrauch. Bevor ich mich für den 330e entschieden habe, wollte ich natürlich auch wissen, welcher Verbrauch mich denn so erwartet. Und ich war sehr überrascht über die Spannweite an Verbrauchswerten. Diese reichten von unter 1 Liter bis über 12 Liter auf 100 km. Die unbefriedigende Antwort meinerseits ist nun, dass auch genau diese Spannweite ohne Probleme möglich ist. Wenn ich den Wagen nie auflade und regelmäßig etwas zügiger unterwegs bin, dass sind Werte von über 10 Litern auf 100 km durchaus möglich. Auf der anderen Seite kann ich durch kurze Strecken und regelmäßiges Auflagen auch monatelang ohne einen Tropfen Benzin fahren. Um wenigstens etwas Licht ins Dunkle zu bringen sind hier meine Verbrauchswerte je nach Fahrten. Wenn der Wagen vollgeladen ist und man eine längere Strecke von über 500 km bei etwa 140 km/h fährt, ist ein Verbrauch von knapp 6,5 Litern auf 100 km realistisch. Bei kurzen Strecken zur Verwandtschaft schaffe ich im Sommer auch durchaus die 1,5 Liter auf 100 km, da das Fahrprofil dem Testzyklus sehr nahe kommt. Mein Langzeitverbrauch liegt aktuell bei etwa 6,1 Litern auf 100 km bei einem elektrischen Fahranteil von knapp 25 %. Da merkt man auch, dass die vielen Kilometer in der Stadt durch eine lange Strecke schnell relativiert werden können. Aber ich hoffe, das gibt einen Indikator, mit welchem Benzin-Verbrauch zu rechnen. Ich hatte damals sogar mit knapp 8 Litern auf 100 km gerechnet und wurde jetzt positiv überrascht.

Weitere Vorteile

Dank des E-Kennzeichens genießt man auch mit einem Plug-In Hybriden einige Vorteile. Dazu zählt zum Beispiel das kostenlose Parken in vielen Innenstädten. Und bei einem kurzen Besuch fahre ich gerne an eine Ladesäule, dann spart man sich die Parkgebühr und kann wieder aufladen. Ein weiteres nettes Feature ist die Klimatisierung des Wagens, sowohl im Sommer als auch im Winter. Über die myBMW App ist es möglich die Klimatisierung aus der Ferne oder zeitgesteuert zu starten. Diese läuft dann für knapp 30 Minuten. Das reicht vollkommen, um den Wagen im Sommer angenehm zu kühlen oder im Winter das Eis schmelzen zu lassen. Auch im Stau oder beim Parken kann die Klimaanlage ohne den Motor eingeschaltet bleiben.

Nachteile / Kritik

In den vorigen Abschnitten bin ich bereits auf einige unschöne Aspekte eingegangen. Insbesondere die Notwendigkeit einer aktiven Zielführung ist einer. Anscheinend geht auch BMW davon aus, dass man Zuhause laden kann und nicht noch 1 km zur nächsten Ladesäule fahren muss. Auch die recht geringe Reichweite im Winter und das langsame Laden (mit 3,7 kW) stören etwas. Mich persönlich hat der etwas kleinere Kofferraum (410 statt 500 Liter) beim Touring weniger gestört, die Ladekante bei umgeklappter Rückbank nervt aber durchaus. Bei geladenem Akku fährt sich das Wagen einwandfrei und kann auch beim Beschleunigen die volle Leistung abrufen. Das Bild wandelt sich allerdings, sobald der Akku leer ist. Dann ist der Verbrennungsmotor für das 2-Tonnen Auto leider etwas unterdimensioniert und das Auto versucht krafthaft den Akku über den Verbrenner aufzuladen, was den Verbrauch in die Höhe treibt. Weiterhin ist der Tank mit 40 Litern auch recht klein. Dies führt dann meist dazu, dass ich nach einer langen Tour den Wagen erst laden und dann tanken muss.

Mein Fazit

Der Plug-In Hybrid ist meiner Ansicht nach das vermutlich aufwendigste und gleichzeitig beeindruckendste Antriebskonzept, das es je gab und auch wahrscheinlich je geben wird. Ein vollständiger Antriebsstrang mit Verbrennungsmotor, samt integriertem Elektromotor und großer Batterie, die beide in Harmonie funktionieren. Das verdient wirklich ein großes Lob an alle Ingenieure. Nur leider ist das Konzept nicht für jeden geeignet. Meiner Meinung nach gehört eine heimische Wallbox zur Grundvoraussetzung. Auch wenn ich es mit der öffentlichen Ladeinfrastruktur schaffe, ist es alles andere als Ideal und erfordert hohe Disziplin. Es gab schon viele Abende, an denen ich lieber ins Bett gegangen wäre als noch eine Ladesäule für das Auto zu suchen. Wenn man ihn allerdings regelmäßig lädt, dann kann man auch wochenlang rein elektrisch unterwegs sein und Verbräuche von fast 2 Litern erzielen. Auch wenn ein Plug-In Hybrid verlockend klingt für alle, die die Elektromobilität ausprobieren wollen. Ehrlicherweise ist dann ein reines E-Auto deutlich angenehmer, da man sich nur um eine Energiequelle sorgen muss. Und mit dem Akku kann man dann auch größere Strecken zurücklegen ohne fast jeden Tag eine Ladesäule suchen zu müssen. Für mich steht daher fest: Das nächste Auto wird entweder ein reiner Verbrenner oder ein reines Elektroauto. Der Plug-In Hybrid ist für mich zu sehr ein Kompromiss als das beste auch zwei Welten.

Dieser Blog ist ein Experiment.

Bisher habe ich Twitter verwendet, um meine Gedanken zu teilen. Allerdings habe ich festgestellt, dass Twitter nicht immer das richtige Medium ist. Dies gilt einerseits dann, wenn die Gedanken oder auch Ideen etwas ausführlicher sind. Und andererseits liegt es auch den Veränderungen bei Twitter.

Aus diesem Grund habe ich für mich beschlossen einen Blog aufzusetzen, ganz im Stile der ersten Jahre des Internets. Nur ist es heutzutage deutlich einfacher und schlanker einen Blog einzurichten. Ich habe mich nach einiger Recherche für Writefeely entschieden.

Ich bin gespannt, mit welchen Gedanken und Ideen sich der Blog füllen wird.

Vielleicht noch ein paar Worte zu mir: Die Faszination für Technik und Autos zieht sich durch mein Leben wie ein roter Faden. Ich habe Wirtschaftsingenieurwesen Maschinenbau an der RWTH studiert; anfangs mit dem Ziel Autos zu konstruieren, abgeschlossen eher mit Ziel Strategien für Fahrzeugportfolio zu entwickeln. Zu diesem Themenbereich habe ich dann auch promoviert. In meiner Promotion habe mich intensiv mit den EU-Vorgaben für die CO2 Flottenemissionen befasst und ein Kombination aus Simulations- und Optimierungsmodell verwendet, um für Hersteller Handlungsempfehlungen abzuleiten. Auch nach der Uni geht es weiter um die Automobilindustrie, dieses mal natürlich etwas praktischer.

Über die Jahre habe ich mir eine Vielzahl an Fähigkeiten angeeignet, die von der Strategieentwicklung, über die Datenanalyse und -aufbereitung bis zur Programmierung (primär in Python) reichen.