Skip to content

Add missing BMS parameters ❘ Deye 3P#937

Open
Sopsy wants to merge 3 commits into
davidrapan:mainfrom
Sopsy:deye_3p_bms
Open

Add missing BMS parameters ❘ Deye 3P#937
Sopsy wants to merge 3 commits into
davidrapan:mainfrom
Sopsy:deye_3p_bms

Conversation

@Sopsy
Copy link
Copy Markdown
Contributor

@Sopsy Sopsy commented Jan 13, 2026

This PR adds the following BMS parameters:

  • BMS temperature
  • BMS Battery Force Charge Flags
  • BMS Battery Sleep Flag
  • BMS State of Health
  • BMS Software Version
  • BMS Rated Capacity
  • BMS Hardware Version

And also secondary BMS support (BMS 2) for a second battery, along with Battery 2 (renamed Battery to Battery 1).

@davidrapan
Copy link
Copy Markdown
Owner

I'll have to think about this one, as I don't necessarily want to create "numbered" entities when there's only one battery. :)

@davidrapan davidrapan changed the title feat: Add missing BMS parameters ❘ Deye 3P Add missing BMS parameters ❘ Deye 3P Jan 15, 2026
@Sopsy
Copy link
Copy Markdown
Contributor Author

Sopsy commented Jan 15, 2026

For LV it might look a bit odd when there's only one BMS port. However I'm not really sure what would be a better way to do it. Battery, Battery 2, BMS and BMS 2 would be okay, but BMS Battery would sound confusing.

If you have some suggestions, let me know. Personally I think always having numbered is fine.
One compromise would be naming the BMS 1 x and Battery 1 x entities as just BMS x and Battery x, and keeping BMS 2 x and Battery 2 x as is.

@Sopsy Sopsy force-pushed the deye_3p_bms branch 3 times, most recently from 3982689 to 8b3c59a Compare January 15, 2026 21:34
@Bram-Verhagen
Copy link
Copy Markdown

I've discussed this also with Eniris who used the Battery 1 and Battery 2 values. Turned out the Voltage is not published on the Battery 2 register for example on my LV. Don't know how that works for multiple BMS entries, not yet tested. But something to check before going in this direction. Maybe an idea to split off the HV from the LV?

@Sopsy
Copy link
Copy Markdown
Contributor Author

Sopsy commented Mar 18, 2026

@Bram-Verhagen I believe the LV inverters only have one BMS port, so it would make sense the second one is not returning values. However the BMSes can be daisy chained, so in theory they should be readable in that one port. However aren't multiple batteries always connected in parallel? That means the voltage would always be identical and thus further voltage registers would be unnecessary.

There is a lot of differences between LV and HV, so splitting them would be a good idea, but even better would be a code feature to import other definitions to be able to define the common ones only once. Very hard to avoid duplication here.

Fixes the hardcoded capacity calculation sensor read broken by this change.

Signed-off-by: Sopsy <721951+Sopsy@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants