Skip to content

Releases: mikrohard/hass-vw-eu-data-act

v0.1.8

07 Jun 20:01

Choose a tag to compare

What's Changed

Comprehensive sensor expansion (#16), with full support for both vehicle dataset formats.

Added

  • Many new curated sensors: distance & range (combined/primary/secondary/electric/SCR), fuel & CNG level, tire pressures, window/sunroof positions, maintenance intervals, long/short-term trip statistics, oil level, outside temperature, and a "Last connected" sensor.
  • New binary sensors: per-door locks, door open/safe states, windows, sunroof, parking brake, parking lights, hood, service hatch, spoiler.
  • Format-aware sensor groups: datasets are detected as dotted (ID.x / MEB) or flat (pre-ID.x, e.g. eGolf) and mapped with the matching curated set, so both platforms get correct sensors.
  • Value transforms: deci-Kelvin → °C, absolute maintenance intervals, fuel consumption L/1000km → L/100km, plus suggested display precision.

Improved

  • Coordinator resilience: retries on HTTP 5xx for both dataset listing and download, fallback to older datasets, and data merging that preserves field values the portal omits between updates.

Fixed

  • Restore the Parking brake binary sensor for ID.x (dotted) vehicles, which the format-aware split had dropped.

Full Changelog: v0.1.7...v0.1.8

v0.1.7

31 May 15:18

Choose a tag to compare

What's Changed

  • Add curated charging sensors (rate, energy, remaining time, type)
  • Self-heal stale data-request identifier (#13)

Full Changelog: https://github.com/$(gh repo view --json nameWithOwner -q .nameWithOwner)/compare/v0.1.6...v0.1.7

v0.1.6

31 May 06:56

Choose a tag to compare

Reliability release: fewer transient errors, and entities no longer drop out when one happens.

✨ Improvements

  • Entities stay available across transient failures. A failed poll (e.g. a brief DNS/network blip) no longer flips every entity to "unavailable" — the last known values are kept instead. Entities are only unavailable until the very first dataset has loaded. (f129ebc)
  • Faster recovery. After any fetch/download failure the integration now retries within ~1 minute instead of waiting the full ~15-minute cadence, then resumes the normal cadence on success. (f129ebc)
  • More resilient networking. Reuse Home Assistant's shared HTTP connector (warm, cross-integration DNS cache) instead of a private session with a cold cache, which made transient Timeout while contacting DNS servers errors far more likely. (de77126)
  • Cleaner error handling. Connection/DNS errors are now surfaced as a tidy "will retry" rather than an unhandled error with a noisy stack trace. (de77126)

Full changelog: v0.1.5...v0.1.6

v0.1.5

30 May 18:52

Choose a tag to compare

Important fix for anyone relying on Home Assistant long-term statistics.

🐞 Bug fixes

  • Stop corrupting the recorder's long-term statistics (#12). The integration back-filled the portal's recent datasets into long-term statistics by importing into the curated sensor entities — but those sensors already have a state class, so the recorder also generates statistics for them. The two writers collided on (statistic_id, hour), causing UNIQUE constraint violations that could abort the recorder's whole statistics run and break unrelated entities' statistics (e.g. solar production). The historical back-fill has been removed; history now comes solely from the recorder capturing live sensor states going forward. (07b30bd)

🧹 Maintenance

  • Dropped the now-unused recorder manifest dependency. (b4b7500)
  • Updated docs to reflect that there is no historical back-fill.

⚠️ Note for affected users

If your statistics were already broken by a previous version, clear the leftover rows via Developer Tools → Statistics ("Fix issues" / delete this integration's statistics). It also self-resolves once the overlapping hours age out.

Full changelog: v0.1.4...v0.1.5

v0.1.4

30 May 15:08

Choose a tag to compare

What's Changed

  • Keep last value when an update omits a field (#9)
  • Don't abort vehicle step on leftover in-progress flow (#8)

Full Changelog: v0.1.3...v0.1.4

v0.1.3

30 May 14:30

Choose a tag to compare

Fixes multiple-vehicle support.

🐞 Bug fixes

  • Multiple vehicles now expose all entities (#7). Raw diagnostic sensors used the bare dataset key as their unique_id, but those keys are shared across vehicles — so with more than one car configured, the entity registry rejected the second entry's colliding entities and each data point appeared under only one car (split arbitrarily). Raw unique_ids are now namespaced by VIN. (8b4b43e)

⬆️ Upgrade notes

  • A one-time entity-registry migration renames legacy raw-sensor IDs (<key><vin>_<key>) on first start after upgrading, so existing single-vehicle installs keep their entity IDs and customisations — no manual cleanup needed.
  • Curated sensors were already VIN-namespaced and are unaffected.

Full changelog: v0.1.2...v0.1.3

v0.1.2

30 May 13:00

Choose a tag to compare

Bug-fix and data-accuracy release driven by community reports (#2, #4, #5). Thanks to everyone who filed detailed, dictionary-cross-referenced issues.

🐞 Bug fixes

  • Mileage now reports the correct unit (miles vs km) (#4). The unit is read from the companion mileage.unit field instead of being hard-coded to km, so vehicles reporting miles no longer show km (and Home Assistant no longer mis-converts on display-unit changes). (694919c)
  • Curated sensors no longer flip between stale values. When the portal sends the same field multiple times under different UUIDs with conflicting values, the integration now selects one deterministically (by UUID) instead of relying on the portal's unstable array order — so values stay stable across refreshes. Fixes both the displayed sensors and statistics. (#2 ①, #5; b715f2d, 129f9dd)
  • Correct dataset is selected when the listing lacks createdOn. Dataset-filename timestamp parsing now handles both TIMESTAMP_VIN.zip and VIN_TIMESTAMP.zip layouts. (#5; 129f9dd)
  • Battery temperature sensors relabeled. "Climate min/max temperature" → "Battery min/max temperature", matching the data dictionary (these are HV battery module temps, not climate setpoints). Entity IDs are unchanged. (18cecd8)
  • Enum values no longer leak as raw integers. Fields that occasionally deliver the raw protobuf index (e.g. "6") are resolved to their label (e.g. IMMEDIATE_ACTION_STATE_CHARGE_MODE_SELECTION). (#2 ⑥; fdb65e5)

✨ Improvements

  • Clearer naming for raw/diagnostic sensors with otherwise-meaningless names (value, state, …) — now named from the data-dictionary description (e.g. value → "Value of the primary range"). (#2 ⑤; fdb65e5)
  • Friendlier setup message while the portal is provisioning. A HTTP 400 from the data-delivery endpoint right after enabling a continuous data request now shows a clear "data delivery not ready yet — can take a few hours, will keep retrying" message; Home Assistant recovers automatically once it's live. (ee72d2d)
  • No more event-loop blocking warning. The bundled data dictionary is now loaded off the event loop during setup. (ee72d2d)

📄 Docs & misc

  • Fixed the HACS custom-repository URL in the README (hass-vw-eu-data-act). (be7fc8b)
  • Added MIT LICENSE. (70ba0fe)

Known limitations

  • energy_contents.*.physical_value is still exposed as a raw, unitless value — the suspected ÷10 (→ kWh) scaling is unconfirmed and tracked in #2 ④.

Full changelog: v0.1.1...v0.1.2

v0.1.1

30 May 08:29

Choose a tag to compare

Fix "No decodable datasets available yet" error on Home assistant restart

v0.1.0

30 May 08:02

Choose a tag to compare

Initial release