Skip to content

Commit 39a87fd

Browse files
committed
Add battery control (Work in progres-
1 parent 9362b61 commit 39a87fd

File tree

1 file changed

+116
-0
lines changed

1 file changed

+116
-0
lines changed

templates/definition/meter/saj-h1.yaml

+116
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@ params:
1212
default: 5s
1313
- name: capacity
1414
advanced: true
15+
# battery control
16+
- name: defaultmode
17+
default: 0 # (0=self-use,1=time-of-use,2=backup,3=passive)
18+
advanced: true
19+
- name: holdmode
20+
default: 2 # (0=self-use,1=time-of-use,2=backup,3=passive)
21+
advanced: true
22+
- name: backupsoc
23+
type: int
24+
default: 20 # used when backup mode is used as defaultmode to control the default backup soc
25+
advanced: true
1526
render: |
1627
type: custom
1728
{{- if eq .usage "grid" }}
@@ -79,5 +90,110 @@ render: |
7990
type: holding
8091
decode: uint16
8192
scale: 0.01
93+
batterymode:
94+
source: switch
95+
switch:
96+
- case: 1 # normal
97+
set:
98+
source: sequence
99+
set:
100+
- source: const
101+
value: {{ .defaultmode }}
102+
set:
103+
source: modbus
104+
{{- include "modbus" . | indent 10 }}
105+
timeout: {{ .timeout }}
106+
register:
107+
address: 0x3247 # AppMode
108+
type: writeholding
109+
decode: int16
110+
- source: const
111+
value: {{ .backupsoc }} # use backupsoc value when using backup mode as defaultmode
112+
set:
113+
source: modbus
114+
{{- include "modbus" . | indent 10 }}
115+
timeout: {{ .timeout }}
116+
register:
117+
address: 0x3271 # BackModSOCRetain
118+
type: writeholding
119+
decode: int16
120+
- case: 2 # hold
121+
set:
122+
source: sequence
123+
set:
124+
- source: const
125+
value: {{ .holdmode }}
126+
set:
127+
source: modbus
128+
{{- include "modbus" . | indent 10 }}
129+
timeout: {{ .timeout }}
130+
register:
131+
address: 0x3247 # AppMode
132+
type: writeholding
133+
decode: int16
134+
- source: const
135+
value: {{ .soc }} # hold on current soc value when using backup mode as holdmode
136+
set:
137+
source: modbus
138+
{{- include "modbus" . | indent 10 }}
139+
timeout: {{ .timeout }}
140+
register:
141+
address: 0x3271 # BackModSOCRetain
142+
type: writeholding
143+
decode: int16
144+
- case: 3 # charge
145+
set:
146+
source: sequence
147+
set:
148+
- source: const
149+
value: 1 # Time-Of-Use
150+
set:
151+
source: modbus
152+
{{- include "modbus" . | indent 10 }}
153+
timeout: {{ .timeout }}
154+
register:
155+
address: 0x3247 # AppMode
156+
type: writeholding
157+
decode: int16
158+
- source: const
159+
value: 1 # enable
160+
set:
161+
source: modbus
162+
{{- include "modbus" . | indent 10 }}
163+
timeout: {{ .timeout }}
164+
register:
165+
address: 0x3604 # Charge time enable control
166+
type: writeholding
167+
decode: int16
168+
- source: const
169+
value: 0 # start time (00:00)
170+
set:
171+
source: modbus
172+
{{- include "modbus" . | indent 10 }}
173+
timeout: {{ .timeout }}
174+
register:
175+
address: 0x3606 # Battery first charging time (start)
176+
type: writeholding
177+
decode: int16
178+
- source: const
179+
value: 0x173B # end time (23:59)
180+
set:
181+
source: modbus
182+
{{- include "modbus" . | indent 10 }}
183+
timeout: {{ .timeout }}
184+
register:
185+
address: 0x3607 # Battery first charging time (end)
186+
type: writeholding
187+
decode: int16
188+
- source: const
189+
value: 0x7F64 # every day (0x7f) at 100% (0x64)
190+
set:
191+
source: modbus
192+
{{- include "modbus" . | indent 10 }}
193+
timeout: {{ .timeout }}
194+
register:
195+
address: 0x3608 # Battery first charging time (power)
196+
type: writeholding
197+
decode: int16
82198
capacity: {{ .capacity }} # kWh
83199
{{- end }}

0 commit comments

Comments
 (0)