100 lines
2.6 KiB
YAML
100 lines
2.6 KiB
YAML
template: enphase-modbus
|
|
products:
|
|
- brand: Enphase
|
|
description:
|
|
generic: IQ Gateway (Modbus)
|
|
requirements:
|
|
description:
|
|
en: |
|
|
Requires Enphase support to enable modbus functionality on IQ Gateway.
|
|
de: |
|
|
Erfordert Enphase-Unterstützung, um die Modbus-Funktionalität auf dem IQ Gateway zu aktivieren.
|
|
capabilities: ["curtail"]
|
|
params:
|
|
- name: usage
|
|
choice: ["pv"]
|
|
- name: modbus
|
|
choice: ["tcpip"]
|
|
id: 1
|
|
- name: maxacpower
|
|
service: modbus/read?address=40227&type=holding&encoding=uint16&scale=1&{modbus}
|
|
usages: ["pv"]
|
|
render: |
|
|
type: custom
|
|
# sunspec model 701 (DER AC Measurement)
|
|
{{- if eq .usage "pv" }}
|
|
power:
|
|
source: sunspec
|
|
{{- include "modbus" . | indent 2 }}
|
|
value: 701:W
|
|
energy:
|
|
source: sunspec
|
|
{{- include "modbus" . | indent 2 }}
|
|
value: 701:TotWhInj
|
|
scale: 0.001
|
|
currents:
|
|
- source: sunspec
|
|
{{- include "modbus" . | indent 4 }}
|
|
value: 701:AL1
|
|
- source: sunspec
|
|
{{- include "modbus" . | indent 4 }}
|
|
value: 701:AL2
|
|
- source: sunspec
|
|
{{- include "modbus" . | indent 4 }}
|
|
value: 701:AL3
|
|
voltages:
|
|
- source: sunspec
|
|
{{- include "modbus" . | indent 4 }}
|
|
value: 701:VL1
|
|
- source: sunspec
|
|
{{- include "modbus" . | indent 4 }}
|
|
value: 701:VL2
|
|
- source: sunspec
|
|
{{- include "modbus" . | indent 4 }}
|
|
value: 701:VL3
|
|
curtail:
|
|
source: sequence
|
|
set:
|
|
- source: sunspec
|
|
{{- include "modbus" . | indent 6 }}
|
|
value: 704:WMaxLimPct
|
|
- source: switch
|
|
switch:
|
|
- case: 100 # Uncurtailed
|
|
set:
|
|
source: const
|
|
value: 0 # Limit disabled
|
|
set:
|
|
source: sunspec
|
|
{{- include "modbus" . | indent 14 }}
|
|
value: 704:WMaxLimPctEna
|
|
default:
|
|
source: const
|
|
value: 1 # Limit enabled
|
|
set:
|
|
source: sunspec
|
|
{{- include "modbus" . | indent 10 }}
|
|
value: 704:WMaxLimPctEna
|
|
curtailed: # the limit percentage only applies while the limit is enabled
|
|
source: go
|
|
in:
|
|
- name: ena
|
|
type: bool
|
|
config:
|
|
source: sunspec
|
|
{{- include "modbus" . | indent 8 }}
|
|
value: 704:WMaxLimPctEna
|
|
- name: limit
|
|
type: float
|
|
config:
|
|
source: sunspec
|
|
{{- include "modbus" . | indent 8 }}
|
|
value: 704:WMaxLimPct
|
|
script: |
|
|
percent := 100
|
|
if ena {
|
|
percent = int(limit)
|
|
}
|
|
percent
|
|
maxacpower: {{ .maxacpower }}
|
|
{{- end }}
|