SunSpec: make curtail (model 123/704) optional (BC) (#31607)
This commit is contained in:
parent
9ab2be9b10
commit
7c7a74b390
4 changed files with 170 additions and 100 deletions
86
templates/definition/meter/sunspec-hybrid-curtailable.yaml
Normal file
86
templates/definition/meter/sunspec-hybrid-curtailable.yaml
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
template: sunspec-hybrid-curtailable
|
||||
products:
|
||||
- description:
|
||||
de: SunSpec Hybridwechselrichter (abregelbar)
|
||||
en: SunSpec Hybrid Inverter (curtailable)
|
||||
group: generic
|
||||
capabilities: ["curtail"]
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["pv"]
|
||||
- name: modbus
|
||||
choice: ["tcpip", "rs485"]
|
||||
- name: maxacpower
|
||||
render: |
|
||||
type: custom
|
||||
# sunspec model 203 (int+sf)/ 213 (float) meter
|
||||
power:
|
||||
source: calc
|
||||
add:
|
||||
- source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value: 160:1:DCW # mppt 1
|
||||
- source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value: 160:2:DCW # mppt 2
|
||||
energy:
|
||||
source: calc
|
||||
add:
|
||||
- source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value: 160:1:DCWH # mppt 1
|
||||
scale: 0.001
|
||||
- source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value: 160:2:DCWH # mppt 2
|
||||
scale: 0.001
|
||||
curtail:
|
||||
source: sequence
|
||||
set:
|
||||
- source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPct
|
||||
- 123:WMaxLimPct
|
||||
- source: switch
|
||||
switch:
|
||||
- case: 100 # Uncurtailed
|
||||
set:
|
||||
source: const
|
||||
value: 0 # Limit disabled
|
||||
set:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 14 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
default:
|
||||
source: const
|
||||
value: 1 # Limit enabled
|
||||
set:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 10 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
curtailed: # curtailed only while the limit is enabled and below nominal (< 100 %)
|
||||
source: go
|
||||
in:
|
||||
- name: ena
|
||||
type: bool
|
||||
config:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
- name: limit
|
||||
type: float
|
||||
config:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPct
|
||||
- 123:WMaxLimPct
|
||||
script: ena && limit < 100
|
||||
maxacpower: {{ .maxacpower }} # W
|
||||
|
|
@ -5,7 +5,6 @@ products:
|
|||
de: SunSpec Hybridwechselrichter
|
||||
en: SunSpec Hybrid Inverter
|
||||
group: generic
|
||||
capabilities: ["curtail"]
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
|
|
@ -107,55 +106,6 @@ render: |
|
|||
{{- include "modbus" . | indent 6 }}
|
||||
value: 160:2:DCWH # mppt 2
|
||||
scale: 0.001
|
||||
curtail:
|
||||
source: sequence
|
||||
set:
|
||||
- source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPct
|
||||
- 123:WMaxLimPct
|
||||
- source: switch
|
||||
switch:
|
||||
- case: 100 # Uncurtailed
|
||||
set:
|
||||
source: const
|
||||
value: 0 # Limit disabled
|
||||
set:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 14 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
default:
|
||||
source: const
|
||||
value: 1 # Limit enabled
|
||||
set:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 10 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
curtailed: # curtailed only while the limit is enabled and below nominal (< 100 %)
|
||||
source: go
|
||||
in:
|
||||
- name: ena
|
||||
type: bool
|
||||
config:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
- name: limit
|
||||
type: float
|
||||
config:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPct
|
||||
- 123:WMaxLimPct
|
||||
script: ena && limit < 100
|
||||
maxacpower: {{ .maxacpower }} # W
|
||||
{{- end }}
|
||||
{{- if eq .usage "battery" }}
|
||||
|
|
|
|||
84
templates/definition/meter/sunspec-inverter-curtailable.yaml
Normal file
84
templates/definition/meter/sunspec-inverter-curtailable.yaml
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
template: sunspec-inverter-curtailable
|
||||
products:
|
||||
- description:
|
||||
de: SunSpec Wechselrichter (abregelbar)
|
||||
en: SunSpec Inverter (curtailable)
|
||||
group: generic
|
||||
capabilities: ["curtail"]
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["pv"]
|
||||
- name: modbus
|
||||
choice: ["tcpip", "rs485"]
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 2 }}
|
||||
value:
|
||||
- 101:W
|
||||
- 111:W
|
||||
- 102:W
|
||||
- 112:W
|
||||
- 103:W
|
||||
- 113:W
|
||||
energy:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 2 }}
|
||||
value:
|
||||
- 101:WH
|
||||
- 111:WH
|
||||
- 102:WH
|
||||
- 112:WH
|
||||
- 103:WH
|
||||
- 113:WH
|
||||
scale: 0.001
|
||||
curtail:
|
||||
source: sequence
|
||||
set:
|
||||
- source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPct
|
||||
- 123:WMaxLimPct
|
||||
- source: switch
|
||||
switch:
|
||||
- case: 100 # Uncurtailed
|
||||
set:
|
||||
source: const
|
||||
value: 0 # Limit disabled
|
||||
set:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 14 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
default:
|
||||
source: const
|
||||
value: 1 # Limit enabled
|
||||
set:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 10 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
curtailed: # curtailed only while the limit is enabled and below nominal (< 100 %)
|
||||
source: go
|
||||
in:
|
||||
- name: ena
|
||||
type: bool
|
||||
config:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
- name: limit
|
||||
type: float
|
||||
config:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPct
|
||||
- 123:WMaxLimPct
|
||||
script: ena && limit < 100
|
||||
|
|
@ -4,7 +4,6 @@ products:
|
|||
de: SunSpec Wechselrichter
|
||||
en: SunSpec Inverter
|
||||
group: generic
|
||||
capabilities: ["curtail"]
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
|
|
@ -154,55 +153,6 @@ render: |
|
|||
- 103:WH
|
||||
- 113:WH
|
||||
scale: 0.001
|
||||
curtail:
|
||||
source: sequence
|
||||
set:
|
||||
- source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPct
|
||||
- 123:WMaxLimPct
|
||||
- source: switch
|
||||
switch:
|
||||
- case: 100 # Uncurtailed
|
||||
set:
|
||||
source: const
|
||||
value: 0 # Limit disabled
|
||||
set:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 14 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
default:
|
||||
source: const
|
||||
value: 1 # Limit enabled
|
||||
set:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 10 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
curtailed: # curtailed only while the limit is enabled and below nominal (< 100 %)
|
||||
source: go
|
||||
in:
|
||||
- name: ena
|
||||
type: bool
|
||||
config:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPctEna
|
||||
- 123:WMaxLim_Ena
|
||||
- name: limit
|
||||
type: float
|
||||
config:
|
||||
source: sunspec
|
||||
{{- include "modbus" . | indent 6 }}
|
||||
value:
|
||||
- 704:WMaxLimPct
|
||||
- 123:WMaxLimPct
|
||||
script: ena && limit < 100
|
||||
{{- end }}
|
||||
{{- if eq .usage "battery" }}
|
||||
power:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue