‹ Zurück zum Dashboard

MG4 · KLEVE

Android Auto

Eine App direkt im Auto-Display

Neben dem Web-Dashboard und der Uhr-App gibt es eine Android-Auto-App, die direkt auf dem Display des MG4 läuft. Wichtig zum Verständnis: Das ist eine Telefon-Projektion – die App läuft auf dem Handy und wird per Android Auto aufs Auto-Display gespiegelt. Es ist keine ins Fahrzeug eingebaute Android-Automotive-OS-App; die braucht der MG4 nicht, und so bleibt alles eine ganz normale Handy-App.

Vier Ansichten gibt es: eine Startseite mit den Live-Werten des Autos, eine Statistik-Seite mit Gesamtwerten, die Ladestationen in der Nähe und die Detailansicht einer einzelnen Ladestation.

Startseite – alles Wichtige auf einen Blick

Die Startseite ist ein Kachel-Raster mit den aktuellen Fahrzeugwerten: Akkustand, Reichweite, Ladestatus (während des Ladens die Leistung in kW, sonst „Nicht am Laden“), Außen- und Innentemperatur sowie die Spannung der 12-V-Bordbatterie. Die Werte färben sich zur schnellen Einordnung grün / gelb / rot – etwa der Akkustand unter 30 % gelb, unter 15 % rot, die 12-V-Spannung unter 12,4 V gelb. Diese Schwellen sind eine eigene, aus der EV-Praxis abgeleitete Einschätzung, keine Kopie eines Web-Werts.

Eine zusätzliche Wind-Kachel erscheint nur, während tatsächlich gefahren wird – sie zeigt die Gegen- oder Rückenwind-Komponente (gelb bei Gegenwind, grün bei Rückenwind) und wird ganz weggelassen, wenn gerade keine aussagekräftige Fahrtrichtung vorliegt, statt einen leeren Platzhalter zu zeigen. Die Seite aktualisiert sich alle 30 Sekunden im Hintergrund selbst. Über die Kopfzeile geht es zu den beiden anderen Bereichen: Statistik und Ladestationen.

Statistik

Der zweite Bereich fasst Gesamt- und Enthusiasten-Werte zusammen: gefahrene Gesamtstrecke, Durchschnittsverbrauch pro 100 km, insgesamt zurückgewonnene (rekuperierte) Energie, eingespartes CO₂, die höchste je gemessene Ladeleistung und der durchschnittliche windbedingte Mehrverbrauch. Reine Anzeige, keine Steuerung – bewusst so gehalten, damit sie den Android-Auto-Richtlinien für Fahrsicherheit entspricht.

Ladestationen in der Nähe

Die dritte Ansicht zeigt eine Karte mit den Ladesäulen im Umkreis. Wie in Google Maps sind mehrere Ladepunkte am selben Ort zu einer Zeile zusammengefasst, und als Titel steht die echte Adresse statt eines technischen Betreibernamens. Jede Zeile fasst kurz zusammen, was es dort gibt: Anzahl der Anschlüsse, Leistungsbereich und günstigster Preis. Ein Tipp auf eine Zeile öffnet die Detailansicht.

Detailansicht einer Ladestation

Tippt man einen Ladeort an, öffnet sich die Detailseite mit den einzelnen Anschlüssen. Gleichartige Anschlüsse werden mit Anzahl zusammengefasst (z. B. „CCS · 300 kW (4×)“), und die technischen Stecker-Kürzel werden lesbar gemacht – aus iec62196T2COMBO wird schlicht „CCS“. Zu jedem Anschluss steht der Ad-hoc-Preis; ist die Preisquelle nicht bestätigt, wird das mit einem vorangestellten „~“ kenntlich gemacht. Zum Vergleich wird der günstigste eigene Abo-Tarif eingeblendet. Ein „Navigieren“-Knopf übergibt den Ladeort an die Standard-Navigations-App des Autos.

Wie es im Hintergrund funktioniert

Die App spricht per HTTPS mit demselben Backend, das auch dieses Dashboard bedient. Für die Fahrzeugwerte nutzt sie dieselben öffentlichen, unauthentifizierten Endpunkte wie das Dashboard (GET /api/public/status für die Statuswerte, GET /api/public/current-trip für den Wind während der Fahrt) – es gilt also dieselbe Datenschutz-Grenze: kein Standort, keine Kosten, keine sicherheitsrelevanten Zustände. Die Ladestationen kommen über einen eigenen, token-geschützten Endpunkt (GET /api/app/stations).

Wichtig: Die App ist OBD-frei – sie liest nichts direkt aus dem Auto aus. Alle Werte stammen vom Server, der sie seinerseits aus der Hersteller-Cloud (SAIC/MG iSMART) bezieht. Und weil die Position für die Ladesäulen-Suche vom Server kommt (die zuletzt bekannte Fahrzeugposition), braucht die App keine eigene Standortberechtigung auf dem Handy.

Warum es aussieht, wie es aussieht

Man malt bei Android Auto keine eigene Oberfläche. Aus Gründen der Fahrsicherheit erlaubt das System nur einen festen Satz vorgegebener, ablenkungsarmer Vorlagen – man beschreibt nur die Inhalte, und das Auto rendert sie fahrsicher (große Schrift, begrenzte Zeilenzahl, keine frei platzierten Elemente). Konkret nutzt die App ein Kachel-Raster (GridTemplate) für Start und Statistik, eine Karten-Liste (PlaceListMapTemplate) für die Ladestationen und eine Detail-Ansicht (PaneTemplate) für die einzelne Station.

Wie viele Kacheln bzw. Zeilen erlaubt sind, gibt das jeweilige Fahrzeug vor. Die App fragt diese Obergrenzen zur Laufzeit ab (ConstraintManager) und passt sich an, statt feste Werte zu verdrahten – auf einem Head-Unit mit nur sechs Kachelplätzen entfällt so z. B. automatisch die zuletzt hinzugefügte Wind-Kachel, ohne dass etwas bricht.

Was für die Ladestationen zusätzlich gebaut werden musste

Absicherung & Datensparsamkeit

Der Ladestationen-Endpunkt ist mit einem App-Token geschützt (Authorization: Bearer …), das im Admin-Bereich erzeugt und dort nur als kryptografischer Hash gespeichert wird – dieselbe Machart wie beim Token der Uhr-App, und jederzeit widerrufbar. Die öffentlichen Status-Endpunkte geben dagegen bewusst kein GPS, keine Kosten und keine sicherheitsrelevanten Zustände preis (die gleiche öffentlich-/Admin-Trennung wie im restlichen System). Eine eigene Standortberechtigung braucht die App nicht.

Eine ehrliche Randnotiz zum Bauen selbst

Anders als die Uhr-App (Jetpack Compose) besteht die Android-Auto-App aus reinen Klassen und Interfaces – das ließ sich weitgehend offline und ohne vollständigen Build prüfen. Den echten Test gab es trotzdem: erst im Desktop Head Unit (dem offiziellen Simulator am Rechner), dann im echten MG4-Display. Verteilt wird die App über den Play-Store-Internal-Testing-Kanal; für jedes Update muss die Versionsnummer hochgezählt und das Ziel-API-Level aktuell gehalten werden (zuletzt auf Android 15 / API 35 angehoben, wie Google es für App-Updates verlangt).

Das Ganze ist – wie das restliche Projekt – ohne Programmier-Hintergrund entstanden. Dass am Ende eine App im Auto-Display läuft, die Ladesäulen wie eine kommerzielle Karten-App aufbereitet, ist entsprechend eher Ausdruck von Hartnäckigkeit als von Routine.