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

Anfragen zum Erstellen von Modulen, Fragen zu Modulen
JHC
Beiträge: 78
Registriert: Fr Jun 10, 2022 8:23 am
Wohnort: Schleswig-Holstein

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

Beitrag von JHC »

mrinas hat geschrieben: Mi Nov 16, 2022 8:06 am Was man sicherlich noch besser lösen könnte wäre die gesamte Authentifikation. Bei jedem Aufruf sich komplett neu anzumelden ist ja eigentlich nicht so unbedingt im Sinne des Erfinders. Schicker wäre es sich einmal anzumelden und dann nur access und refresh tokens zu speichern. Dann könnte man sich sogar sparen die Zugangsdaten in der Box abzulegen.
Bräuchte allerdings Funktionen um die Tokens regelmässig zu aktualisieren. Und das könnte ja sogar eine generische Funktion aus der openWB selber sein um nach ablaufenden Tokens zu suchen und über standardisierte Funktionen im SoC Modul die Tokens dann erneuern zu lassen. So oder so ähnlich.
Das schaffen nicht mal die PSA Android Apps, auch dort muss man sich (un-)regelmäßig neu anmelden.
Die Credentials sollten wir bei uns nicht rausnehmen, so dass wir immer von vorne anfangen könnten.
Den eigentlichen Aufruf könnten wir natürlich optimieren, ob das unterm Strich aber besser ist?
PV: 8,88 kWp, Speicher: 10 kWh, 2x openWB series2 custom, Discovergy Meter, openWB EVU + PV Kit v2 MID, openHAB, Corsa-e
Benutzeravatar
mrinas
Beiträge: 1911
Registriert: Mi Jan 29, 2020 10:12 pm

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

Beitrag von mrinas »

Das stimmt natürlich auch wieder. PSA kann einige Dinge, Software & Apps gehört aber definitiv nicht dazu.

So gesehen können wir es auch gleich so lassen wie es ist, hat sich immerhin bewährt.
15,2kWp SMA (SB4000TL-21, SB3.0, STP6.0-SE + BYD HVS, EnergyMeter), openWB Standard+, openWB Pro, Peugeot e2008, Tesla Model Y LR.
rleidner
Beiträge: 796
Registriert: Mo Nov 02, 2020 9:50 am

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

Beitrag von rleidner »

Kommt auch darauf an, wie lange die Token gültig sind.
Ich habe im vwid Modul das Speichern der Token realisiert - in der ramdisk.
D.h. wenn die gespeicherten Token vorhanden sind, wird versucht mit diesen abzufragen.
Nach etwas über 60 min werden die Token bei VWId ungültig und im Modul durch eine neue Authentication erneuert.

Während des Ladens (übliches Intervall 20 min) hilft das, einige Authentications zu vermeiden.
Wenn nicht geladen wird (Intervall 120 min) bringt das natürlich nichts.

Im Fall VW spart das Speichern der Token also etwas, aber nicht allzu viel.
Die Token zu konfigurieren würde keinen Sinn machen.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Smart EQ forfour
Benutzeravatar
mrinas
Beiträge: 1911
Registriert: Mi Jan 29, 2020 10:12 pm

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

Beitrag von mrinas »

rleidner hat geschrieben: Mi Nov 16, 2022 9:55 am Kommt auch darauf an, wie lange die Token gültig sind.
Ich habe im vwid Modul das Speichern der Token realisiert - in der ramdisk.
D.h. wenn die gespeicherten Token vorhanden sind, wird versucht mit diesen abzufragen.
Nach etwas über 60 min werden die Token bei VWId ungültig und im Modul durch eine neue Authentication erneuert.

Während des Ladens (übliches Intervall 20 min) hilft das, einige Authentications zu vermeiden.
Wenn nicht geladen wird (Intervall 120 min) bringt das natürlich nichts.

Im Fall VW spart das Speichern der Token also etwas, aber nicht allzu viel.
Die Token zu konfigurieren würde keinen Sinn machen.
Das Access Token hat in i.d.R. eine kurze Lebenszeit, das ist richtig. Es sollte aber auch ein refresh-Token geben mit welchem man sich ein neues Access Token ausstellen lassen kann, auch ohne weitere creds (Benutzername, Kennwort).
15,2kWp SMA (SB4000TL-21, SB3.0, STP6.0-SE + BYD HVS, EnergyMeter), openWB Standard+, openWB Pro, Peugeot e2008, Tesla Model Y LR.
rleidner
Beiträge: 796
Registriert: Mo Nov 02, 2020 9:50 am

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

Beitrag von rleidner »

mrinas hat geschrieben: Mi Nov 16, 2022 9:58 am Das Access Token hat in i.d.R. eine kurze Lebenszeit, das ist richtig. Es sollte aber auch ein refresh-Token geben mit welchem man sich ein neues Access Token ausstellen lassen kann, auch ohne weitere creds (Benutzername, Kennwort).
OK, verstanden.
Momentan vergleiche und speichere ich beide Token immer zusammen.
Ich werde mal prüfen, ob sich nach 1 Stunde beide oder nur eines ändert.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Smart EQ forfour
LutzB
Beiträge: 3512
Registriert: Di Feb 25, 2020 9:23 am

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

Beitrag von LutzB »

@rleidner
Den Aufwand kannst Du Dir sparen, wenn es JWT Token sind. Die enthalten alle Daten.
https://jwt.io/

Das Refresh Token ist generell länger gültig (macht ja auch sonst keinen Sinn), läuft aber auch irgendwann ab.

Im Tesla SoC ist schon länger so umgesetzt, dass die Zugangsdaten nicht gespeichert werden. Grund dafür ist, dass es inzwischen nicht mehr automatisiert ablaufen kann, da bei der Anmeldung noch ein reCaptcha eingebaut worden ist.

Wie letztendlich mit dem Refesh Token ein neues Token abgerufen werden kann, ist leider sehr individuell. Es gibt zwar einen OAuth Standard, der wird aber teilweise extra abgewandelt (bei z.B. Tesla kann man keine Callback-URL angeben und muss den erzeugten Code manuell abfangen).
JHC
Beiträge: 78
Registriert: Fr Jun 10, 2022 8:23 am
Wohnort: Schleswig-Holstein

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

Beitrag von JHC »

Wir sollten das so einfach wie möglich halten und beim bestehenden Verfahren User/Passwort bleiben.

Die ClientID könnte man theoretisch lösen, wenn openWB als Firma bei PSA nach eigenen Credentials fragt, die wir dann fest hinterlegen.
Das könnte aber finanzielle Auswirkungen haben.
PV: 8,88 kWp, Speicher: 10 kWh, 2x openWB series2 custom, Discovergy Meter, openWB EVU + PV Kit v2 MID, openHAB, Corsa-e
rleidner
Beiträge: 796
Registriert: Mo Nov 02, 2020 9:50 am

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

Beitrag von rleidner »

rleidner hat geschrieben: Mi Nov 16, 2022 10:56 am
mrinas hat geschrieben: Mi Nov 16, 2022 9:58 am Das Access Token hat in i.d.R. eine kurze Lebenszeit, das ist richtig. Es sollte aber auch ein refresh-Token geben mit welchem man sich ein neues Access Token ausstellen lassen kann, auch ohne weitere creds (Benutzername, Kennwort).
OK, verstanden.
Momentan vergleiche und speichere ich beide Token immer zusammen.
Ich werde mal prüfen, ob sich nach 1 Stunde beide oder nur eines ändert.
LutzB hat geschrieben: Mi Nov 16, 2022 11:09 am @rleidner
Den Aufwand kannst Du Dir sparen, wenn es JWT Token sind. Die enthalten alle Daten.
https://jwt.io/
@LutzB, danke für den Hinweis.
Ja, es sind JWT token und die kann ich mit dem Tool auf der jwt-Seite lesbar machen.

Die expiration timestamps sind als epoch enthalten und so gültig:
accessToken ca. 1 Stunde.
refreshToken ca. 6 Monate, momentan 15.Mai.

Der Code im vwid-Modul macht das auch gut, d.h. er versucht
1. per accessToken die Daten zu holen, wenn das nicht geht
2. per refreshToken einen neuen accessToken zu holen und damit die Daten zu holen, wenn das nicht geht
3. per userid/password neu zu verbinden, beide Token und damit die Daten zu holen.

Mit den 6 Monaten Gültigkeit könnte es sogar Sinn machen, den RefreshToken längerfristig zu speichern.
Momentan werden die Token des vwid in einem binary File in der ramdisk gespeichert und damit bei jedem Restart der owb "vergessen".
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Smart EQ forfour
Flocki
Beiträge: 459
Registriert: Fr Aug 28, 2020 12:43 pm

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

Beitrag von Flocki »

Hi,

im Kia-Modul mache ich das ja ähnlich mit den Tokens, daher ein Hinweis von mir:

Denkt daran, den Token zu löschen, wenn auf der Konfigurationsseite ein neuer Benutzername eingegeben wird.
Ansonsten würden mit einem gültigen Token weiter Daten aus dem alten Account abgeholt, obwohl der Benutzer jetzt gerne Daten von einem anderen Account hätte.

Gruß,
Florian
rleidner
Beiträge: 796
Registriert: Mo Nov 02, 2020 9:50 am

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

Beitrag von rleidner »

Flocki hat geschrieben: Mi Nov 16, 2022 1:07 pm Hi,

im Kia-Modul mache ich das ja ähnlich mit den Tokens, daher ein Hinweis von mir:

Denkt daran, den Token zu löschen, wenn auf der Konfigurationsseite ein neuer Benutzername eingegeben wird.
Ansonsten würden mit einem gültigen Token weiter Daten aus dem alten Account abgeholt, obwohl der Benutzer jetzt gerne Daten von einem anderen Account hätte.

Gruß,
Florian
Guter Punkt, danke.

Ich habe mir das gerade noch mal angesehen:
Im VW Modul wird beim Abholen der Daten die vin als Parameter mitgegeben.
Schritt 1 und 2 (post weiter oben) werden (hoffentlich) fehlschlagen, wenn die vin nicht im Account gefunden wird.
Nach Schritt 3 sollte alles wieder in sync sein.

Oder übersehe ich da was?
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Smart EQ forfour
Antworten