156 lines
4 KiB
YAML
156 lines
4 KiB
YAML
template: saj-h1
|
|
products:
|
|
- brand: SAJ
|
|
description:
|
|
generic: H1 Series Hybrid Solar Inverter
|
|
params:
|
|
- name: usage
|
|
choice: ["grid", "pv", "battery"]
|
|
- name: modbus
|
|
choice: ["tcpip"]
|
|
- preset: battery-params
|
|
- name: timeout
|
|
deprecated: true
|
|
render: |
|
|
type: custom
|
|
{{- if eq .usage "grid" }}
|
|
power:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x40A1 # SmartMeterTotalGridPowerWatt (undocumented)
|
|
type: holding
|
|
decode: int16
|
|
energy:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x40FD # Total_FeedInEnergy
|
|
type: holding
|
|
decode: uint32
|
|
scale: 0.01
|
|
{{- end }}
|
|
{{- if eq .usage "pv" }}
|
|
power:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x40A5 # TotalPVPower
|
|
type: holding
|
|
decode: int16
|
|
energy:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x40C5 # Total PVEnergy
|
|
type: holding
|
|
decode: uint32
|
|
scale: 0.01
|
|
{{- end }}
|
|
{{- if eq .usage "battery" }}
|
|
power:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x40A6 # TotalBatteryPower
|
|
type: holding
|
|
decode: int16
|
|
energy:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x40D5 # Total BatDisEnergy
|
|
type: holding
|
|
decode: uint32
|
|
scale: 0.01
|
|
soc:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 2 }}
|
|
register:
|
|
address: 0x406F # BatEnergyPercent
|
|
type: holding
|
|
decode: uint16
|
|
scale: 0.01
|
|
batterymode:
|
|
source: switch
|
|
switch:
|
|
- case: 1 # normal
|
|
set:
|
|
source: sequence
|
|
set:
|
|
- source: const
|
|
value: 0 # self-use mode
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 0x3247 # AppMode
|
|
type: writeholding
|
|
decode: uint16
|
|
- case: 2 # hold
|
|
set:
|
|
source: sequence
|
|
set:
|
|
- source: const
|
|
value: 3 # passive mode
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 0x3247 # AppMode
|
|
type: writeholding
|
|
decode: uint16
|
|
- case: 3 # charge
|
|
set:
|
|
source: sequence
|
|
set:
|
|
- source: const
|
|
value: 1 # time-of-use mode
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 0x3247 # AppMode
|
|
type: writeholding
|
|
decode: uint16
|
|
- source: const
|
|
value: 1 # enable
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 0x3604 # Charge time enable control
|
|
type: writeholding
|
|
decode: uint16
|
|
- source: const
|
|
value: 0 # start time (00:00)
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 0x3606 # Battery first charging time (start)
|
|
type: writeholding
|
|
decode: uint16
|
|
- source: const
|
|
value: 0x173B # end time (23:59)
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 0x3607 # Battery first charging time (end)
|
|
type: writeholding
|
|
decode: uint16
|
|
- source: const
|
|
value: 0x7F64 # every day (0x7f) at 100% (0x64)
|
|
set:
|
|
source: modbus
|
|
{{- include "modbus" . | indent 10 }}
|
|
register:
|
|
address: 0x3608 # Battery first charging time (power)
|
|
type: writeholding
|
|
decode: uint16
|
|
default:
|
|
source: error
|
|
error: ErrNotAvailable
|
|
{{- include "battery-params" . }}
|
|
{{- end }}
|