149 lines
4.1 KiB
YAML
149 lines
4.1 KiB
YAML
template: marstek-venus
|
|
products:
|
|
- brand: Marstek
|
|
description:
|
|
generic: Venus Battery Storage
|
|
capabilities: ["battery-control"]
|
|
params:
|
|
- name: usage
|
|
choice: ["battery"]
|
|
- name: modbus
|
|
choice: ["rs485", "tcpip"]
|
|
baudrate: 115200
|
|
comset: 8N1
|
|
- preset: battery-params
|
|
- name: capacity
|
|
help:
|
|
de: Venus-E 5.12 kWh, Venus-C 2.56 kWh
|
|
en: Venus-E 5.12 kWh, Venus-C 2.56 kWh
|
|
- name: minsoc
|
|
default: 11
|
|
- name: maxsoc
|
|
default: 100
|
|
- name: maxchargepower
|
|
default: 2500
|
|
- name: work_mode_normal
|
|
default: 1
|
|
advanced: true
|
|
description:
|
|
en: Work mode for Normal state
|
|
de: Work mode für Normal-Modus
|
|
help:
|
|
en: 0=manual, 1=anti-feed, 2=trade mode.
|
|
de: 0=manuell, 1=Eigenverbrauch, 2=AI-Optimierung.
|
|
render: |
|
|
type: custom
|
|
power:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 32202 # AC Power (Watt)
|
|
type: holding
|
|
decode: int32
|
|
scale: 1
|
|
soc:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 32104 # Battery SOC (%)
|
|
type: holding
|
|
decode: uint16
|
|
scale: 1
|
|
batterymode:
|
|
source: switch
|
|
switch:
|
|
- case: 1 # normal
|
|
set:
|
|
source: sequence
|
|
set:
|
|
# Enable RS485 Control Mode
|
|
- source: const
|
|
value: 21930
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 42000 # RS485 Control Mode = Enabled
|
|
type: writesingle
|
|
decode: uint16
|
|
# Set User Work Mode
|
|
- source: const
|
|
value: {{ .work_mode_normal }}
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 43000 # User Work Mode
|
|
type: writesingle
|
|
decode: uint16
|
|
# Disable RS485 Control Mode
|
|
- source: const
|
|
value: 21947
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 42000 # RS485 Control Mode = Disabled
|
|
type: writesingle
|
|
decode: uint16
|
|
- case: 2 # hold
|
|
set:
|
|
source: sequence
|
|
set:
|
|
# Enable RS485 Control Mode
|
|
- source: const
|
|
value: 21930
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 42000 # RS485 Control Mode = Enabled
|
|
type: writesingle
|
|
decode: uint16
|
|
# Set Force Charge/Discharge to Stop
|
|
- source: const
|
|
value: 0
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 42010 # Force Charge/Discharge = Stop
|
|
type: writesingle
|
|
decode: uint16
|
|
# Do not disable RS485 Control Mode because it will reset the device and let it charge/discharge again
|
|
- case: 3 # charge
|
|
set:
|
|
source: sequence
|
|
set:
|
|
# Enable RS485 Control Mode
|
|
- source: const
|
|
value: 21930
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 42000 # RS485 Control Mode = Enabled
|
|
type: writesingle
|
|
decode: uint16
|
|
# Set Force Charge/Discharge to Charge
|
|
- source: const
|
|
value: 1
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 42010 # Force Charge/Discharge = Charge
|
|
type: writesingle
|
|
decode: uint16
|
|
# Set Forcible Charge Power
|
|
- source: const
|
|
value: {{ .maxchargepower }}
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 42020 # Forcible Charge Power
|
|
type: writesingle
|
|
decode: uint16
|
|
# Do not disable RS485 Control Mode because it will reset the device and let it charge/discharge again
|
|
{{- include "battery-params" . }}
|