Skip to content

fix: Sum BMS1 and BMS2 battery power for dual BMS parallel mode | Deye 3P#1061

Open
catrielmuller wants to merge 1 commit into
davidrapan:mainfrom
catrielmuller:fix/dual-bms-battery-power-deye-p3
Open

fix: Sum BMS1 and BMS2 battery power for dual BMS parallel mode | Deye 3P#1061
catrielmuller wants to merge 1 commit into
davidrapan:mainfrom
catrielmuller:fix/dual-bms-battery-power-deye-p3

Conversation

@catrielmuller
Copy link
Copy Markdown

Problem

When a Deye 3P inverter is configured in bat1 & bat2 parallel mode (dual BMS connected to both battery ports), Battery Power reports exactly half the actual battery power.

Root cause

Register 0x024E only holds the power reported by BMS1. In single-BMS configurations this is correct, but in parallel mode BMS2 contributes an equal share of power that is never accounted for.

This is inconsistent with how Battery Current is already handled — it correctly sums both BMS ports:

# Battery Current (correct — sums both)
sensors:
  - signed: registers: [0x024F]   # BMS1 current
  - signed: registers: [0x0252]   # BMS2 current

But Battery Power was reading only one side:

# Battery Power (before fix — BMS1 only)
registers: [0x024E]

Verification

Tested on a Deye HV 3-Phase Hybrid Inverter with Pylontech BMS in bat1&bat2 parallel mode:

Metric Value
battery_voltage ~430 V
battery_current ~6.4 A (sum of both BMS)
battery_voltage × battery_current ~2737 W (real total)
battery_power (before fix) ~1350 W (exactly half)
load_ups_power ~2473 W

The ratio V×I / battery_power was consistently 2.000 across 20+ samples, confirming only one BMS was being counted.

Fix

Apply the same dual-sensor pattern already used for Battery Current, summing registers 0x024E (BMS1) and 0x0253 (BMS2):

# Battery Power (after fix — sums both BMS)
sensors:
  - signed: registers: [0x024E]   # BMS1 power
  - signed: registers: [0x0253]   # BMS2 power

The same fix is applied to the Power Losses calculation, which also uses battery power as an input and was therefore underreporting losses by the same margin.

Related

  • PR Add missing BMS parameters ❘ Deye 3P #937 independently identified the same registers (0x024E / 0x0253) as part of a broader BMS2 support addition. This PR is a focused, minimal fix for the battery power regression only.

…e 3P

In bat1 & bat2 parallel mode, register 0x024E (BMS1) only reports half
the actual battery power. Register 0x0253 holds BMS2 power and must be
summed to get the correct total, matching the existing behavior of
Battery Current which already sums 0x024F (BMS1) + 0x0252 (BMS2).

Also applies the same fix to the Power Losses calculation which uses
battery power as one of its inputs.

Verified on a Deye HV 3-Phase Hybrid Inverter with Pylontech BMS:
- Battery Voltage: ~430V, Battery Current: ~6.4A -> V*I ~ 2737W (real)
- Battery Power reported (before fix): ~1350W (exactly half, BMS1 only)
- Load UPS Power: ~2473W -> confirmed real total ~2460W after losses
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.

1 participant