iobroker.device-watcher 2.10.5 → 2.11.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 +4 -0
- package/admin/jsonConfig.json5 +19 -0
- package/io-package.json +841 -861
- package/lib/arrApart.js +13 -0
- package/main.js +42 -29
- package/package.json +7 -7
package/lib/arrApart.js
CHANGED
|
@@ -430,6 +430,19 @@ const arrApart = {
|
|
|
430
430
|
reach: '.status',
|
|
431
431
|
isLowBat: 'none',
|
|
432
432
|
},
|
|
433
|
+
ring: {
|
|
434
|
+
Selektor: 'ring.*.latest_signal_strength',
|
|
435
|
+
timeSelector: '.latest_signal_strength',
|
|
436
|
+
adapterID: 'ring',
|
|
437
|
+
adapter: 'Ring',
|
|
438
|
+
rssiState: '.latest_signal_strength',
|
|
439
|
+
battery: '.battery_percentage',
|
|
440
|
+
charger: '.external_connection',
|
|
441
|
+
reach: 'none',
|
|
442
|
+
isLowBat: 'none',
|
|
443
|
+
id: 'none',
|
|
444
|
+
upgrade: '.firmware',
|
|
445
|
+
},
|
|
433
446
|
roomba: {
|
|
434
447
|
Selektor: 'roomba.*.signal',
|
|
435
448
|
timeSelector: '.signal',
|
package/main.js
CHANGED
|
@@ -151,6 +151,7 @@ class DeviceWatcher extends utils.Adapter {
|
|
|
151
151
|
nut: this.config.nutDevices,
|
|
152
152
|
ping: this.config.pingDevices,
|
|
153
153
|
proxmox: this.config.proxmoxDevices,
|
|
154
|
+
ring: this.config.ringDevices,
|
|
154
155
|
roomba: this.config.roombaDevices,
|
|
155
156
|
shelly: this.config.shellyDevices,
|
|
156
157
|
smartgarden: this.config.smartgardenDevices,
|
|
@@ -212,6 +213,7 @@ class DeviceWatcher extends utils.Adapter {
|
|
|
212
213
|
nut: this.config.nutMaxMinutes,
|
|
213
214
|
ping: this.config.pingMaxMinutes,
|
|
214
215
|
proxmox: this.config.proxmoxMaxMinutes,
|
|
216
|
+
ring: this.config.ringMaxMinutes,
|
|
215
217
|
roomba: this.config.roombaMaxMinutes,
|
|
216
218
|
shelly: this.config.shellyMaxMinutes,
|
|
217
219
|
smartgarden: this.config.smartgardenMaxMinutes,
|
|
@@ -997,6 +999,7 @@ class DeviceWatcher extends utils.Adapter {
|
|
|
997
999
|
case 'loqedSmartLock':
|
|
998
1000
|
case 'viessmann':
|
|
999
1001
|
case 'homekitController':
|
|
1002
|
+
case 'ring':
|
|
1000
1003
|
if (shortDeviceObject && typeof shortDeviceObject === 'object' && shortDeviceObject.common) {
|
|
1001
1004
|
deviceName = shortDeviceObject.common.name;
|
|
1002
1005
|
}
|
|
@@ -1138,41 +1141,44 @@ class DeviceWatcher extends utils.Adapter {
|
|
|
1138
1141
|
let batteryHealthRaw;
|
|
1139
1142
|
let batteryHealthUnitRaw;
|
|
1140
1143
|
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
if (
|
|
1144
|
-
|
|
1145
|
-
isBatteryDevice = true;
|
|
1146
|
-
} else if (deviceLowBatState !== undefined && deviceLowBatState !== 1) {
|
|
1147
|
-
batteryHealth = 'ok';
|
|
1148
|
-
isBatteryDevice = true;
|
|
1149
|
-
} else if (deviceLowBatState !== undefined) {
|
|
1150
|
-
batteryHealth = 'low';
|
|
1151
|
-
isBatteryDevice = true;
|
|
1152
|
-
}
|
|
1153
|
-
} else if (deviceBatteryState !== 0 && deviceBatteryState < 6) {
|
|
1154
|
-
batteryHealth = `${deviceBatteryState}V`;
|
|
1155
|
-
batteryHealthRaw = deviceBatteryState;
|
|
1156
|
-
batteryHealthUnitRaw = 'V';
|
|
1157
|
-
isBatteryDevice = true;
|
|
1158
|
-
}
|
|
1159
|
-
} else {
|
|
1160
|
-
if (deviceBatteryState === undefined) {
|
|
1161
|
-
if (deviceLowBatState !== undefined) {
|
|
1162
|
-
if (deviceLowBatState !== true && deviceLowBatState !== 'NORMAL' && deviceLowBatState !== 1) {
|
|
1144
|
+
switch (adapterID) {
|
|
1145
|
+
case 'hmrpc':
|
|
1146
|
+
if (deviceBatteryState === undefined) {
|
|
1147
|
+
if (faultReportingState !== undefined && faultReportingState !== 6) {
|
|
1163
1148
|
batteryHealth = 'ok';
|
|
1164
1149
|
isBatteryDevice = true;
|
|
1165
|
-
} else if (deviceLowBatState !==
|
|
1150
|
+
} else if (deviceLowBatState !== undefined && deviceLowBatState !== 1) {
|
|
1151
|
+
batteryHealth = 'ok';
|
|
1152
|
+
isBatteryDevice = true;
|
|
1153
|
+
} else if (deviceLowBatState !== undefined) {
|
|
1166
1154
|
batteryHealth = 'low';
|
|
1167
1155
|
isBatteryDevice = true;
|
|
1168
1156
|
}
|
|
1157
|
+
} else if (deviceBatteryState !== 0 && deviceBatteryState < 6) {
|
|
1158
|
+
batteryHealth = `${deviceBatteryState}V`;
|
|
1159
|
+
batteryHealthRaw = deviceBatteryState;
|
|
1160
|
+
batteryHealthUnitRaw = 'V';
|
|
1161
|
+
isBatteryDevice = true;
|
|
1169
1162
|
}
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1163
|
+
break;
|
|
1164
|
+
default:
|
|
1165
|
+
if (deviceBatteryState === undefined) {
|
|
1166
|
+
if (deviceLowBatState !== undefined) {
|
|
1167
|
+
if (deviceLowBatState !== true && deviceLowBatState !== 'NORMAL' && deviceLowBatState !== 1) {
|
|
1168
|
+
batteryHealth = 'ok';
|
|
1169
|
+
isBatteryDevice = true;
|
|
1170
|
+
} else if (deviceLowBatState !== true) {
|
|
1171
|
+
batteryHealth = 'low';
|
|
1172
|
+
isBatteryDevice = true;
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
} else {
|
|
1176
|
+
batteryHealth = `${deviceBatteryState}%`;
|
|
1177
|
+
batteryHealthRaw = deviceBatteryState;
|
|
1178
|
+
batteryHealthUnitRaw = '%';
|
|
1179
|
+
isBatteryDevice = true;
|
|
1180
|
+
}
|
|
1181
|
+
break;
|
|
1176
1182
|
}
|
|
1177
1183
|
|
|
1178
1184
|
return [batteryHealth, isBatteryDevice, batteryHealthRaw, batteryHealthUnitRaw];
|
|
@@ -1459,6 +1465,13 @@ class DeviceWatcher extends utils.Adapter {
|
|
|
1459
1465
|
isUpgradable = false;
|
|
1460
1466
|
}
|
|
1461
1467
|
break;
|
|
1468
|
+
case 'ring':
|
|
1469
|
+
if (deviceUpdateSelector !== 'Up to Date') {
|
|
1470
|
+
isUpgradable = true;
|
|
1471
|
+
} else {
|
|
1472
|
+
isUpgradable = false;
|
|
1473
|
+
}
|
|
1474
|
+
break;
|
|
1462
1475
|
default:
|
|
1463
1476
|
if (deviceUpdateSelector !== null && typeof deviceUpdateSelector === 'boolean') {
|
|
1464
1477
|
if (deviceUpdateSelector) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.device-watcher",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "Watchdog for devices",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Christian Behrends",
|
|
@@ -37,22 +37,22 @@
|
|
|
37
37
|
"@types/chai": "^4.3.11",
|
|
38
38
|
"@types/chai-as-promised": "^7.1.8",
|
|
39
39
|
"@types/mocha": "^10.0.6",
|
|
40
|
-
"@types/node": "^20.11.
|
|
41
|
-
"@types/node-schedule": "^2.1.
|
|
40
|
+
"@types/node": "^20.11.24",
|
|
41
|
+
"@types/node-schedule": "^2.1.6",
|
|
42
42
|
"@types/proxyquire": "^1.3.31",
|
|
43
43
|
"@types/sinon": "^17.0.3",
|
|
44
44
|
"@types/sinon-chai": "^3.2.12",
|
|
45
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
46
46
|
"@typescript-eslint/parser": "^6.20.0",
|
|
47
47
|
"chai": "^4.4.1",
|
|
48
48
|
"chai-as-promised": "^7.1.1",
|
|
49
49
|
"cron-parser": "^4.9.0",
|
|
50
|
-
"eslint": "^8.
|
|
50
|
+
"eslint": "^8.57.0",
|
|
51
51
|
"eslint-config-prettier": "^9.1.0",
|
|
52
52
|
"eslint-plugin-prettier": "^5.1.3",
|
|
53
|
-
"mocha": "^10.
|
|
53
|
+
"mocha": "^10.3.0",
|
|
54
54
|
"node-schedule": "^2.1.1",
|
|
55
|
-
"prettier": "^3.2.
|
|
55
|
+
"prettier": "^3.2.5",
|
|
56
56
|
"proxyquire": "^2.1.3",
|
|
57
57
|
"sinon": "^17.0.1",
|
|
58
58
|
"sinon-chai": "^3.7.0",
|