github its-me-prash/vwgroup-connect-ha v4.7.15
VW Group Connect v4.7.15

latest releases: v5.3.0, v5.2.5, v5.2.4...
one month ago

VW Group Connect v4.7.15

Home Assistant integration for Audi · VW · Škoda · SEAT · CUPRA · Porsche · VW US/CA.

What's new in this release / Was ist neu in diesem Release

Added

  • Climate state now shows for portal-read cars (Vehicle Data Scout, 2026-09-25). The EU Data Act
    portal reports climatisation_state (OFF / HEATING / COOLING / …), flagged by ~8 VW ID.x reporters.
    It now feeds the existing climatisation-state sensor for portal cars — the redundant
    CLIMATISATION_STATE_ prefix is stripped to match the OFF/HEATING format the brand channels use.
  • More climate settings + the hood fill in for portal-read cars (Vehicle Data Scout, 2026-09-25).
    The newer MEB portal moved several fields to a nested climatisation_settings block with slightly
    different names — the four climate-zone enables (incl. a rear pair the old dialect lacked),
    climatise-at-unlock and climatise-without-HV-power. They now feed the SAME existing sensors as the
    older dialect. Some cars also report the hood as a percentage (position_of_hood, 0 = closed)
    rather than an open/closed enum — that feeds the existing hood sensor too (VW T-Roc, #1446).
    (The nested target_temperature VW is now shipping stays unmapped for now — its unit isn't in the
    published data dictionary and one sample isn't enough to decode safely.)
  • Climate error code + trigger reason for portal cars (Vehicle Data Scout, #1492, VW Touareg). A car
    reporting a climate fault now surfaces the code on the existing climate-error-code sensor
    (climatisation_state_error_code → climate_error_code), and the climatise trigger reason
    (climatisation_reason_trigger, e.g. IMMEDIATE) is captured in diagnostics. (The same car's
    cycle_data_mileage stays unmapped — it isn't in the data dictionary and its unit can't be decoded
    from one sample.)

Changed

  • Two portal request-metadata fields no longer flood the Vehicle Data Scout (2026-09-25). The
    export's auth_level (consent level) and transaction_id (the export request's id) describe the
    request, not the car, and repeated on every poll. They join the existing envelope carve-out
    (alongside account id / VIN / timestamps). Leaf-matched, so the meaningful charging-session
    ocpp_transaction_id stays fully visible.
  • The MEB speedometer calibration curve is bundled instead of flooding the Scout (2026-09-25).
    Newer MEB cars ship setup_real_speed_ratios.* — a fixed factory speed-calibration curve (~4
    control points, ~10 fields per car). It's real vehicle data but not a live reading, so rather than
    suppress it (it isn't envelope metadata) or spawn ten meaningless sensors, the whole curve is
    bundled into one speed_ratio_calibration value kept in the diagnostics download, and its fields
    are consumed so they stop re-filing Scout issues on every MEB car.
  • A failed Data Act request-kickoff now records why (#1439, thanks @maki040). When the portal
    can't create a Custom Data Request (e.g. a 503 backend error, or a 4xx account rejection), the
    reason is captured per VIN and surfaced in diagnostics as data_act_kickoff_errors, so it stays
    visible during the re-POST backoff and after a restart — no debug logging needed.
  • Repo hygiene. Removed a shadowed duplicate departure-timer sensor block (a VW-EU twin that never
    spawned, because the Škoda block registers the same keys first); corrected the outdated
    "requirements: []" notes in dependabot.yml and quality_scale.yaml (there are three opt-in
    dependencies — firebase-messaging, aiomqtt, adb-shell — for the push and companion channels); and
    raised the CI coverage floor from 65% to 75% (actual is 79%).

Fixed

  • A climate system reporting "error" no longer reads as actively climatising (#1492). The portal
    climatisation_state can be error; it now surfaces as ERROR but derives climatisation-active as
    false (only OFF and ERROR are non-active), instead of treating the fault as an active state.
  • A vehicle disabled in HA (sold, retired) stayed fully polled by three background paths
    (#1434, thanks @skornehl).
    async_setup()'s one-time prefetch already filtered its VIN
    list through _active_vins(), but that isn't the periodic driver — update_interval is
    None, so _poll_loop() is. It built its VIN list straight from self.vehicles.keys()
    with no filtering, and so did every best-effort refresh inside it (trip stats, charging
    history, fueling, parking, predictive maintenance, departure timers, consents, charging
    profiles, battery care — nine calls total), _async_update_data() (the manual-refresh path
    fired after every command against ANY vehicle on the account), and
    _refresh_mbb_command_capabilities() (warms the MBB operationList, called from both loops).
    All four now apply the same _active_vins() filter async_setup() already used, so a
    user-disabled vehicle stays fully quiet — sending a command to your active car, or the
    regular poll tick, no longer re-touches a car you disabled. History and entities are
    untouched either way; only re-enabling the device resumes polling that VIN.
  • …and the Data Act portal request-kickoff is filtered too (#1434 follow-up). The one remaining
    periodic path that still touched a user-disabled vehicle — the EU Data Act 15-minute request
    probe/kickoff in portal mode (reachable from the poll loop and from the manual-refresh path) — now
    applies the same _active_vins() filter, so a disabled car is genuinely fully quiet.

Full diff vs v4.7.14 / Kompletter Diff zu v4.7.14

Every commit, file and code change between the two versions:
Jeder Commit, jede Datei und jede Code-Änderung zwischen beiden Versionen:

➜ v4.7.14...v4.7.15

Recent releases / Letzte Releases

If you're upgrading from an older version, also read these notes:

Wenn du von einer älteren Version updatest, lies auch diese Release-Notes:

Full history: CHANGELOG.md

Installation / Update

HACS users: the update notification appears automatically within ~6 hours of the release.

HACS-User: Der Update-Hinweis erscheint automatisch innerhalb von ~6 Stunden nach dem Release.

Manual install / Manuelle Installation:

  1. Download vag_connect.zip from this release / vag_connect.zip aus diesem Release herunterladen
  2. Unzip and copy custom_components/vag_connect/ to your HA config/custom_components/ folder, replacing any older copy / Entpacken und den Ordner custom_components/vag_connect/ in dein HA config/custom_components/ kopieren — alten Ordner ersetzen
  3. Restart Home Assistant / Home Assistant neu starten

Supported brands / Unterstützte Marken

Volkswagen EU · Audi · Škoda · SEAT · CUPRA · Volkswagen US/CA (Beta) · Porsche (Beta)

Found a bug? / Bug gefunden?

Open an issue with the bug-report template: https://github.com/its-me-prash/vwgroup-connect-ha/issues/new/choose

Bug-Report-Template: https://github.com/its-me-prash/vwgroup-connect-ha/issues/new/choose

Please mask your VIN to the last 6 characters and remove email/tokens/GPS before posting.

Bitte VIN auf die letzten 6 Zeichen kürzen und Email/Tokens/GPS vor dem Posten entfernen.

Don't miss a new vwgroup-connect-ha release

NewReleases is sending notifications on new releases.