Source for BYD Atto 3 battery state of charge

I just put a Wican Pro - WiCAN-PRO - into our Atto and had it connected to Home Assistant easily.

It needed a short right angle OBD extension cable so the Wican Pro can be tucked up under the dash.

It connects to our home wifi and there is an integration for Home Assistant (via HACS) which made it simple to get working once I actually read the instructions instead of poking at things randomly.

Mine shows:

  • HV battery temp/voltage/state of charge
  • LB battery voltage

Next step will be to adjust the charging current depending on how much solar we have and how flat the battery is!

1 Like

I recently moved from the evlinkha to the Smartcar integration, and I’m quite happy about it. It has more sensors and is more reliable.

1 Like

I’m loving using Electro to connect with ABRP and then ABRP to connect with home assistant

1 Like

Glad to hear it’s working well for you. If anyone has questions about the integration, I’m happy to help.

Unfortunately, Smartcar only covers North America and Europe

Hi.
I created an account, but i cant connect my sealion 7. I’m not able to do configuration api keys. Whats the redirect url? And then customice the app? And then vehicle access is gray…evlinkha was more intuitive but now it doesn’t work anymore…

Have the smartcar intergration working, can see the % battery & door lock but not the other sensors, they stay unavailble…

Are you using webhooks? If so, it won’t poll automatically. The docs should make this clear, but if not, please let me know how they can be improved.

Thank you for looking at this. Indeed, I’m using webhooks. I get live info from the Battery and the door lock. Could the issue be that this are the only items available in the free version.
I did not find in the instructions that webhooks does not Poll (I get updated Battery values)

Yes, I believe those are the only ones for free.

And from the integration docs:

With webhooks enabled, polling will no longer occur avoiding most rate limit issues.

But you can create an automation to poll.

Visual Mapper - App-Based Solution for BYD HA Updates

Hey everyone! I’ve been following this thread and wanted to share a tool I built that takes the “app scraping” approach mentioned earlier to a complete solution.

Visual Mapper is an open-source Home Assistant add-on that connects to an Android device via ADB, navigates through the BYD app (or any other app), captures UI values, and publishes them as HA sensors via MQTT.

How It Compares to Other Approaches

Approach Pros Cons
OBD-II (WiCAN/OVMS) Direct car data, works offline Hardware cost, installation, some PIDs give wrong values
Third-party (enode.io) Easy setup Cloud dependency, subscription, privacy
BYD API (oip.byd.com) Official data Complex auth, limited documentation
Visual Mapper (this) Free, works with any app data, no hardware Needs spare Android device, slower updates

What You Can Capture

Anything visible in the BYD app:

  • Battery SOC (%)
  • Estimated range
  • Charging status & power
  • Door lock status
  • Climate/preconditioning
  • Odometer, trip data, etc.

Works with any BYD model with the app.

How It Works

  1. Install the HA add-on
  2. Connect a spare Android device (old phone/tablet) via WiFi ADB
  3. Use the visual Flow Wizard to record: Open BYD app → Navigate to battery screen → Select the SOC element
  4. Schedule to run every 10-15 minutes
  5. Sensors appear in HA via MQTT auto-discovery

It handles pull-to-refresh, app re-login, and navigation automatically.

Screenshots

Flow Wizard recording navigation:

Selecting an element to capture as sensor:

Installation

Add to your HA add-on store:

https://github.com/botts7/visual-mapper-addon

Requirements

  • Spare Android device with BYD app
  • WiFi ADB (Android 11+) or USB
  • Mosquitto MQTT broker

Limitations

  • Updates every x min (not real-time like OBD)
  • Needs the Android device to stay powered/connected

Links


Happy to help anyone get this set up for their BYD. It’s been working well for my Sealion 7 - captures SOC, range, and charging status every few minutes.

Current version: v0.3.1

3 Likes

Hey all,

just a short Information. I used the Wican Dongle with my BYD Dophin, but it turns out as soon as the car is locked and you poll the Canbus you set off the Car alarm. Therefore it is no longer usable for me. Also there are reports that the newest Car update start to obfuscate or encrypt Canbus traffic. So i fear the OBD Dongle rout will not be feasible in the long term.

I’m pleased to share that I have successfully integrated my BYD Dolphin Surf sensors into Home Assistant. The best part is that this method doesn’t require any “unofficial” Chinese APKs or unlocking the infotainment system, so the car’s warranty remains intact and the system stays secure.

I used the Smartcar integration, which I recently found via HACS. I must admit, the setup process is quite demanding. If you plan to try this, I recommend sitting down at a computer with a notepad ready, as you’ll need to manage several credentials: Client ID, Client Secret, Team ID, Tokens, Webhook URIs, and the Redirect URI for Home Assistant. It can be a bit frustrating and took me a whole afternoon to get the handshake working correctly.

I opted for the Free Tier (Starter Plan). While it limits the number of available sensors compared to the paid versions, it provides exactly what I was looking for: Battery SoC, Odometer, and Range. For my use case, I didn’t mind losing out on climate control or cabin temperature sensors.

With this data now in Home Assistant, I can finally automate my EV charger. For example automatically stopping the charge at 80% SoC to preserve battery health, or bocking the EV charge if the Solar Forecast integration predicts a low-production day (prioritizing my home battery storage).

In conclusion, it works! I hope BYD eventually releases a more open API so we can access all sensors in real-time without these workarounds, but for now, this is a solid, non-invasive solution.

Attached is a screenshot of my current dashboard.

Unfortunately for me, Smartcar only covers North America and Europe Global coverage · Product · Smartcar which are not as yet the main markets for BYD :slight_smile:

Anyone looking for economical hardware for using ODBCII might be interested in this cheap esp32 dev board with canbus

Do others using the ODB approach see the issue raised by @TM123 ?

Hi,

I have used your code as an example.
I do not know python programming, but I was able to come up with something simple, which i can understand and edit in future if needed.
I installed the official byd app on google tv box, that runs without monitor.
Previously I had issue with mobile battery swelling up etc, when i ran it 24x7.
Also mobile needs to wake up, leaving screen on 24x7 causes issues as well.
I created run python script in proxmox docker container.
Adb commands are handled by home assistant via automation.
Need to authorise second email account from main byd app.

Summing up

  1. byd app runs on google tv box - can get used ones for $30-50
  2. home assistant handles adb commands
  3. python script runs on proxmox docker container
  4. sensors = mqtt sensors

If anyone is interested with detailed instructions, please let me know. It will be a very long post.

Cheers,
Megas