diff --git a/templates/definition/meter/sungrow-hybrid.yaml b/templates/definition/meter/sungrow-hybrid.yaml index 9cc5b45a7..3b46d8f04 100644 --- a/templates/definition/meter/sungrow-hybrid.yaml +++ b/templates/definition/meter/sungrow-hybrid.yaml @@ -18,14 +18,17 @@ params: baudrate: 9600 - name: timeout - name: capacity - advanced: true - name: maxacpower - name: minsoc advanced: true - name: maxsoc advanced: true - name: maxchargepower - default: 10600 # 10.6kW, max allowed value for register + default: 5000 + advanced: true + - name: maxdischargepower + default: 5000 + advanced: true render: | type: custom {{- if eq .usage "grid" }} @@ -172,15 +175,6 @@ render: | set: source: sequence set: - - source: const - value: 0 # Self-consumption mode (Default) - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 13049 # EMS mode selection - type: writesingle - decode: uint16 - source: const value: 0xCC # Stop (Default) set: @@ -190,14 +184,36 @@ render: | address: 13050 # Charge/discharge command type: writesingle decode: uint16 - # Reset max battery discharge power + # Reset max battery discharge power, set equal to max battery charge power + - source: go + script: power + in: + - name: power + type: int + config: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 33046 # Battery max charge power + type: holding + decode: uint16 + out: + - name: power + type: int + config: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 33047 # Battery max discharge power + type: writesingle + decode: uint16 - source: const - value: {{ div .maxchargepower 10 }} + value: 0 # Self-consumption mode (Default) set: source: modbus {{- include "modbus" . | indent 10 }} register: - address: 33047 # Battery max discharge power + address: 13049 # EMS mode selection type: writesingle decode: uint16 - case: 2 # hold @@ -254,42 +270,18 @@ render: | address: 13050 # Charge/discharge command type: writesingle decode: uint16 - {{- if .maxchargepower }} - source: const - value: {{ .maxchargepower }} # W + value: {{ .maxchargepower }} set: source: modbus {{- include "modbus" . | indent 10 }} register: - address: 13051 # Charge power + address: 13051 # Battery max forced (dis)charge power type: writesingle decode: uint16 - {{- else }} - - source: go - script: power - in: - - name: power - type: int - config: - source: modbus - {{- include "modbus" . | indent 12 }} - register: - address: 5627 # BDC rated power - type: input - decode: uint16 - scale: 100 - out: - - name: power - type: int - config: - source: modbus - {{- include "modbus" . | indent 12 }} - register: - address: 13051 # Charge/discharge power - type: writesingle - decode: uint16 - {{- end }} capacity: {{ .capacity }} # kWh + maxchargepower: {{ .maxchargepower }} # W + maxdischargepower: {{ .maxdischargepower }} # W minsoc: {{ .minsoc }} # % maxsoc: {{ .maxsoc }} # % {{- end }}