MG ins Smart Home einbinden

Einleitung
Für mein MG Elektroauto bietet der Hersteller eine Schnittstelle, über die man Daten abrufen kann. Hierfür wiederum gibt es eine Bridge, mit der man die abgerufenen Daten auf einen MQTT Broker schreiben kann, um sie in einer Smart Home Oberfläche anzeigen zu können.
MQTT
Ein im Smart Home beliebter Standard ist MQTT. MQTT Clients senden Daten an den MQTT Broker, der diese zum Abruf für andere MQTT Clients bereitstellt. Oft haben Smart Home Systeme eine Möglichkeit, auf MQTT zuzugreifen, um die Daten zu visualisieren und Kommandos an die jeweiligen Geräte zu senden.
iSmart Zweitnutzer
Damit man auf die Fahrzeugdaten zugreifen kann, benötigt man ein Zweitprofil in der MG iSmart
App. Sonst loggt sich diese immer nur auf dem Gerät ein, was zuletzt benutzt wurde und auf dem
anderen wird man ausgeloggt. Zunächst aus der iSmart App ausloggen unter Profil ▸
Einstellungen ▸ Ausloggen. Dann auf dem Loginbildschirm ein neues Konto registrieren. Nachdem
der Zweitnutzer angelegt wurde, wieder ausloggen und mit dem Hauptnutzer in der iSmart App anmelden.
Dann unter Profil ▸ Zweitkonto ▸ + klicken und Dauerhaft eine
Familienkarte mit der vorher genutzten Mobilfunknummer erstellen. Hierbei unter
Code die Vorwahl für Deutschland auswählen und dahinter die Mobilfunknummer ohne
führende Null.
Verbindung
Um
das MG Elektrofahrzeug mit MQTT zu verbinden, gibt es auf GitHub das
Projekt
SAIC Python MQTT Gateway.
Dieses habe ich als
Docker Image
auf meinem Synology NAS installiert. Die Installation ist in den Bildern
beschrieben und die Werte für die erweiterten Einstellungen nochmals im Folgenden
beschrieben.
ENV Variablen
| Variable | Beispielwert | Beschreibung |
|---|---|---|
| MQTT_URI | tcp://192.168.1.21:1883 | URL des MQTT Servers mit Portnummer |
| MQTT_TOPIC | cyberster | Topic, unter dem Werte erscheinen |
| SAIC_USER | 1721234567 | Login des Zweitkontos (Telefonnummer ohne Vorwahl) |
| SAIC_PASSWORD | totalGeheim | Passwort des Zweitkontos |
| SAIC_PHONE_COUNTRY_CODE | 49 | Ländervorwahl |
| BATTERY_CAPACITY_MAPPING | ABCDE00SN000123=77.0 | VIN des Cybersters mit Batteriekapazität |
| HA_DISCOVERY_ENABLED | FALSE | Home Assistant Erkennung deaktivieren wenn ungenutzt |
Traccar
| Variable | Beispielwert | Beschreibung |
|---|---|---|
| OSMAND_SERVER_URI | http://192.168.1.21:5055 | IP-Adresse mit Port, wo lokal Traccar läuft |
Wenn man die Position des MG Fahrzeugs live verfolgen möchte, kann man diese an eine GPS-Tracking-Software übermitteln, wie z. B. Traccar. Hier habe ich
beschrieben, wie man
Traccar als Docker Container einrichtet auf
dem NAS. Hierbei ist wichtig, bei der Einrichtung der saic2mqtt Bridge und
von Traccar in beiden Containern das Netzwerk auf host zu stellen und nicht auf
bridge. Nur so können beide miteinander kommunizieren und die Daten kommen in Traccar
an. Wird Traccar auf einem im Internet erreichbaren Server genutzt, ist dies egal.
Verfügbare Daten
Die
per MQTT verfügbaren Daten kann man sich z. B. im
MQTT Explorer ansehen.
MQTT Broker
Auf dieser Seite ist beschrieben, wie man ein MG Elektroauto per Bridge als MQTT Client einrichtet. Voraussetzung hierfür ist ein laufender MQTT Broker. Das ist ein Server, der die Daten von MQTT Clients entgegennimmt und den Zustand speichert, bis sich dieser ändert. Als MQTT Broker für die Synology bietet sich Mosquitto an.


