An unofficial Home Assistant integration for Deepal electric vehicles, using the Deepal app API.
Currently read only, with no ability to make changes to the car settings or do any actions.
Currently tested on the Deepal S07 in Australia. Other Deepal models may work but are untested. Any available data or API access for vehicles in regions other than Australia is also untested.
- Battery state of charge and estimated range
- Odometer and power status
- Charge status, charge gun connection, charge current, remaining charge time
- Cabin temperature and humidity
- Door and boot open/closed status (binary sensors)
- Tyre pressures with warning status
- HVAC A/C and defrost status
- OTA firmware update status
- Lock status (the status will reflect your car lock status, but the lock/unlock button will not do anything)
- Vehicle image
- Add this repository as a custom repository in HACS
- Install "Deepal Unofficial"
- Restart Home Assistant
- Go to Settings → Integrations → Add Integration → search for "Deepal"
- Copy the
custom_components/deepalfolder to your HAconfig/custom_components/directory - Restart Home Assistant
- Go to Settings → Integrations → Add Integration → search for "Deepal"
This integration requires tokens from the Deepal app. You will need to capture these using a proxy tool such as mitmproxy or HTTP Toolkit.
- Install and configure a proxy tool on your device
- Open the Deepal app and log in
- Capture the login request to
https://m.iov.changanauto.sg/appgw/intl-app-auth/api/login/email-pass-in - From the response, copy the
tokenandrefreshTokenvalues (including theBearerprefix)
See https://github.com/BeauGiles/ha-deepal/blob/main/tokens-apple.md for more detail on getting the tokens for an iPhone and macOS.
- Select your country
- Paste your
tokenandrefreshToken - Optionally paste your phone's
deviceIdfrom the captured request headers — you may need to do this if you're having trouble with HA sharing your phone's session without logging it out. Leave blank to auto-generate a new device ID. - Your vehicle will be discovered automatically
Tokens are automatically refreshed by the integration. They expire after approximately 1 hour but the refresh token is valid for ~90 days.
If your tokens become invalid (e.g. you logged in on another device), a repair notification will appear in HA. Click Fix to paste new tokens.
- The integration polls the API every 60 seconds by default
- Tyre pressures are retained at their last known value when the car is off (the API returns 0 when the car is parked)
- Credential-based login is not currently supported due to the app using a proprietary encryption scheme
This integration is not affiliated with or endorsed by Deepal or Changan Automobile. Use at your own risk.