214 lines
5.7 KiB
YAML
214 lines
5.7 KiB
YAML
template: sofarsolar-g3
|
|
products:
|
|
- brand: SofarSolar
|
|
description:
|
|
generic: HYD 5…20K-3PH
|
|
- brand: SofarSolar
|
|
description:
|
|
generic: HYD 3…6K-EP
|
|
- brand: SofarSolar
|
|
description:
|
|
generic: SOFAR 80…136KTL
|
|
- brand: SofarSolar
|
|
description:
|
|
generic: SOFAR 5…24KTL-G3
|
|
# capabilities: ["battery-control"]
|
|
requirements:
|
|
description:
|
|
de: Die Verbindung über einen LSE-3 Logger Stick mittels ModBus TCP ist möglich, jedoch kann Battery Control darüber nicht genutzt werden. Der LSW-3 WLAN Stick wird nicht unterstützt. Bei seriellem Anschluss via RS485 am COM Port ist eine wechselrichterseitige Terminierung notwendig.
|
|
en: Connection via LSE-3 logger stick using ModBus TCP is possible, however does not allow Battery Control. The LSW-3 WiFi stick is not supported. For RS485 serial connection using the inverter's COM port the inverter's side must be properly terminated.
|
|
capabilities: ["battery-control"]
|
|
params:
|
|
- name: usage
|
|
choice: ["grid", "pv", "battery"]
|
|
- name: modbus
|
|
choice: ["tcpip", "rs485"]
|
|
port: 8899
|
|
id: 1
|
|
- name: delay
|
|
deprecated: true
|
|
- name: capacity
|
|
advanced: true
|
|
# battery control
|
|
- name: minsoc
|
|
type: number
|
|
advanced: true
|
|
deprecated: true
|
|
- name: maxsoc
|
|
type: number
|
|
advanced: true
|
|
deprecated: true
|
|
render: |
|
|
type: custom
|
|
{{- if eq .usage "grid" }}
|
|
power:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x0488 # ActivePower_PCC_Total
|
|
type: holding
|
|
decode: int16
|
|
scale: -10
|
|
currents:
|
|
- source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x0492 # Current_PCC_R
|
|
type: holding
|
|
decode: uint16
|
|
scale: 0.01
|
|
- source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x049D # Current_PCC_S
|
|
type: holding
|
|
decode: uint16
|
|
scale: 0.01
|
|
- source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x04A8 # Current_PCC_T
|
|
type: holding
|
|
decode: uint16
|
|
scale: 0.01
|
|
powers:
|
|
- source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x0493 # ActivePower_PCC_R
|
|
type: holding
|
|
decode: int16
|
|
scale: -10
|
|
- source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x049E # ActivePower_PCC_S
|
|
type: holding
|
|
decode: int16
|
|
scale: -10
|
|
- source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x04A9 # ActivePower_PCC_T
|
|
type: holding
|
|
decode: int16
|
|
scale: -10
|
|
energy:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x068E # Energy_Purchase_Total
|
|
type: holding
|
|
decode: uint32
|
|
scale: 0.1
|
|
{{- end }}
|
|
{{- if eq .usage "pv" }}
|
|
power:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x05C4 # Power_PV_Total
|
|
type: holding
|
|
decode: uint16
|
|
scale: 100
|
|
energy:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x0686 # PV_Generation_Total
|
|
type: holding
|
|
decode: uint32
|
|
scale: 0.1
|
|
{{- end }}
|
|
{{- if eq .usage "battery" }}
|
|
power:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x0606 # Power_Bat1
|
|
type: holding
|
|
decode: int16
|
|
scale: -10
|
|
energy:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x069A # Bat_Discharge_Total
|
|
type: holding
|
|
decode: uint32
|
|
scale: 0.1
|
|
soc:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x0608 # SOC_Bat1
|
|
type: holding
|
|
decode: uint16
|
|
batterymode:
|
|
source: switch
|
|
switch:
|
|
- case: 1 # normal
|
|
set:
|
|
source: const
|
|
value: 0 # self-use
|
|
set:
|
|
source: ignore
|
|
error: "modbus: response data size '18' does not match count '4'"
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 0x1110
|
|
type: writemultiple
|
|
decode: int16
|
|
- case: 2 # hold
|
|
set:
|
|
source: sequence
|
|
set:
|
|
- source: const
|
|
value: 3 # passive
|
|
set:
|
|
source: ignore
|
|
error: "modbus: response data size '18' does not match count '4'"
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 12 }}
|
|
register:
|
|
address: 0x1110
|
|
type: writemultiple
|
|
decode: int16
|
|
- source: convert
|
|
convert: int2bytes
|
|
set:
|
|
source: const
|
|
value: '0x00000000_00000000_7FFFFFFF'
|
|
set:
|
|
source: ignore
|
|
error: "modbus: response data size '18' does not match count '4'"
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 14 }}
|
|
register:
|
|
address: 0x1187
|
|
type: writemultiple
|
|
decode: bytes
|
|
- case: 3 # charge (not implemented -> normal)
|
|
set:
|
|
source: const
|
|
value: 0 # self-use
|
|
set:
|
|
source: sequence
|
|
set:
|
|
- source: ignore
|
|
error: "modbus: response data size '18' does not match count '4'"
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 12 }}
|
|
register:
|
|
address: 0x1110
|
|
type: writemultiple
|
|
decode: int16
|
|
- source: error
|
|
error: ErrNotAvailable
|
|
capacity: {{ .capacity }} # kWh
|
|
{{- end }}
|