Skip to content

Commit 4f47c45

Browse files
committed
Reverse write functions
1 parent 1b89b6f commit 4f47c45

File tree

1 file changed

+47
-20
lines changed

1 file changed

+47
-20
lines changed

devices/eurotronic/eurotronic_spzb0001_trv.json

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,15 @@
9191
"fn": "zcl:attr",
9292
"mf": "0x1037"
9393
},
94+
"write": {
95+
"at": "0x4008",
96+
"cl": "0x0201",
97+
"dt": "0x22",
98+
"ep": 1,
99+
"eval": "if (Item.val == true) { R.item('config/hostflags').val | 0x02 } else { R.item('config/hostflags').val & ~0x02};",
100+
"fn": "zcl:attr",
101+
"mf": "0x1037"
102+
},
94103
"read": {
95104
"fn": "none"
96105
},
@@ -99,6 +108,14 @@
99108
{
100109
"name": "config/heatsetpoint",
101110
"refresh.interval": 660,
111+
"parse": {
112+
"at": "0x4003",
113+
"cl": "0x0201",
114+
"ep": 1,
115+
"eval": "Item.val = Attr.val",
116+
"fn": "zcl:attr",
117+
"mf": "0x1037"
118+
},
102119
"read": {
103120
"at": "0x4003",
104121
"cl": "0x0201",
@@ -114,14 +131,6 @@
114131
"eval": "Item.val",
115132
"fn": "zcl:attr"
116133
},
117-
"parse": {
118-
"at": "0x4003",
119-
"cl": "0x0201",
120-
"ep": 1,
121-
"eval": "Item.val = Attr.val",
122-
"fn": "zcl:attr",
123-
"mf": "0x1037"
124-
},
125134
"default": 0
126135
},
127136
{
@@ -156,6 +165,15 @@
156165
"fn": "zcl:attr",
157166
"mf": "0x1037"
158167
},
168+
"write": {
169+
"at": "0x4008",
170+
"cl": "0x0201",
171+
"dt": "0x22",
172+
"ep": 1,
173+
"eval": "if (Item.val == true) { R.item('config/hostflags').val | 0x80 } else { R.item('config/hostflags').val & ~0x80};",
174+
"fn": "zcl:attr",
175+
"mf": "0x1037"
176+
},
159177
"read": {
160178
"fn": "none"
161179
},
@@ -172,6 +190,15 @@
172190
"fn": "zcl:attr",
173191
"mf": "0x1037"
174192
},
193+
"write": {
194+
"at": "0x4008",
195+
"cl": "0x0201",
196+
"dt": "0x22",
197+
"ep": 1,
198+
"eval": "if (Item.val == 'off') { R.item('config/hostflags').val & ~0x04 | 0x20 } else if (Item.val == 'heat') { R.item('config/hostflags').val & ~0x20 | 0x04 } else if (Item.val == 'auto') { R.item('config/hostflags').val & ~0x20 & ~0x04 };",
199+
"fn": "zcl:attr",
200+
"mf": "0x1037"
201+
},
175202
"read": {
176203
"fn": "none"
177204
},
@@ -180,19 +207,19 @@
180207
{
181208
"name": "config/offset",
182209
"refresh.interval": 3660,
183-
"write": {
210+
"parse": {
184211
"at": "0x0010",
185212
"cl": "0x0201",
186-
"dt": "0x28",
187213
"ep": 1,
188-
"eval": "Item.val / 10;",
214+
"eval": "Item.val = Attr.val * 10;",
189215
"fn": "zcl:attr"
190216
},
191-
"parse": {
217+
"write": {
192218
"at": "0x0010",
193219
"cl": "0x0201",
220+
"dt": "0x28",
194221
"ep": 1,
195-
"eval": "Item.val = Attr.val * 10;",
222+
"eval": "Item.val / 10;",
196223
"fn": "zcl:attr"
197224
},
198225
"default": 0
@@ -243,35 +270,35 @@
243270
{
244271
"name": "state/temperature",
245272
"refresh.interval": 660,
246-
"read": {
273+
"parse": {
247274
"at": "0x0000",
248275
"cl": "0x0201",
249276
"ep": 1,
277+
"eval": "Item.val = Attr.val",
250278
"fn": "zcl:attr"
251279
},
252-
"parse": {
280+
"read": {
253281
"at": "0x0000",
254282
"cl": "0x0201",
255283
"ep": 1,
256-
"eval": "Item.val = Attr.val",
257284
"fn": "zcl:attr"
258285
},
259286
"default": 0
260287
},
261288
{
262289
"name": "state/valve",
263290
"refresh.interval": 660,
264-
"read": {
291+
"parse": {
265292
"at": "0x0008",
266293
"cl": "0x0201",
267294
"ep": 1,
295+
"eval": "Item.val = (Attr.val / 255) * 100;",
268296
"fn": "zcl:attr"
269297
},
270-
"parse": {
298+
"read": {
271299
"at": "0x0008",
272300
"cl": "0x0201",
273301
"ep": 1,
274-
"eval": "Item.val = (Attr.val / 255) * 100;",
275302
"fn": "zcl:attr"
276303
},
277304
"default": 0
@@ -283,7 +310,7 @@
283310
"at": "0x4008",
284311
"cl": "0x0201",
285312
"ep": 1,
286-
"eval": "Item.val = (Attr.val >> 3) & 0x01;",
313+
"eval": "Item.val = (R.item('config/hostflags') >> 3) & 0x01;",
287314
"fn": "zcl:attr",
288315
"mf": "0x1037"
289316
},

0 commit comments

Comments
 (0)