sungrow-hybrid: refactor hold battery mechanism

The previously used forced-mode does not allow charging the battery if enough solar is available.

Instead, we should limit the battery max discharge power which effectively stops discharging but still allows for charging.

This workaround is based on the HA script from here: e8142fce09/modbus_sungrow.yaml (L3315)
This commit is contained in:
Philip Porto Schiffer 2025-03-09 18:50:15 +01:00 • committed by Philip Porto Schiffer
parent b0aa7462a8
commit 2dc4727d1e
No known key found for this signature in database
GPG key ID: 0488AC8D58077B2C

View file

@ -186,12 +186,22 @@ render: |
address: 13050 # Charge/discharge command
type: writesingle
decode: uint16
# Reset max battery discharge power
- source: const
value: 1060 # 10.6kW, max allowed value for register
set:
source: modbus
{{- include "modbus" . | indent 10 }}
register:
address: 33047 # Battery max discharge power
type: writesingle
decode: uint16
- case: 2 # hold
set:
source: sequence
set:
- source: const
value: 2 # Forced mode (charge/discharge/stop)
value: 0 # Self-consumption mode (Default)
set:
source: modbus
{{- include "modbus" . | indent 10 }}
@ -208,6 +218,16 @@ render: |
address: 13050 # Charge/discharge command
type: writesingle
decode: uint16
# Set max battery discharge power, effectively stops discharging
- source: const
value: 1 # 0.01kW, min allowed value for register
set:
source: modbus
{{- include "modbus" . | indent 10 }}
register:
address: 33047 # Battery max discharge power
type: writesingle
decode: uint16
- case: 3 # charge
set:
source: sequence