homebridge-adt-pulse 3.0.0-beta.12 → 3.0.0-beta.13
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 +7 -7
- package/README.md +9 -7
- package/build/src/lib/accessory.js +112 -67
- package/build/src/lib/accessory.js.map +1 -1
- package/build/src/lib/api.js +34 -10
- package/build/src/lib/api.js.map +1 -1
- package/build/src/lib/detect.js +93 -193
- package/build/src/lib/detect.js.map +1 -1
- package/build/src/lib/items.js +182 -0
- package/build/src/lib/items.js.map +1 -0
- package/build/src/lib/platform.js +2 -2
- package/build/src/lib/platform.js.map +1 -1
- package/build/src/lib/regex.js +1 -1
- package/build/src/lib/regex.js.map +1 -1
- package/build/src/lib/utility.js +65 -16
- package/build/src/lib/utility.js.map +1 -1
- package/build/src/scripts/repl.js +1 -1
- package/build/src/scripts/repl.js.map +1 -1
- package/build/src/scripts/test-api.js +5 -5
- package/build/src/scripts/test-api.js.map +1 -1
- package/package.json +6 -6
package/build/src/lib/detect.js
CHANGED
|
@@ -1,43 +1,63 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
import _ from 'lodash';
|
|
3
2
|
import { serializeError } from 'serialize-error';
|
|
3
|
+
import { doSubmitHandlerRelativeUrlItems, doSubmitHandlerUrlParamsArmItems, doSubmitHandlerUrlParamsArmStateItems, doSubmitHandlerUrlParamsHrefItems, gatewayInformationStatusItems, orbSecurityButtonButtonTextItems, orbSecurityButtonLoadingTextItems, orbSecurityButtonRelativeUrlItems, orbSecurityButtonUrlParamsArmItems, orbSecurityButtonUrlParamsArmStateItems, orbSecurityButtonUrlParamsHrefItems, panelInformationStatusItems, portalVersionItems, sensorInformationDeviceTypeItems, sensorInformationStatusItems, sensorStatusIconItems, sensorStatusStatusItems, } from './items.js';
|
|
4
4
|
import { debugLog, isPluginOutdated, removePersonalIdentifiableInformation, stackTracer, } from './utility.js';
|
|
5
|
+
export async function detectedNewDeviceContext(context, logger, debugMode) {
|
|
6
|
+
const cleanedData = removePersonalIdentifiableInformation(context);
|
|
7
|
+
try {
|
|
8
|
+
const outdated = await isPluginOutdated();
|
|
9
|
+
if (outdated) {
|
|
10
|
+
if (logger !== null) {
|
|
11
|
+
logger.warn('Plugin has detected new device context. You are running an older plugin version, please update soon.');
|
|
12
|
+
}
|
|
13
|
+
if (debugMode) {
|
|
14
|
+
debugLog(logger, 'detect.ts / detectedNewDeviceContext()', 'warn', 'Plugin has detected new device context. You are running an older plugin version, please update soon');
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
if (debugMode === true) {
|
|
21
|
+
debugLog(logger, 'detect.ts / detectedNewDeviceContext()', 'error', 'Failed to check if plugin is outdated');
|
|
22
|
+
stackTracer('serialize-error', serializeError(error));
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (logger !== null) {
|
|
27
|
+
logger.warn('Plugin has detected new device context. Notifying plugin author about this discovery ...');
|
|
28
|
+
}
|
|
29
|
+
if (debugMode) {
|
|
30
|
+
debugLog(logger, 'detect.ts / detectedNewDeviceContext()', 'warn', 'Plugin has detected new device context. Notifying plugin author about this discovery');
|
|
31
|
+
}
|
|
32
|
+
stackTracer('detect-content', cleanedData);
|
|
33
|
+
try {
|
|
34
|
+
await axios.post('https://fs65kt4c5xf8.ntfy.mrjackyliang.com', [
|
|
35
|
+
'Please update the plugin as soon as possible.',
|
|
36
|
+
JSON.stringify(cleanedData, null, 2),
|
|
37
|
+
].join('\n\n'), {
|
|
38
|
+
family: 4,
|
|
39
|
+
headers: {
|
|
40
|
+
'User-Agent': 'homebridge-adt-pulse',
|
|
41
|
+
'X-Title': 'Detected new device context',
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
if (debugMode === true) {
|
|
48
|
+
debugLog(logger, 'detect.ts / detectedNewDeviceContext()', 'error', 'Failed to notify plugin author about the new device context');
|
|
49
|
+
stackTracer('serialize-error', serializeError(error));
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
5
54
|
export async function detectedNewDoSubmitHandlers(handlers, logger, debugMode) {
|
|
6
|
-
const
|
|
7
|
-
'16.0.0-131',
|
|
8
|
-
'17.0.0-69',
|
|
9
|
-
'18.0.0-78',
|
|
10
|
-
'19.0.0-89',
|
|
11
|
-
'20.0.0-221',
|
|
12
|
-
'20.0.0-244',
|
|
13
|
-
'21.0.0-344',
|
|
14
|
-
'21.0.0-353',
|
|
15
|
-
'21.0.0-354',
|
|
16
|
-
'22.0.0-233',
|
|
17
|
-
'23.0.0-99',
|
|
18
|
-
'24.0.0-117',
|
|
19
|
-
'25.0.0-21',
|
|
20
|
-
'26.0.0-32',
|
|
21
|
-
'27.0.0-140',
|
|
22
|
-
].map((version) => `/myhome/${version}/quickcontrol/serv/RunRRACommand`);
|
|
23
|
-
const knownUrlParamsArm = [
|
|
24
|
-
'away',
|
|
25
|
-
'night',
|
|
26
|
-
'stay',
|
|
27
|
-
];
|
|
28
|
-
const knownUrlParamsArmState = [
|
|
29
|
-
'forcearm',
|
|
30
|
-
];
|
|
31
|
-
const knownUrlParamsHref = [
|
|
32
|
-
'rest/adt/ui/client/security/setForceArm',
|
|
33
|
-
'rest/adt/ui/client/security/setCancelProtest',
|
|
34
|
-
];
|
|
35
|
-
const detectedNewHandlers = handlers.filter((handler) => (!knownRelativeUrls.includes(handler.relativeUrl)
|
|
55
|
+
const detectedNewHandlers = handlers.filter((handler) => (!doSubmitHandlerRelativeUrlItems.includes(handler.relativeUrl)
|
|
36
56
|
|| (handler.urlParams.arm !== null
|
|
37
|
-
&& !
|
|
57
|
+
&& !doSubmitHandlerUrlParamsArmItems.includes(handler.urlParams.arm))
|
|
38
58
|
|| (handler.urlParams.armState !== null
|
|
39
|
-
&& !
|
|
40
|
-
|| !
|
|
59
|
+
&& !doSubmitHandlerUrlParamsArmStateItems.includes(handler.urlParams.armState))
|
|
60
|
+
|| !doSubmitHandlerUrlParamsHrefItems.includes(handler.urlParams.href)));
|
|
41
61
|
if (detectedNewHandlers.length > 0) {
|
|
42
62
|
const cleanedData = removePersonalIdentifiableInformation(detectedNewHandlers);
|
|
43
63
|
try {
|
|
@@ -57,6 +77,7 @@ export async function detectedNewDoSubmitHandlers(handlers, logger, debugMode) {
|
|
|
57
77
|
debugLog(logger, 'detect.ts / detectedNewDoSubmitHandlers()', 'error', 'Failed to check if plugin is outdated');
|
|
58
78
|
stackTracer('serialize-error', serializeError(error));
|
|
59
79
|
}
|
|
80
|
+
return false;
|
|
60
81
|
}
|
|
61
82
|
if (logger !== null) {
|
|
62
83
|
logger.warn('Plugin has detected new do submit handlers. Notifying plugin author about this discovery ...');
|
|
@@ -76,24 +97,20 @@ export async function detectedNewDoSubmitHandlers(handlers, logger, debugMode) {
|
|
|
76
97
|
'X-Title': 'Detected new do submit handlers',
|
|
77
98
|
},
|
|
78
99
|
});
|
|
100
|
+
return true;
|
|
79
101
|
}
|
|
80
102
|
catch (error) {
|
|
81
103
|
if (debugMode === true) {
|
|
82
104
|
debugLog(logger, 'detect.ts / detectedNewDoSubmitHandlers()', 'error', 'Failed to notify plugin author about the new do submit handlers');
|
|
83
105
|
stackTracer('serialize-error', serializeError(error));
|
|
84
106
|
}
|
|
107
|
+
return false;
|
|
85
108
|
}
|
|
86
|
-
return true;
|
|
87
109
|
}
|
|
88
110
|
return false;
|
|
89
111
|
}
|
|
90
112
|
export async function detectedNewGatewayInformation(device, logger, debugMode) {
|
|
91
|
-
const
|
|
92
|
-
'Offline',
|
|
93
|
-
'Online',
|
|
94
|
-
'Status Unknown',
|
|
95
|
-
];
|
|
96
|
-
const detectedNewStatus = (device.status !== null && !knownStatuses.includes(device.status));
|
|
113
|
+
const detectedNewStatus = (device.status !== null && !gatewayInformationStatusItems.includes(device.status));
|
|
97
114
|
if (detectedNewStatus) {
|
|
98
115
|
const cleanedData = removePersonalIdentifiableInformation(device);
|
|
99
116
|
try {
|
|
@@ -113,6 +130,7 @@ export async function detectedNewGatewayInformation(device, logger, debugMode) {
|
|
|
113
130
|
debugLog(logger, 'detect.ts / detectedNewGatewayInformation()', 'error', 'Failed to check if plugin is outdated');
|
|
114
131
|
stackTracer('serialize-error', serializeError(error));
|
|
115
132
|
}
|
|
133
|
+
return false;
|
|
116
134
|
}
|
|
117
135
|
if (logger !== null) {
|
|
118
136
|
logger.warn('Plugin has detected new gateway information. Notifying plugin author about this discovery ...');
|
|
@@ -132,64 +150,30 @@ export async function detectedNewGatewayInformation(device, logger, debugMode) {
|
|
|
132
150
|
'X-Title': 'Detected new gateway information',
|
|
133
151
|
},
|
|
134
152
|
});
|
|
153
|
+
return true;
|
|
135
154
|
}
|
|
136
155
|
catch (error) {
|
|
137
156
|
if (debugMode === true) {
|
|
138
157
|
debugLog(logger, 'detect.ts / detectedNewGatewayInformation()', 'error', 'Failed to notify plugin author about the new gateway information');
|
|
139
158
|
stackTracer('serialize-error', serializeError(error));
|
|
140
159
|
}
|
|
160
|
+
return false;
|
|
141
161
|
}
|
|
142
|
-
return true;
|
|
143
162
|
}
|
|
144
163
|
return false;
|
|
145
164
|
}
|
|
146
165
|
export async function detectedNewOrbSecurityButtons(buttons, logger, debugMode) {
|
|
147
|
-
const knownButtonText = [
|
|
148
|
-
'Arm Away',
|
|
149
|
-
'Arm Night',
|
|
150
|
-
'Arm Stay',
|
|
151
|
-
'Clear Alarm',
|
|
152
|
-
'Disarm',
|
|
153
|
-
];
|
|
154
|
-
const knownLoadingText = [
|
|
155
|
-
'Arming Away',
|
|
156
|
-
'Arming Night',
|
|
157
|
-
'Arming Stay',
|
|
158
|
-
'Disarming',
|
|
159
|
-
];
|
|
160
|
-
const knownRelativeUrl = [
|
|
161
|
-
'quickcontrol/armDisarm.jsp',
|
|
162
|
-
];
|
|
163
|
-
const knownUrlParamsArm = [
|
|
164
|
-
'away',
|
|
165
|
-
'night',
|
|
166
|
-
'off',
|
|
167
|
-
'stay',
|
|
168
|
-
];
|
|
169
|
-
const knownUrlParamsArmState = [
|
|
170
|
-
'away',
|
|
171
|
-
'disarmed',
|
|
172
|
-
'disarmed_with_alarm',
|
|
173
|
-
'disarmed+with+alarm',
|
|
174
|
-
'night',
|
|
175
|
-
'night+stay',
|
|
176
|
-
'off',
|
|
177
|
-
'stay',
|
|
178
|
-
];
|
|
179
|
-
const knownUrlParamsHref = [
|
|
180
|
-
'rest/adt/ui/client/security/setArmState',
|
|
181
|
-
];
|
|
182
166
|
const detectedNewButtons = buttons.filter((button) => ((!button.buttonDisabled
|
|
183
167
|
&& ((button.buttonText !== null
|
|
184
|
-
&& !
|
|
185
|
-
|| !
|
|
186
|
-
|| !
|
|
187
|
-
|| !
|
|
188
|
-
|| !
|
|
189
|
-
|| !
|
|
168
|
+
&& !orbSecurityButtonButtonTextItems.includes(button.buttonText))
|
|
169
|
+
|| !orbSecurityButtonLoadingTextItems.includes(button.loadingText)
|
|
170
|
+
|| !orbSecurityButtonRelativeUrlItems.includes(button.relativeUrl)
|
|
171
|
+
|| !orbSecurityButtonUrlParamsArmItems.includes(button.urlParams.arm)
|
|
172
|
+
|| !orbSecurityButtonUrlParamsArmStateItems.includes(button.urlParams.armState)
|
|
173
|
+
|| !orbSecurityButtonUrlParamsHrefItems.includes(button.urlParams.href)))
|
|
190
174
|
|| (button.buttonDisabled
|
|
191
175
|
&& (button.buttonText !== null
|
|
192
|
-
&& !
|
|
176
|
+
&& !orbSecurityButtonLoadingTextItems.includes(button.buttonText)))));
|
|
193
177
|
if (detectedNewButtons.length > 0) {
|
|
194
178
|
const cleanedData = removePersonalIdentifiableInformation(detectedNewButtons);
|
|
195
179
|
try {
|
|
@@ -209,6 +193,7 @@ export async function detectedNewOrbSecurityButtons(buttons, logger, debugMode)
|
|
|
209
193
|
debugLog(logger, 'detect.ts / detectedNewOrbSecurityButtons()', 'error', 'Failed to check if plugin is outdated');
|
|
210
194
|
stackTracer('serialize-error', serializeError(error));
|
|
211
195
|
}
|
|
196
|
+
return false;
|
|
212
197
|
}
|
|
213
198
|
if (logger !== null) {
|
|
214
199
|
logger.warn('Plugin has detected new orb security buttons. Notifying plugin author about this discovery ...');
|
|
@@ -228,23 +213,20 @@ export async function detectedNewOrbSecurityButtons(buttons, logger, debugMode)
|
|
|
228
213
|
'X-Title': 'Detected new orb security buttons',
|
|
229
214
|
},
|
|
230
215
|
});
|
|
216
|
+
return true;
|
|
231
217
|
}
|
|
232
218
|
catch (error) {
|
|
233
219
|
if (debugMode === true) {
|
|
234
220
|
debugLog(logger, 'detect.ts / detectedNewOrbSecurityButtons()', 'error', 'Failed to notify plugin author about the new orb security buttons');
|
|
235
221
|
stackTracer('serialize-error', serializeError(error));
|
|
236
222
|
}
|
|
223
|
+
return false;
|
|
237
224
|
}
|
|
238
|
-
return true;
|
|
239
225
|
}
|
|
240
226
|
return false;
|
|
241
227
|
}
|
|
242
228
|
export async function detectedNewPanelInformation(device, logger, debugMode) {
|
|
243
|
-
const
|
|
244
|
-
'Online',
|
|
245
|
-
'Status Unknown',
|
|
246
|
-
];
|
|
247
|
-
const detectedNewStatus = (device.status !== null && !knownStatuses.includes(device.status));
|
|
229
|
+
const detectedNewStatus = (device.status !== null && !panelInformationStatusItems.includes(device.status));
|
|
248
230
|
if (detectedNewStatus) {
|
|
249
231
|
const cleanedData = removePersonalIdentifiableInformation(device);
|
|
250
232
|
try {
|
|
@@ -264,6 +246,7 @@ export async function detectedNewPanelInformation(device, logger, debugMode) {
|
|
|
264
246
|
debugLog(logger, 'detect.ts / detectedNewPanelInformation()', 'error', 'Failed to check if plugin is outdated');
|
|
265
247
|
stackTracer('serialize-error', serializeError(error));
|
|
266
248
|
}
|
|
249
|
+
return false;
|
|
267
250
|
}
|
|
268
251
|
if (logger !== null) {
|
|
269
252
|
logger.warn('Plugin has detected new panel information. Notifying plugin author about this discovery ...');
|
|
@@ -283,44 +266,21 @@ export async function detectedNewPanelInformation(device, logger, debugMode) {
|
|
|
283
266
|
'X-Title': 'Detected new panel information',
|
|
284
267
|
},
|
|
285
268
|
});
|
|
269
|
+
return true;
|
|
286
270
|
}
|
|
287
271
|
catch (error) {
|
|
288
272
|
if (debugMode === true) {
|
|
289
273
|
debugLog(logger, 'detect.ts / detectedNewPanelInformation()', 'error', 'Failed to notify plugin author about the new panel information');
|
|
290
274
|
stackTracer('serialize-error', serializeError(error));
|
|
291
275
|
}
|
|
276
|
+
return false;
|
|
292
277
|
}
|
|
293
|
-
return true;
|
|
294
278
|
}
|
|
295
279
|
return false;
|
|
296
280
|
}
|
|
297
281
|
export async function detectedNewPanelStatus(summary, logger, debugMode) {
|
|
298
|
-
const
|
|
299
|
-
|
|
300
|
-
'Armed Night',
|
|
301
|
-
'Armed Stay',
|
|
302
|
-
'Disarmed',
|
|
303
|
-
'Status Unavailable',
|
|
304
|
-
];
|
|
305
|
-
const knownStatuses = [
|
|
306
|
-
'1 Sensor Open',
|
|
307
|
-
..._.range(256).map((_value, index) => `${index + 1} Sensors Open`),
|
|
308
|
-
'All Quiet',
|
|
309
|
-
'BURGLARY ALARM',
|
|
310
|
-
'Carbon Monoxide Alarm',
|
|
311
|
-
'FIRE ALARM',
|
|
312
|
-
'Motion',
|
|
313
|
-
'Sensor Bypassed',
|
|
314
|
-
'Sensor Problem',
|
|
315
|
-
'Sensors Bypassed',
|
|
316
|
-
'Sensors Tripped',
|
|
317
|
-
'Sensor Tripped',
|
|
318
|
-
'Uncleared Alarm',
|
|
319
|
-
'WATER ALARM',
|
|
320
|
-
];
|
|
321
|
-
const detectedNewState = (summary.state !== null && !knownStates.includes(summary.state));
|
|
322
|
-
const detectedNewStatus = (summary.status !== null && !knownStatuses.includes(summary.status));
|
|
323
|
-
if (detectedNewState || detectedNewStatus) {
|
|
282
|
+
const detectedUnknownPieces = summary.rawData.unknownPieces.length > 0;
|
|
283
|
+
if (detectedUnknownPieces) {
|
|
324
284
|
const cleanedData = removePersonalIdentifiableInformation(summary);
|
|
325
285
|
try {
|
|
326
286
|
const outdated = await isPluginOutdated();
|
|
@@ -339,6 +299,7 @@ export async function detectedNewPanelStatus(summary, logger, debugMode) {
|
|
|
339
299
|
debugLog(logger, 'detect.ts / detectedNewPanelStatus()', 'error', 'Failed to check if plugin is outdated');
|
|
340
300
|
stackTracer('serialize-error', serializeError(error));
|
|
341
301
|
}
|
|
302
|
+
return false;
|
|
342
303
|
}
|
|
343
304
|
if (logger !== null) {
|
|
344
305
|
logger.warn('Plugin has detected a new panel state and/or status. Notifying plugin author about this discovery ...');
|
|
@@ -358,36 +319,20 @@ export async function detectedNewPanelStatus(summary, logger, debugMode) {
|
|
|
358
319
|
'X-Title': 'Detected a new panel state and/or status',
|
|
359
320
|
},
|
|
360
321
|
});
|
|
322
|
+
return true;
|
|
361
323
|
}
|
|
362
324
|
catch (error) {
|
|
363
325
|
if (debugMode === true) {
|
|
364
326
|
debugLog(logger, 'detect.ts / detectedNewPanelStatus()', 'error', 'Failed to notify plugin author about the new panel state and/or status');
|
|
365
327
|
stackTracer('serialize-error', serializeError(error));
|
|
366
328
|
}
|
|
329
|
+
return false;
|
|
367
330
|
}
|
|
368
|
-
return true;
|
|
369
331
|
}
|
|
370
332
|
return false;
|
|
371
333
|
}
|
|
372
334
|
export async function detectedNewPortalVersion(version, logger, debugMode) {
|
|
373
|
-
const
|
|
374
|
-
'16.0.0-131',
|
|
375
|
-
'17.0.0-69',
|
|
376
|
-
'18.0.0-78',
|
|
377
|
-
'19.0.0-89',
|
|
378
|
-
'20.0.0-221',
|
|
379
|
-
'20.0.0-244',
|
|
380
|
-
'21.0.0-344',
|
|
381
|
-
'21.0.0-353',
|
|
382
|
-
'21.0.0-354',
|
|
383
|
-
'22.0.0-233',
|
|
384
|
-
'23.0.0-99',
|
|
385
|
-
'24.0.0-117',
|
|
386
|
-
'25.0.0-21',
|
|
387
|
-
'26.0.0-32',
|
|
388
|
-
'27.0.0-140',
|
|
389
|
-
];
|
|
390
|
-
const detectedNewVersion = (version.version !== null && !knownVersions.includes(version.version));
|
|
335
|
+
const detectedNewVersion = (version.version !== null && !portalVersionItems.includes(version.version));
|
|
391
336
|
if (detectedNewVersion) {
|
|
392
337
|
const cleanedData = removePersonalIdentifiableInformation(version);
|
|
393
338
|
try {
|
|
@@ -407,6 +352,7 @@ export async function detectedNewPortalVersion(version, logger, debugMode) {
|
|
|
407
352
|
debugLog(logger, 'detect.ts / detectedNewPortalVersion()', 'error', 'Failed to check if plugin is outdated');
|
|
408
353
|
stackTracer('serialize-error', serializeError(error));
|
|
409
354
|
}
|
|
355
|
+
return false;
|
|
410
356
|
}
|
|
411
357
|
if (logger !== null) {
|
|
412
358
|
logger.warn('Plugin has detected a new portal version. Notifying plugin author about this discovery ...');
|
|
@@ -426,42 +372,21 @@ export async function detectedNewPortalVersion(version, logger, debugMode) {
|
|
|
426
372
|
'X-Title': 'Detected a new portal version',
|
|
427
373
|
},
|
|
428
374
|
});
|
|
375
|
+
return true;
|
|
429
376
|
}
|
|
430
377
|
catch (error) {
|
|
431
378
|
if (debugMode === true) {
|
|
432
379
|
debugLog(logger, 'detect.ts / detectedNewPortalVersion()', 'error', 'Failed to notify plugin author about the new portal version');
|
|
433
380
|
stackTracer('serialize-error', serializeError(error));
|
|
434
381
|
}
|
|
382
|
+
return false;
|
|
435
383
|
}
|
|
436
|
-
return true;
|
|
437
384
|
}
|
|
438
385
|
return false;
|
|
439
386
|
}
|
|
440
387
|
export async function detectedNewSensorsInformation(sensors, logger, debugMode) {
|
|
441
|
-
const
|
|
442
|
-
|
|
443
|
-
'Carbon Monoxide Detector',
|
|
444
|
-
'Door/Window Sensor',
|
|
445
|
-
'Door Sensor',
|
|
446
|
-
'Fire (Smoke/Heat) Detector',
|
|
447
|
-
'Glass Break Detector',
|
|
448
|
-
'Keypad/Touchpad',
|
|
449
|
-
'Motion Sensor',
|
|
450
|
-
'Motion Sensor (Notable Events Only)',
|
|
451
|
-
'Shock Sensor',
|
|
452
|
-
'Silent Panic Button/Pendant',
|
|
453
|
-
'System/Supervisory',
|
|
454
|
-
'Temperature Sensor',
|
|
455
|
-
'Unknown Device Type',
|
|
456
|
-
'Water/Flood Sensor',
|
|
457
|
-
'Window Sensor',
|
|
458
|
-
];
|
|
459
|
-
const knownStatuses = [
|
|
460
|
-
'Online',
|
|
461
|
-
'Status Unknown',
|
|
462
|
-
];
|
|
463
|
-
const detectedNewInformation = sensors.filter((sensor) => (!knownDeviceTypes.includes(sensor.deviceType)
|
|
464
|
-
|| !knownStatuses.includes(sensor.status)));
|
|
388
|
+
const detectedNewInformation = sensors.filter((sensor) => (!sensorInformationDeviceTypeItems.includes(sensor.deviceType)
|
|
389
|
+
|| !sensorInformationStatusItems.includes(sensor.status)));
|
|
465
390
|
if (detectedNewInformation.length > 0) {
|
|
466
391
|
const cleanedData = removePersonalIdentifiableInformation(detectedNewInformation);
|
|
467
392
|
try {
|
|
@@ -481,6 +406,7 @@ export async function detectedNewSensorsInformation(sensors, logger, debugMode)
|
|
|
481
406
|
debugLog(logger, 'detect.ts / detectedNewSensorsInformation()', 'error', 'Failed to check if plugin is outdated');
|
|
482
407
|
stackTracer('serialize-error', serializeError(error));
|
|
483
408
|
}
|
|
409
|
+
return false;
|
|
484
410
|
}
|
|
485
411
|
if (logger !== null) {
|
|
486
412
|
logger.warn('Plugin has detected new sensors information. Notifying plugin author about this discovery ...');
|
|
@@ -500,48 +426,20 @@ export async function detectedNewSensorsInformation(sensors, logger, debugMode)
|
|
|
500
426
|
'X-Title': 'Detected new sensors information',
|
|
501
427
|
},
|
|
502
428
|
});
|
|
429
|
+
return true;
|
|
503
430
|
}
|
|
504
431
|
catch (error) {
|
|
505
432
|
if (debugMode === true) {
|
|
506
433
|
debugLog(logger, 'detect.ts / detectedNewSensorsInformation()', 'error', 'Failed to notify plugin author about the new sensors information');
|
|
507
434
|
stackTracer('serialize-error', serializeError(error));
|
|
508
435
|
}
|
|
436
|
+
return false;
|
|
509
437
|
}
|
|
510
|
-
return true;
|
|
511
438
|
}
|
|
512
439
|
return false;
|
|
513
440
|
}
|
|
514
441
|
export async function detectedNewSensorsStatus(sensors, logger, debugMode) {
|
|
515
|
-
const
|
|
516
|
-
'devStatAlarm',
|
|
517
|
-
'devStatLowBatt',
|
|
518
|
-
'devStatMotion',
|
|
519
|
-
'devStatOK',
|
|
520
|
-
'devStatOpen',
|
|
521
|
-
'devStatTamper',
|
|
522
|
-
'devStatUnknown',
|
|
523
|
-
];
|
|
524
|
-
const knownStatuses = [
|
|
525
|
-
'ALARM, Closed',
|
|
526
|
-
'ALARM, Okay',
|
|
527
|
-
'ALARM, Open',
|
|
528
|
-
'Bypassed, Closed',
|
|
529
|
-
'Bypassed, Open',
|
|
530
|
-
'Bypassed, Tripped',
|
|
531
|
-
'Closed',
|
|
532
|
-
'Low Battery, Motion',
|
|
533
|
-
'Low Battery, No Motion',
|
|
534
|
-
'Motion',
|
|
535
|
-
'No Motion',
|
|
536
|
-
'Okay',
|
|
537
|
-
'Open',
|
|
538
|
-
'Tripped',
|
|
539
|
-
'Trouble, Open',
|
|
540
|
-
'Trouble, Closed',
|
|
541
|
-
'Unknown',
|
|
542
|
-
];
|
|
543
|
-
const detectedNewStatuses = sensors.filter((sensor) => (!knownIcons.includes(sensor.icon)
|
|
544
|
-
|| !knownStatuses.includes(sensor.status)));
|
|
442
|
+
const detectedNewStatuses = sensors.filter((sensor) => !sensorStatusIconItems.includes(sensor.icon) || sensor.statuses.some((sensorStatus) => !sensorStatusStatusItems.includes(sensorStatus)));
|
|
545
443
|
if (detectedNewStatuses.length > 0) {
|
|
546
444
|
const cleanedData = removePersonalIdentifiableInformation(detectedNewStatuses);
|
|
547
445
|
try {
|
|
@@ -561,6 +459,7 @@ export async function detectedNewSensorsStatus(sensors, logger, debugMode) {
|
|
|
561
459
|
debugLog(logger, 'detect.ts / detectedNewSensorsStatus()', 'error', 'Failed to check if plugin is outdated');
|
|
562
460
|
stackTracer('serialize-error', serializeError(error));
|
|
563
461
|
}
|
|
462
|
+
return false;
|
|
564
463
|
}
|
|
565
464
|
if (logger !== null) {
|
|
566
465
|
logger.warn('Plugin has detected new sensors status. Notifying plugin author about this discovery ...');
|
|
@@ -580,14 +479,15 @@ export async function detectedNewSensorsStatus(sensors, logger, debugMode) {
|
|
|
580
479
|
'X-Title': 'Detected new sensors status',
|
|
581
480
|
},
|
|
582
481
|
});
|
|
482
|
+
return true;
|
|
583
483
|
}
|
|
584
484
|
catch (error) {
|
|
585
485
|
if (debugMode === true) {
|
|
586
486
|
debugLog(logger, 'detect.ts / detectedNewSensorsStatus()', 'error', 'Failed to notify plugin author about the new sensors status');
|
|
587
487
|
stackTracer('serialize-error', serializeError(error));
|
|
588
488
|
}
|
|
489
|
+
return false;
|
|
589
490
|
}
|
|
590
|
-
return true;
|
|
591
491
|
}
|
|
592
492
|
return false;
|
|
593
493
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/lib/detect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/lib/detect.ts"],"names":[],"mappings":"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"}
|