Skip to content

Releases: Timmes123/ha-vag-data-act

v0.2.3 – SoC plausibility per package, bulk threshold

Choose a tag to compare

@Timmes123 Timmes123 released this 28 Oct 06:50
  • 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

Choose a tag to compare

@Timmes123 Timmes123 released this 27 Oct 22:50
  • climatisation_settings.target_temperature is 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.soc and battery_level_HV.value always 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

Choose a tag to compare

@Timmes123 Timmes123 released this 27 Oct 22:32

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_dataset and its own car_captured_at / age_minutes.
  • dataset sensor: packages listed / processed / pending, point store size.
  • Service scan_datasets throttled.

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)

Choose a tag to compare

@github-actions github-actions released this 27 Oct 22:17
4fbfa5a

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_dataset and its own car_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).
  • dataset sensor: packages listed / processed / pending, point store size.
  • scan_datasets service 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 22:07
1a1752d

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 (key 0ca40e18-…) 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

Choose a tag to compare

@github-actions github-actions released this 27 Oct 21:51
f05548c

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/partial minus the identifier) is logged
    once, persisted and exposed as attribute data_request of the dataset sensor – 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 single settings.target_soc (effective-target key) now
    shows the user target with status: shared; a key learned by v0.1.0 is dropped.
  • German entity names: Ladestand (SoC) and Ladestatus instead of Ladezustand /
    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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 21:29
d6a3b27

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 with source_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

Full Changelog: https://github.com/Timmes123/ha-vag-data-act/commits/v0.1.0