Seite 69 von 74

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Mo Apr 15, 2024 11:45 am
von Pendragon
Bei mir läuft der psa_controller im Docker, aber wie mrinas schon vorher sagte, ist das sehr friemelig und man muss die Werte hier auch wieder abholen und weiterschicken.
Also nichts für Leute mit unter 2 Homeservern ;)

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Di Apr 23, 2024 1:14 pm
von rloeffla
mrinas hat geschrieben: Mo Apr 15, 2024 11:24 am
HansR hat geschrieben: Mo Apr 15, 2024 11:18 am Hallo,

hmmm, aber an was konkret hakt es dass der SoC in der openWB nicht abgerufen werden kann? Grundsätzlich scheint es ja möglich zu sein, in der Opel-App bekomme ich ja den korrekten Wert angezeigt. Ist halt umständlich nach jeder Fahrt den SoC in der Opel-App abzufragen und von Hand in die openWB zu übertragen. :roll: :roll:

Gruß
Hans
Bisher konnte sich die openWB als mobile App ausgeben und so anmelden. War nie so vorgesehene, dDas ist nun durch technische Änderungen der Anmeldeprozedur nicht mehr möglich. Genau genommen wurde 'sauberes' oAuth2 implementiert, inklusive redirect in die mobile App.
Durch diese Änderung kann die openWB keine gültigen Zugangsdaten (Tokens) mehr erzeugen, ohne diese können wir keinen SoC abrufen.

Theoretisch gibt es bei PSA auch einen Weg damit sich Apps wie die openWB als App registrieren können um dann über einen sauber dokumentierten Weg Tokens erzeugen zu können. Allerdings ist dieser Weg nicht für lokal installierte Lösungen wie die openWB vorgesehen, und insbesondere reagiert PSA auf die Registrierungsanfragen leider gar nicht.
Drum sind wir hier in einem 'Keine Hände, keine Kekse' Szenario.
mrinas hat geschrieben: Mo Apr 15, 2024 11:24 am "Allerdings ist dieser Weg nicht für lokal installierte Lösungen wie die openWB vorgesehen"
Hier sind ja viele technsich sehr versierte Leute, und vermutlich ist schon längst einer auf die Idee gekommen. Ich frag aber trotzdem mal blöd:
Wie wär es denn, wenn wir oAuth so benutzen wie es designed ist? Wir machen also was ähnliches wie tronity, und könnten damit alles SoCs auslesen die oAuth unterstützen. openWB registriert sich einmalig z.B bei PSA (bei dieser Anfrage sollte man doch Antwort bekommen - tronity hat das ja auch geschafft) und beim Einrichten des SoC-Moduls auf der lokalen openWB hinterlegt man die privaten Login-Daten.
Dazu benötigen wir ein allgemeines "oAuth"-Soc-Modul und einen zentralen Webservice. Vielleicht könnte man den Webservice auf der openWB-Cloud platzieren?

Für die Interessierten die mit oAuth noch nichts zu tun hatten hier mal ein Link zu Wikipedia mit einem Ablaufdiagramm:
Resource Owner wäre die Person, die gerade die Wallbox einrichtet und zB einen e-Corsa fährt
User Agent ist die openWB Software auf der Wallbox
Client Web Service ist ein zentraler Webservice von openWB
Authorization und Resource Server wären dann bei PSA
https://de.wikipedia.org/wiki/OAuth#/me ... t-Flow.png

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Di Apr 23, 2024 1:17 pm
von mrinas
rloeffla hat geschrieben: Di Apr 23, 2024 1:14 pm
mrinas hat geschrieben: Mo Apr 15, 2024 11:24 am
HansR hat geschrieben: Mo Apr 15, 2024 11:18 am Hallo,

hmmm, aber an was konkret hakt es dass der SoC in der openWB nicht abgerufen werden kann? Grundsätzlich scheint es ja möglich zu sein, in der Opel-App bekomme ich ja den korrekten Wert angezeigt. Ist halt umständlich nach jeder Fahrt den SoC in der Opel-App abzufragen und von Hand in die openWB zu übertragen. :roll: :roll:

Gruß
Hans
Bisher konnte sich die openWB als mobile App ausgeben und so anmelden. War nie so vorgesehene, dDas ist nun durch technische Änderungen der Anmeldeprozedur nicht mehr möglich. Genau genommen wurde 'sauberes' oAuth2 implementiert, inklusive redirect in die mobile App.
Durch diese Änderung kann die openWB keine gültigen Zugangsdaten (Tokens) mehr erzeugen, ohne diese können wir keinen SoC abrufen.

Theoretisch gibt es bei PSA auch einen Weg damit sich Apps wie die openWB als App registrieren können um dann über einen sauber dokumentierten Weg Tokens erzeugen zu können. Allerdings ist dieser Weg nicht für lokal installierte Lösungen wie die openWB vorgesehen, und insbesondere reagiert PSA auf die Registrierungsanfragen leider gar nicht.
Drum sind wir hier in einem 'Keine Hände, keine Kekse' Szenario.
mrinas hat geschrieben: Mo Apr 15, 2024 11:24 am "Allerdings ist dieser Weg nicht für lokal installierte Lösungen wie die openWB vorgesehen"
Hier sind ja viele technsich sehr versierte Leute, und vermutlich ist schon längst einer auf die Idee gekommen. Ich frag aber trotzdem mal blöd:
Wie wär es denn, wenn wir oAuth so benutzen wie es designed ist? Wir machen also was ähnliches wie tronity, und könnten damit alles SoCs auslesen die oAuth unterstützen. openWB registriert sich einmalig z.B bei PSA (bei dieser Anfrage sollte man doch Antwort bekommen - tronity hat das ja auch geschafft) und beim Einrichten des SoC-Moduls auf der lokalen openWB hinterlegt man die privaten Login-Daten.
Dazu benötigen wir ein allgemeines "oAuth"-Soc-Modul und einen zentralen Webservice. Vielleicht könnte man den Webservice auf der openWB-Cloud platzieren?

Für die Interessierten die mit oAuth noch nichts zu tun hatten hier mal ein Link zu Wikipedia mit einem Ablaufdiagramm:
Resource Owner wäre die Person, die gerade die Wallbox einrichtet und zB einen e-Corsa fährt
User Agent ist die openWB Software auf der Wallbox
Client Web Service ist ein zentraler Webservice von openWB
Authorization und Resource Server wären dann bei PSA
https://de.wikipedia.org/wiki/OAuth#/me ... t-Flow.png
Ich würde liebend gerne oAuth nutzen so wie es gedacht ist. Dazu brauchen wir eine eigene App welche bei PSA registriert werden muss. Das ist theoretisch auch vorgesehen, aber PSA reagiert hier schlicht nicht. Und mit ohne diese App kommen wir halt leider nicht weiter.
https://developer.groupe-psa.io/webapi/ ... n/#article

siehe auch hier:
https://github.com/Stellantis/stellanti ... issues/130
https://github.com/Stellantis/stellanti ... issues/128

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Di Apr 23, 2024 1:46 pm
von rloeffla
mrinas hat geschrieben: Di Apr 23, 2024 1:17 pm
rloeffla hat geschrieben: Di Apr 23, 2024 1:14 pm
mrinas hat geschrieben: Mo Apr 15, 2024 11:24 am

Bisher konnte sich die openWB als mobile App ausgeben und so anmelden. War nie so vorgesehene, dDas ist nun durch technische Änderungen der Anmeldeprozedur nicht mehr möglich. Genau genommen wurde 'sauberes' oAuth2 implementiert, inklusive redirect in die mobile App.
Durch diese Änderung kann die openWB keine gültigen Zugangsdaten (Tokens) mehr erzeugen, ohne diese können wir keinen SoC abrufen.

Theoretisch gibt es bei PSA auch einen Weg damit sich Apps wie die openWB als App registrieren können um dann über einen sauber dokumentierten Weg Tokens erzeugen zu können. Allerdings ist dieser Weg nicht für lokal installierte Lösungen wie die openWB vorgesehen, und insbesondere reagiert PSA auf die Registrierungsanfragen leider gar nicht.
Drum sind wir hier in einem 'Keine Hände, keine Kekse' Szenario.
mrinas hat geschrieben: Mo Apr 15, 2024 11:24 am "Allerdings ist dieser Weg nicht für lokal installierte Lösungen wie die openWB vorgesehen"
Hier sind ja viele technsich sehr versierte Leute, und vermutlich ist schon längst einer auf die Idee gekommen. Ich frag aber trotzdem mal blöd:
Wie wär es denn, wenn wir oAuth so benutzen wie es designed ist? Wir machen also was ähnliches wie tronity, und könnten damit alles SoCs auslesen die oAuth unterstützen. openWB registriert sich einmalig z.B bei PSA (bei dieser Anfrage sollte man doch Antwort bekommen - tronity hat das ja auch geschafft) und beim Einrichten des SoC-Moduls auf der lokalen openWB hinterlegt man die privaten Login-Daten.
Dazu benötigen wir ein allgemeines "oAuth"-Soc-Modul und einen zentralen Webservice. Vielleicht könnte man den Webservice auf der openWB-Cloud platzieren?

Für die Interessierten die mit oAuth noch nichts zu tun hatten hier mal ein Link zu Wikipedia mit einem Ablaufdiagramm:
Resource Owner wäre die Person, die gerade die Wallbox einrichtet und zB einen e-Corsa fährt
User Agent ist die openWB Software auf der Wallbox
Client Web Service ist ein zentraler Webservice von openWB
Authorization und Resource Server wären dann bei PSA
https://de.wikipedia.org/wiki/OAuth#/me ... t-Flow.png
Ich würde liebend gerne oAuth nutzen so wie es gedacht ist. Dazu brauchen wir eine eigene App welche bei PSA registriert werden muss. Das ist theoretisch auch vorgesehen, aber PSA reagiert hier schlicht nicht. Und mit ohne diese App kommen wir halt leider nicht weiter.
https://developer.groupe-psa.io/webapi/ ... n/#article

siehe auch hier:
https://github.com/Stellantis/stellanti ... issues/130
https://github.com/Stellantis/stellanti ... issues/128
Was meinst du mit "eine eigene App". App sollte man hier nicht wörtlich nehmen, unsere App ist openWB mit einem zentralen WebService (u.a. damit die Secrets nicht lokal auf der Wallbox sind)
Wenn die Registrierungsanfragen aber nicht beantwortet werden, dann frag ich mich warum sie (stallantis) oAuth implementiert haben und den von Dir geteilten Workflow der Registrierung nicht "leben"

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Di Apr 23, 2024 1:51 pm
von mrinas
Mit der App meine ich die Registrierung der AppId bei Stellantis. Warum die das anbieten und dann nicht leben kann ich leider nicht beantworten.
Die API gibts schon seit wir das Auto vor mehr als 3 Jahren gekauft haben, die meiste Zeit war der Zugang für B2C aber nicht vorgesehen, bzw. als 'in the Future' terminiert. Zumindest auf Papier hat sich das nun geändert, hülft aber nünscht wenn Stellantis den Prozess nicht bedient.

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Di Apr 23, 2024 2:59 pm
von rloeffla
mrinas hat geschrieben: Di Apr 23, 2024 1:51 pm Mit der App meine ich die Registrierung der AppId bei Stellantis. Warum die das anbieten und dann nicht leben kann ich leider nicht beantworten.
Die API gibts schon seit wir das Auto vor mehr als 3 Jahren gekauft haben, die meiste Zeit war der Zugang für B2C aber nicht vorgesehen, bzw. als 'in the Future' terminiert. Zumindest auf Papier hat sich das nun geändert, hülft aber nünscht wenn Stellantis den Prozess nicht bedient.
Ganz unmöglich scheint es ja nicht zu sein. Tronity hat es auch geschafft.
Ich weiß nicht wer hier zur Community und wer zur Firma "obenWB GmbH" gehört.
Aber vielleicht hilft es ja, dass die Anfrage von der Firma kommt, diese ein sauberes Architekturmodell hinlegt, damit klar ist, dass die Secrets (PSA benutzt soweit ich gesehen habe Zertifikate) nicht im Opensource-Universum bzw. auf der Wallbox selbst landen.

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Di Apr 23, 2024 3:06 pm
von mrinas
Die Anfrage selbst läuft über ein kleines Form, da wurden kaum Daten abgefragt. Ich hab das selbst schon mal gemacht, da kam nix bei rum.

Ich würde mich daher nicht darauf verlassen dass hier etwas passiert. Zumal ich nicht weiß wie groß das Interesse Seitens openWB ist hier solche Services aufzubauen - vs. bereits funktionierende zu nutzen, z.b. Tronity. Ja, die Kosten Geld, aber ds drumherum was hier aufgebaut & betrieben werden muss gibts ja auch nicht für lau.

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Di Apr 23, 2024 3:09 pm
von rloeffla
mrinas hat geschrieben: Di Apr 23, 2024 3:06 pm Zumal ich nicht weiß wie groß das Interesse Seitens openWB ist hier solche Services aufzubauen - vs. bereits funktionierende zu nutzen, z.b. Tronity. Ja, die Kosten Geld, aber ds drumherum was hier aufgebaut & betrieben werden muss gibts ja auch nicht für lau.
Ja das ist ein guter Punkt. Aber Charme hätte es schon, da damit nicht nur der Corsa erschlagen wäre.
Wer betreibt eigentlich die Cloud?

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Do Mai 16, 2024 7:34 pm
von mr-openwb
Guten Tag, ich bin auch gerade am probieren den SOC an die Openwb zu senden. Ich habe den PSA Server auf Homeassistant am laufen.
Bekomme über diese URL http://192.168.178.99:5000//get_vehicle ... XZP432xxxx auch die ganzen Werte..

{"embedded": null, "links": {"_self": {"deprecation": null, "href": "https://api.groupe-psa.com/connectedcar ... le=endUser", "hreflang": null, "name": null, "profile": null, "templated": null, "title": null, "type": null}, "vehicle": {"deprecation": null, "href": "https://api.groupe-psa.com/connectedcar ... c774c5267b", "hreflang": null, "name": null, "profile": null, "templated": null, "title": null, "type": null}}, "battery": {"current": null, "voltage": 93.5}, "doors_state": null, "energy": [{"updated_at": "2024-05-16 15:33:53+00:00", "autonomy": 78.0, "battery": null, "charging": {"charging_mode": "No", "charging_rate": 0, "next_delayed_time": "PT0S", "plugged": true, "remaining_time": "PT0S", "status": "Disconnected"}, "consumption": null, "level": 26.0, "residual": null, "type": "Electric"}], "environment": {"created_at": null, "air": {"temp": 22.0}, "luminosity": {"day": false}}, "ignition": {"type": "Stop"}, "kinetic": {"acceleration": 0.0, "moving": false, "pace": null, "speed": 0.0}, "last_position": {"type": "Feature", "geometry": {"coordinates": [9.53559, 47.93964, 615.0], "type": "Point"}, "properties": {"heading": 324.0, "signal_quality": 9.0, "type": "Acquire", "updated_at": "2024-05-16 15:34:28+00:00"}}, "preconditionning": {"air_conditioning": {"failure_cause": null, "status": "Disabled", "updated_at": "2024-05-16 15:33:53+00:00", "created_at": "2024-05-16 15:33:53+00:00"}}, "privacy": {"state": "None"}, "safety": {"belt_warning": null, "e_call_triggering_request": null}, "service": {"type": "Electric", "updated_at": null}, "timed_odometer": {"updated_at": "2024-05-16 15:33:53+00:00", "mileage": 5219.9}}

kann man auch nur den SOC auslesen und dann für die OpenWB verwenden?

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Verfasst: Do Mai 16, 2024 8:05 pm
von hg6807
Müsste in Homeassistant auch gehen.

In ioBroker funktioniert es wunderbar.
Man bekommt ja über die URL einen JSON, woraus man dann über ein Programm den SoC Wert rauszieht und per MQTT dann an OpenWB weitergibt als manuellen SoC

Vielleicht auch über Node red aber damit hatte ich noch keine Erfahrungen gemacht