133 lines
3.9 KiB
YAML
133 lines
3.9 KiB
YAML
template: solarmax-maxstorage
|
|
products:
|
|
- brand: SolarMax
|
|
description:
|
|
generic: MAX.STORAGE / MAX.STORAGE Ultimate
|
|
capabilities: ["battery-control"]
|
|
requirements:
|
|
description:
|
|
de: Für Batteriesteuerung muss über den Solarmax Support die Funktion "Connectivity+" freigeschaltet werden. Verfügbar ab Software 3.4.4. Ohne Freischaltung bleibt die Funktion ohne Wirkung. Netzladung ist generell nicht verfügbar.
|
|
en: For batter control, the "Connectivity+" function must be activated via the Solarmax support. Available from software version 3.4.4. Without activation, the function remains without effect. Grid charging is generally not available.
|
|
params:
|
|
- name: usage
|
|
choice: ["grid", "pv", "battery"]
|
|
allinone: true
|
|
- name: modbus
|
|
choice: ["tcpip"]
|
|
id: 1
|
|
- name: capacity
|
|
advanced: true
|
|
# battery control
|
|
- name: watchdog
|
|
type: duration
|
|
default: 60s
|
|
advanced: true
|
|
render: |
|
|
type: custom
|
|
power:
|
|
{{- if eq .usage "grid" }}
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register: # manual non-sunspec register configuration
|
|
address: 118 # Einspeise-/Bezugsleistung
|
|
type: input
|
|
decode: int32s
|
|
scale: -1
|
|
{{- end }}
|
|
{{- if eq .usage "pv" }}
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register: # manual non-sunspec register configuration
|
|
address: 110 # PV-Leistung MAX.STORAGE
|
|
type: input
|
|
decode: int32s
|
|
{{- end }}
|
|
{{- if eq .usage "battery" }}
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register: # manual non-sunspec register configuration
|
|
address: 114 # Batterie-Leistung
|
|
type: input
|
|
decode: int32s
|
|
scale: -1
|
|
soc:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register: # manual non-sunspec register configuration
|
|
address: 122 # Batterie Soc
|
|
type: input
|
|
decode: int16
|
|
batterymode:
|
|
source: watchdog
|
|
timeout: {{ .watchdog }}
|
|
reset: 1 # reset watchdog on normal
|
|
set:
|
|
source: switch
|
|
switch:
|
|
- case: 1 # normal
|
|
set:
|
|
source: sequence
|
|
set:
|
|
- source: const
|
|
value: 7000
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 12 }}
|
|
register:
|
|
address: 140
|
|
type: writemultiple
|
|
decode: int16
|
|
- source: const
|
|
value: 7000
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 12 }}
|
|
register:
|
|
address: 141
|
|
type: writemultiple
|
|
decode: int16
|
|
- source: const
|
|
value: 0
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 12 }}
|
|
register:
|
|
address: 142
|
|
type: writemultiple
|
|
decode: int16
|
|
- case: 2 # hold
|
|
set:
|
|
source: sequence
|
|
set:
|
|
- source: const
|
|
value: 0
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 12 }}
|
|
register:
|
|
address: 140
|
|
type: writemultiple
|
|
decode: int16
|
|
- source: const
|
|
value: 0
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 12 }}
|
|
register:
|
|
address: 141
|
|
type: writemultiple
|
|
decode: int16
|
|
- source: random
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 12 }}
|
|
register:
|
|
address: 142
|
|
type: writemultiple
|
|
decode: int16
|
|
- case: 3 # charge (not implemented)
|
|
set:
|
|
source: error
|
|
error: ErrNotAvailable
|
|
capacity: {{ .capacity }} # kWh
|
|
{{- end }}
|