Jump to content

Volkswagen Carnet API shutdown: Difference between revisions

From Consumer Rights Wiki
simplified the capability table to yes/no columns and tightened the prose throughout, was too rambly
Fix two verbatim-quote integrity defects flagged by hostile re-audit (wcmqtt repo description framing; harepo capitalization via bracketed [a])
 
(One intermediate revision by the same user not shown)
Line 23: Line 23:
On the afternoon of May 27, 2026, every third-party client targeting the Volkswagen Group cloud began failing simultaneously, while the official Volkswagen, Audi & MyŠkoda smartphone apps continued to authenticate normally.<ref name="borncity" /><ref name="issue967">{{Cite web |url=https://github.com/robinostlund/homeassistant-volkswagencarnet/issues/967 |title=[BUG] Login no more possible, Android App still works |publisher=GitHub (robinostlund/homeassistant-volkswagencarnet) |date=2026-05-27 |access-date=2026-05-29}}</ref><ref name="issue969" /> Integration logs showed unauthorized, forbidden & bad-request responses against the VW Group token endpoint.<ref name="evccdiscussion" />
On the afternoon of May 27, 2026, every third-party client targeting the Volkswagen Group cloud began failing simultaneously, while the official Volkswagen, Audi & MyŠkoda smartphone apps continued to authenticate normally.<ref name="borncity" /><ref name="issue967">{{Cite web |url=https://github.com/robinostlund/homeassistant-volkswagencarnet/issues/967 |title=[BUG] Login no more possible, Android App still works |publisher=GitHub (robinostlund/homeassistant-volkswagencarnet) |date=2026-05-27 |access-date=2026-05-29}}</ref><ref name="issue969" /> Integration logs showed unauthorized, forbidden & bad-request responses against the VW Group token endpoint.<ref name="evccdiscussion" />


Community analysis of the shipping VW-App build identified the change as a migration of the OIDC token endpoint from ''/login/v1/idk/token'' to ''/auth/v1/idk/oidc/token'', combined with a new requirement that the client prove via cryptographic ''attestation'' that the request originates from an official VW Group app.<ref name="evccdiscussion" /> Maintainers responded the same day by extracting the attestation parameters from the shipping Volkswagen Android app & restoring access through emulation; fixes shipped within hours as pull requests against ''evcc'' & the ''volkswagencarnet'' Python package.<ref name="evccdiscussion" /> The change raised the engineering bar for community integrations rather than ending them outright, & continued access depends on maintainers tracking every future VW-App build.
Community analysis of the shipping VW-App build identified the change as a migration of the OIDC token endpoint from ''/login/v1/idk/token'' to ''/auth/v1/idk/oidc/token'', combined with a new requirement that the client prove via cryptographic ''attestation'' that the request originates from an official VW Group app.<ref name="evccdiscussion" /> Maintainers responded the same day by extracting the attestation parameters from the shipping Volkswagen Android app & restoring access through emulation; fixes shipped within hours as pull requests against ''evcc'' & the ''volkswagencarnet'' Python package.<ref name="evccdiscussion" />


=== Affected integrations & features ===
=== Affected integrations & features ===
Line 46: Line 46:
| Charge on a dynamic electricity tariff || '''Yes'''<ref name="evcctariffs">{{Cite web |url=https://docs.evcc.io/en/tariffs/ |title=Tariffs & forecasts |publisher=evcc documentation |access-date=2026-05-30}}</ref> || '''No'''<ref name="ellisolar" />
| Charge on a dynamic electricity tariff || '''Yes'''<ref name="evcctariffs">{{Cite web |url=https://docs.evcc.io/en/tariffs/ |title=Tariffs & forecasts |publisher=evcc documentation |access-date=2026-05-30}}</ref> || '''No'''<ref name="ellisolar" />
|-
|-
| Force a cloud data refresh on demand || '''Yes'''<ref name="vwdash">{{Cite web |url=https://github.com/robinostlund/volkswagencarnet/blob/master/volkswagencarnet/vw_dashboard.py |title=vw_dashboard.py source (RequestUpdate, Charging, DepartureTimer, BatteryTargetSOC, ScanInterval, ChargeMaxACAmpere, ElectricClimatisation, DoorLock, Position) |publisher=GitHub (robinostlund/volkswagencarnet) |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
| Pull fresh data from the car on demand || '''Yes'''<ref name="vwdash">{{Cite web |url=https://github.com/robinostlund/volkswagencarnet/blob/master/volkswagencarnet/vw_dashboard.py |title=vw_dashboard.py source (RequestUpdate, Charging, DepartureTimer, BatteryTargetSOC, ScanInterval, ChargeMaxACAmpere, ElectricClimatisation, DoorLock, Position) |publisher=GitHub (robinostlund/volkswagencarnet) |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
|-
|-
| Configurable polling interval per vehicle || '''Yes'''<ref name="harepo">{{Cite web |url=https://github.com/robinostlund/homeassistant-volkswagencarnet |title=Volkswagen Connect for Home Assistant (README) |publisher=GitHub (robinostlund/homeassistant-volkswagencarnet) |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
| Choose how often each car is checked || '''Yes'''<ref name="harepo">{{Cite web |url=https://github.com/robinostlund/homeassistant-volkswagencarnet |title=Volkswagen Connect for Home Assistant (README) |publisher=GitHub (robinostlund/homeassistant-volkswagencarnet) |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
|-
|-
| Read instantaneous charge power in kilowatts || '''Yes'''<ref name="vwdash" /> || '''No'''<ref name="zanatta">{{Cite web |url=https://www.davidezanatta.com/blog/volkswagen-weconnect-id-in-home-assistant-and-custom-dashboard-for-id-3/?lang=en |title=Volkswagen WeConnect ID in Home Assistant and Custom Dashboard for ID.3 |last=Zanatta |first=Davide |access-date=2026-05-30}}</ref>
| Read instantaneous charge power in kilowatts || '''Yes'''<ref name="vwdash" /> || '''No'''<ref name="zanatta">{{Cite web |url=https://www.davidezanatta.com/blog/volkswagen-weconnect-id-in-home-assistant-and-custom-dashboard-for-id-3/?lang=en |title=Volkswagen WeConnect ID in Home Assistant and Custom Dashboard for ID.3 |last=Zanatta |first=Davide |access-date=2026-05-30}}</ref>
Line 54: Line 54:
| Cap AC charging current in amperes || '''Yes'''<ref name="vwdash" /> || '''No'''<ref name="vwallservices" />
| Cap AC charging current in amperes || '''Yes'''<ref name="vwdash" /> || '''No'''<ref name="vwallservices" />
|-
|-
| Multiple departure timers with scriptable conditions || '''Yes'''<ref name="haservices">{{Cite web |url=https://github.com/robinostlund/homeassistant-volkswagencarnet/blob/master/custom_components/volkswagencarnet/services.yaml |title=services.yaml (update_schedule service) |publisher=GitHub (robinostlund/homeassistant-volkswagencarnet) |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
| Multiple departure timers usable from scripts and automations || '''Yes'''<ref name="haservices">{{Cite web |url=https://github.com/robinostlund/homeassistant-volkswagencarnet/blob/master/custom_components/volkswagencarnet/services.yaml |title=services.yaml (update_schedule service) |publisher=GitHub (robinostlund/homeassistant-volkswagencarnet) |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
|-
|-
| Pre-condition cabin from weather, calendar or geofence || '''Yes'''<ref name="hacommunity">{{Cite web |url=https://community.home-assistant.io/t/custom-integration-volkswagen-weconnect-id-europe/380933 |title=Custom Integration: Volkswagen WeConnect ID (Europe) |publisher=Home Assistant Community |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
| Pre-heat or cool the cabin from weather, calendar or location triggers || '''Yes'''<ref name="hacommunity">{{Cite web |url=https://community.home-assistant.io/t/custom-integration-volkswagen-weconnect-id-europe/380933 |title=Custom Integration: Volkswagen WeConnect ID (Europe) |publisher=Home Assistant Community |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
|-
|-
| User-defined notifications on charge events || '''Yes'''<ref name="hacommunity" /> || '''No'''<ref name="vwallservices" />
| Custom notifications when charging starts, finishes, or fails || '''Yes'''<ref name="hacommunity" /> || '''No'''<ref name="vwallservices" />
|-
|-
| Multi-vehicle, multi-brand single dashboard || '''Yes'''<ref name="harepo" /> || '''No'''<ref name="vwallservices" />
| One dashboard for cars from several brands || '''Yes'''<ref name="harepo" /> || '''No'''<ref name="vwallservices" />
|-
|-
| Long-term historisation of every reading || '''Yes'''<ref name="harecorder">{{Cite web |url=https://www.home-assistant.io/integrations/recorder/ |title=Recorder |publisher=Home Assistant |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
| Long-term history of every reading || '''Yes'''<ref name="harecorder">{{Cite web |url=https://www.home-assistant.io/integrations/recorder/ |title=Recorder |publisher=Home Assistant |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
|-
|-
| Open egress over MQTT for external consumers || '''Yes'''<ref name="wcmqtt">{{Cite web |url=https://github.com/tillsteinbach/WeConnect-mqtt |title=tillsteinbach/WeConnect-mqtt |publisher=GitHub |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
| Live data feed over MQTT for other apps || '''Yes'''<ref name="wcmqtt">{{Cite web |url=https://github.com/tillsteinbach/WeConnect-mqtt |title=tillsteinbach/WeConnect-mqtt |publisher=GitHub |access-date=2026-05-30}}</ref> || '''No'''<ref name="vwallservices" />
|-
|-
| Door lock & unlock as an automation primitive || '''Yes'''<ref name="vwdash" /> || '''No'''<ref name="vwallservices" />
| Lock or unlock the car from a script or automation || '''Yes'''<ref name="vwdash" /> || '''No'''<ref name="vwallservices" />
|-
|-
| Vehicle location as a Home Assistant device tracker || '''Yes'''<ref name="vwdash" /> || '''No'''<ref name="vwallservices" />
| Use the car's location as a presence and zone trigger || '''Yes'''<ref name="vwdash" /> || '''No'''<ref name="vwallservices" />
|-
|-
| Voice control through Apple HomeKit || '''Yes'''<ref name="hacommunity" /> || '''No'''<ref name="vwweconnectstart">{{Cite web |url=https://www.volkswagen.co.uk/en/connected-services/vw-connect-id/we-connect-start.html |title=We Connect Start |publisher=Volkswagen UK |access-date=2026-05-30}}</ref>
| Voice control through Apple HomeKit || '''Yes'''<ref name="hacommunity" /> || '''No'''<ref name="vwweconnectstart">{{Cite web |url=https://www.volkswagen.co.uk/en/connected-services/vw-connect-id/we-connect-start.html |title=We Connect Start |publisher=Volkswagen UK |access-date=2026-05-30}}</ref>
|-
|-
| Free, no-subscription remote charge & climate control || '''Yes'''<ref name="harepo" /> || '''No'''<ref name="vwallservices" />
| Free remote charge and climate control, no subscription || '''Yes'''<ref name="harepo" /> || '''No'''<ref name="vwallservices" />
|}
|}
=== What the Home Assistant integration did differently ===
; Charge only on rooftop solar surplus
: The evcc charge controller polled the car's state of charge and started charging ''"automatically as soon as the PV system delivers enough power"'', continuously adjusting the current so no power was drawn from the grid.<ref name="evccsolar" /> Volkswagen Group's only equivalent is the separately purchased Elli Charger 2 wallbox, which ''"uses excess energy from solar power systems to directly charge the EV"''; the official We Connect apps offer no PV-surplus mode.<ref name="ellisolar" /><ref name="vwallservices" />
; Charge on a dynamic electricity tariff
: evcc shipped native integrations for Tibber, aWATTar, Octopus Energy, ENTSO-E, Energy Charts, Amber Electric, EPEX Predictor and Nordpool, and scheduled charging into the cheapest hours of each day.<ref name="evcctariffs" /> The official Volkswagen apps have no tariff awareness; the only Volkswagen-branded answer is again the Elli Charger 2 wallbox, which ''"can automatically schedule the cheapest times to charge"''.<ref name="ellisolar" /><ref name="vwallservices" />
; Pull fresh data from the car on demand
: The integration exposed a ''RequestUpdate'' control (surfaced in Home Assistant as ''switch.refresh_data'') that woke the cloud poll on command, so a dashboard or automation could force a fresh reading at any moment.<ref name="vwdash" /> The official apps refresh on their own internal schedule with no user-facing "refresh now" control.<ref name="vwallservices" />
; Choose how often each car is checked
: The integration documented a configurable scan interval (default five minutes, settable between zero and sixty), so each car could be polled as often or as rarely as the owner wanted.<ref name="harepo" /><ref name="vwdash" /> The official apps fix the cadence and do not expose it to the owner.<ref name="vwallservices" />
; Read instantaneous charge power in kilowatts
: ''vw_dashboard.py'' exposed the live charging power as a Home Assistant sensor with the ''POWER'' device class, so the figure could be charted alongside solar and grid power.<ref name="vwdash" /> An ID.3 owner documenting a Home Assistant dashboard build noted that the same figure ''"at the moment it is not possible to obtain from the car infotainment"''; the official app shows a percentage and a time estimate but no wattage.<ref name="zanatta" /><ref name="vwallservices" />
; Cap AC charging current in amperes
: The integration exposed ''select.charge_max_ac_ampere'' as a writable control limited to 5, 10, 13, 16 or 32 A, letting owners throttle wallbox draw from any automation.<ref name="vwdash" /> The official apps have no equivalent amperage selector.<ref name="vwallservices" />
; Multiple departure timers usable from scripts and automations
: Three ''switch.departure_timer'' entities were configurable through the ''update_schedule'' service with weekdays, start and end windows, and per-timer charging and climatisation flags, so timers could be rewritten from any Home Assistant automation.<ref name="vwdash" /><ref name="haservices" /> The official apps allow timers only through their own in-app screens, with no external trigger.<ref name="vwallservices" />
; Pre-heat or cool the cabin from weather, calendar or location triggers
: A Home Assistant community thread documented an automation that fired ''switch.electric_climatisation'' at 07:00 ''"when it's freezing outside"'' (outdoor temperature below 1 °C), tying cabin pre-conditioning to weather rather than a fixed alarm.<ref name="hacommunity" /><ref name="vwdash" /> The official apps support clock-based timers only, with no hook into weather, a calendar event, or a geofence.<ref name="vwallservices" />
; Custom notifications when charging starts, finishes, or fails
: Owners in the community thread documented automations that sent messages like ''"car is done charging"'' with the current range, plus alerts on charging-error states, through any Home Assistant notifier.<ref name="hacommunity" /> The official apps emit only their own preset push notifications, with no user-defined predicates or third-party notifier.<ref name="vwallservices" />
; One dashboard for cars from several brands
: Home Assistant rendered the Volkswagen integration as native devices alongside any other brand integration the owner installed, so a household with mixed-brand cars saw all of them on one screen.<ref name="harepo" /> Volkswagen Group ships separate apps for Volkswagen, MyAudi, MyŠkoda and Cupra, and none of them aggregate vehicles from other manufacturers.<ref name="vwallservices" />
; Long-term history of every reading
: Home Assistant's built-in Recorder integration ''"constantly saves data"'' to a local SQL database, giving owners years of state-of-charge, location and climatisation history they could query or export.<ref name="harecorder" /> The official apps show recent trips and charging sessions inside their own UI only, with no documented CSV, JSON or database export.<ref name="vwallservices" />
; Live data feed over MQTT for other apps
: The companion ''WeConnect-mqtt'' library is described in its repository as an ''"MQTT Client that publishes data from Volkswagen WeConnect"'', republishing live vehicle data on MQTT topics any other home tool could subscribe to.<ref name="wcmqtt" /> The official apps expose no MQTT, REST or webhook interface; they are closed mobile clients.<ref name="vwallservices" />
; Lock or unlock the car from a script or automation
: The integration exposed a ''lock.door_locked'' entity, gated by the owner's S-PIN, that any Home Assistant automation could toggle.<ref name="vwdash" /><ref name="harepo" /> The official apps only expose lock and unlock as a manual button inside the app, with no scripting hook.<ref name="vwallservices" />
; Use the car's location as a presence and zone trigger
: The integration surfaced the car's position as ''device_tracker.position'', a first-class input to Home Assistant zones and presence detection, so other automations could fire when the car entered or left a defined area.<ref name="vwdash" /> The official apps display the car's location on a map but offer no geofence, presence event, or webhook.<ref name="vwallservices" />
; Voice control through Apple HomeKit
: All exposed entities were reachable through Home Assistant's voice-assistant bridges; an owner in the community thread documented exposing the Volkswagen integration to HomeKit through a Home Assistant input boolean, so the car could be pre-heated by voice from any Apple device.<ref name="hacommunity" /> Volkswagen lists no Apple HomeKit, Amazon Alexa or Google Home skill for We Connect; voice control is limited to in-car ''"Hello ID."'', described on the We Connect Start page as a way to ''"control a number of infotainment and vehicle functions"'' from the driver's seat.<ref name="vwweconnectstart" /><ref name="vwallservices" />
; Free remote charge and climate control, no subscription
: The integration itself carried no licence fee or subscription tier on top of the owner's existing VW Connect account, though the README notes that ''"[a]n active VW online subscription connected to your car is required"'' upstream.<ref name="harepo" /> Volkswagen UK's services page lists ''"Extend by 1 year (inc. VAT) £129"'' for We Connect Plus once the included two-year trial runs out, a price the ID.3 owners' forum confirms.<ref name="vwallservices" /><ref name="id3plus" />


=== Volkswagen's response ===
=== Volkswagen's response ===
Line 89: Line 139:
A reader quoted by ''Mobiflip'' wrote that if Volkswagen could not offer a workable interface ''"wie es BMW gemacht hat"'' (''"like BMW has done"''), ''"wird es halt kein VW mehr"'' (''"then it just won't be a VW anymore"'').<ref name="mobiflip" />
A reader quoted by ''Mobiflip'' wrote that if Volkswagen could not offer a workable interface ''"wie es BMW gemacht hat"'' (''"like BMW has done"''), ''"wird es halt kein VW mehr"'' (''"then it just won't be a VW anymore"'').<ref name="mobiflip" />


== Regulatory context ==
== EU Data Act applicability ==


The [[EU Data Act]] (Regulation (EU) 2023/2854) entered into force on January 11, 2024.<ref name="hunton">{{Cite web |url=https://www.hunton.com/privacy-and-cybersecurity-law-blog/key-provisions-of-the-eu-data-act-take-effect |title=Key Provisions of the EU Data Act Take Effect |publisher=Hunton Andrews Kurth |access-date=2026-05-29}}</ref> The majority of its provisions began to apply on September 12, 2025, & design-by-default obligations on connected products & related services offered in the EU follow after September 12, 2026.<ref name="hunton" /><ref name="latham">{{Cite web |url=https://www.lw.com/en/insights/eu-data-act-what-businesses-need-to-know |title=EU Data Act: What Businesses Need to Know |publisher=Latham & Watkins |access-date=2026-05-29}}</ref> Under Articles 4 & 5, a data holder must, when the user requests it, make readily available data accessible to a designated third party in a structured, commonly used & machine-readable format.<ref name="latham" /><ref name="hunton" />
The [[EU Data Act]] (Regulation (EU) 2023/2854) entered into force on January 11, 2024.<ref name="hunton">{{Cite web |url=https://www.hunton.com/privacy-and-cybersecurity-law-blog/key-provisions-of-the-eu-data-act-take-effect |title=Key Provisions of the EU Data Act Take Effect |publisher=Hunton Andrews Kurth |access-date=2026-05-29}}</ref> The majority of its provisions began to apply on September 12, 2025, & design-by-default obligations on connected products & related services offered in the EU follow after September 12, 2026.<ref name="hunton" /><ref name="latham">{{Cite web |url=https://www.lw.com/en/insights/eu-data-act-what-businesses-need-to-know |title=EU Data Act: What Businesses Need to Know |publisher=Latham & Watkins |access-date=2026-05-29}}</ref> Under Articles 4 & 5, a data holder must, when the user requests it, make readily available data accessible to a designated third party in a structured, commonly used & machine-readable format.<ref name="latham" /><ref name="hunton" />
Line 95: Line 145:
Within hours of the cutover, owners on the GitHub trackers argued that a Cariad-issued partner-attestation requirement that excludes free-software clients cannot be reconciled with that Article 4 / Article 5 obligation.<ref name="evccdiscussion" />
Within hours of the cutover, owners on the GitHub trackers argued that a Cariad-issued partner-attestation requirement that excludes free-software clients cannot be reconciled with that Article 4 / Article 5 obligation.<ref name="evccdiscussion" />


== Pattern of automaker API lockouts ==
== Other automaker API and data lockouts ==


Mazda, Toyota, Stellantis & General Motors have each restricted or monetised owner access to vehicle data in the preceding three years.
Mazda, Toyota, Stellantis & General Motors have each restricted or monetised owner access to vehicle data in the preceding three years.

Latest revision as of 22:28, 30 May 2026

On May 27, 2026, Volkswagen Group silently disabled the authentication flow that third-party software had used for years to read & control its vehicles, breaking the widely deployed Home Assistant integration homeassistant-volkswagencarnet & the open-source EV charge controller evcc.[1][2] The cutover extended across the Volkswagen, Audi, Škoda & Cupra brands.[3][4] The new token endpoint requires a cryptographic attestation tying each request to an official VW Group app, locking out community clients that had authenticated with stored owner credentials alone.[2][4] Volkswagen published no press release; the official explanation surfaced on a private Škoda owners' Facebook group, telling owners that apps lacking a formalised relationship with VW Group Info Services would no longer access vehicle data.[3]

Background

[edit | edit source]

The We Connect service is the cloud backend for Volkswagen Group's connected-vehicle features: state-of-charge reporting, remote charge control, climate pre-conditioning, lock & unlock, departure timers, & location. The community homeassistant-volkswagencarnet integration that exposed those features to home automation began with the Passat, Golf, e-Golf & Tiguan, & later expanded to the ID series.[5] evcc, the open-source EV charge controller used to align home charging with solar production, polled the VW backend periodically to read battery state.[6][4]

Volkswagen already monetises consumer access to those features, & Schmidtisblog reported that the company "verweist bereits auf kostenpflichtige Business-Schnittstellen für Firmenkunden" ("already points to paid business interfaces for corporate customers").[7]

The API shutdown

[edit | edit source]

On the afternoon of May 27, 2026, every third-party client targeting the Volkswagen Group cloud began failing simultaneously, while the official Volkswagen, Audi & MyŠkoda smartphone apps continued to authenticate normally.[1][8][2] Integration logs showed unauthorized, forbidden & bad-request responses against the VW Group token endpoint.[4]

Community analysis of the shipping VW-App build identified the change as a migration of the OIDC token endpoint from /login/v1/idk/token to /auth/v1/idk/oidc/token, combined with a new requirement that the client prove via cryptographic attestation that the request originates from an official VW Group app.[4] Maintainers responded the same day by extracting the attestation parameters from the shipping Volkswagen Android app & restoring access through emulation; fixes shipped within hours as pull requests against evcc & the volkswagencarnet Python package.[4]

Affected integrations & features

[edit | edit source]

The breakage hit every community-developed VW Group tool in active use:

  • homeassistant-volkswagencarnet (Home Assistant, Robin Östlund)[8][2]
  • evcc solar-aware EV charge controller[4]
  • homeassistant-myskoda (Škoda)[3]

Functions that stopped working from the owner's smart-home side, even where the official app still showed them, included state-of-charge reporting, charging control, climate pre-conditioning, lock & unlock, & vehicle location.[1][9]

Home Assistant capabilities not available in the official app

[edit | edit source]

The community integrations were not a re-skin of the official Volkswagen app. They exposed each vehicle as writable Home Assistant entities (switches, numbers, selects, device trackers, locks, climate controls) that any automation, dashboard, time-series database, voice assistant or external script could read & command. The Volkswagen, MyAudi, MyŠkoda & Cupra apps are closed mobile clients with a fixed UI, & many of their headline remote-control features sit behind the paid We Connect Plus subscription priced on Volkswagen UK's services page at £129 per year.[10][11]

Capability Home Assistant integration / evcc Official VW / MyAudi / MyŠkoda / Cupra app
Charge only on rooftop solar surplus Yes[12] No[13]
Charge on a dynamic electricity tariff Yes[14] No[13]
Pull fresh data from the car on demand Yes[15] No[10]
Choose how often each car is checked Yes[16] No[10]
Read instantaneous charge power in kilowatts Yes[15] No[17]
Cap AC charging current in amperes Yes[15] No[10]
Multiple departure timers usable from scripts and automations Yes[18] No[10]
Pre-heat or cool the cabin from weather, calendar or location triggers Yes[19] No[10]
Custom notifications when charging starts, finishes, or fails Yes[19] No[10]
One dashboard for cars from several brands Yes[16] No[10]
Long-term history of every reading Yes[20] No[10]
Live data feed over MQTT for other apps Yes[21] No[10]
Lock or unlock the car from a script or automation Yes[15] No[10]
Use the car's location as a presence and zone trigger Yes[15] No[10]
Voice control through Apple HomeKit Yes[19] No[22]
Free remote charge and climate control, no subscription Yes[16] No[10]

What the Home Assistant integration did differently

[edit | edit source]
Charge only on rooftop solar surplus
The evcc charge controller polled the car's state of charge and started charging "automatically as soon as the PV system delivers enough power", continuously adjusting the current so no power was drawn from the grid.[12] Volkswagen Group's only equivalent is the separately purchased Elli Charger 2 wallbox, which "uses excess energy from solar power systems to directly charge the EV"; the official We Connect apps offer no PV-surplus mode.[13][10]
Charge on a dynamic electricity tariff
evcc shipped native integrations for Tibber, aWATTar, Octopus Energy, ENTSO-E, Energy Charts, Amber Electric, EPEX Predictor and Nordpool, and scheduled charging into the cheapest hours of each day.[14] The official Volkswagen apps have no tariff awareness; the only Volkswagen-branded answer is again the Elli Charger 2 wallbox, which "can automatically schedule the cheapest times to charge".[13][10]
Pull fresh data from the car on demand
The integration exposed a RequestUpdate control (surfaced in Home Assistant as switch.refresh_data) that woke the cloud poll on command, so a dashboard or automation could force a fresh reading at any moment.[15] The official apps refresh on their own internal schedule with no user-facing "refresh now" control.[10]
Choose how often each car is checked
The integration documented a configurable scan interval (default five minutes, settable between zero and sixty), so each car could be polled as often or as rarely as the owner wanted.[16][15] The official apps fix the cadence and do not expose it to the owner.[10]
Read instantaneous charge power in kilowatts
vw_dashboard.py exposed the live charging power as a Home Assistant sensor with the POWER device class, so the figure could be charted alongside solar and grid power.[15] An ID.3 owner documenting a Home Assistant dashboard build noted that the same figure "at the moment it is not possible to obtain from the car infotainment"; the official app shows a percentage and a time estimate but no wattage.[17][10]
Cap AC charging current in amperes
The integration exposed select.charge_max_ac_ampere as a writable control limited to 5, 10, 13, 16 or 32 A, letting owners throttle wallbox draw from any automation.[15] The official apps have no equivalent amperage selector.[10]
Multiple departure timers usable from scripts and automations
Three switch.departure_timer entities were configurable through the update_schedule service with weekdays, start and end windows, and per-timer charging and climatisation flags, so timers could be rewritten from any Home Assistant automation.[15][18] The official apps allow timers only through their own in-app screens, with no external trigger.[10]
Pre-heat or cool the cabin from weather, calendar or location triggers
A Home Assistant community thread documented an automation that fired switch.electric_climatisation at 07:00 "when it's freezing outside" (outdoor temperature below 1 °C), tying cabin pre-conditioning to weather rather than a fixed alarm.[19][15] The official apps support clock-based timers only, with no hook into weather, a calendar event, or a geofence.[10]
Custom notifications when charging starts, finishes, or fails
Owners in the community thread documented automations that sent messages like "car is done charging" with the current range, plus alerts on charging-error states, through any Home Assistant notifier.[19] The official apps emit only their own preset push notifications, with no user-defined predicates or third-party notifier.[10]
One dashboard for cars from several brands
Home Assistant rendered the Volkswagen integration as native devices alongside any other brand integration the owner installed, so a household with mixed-brand cars saw all of them on one screen.[16] Volkswagen Group ships separate apps for Volkswagen, MyAudi, MyŠkoda and Cupra, and none of them aggregate vehicles from other manufacturers.[10]
Long-term history of every reading
Home Assistant's built-in Recorder integration "constantly saves data" to a local SQL database, giving owners years of state-of-charge, location and climatisation history they could query or export.[20] The official apps show recent trips and charging sessions inside their own UI only, with no documented CSV, JSON or database export.[10]
Live data feed over MQTT for other apps
The companion WeConnect-mqtt library is described in its repository as an "MQTT Client that publishes data from Volkswagen WeConnect", republishing live vehicle data on MQTT topics any other home tool could subscribe to.[21] The official apps expose no MQTT, REST or webhook interface; they are closed mobile clients.[10]
Lock or unlock the car from a script or automation
The integration exposed a lock.door_locked entity, gated by the owner's S-PIN, that any Home Assistant automation could toggle.[15][16] The official apps only expose lock and unlock as a manual button inside the app, with no scripting hook.[10]
Use the car's location as a presence and zone trigger
The integration surfaced the car's position as device_tracker.position, a first-class input to Home Assistant zones and presence detection, so other automations could fire when the car entered or left a defined area.[15] The official apps display the car's location on a map but offer no geofence, presence event, or webhook.[10]
Voice control through Apple HomeKit
All exposed entities were reachable through Home Assistant's voice-assistant bridges; an owner in the community thread documented exposing the Volkswagen integration to HomeKit through a Home Assistant input boolean, so the car could be pre-heated by voice from any Apple device.[19] Volkswagen lists no Apple HomeKit, Amazon Alexa or Google Home skill for We Connect; voice control is limited to in-car "Hello ID.", described on the We Connect Start page as a way to "control a number of infotainment and vehicle functions" from the driver's seat.[22][10]
Free remote charge and climate control, no subscription
The integration itself carried no licence fee or subscription tier on top of the owner's existing VW Connect account, though the README notes that "[a]n active VW online subscription connected to your car is required" upstream.[16] Volkswagen UK's services page lists "Extend by 1 year (inc. VAT) £129" for We Connect Plus once the included two-year trial runs out, a price the ID.3 owners' forum confirms.[10][11]

Volkswagen's response

[edit | edit source]

Volkswagen Group issued no press release before the German tech press picked up the change on May 28-29, 2026.[7][9] The official explanation surfaced on a private Škoda owners' Facebook group, posted by VW Group Info Services & reposted into the public GitHub trackers. It described the change as a "formal framework for third-party access to vehicle data" intended to "make sure these apps work reliably and your data stays protected," & told owners:

"Apps without a formalised relationship with VW Group Info Services will no longer be able to access vehicle data. If you use a third-party app and you are not sure whether it is integrated, the best step is to contact the provider directly and ask them to complete the attestation process with VW Group Info Services."

[3]

The attestation programme is a business-to-business product. In September 2024 VW Group Info Services announced an integration with telematics provider Geotab to surface Volkswagen Group vehicle data for commercial fleet customers.[23] An owner running homeassistant-volkswagencarnet on a home server is not the target customer.

Consumer response

[edit | edit source]

The homeassistant-volkswagencarnet tracker accumulated bug reports from European owners, all reporting identical authentication failures with credentials that still worked in the official app.[8][2] The evcc maintainers opened a dedicated discussion thread & asked participants to keep arguments about suing Volkswagen in a separate thread so the technical work could proceed; owners across the GitHub threads repeatedly invoked the EU Data Act as the legal basis on which the lockout should be challenged.[4]

A reader quoted by Mobiflip wrote that if Volkswagen could not offer a workable interface "wie es BMW gemacht hat" ("like BMW has done"), "wird es halt kein VW mehr" ("then it just won't be a VW anymore").[9]

EU Data Act applicability

[edit | edit source]

The EU Data Act (Regulation (EU) 2023/2854) entered into force on January 11, 2024.[24] The majority of its provisions began to apply on September 12, 2025, & design-by-default obligations on connected products & related services offered in the EU follow after September 12, 2026.[24][25] Under Articles 4 & 5, a data holder must, when the user requests it, make readily available data accessible to a designated third party in a structured, commonly used & machine-readable format.[25][24]

Within hours of the cutover, owners on the GitHub trackers argued that a Cariad-issued partner-attestation requirement that excludes free-software clients cannot be reconciled with that Article 4 / Article 5 obligation.[4]

Other automaker API and data lockouts

[edit | edit source]

Mazda, Toyota, Stellantis & General Motors have each restricted or monetised owner access to vehicle data in the preceding three years.

  • Mazda sent a Digital Millennium Copyright Act takedown to GitHub in 2023, forcing the removal of the open-source libraries used by Home Assistant.[26]
  • Toyota moved remote start, remote climate & other Remote Connect functions behind a paid subscription that begins after the included trial period.[27]
  • Stellantis charges $9.99 per month or $109.89 per year for connected navigation across its brands.[27]
  • General Motors announced the removal of Apple CarPlay & Android Auto from future EVs.[27]

In the United States, on February 11, 2025, U.S. District Judge Denise Casper dismissed the Alliance for Automotive Innovation's suit challenging the Massachusetts Data Access Law, which Massachusetts voters approved in 2020.[28][29]

See also

[edit | edit source]

References

[edit | edit source]
  1. 1.0 1.1 1.2 "VW und Audi sperren API-Schnittstelle; "Smart-Home-Blackout" seit 27.05.2026 - Teil 1". Borncity. 2026-05-29. Retrieved 2026-05-29.
  2. 2.0 2.1 2.2 2.3 2.4 "[BUG] VW has disabled access to API, so any services based on it no longer work". GitHub (robinostlund/homeassistant-volkswagencarnet). 2026-05-27. Retrieved 2026-05-29.
  3. 3.0 3.1 3.2 3.3 "API access change - VW Group third-party framework". GitHub (skodaconnect/homeassistant-myskoda). 2026-05-26. Retrieved 2026-05-29.
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 "VW lock API requests soon and allow only registered Apps #30236". GitHub (evcc-io/evcc). 2026-05-27. Retrieved 2026-05-29.
  5. "robinostlund/homeassistant-volkswagencarnet (repository description)". GitHub. Retrieved 2026-05-29.
  6. "evcc-io/evcc (repository)". GitHub. Retrieved 2026-05-29.
  7. 7.0 7.1 Schmidt, Jörn (2026-05-28). "Heimlicher Stecker gezogen - Warum VW-Fahrer gerade ihr Smart Home verlieren". Schmidtis Blog. Retrieved 2026-05-29.
  8. 8.0 8.1 8.2 "[BUG] Login no more possible, Android App still works". GitHub (robinostlund/homeassistant-volkswagencarnet). 2026-05-27. Retrieved 2026-05-29.
  9. 9.0 9.1 9.2 Hesse, René (2026-05-28). "VW-Nutzer verlieren plötzlich wichtige Smart-Home-Funktionen". Mobiflip. Retrieved 2026-05-29.
  10. 10.00 10.01 10.02 10.03 10.04 10.05 10.06 10.07 10.08 10.09 10.10 10.11 10.12 10.13 10.14 10.15 10.16 10.17 10.18 10.19 10.20 10.21 10.22 10.23 10.24 10.25 10.26 10.27 10.28 "VW Connect ID. - All Services". Volkswagen UK. Retrieved 2026-05-30.
  11. 11.0 11.1 "WeConnect Plus app charges - free or not for older cars?". Volkswagen ID.3 Forum. 2025-07-03. Retrieved 2026-05-30.
  12. 12.0 12.1 "Solar Surplus Charging". evcc documentation. Retrieved 2026-05-30.
  13. 13.0 13.1 13.2 13.3 "Volkswagen Group brand Elli launches smart charging product offensive for Europe". Volkswagen Group. Retrieved 2026-05-30.
  14. 14.0 14.1 "Tariffs & forecasts". evcc documentation. Retrieved 2026-05-30.
  15. 15.00 15.01 15.02 15.03 15.04 15.05 15.06 15.07 15.08 15.09 15.10 15.11 15.12 "vw_dashboard.py source (RequestUpdate, Charging, DepartureTimer, BatteryTargetSOC, ScanInterval, ChargeMaxACAmpere, ElectricClimatisation, DoorLock, Position)". GitHub (robinostlund/volkswagencarnet). Retrieved 2026-05-30.
  16. 16.0 16.1 16.2 16.3 16.4 16.5 16.6 "Volkswagen Connect for Home Assistant (README)". GitHub (robinostlund/homeassistant-volkswagencarnet). Retrieved 2026-05-30.
  17. 17.0 17.1 Zanatta, Davide. "Volkswagen WeConnect ID in Home Assistant and Custom Dashboard for ID.3". Retrieved 2026-05-30.
  18. 18.0 18.1 "services.yaml (update_schedule service)". GitHub (robinostlund/homeassistant-volkswagencarnet). Retrieved 2026-05-30.
  19. 19.0 19.1 19.2 19.3 19.4 19.5 "Custom Integration: Volkswagen WeConnect ID (Europe)". Home Assistant Community. Retrieved 2026-05-30.
  20. 20.0 20.1 "Recorder". Home Assistant. Retrieved 2026-05-30.
  21. 21.0 21.1 "tillsteinbach/WeConnect-mqtt". GitHub. Retrieved 2026-05-30.
  22. 22.0 22.1 "We Connect Start". Volkswagen UK. Retrieved 2026-05-30.
  23. "OEM telematics integration is maximizing EV fleet efficiency and ROI". Electrek. 2025-12-20. Retrieved 2026-05-29.
  24. 24.0 24.1 24.2 "Key Provisions of the EU Data Act Take Effect". Hunton Andrews Kurth. Retrieved 2026-05-29.
  25. 25.0 25.1 "EU Data Act: What Businesses Need to Know". Latham & Watkins. Retrieved 2026-05-29.
  26. "Mazda Slaps Developer With Cease-and-Desist for DIY Smart Home Integration". The Drive. 2023-10-20. Retrieved 2026-05-29.
  27. 27.0 27.1 27.2 "Buyer Beware: Subscription Fees Are Hidden In Your New Car". Pickup Truck Talk. July 2024. Retrieved 2026-05-29.
  28. "Auto Care Association Applauds Verdict in Years-Long Massachusetts Right to Repair Battle". Auto Care Association. 2025-02-11. Retrieved 2026-05-29.
  29. "Massachusetts right-to-repair law upheld as judge dismisses automaker challenge". WBUR. 2025-02-12. Retrieved 2026-05-29.