evcc-io/templates/definition/meter/solaredge-inverter.yaml

153 lines
3.7 KiB
YAML

template: solaredge-inverter
products:
- brand: SolarEdge
description:
de: Wechselrichter
en: Inverter
capabilities:
- curtail
requirements:
description:
de: Nur ein System kann und darf auf den Wechselrichter zugreifen!
en: Only one system may access the inverter!
params:
- name: usage
choice: ["grid", "pv"]
- name: modbus
choice: ["tcpip", "rs485"]
id: 1
port: 1502
- name: timeout
deprecated: true
render: |
type: custom
{{- if eq .usage "grid" }}
power:
source: sunspec
{{- include "modbus" . | indent 2 }}
subdevice: 1 # Metering device
value: 203:W # sunspec 3-phase meter power reading
scale: -1
energy:
source: sunspec
{{- include "modbus" . | indent 2 }}
subdevice: 1 # Metering device
value: 203:TotWhImp
scale: 0.001
returnenergy:
source: sunspec
{{- include "modbus" . | indent 2 }}
subdevice: 1 # Metering device
value: 203:TotWhExp
scale: 0.001
currents:
- source: sunspec
{{- include "modbus" . | indent 4 }}
subdevice: 1 # Metering device
value: 203:AphA
- source: sunspec
{{- include "modbus" . | indent 4 }}
subdevice: 1 # Metering device
value: 203:AphB
- source: sunspec
{{- include "modbus" . | indent 4 }}
subdevice: 1 # Metering device
value: 203:AphC
voltages:
- source: sunspec
{{- include "modbus" . | indent 4 }}
subdevice: 1 # Metering device
value: 203:PhVphA
- source: sunspec
{{- include "modbus" . | indent 4 }}
subdevice: 1 # Metering device
value: 203:PhVphB
- source: sunspec
{{- include "modbus" . | indent 4 }}
subdevice: 1 # Metering device
value: 203:PhVphC
powers:
- source: sunspec
{{- include "modbus" . | indent 4 }}
subdevice: 1 # Metering device
value: 203:WphA
scale: -1
- source: sunspec
{{- include "modbus" . | indent 4 }}
subdevice: 1 # Metering device
value: 203:WphB
scale: -1
- source: sunspec
{{- include "modbus" . | indent 4 }}
subdevice: 1 # Metering device
value: 203:WphC
scale: -1
{{- end }}
{{- if eq .usage "pv" }}
power:
source: sunspec
{{- include "modbus" . | indent 2 }}
value:
- 101:W
- 103:W
energy:
source: sunspec
{{- include "modbus" . | indent 2 }}
value:
- 101:WH
- 103:WH
scale: 0.001
currents:
- source: sunspec
{{- include "modbus" . | indent 4 }}
value:
- 101:AphA
- 103:AphA
- source: sunspec
{{- include "modbus" . | indent 4 }}
value:
- 101:AphB
- 103:AphB
- source: sunspec
{{- include "modbus" . | indent 4 }}
value:
- 101:AphC
- 103:AphC
curtail:
source: sequence
set:
- source: modbus
{{- include "modbus" . | indent 6 }}
register:
address: 61441 # Active Power Limit (%)
type: writesingle
encoding: uint16
- source: const
value: 1
set:
source: modbus
{{- include "modbus" . | indent 8 }}
register:
address: 61696 # Commit Power Control Settings
type: writesingle
encoding: uint16
curtailed:
source: go
in:
- name: limit
type: int
config:
source: modbus
{{- include "modbus" . | indent 8 }}
register:
address: 61441 # Active Power Limit (%)
type: holding
decode: uint16
script: |
percent := int(limit)
if percent > 100 {
percent = 100
}
percent
{{- include "sunspec-maxacpower" . }}
{{- end }}