[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83895":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":9,"trendingCount":15,"starSnapshotCount":15,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},83895,"hass-vw-eu-data-act","mikrohard\u002Fhass-vw-eu-data-act","mikrohard","Home assistant integration for VW EU Data Act portal",null,"Python",66,7,9,14,0,5,15,20,2.71,"MIT License",false,"main",true,[],"2026-06-12 02:04:36","# Volkswagen EU Data Act — Home Assistant integration\n\nPeriodically downloads your vehicle's \"continuous data\" from the Volkswagen\nEU Data Act portal (`eu-data-act.drivesomethinggreater.com`) and exposes it in\nHome Assistant.\n\n## Features\n\n- **Login with your VW credentials** and pick a VIN during setup (the portal is\n  queried for the vehicles on your account).\n- **Curated sensors** for the useful data points (battery SoC, target charge\n  level, charge power, mileage, climate temperatures, charge state, doors\n  locked, parking brake, …) — enabled by default with proper units and device\n  classes.\n- **Every other data point** is exposed as a *disabled-by-default* diagnostic\n  sensor, enriched (name \u002F unit \u002F description) from the official PDF data\n  dictionary. Enable the ones you want from the entity settings.\n- **Adaptive polling**: the portal drops a new dataset roughly every 15 minutes.\n  The integration refreshes shortly after each expected drop; if nothing new is\n  available it retries once a minute until the next dataset appears, then\n  resumes the 15-minute cadence.\n- **History** is provided by Home Assistant's normal recorder: numeric sensors\n  with a state class accrue long-term statistics from their live values going\n  forward (the integration does not back-fill past datapoints — see notes).\n\n## Prerequisites — enable continuous data on the portal first\n\nBefore adding the integration, you must enable a **continuous 15-minute data\nrequest** for your vehicle on the EU Data Act portal. The integration only\n*downloads* the datasets the portal generates — it cannot create the data\nrequest for you, and without an active request there will be nothing to fetch.\n\n1. Open \u003Chttps:\u002F\u002Feu-data-act.drivesomethinggreater.com\u002F> and **log in** with\n   your Volkswagen ID (the same email\u002Fpassword you'll use in Home Assistant).\n2. Go to **Data clusters → Vehicle overview**.\n3. **Connect your car** to the site if it isn't already listed (follow the\n   on-screen pairing\u002Fconsent steps for your VIN).\n4. Click **Get customised data** for the vehicle and follow the instructions to\n   configure a **continuous** data request with a **15-minute** frequency.\n5. Wait until the portal starts producing datasets (you'll see ZIP files appear\n   in the vehicle's data delivery list, roughly every 15 minutes). The first\n   file can take a little while to show up.\n\nOnce datasets are being generated, continue with the installation below.\n\n> The integration polls at most every 15 minutes because that is how often the\n> portal publishes new data — a shorter interval cannot produce fresher values.\n\n## Installation\n\n### Option A — HACS (recommended)\n\n[HACS](https:\u002F\u002Fhacs.xyz) must already be installed in Home Assistant.\n\n1. In Home Assistant go to **HACS** (sidebar).\n2. Open the **⋮** menu (top-right) → **Custom repositories**.\n3. Add this repository:\n   - **Repository:** `https:\u002F\u002Fgithub.com\u002Fmikrohard\u002Fhass-vw-eu-data-act`\n   - **Type \u002F Category:** **Integration**\n\n   Then click **Add**.\n4. Back in HACS, search for **Volkswagen EU Data Act**, open it, and click\n   **Download** (pick the latest version).\n5. **Restart Home Assistant** when prompted.\n6. Continue with [Add the integration](#add-the-integration) below.\n\n> Once the repository is published\u002Fapproved you can instead use this one-click\n> link (replace with your published URL):\n> *HACS → Integrations → Explore & Download → \"Volkswagen EU Data Act\"*.\n\n### Option B — Manual\n\n1. Copy the `custom_components\u002Fvw_eu_data_act` folder into your Home Assistant\n   `config\u002Fcustom_components\u002F` directory (so you end up with\n   `config\u002Fcustom_components\u002Fvw_eu_data_act\u002Fmanifest.json`).\n2. Restart Home Assistant.\n\n### Add the integration\n\n1. *Settings → Devices & Services → **Add Integration** → search \"Volkswagen EU\n   Data Act\"*.\n2. Enter the **same VW email\u002Fpassword** you used on the portal, then select your\n   vehicle from the list.\n\n## Notes & limitations\n\n- **No historical back-fill.** The integration only records values from the\n  moment it's running (Home Assistant's recorder builds history\u002Fstatistics from\n  the live sensor states). It does **not** import the portal's last ~30 datasets\n  into long-term statistics — doing so collided with the recorder's own\n  statistics for the same entities and could corrupt unrelated statistics.\n- Datasets named `*_no_content_found.zip` are skipped (the vehicle produced no\n  payload for that interval).\n- Credentials are stored in the Home Assistant config entry and used only to\n  authenticate against the official portal.\n\n## Troubleshooting the login\n\nIf setup fails to accept your credentials, you can reproduce and debug the\nlogin flow **outside Home Assistant** with the bundled tester:\n\n```bash\npython3 -m venv .venv && .venv\u002Fbin\u002Fpip install aiohttp\n# full login + vehicle\u002Fdataset listing:\nEUDA_EMAIL='you@example.com' EUDA_PASSWORD='secret' .venv\u002Fbin\u002Fpython tools\u002Ftest_login.py\n# or just inspect the public sign-in page structure (no password sent):\n.venv\u002Fbin\u002Fpython tools\u002Ftest_login.py --dump you@example.com x\n```\n\nIt prints DEBUG-level progress for each login step (priming → authorize →\nidentifier POST → password POST → portal callback) so you can see exactly where\nit stops. To get the same detail from inside Home Assistant, add:\n\n```yaml\nlogger:\n  logs:\n    custom_components.vw_eu_data_act: debug\n```\n\n> The portal's `\u002Fservices\u002Fredirect\u002Fauthentication` endpoint returns HTTP 500 for\n> non-browser clients, so the integration builds the OIDC `authorize` URL\n> directly. The login `state` defaults to country `si` \u002F language `sl`; if your\n> account is in another locale and login misbehaves, adjust `DEFAULT_COUNTRY` \u002F\n> `DEFAULT_LANGUAGE` in `custom_components\u002Fvw_eu_data_act\u002Fconst.py`.\n\n## Updating the data dictionary\n\n`custom_components\u002Fvw_eu_data_act\u002Fdata_dictionary.json` is generated from the\nofficial PDF and committed to the repo. To regenerate from a newer PDF:\n\n```bash\npython -m venv .venv && .venv\u002Fbin\u002Fpip install pdfplumber\n.venv\u002Fbin\u002Fpython tools\u002Fparse_dictionary.py path\u002Fto\u002FDataDictionary.pdf\n```\n\n## License\n\nReleased under the [MIT License](LICENSE).\n",2,"2026-06-11 04:11:48","CREATED_QUERY"]