BYD Auto → Home Assistant via MQTT

I’m commenting on your approach, not the content. Identifying fields to match up and export from one platform to another is hard work and many long hours - I acknowledge that. Hunting through Chinese documentation can also be a chore, especially if it is not your native language. A well documented API would be oh so welcome!

How many spare Android phones do you have? Do they have to have a minimum Android level to provide the behind-the-scenes Android, js and Web Services calls that Appium may depend on?

This is not the first UI screen scraper you have recently published. See Halo Chlor GO (AstralPool Chlorinator) → Home Assistant via MQTT
Yes, it is a screen scraper, regardless of how you spin it. It’s just you are running it on an Android platform using Appium as your screen scraper tool.

A ‘spare Android phone’ involves an old battery, and unless you have the appropriate maintenance regime to support keeping that charged appropriately, you have safety issues, especially if it is unattended while you are driving around in your BYD.

You are using the Android platform as a screen scraper platform, an intermediate hardware step that could possibly be performed as an add-on app in software on the HomeAssistant server. Not to say it doesn’t work, it just seems an inelegant way to achieve your goals. You also need to have your BYD SeaLion updating the cloud in real time to be able to scrape the data using your Appium server. A lot of traffic floating around.

Should you wish to go ‘native’, the HomeAssistant developer docs are found at https://developers.home-assistant.io/

Are you using AI to churn these out? If so, it might be a simple ask to attempt to port to a HACS style software virtual environment instead of the Android hardware platform. The pyBYD work already on GitHub can be harnessed to add your functionality, especially as you have independently done so much reverse engineering to date. In the spirit of Open Source, some collaboration with ideas for ongoing development may prove beneficial to all.

You may find some issues discussed in GitHub that might change your approach, such as constant polling from your server possibly draining the BYD Battery, preventing it going into Deep Sleep mode. See API mapping collaboration · Issue #20 · jkaberg/pyBYD · GitHub

You constantly say BYD has no public API. What if they relent and release one? How easily could it slot into your solution?