[NIO Open Telematics] Unofficial API integration for Home Assistant — early HACS release

Hi everyone,

I’m building an unofficial Home Assistant integration for NIO vehicles using NIO’s official European Open Telematics API.

Repository and installation instructions:

The current development release can be installed through HACS as a custom repository.

Current status

Tested with one EU NIO ET5 Touring:

  • OAuth authorization and automatic token refresh work.
  • Vehicle timestamp, state and odometer work.
  • The odometer currently matches the vehicle at 5,077 km.
  • The API currently returns battery SoC as 0.
  • Remaining range and charging information are missing or null.
  • Some event-based endpoints currently return no recent data.
  • Several documented endpoints are rejected by NIO with permission_denied.

permission_denied is NIO’s official API response for the current application/token/vehicle combination. It is not a Home Assistant permissions problem.

The integration exposes an API-availability diagnostic sensor so working, empty, denied and errored endpoint families can be distinguished without enabling every diagnostic entity.

Because SoC and charging telemetry are not yet reliable, these entities should not currently be used for charging automations.

Help wanted

A detailed case covering OAuth, Postman and real driving tests—including an observed 2% battery discharge—has been sent to NIO, and feedback is pending.

I would appreciate help from:

  1. EU NIO owners with approved Open Telematics access who can test the integration on another vehicle or personal application.
  2. Anyone with direct access to NIO’s Open Telematics/API support team.
  3. Home Assistant developers willing to review the integration or contribute sanitized API observations.

Please never publish credentials, tokens, a complete VIN, precise location information or unredacted diagnostics.

Transparency

This is an independent, unofficial personal project created with substantial AI assistance. It is not affiliated with or endorsed by NIO. I originally created it for my own Home Assistant installation and decided to share it in case it can help other owners.

The longer-term goal is to expose reliable vehicle telemetry to Home Assistant so deterministic charging logic can use it with systems such as EVCC.

Hi,

I removed this comment and added it on the github thread instead: