homebridge-smartsystem 6.1.5 → 6.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +65 -43
  2. package/accessories/accessory.js +4 -4
  3. package/accessories/accessory.ts +1 -2
  4. package/accessories/dimmer.js +6 -6
  5. package/accessories/dimmer.ts +1 -1
  6. package/accessories/door.js +2 -2
  7. package/accessories/door.ts +1 -1
  8. package/accessories/garagedoor.js +5 -4
  9. package/accessories/garagedoor.ts +2 -1
  10. package/accessories/lock.js +6 -5
  11. package/accessories/lock.ts +2 -1
  12. package/accessories/mood.js +2 -1
  13. package/accessories/mood.ts +2 -1
  14. package/accessories/temperature.js +2 -2
  15. package/accessories/temperature.ts +1 -1
  16. package/accessories/windowcovering.js +8 -7
  17. package/accessories/windowcovering.ts +2 -1
  18. package/config.homebridge.json +3 -2
  19. package/config.json +519 -0
  20. package/config.p1.json +57 -4
  21. package/config.smappee.json +178 -2
  22. package/config.smartapp.json +63 -0
  23. package/config.system.json +234 -0
  24. package/duotecno/Q.js +8 -8
  25. package/duotecno/Q.ts +1 -1
  26. package/duotecno/api.js +73 -0
  27. package/duotecno/api.ts +61 -0
  28. package/duotecno/config.js +106 -0
  29. package/duotecno/config.ts +125 -0
  30. package/duotecno/logger.js +51 -0
  31. package/duotecno/logger.ts +41 -0
  32. package/duotecno/master.js +4 -6
  33. package/duotecno/master.ts +2 -4
  34. package/duotecno/protocol.js +10 -9
  35. package/duotecno/protocol.ts +2 -1
  36. package/duotecno/system.js +17 -41
  37. package/duotecno/system.ts +7 -34
  38. package/duotecno/types.js +58 -130
  39. package/duotecno/types.ts +76 -134
  40. package/index.spec.js +22 -35
  41. package/index.spec.ts +20 -30
  42. package/package.json +2 -2
  43. package/server/base.js +10 -38
  44. package/server/base.ts +9 -42
  45. package/server/p1.js +12 -9
  46. package/server/p1.ts +11 -9
  47. package/server/platform.js +66 -36
  48. package/server/platform.ts +47 -12
  49. package/server/powerbase.js +39 -42
  50. package/server/powerbase.ts +33 -38
  51. package/server/shelly.js +4 -4
  52. package/server/shelly.ts +3 -2
  53. package/server/smappee.js +9 -12
  54. package/server/smappee.ts +5 -8
  55. package/server/smartapp.js +99 -37
  56. package/server/smartapp.ts +79 -18
  57. package/server/socapp.js +6 -6
  58. package/server/socapp.ts +2 -1
  59. package/server/somfy.js +12 -12
  60. package/server/somfy.ts +2 -1
  61. package/server/support.js +13 -13
  62. package/server/support.ts +4 -4
  63. package/server/views/footer.ejs +6 -1
  64. package/server/views/login.ejs +57 -0
  65. package/server/views/style.ejs +1 -0
  66. package/server/views/switch-details.ejs +15 -5
  67. package/server/webapp.js +90 -6
  68. package/server/webapp.ts +87 -8
  69. package/config.groups.json +0 -8
  70. package/config.p1-dev.json +0 -6
  71. package/config.scenes.json +0 -15
package/config.json ADDED
@@ -0,0 +1,519 @@
1
+ {
2
+ "manufacturer": "Duotecno-Coppieterscc",
3
+ "platform": "DuotecnoPlatform",
4
+ "smappee": {
5
+ "rules": [
6
+ {
7
+ "type": "sun",
8
+ "channel": "0",
9
+ "low": 30,
10
+ "high": 900,
11
+ "actions": [
12
+ {
13
+ "name": "Mood A",
14
+ "value": false,
15
+ "masterAddress": "192.168.0.97",
16
+ "masterPort": 5001,
17
+ "logicalAddress": 10,
18
+ "logicalNodeAddress": 252
19
+ },
20
+ {
21
+ "name": "Mood A",
22
+ "value": 50,
23
+ "masterAddress": "192.168.0.97",
24
+ "masterPort": 5001,
25
+ "logicalAddress": 10,
26
+ "logicalNodeAddress": 252
27
+ },
28
+ {
29
+ "name": "Mood A",
30
+ "value": true,
31
+ "masterAddress": "192.168.0.97",
32
+ "masterPort": 5001,
33
+ "logicalAddress": 10,
34
+ "logicalNodeAddress": 252
35
+ }
36
+ ],
37
+ "power": 3263,
38
+ "current": 2
39
+ },
40
+ {
41
+ "type": "power",
42
+ "channel": "4",
43
+ "low": 10,
44
+ "high": 20,
45
+ "actions": [
46
+ {
47
+ "name": "Mood B",
48
+ "value": false,
49
+ "masterAddress": "192.168.0.97",
50
+ "masterPort": 5001,
51
+ "logicalAddress": 11,
52
+ "logicalNodeAddress": 252
53
+ },
54
+ {
55
+ "name": "Mood B",
56
+ "value": 50,
57
+ "masterAddress": "192.168.0.97",
58
+ "masterPort": 5001,
59
+ "logicalAddress": 11,
60
+ "logicalNodeAddress": 252
61
+ },
62
+ {
63
+ "name": "Mood B",
64
+ "value": true,
65
+ "masterAddress": "192.168.0.97",
66
+ "masterPort": 5001,
67
+ "logicalAddress": 11,
68
+ "logicalNodeAddress": 252
69
+ }
70
+ ],
71
+ "power": 1,
72
+ "current": 0
73
+ },
74
+ {
75
+ "type": "power",
76
+ "channel": "7+8+9",
77
+ "low": 30,
78
+ "high": 900,
79
+ "actions": [
80
+ {
81
+ "name": "",
82
+ "value": -1,
83
+ "masterAddress": "192.168.0.97",
84
+ "masterPort": 5001,
85
+ "logicalAddress": 4,
86
+ "logicalNodeAddress": 3
87
+ },
88
+ {
89
+ "name": "",
90
+ "value": -1,
91
+ "masterAddress": "192.168.0.97",
92
+ "masterPort": 5001,
93
+ "logicalAddress": 4,
94
+ "logicalNodeAddress": 3
95
+ },
96
+ {
97
+ "name": "",
98
+ "value": -1,
99
+ "masterAddress": "192.168.0.97",
100
+ "masterPort": 5001,
101
+ "logicalAddress": 4,
102
+ "logicalNodeAddress": 3
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ "type": "sun",
108
+ "channel": "7",
109
+ "low": 0,
110
+ "high": 0,
111
+ "actions": [
112
+ {
113
+ "name": "Mood C",
114
+ "value": false,
115
+ "masterAddress": "192.168.0.97",
116
+ "masterPort": 5001,
117
+ "logicalAddress": 12,
118
+ "logicalNodeAddress": 252
119
+ },
120
+ {
121
+ "name": "Mood C",
122
+ "value": 50,
123
+ "masterAddress": "192.168.0.97",
124
+ "masterPort": 5001,
125
+ "logicalAddress": 12,
126
+ "logicalNodeAddress": 252
127
+ },
128
+ {
129
+ "name": "Mood C",
130
+ "value": true,
131
+ "masterAddress": "192.168.0.97",
132
+ "masterPort": 5001,
133
+ "logicalAddress": 12,
134
+ "logicalNodeAddress": 252
135
+ }
136
+ ],
137
+ "power": 3263,
138
+ "current": 2
139
+ }
140
+ ],
141
+ "address": "192.168.0.186",
142
+ "uid": "57e3e0d8-bb05-4b04-8662-1a9871998f3f",
143
+ "debug": false,
144
+ "bindings": [
145
+ {
146
+ "logicalNodeAddress": 252,
147
+ "logicalAddress": 102,
148
+ "masterAddress": "192.168.0.97",
149
+ "masterPort": 5001,
150
+ "channel": "0+1",
151
+ "power": 1706
152
+ },
153
+ {
154
+ "logicalNodeAddress": 252,
155
+ "logicalAddress": 100,
156
+ "masterAddress": "192.168.0.97",
157
+ "masterPort": 5001,
158
+ "channel": "2+3",
159
+ "power": 2494
160
+ },
161
+ {
162
+ "logicalNodeAddress": 252,
163
+ "logicalAddress": 103,
164
+ "masterAddress": "192.168.0.97",
165
+ "masterPort": 5001,
166
+ "channel": "4+5",
167
+ "power": null
168
+ },
169
+ {
170
+ "logicalNodeAddress": 252,
171
+ "logicalAddress": 101,
172
+ "masterAddress": "192.168.0.97",
173
+ "masterPort": 5001,
174
+ "channel": "8",
175
+ "power": null
176
+ }
177
+ ]
178
+ },
179
+ "p1": {
180
+ "rules": [
181
+ {
182
+ "type": "power",
183
+ "channel": "3+4+5",
184
+ "low": 30,
185
+ "high": 1500,
186
+ "actions": [
187
+ {
188
+ "name": "--",
189
+ "value": false,
190
+ "masterAddress": "192.168.0.97",
191
+ "masterPort": 5001,
192
+ "logicalAddress": 0,
193
+ "logicalNodeAddress": 0
194
+ },
195
+ {
196
+ "name": "--",
197
+ "value": 50,
198
+ "masterAddress": "192.168.0.97",
199
+ "masterPort": 5001,
200
+ "logicalAddress": 0,
201
+ "logicalNodeAddress": 0
202
+ },
203
+ {
204
+ "name": "Alles aan",
205
+ "value": true,
206
+ "masterAddress": "192.168.0.97",
207
+ "masterPort": 5001,
208
+ "logicalAddress": 5,
209
+ "logicalNodeAddress": 3
210
+ }
211
+ ]
212
+ }
213
+ ],
214
+ "bindings": [
215
+ {
216
+ "logicalNodeAddress": 252,
217
+ "logicalAddress": 102,
218
+ "masterAddress": "192.168.0.97",
219
+ "masterPort": 5001,
220
+ "channel": "0+1+2",
221
+ "power": null
222
+ },
223
+ {
224
+ "logicalNodeAddress": 252,
225
+ "logicalAddress": 100,
226
+ "masterAddress": "192.168.0.97",
227
+ "masterPort": 5001,
228
+ "channel": "3+4+5",
229
+ "power": null
230
+ }
231
+ ],
232
+ "address": "192.168.0.214"
233
+ },
234
+ "shelly": false,
235
+ "smartapp": {
236
+ "apiPort": 8581,
237
+ "apiHost": "192.168.0.99",
238
+ "socapp": false,
239
+ "port": 5002,
240
+ "switches": [
241
+ {
242
+ "logicalNodeAddress": 252,
243
+ "logicalAddress": 107,
244
+ "masterAddress": "192.168.0.97",
245
+ "masterPort": 5001,
246
+ "nomacro": "Y",
247
+ "nostop": "Y",
248
+ "name": "Shelly Valies",
249
+ "unitName": "Red",
250
+ "value": 0,
251
+ "data": "",
252
+ "header": "",
253
+ "method": "GET",
254
+ "type": "httpdim",
255
+ "plug": "http://192.168.0.96/light/0?brightness=$&turn=#"
256
+ },
257
+ {
258
+ "logicalNodeAddress": 252,
259
+ "logicalAddress": 105,
260
+ "masterAddress": "192.168.0.97",
261
+ "masterPort": 5001,
262
+ "nomacro": "N",
263
+ "nostop": "N",
264
+ "name": "Screen Salon Top",
265
+ "unitName": "Salon Top",
266
+ "value": 0,
267
+ "data": "",
268
+ "header": "",
269
+ "method": "GET",
270
+ "type": "somfy",
271
+ "plug": "1"
272
+ },
273
+ {
274
+ "logicalNodeAddress": 252,
275
+ "logicalAddress": 104,
276
+ "masterAddress": "192.168.0.97",
277
+ "masterPort": 5001,
278
+ "nomacro": "N",
279
+ "nostop": "Y",
280
+ "name": "Screen Tim small",
281
+ "unitName": "Tim Small",
282
+ "value": 0,
283
+ "data": "",
284
+ "header": "",
285
+ "method": "GET",
286
+ "type": "httpupdown",
287
+ "plug": "2"
288
+ },
289
+ {
290
+ "logicalNodeAddress": 16,
291
+ "logicalAddress": 35,
292
+ "masterAddress": "gm.coppieters.be",
293
+ "masterPort": 5005,
294
+ "nomacro": "N",
295
+ "nostop": "N",
296
+ "name": "Test Plug",
297
+ "unitName": "Plug",
298
+ "value": 0,
299
+ "data": "",
300
+ "header": "",
301
+ "method": "GET",
302
+ "type": "smappee",
303
+ "plug": "1"
304
+ },
305
+ {
306
+ "logicalNodeAddress": 3,
307
+ "logicalAddress": 34,
308
+ "masterAddress": "192.168.0.97",
309
+ "masterPort": 5001,
310
+ "nomacro": "N",
311
+ "nostop": "N",
312
+ "name": "Demo",
313
+ "unitName": "",
314
+ "value": 0,
315
+ "data": "b=2",
316
+ "header": "{\"a\":101, \"b\": \"hallo\"}",
317
+ "method": "GET",
318
+ "type": "http",
319
+ "plug": "http://localhost:3001/api/demo/haha?set=#B"
320
+ }
321
+ ],
322
+ "debug": false
323
+ },
324
+ "system": {
325
+ "language": "EN",
326
+ "stores": false,
327
+ "multiple": false,
328
+ "socketserver": "ws.duotecno.eu",
329
+ "socketport": 9999,
330
+ "mood": "sfeer",
331
+ "debug": false,
332
+ "cmasters": [
333
+ {
334
+ "address": "192.168.0.97",
335
+ "port": 5001,
336
+ "password": "GMTecno",
337
+ "name": "Valies",
338
+ "active": true,
339
+ "nodenames": {
340
+ "3": "SB 1",
341
+ "4": "oled",
342
+ "252": " 20211003"
343
+ },
344
+ "debug": false
345
+ }
346
+ ],
347
+ "cunits": [
348
+ {
349
+ "logicalNodeAddress": 252,
350
+ "logicalAddress": 102,
351
+ "masterAddress": "192.168.0.97",
352
+ "masterPort": 5001,
353
+ "active": "N",
354
+ "used": "N",
355
+ "group": 0
356
+ },
357
+ {
358
+ "logicalNodeAddress": 252,
359
+ "logicalAddress": 103,
360
+ "masterAddress": "192.168.0.97",
361
+ "masterPort": 5001,
362
+ "active": "N",
363
+ "used": "N",
364
+ "group": 0
365
+ },
366
+ {
367
+ "logicalNodeAddress": 252,
368
+ "logicalAddress": 100,
369
+ "masterAddress": "192.168.0.97",
370
+ "masterPort": 5001,
371
+ "active": "N",
372
+ "used": "N",
373
+ "group": 0
374
+ },
375
+ {
376
+ "logicalNodeAddress": 252,
377
+ "logicalAddress": 101,
378
+ "masterAddress": "192.168.0.97",
379
+ "masterPort": 5001,
380
+ "active": "N",
381
+ "used": "N",
382
+ "group": 0
383
+ },
384
+ {
385
+ "logicalNodeAddress": 252,
386
+ "logicalAddress": 105,
387
+ "masterAddress": "192.168.0.97",
388
+ "masterPort": 5001,
389
+ "active": "N",
390
+ "used": "N",
391
+ "group": 0
392
+ },
393
+ {
394
+ "logicalNodeAddress": 252,
395
+ "logicalAddress": 104,
396
+ "masterAddress": "192.168.0.97",
397
+ "masterPort": 5001,
398
+ "active": "N",
399
+ "used": "N",
400
+ "group": 0
401
+ },
402
+ {
403
+ "logicalNodeAddress": 252,
404
+ "logicalAddress": 106,
405
+ "masterAddress": "192.168.0.97",
406
+ "masterPort": 5001,
407
+ "active": "N",
408
+ "used": "N",
409
+ "group": 0
410
+ },
411
+ {
412
+ "logicalNodeAddress": 3,
413
+ "logicalAddress": 1,
414
+ "masterAddress": "192.168.0.97",
415
+ "masterPort": 5001,
416
+ "active": "N",
417
+ "used": "N",
418
+ "group": 0
419
+ },
420
+ {
421
+ "logicalNodeAddress": 3,
422
+ "logicalAddress": 0,
423
+ "masterAddress": "192.168.0.97",
424
+ "masterPort": 5001,
425
+ "active": "N",
426
+ "used": "N",
427
+ "group": 0
428
+ },
429
+ {
430
+ "logicalNodeAddress": 3,
431
+ "logicalAddress": 30,
432
+ "masterAddress": "192.168.0.97",
433
+ "masterPort": 5001,
434
+ "active": "N",
435
+ "used": "N",
436
+ "group": 0
437
+ },
438
+ {
439
+ "logicalNodeAddress": 3,
440
+ "logicalAddress": 29,
441
+ "masterAddress": "192.168.0.97",
442
+ "masterPort": 5001,
443
+ "active": "N",
444
+ "used": "N",
445
+ "group": 0
446
+ },
447
+ {
448
+ "logicalNodeAddress": 3,
449
+ "logicalAddress": 35,
450
+ "masterAddress": "192.168.0.97",
451
+ "masterPort": 5001,
452
+ "active": "N",
453
+ "used": "N",
454
+ "group": 0
455
+ },
456
+ {
457
+ "logicalNodeAddress": 3,
458
+ "logicalAddress": 34,
459
+ "masterAddress": "192.168.0.97",
460
+ "masterPort": 5001,
461
+ "active": "N",
462
+ "used": "N",
463
+ "group": 0
464
+ },
465
+ {
466
+ "logicalNodeAddress": 3,
467
+ "logicalAddress": 33,
468
+ "masterAddress": "192.168.0.97",
469
+ "masterPort": 5001,
470
+ "active": "N",
471
+ "used": "N",
472
+ "group": 0
473
+ },
474
+ {
475
+ "logicalNodeAddress": 3,
476
+ "logicalAddress": 36,
477
+ "masterAddress": "192.168.0.97",
478
+ "masterPort": 5001,
479
+ "active": "N",
480
+ "used": "N",
481
+ "group": 0
482
+ },
483
+ {
484
+ "logicalNodeAddress": 3,
485
+ "logicalAddress": 5,
486
+ "masterAddress": "192.168.0.97",
487
+ "masterPort": 5001,
488
+ "active": "N",
489
+ "used": "N",
490
+ "group": 0
491
+ },
492
+ {
493
+ "logicalNodeAddress": 3,
494
+ "logicalAddress": 4,
495
+ "masterAddress": "192.168.0.97",
496
+ "masterPort": 5001,
497
+ "active": "N",
498
+ "used": "N",
499
+ "group": 0
500
+ }
501
+ ]
502
+ },
503
+ "scenes": [
504
+ {
505
+ "name": "Scene",
506
+ "trigger": {
507
+ "masterAddress": "0.0.0.0",
508
+ "masterPort": 5001,
509
+ "name": "unit",
510
+ "logicalAddress": 0,
511
+ "logicalNodeAddress": 0,
512
+ "value": true
513
+ },
514
+ "order": 0,
515
+ "units": []
516
+ }
517
+ ],
518
+ "debug": false
519
+ }
package/config.p1.json CHANGED
@@ -1,6 +1,59 @@
1
1
  {
2
- "rules": [],
3
- "address": "192.168.0.214",
4
- "debug": false,
5
- "bindings": []
2
+ "rules": [
3
+ {
4
+ "type": "power",
5
+ "channel": "3+4+5",
6
+ "low": 30,
7
+ "high": 1500,
8
+ "actions": [
9
+ {
10
+ "name": "--",
11
+ "value": false,
12
+ "masterAddress": "192.168.0.97",
13
+ "masterPort": 5001,
14
+ "logicalAddress": 0,
15
+ "logicalNodeAddress": 0
16
+ },
17
+ {
18
+ "name": "--",
19
+ "value": 50,
20
+ "masterAddress": "192.168.0.97",
21
+ "masterPort": 5001,
22
+ "logicalAddress": 0,
23
+ "logicalNodeAddress": 0
24
+ },
25
+ {
26
+ "name": "Alles aan",
27
+ "value": true,
28
+ "masterAddress": "192.168.0.97",
29
+ "masterPort": 5001,
30
+ "logicalAddress": 5,
31
+ "logicalNodeAddress": 3
32
+ }
33
+ ]
34
+ }
35
+ ],
36
+ "bindings": [
37
+ {
38
+ "name": "<Solar Panels",
39
+ "value": 0,
40
+ "masterAddress": "192.168.0.97",
41
+ "masterPort": 5001,
42
+ "logicalAddress": 102,
43
+ "logicalNodeAddress": 252,
44
+ "channel": "0+1+2",
45
+ "power": null
46
+ },
47
+ {
48
+ "name": ">Grid",
49
+ "value": 0,
50
+ "masterAddress": "192.168.0.97",
51
+ "masterPort": 5001,
52
+ "logicalAddress": 100,
53
+ "logicalNodeAddress": 252,
54
+ "channel": "3+4+5",
55
+ "power": null
56
+ }
57
+ ],
58
+ "address": "192.168.0.214"
6
59
  }