iobroker.device-watcher 2.2.2 → 2.3.1
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/LICENSE +1 -1
- package/README.md +132 -31
- package/admin/i18n/de/translations.json +4 -1
- package/admin/i18n/en/translations.json +4 -1
- package/admin/i18n/es/translations.json +4 -1
- package/admin/i18n/fr/translations.json +4 -1
- package/admin/i18n/it/translations.json +4 -1
- package/admin/i18n/nl/translations.json +4 -1
- package/admin/i18n/pl/translations.json +4 -1
- package/admin/i18n/pt/translations.json +4 -1
- package/admin/i18n/ru/translations.json +4 -1
- package/admin/i18n/uk/translations.json +4 -1
- package/admin/i18n/zh-cn/translations.json +4 -1
- package/admin/jsonConfig.json +27 -1
- package/io-package.json +104 -27
- package/lib/arrApart.js +80 -5
- package/main.js +402 -175
- package/package.json +7 -7
package/lib/arrApart.js
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
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
|
+
*/
|
|
18
|
+
|
|
2
19
|
const arrApart = {
|
|
3
20
|
alexa2: {
|
|
4
21
|
Selektor: 'alexa2.*.online',
|
|
22
|
+
timeSelector: '.online',
|
|
5
23
|
adapterID: 'alexa2',
|
|
6
24
|
adapter: 'Alexa2',
|
|
7
25
|
battery: 'none',
|
|
@@ -10,6 +28,7 @@ const arrApart = {
|
|
|
10
28
|
},
|
|
11
29
|
apcups: {
|
|
12
30
|
Selektor: 'apcups.*.status',
|
|
31
|
+
timeSelector: '.status',
|
|
13
32
|
adapterID: 'apcups',
|
|
14
33
|
adapter: 'Apc UPS',
|
|
15
34
|
battery: '.batteryCharge',
|
|
@@ -19,6 +38,7 @@ const arrApart = {
|
|
|
19
38
|
},
|
|
20
39
|
ble: {
|
|
21
40
|
Selektor: 'ble.*.rssi',
|
|
41
|
+
timeSelector: '.rssi',
|
|
22
42
|
adapterID: 'ble',
|
|
23
43
|
adapter: 'Ble',
|
|
24
44
|
battery: '.battery',
|
|
@@ -28,6 +48,7 @@ const arrApart = {
|
|
|
28
48
|
},
|
|
29
49
|
deconz: {
|
|
30
50
|
Selektor: 'deconz.*.reachable',
|
|
51
|
+
timeSelector: '.reachable',
|
|
31
52
|
adapterID: 'deconz',
|
|
32
53
|
adapter: 'Deconz',
|
|
33
54
|
battery: '.battery',
|
|
@@ -36,6 +57,7 @@ const arrApart = {
|
|
|
36
57
|
},
|
|
37
58
|
enocean: {
|
|
38
59
|
Selektor: 'enocean.*.rssi',
|
|
60
|
+
timeSelector: '.rssi',
|
|
39
61
|
adapterID: 'enocean',
|
|
40
62
|
adapter: 'Enocean',
|
|
41
63
|
battery: '.BS',
|
|
@@ -45,6 +67,7 @@ const arrApart = {
|
|
|
45
67
|
},
|
|
46
68
|
esphome: {
|
|
47
69
|
Selektor: 'esphome.*._online',
|
|
70
|
+
timeSelector: '._online',
|
|
48
71
|
adapterID: 'esphome',
|
|
49
72
|
adapter: 'ESPHome',
|
|
50
73
|
battery: 'none',
|
|
@@ -52,8 +75,20 @@ const arrApart = {
|
|
|
52
75
|
isLowBat: 'none',
|
|
53
76
|
id: '.name',
|
|
54
77
|
},
|
|
78
|
+
eusec: {
|
|
79
|
+
Selektor: 'eusec.*.software_version',
|
|
80
|
+
timeSelector: '.software_version',
|
|
81
|
+
adapterID: 'eusec',
|
|
82
|
+
adapter: 'euSec',
|
|
83
|
+
battery: '.battery',
|
|
84
|
+
rssiState: '.wifi_rssi',
|
|
85
|
+
reach: '.connection',
|
|
86
|
+
isLowBat: '.battery_low',
|
|
87
|
+
id: '.name',
|
|
88
|
+
},
|
|
55
89
|
fritzdect: {
|
|
56
90
|
Selektor: 'fritzdect.*.present',
|
|
91
|
+
timeSelector: '.present',
|
|
57
92
|
adapterID: 'fritzdect',
|
|
58
93
|
adapter: 'Fritz Dect',
|
|
59
94
|
battery: '.battery',
|
|
@@ -62,6 +97,7 @@ const arrApart = {
|
|
|
62
97
|
},
|
|
63
98
|
fullybrowser: {
|
|
64
99
|
Selektor: 'fullybrowser.*.isFullyAlive',
|
|
100
|
+
timeSelector: '.isFullyAlive',
|
|
65
101
|
adapterID: 'fullybrowser',
|
|
66
102
|
adapter: 'fullyBrowser',
|
|
67
103
|
rssiState: '.Info.wifiSignalLevel',
|
|
@@ -73,6 +109,7 @@ const arrApart = {
|
|
|
73
109
|
},
|
|
74
110
|
harmony: {
|
|
75
111
|
Selektor: 'harmony.*.hubConnected',
|
|
112
|
+
timeSelector: '.activities.currentStatus',
|
|
76
113
|
adapterID: 'harmony',
|
|
77
114
|
adapter: 'Harmony',
|
|
78
115
|
battery: 'none',
|
|
@@ -81,6 +118,7 @@ const arrApart = {
|
|
|
81
118
|
},
|
|
82
119
|
ham: {
|
|
83
120
|
Selektor: 'ham.*.Battery-Level',
|
|
121
|
+
timeSelector: '.Battery-Level',
|
|
84
122
|
adapterID: 'ham',
|
|
85
123
|
adapter: 'Ham',
|
|
86
124
|
battery: '.Battery-Level',
|
|
@@ -90,6 +128,7 @@ const arrApart = {
|
|
|
90
128
|
},
|
|
91
129
|
hmiP: {
|
|
92
130
|
Selektor: 'hmip.*.rssiDeviceValue',
|
|
131
|
+
timeSelector: '.rssiDeviceValue',
|
|
93
132
|
adapterID: 'hmiP',
|
|
94
133
|
adapter: 'Homematic IP',
|
|
95
134
|
rssiState: '.rssiDeviceValue',
|
|
@@ -98,19 +137,22 @@ const arrApart = {
|
|
|
98
137
|
isLowBat: '.lowBat',
|
|
99
138
|
},
|
|
100
139
|
hmrpc: {
|
|
101
|
-
Selektor: 'hm-rpc.*.
|
|
140
|
+
Selektor: 'hm-rpc.*.RSSI_PEER',
|
|
141
|
+
timeSelector: '.UNREACH',
|
|
102
142
|
adapterID: 'hmrpc',
|
|
103
143
|
adapter: 'Homematic RPC',
|
|
104
144
|
rssiState: '.RSSI_DEVICE',
|
|
105
145
|
rssiPeerState: '.RSSI_PEER',
|
|
106
146
|
battery: '.OPERATING_VOLTAGE',
|
|
107
|
-
reach: '.
|
|
108
|
-
isLowBat: '.
|
|
109
|
-
isLowBat2: '.
|
|
147
|
+
reach: '.UNREACH_ALARM',
|
|
148
|
+
isLowBat: '.LOW_BAT_ALARM',
|
|
149
|
+
isLowBat2: '.LOWBAT_ALARM',
|
|
110
150
|
stateValue: '.1.STATE',
|
|
151
|
+
faultReporting: '.4.FAULT_REPORTING',
|
|
111
152
|
},
|
|
112
153
|
hs100: {
|
|
113
154
|
Selektor: 'hs100.*.last_update',
|
|
155
|
+
timeSelector: '.last_update',
|
|
114
156
|
adapterID: 'hs100',
|
|
115
157
|
adapter: 'hs100',
|
|
116
158
|
battery: 'none',
|
|
@@ -119,6 +161,7 @@ const arrApart = {
|
|
|
119
161
|
},
|
|
120
162
|
hue: {
|
|
121
163
|
Selektor: 'hue.*.reachable',
|
|
164
|
+
timeSelector: '.reachable',
|
|
122
165
|
adapterID: 'hue',
|
|
123
166
|
adapter: 'Philips Hue',
|
|
124
167
|
battery: '.battery',
|
|
@@ -127,6 +170,7 @@ const arrApart = {
|
|
|
127
170
|
},
|
|
128
171
|
hueExt: {
|
|
129
172
|
Selektor: 'hue-extended.*.reachable',
|
|
173
|
+
timeSelector: '.reachable',
|
|
130
174
|
adapterID: 'hueExt',
|
|
131
175
|
adapter: 'Philips Hue Extended',
|
|
132
176
|
battery: '.config.battery',
|
|
@@ -135,6 +179,7 @@ const arrApart = {
|
|
|
135
179
|
},
|
|
136
180
|
innogy: {
|
|
137
181
|
Selektor: 'innogy-smarthome.*.IsReachable',
|
|
182
|
+
timeSelector: '.IsReachable',
|
|
138
183
|
adapterID: 'innogy',
|
|
139
184
|
adapter: 'Innogy Smarthome',
|
|
140
185
|
battery: 'none',
|
|
@@ -144,6 +189,7 @@ const arrApart = {
|
|
|
144
189
|
},
|
|
145
190
|
jeelink: {
|
|
146
191
|
Selektor: 'jeelink.*.lowBatt',
|
|
192
|
+
timeSelector: '.lowBatt',
|
|
147
193
|
adapterID: 'jeelink',
|
|
148
194
|
adapter: 'Jeelink',
|
|
149
195
|
battery: 'none',
|
|
@@ -152,6 +198,7 @@ const arrApart = {
|
|
|
152
198
|
},
|
|
153
199
|
lupusec: {
|
|
154
200
|
Selektor: 'lupusec.*.cond_ok',
|
|
201
|
+
timeSelector: '.cond_ok',
|
|
155
202
|
adapterID: 'lupusec',
|
|
156
203
|
adapter: 'Lupusec',
|
|
157
204
|
battery: 'none',
|
|
@@ -162,6 +209,7 @@ const arrApart = {
|
|
|
162
209
|
},
|
|
163
210
|
maxcube: {
|
|
164
211
|
Selektor: 'maxcube.*.link_error',
|
|
212
|
+
timeSelector: '.link_error',
|
|
165
213
|
adapterID: 'maxcube',
|
|
166
214
|
adapter: 'Max! Cube',
|
|
167
215
|
battery: 'none',
|
|
@@ -170,6 +218,7 @@ const arrApart = {
|
|
|
170
218
|
},
|
|
171
219
|
meross: {
|
|
172
220
|
Selektor: 'meross.*.online',
|
|
221
|
+
timeSelector: '.online',
|
|
173
222
|
adapterID: 'meross',
|
|
174
223
|
adapter: 'Meross',
|
|
175
224
|
battery: '.battery',
|
|
@@ -178,6 +227,7 @@ const arrApart = {
|
|
|
178
227
|
},
|
|
179
228
|
mihome: {
|
|
180
229
|
Selektor: 'mihome.*.percent',
|
|
230
|
+
timeSelector: '.percent',
|
|
181
231
|
adapterID: 'mihome',
|
|
182
232
|
adapter: 'MiHome',
|
|
183
233
|
battery: '.percent',
|
|
@@ -186,6 +236,7 @@ const arrApart = {
|
|
|
186
236
|
},
|
|
187
237
|
mihomeGW: {
|
|
188
238
|
Selektor: 'mihome.*.connected',
|
|
239
|
+
timeSelector: '.connected',
|
|
189
240
|
adapterID: 'mihome',
|
|
190
241
|
adapter: 'MiHome',
|
|
191
242
|
battery: 'none',
|
|
@@ -194,6 +245,7 @@ const arrApart = {
|
|
|
194
245
|
},
|
|
195
246
|
mihomeVacuum: {
|
|
196
247
|
Selektor: 'mihome-vacuum.*.connection',
|
|
248
|
+
timeSelector: '.connection',
|
|
197
249
|
adapterID: 'mihomeVacuum',
|
|
198
250
|
adapter: 'MiHome Vacuum',
|
|
199
251
|
rssiState: '.deviceInfo.wifi_signal',
|
|
@@ -205,6 +257,7 @@ const arrApart = {
|
|
|
205
257
|
},
|
|
206
258
|
mqttClientZigbee2Mqtt: {
|
|
207
259
|
Selektor: 'mqtt-client.*.zigbee2mqtt.*.availability',
|
|
260
|
+
timeSelector: '.availability',
|
|
208
261
|
adapterID: 'mqttClientZigbee2Mqtt',
|
|
209
262
|
adapter: 'MQTT-Client',
|
|
210
263
|
battery: '.battery',
|
|
@@ -213,7 +266,8 @@ const arrApart = {
|
|
|
213
266
|
isLowBat: '.battery_low',
|
|
214
267
|
},
|
|
215
268
|
mqttNuki: {
|
|
216
|
-
Selektor: 'mqtt
|
|
269
|
+
Selektor: 'mqtt.*.nuki.*.rssi',
|
|
270
|
+
timeSelector: '.rssi',
|
|
217
271
|
adapterID: 'mqttNuki',
|
|
218
272
|
adapter: 'MQTT',
|
|
219
273
|
battery: '.battery.level',
|
|
@@ -223,6 +277,7 @@ const arrApart = {
|
|
|
223
277
|
},
|
|
224
278
|
musiccast: {
|
|
225
279
|
Selektor: 'musiccast.0.*.online',
|
|
280
|
+
timeSelector: '.online',
|
|
226
281
|
adapterID: 'musiccast',
|
|
227
282
|
adapter: 'MusicCast',
|
|
228
283
|
battery: 'none',
|
|
@@ -232,6 +287,7 @@ const arrApart = {
|
|
|
232
287
|
},
|
|
233
288
|
netatmo: {
|
|
234
289
|
Selektor: 'netatmo.*.LastUpdate',
|
|
290
|
+
timeSelector: '.LastUpdate',
|
|
235
291
|
adapterID: 'netatmo',
|
|
236
292
|
adapter: 'Netatmo',
|
|
237
293
|
rssiState: '.WifiStatus',
|
|
@@ -242,6 +298,7 @@ const arrApart = {
|
|
|
242
298
|
},
|
|
243
299
|
nukiExt: {
|
|
244
300
|
Selektor: 'nuki-extended.*.lastDataUpdate',
|
|
301
|
+
timeSelector: '.lastDataUpdate',
|
|
245
302
|
adapterID: 'nukiExt',
|
|
246
303
|
adapter: 'Nuki Extended',
|
|
247
304
|
rssiState: 'none',
|
|
@@ -251,6 +308,7 @@ const arrApart = {
|
|
|
251
308
|
},
|
|
252
309
|
nut: {
|
|
253
310
|
Selektor: 'nut.*.charge',
|
|
311
|
+
timeSelector: '.charge',
|
|
254
312
|
adapterID: 'nut',
|
|
255
313
|
adapter: 'Nut',
|
|
256
314
|
battery: '.charge',
|
|
@@ -259,6 +317,7 @@ const arrApart = {
|
|
|
259
317
|
},
|
|
260
318
|
ping: {
|
|
261
319
|
Selektor: 'ping.*.alive',
|
|
320
|
+
timeSelector: '.alive',
|
|
262
321
|
adapterID: 'ping',
|
|
263
322
|
adapter: 'Ping',
|
|
264
323
|
battery: 'none',
|
|
@@ -267,6 +326,7 @@ const arrApart = {
|
|
|
267
326
|
},
|
|
268
327
|
roomba: {
|
|
269
328
|
Selektor: 'roomba.*.signal',
|
|
329
|
+
timeSelector: '.signal',
|
|
270
330
|
adapterID: 'roomba',
|
|
271
331
|
adapter: 'Roomba',
|
|
272
332
|
battery: '.battery',
|
|
@@ -277,17 +337,20 @@ const arrApart = {
|
|
|
277
337
|
},
|
|
278
338
|
shelly: {
|
|
279
339
|
Selektor: 'shelly.*.uptime',
|
|
340
|
+
timeSelector: '.uptime',
|
|
280
341
|
adapterID: 'shelly',
|
|
281
342
|
adapter: 'Shelly',
|
|
282
343
|
rssiState: '.rssi',
|
|
283
344
|
battery: '.sensor.battery',
|
|
284
345
|
battery2: '.bat.value',
|
|
346
|
+
charger: '.bat.charger',
|
|
285
347
|
reach: '.online',
|
|
286
348
|
isLowBat: 'none',
|
|
287
349
|
upgrade: '.firmware',
|
|
288
350
|
},
|
|
289
351
|
sonoff: {
|
|
290
352
|
Selektor: 'sonoff.*.alive',
|
|
353
|
+
timeSelector: '.alive',
|
|
291
354
|
adapterID: 'sonoff',
|
|
292
355
|
adapter: 'Sonoff',
|
|
293
356
|
rssiState: '.Wifi_RSSI',
|
|
@@ -298,6 +361,7 @@ const arrApart = {
|
|
|
298
361
|
},
|
|
299
362
|
sonos: {
|
|
300
363
|
Selektor: 'sonos.*.alive',
|
|
364
|
+
timeSelector: '.alive',
|
|
301
365
|
adapterID: 'sonos',
|
|
302
366
|
adapter: 'Sonos',
|
|
303
367
|
battery: 'none',
|
|
@@ -306,6 +370,7 @@ const arrApart = {
|
|
|
306
370
|
},
|
|
307
371
|
sureflap: {
|
|
308
372
|
Selektor: 'sureflap.*.online',
|
|
373
|
+
timeSelector: '.online',
|
|
309
374
|
adapterID: 'sureflap',
|
|
310
375
|
adapter: 'Sure Flap',
|
|
311
376
|
battery: '.battery_percentage',
|
|
@@ -314,6 +379,7 @@ const arrApart = {
|
|
|
314
379
|
},
|
|
315
380
|
switchbotBle: {
|
|
316
381
|
Selektor: 'switchbot-ble.*.rssi',
|
|
382
|
+
timeSelector: '.rssi',
|
|
317
383
|
adapterID: 'switchbotBle',
|
|
318
384
|
adapter: 'Switchbot Ble',
|
|
319
385
|
battery: '.battery',
|
|
@@ -324,6 +390,7 @@ const arrApart = {
|
|
|
324
390
|
},
|
|
325
391
|
tado: {
|
|
326
392
|
Selektor: 'tado.*.batteryState',
|
|
393
|
+
timeSelector: '.batteryState',
|
|
327
394
|
adapterID: 'tado',
|
|
328
395
|
adapter: 'Tado',
|
|
329
396
|
rssiState: 'none',
|
|
@@ -334,6 +401,7 @@ const arrApart = {
|
|
|
334
401
|
},
|
|
335
402
|
tapo: {
|
|
336
403
|
Selektor: 'tapo.*.last_update',
|
|
404
|
+
timeSelector: '.last_update',
|
|
337
405
|
adapterID: 'tapo',
|
|
338
406
|
adapter: 'Tapo',
|
|
339
407
|
rssiState: '.rssi',
|
|
@@ -344,6 +412,7 @@ const arrApart = {
|
|
|
344
412
|
},
|
|
345
413
|
tradfri: {
|
|
346
414
|
Selektor: 'tradfri.*.lastSeen',
|
|
415
|
+
timeSelector: '.lastSeen',
|
|
347
416
|
adapterID: 'tradfri',
|
|
348
417
|
adapter: 'Tradfri',
|
|
349
418
|
rssiState: 'none',
|
|
@@ -354,6 +423,7 @@ const arrApart = {
|
|
|
354
423
|
},
|
|
355
424
|
unifi: {
|
|
356
425
|
Selektor: 'unifi.*.state',
|
|
426
|
+
timeSelector: '.uptime',
|
|
357
427
|
adapterID: 'unifi',
|
|
358
428
|
adapter: 'Unifi',
|
|
359
429
|
battery: 'none',
|
|
@@ -364,6 +434,7 @@ const arrApart = {
|
|
|
364
434
|
},
|
|
365
435
|
wled: {
|
|
366
436
|
Selektor: 'wled.*._online',
|
|
437
|
+
timeSelector: '._online',
|
|
367
438
|
adapterID: 'wled',
|
|
368
439
|
adapter: 'WLED',
|
|
369
440
|
rssiState: '.wifi.rssi',
|
|
@@ -374,6 +445,7 @@ const arrApart = {
|
|
|
374
445
|
},
|
|
375
446
|
yeelight: {
|
|
376
447
|
Selektor: 'yeelight-2.*.connect',
|
|
448
|
+
timeSelector: '.connect',
|
|
377
449
|
adapterID: 'yeelight',
|
|
378
450
|
adapter: 'Yeelight',
|
|
379
451
|
battery: 'none',
|
|
@@ -382,6 +454,7 @@ const arrApart = {
|
|
|
382
454
|
},
|
|
383
455
|
zigbee: {
|
|
384
456
|
Selektor: 'zigbee.*.link_quality',
|
|
457
|
+
timeSelector: '.link_quality',
|
|
385
458
|
adapterID: 'zigbee',
|
|
386
459
|
adapter: 'Zigbee',
|
|
387
460
|
battery: '.battery',
|
|
@@ -391,6 +464,7 @@ const arrApart = {
|
|
|
391
464
|
},
|
|
392
465
|
zigbee2MQTT: {
|
|
393
466
|
Selektor: 'zigbee2mqtt.*.link_quality',
|
|
467
|
+
timeSelector: '.link_quality',
|
|
394
468
|
adapterID: 'zigbee2MQTT',
|
|
395
469
|
adapter: 'Zigbee2MQTT',
|
|
396
470
|
battery: '.battery',
|
|
@@ -400,6 +474,7 @@ const arrApart = {
|
|
|
400
474
|
},
|
|
401
475
|
zwave: {
|
|
402
476
|
Selektor: 'zwave2.*.ready',
|
|
477
|
+
timeSelector: '.ready',
|
|
403
478
|
adapterID: 'zwave',
|
|
404
479
|
adapter: 'Z-wave 2',
|
|
405
480
|
battery: '.Battery.level',
|