VAG Connect v2.8.0rc1
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
First release candidate for v2.8.0. Bundles the five action items from the 2026-05-30 competitive scan with five v3.0 quick wins pulled forward, plus a dead-weight cleanup pass and a roadmap consolidation. README rewritten across all nine supported languages for v2.7.x reality (DAG MVP positioning + honest VW EU Play-Integrity limits).
Action items
- MFA / Email-OTP config_flow handler (#1). The VW IDP can challenge for a 6-digit code on first sign-in; the flow now captures it cleanly instead of failing with a generic
cannot_connect. - Coordinator auto-reload watchdog (#2). When all VINs on the hybrid_full strategy show
failure_count >= 2andlast_good_atis older than 2x the scan interval, the coordinator silently re-authenticates without dropping entities. Mirrors the upstream community automation pattern but internalised so users do not have to wire it themselves. - Headless EU Data Act portal zip scraper (#3). New
cariad/auth/_data_act_scraper.pywired as Tier 3.5 (activates only when the active strategy isdata_act_portal). Route A probes a research-confirmed JSON endpoint; Route B is fully scaffolded behind a newCONF_ENABLE_DATA_ACT_BROWSEROptionsFlow toggle that drives a headless Chromium via the optionalplaywrightpackage (NOT inmanifest.json— 100 MB Chromium download stays opt-in). Missing-dep surfaces adata_act_browser_missingRepair issue. - FCM push channel for Audi and VW now ships live activation (#4). Decoded payloads (lockState, chargingState, climateState, alarm) are fired onto the HA event bus as
vag_connect_push_eventand trigger a coordinator refresh. The Cariad Firebase sender_id / api_key / app_id are still tester-gated behind aNotImplementedErrorin_resolve_fcm_credentialsuntil the live APK extraction lands; the OptionsFlow toggle label moves from "EXPERIMENTAL" to "Live (beta)". - Repairs flow when DAG degrades to hybrid_full (#5). New
auth_strategy_degradedissue surfaces in the HA UI after 3 consecutive successful polls confirm the resolver has silently fallen back, with two guided remediations: re-run the browser-login setup, or pin the read-only Data Act portal mode (via the newCONF_PREFERRED_AUTH_STRATEGYoption). - MFA / 30-day device-bound IDP cookie persistence. The VW IDP issues a cookie after a successful email-OTP that suppresses the OTP for around 30 days; until now we discarded it on every restart, reload, and 2h re-login.
TokenSet,TokenStorage, andIDKAuthall extended to round-trip the cookie. Latent bug-fix included: the storage layer never persistedstrategyorauth_cookies, so the watchdog never saw the active strategy after a restart.
Quick wins from the v3.0 roadmap (pulled forward)
- Standheizung / auxiliary-heating surface (quick win A): switch + duration number (5–60 min) + target-temp number (16–30 °C) + new
auxiliary_heating_status+aux_heating_active+auxiliary_heating_remaining_minsensors. Audi + VW EU only; SEAT/CUPRA flow continues to require S-PIN. Capability map declaresauxiliaryHeatingfor the two new brands. vag_connect.open_appservice (quick win B). Firesvag_connect_open_appon the HA event bus with{vin, brand, deeplink_url, action}so a Lovelace card can open the brand's native mobile app on the calling device viawindow.location.href. Deeplink schemes are defined inconst.DEEPLINK_SCHEMES; the per-brand scheme strings are markedTODO(2.8.1)for device-side re-verification once the v2.8.1 IPA/smali pass lands.- Brake-service + preferred-workshop sensors (quick win C). Six new sensors:
brake_fluid_change_due_at,brake_pads_front_inspection_due_at,brake_pads_rear_inspection_due_at,preferred_workshop_name,preferred_workshop_address,preferred_workshop_phone. Populated for VW EU + Audi (CARIAD-BFFserviceCare), Skoda mysmobmaintenanceReport, and SEAT/CUPRA OLAmaintenancewhen the dealer has wired up the service plan. Phantom-protected via_DATA_PRESENT_REQUIRED. - Parser-health telemetry in diagnostics (quick win D). Each brand client's
parser_statsdict records{success, fail, last_error[:200]}per named job (oil_level,charging,climatisation,tyre_pressure,auxiliary_heating,trip_statistics,service_care, etc.) and is exported in the diagnostics dump, so a silent parser regression on one job is visible while the rest of the poll succeeds. PII redaction reuses the existing JWT/VIN/email scrubber. - Per-brand capability advertisement in diagnostics (quick win E). New
cariad/_capabilities.pydeclares the expected per-brand capability matrix;coordinator.capabilities_snapshot()adds the observed-this-poll view and adriftlist flagging declared-True-but-observed-False. Lets a missing entity be triaged as "brand never supported it" vs "parser dropped a field" without reading source code.
Housekeeping
- Dead-weight cleanup pass. Removed the v2.2.0 Pydantic dual-write scaffold (one model, return value discarded everywhere, plus a blocking-IO warning on every fresh HA startup), retired the
euda.pyv2.0 shim that had zero callers, deleted 6 stale v1.x docs and 12 dead probe scripts from the v1.27 research era. - Roadmap consolidation. Five overlapping roadmap docs reduced to one canonical top-level
ROADMAP.md. New "Won't do" block records the 11 things we have explicitly ruled out (MBB direct-data path, Lamborghini/Bentley/Bugatti commands, VW China, etc.) so future feature requests can point at it. - README rewritten for all nine languages. Drops the v2.0 Big-Bang highlights and adds honest "Where we lead" + "Where the limits are" blocks. DE + EN canonical, the other seven languages mechanically synchronised.
Full diff vs v2.2.0 / Kompletter Diff zu v2.2.0
Every commit, file and code change between the two versions:
Jeder Commit, jede Datei und jede Code-Änderung zwischen beiden Versionen:
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:
- Download
vag_connect.zipfrom this release /vag_connect.zipaus diesem Release herunterladen - Unzip and copy
custom_components/vag_connect/to your HAconfig/custom_components/folder, replacing any older copy / Entpacken und den Ordnercustom_components/vag_connect/in dein HAconfig/custom_components/kopieren — alten Ordner ersetzen - 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.