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 }}