template: solax covers: ["solax-x1", "solax-x3"] products: - brand: Solax description: generic: Hybrid X1/X3 G3/G4 - brand: Qcells description: generic: Q.HOME ESS HYB-G3 capabilities: ["battery-control"] params: - name: usage choice: ["grid", "pv", "battery"] - name: modbus choice: ["rs485", "tcpip"] baudrate: 19200 - name: mppt3 type: bool default: false description: de: Dritter PV-Eingang en: Third PV input help: de: Der Wechselrichter hat einen dritten PV-Eingang (MPPT3) en: The inverter has a third PV input (MPPT3) - name: maxacpower - name: storageunit - preset: battery-params - name: defaultmode default: 0 # "SelfUse" advanced: true render: | type: custom {{- if eq .usage "grid" }} power: source: modbus {{- include "modbus" . | indent 2 }} register: address: 70 # 0x0046 feedin_power(meter) type: input decode: int32s scale: -1 energy: source: modbus {{- include "modbus" . | indent 2 }} register: address: 74 # 0x004A consum_energy_total(meter) type: input decode: uint32s scale: 0.1 currents: - source: modbus {{- include "modbus" . | indent 4 }} register: address: 206 # 0x00CE GridCurrent_R_Meter type: input decode: int16 scale: 0.1 - source: modbus {{- include "modbus" . | indent 4 }} register: address: 207 # 0x00CF GridCurrent_S_Meter type: input decode: int16 scale: 0.1 - source: modbus {{- include "modbus" . | indent 4 }} register: address: 208 # 0x00D0 GridCurrent_T_Meter type: input decode: int16 scale: 0.1 voltages: - source: modbus {{- include "modbus" . | indent 4 }} register: address: 202 # 0x00CA GridVoltage_R_Meter type: input decode: uint16 scale: 0.1 - source: modbus {{- include "modbus" . | indent 4 }} register: address: 203 # 0x00CB GridVoltage_S_Meter type: input decode: uint16 scale: 0.1 - source: modbus {{- include "modbus" . | indent 4 }} register: address: 204 # 0x00CC GridVoltage_T_Meter type: input decode: uint16 scale: 0.1 {{- end }} {{- if eq .usage "pv" }} power: source: calc add: - source: modbus {{- include "modbus" . | indent 4 }} register: address: 10 # 0x000A Powerdc1 type: input decode: uint16 - source: modbus {{- include "modbus" . | indent 4 }} register: address: 11 # 0x000B Powerdc2 type: input decode: uint16 {{- if eq .mppt3 "true" }} - source: modbus {{- include "modbus" . | indent 4 }} register: address: 292 # 0x0124 Powerdc3 type: input decode: uint16 {{- end }} energy: source: modbus {{- include "modbus" . | indent 2 }} register: address: 148 # 0x0094 SolarEnergyTotal type: input decode: uint32s scale: 0.1 maxacpower: {{ .maxacpower }} # W {{- end }} {{- if eq .usage "battery" }} power: source: modbus {{- include "modbus" . | indent 2 }} register: {{- if eq .storageunit "1" }} address: 22 # 0x0016 Batpower_Charge1 {{- else }} address: 297 # 0x0129 Batpower_Charge2 {{- end }} type: input decode: int16 scale: -1 soc: source: modbus {{- include "modbus" . | indent 2 }} register: {{- if eq .storageunit "1" }} address: 28 # 0x001C Battery 1 Capacity {{- else }} address: 301 # 0x012D Battery 2 Capacity {{- end }} type: input decode: uint16 # energy: # source: modbus # register: # address: 29 # 0x001D Battery Output Energy Total # type: input # decode: uint32s # scale: 0.1 batterymode: source: switch switch: - case: 1 # normal set: source: const value: {{ .defaultmode }} set: source: modbus {{- include "modbus" . | indent 8 }} register: address: 0x001F # SolarChargeUseMode type: writesingle decode: uint16 - case: 2 # hold set: source: sequence set: - source: const value: 0 # Stop force charge & discharge set: source: modbus {{- include "modbus" . | indent 10 }} register: address: 0x0020 # Manual mode type: writesingle decode: uint16 - source: const value: 3 # manual mode set: source: modbus {{- include "modbus" . | indent 10 }} register: address: 0x001F # SolarChargeUseMode type: writesingle decode: uint16 - case: 3 # charge set: source: sequence set: - source: const value: 1 # Wake battery from standby set: source: modbus {{- include "modbus" . | indent 10 }} register: address: 0x0056 # Bat_Awaken type: writesingle decode: uint16 - source: const value: 1 # Force charge set: source: modbus {{- include "modbus" . | indent 10 }} register: address: 0x0020 # Manual mode type: writesingle decode: uint16 - source: const value: 3 # manual mode set: source: modbus {{- include "modbus" . | indent 10 }} register: address: 0x001F # SolarChargeUseMode type: writesingle decode: uint16 {{- include "battery-params" . }} {{- end }}