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:
parent
b0aa7462a8
commit
2dc4727d1e
1 changed files with 21 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue