Ist jetzt in dem offenen PR implementiert.
Die Klasse ist als "singleton class" implementiert, d.h. es gibt nur eine Instanz.
Der o.g. Cache in der ramdisk ist damit nicht nötig.
Das Fahrzeug mit der numerisch kleinsten id sollte das echte Captcha-Token, d.h. den CD.-Zugang enthalten.
Das sollte dafür sorgen, dass nach Neustart die Instanz mit dem CD-Zugang zuerst initialisiert wird.
Weitere Fahrzeuge in gleichen CD-Account sollten als Cache-Token exakt den Wert "SECONDARY" enthalten (in capitals, ohne die Quotes, keine Leerzeichen davor/danach!)
Zum Test habe ich "mein" Testfahrzeug 2 mal angelegt, einmal als PRIMARY (ev4), einmal als SECONDARY (ev7).
Der SoC-Log sieht dann so aus:
Code: Alles auswählen
2025-03-01 19:19:29,843 - {modules.vehicles.bmwbc.api:210} - {INFO:fetch soc_ev4} - authenticate via current token set
2025-03-01 19:19:31,491 - {modules.vehicles.bmwbc.api:291} - {INFO:fetch soc_ev4} - PRIMARY SOC/Range: 75%/152.0KM@2025-03-01T18:10:04Z
2025-03-01 19:19:31,495 - {modules.vehicles.bmwbc.api:41} - {INFO:fetch soc_ev4} - store file action:store written
2025-03-01 19:19:31,511 - {modules.common.store._api:31} - {INFO:store soc_ev4} - Saving CarState(soc=75, range=152.0, soc_timestamp=1740849004.0)
2025-03-01 19:19:39,202 - {modules.vehicles.bmwbc.api:176} - {INFO:fetch soc_ev7} - SECONDARY: SOC/Range: 75%/152.0KM@2025-03-01T18:10:04Z
2025-03-01 19:19:39,219 - {modules.common.store._api:31} - {INFO:store soc_ev7} - Saving CarState(soc=75, range=152.0, soc_timestamp=1740849004.0)
Das UI werde ich später anpassen, d.h. die SECONDARY Option in den Instruktionen ergänzen.
BTW: Falls Fehler auftreten sollten sind diese jetzt neben dem Soc-Log auch auf der Status-Seite im entsprechenden Fahrzeug zu sehen.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour