Add SAJ H1 hybrid inverters (#18843)
This commit is contained in:
parent
a1094208e5
commit
692b2d0fc1
1 changed files with 168 additions and 0 deletions
168
templates/definition/meter/saj-h1.yaml
Normal file
168
templates/definition/meter/saj-h1.yaml
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
template: saj-h1
|
||||
products:
|
||||
- brand: SAJ
|
||||
description:
|
||||
generic: H1 Series Hybrid Solar Inverter
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
- name: timeout
|
||||
default: 5s
|
||||
- name: capacity
|
||||
advanced: true
|
||||
render: |
|
||||
type: custom
|
||||
{{- if eq .usage "grid" }}
|
||||
power:
|
||||
source: modbus
|
||||
{{- include "modbus" . | indent 2 }}
|
||||
timeout: {{ .timeout }}
|
||||
register:
|
||||
address: 0x40A1 # SmartMeterTotalGridPowerWatt (undocumented)
|
||||
type: holding
|
||||
decode: int16
|
||||
energy:
|
||||
source: modbus
|
||||
{{- include "modbus" . | indent 2 }}
|
||||
timeout: {{ .timeout }}
|
||||
register:
|
||||
address: 0x40FD # Total_FeedInEnergy
|
||||
type: holding
|
||||
decode: uint32
|
||||
scale: 0.01
|
||||
{{- end }}
|
||||
{{- if eq .usage "pv" }}
|
||||
power:
|
||||
source: modbus
|
||||
{{- include "modbus" . | indent 2 }}
|
||||
timeout: {{ .timeout }}
|
||||
register:
|
||||
address: 0x40A5 # TotalPVPower
|
||||
type: holding
|
||||
decode: int16
|
||||
energy:
|
||||
source: modbus
|
||||
{{- include "modbus" . | indent 2 }}
|
||||
timeout: {{ .timeout }}
|
||||
register:
|
||||
address: 0x40C5 # Total PVEnergy
|
||||
type: holding
|
||||
decode: uint32
|
||||
scale: 0.01
|
||||
{{- end }}
|
||||
{{- if eq .usage "battery" }}
|
||||
power:
|
||||
source: modbus
|
||||
{{- include "modbus" . | indent 2 }}
|
||||
timeout: {{ .timeout }}
|
||||
register:
|
||||
address: 0x40A6 # TotalBatteryPower
|
||||
type: holding
|
||||
decode: int16
|
||||
energy:
|
||||
source: modbus
|
||||
{{- include "modbus" . | indent 2 }}
|
||||
timeout: {{ .timeout }}
|
||||
register:
|
||||
address: 0x40D5 # Total BatDisEnergy
|
||||
type: holding
|
||||
decode: uint32
|
||||
scale: 0.01
|
||||
soc:
|
||||
source: modbus
|
||||
{{- include "modbus" . | indent 2 }}
|
||||
timeout: {{ .timeout }}
|
||||
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 }}
|
||||
timeout: {{ .timeout }}
|
||||
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 }}
|
||||
timeout: {{ .timeout }}
|
||||
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 }}
|
||||
timeout: {{ .timeout }}
|
||||
register:
|
||||
address: 0x3247 # AppMode
|
||||
type: writeholding
|
||||
decode: uint16
|
||||
- source: const
|
||||
value: 1 # enable
|
||||
set:
|
||||
source: modbus
|
||||
{{- include "modbus" . | indent 10 }}
|
||||
timeout: {{ .timeout }}
|
||||
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 }}
|
||||
timeout: {{ .timeout }}
|
||||
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 }}
|
||||
timeout: {{ .timeout }}
|
||||
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 }}
|
||||
timeout: {{ .timeout }}
|
||||
register:
|
||||
address: 0x3608 # Battery first charging time (power)
|
||||
type: writeholding
|
||||
decode: uint16
|
||||
capacity: {{ .capacity }} # kWh
|
||||
{{- end }}
|
||||
Loading…
Add table
Add a link
Reference in a new issue