Skip to content

Add Porsche Connect SoC module for vehicles - #3871

Open
teesmokr wants to merge 1 commit into
openWB:masterfrom
teesmokr:feature/porsche-connect-soc
Open

Add Porsche Connect SoC module for vehicles#3871
teesmokr wants to merge 1 commit into
openWB:masterfrom
teesmokr:feature/porsche-connect-soc

Conversation

@teesmokr

@teesmokr teesmokr commented Aug 27, 2026

Copy link
Copy Markdown

New vehicle SoC module porsche that reads state of charge, range and mileage from Porsche Connect (Macan EV from 2024, Taycan, Cayenne E3, Panamera G2, 911 from 992, 718). Auto-discovered like other vehicle modules; settings are JSON-editable (email, password, optional VIN).

  • api.py: synchronous requests-based Porsche Connect client (Auth0 "Identifier First" login, token caching/refresh, stored-overview SoC read that does not wake the car). Login flow and endpoints ported from the community library pyporscheconnectapi (Apache-2.0).
  • soc.py: ConfigurableVehicle wiring -> CarState(soc, range, ...).
  • config.py: PorscheConnect(Configuration) setup, official=False.
  • cli.py: standalone live-test tool (soc/list/charge).
  • porsche_test.py: 8 unit tests (mocked HTTP) for parsing, VIN resolution, token refresh and direct-charging command flow.
  • Optional direct-charging start/stop command (comfort only; not wired into openWB's automatic control, which regulates via the wallbox).

Zugehöriger UI-PR: openWB/openwb-ui-settings#1066

New vehicle SoC module `porsche` that reads state of charge, range and
mileage from Porsche Connect (Macan EV from 2024, Taycan, Cayenne E3,
Panamera G2, 911 from 992, 718). Auto-discovered like other vehicle
modules; settings are JSON-editable (email, password, optional VIN).

- api.py: synchronous requests-based Porsche Connect client (Auth0
  "Identifier First" login, token caching/refresh, stored-overview SoC
  read that does not wake the car). Login flow and endpoints ported from
  the community library pyporscheconnectapi (Apache-2.0).
- soc.py: ConfigurableVehicle wiring -> CarState(soc, range, ...).
- config.py: PorscheConnect(Configuration) setup, official=False.
- cli.py: standalone live-test tool (soc/list/charge).
- porsche_test.py: 8 unit tests (mocked HTTP) for parsing, VIN
  resolution, token refresh and direct-charging command flow.
- Optional direct-charging start/stop command (comfort only; not wired
  into openWB's automatic control, which regulates via the wallbox).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant