Zum Hauptinhalt springen

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

Peugeot / Citroën / DS / Opel-Integration für Gladys Assistant

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​

EinstellungWas du wählst
App des AutosDie App, die du nutzt: MyPeugeot, MyCitroën, MyDS, MyOpel oder MyVauxhall.
Land des KontosDas in der App gewählte Land. Vauxhall gibt es nur im Vereinigten Königreich.
Sprache der GerätenamenSprache der Funktionsnamen neuer Geräte (standardmäßig Französisch).
AbfrageWie oft die Cloud gelesen wird: 10, 15 (Standard), 30 oder 60 Minuten.
GPS-PositionStandardmäß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.

  1. Klicke auf Verbinden (Feld „Konto der App“): Die Anmeldeseite der Marke öffnet sich in einem neuen Tab.
  2. Öffne in diesem Tab die Entwicklertools vor der Anmeldung: F12 oder Strg+Umschalt+I (Cmd+Option+I auf dem Mac). Wähle den Reiter Konsole.
  3. Melde dich mit E-Mail-Adresse und Passwort der App an und bestätige, falls die Seite danach fragt.
  4. Die Seite scheint nichts zu tun: Das ist normal. Kopiere die Zeile der Konsole, die code= enthält (siehe unten, je Browser).
  5. 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.
  6. 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.

Konsole von Chrome oder Edge: die rote Zeile mit dem Code

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.

Reiter Netzwerk: die letzte Anfrage und ihr location-Header

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.

Konsole von Firefox: die Zeile mit dem Code

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:

FunktionAutosWert
Batteriestandelektrisch, Plug-in-Hybrid%
Elektrische Reichweiteelektrisch, Plug-in-Hybridkm
Ladezustandelektrisch, Plug-in-Hybridlädt, Fahrzeug verbunden (Laden fertig), pausiert (Fahrzeug, wartet), pausiert (Ladestation, Fehler), inaktiv (nicht angeschlossen)
Angeschlossenelektrisch, Plug-in-Hybridja / nein
Lädtelektrisch, Plug-in-Hybridja / nein
Ladegeschwindigkeitwenn das Auto sie sendetgewonnene Kilometer Reichweite pro Stunde (wie in der App; die Cloud liefert keine Leistung in kW)
Verbleibende Ladezeitwenn das Auto sie sendetMinuten (0 außerhalb des Ladens)
TankfüllstandVerbrenner, Plug-in-Hybrid%
KraftstoffreichweiteVerbrenner, Plug-in-Hybridkm
GesamtreichweitePlug-in-Hybridkm, elektrisch plus Kraftstoff
Kilometerstandwenn das Auto ihn sendetkm
Verriegeltwenn das Auto es sendetverriegelt / entriegelt (eine entriegelte Tür zählt als entriegelt)
Tür oder Kofferraum offenwenn das Auto es sendetja / nein
Vorklimatisierungwenn das Auto sie sendetein / aus
Außentemperaturwenn das Auto sie sendet°C
GPS-Positionwenn eingeschaltetText 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​

Konfigurationseinstellungen​

Diese Einstellungen fragt Peugeot / Citroën / DS / Opel in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Bevor du loslegstsectionNeinDiese 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 AutosselectJaDie App, die du für dein Auto nutzt: Konto und Anmeldeseite hängen davon ab.
Land des KontosselectJaDas in der App gewählte Land: Davon hängen die Kennungen der App ab. Vauxhall: nur Vereinigtes Königreich.
AnmeldungsectionNeinAm 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 Appaccount_linkNein
Sprache der GerätenamenselectNeinSprache der Funktionsnamen neuer Geräte (Gladys behält einen Namen, sobald das Gerät erstellt ist).
AbfrageselectNeinWie oft die Cloud gelesen wird. Das weckt das Auto nie: Es kommt der zuletzt vom Auto gesendete Zustand.
GPS-PositionbooleanNeinStandardmäß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​

  1. Öffne in Gladys Integrationen: Peugeot / Citroën / DS / Opel erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. 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).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. 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.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂