Skip to content

Commit 8ddc07f

Browse files
authored
Update Smart-Meter-Interface.md
1 parent 40f197d commit 8ddc07f

File tree

1 file changed

+51
-21
lines changed

1 file changed

+51
-21
lines changed

peripherals/Smart-Meter-Interface.md

Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
!> **This feature is not included in precompiled binaries.**
23
To use it you must [compile your build](compile-your-build). Add the following to `user_config_override.h`:
34
```
@@ -127,6 +128,34 @@ with the '=' char at the beginning of a line you may do some special decoding
127128
example:
128129
`2,=h==================` insert a separator line
129130

131+
- With a few Meters, it is necessary to request the Meter to send its data using a specific character string.
132+
This string must be sent at a very slow baudrate. (300Baud)
133+
If you answer the Meter with an acknowledge and ask the Meter for a new baudrate of 9600 baud, the baudrate of the SML driver has to change, too.
134+
135+
That works like this:
136+
137+
138+
> `>D`
139+
res=0
140+
; In this Example in the >F section
141+
>`>F`
142+
; Set the Baudrate on Meter 1 to 300 Baud
143+
res=sml(1 0 300)
144+
;Set the Hex String on Meter 1
145+
res=sml(1 1 "2F3F210D0A")
146+
;At this point must be a delay to give the Meter some time to answer befor sending another string. Look at the full Example to see how to do that.
147+
res=sml(1 1 "063035300D0A")
148+
;Set the Baudrate on Meter 1 to 9600 Baud
149+
res=sml(1 0 9600)
150+
151+
> `>M 1`
152+
+1,3,o,0,9600, ,1
153+
...etc.
154+
155+
You can find the full Example [here](#landis--gyr-zmr120ares2r2sfcs-obis).
156+
157+
158+
130159
## Smart Meter Descriptors
131160
- [Hager EHZ363 (SML)](#Hager-EHZ363-SML)
132161
- [Hager EHZ161 (OBIS)](#Hager-EHZ161-OBIS)
@@ -184,21 +213,22 @@ with the '=' char at the beginning of a line you may do some special decoding
184213

185214
### Landis + Gyr ZMR120AReS2R2sfCS (OBIS)
186215

216+
`Example: Changing the baud rate during operation.`
187217

188218
> `>D`
189-
;Var Voltage Total
219+
;Var Power consumption total HT+NT
190220
v1=0
191-
;HT Main rate total
221+
;HT Main electricity tariff consumption total
192222
v2=0
193-
;NT Night rate Total
223+
;NT Night electricity tariff consumption total
194224
v3=0
195225
; Energie L1+L2+L3
196226
v4=0
197-
;recent current L1
227+
;recent Energie L1
198228
v5=0
199-
;recent current L2
229+
;recent Energie L2
200230
v6=0
201-
;recent current L3
231+
;recent Energie L3
202232
v7=0
203233

204234

@@ -210,37 +240,37 @@ hr=0
210240
md=0
211241
;Var begin of the year 01.01. 0:00 Uhr
212242
yr=0
213-
;Var for counter >F=ms
243+
;Var for counter see >F=ms
214244
scnt=0
215245
;Var for baudrate changeing
216246
res=0
217247

218-
>;Permanent Var Meter1 0:00
248+
>;Permanent Var Meter1 0:00
219249
p:sm=0
220250
p:HT_sm=0
221251
p:NT_sm=0
222-
;Var Meter 1 daily =0
252+
;Var for daily =0
223253
sd=0
224254
HT_sd=0
225255
NT_sd=0
226256
;Permanent Var for month begin
227257
p:sma=0
228258
p:HT_sma=0
229259
p:NT_sma=0
230-
;Var Meter 1 monthly =0
260+
;Var for monthly =0
231261
smn=0
232262
HT_smn=0
233263
NT_smn=0
234264
;Permanent Var for year begin
235265
p:sya=0
236266
p:HT_sya=0
237267
p:NT_sya=0
238-
;Var Meter1 yearly =0
268+
;Var for yearly =0
239269
syn=0
240270
HT_syn=0
241271
NT_syn=0
242272

243-
>;Fill vars with content on teleperiod
273+
>;Fill vars with content on teleperiod
244274
> `>T`
245275
v1=#Total_in
246276
v2=#HT_Total_in
@@ -253,29 +283,29 @@ v7=#kw_L3
253283
> `>B`
254284
;Restart driver
255285
=>sensor53 r
256-
;Setting teleperiod to 20sec
286+
;Set teleperiod to 20sec
257287
tper=20
258288

259289
> `>F`
260-
; count 100ms
290+
; count 100ms
261291
scnt+=1
262292
switch scnt
263293
case 6
264-
;setup sml driver to 300 baud and send /?! As HEX to trigger the Meter
294+
;set sml driver to 300 baud and send /?! as HEX to trigger the Meter
265295
res=sml(1 0 300)
266296
res=sml(1 1 "2F3F210D0A")
267297

268-
>;Ack and ask for switching to 9600 baud
298+
>;1800ms later \> Ack and ask for switching to 9600 baud
269299
case 18
270300
res=sml(1 1 "063035300D0A")
271301

272-
>;Switching sml driver to 9600 baud
302+
>;2000ms later \> Switching sml driver to 9600 baud
273303
case 20
274304
res=sml(1 0 9600)
275305

276-
>;Restart sequence after 50x100ms
306+
>;Restart sequence after 50x100ms
277307
case 50
278-
; restart sequence
308+
; 5000ms later \> restart sequence
279309
scnt=0
280310
ends
281311

@@ -334,7 +364,7 @@ NT_syn=v3-NT_sya
334364

335365

336366

337-
>; Json payload send on teleperiod
367+
>; Json payload \> send on teleperiod
338368
> `>J`
339369
,"Strom_Vb_Tag":%3sd%
340370
,"HT_Strom_Vb_Tag":%3HT_sd%
@@ -358,7 +388,7 @@ NT_syn=v3-NT_sya
358388

359389

360390

361-
>;Websisplay stuff
391+
>;Webdisplay stuff
362392
> `>W`
363393
\----------------------
364394
>0:00 Uhr Σ HT+NT: {m} %0sm% KWh

0 commit comments

Comments
 (0)