Skip to content

Added remote control registers for Deye P3 - #978

Open
Bram-Verhagen wants to merge 4 commits into
davidrapan:mainfrom
Bram-Verhagen:add-remote-control-registers
Open

Bram-Verhagen wants to merge 4 commits into
davidrapan:mainfrom
Bram-Verhagen:add-remote-control-registers

Conversation

@Bram-Verhagen

Copy link
Copy Markdown

To control (dis)charge the batteries with the Deye inverters they expose register 1100 till 1121.
I have added these registers to the deye_p3 definition to expose them in HA.

Attached the explanation and some examples how to use these register to automate (dis)charge:
wiki_remote_control_deye_p3.md

@Bram-Verhagen Bram-Verhagen changed the title added remote control registers for Deye P3 Added remote control registers for Deye P3 Feb 20, 2026
@trilobyte303

Copy link
Copy Markdown

It would be very helpful if that could be incorporated!

@therealprof

Copy link
Copy Markdown

That would be super useful to have.

@tRoOlos

tRoOlos commented Oct 11, 2026 •

Copy link
Copy Markdown

Hi @Bram-Verhagen ,

I would be happy to help review and test this on my Deye SUN-15K-SG05LP3-EU-SM2, with three Seplos battery packs and Home Assistant/EMHASS.

Firmware:

  • HMI: 1001-C05F
  • MAIN: 2107-1184-1809
  • ARC: D20A

Deye supplied me with three attached documents and answered several implementation questions directly. Comparing their documentation with this PR, I noticed these differences. All addresses below are decimal:

Register Deye documentation PR #978
1106 Combined/per-phase AC control selection Constant-voltage setpoint
1107 Battery voltage setpoint (0.1 V) Battery current setpoint (0.1 A)
1108 Battery current setpoint (0.1 A) SOC setpoint (1%)
1110 Battery target SOC (0.1%) Reactive power control mode
1111 Total AC power setpoint (0.1%) Power factor setpoint
1112–1114 AC power setpoints for phases A/B/C Reactive power and Volt-VAR curve points
1115 Maximum solar power (0.1%) Volt-VAR curve point 2 voltage

Register 1109 does agree as the battery power setpoint, scaled in 0.1% of rated power.

There is also a contradiction within Deye’s documents concerning 1100: the general protocol describes 0 as disabled, whereas their EMS document describes 0 as enter and 1 as exit. Their email response pointed to the latter interpretation for my firmware.

Could you clarify which protocol revision, inverter model and firmware this mapping is based on? These may be variant-specific differences rather than errors.

Regarding transport, Deye explicitly replied “Currently only supported by RS485 adapter” when I asked about local LSW-5/Solarman access. Has this PR been tested through a logger or a direct adapter?

The three documents supplied by Deye are attached to this comment. I can also share the relevant email excerpts and help with supervised testing: read-only access first, followed by zero/low-power tests, register readback, verification of the actual battery response, and watchdog fallback to TOU. Testing would use one command owner, with safeguards against unintended grid charging or battery export.

RS-485-Remote mode(1).docx

MODBUS RTU三相储能通信规约V105.4-20240814(4)(1)_1.doc
ems control English version.docx

polamoros and others added 3 commits October 14, 2026 15:48
…an#998)

Signed-off-by: David Rapan <david@rapan.cz>
Co-authored-by: David Rapan <david@rapan.cz>
Signed-off-by: David Rapan <david@rapan.cz>
Signed-off-by: David Rapan <david@rapan.cz>
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.

6 participants