Peugeot / Citroën / DS / Opel Smart-Home-Integration, kostenlos und Open Source

Autos von Peugeot, Citroën, DS, Opel und Vauxhall: Batterie, Reichweite, Laden, Tank.
Verfolge deine Autos von Peugeot, Citroën, DS, Opel und Vauxhall in Gladys: Batterie, Reichweite, Laden, Tank, Kilometerstand, Verriegelung. Die Integration meldet sich wie die App bei deinem MyPeugeot-, MyCitroën-, MyDS-, MyOpel- oder MyVauxhall-Konto an und liest den Zustand, den deine Autos zuletzt an die Stellantis-Cloud gesendet haben.
Diese Integration ist nicht mit Stellantis oder seinen Marken verbunden. Entwickelt wurde sie ohne Auto und ohne Konto entwickelt, auf Grundlage der Arbeit der Home-Assistant-Community: Rückmeldungen sind willkommen, im Forum oder in den GitHub-Issues.
Was sie tut
- Ein Gladys-Gerät pro Auto des Kontos: elektrisch, Plug-in-Hybrid oder Verbrenner.
- Seine Werte werden alle 15 Minuten aus der Stellantis-Cloud gelesen (wählbar von 10 bis 60). Eine Abfrage weckt das Auto nie: Geliefert wird, was das Auto zuletzt gesendet hat (beim Abstellen, während des Ladens, ab und zu im Stand).
- Noch wird nichts aus Gladys gesteuert: Vorklimatisierung, Laden und Verriegelung werden angezeigt, nicht befohlen (siehe Grenzen).
- Die GPS-Position ist standardmäßig aus; du schaltest sie in der Konfiguration ein.
Voraussetzungen
- Ein Auto des Stellantis-Konzerns (Peugeot, Citroën, DS, Opel, Vauxhall) mit vernetzten Diensten, bereits in der App der Marke (MyPeugeot, MyCitroën, MyDS, MyOpel, MyVauxhall) hinzugefügt und dort mit seinem Zustand sichtbar.
- E-Mail-Adresse und Passwort des Kontos dieser App.
- Kein kostenpflichtiges Abo: Die Integration liest nur den Zustand des Autos, was die kostenlose App und die vernetzten Grunddienste erlauben (bei einem neuen Elektroauto ist das Paket Connect One mehrere Jahre enthalten). Die kostenpflichtigen Angebote (e-Remote Control, Remote Control, Connect Plus) braucht es nur für Fernbefehle, die diese Version nicht sendet.
- Ein Computer mit Chrome, Edge, Firefox oder Safari für die Anmeldung (einmal, dann nur, wenn die Sitzung endet): Der Code wird in den Entwicklertools des Browsers abgelesen.
- Gladys 5.1 oder neuer, mit Internetzugang.
Fiat, Jeep, Alfa Romeo und die anderen Marken des Konzerns nutzen andere Apps und eine andere Cloud: Diese Marken werden nicht unterstützt.
Konfiguration
Öffne Integrationen, suche Peugeot / Citroën / DS / Opel und öffne den Reiter Konfiguration.
1. App und Land
| Einstellung | Was du wählst |
|---|---|
| App des Autos | Die App, die du nutzt: MyPeugeot, MyCitroën, MyDS, MyOpel oder MyVauxhall. |
| Land des Kontos | Das in der App gewählte Land. Vauxhall gibt es nur im Vereinigten Königreich. |
| Sprache der Gerätenamen | Sprache der Funktionsnamen neuer Geräte (standardmäßig Französisch). |
| Abfrage | Wie oft die Cloud gelesen wird: 10, 15 (Standard), 30 oder 60 Minuten. |
| GPS-Position | Standardmäßig aus. An: Die zuletzt gesendete Position wird angezeigt, mit Karten-Taste. |
Speichere vor der Anmeldung: Die Anmeldeseite hängt von App und Land ab.
Anmeldung
Die Anmeldeseite der Marken ist für ihre mobile App gemacht: Am Ende übergibt sie der App einen
Code über eine Adresse, die nur die App öffnet (mymap://… für MyPeugeot, mymacsdk://… für
MyCitroën, mymdssdk://… für MyDS, mymopsdk://… für MyOpel, mymvxsdk://… für MyVauxhall). Am
Computer kann der Browser sie nicht öffnen und scheint nichts zu tun, aber die Adresse mit dem Code
erscheint in seinen Entwicklertools. Du kopierst sie in Gladys.
- Klicke auf Verbinden (Feld „Konto der App“): Die Anmeldeseite der Marke öffnet sich in einem neuen Tab.
- Öffne in diesem Tab die Entwicklertools vor der Anmeldung:
F12oderStrg+Umschalt+I(Cmd+Option+Iauf dem Mac). Wähle den Reiter Konsole. - Melde dich mit E-Mail-Adresse und Passwort der App an und bestätige, falls die Seite danach fragt.
- Die Seite scheint nichts zu tun: Das ist normal. Kopiere die Zeile der Konsole, die
code=enthält (siehe unten, je Browser). - Füge sie innerhalb von zwei Minuten (der Code läuft schnell ab und gilt nur einmal) in die Aktion Anmeldung abschließen unten auf der Konfigurationsseite ein und klicke darauf.
- Die Aktion antwortet „Verbunden: N Fahrzeug(e)“. Öffne den Reiter Entdecken und füge deine Autos hinzu.
Gladys sieht dein Passwort nie: Es wird auf der Seite der Marke eingegeben. Der Code wird gegen eine Sitzung getauscht, die sich selbst erneuert; sie bleibt im Speicher der Integration.
Chrome und Edge
Im Reiter Konsole erscheint nach der Anmeldung eine rote Zeile:
Failed to launch 'mymap://oauth2redirect/fr?code=…&scope=…' because the scheme does not have a registered handler.
Kopiere die ganze Zeile oder nur die Adresse zwischen den Hochkommas.
Keine Zeile? Öffne den Reiter Netzwerk, setze den Haken bei Log beibehalten, melde dich ab
Schritt 1 erneut an, klicke dann auf die letzte Anfrage (Status 302 oder die rote namens
oauth2redirect…) und kopiere die Adresse ihres Headers location oder ihre URL.
Firefox
In der Konsole schreibt Firefox:
Prevented navigation to “mymap://oauth2redirect/fr?code=…” due to an unknown protocol. (oder das
deutsche Gegenstück). Kopiere die Adresse zwischen den Anführungszeichen oder die ganze Zeile. Wird
die Konsole beim Seitenwechsel geleert, schalte in ihren Einstellungen (Zahnrad) Logs
beibehalten ein und melde dich erneut an.
Safari
Schalte zuerst die Entwicklertools ein: Safari → Einstellungen → Erweitert → Funktionen für
Webentwickler anzeigen. Dann im Anmelde-Tab Entwickler → Webinformationen einblenden, Reiter
Netzwerk, und setze den Haken bei Protokoll beibehalten. Klicke nach der Anmeldung auf die
letzte Anfrage und kopiere die Adresse mymap://… ihres Headers Location. Manchmal zeigt Safari
die Adresse auch in einer Fehlermeldung der Seite.
Was du einfügst
Egal welches: die ganze Zeile der Konsole, die Adresse mymap://oauth2redirect/fr?code=… oder nur
den Code (was nach code= bis zum & steht). Die Integration holt den Code heraus.
Antwortet die Aktion „Code abgelehnt“: Der Code wurde schon benutzt, ist abgelaufen oder stammt von einer anderen App oder einem anderen Land als den gespeicherten. Klicke erneut auf Verbinden und füge den neuen Code schnell ein.
Die anderen Aktionen: Verbindung testen listet die Autos des Kontos auf (keines wird geweckt); Abmelden löscht die gespeicherte Sitzung (die Geräte bleiben in Gladys, ohne neue Werte).
Geräte
Jedes Auto ist ein Gerät, benannt nach seinem Modell und dem Ende seiner FIN, zum Beispiel
Peugeot e-208 (…0208): Die vollständige FIN erscheint nie in Gladys oder in den Logs. Ein Auto
bekommt die Funktionen, die sein Antrieb und seine Antworten erlauben:
| Funktion | Autos | Wert |
|---|---|---|
| Batteriestand | elektrisch, Plug-in-Hybrid | % |
| Elektrische Reichweite | elektrisch, Plug-in-Hybrid | km |
| Ladezustand | elektrisch, Plug-in-Hybrid | lädt, Fahrzeug verbunden (Laden fertig), pausiert (Fahrzeug, wartet), pausiert (Ladestation, Fehler), inaktiv (nicht angeschlossen) |
| Angeschlossen | elektrisch, Plug-in-Hybrid | ja / nein |
| Lädt | elektrisch, Plug-in-Hybrid | ja / nein |
| Ladegeschwindigkeit | wenn das Auto sie sendet | gewonnene Kilometer Reichweite pro Stunde (wie in der App; die Cloud liefert keine Leistung in kW) |
| Verbleibende Ladezeit | wenn das Auto sie sendet | Minuten (0 außerhalb des Ladens) |
| Tankfüllstand | Verbrenner, Plug-in-Hybrid | % |
| Kraftstoffreichweite | Verbrenner, Plug-in-Hybrid | km |
| Gesamtreichweite | Plug-in-Hybrid | km, elektrisch plus Kraftstoff |
| Kilometerstand | wenn das Auto ihn sendet | km |
| Verriegelt | wenn das Auto es sendet | verriegelt / entriegelt (eine entriegelte Tür zählt als entriegelt) |
| Tür oder Kofferraum offen | wenn das Auto es sendet | ja / nein |
| Vorklimatisierung | wenn das Auto sie sendet | ein / aus |
| Außentemperatur | wenn das Auto sie sendet | °C |
| GPS-Position | wenn eingeschaltet | Text Breite, Länge |
Alle Funktionen sind nur lesbar. Ein Wert, der sich nicht ändert, wird zweimal am Tag erneut gesendet, damit Gladys ihn weiter als aktuell zeigt. Ein Wert, den das Auto nicht mehr sendet, behält seinen letzten Zustand.
Widget
Mein Auto (Stellantis) zeigt ein Auto: Kacheln für Batterie (oder Tank) und Reichweite, dann eine Liste mit dem Laden (mit Geschwindigkeit und erwartetem Ende während des Ladens), den Türen, der Vorklimatisierung und der Zeit der letzten Meldung. Seine Taste Aktualisieren liest die Cloud erneut (ohne das Auto zu wecken); eine Taste Karte erscheint, wenn die GPS-Position eingeschaltet ist. Wähle das Auto in den Einstellungen des Widgets.
Szenenauslöser
Laden beendet löst aus, wenn ein Auto nach einem laufenden Ladevorgang ein abgeschlossenes Laden meldet. Ein gestopptes, fehlgeschlagenes oder durch Abstecken beendetes Laden löst ihn nicht aus. Seine Variablen: Batteriestand (%) und elektrische Reichweite (km). Lass den Fahrzeugfilter leer für alle Autos.
Angeschlossen, abgesteckt, Batterie niedrig: Nutze die Werte des Geräts in einer Szene (Auslöser „Gerätewert“, zum Beispiel Batteriestand unter 20 mit „nur beim Überschreiten der Schwelle“): Ein eigener Auslöser ist nicht nötig.
Szenenaktion
Stellantis-Auto jetzt lesen liest sofort den Zustand, den das Auto an die Cloud gesendet hat, und gibt den nächsten Aktionen Batteriestand, Tankfüllstand, Gesamtreichweite sowie die Werte angeschlossen, lädt und verriegelt. Das Auto wird dabei nicht geweckt.
Szenenbeispiele
- Lade-Erinnerung: jeden Abend um 21:00 Stellantis-Auto jetzt lesen, dann, wenn der Batteriestand unter 30 % liegt und das Auto nicht angeschlossen ist, „Denk daran, das Auto anzustecken“ an die Familie senden.
- Laden fertig: Auslöser Laden beendet, „Das Auto ist geladen: {{triggerEvent.data.battery_level}} %, {{triggerEvent.data.range_km}} km“ senden.
- Auto offen gelassen: Auslöser Verriegelt wechselt auf „entriegelt“, 10 Minuten warten, dann, wenn es noch so ist, eine Benachrichtigung senden.
Abfragen und Kontingente
Die Integration liest die Cloud mit ihrem eigenen Timer (ein Aufruf pro Auto und Abfrage, dazu etwa einmal pro Stunde eine Erneuerung der Sitzung), nie über das Polling von Gladys. Stellantis veröffentlicht kein Kontingent für diese API; die Home-Assistant-Integration liest jede Minute ohne bekannte Probleme. Antwortet die Cloud „zu viele Anfragen“, pausieren die Abfragen 30 Minuten. Ein Ausfall der Cloud wird nach 1, 2, 5, 10 und dann alle 15 Minuten erneut versucht.
Fehlerbehebung
- „Nicht angemeldet“: Die Anmeldung wurde nicht abgeschlossen. Folge Anmeldung.
- „Code abgelehnt“: Der Code gilt einmal, etwa zwei Minuten, für die gespeicherte App und das gespeicherte Land. Klicke erneut auf Verbinden und füge schnell ein.
- „Kein Code gefunden“: Füge die Zeile oder die Adresse ein, die
code=enthält. - „Die App dieser Marke gibt es in diesem Land nicht“: Wähle das Land deines Kontos (Vauxhall: Vereinigtes Königreich).
- „Die Stellantis-Sitzung ist beendet“: Die Sitzung wurde bei ihrer Erneuerung abgelehnt (Passwort geändert, Konto zurückgesetzt, Gladys lange aus). Melde dich erneut an; die Geräte und ihr Verlauf bleiben.
- Keine Zeile in der Konsole: Die Entwicklertools wurden nach der Anmeldung geöffnet. Öffne sie vorher oder nutze den Reiter Netzwerk mit „Log beibehalten“, und melde dich erneut an.
- Ein Auto zeigt keine oder alte Werte: Die App zeigt dasselbe: Das Auto sendet seinen Zustand beim Abstellen, während des Ladens und ab und zu; ein seit Tagen ungenutztes Auto sendet weniger (seine 12-V-Batterie wird geschont). Ein Auto im Privatsphäre-Modus teilt nichts: Das Widget zeigt es an.
- Logs: Die Integration schreibt auf Stufe info nur ihren Lebenszyklus. Setze
LOG_LEVEL=debug, um jede Abfrage zu sehen. Token, Codes, FIN und Positionen werden nie geschrieben.
Grenzen
- Noch keine Fernbefehle: Vorklimatisierung, Starten oder Stoppen des Ladens, Ladelimit, Verriegeln, Entriegeln und Aufwecken des Autos laufen über einen anderen Stellantis-Dienst (MQTT), der eine Registrierung per SMS-Code und die PIN der App verlangt. Die einzigen offenen Implementierungen dieser Registrierung stehen unter der GPL; diese Integration unter Apache 2.0 übernimmt sie nicht. Die Befehle können in einer späteren Version kommen.
- Liest nur den Zustand der Cloud: kein „Aufwecken und neu lesen“. Die Werte sind so aktuell wie die letzte Meldung des Autos.
- Anmeldung durch Kopieren eines Codes: Stellantis gibt Privatpersonen keinen API-Zugang, die Integration meldet sich als App der Marke an; ändert Stellantis die Anmeldung der App, kann die Integration bis zu ihrer Aktualisierung ausfallen.
- Ladegeschwindigkeit in km/h: Die Cloud liefert keine Leistung in kW.
- Entwickelt und getestet ohne Auto und ohne Konto, mit Antworten nach dem Vorbild der Home-Assistant-Integration: Bitte melde, was du beobachtest.
Danksagungen
- andreadegiovine/homeassistant-stellantis-vehicles (MIT): die Anmeldung jeder App, die Kennungen der Apps je Land, die API-Aufrufe und die Bedeutung der Felder.
- flobz/psa_car_controller (GPL-3.0): gelesen, um die API und ihre Fernbefehle zu verstehen; nichts davon wird hier übernommen.
Konfigurationseinstellungen
Diese Einstellungen fragt Peugeot / Citroën / DS / Opel in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Bevor du loslegst | section | Nein | Diese Integration meldet sich wie die App bei deinem MyPeugeot-, MyCitroën-, MyDS-, MyOpel- oder MyVauxhall-Konto an und liest den Zustand, den deine Autos zuletzt an die Stellantis-Cloud gesendet haben, ohne sie je zu wecken. Fernbefehle (Vorklimatisierung, Laden, Verriegelung) werden noch nicht unterstützt. Ohne Auto entwickelt: Rückmeldungen willkommen. Nicht mit Stellantis oder seinen Marken verbunden. |
| App des Autos | select | Ja | Die App, die du für dein Auto nutzt: Konto und Anmeldeseite hängen davon ab. |
| Land des Kontos | select | Ja | Das in der App gewählte Land: Davon hängen die Kennungen der App ab. Vauxhall: nur Vereinigtes Königreich. |
| Anmeldung | section | Nein | Am Computer: 1. Wähle oben App und Land und speichere. 2. Klicke auf Verbinden: Die Anmeldeseite der Marke öffnet sich in einem neuen Tab. Öffne in diesem Tab die Entwicklertools (F12, oder Cmd+Option+I auf dem Mac), Reiter Konsole. 3. Melde dich mit der E-Mail-Adresse und dem Passwort der App an. Die Seite scheint danach nichts zu tun: Das ist normal. 4. In der Konsole nennt eine rote Zeile eine Adresse, die mit mymap:// beginnt (mymacsdk://, mymdssdk://, mymopsdk:// oder mymvxsdk:// bei den anderen Marken) und code= enthält. Kopiere diese Adresse. 5. Füge sie innerhalb von zwei Minuten in die Aktion „Anmeldung abschließen“ unten auf dieser Seite ein. Gladys sieht dein Passwort nie. Die Anleitung zeigt, wo du die Adresse in jedem Browser findest. |
| Konto der App | account_link | Nein | |
| Sprache der Gerätenamen | select | Nein | Sprache der Funktionsnamen neuer Geräte (Gladys behält einen Namen, sobald das Gerät erstellt ist). |
| Abfrage | select | Nein | Wie oft die Cloud gelesen wird. Das weckt das Auto nie: Es kommt der zuletzt vom Auto gesendete Zustand. |
| GPS-Position | boolean | Nein | Standardmäßig aus (Privatsphäre). An: Die zuletzt vom Auto gesendete Position wird in Gladys angezeigt. |
So installierst du Peugeot / Citroën / DS / Opel in Gladys
- Öffne in Gladys Integrationen: Peugeot / Citroën / DS / Opel erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-stellantis:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-stellantis.
Peugeot / Citroën / DS / Opel benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
Peugeot / Citroën / DS / Opel ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation