Repository navigation
Releases: Timmes123/ha-vag-data-act
Release list
v0.2.3 – SoC plausibility per package, bulk threshold
- Fix: the SoC plausibility check now only compares against the HV battery level and the energy content from the same package. Packages are partial, so a reference from a later package could mark a correct SoC as implausible and the SoC entity briefly went to
unknown(seen live on a Born). - New diagnostic sensors: charge bulk threshold (
battery_state_report.charge_bulk_threshold, %) and remaining charging time to the bulk threshold (battery_state_report.remaining_charging_time_bulk, only while charging).
Install via HACS, restart Home Assistant.
v0.2.2 – Climatisation target temperature in °C
climatisation_settings.target_temperatureis now a temperature sensor in °C. The portal encodes it as tenths of a degree above 10 °C (raw 120 = 22.0 °C, raw 115 = 21.5 °C), verified with the settings of two vehicles.- Documentation:
battery_state_report.socandbattery_level_HV.valuealways arrive in the same package; the SoC entity stays bound to the SoC key, the HV level remains a plausibility check.
Includes v0.2.1 (store migration fix) and v0.2.0 (every package merged by key). Install via HACS, restart Home Assistant.
v0.2.1 – Fix setup after the v0.2.0 store change
Fixes v0.2.0, which failed to set up on an existing installation: the per-VIN store moved to version 2 and Home Assistant refused to load the old file without a migration (both config entries ended in setup_error). The v0.1 store is now migrated on load (its newest package seeds the point store) and written back in the new layout.
Everything from v0.2.0 applies:
- Portal packages are partial (6 … 171 points per package with varying report sets). Every poll now downloads every package not processed yet (oldest first, 1 s apart, stop at HTTP 429 and continue next poll) and merges the points by key into a persistent store. Newer packages overwrite, missing points keep their value.
- Every value carries
source_datasetand its owncar_captured_at/age_minutes. datasetsensor: packages listed / processed / pending, point store size.- Service
scan_datasetsthrottled.
Install via HACS, restart Home Assistant. The first poll after the update downloads all listed packages once (about 30 s per vehicle).
v0.2.0 – Merge every package (broken setup on existing installs, use v0.2.1)
v0.2.0 – merge every package
Breaking finding: portal packages are partial. A scan of 30 consecutive Born packages
held 6 … 93 points each with different report sets; the SoC/charging reports were present
in only 11 of 30. Taking only the newest package (v0.1.x) lost those values.
- Every poll now downloads every package not processed yet (oldest first) and merges
its points by key into a persistent store (.storage/vag_data_act.<VIN>, version 2;
the v0.1 store is migrated). Newer packages overwrite, missing points keep their value. - Every value carries
source_datasetand its owncar_captured_at/age_minutes
(capture time of the package it came from). - Downloads are spaced 1 s apart and stop at HTTP 429 (the portal rate-limits after ~25
downloads); the remaining packages follow on the next poll (packages_pending). datasetsensor: packages listed / processed / pending, point store size.scan_datasetsservice throttled as well and stops at 429.
What's Changed
- Merge every package into a per-key point store (v0.2.0) by @Timmes123 in #7
Full Changelog: v0.1.2...v0.2.0
v0.1.2 – Dataset scan diagnostic
v0.1.2 – dataset scan diagnostic
- New service
vag_data_act.scan_datasets: downloads every listed dataset of a vehicle over
the normal session and logs per file the inner name, hash, point count, report ids and
whether the SoC / charging reports are included (also in the diagnostics download). Used
to check whether older packages of a vehicle carry data points the newest one lacks. range(key0ca40e18-…) confirmed against the vehicle display (90 km at 23 %).
What's Changed
- README: Born gap is vehicle-side (identical portal data requests), climatisation key hypothesis by @Timmes123 in #5
- scan_datasets diagnostic service, range confirmed (v0.1.2) by @Timmes123 in #6
Full Changelog: v0.1.1...v0.1.2
v0.1.1 – Live fixes after the first installation
v0.1.1 – live fixes after the first installation
- Security:
result_state(a JWT with the identity subject) and other token-like query
parameters are redacted in debug logs and diagnostics. - The portal's data request metadata (
metadata/partialminus the identifier) is logged
once, persisted and exposed as attributedata_requestof thedatasetsensor – needed
to compare vehicles that deliver fewer data points (Cupra Born: 72 points, no battery/
charging reports). - Parser: a key that the slot table assigns to another slot is never learned for a
different slot. A vehicle with a singlesettings.target_soc(effective-target key) now
shows the user target withstatus: shared; a key learned by v0.1.0 is dropped. - German entity names:
Ladestand (SoC)andLadestatusinstead ofLadezustand/
Ladezustand (Status). - CI: HACS topics check enabled (repository topics set).
What's Changed
- CLAUDE.md: release procedure and project status after v0.1.0 by @Timmes123 in #3
- Live fixes after first installation (v0.1.1) by @Timmes123 in #4
Full Changelog: v0.1.0...v0.1.1
v0.1.0 – Initial release
v0.1.0 – initial release
- Pure-Python parser for the EU Data Act dataset, verified against 14 real portal
downloads (stable keys, random order, duplicate slots, SoC plausibility check). - Portal client with the Auth0 Universal Login flow (since 2026-10-26), persistent session
cookies, serialized logins, consent/terms detection, 429/5xx backoff without re-login. - Home Assistant integration: config flow (account → vehicle), reauth, reconfigure,
options (poll interval), sensors/binary sensors withsource_key/car_captured_at/
age_minutes, health entities, diagnostics (redacted), repair issues,refresh_now. - Entities only update when the dataset content changed; stale values stay visible.
What's Changed
- Initial integration: parser, portal client, HA integration by @Timmes123 in #1
- Release workflow: create tag and release via workflow_dispatch by @Timmes123 in #2
New Contributors
- @Timmes123 made their first contribution in #1
Full Changelog: https://github.com/Timmes123/ha-vag-data-act/commits/v0.1.0