evcc-io/templates/definition/meter/varta.yaml

110 lines
3.2 KiB
YAML

template: varta
covers: ["varta-energiespeicher", "varta-energiespeicher-battery-only"]
products:
- brand: VARTA
description:
generic: pulse
- brand: VARTA
description:
generic: pulse neo
- brand: VARTA
description:
generic: element
- brand: VARTA
description:
generic: element backup
requirements:
description:
de: PV ist nur mit einem zusätzlichen PV-Sensor verfügbar, da die Leistung der im SUNSPEC-Manager eingetragenen Geräte nicht über Modbus ausgegeben wird. Für den element backup ist mindestens die Firmwareversion F21000612 erforderlich. Das Firmware-Update wird nicht automatisch ausgerollt, kann aber auf Anfrage vom technischen Service von VARTA freigegeben werden.
en: PV is only available with an additional PV sensor, as the power of the devices registered in the SUNSPEC Manager is not output via Modbus. Element backup requires at least firmware version F21000612. The firmware update is not rolled out automatically, but can be released upon request by VARTA's technical service.
params:
- name: usage
choice: ["grid", "pv", "battery"]
- name: host
- name: port
default: 502
- preset: battery-params
- name: maxdischargepower
default: 4000
- name: watchdog
default: 120s
usages: ["battery"]
render: |
type: custom
power:
source: modbus
uri: {{ joinHostPort .host .port }}
{{- if eq .usage "grid" }}
id: 255
register:
address: 1078 # grid power
type: holding
decode: int16
scale: -1
{{- end }}
{{- if eq .usage "pv" }}
id: 255
register:
address: 1102 # PV-sensor power
type: holding
decode: uint16
{{- end }}
{{- if eq .usage "battery" }}
id: 255
register:
address: 1066 # active power
type: holding
decode: int16
scale: -1
soc:
source: modbus
uri: {{ joinHostPort .host .port }}
id: 255
register:
address: 1068 # SOC
type: holding
decode: int16
batterymode:
source: watchdog
timeout: {{ .watchdog }} # re-write at timeout/2
reset: 1
set:
source: switch
switch:
- case: 1 # normal
set:
source: sequence
set:
- source: const
value: -{{- .maxdischargepower }} # value must be negative
set:
source: modbus
uri: {{ joinHostPort .host .port }}
id: 255
register:
address: 1074 # max discharge power
type: writeholding
decode: int16
- case: 2 # hold
set:
source: sequence
set:
- source: const
value: 0
set:
source: modbus
uri: {{ joinHostPort .host .port }}
id: 255
register:
address: 1074 # max discharge power
type: writeholding
decode: int16
- case: 3 # charge (not implemented)
set:
source: error
error: ErrNotAvailable
default:
source: error
error: ErrNotAvailable
{{- include "battery-params" . }}
{{- end }}