iobroker.device-watcher 2.3.0 → 2.4.0
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.
- package/README.md +42 -22
- package/admin/jsonConfig.json +39 -1
- package/io-package.json +32 -28
- package/lib/arrApart.js +107 -6
- package/main.js +740 -625
- package/package.json +1 -1
package/lib/arrApart.js
CHANGED
|
@@ -1,7 +1,37 @@
|
|
|
1
1
|
// arrays of supported adapters
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
Default Template:
|
|
5
|
+
adapterID: { // ID for adapter, it should be the same name as in settings etc.
|
|
6
|
+
Selektor: '', // main datapoint of one device. Should be available for all devices. So the adapter can found all devices
|
|
7
|
+
timeSelector: '', // from which datapoint should the time be taken for the last contact
|
|
8
|
+
adapterID: '', // same id as above
|
|
9
|
+
adapter: '', // Adapter Name for notifications and tables
|
|
10
|
+
rssiState: 'none', // rssi or percent datapoint of link quality (optional)
|
|
11
|
+
battery: 'none', // battery datapoint (optional)
|
|
12
|
+
reach: 'none', // reachable or connected datapoint (optional)
|
|
13
|
+
isLowBat: 'none', // lowBat datapoint (optional)
|
|
14
|
+
id: 'none', // datapoint with name of device (optional)
|
|
15
|
+
upgrade: 'none', // update datapoint that indicates available updates for the device (optional)
|
|
16
|
+
},
|
|
17
|
+
adapterID: {
|
|
18
|
+
Selektor: '',
|
|
19
|
+
timeSelector: '',
|
|
20
|
+
adapterID: '',
|
|
21
|
+
adapter: '',
|
|
22
|
+
rssiState: 'none',
|
|
23
|
+
battery: 'none',
|
|
24
|
+
reach: 'none',
|
|
25
|
+
isLowBat: 'none',
|
|
26
|
+
id: 'none',
|
|
27
|
+
upgrade: 'none',
|
|
28
|
+
}
|
|
29
|
+
*/
|
|
30
|
+
|
|
2
31
|
const arrApart = {
|
|
3
32
|
alexa2: {
|
|
4
33
|
Selektor: 'alexa2.*.online',
|
|
34
|
+
timeSelector: '.online',
|
|
5
35
|
adapterID: 'alexa2',
|
|
6
36
|
adapter: 'Alexa2',
|
|
7
37
|
battery: 'none',
|
|
@@ -10,6 +40,7 @@ const arrApart = {
|
|
|
10
40
|
},
|
|
11
41
|
apcups: {
|
|
12
42
|
Selektor: 'apcups.*.status',
|
|
43
|
+
timeSelector: '.status',
|
|
13
44
|
adapterID: 'apcups',
|
|
14
45
|
adapter: 'Apc UPS',
|
|
15
46
|
battery: '.batteryCharge',
|
|
@@ -19,6 +50,7 @@ const arrApart = {
|
|
|
19
50
|
},
|
|
20
51
|
ble: {
|
|
21
52
|
Selektor: 'ble.*.rssi',
|
|
53
|
+
timeSelector: '.rssi',
|
|
22
54
|
adapterID: 'ble',
|
|
23
55
|
adapter: 'Ble',
|
|
24
56
|
battery: '.battery',
|
|
@@ -28,6 +60,7 @@ const arrApart = {
|
|
|
28
60
|
},
|
|
29
61
|
deconz: {
|
|
30
62
|
Selektor: 'deconz.*.reachable',
|
|
63
|
+
timeSelector: '.reachable',
|
|
31
64
|
adapterID: 'deconz',
|
|
32
65
|
adapter: 'Deconz',
|
|
33
66
|
battery: '.battery',
|
|
@@ -36,6 +69,7 @@ const arrApart = {
|
|
|
36
69
|
},
|
|
37
70
|
enocean: {
|
|
38
71
|
Selektor: 'enocean.*.rssi',
|
|
72
|
+
timeSelector: '.rssi',
|
|
39
73
|
adapterID: 'enocean',
|
|
40
74
|
adapter: 'Enocean',
|
|
41
75
|
battery: '.BS',
|
|
@@ -45,6 +79,7 @@ const arrApart = {
|
|
|
45
79
|
},
|
|
46
80
|
esphome: {
|
|
47
81
|
Selektor: 'esphome.*._online',
|
|
82
|
+
timeSelector: '._online',
|
|
48
83
|
adapterID: 'esphome',
|
|
49
84
|
adapter: 'ESPHome',
|
|
50
85
|
battery: 'none',
|
|
@@ -54,6 +89,7 @@ const arrApart = {
|
|
|
54
89
|
},
|
|
55
90
|
eusec: {
|
|
56
91
|
Selektor: 'eusec.*.software_version',
|
|
92
|
+
timeSelector: '.software_version',
|
|
57
93
|
adapterID: 'eusec',
|
|
58
94
|
adapter: 'euSec',
|
|
59
95
|
battery: '.battery',
|
|
@@ -64,6 +100,7 @@ const arrApart = {
|
|
|
64
100
|
},
|
|
65
101
|
fritzdect: {
|
|
66
102
|
Selektor: 'fritzdect.*.present',
|
|
103
|
+
timeSelector: '.present',
|
|
67
104
|
adapterID: 'fritzdect',
|
|
68
105
|
adapter: 'Fritz Dect',
|
|
69
106
|
battery: '.battery',
|
|
@@ -72,6 +109,7 @@ const arrApart = {
|
|
|
72
109
|
},
|
|
73
110
|
fullybrowser: {
|
|
74
111
|
Selektor: 'fullybrowser.*.isFullyAlive',
|
|
112
|
+
timeSelector: '.isFullyAlive',
|
|
75
113
|
adapterID: 'fullybrowser',
|
|
76
114
|
adapter: 'fullyBrowser',
|
|
77
115
|
rssiState: '.Info.wifiSignalLevel',
|
|
@@ -83,6 +121,7 @@ const arrApart = {
|
|
|
83
121
|
},
|
|
84
122
|
harmony: {
|
|
85
123
|
Selektor: 'harmony.*.hubConnected',
|
|
124
|
+
timeSelector: '.activities.currentStatus',
|
|
86
125
|
adapterID: 'harmony',
|
|
87
126
|
adapter: 'Harmony',
|
|
88
127
|
battery: 'none',
|
|
@@ -91,6 +130,7 @@ const arrApart = {
|
|
|
91
130
|
},
|
|
92
131
|
ham: {
|
|
93
132
|
Selektor: 'ham.*.Battery-Level',
|
|
133
|
+
timeSelector: '.Battery-Level',
|
|
94
134
|
adapterID: 'ham',
|
|
95
135
|
adapter: 'Ham',
|
|
96
136
|
battery: '.Battery-Level',
|
|
@@ -100,6 +140,7 @@ const arrApart = {
|
|
|
100
140
|
},
|
|
101
141
|
hmiP: {
|
|
102
142
|
Selektor: 'hmip.*.rssiDeviceValue',
|
|
143
|
+
timeSelector: '.rssiDeviceValue',
|
|
103
144
|
adapterID: 'hmiP',
|
|
104
145
|
adapter: 'Homematic IP',
|
|
105
146
|
rssiState: '.rssiDeviceValue',
|
|
@@ -108,19 +149,34 @@ const arrApart = {
|
|
|
108
149
|
isLowBat: '.lowBat',
|
|
109
150
|
},
|
|
110
151
|
hmrpc: {
|
|
111
|
-
Selektor: 'hm-rpc.*.
|
|
152
|
+
Selektor: 'hm-rpc.*.RSSI_PEER',
|
|
153
|
+
timeSelector: '.UNREACH',
|
|
112
154
|
adapterID: 'hmrpc',
|
|
113
155
|
adapter: 'Homematic RPC',
|
|
114
156
|
rssiState: '.RSSI_DEVICE',
|
|
115
157
|
rssiPeerState: '.RSSI_PEER',
|
|
116
158
|
battery: '.OPERATING_VOLTAGE',
|
|
117
|
-
reach: '.
|
|
118
|
-
isLowBat: '.
|
|
119
|
-
isLowBat2: '.
|
|
159
|
+
reach: '.UNREACH_ALARM',
|
|
160
|
+
isLowBat: '.LOW_BAT_ALARM',
|
|
161
|
+
isLowBat2: '.LOWBAT_ALARM',
|
|
120
162
|
stateValue: '.1.STATE',
|
|
163
|
+
faultReporting: '.4.FAULT_REPORTING',
|
|
164
|
+
},
|
|
165
|
+
homeconnect: {
|
|
166
|
+
Selektor: 'homeconnect.*.general.connected',
|
|
167
|
+
timeSelector: '.connected',
|
|
168
|
+
adapterID: 'homeconnect',
|
|
169
|
+
adapter: 'Home Connect',
|
|
170
|
+
rssiState: 'none',
|
|
171
|
+
battery: 'none',
|
|
172
|
+
reach: '.connected',
|
|
173
|
+
isLowBat: 'none',
|
|
174
|
+
id: '.name',
|
|
175
|
+
upgrade: 'none',
|
|
121
176
|
},
|
|
122
177
|
hs100: {
|
|
123
178
|
Selektor: 'hs100.*.last_update',
|
|
179
|
+
timeSelector: '.last_update',
|
|
124
180
|
adapterID: 'hs100',
|
|
125
181
|
adapter: 'hs100',
|
|
126
182
|
battery: 'none',
|
|
@@ -129,6 +185,7 @@ const arrApart = {
|
|
|
129
185
|
},
|
|
130
186
|
hue: {
|
|
131
187
|
Selektor: 'hue.*.reachable',
|
|
188
|
+
timeSelector: '.reachable',
|
|
132
189
|
adapterID: 'hue',
|
|
133
190
|
adapter: 'Philips Hue',
|
|
134
191
|
battery: '.battery',
|
|
@@ -137,6 +194,7 @@ const arrApart = {
|
|
|
137
194
|
},
|
|
138
195
|
hueExt: {
|
|
139
196
|
Selektor: 'hue-extended.*.reachable',
|
|
197
|
+
timeSelector: '.reachable',
|
|
140
198
|
adapterID: 'hueExt',
|
|
141
199
|
adapter: 'Philips Hue Extended',
|
|
142
200
|
battery: '.config.battery',
|
|
@@ -145,6 +203,7 @@ const arrApart = {
|
|
|
145
203
|
},
|
|
146
204
|
innogy: {
|
|
147
205
|
Selektor: 'innogy-smarthome.*.IsReachable',
|
|
206
|
+
timeSelector: '.IsReachable',
|
|
148
207
|
adapterID: 'innogy',
|
|
149
208
|
adapter: 'Innogy Smarthome',
|
|
150
209
|
battery: 'none',
|
|
@@ -154,6 +213,7 @@ const arrApart = {
|
|
|
154
213
|
},
|
|
155
214
|
jeelink: {
|
|
156
215
|
Selektor: 'jeelink.*.lowBatt',
|
|
216
|
+
timeSelector: '.lowBatt',
|
|
157
217
|
adapterID: 'jeelink',
|
|
158
218
|
adapter: 'Jeelink',
|
|
159
219
|
battery: 'none',
|
|
@@ -162,6 +222,7 @@ const arrApart = {
|
|
|
162
222
|
},
|
|
163
223
|
lupusec: {
|
|
164
224
|
Selektor: 'lupusec.*.cond_ok',
|
|
225
|
+
timeSelector: '.cond_ok',
|
|
165
226
|
adapterID: 'lupusec',
|
|
166
227
|
adapter: 'Lupusec',
|
|
167
228
|
battery: 'none',
|
|
@@ -172,6 +233,7 @@ const arrApart = {
|
|
|
172
233
|
},
|
|
173
234
|
maxcube: {
|
|
174
235
|
Selektor: 'maxcube.*.link_error',
|
|
236
|
+
timeSelector: '.link_error',
|
|
175
237
|
adapterID: 'maxcube',
|
|
176
238
|
adapter: 'Max! Cube',
|
|
177
239
|
battery: 'none',
|
|
@@ -180,6 +242,7 @@ const arrApart = {
|
|
|
180
242
|
},
|
|
181
243
|
meross: {
|
|
182
244
|
Selektor: 'meross.*.online',
|
|
245
|
+
timeSelector: '.online',
|
|
183
246
|
adapterID: 'meross',
|
|
184
247
|
adapter: 'Meross',
|
|
185
248
|
battery: '.battery',
|
|
@@ -188,6 +251,7 @@ const arrApart = {
|
|
|
188
251
|
},
|
|
189
252
|
mihome: {
|
|
190
253
|
Selektor: 'mihome.*.percent',
|
|
254
|
+
timeSelector: '.percent',
|
|
191
255
|
adapterID: 'mihome',
|
|
192
256
|
adapter: 'MiHome',
|
|
193
257
|
battery: '.percent',
|
|
@@ -196,6 +260,7 @@ const arrApart = {
|
|
|
196
260
|
},
|
|
197
261
|
mihomeGW: {
|
|
198
262
|
Selektor: 'mihome.*.connected',
|
|
263
|
+
timeSelector: '.connected',
|
|
199
264
|
adapterID: 'mihome',
|
|
200
265
|
adapter: 'MiHome',
|
|
201
266
|
battery: 'none',
|
|
@@ -204,6 +269,7 @@ const arrApart = {
|
|
|
204
269
|
},
|
|
205
270
|
mihomeVacuum: {
|
|
206
271
|
Selektor: 'mihome-vacuum.*.connection',
|
|
272
|
+
timeSelector: '.connection',
|
|
207
273
|
adapterID: 'mihomeVacuum',
|
|
208
274
|
adapter: 'MiHome Vacuum',
|
|
209
275
|
rssiState: '.deviceInfo.wifi_signal',
|
|
@@ -215,6 +281,7 @@ const arrApart = {
|
|
|
215
281
|
},
|
|
216
282
|
mqttClientZigbee2Mqtt: {
|
|
217
283
|
Selektor: 'mqtt-client.*.zigbee2mqtt.*.availability',
|
|
284
|
+
timeSelector: '.availability',
|
|
218
285
|
adapterID: 'mqttClientZigbee2Mqtt',
|
|
219
286
|
adapter: 'MQTT-Client',
|
|
220
287
|
battery: '.battery',
|
|
@@ -223,7 +290,8 @@ const arrApart = {
|
|
|
223
290
|
isLowBat: '.battery_low',
|
|
224
291
|
},
|
|
225
292
|
mqttNuki: {
|
|
226
|
-
Selektor: 'mqtt.
|
|
293
|
+
Selektor: 'mqtt.*.lock.state',
|
|
294
|
+
timeSelector: '.rssi',
|
|
227
295
|
adapterID: 'mqttNuki',
|
|
228
296
|
adapter: 'MQTT',
|
|
229
297
|
battery: '.battery.level',
|
|
@@ -232,7 +300,8 @@ const arrApart = {
|
|
|
232
300
|
isLowBat: 'none',
|
|
233
301
|
},
|
|
234
302
|
musiccast: {
|
|
235
|
-
Selektor: 'musiccast
|
|
303
|
+
Selektor: 'musiccast.*.online',
|
|
304
|
+
timeSelector: '.online',
|
|
236
305
|
adapterID: 'musiccast',
|
|
237
306
|
adapter: 'MusicCast',
|
|
238
307
|
battery: 'none',
|
|
@@ -242,6 +311,7 @@ const arrApart = {
|
|
|
242
311
|
},
|
|
243
312
|
netatmo: {
|
|
244
313
|
Selektor: 'netatmo.*.LastUpdate',
|
|
314
|
+
timeSelector: '.LastUpdate',
|
|
245
315
|
adapterID: 'netatmo',
|
|
246
316
|
adapter: 'Netatmo',
|
|
247
317
|
rssiState: '.WifiStatus',
|
|
@@ -252,6 +322,7 @@ const arrApart = {
|
|
|
252
322
|
},
|
|
253
323
|
nukiExt: {
|
|
254
324
|
Selektor: 'nuki-extended.*.lastDataUpdate',
|
|
325
|
+
timeSelector: '.lastDataUpdate',
|
|
255
326
|
adapterID: 'nukiExt',
|
|
256
327
|
adapter: 'Nuki Extended',
|
|
257
328
|
rssiState: 'none',
|
|
@@ -261,6 +332,7 @@ const arrApart = {
|
|
|
261
332
|
},
|
|
262
333
|
nut: {
|
|
263
334
|
Selektor: 'nut.*.charge',
|
|
335
|
+
timeSelector: '.charge',
|
|
264
336
|
adapterID: 'nut',
|
|
265
337
|
adapter: 'Nut',
|
|
266
338
|
battery: '.charge',
|
|
@@ -269,6 +341,7 @@ const arrApart = {
|
|
|
269
341
|
},
|
|
270
342
|
ping: {
|
|
271
343
|
Selektor: 'ping.*.alive',
|
|
344
|
+
timeSelector: '.alive',
|
|
272
345
|
adapterID: 'ping',
|
|
273
346
|
adapter: 'Ping',
|
|
274
347
|
battery: 'none',
|
|
@@ -277,6 +350,7 @@ const arrApart = {
|
|
|
277
350
|
},
|
|
278
351
|
roomba: {
|
|
279
352
|
Selektor: 'roomba.*.signal',
|
|
353
|
+
timeSelector: '.signal',
|
|
280
354
|
adapterID: 'roomba',
|
|
281
355
|
adapter: 'Roomba',
|
|
282
356
|
battery: '.battery',
|
|
@@ -287,17 +361,32 @@ const arrApart = {
|
|
|
287
361
|
},
|
|
288
362
|
shelly: {
|
|
289
363
|
Selektor: 'shelly.*.uptime',
|
|
364
|
+
timeSelector: '.uptime',
|
|
290
365
|
adapterID: 'shelly',
|
|
291
366
|
adapter: 'Shelly',
|
|
292
367
|
rssiState: '.rssi',
|
|
293
368
|
battery: '.sensor.battery',
|
|
294
369
|
battery2: '.bat.value',
|
|
370
|
+
charger: '.bat.charger',
|
|
295
371
|
reach: '.online',
|
|
296
372
|
isLowBat: 'none',
|
|
297
373
|
upgrade: '.firmware',
|
|
298
374
|
},
|
|
375
|
+
smartgarden: {
|
|
376
|
+
Selektor: 'smartgarden.*.serial_value',
|
|
377
|
+
timeSelector: '.rfLinkLevel_timestamp',
|
|
378
|
+
adapterID: 'smartgarden',
|
|
379
|
+
adapter: 'Smartgarden',
|
|
380
|
+
rssiState: '.rfLinkLevel_value',
|
|
381
|
+
battery: '.batteryLevel_value',
|
|
382
|
+
reach: '.rfLinkState_value',
|
|
383
|
+
isLowBat: 'none',
|
|
384
|
+
id: '.name_value',
|
|
385
|
+
upgrade: 'none',
|
|
386
|
+
},
|
|
299
387
|
sonoff: {
|
|
300
388
|
Selektor: 'sonoff.*.alive',
|
|
389
|
+
timeSelector: '.Uptime',
|
|
301
390
|
adapterID: 'sonoff',
|
|
302
391
|
adapter: 'Sonoff',
|
|
303
392
|
rssiState: '.Wifi_RSSI',
|
|
@@ -308,6 +397,7 @@ const arrApart = {
|
|
|
308
397
|
},
|
|
309
398
|
sonos: {
|
|
310
399
|
Selektor: 'sonos.*.alive',
|
|
400
|
+
timeSelector: '.alive',
|
|
311
401
|
adapterID: 'sonos',
|
|
312
402
|
adapter: 'Sonos',
|
|
313
403
|
battery: 'none',
|
|
@@ -316,6 +406,7 @@ const arrApart = {
|
|
|
316
406
|
},
|
|
317
407
|
sureflap: {
|
|
318
408
|
Selektor: 'sureflap.*.online',
|
|
409
|
+
timeSelector: '.online',
|
|
319
410
|
adapterID: 'sureflap',
|
|
320
411
|
adapter: 'Sure Flap',
|
|
321
412
|
battery: '.battery_percentage',
|
|
@@ -324,6 +415,7 @@ const arrApart = {
|
|
|
324
415
|
},
|
|
325
416
|
switchbotBle: {
|
|
326
417
|
Selektor: 'switchbot-ble.*.rssi',
|
|
418
|
+
timeSelector: '.rssi',
|
|
327
419
|
adapterID: 'switchbotBle',
|
|
328
420
|
adapter: 'Switchbot Ble',
|
|
329
421
|
battery: '.battery',
|
|
@@ -334,6 +426,7 @@ const arrApart = {
|
|
|
334
426
|
},
|
|
335
427
|
tado: {
|
|
336
428
|
Selektor: 'tado.*.batteryState',
|
|
429
|
+
timeSelector: '.batteryState',
|
|
337
430
|
adapterID: 'tado',
|
|
338
431
|
adapter: 'Tado',
|
|
339
432
|
rssiState: 'none',
|
|
@@ -344,6 +437,7 @@ const arrApart = {
|
|
|
344
437
|
},
|
|
345
438
|
tapo: {
|
|
346
439
|
Selektor: 'tapo.*.last_update',
|
|
440
|
+
timeSelector: '.last_update',
|
|
347
441
|
adapterID: 'tapo',
|
|
348
442
|
adapter: 'Tapo',
|
|
349
443
|
rssiState: '.rssi',
|
|
@@ -354,6 +448,7 @@ const arrApart = {
|
|
|
354
448
|
},
|
|
355
449
|
tradfri: {
|
|
356
450
|
Selektor: 'tradfri.*.lastSeen',
|
|
451
|
+
timeSelector: '.lastSeen',
|
|
357
452
|
adapterID: 'tradfri',
|
|
358
453
|
adapter: 'Tradfri',
|
|
359
454
|
rssiState: 'none',
|
|
@@ -364,6 +459,7 @@ const arrApart = {
|
|
|
364
459
|
},
|
|
365
460
|
unifi: {
|
|
366
461
|
Selektor: 'unifi.*.state',
|
|
462
|
+
timeSelector: '.uptime',
|
|
367
463
|
adapterID: 'unifi',
|
|
368
464
|
adapter: 'Unifi',
|
|
369
465
|
battery: 'none',
|
|
@@ -374,6 +470,7 @@ const arrApart = {
|
|
|
374
470
|
},
|
|
375
471
|
wled: {
|
|
376
472
|
Selektor: 'wled.*._online',
|
|
473
|
+
timeSelector: '._online',
|
|
377
474
|
adapterID: 'wled',
|
|
378
475
|
adapter: 'WLED',
|
|
379
476
|
rssiState: '.wifi.rssi',
|
|
@@ -384,6 +481,7 @@ const arrApart = {
|
|
|
384
481
|
},
|
|
385
482
|
yeelight: {
|
|
386
483
|
Selektor: 'yeelight-2.*.connect',
|
|
484
|
+
timeSelector: '.connect',
|
|
387
485
|
adapterID: 'yeelight',
|
|
388
486
|
adapter: 'Yeelight',
|
|
389
487
|
battery: 'none',
|
|
@@ -392,6 +490,7 @@ const arrApart = {
|
|
|
392
490
|
},
|
|
393
491
|
zigbee: {
|
|
394
492
|
Selektor: 'zigbee.*.link_quality',
|
|
493
|
+
timeSelector: '.link_quality',
|
|
395
494
|
adapterID: 'zigbee',
|
|
396
495
|
adapter: 'Zigbee',
|
|
397
496
|
battery: '.battery',
|
|
@@ -401,6 +500,7 @@ const arrApart = {
|
|
|
401
500
|
},
|
|
402
501
|
zigbee2MQTT: {
|
|
403
502
|
Selektor: 'zigbee2mqtt.*.link_quality',
|
|
503
|
+
timeSelector: '.link_quality',
|
|
404
504
|
adapterID: 'zigbee2MQTT',
|
|
405
505
|
adapter: 'Zigbee2MQTT',
|
|
406
506
|
battery: '.battery',
|
|
@@ -410,6 +510,7 @@ const arrApart = {
|
|
|
410
510
|
},
|
|
411
511
|
zwave: {
|
|
412
512
|
Selektor: 'zwave2.*.ready',
|
|
513
|
+
timeSelector: '.ready',
|
|
413
514
|
adapterID: 'zwave',
|
|
414
515
|
adapter: 'Z-wave 2',
|
|
415
516
|
battery: '.Battery.level',
|