homebridge-adt-pulse 3.1.2 → 3.1.4

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.
@@ -1,64 +1,80 @@
1
1
  import axios from 'axios';
2
+ import _ from 'lodash';
2
3
  import { serializeError } from 'serialize-error';
3
- import { doSubmitHandlerRelativeUrlItems, doSubmitHandlerUrlParamsArmItems, doSubmitHandlerUrlParamsArmStateItems, doSubmitHandlerUrlParamsHrefItems, gatewayInformationStatusItems, orbSecurityButtonButtonTextItems, orbSecurityButtonLoadingTextItems, orbSecurityButtonRelativeUrlItems, orbSecurityButtonUrlParamsArmItems, orbSecurityButtonUrlParamsArmStateItems, orbSecurityButtonUrlParamsHrefItems, panelInformationStatusItems, portalVersionItems, sensorActionItems, sensorInformationDeviceTypeItems, sensorInformationStatusItems, sensorStatusIconItems, sensorStatusStatusItems, } from './items.js';
4
- import { debugLog, getDetectReportUrl, isPluginOutdated, removePersonalIdentifiableInformation, stackTracer, } from './utility.js';
4
+ import { collectionSensorActions, itemDoSubmitHandlerRelativeUrls, itemDoSubmitHandlerUrlParamsArms, itemDoSubmitHandlerUrlParamsArmStates, itemDoSubmitHandlerUrlParamsHrefs, itemGatewayInformationStatuses, itemOrbSecurityButtonButtonTexts, itemOrbSecurityButtonLoadingTexts, itemOrbSecurityButtonRelativeUrls, itemOrbSecurityButtonUrlParamsArms, itemOrbSecurityButtonUrlParamsArmStates, itemOrbSecurityButtonUrlParamsHrefs, itemPanelInformationStatuses, itemPortalVersions, itemSensorInformationDeviceTypes, itemSensorInformationStatuses, itemSensorStatusIcons, itemSensorStatusStatuses, } from './items.js';
5
+ import { debugLog, getDetectReportUrl, isEmptyOrbTextSummary, isPluginOutdated, isUnknownDoSubmitHandlerCollection, isUnknownGatewayDevice, isUnknownOrbSecurityButtonCollection, isUnknownPanelDevice, removePersonalIdentifiableInformation, stackTracer, } from './utility.js';
5
6
  export async function detectApiDebugParser(data, logger, debugMode) {
6
- const cleanedData = removePersonalIdentifiableInformation(data);
7
- try {
8
- const outdated = await isPluginOutdated();
9
- if (outdated) {
10
- if (logger !== null) {
11
- logger.warn(`Plugin has detected a parser anomaly for "${data.parserName}" due to ${data.parserReason}. You are running an older plugin version, please update soon.`);
7
+ const armDisarmHandlerAnomaly = data.method === 'armDisarmHandler' && isUnknownOrbSecurityButtonCollection(data.response);
8
+ const forceArmHandlerAnomaly = data.method === 'forceArmHandler' && isUnknownDoSubmitHandlerCollection(data.response);
9
+ const getGatewayInformationAnomaly = data.method === 'getGatewayInformation' && isUnknownGatewayDevice(data.response);
10
+ const getPanelInformationAnomaly = data.method === 'getPanelInformation' && isUnknownPanelDevice(data.response);
11
+ const getPanelStatusAnomaly = data.method === 'getPanelStatus' && isEmptyOrbTextSummary(data.response);
12
+ const getSensorsInformationAnomaly = data.method === 'getSensorsInformation' && data.response.length < 1;
13
+ const getSensorsStatusAnomaly = data.method === 'getSensorsStatus' && data.response.length < 1;
14
+ const setPanelStatusAnomaly = data.method === 'setPanelStatus' && isUnknownOrbSecurityButtonCollection(data.response);
15
+ if (armDisarmHandlerAnomaly
16
+ || forceArmHandlerAnomaly
17
+ || getGatewayInformationAnomaly
18
+ || getPanelInformationAnomaly
19
+ || getPanelStatusAnomaly
20
+ || getSensorsInformationAnomaly
21
+ || getSensorsStatusAnomaly
22
+ || setPanelStatusAnomaly) {
23
+ const cleanedData = removePersonalIdentifiableInformation(data);
24
+ const loggedData = _.omit(cleanedData, ['rawHtml']);
25
+ try {
26
+ const outdated = await isPluginOutdated();
27
+ if (outdated) {
28
+ if (logger !== null) {
29
+ logger.warn(`Plugin has detected a parser anomaly for "${data.method}". You are running an older plugin version, please update soon.`);
30
+ }
31
+ if (debugMode) {
32
+ debugLog(logger, 'detect.ts / detectApiDebugParser()', 'warn', `Plugin has detected a parser anomaly for "${data.method}". You are running an older plugin version, please update soon`);
33
+ }
34
+ return false;
12
35
  }
13
- if (debugMode) {
14
- debugLog(logger, 'detect.ts / detectApiDebugParser()', 'warn', `Plugin has detected a parser anomaly for "${data.parserName}" due to ${data.parserReason}. You are running an older plugin version, please update soon`);
36
+ }
37
+ catch (error) {
38
+ if (debugMode === true) {
39
+ debugLog(logger, 'detect.ts / detectApiDebugParser()', 'error', 'Failed to check if plugin is outdated');
40
+ stackTracer('serialize-error', serializeError(error));
15
41
  }
16
42
  return false;
17
43
  }
18
- }
19
- catch (error) {
20
- if (debugMode === true) {
21
- debugLog(logger, 'detect.ts / detectApiDebugParser()', 'error', 'Failed to check if plugin is outdated');
22
- stackTracer('serialize-error', serializeError(error));
44
+ if (logger !== null) {
45
+ logger.warn(`Plugin has detected a parser anomaly for "${data.method}". Notifying plugin author about this discovery ...`);
23
46
  }
24
- return false;
25
- }
26
- if (logger !== null) {
27
- logger.warn(`Plugin has detected a parser anomaly for "${data.parserName}" due to ${data.parserReason}. Notifying plugin author about this discovery ...`);
28
- }
29
- if (debugMode) {
30
- debugLog(logger, 'detect.ts / detectApiDebugParser()', 'warn', `Plugin has detected a parser anomaly for "${data.parserName}" due to ${data.parserReason}. Notifying plugin author about this discovery`);
31
- }
32
- stackTracer('detect-content', cleanedData);
33
- if (logger !== null) {
34
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
35
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
36
- }
37
- try {
38
- await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
39
- family: 4,
40
- headers: {
41
- 'User-Agent': 'homebridge-adt-pulse',
42
- 'X-Title': `Detected a parser anomaly for "${data.parserName}" due to ${data.parserReason}`,
43
- },
44
- });
45
- return true;
46
- }
47
- catch (error) {
48
- if (debugMode === true) {
49
- debugLog(logger, 'detect.ts / detectApiDebugParser()', 'error', `Failed to notify plugin author about the parser anomaly for "${data.parserName}" due to ${data.parserReason}`);
50
- stackTracer('serialize-error', serializeError(error));
47
+ if (debugMode) {
48
+ debugLog(logger, 'detect.ts / detectApiDebugParser()', 'warn', `Plugin has detected a parser anomaly for "${data.method}". Notifying plugin author about this discovery`);
49
+ }
50
+ stackTracer('detect-content', loggedData);
51
+ try {
52
+ await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
53
+ family: 4,
54
+ headers: {
55
+ 'User-Agent': 'homebridge-adt-pulse',
56
+ 'X-Title': `Detected a parser anomaly for "${data.method}"`,
57
+ },
58
+ });
59
+ return true;
60
+ }
61
+ catch (error) {
62
+ if (debugMode === true) {
63
+ debugLog(logger, 'detect.ts / detectApiDebugParser()', 'error', `Failed to notify plugin author about the parser anomaly for "${data.method}"`);
64
+ stackTracer('serialize-error', serializeError(error));
65
+ }
66
+ return false;
51
67
  }
52
- return false;
53
68
  }
69
+ return false;
54
70
  }
55
71
  export async function detectApiDoSubmitHandlers(handlers, logger, debugMode) {
56
- const detectedNewHandlers = handlers.filter((handler) => (!doSubmitHandlerRelativeUrlItems.includes(handler.relativeUrl)
72
+ const detectedNewHandlers = handlers.filter((handler) => (!itemDoSubmitHandlerRelativeUrls.includes(handler.relativeUrl)
57
73
  || (handler.urlParams.arm !== null
58
- && !doSubmitHandlerUrlParamsArmItems.includes(handler.urlParams.arm))
74
+ && !itemDoSubmitHandlerUrlParamsArms.includes(handler.urlParams.arm))
59
75
  || (handler.urlParams.armState !== null
60
- && !doSubmitHandlerUrlParamsArmStateItems.includes(handler.urlParams.armState))
61
- || !doSubmitHandlerUrlParamsHrefItems.includes(handler.urlParams.href)));
76
+ && !itemDoSubmitHandlerUrlParamsArmStates.includes(handler.urlParams.armState))
77
+ || !itemDoSubmitHandlerUrlParamsHrefs.includes(handler.urlParams.href)));
62
78
  if (detectedNewHandlers.length > 0) {
63
79
  const cleanedData = removePersonalIdentifiableInformation(detectedNewHandlers);
64
80
  try {
@@ -87,10 +103,6 @@ export async function detectApiDoSubmitHandlers(handlers, logger, debugMode) {
87
103
  debugLog(logger, 'detect.ts / detectApiDoSubmitHandlers()', 'warn', 'Plugin has detected new do submit handlers. Notifying plugin author about this discovery');
88
104
  }
89
105
  stackTracer('detect-content', cleanedData);
90
- if (logger !== null) {
91
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
92
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
93
- }
94
106
  try {
95
107
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
96
108
  family: 4,
@@ -112,7 +124,7 @@ export async function detectApiDoSubmitHandlers(handlers, logger, debugMode) {
112
124
  return false;
113
125
  }
114
126
  export async function detectApiGatewayInformation(device, logger, debugMode) {
115
- const detectedNewStatus = (device.status !== null && !gatewayInformationStatusItems.includes(device.status));
127
+ const detectedNewStatus = (device.status !== null && !itemGatewayInformationStatuses.includes(device.status));
116
128
  if (detectedNewStatus) {
117
129
  const cleanedData = removePersonalIdentifiableInformation(device);
118
130
  try {
@@ -141,10 +153,6 @@ export async function detectApiGatewayInformation(device, logger, debugMode) {
141
153
  debugLog(logger, 'detect.ts / detectApiGatewayInformation()', 'warn', 'Plugin has detected new gateway information. Notifying plugin author about this discovery');
142
154
  }
143
155
  stackTracer('detect-content', cleanedData);
144
- if (logger !== null) {
145
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
146
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
147
- }
148
156
  try {
149
157
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
150
158
  family: 4,
@@ -168,15 +176,15 @@ export async function detectApiGatewayInformation(device, logger, debugMode) {
168
176
  export async function detectApiOrbSecurityButtons(buttons, logger, debugMode) {
169
177
  const detectedNewButtons = buttons.filter((button) => ((!button.buttonDisabled
170
178
  && ((button.buttonText !== null
171
- && !orbSecurityButtonButtonTextItems.includes(button.buttonText))
172
- || !orbSecurityButtonLoadingTextItems.includes(button.loadingText)
173
- || !orbSecurityButtonRelativeUrlItems.includes(button.relativeUrl)
174
- || !orbSecurityButtonUrlParamsArmItems.includes(button.urlParams.arm)
175
- || !orbSecurityButtonUrlParamsArmStateItems.includes(button.urlParams.armState)
176
- || !orbSecurityButtonUrlParamsHrefItems.includes(button.urlParams.href)))
179
+ && !itemOrbSecurityButtonButtonTexts.includes(button.buttonText))
180
+ || !itemOrbSecurityButtonLoadingTexts.includes(button.loadingText)
181
+ || !itemOrbSecurityButtonRelativeUrls.includes(button.relativeUrl)
182
+ || !itemOrbSecurityButtonUrlParamsArms.includes(button.urlParams.arm)
183
+ || !itemOrbSecurityButtonUrlParamsArmStates.includes(button.urlParams.armState)
184
+ || !itemOrbSecurityButtonUrlParamsHrefs.includes(button.urlParams.href)))
177
185
  || (button.buttonDisabled
178
186
  && (button.buttonText !== null
179
- && !orbSecurityButtonLoadingTextItems.includes(button.buttonText)))));
187
+ && !itemOrbSecurityButtonLoadingTexts.includes(button.buttonText)))));
180
188
  if (detectedNewButtons.length > 0) {
181
189
  const cleanedData = removePersonalIdentifiableInformation(detectedNewButtons);
182
190
  try {
@@ -205,10 +213,6 @@ export async function detectApiOrbSecurityButtons(buttons, logger, debugMode) {
205
213
  debugLog(logger, 'detect.ts / detectApiOrbSecurityButtons()', 'warn', 'Plugin has detected new orb security buttons. Notifying plugin author about this discovery');
206
214
  }
207
215
  stackTracer('detect-content', cleanedData);
208
- if (logger !== null) {
209
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
210
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
211
- }
212
216
  try {
213
217
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
214
218
  family: 4,
@@ -230,7 +234,7 @@ export async function detectApiOrbSecurityButtons(buttons, logger, debugMode) {
230
234
  return false;
231
235
  }
232
236
  export async function detectApiPanelInformation(device, logger, debugMode) {
233
- const detectedNewStatus = (device.status !== null && !panelInformationStatusItems.includes(device.status));
237
+ const detectedNewStatus = (device.status !== null && !itemPanelInformationStatuses.includes(device.status));
234
238
  if (detectedNewStatus) {
235
239
  const cleanedData = removePersonalIdentifiableInformation(device);
236
240
  try {
@@ -259,10 +263,6 @@ export async function detectApiPanelInformation(device, logger, debugMode) {
259
263
  debugLog(logger, 'detect.ts / detectApiPanelInformation()', 'warn', 'Plugin has detected new panel information. Notifying plugin author about this discovery');
260
264
  }
261
265
  stackTracer('detect-content', cleanedData);
262
- if (logger !== null) {
263
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
264
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
265
- }
266
266
  try {
267
267
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
268
268
  family: 4,
@@ -313,10 +313,6 @@ export async function detectApiPanelStatus(summary, logger, debugMode) {
313
313
  debugLog(logger, 'detect.ts / detectApiPanelStatus()', 'warn', 'Plugin has detected a new panel state and/or status. Notifying plugin author about this discovery');
314
314
  }
315
315
  stackTracer('detect-content', cleanedData);
316
- if (logger !== null) {
317
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
318
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
319
- }
320
316
  try {
321
317
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
322
318
  family: 4,
@@ -338,7 +334,7 @@ export async function detectApiPanelStatus(summary, logger, debugMode) {
338
334
  return false;
339
335
  }
340
336
  export async function detectApiPortalVersion(version, logger, debugMode) {
341
- const detectedNewVersion = (version.version !== null && !portalVersionItems.includes(version.version));
337
+ const detectedNewVersion = (version.version !== null && !itemPortalVersions.includes(version.version));
342
338
  if (detectedNewVersion) {
343
339
  const cleanedData = removePersonalIdentifiableInformation(version);
344
340
  try {
@@ -367,10 +363,6 @@ export async function detectApiPortalVersion(version, logger, debugMode) {
367
363
  debugLog(logger, 'detect.ts / detectApiPortalVersion()', 'warn', 'Plugin has detected a new portal version. Notifying plugin author about this discovery');
368
364
  }
369
365
  stackTracer('detect-content', cleanedData);
370
- if (logger !== null) {
371
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
372
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
373
- }
374
366
  try {
375
367
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
376
368
  family: 4,
@@ -392,8 +384,8 @@ export async function detectApiPortalVersion(version, logger, debugMode) {
392
384
  return false;
393
385
  }
394
386
  export async function detectApiSensorsInformation(sensors, logger, debugMode) {
395
- const detectedNewInformation = sensors.filter((sensor) => (!sensorInformationDeviceTypeItems.includes(sensor.deviceType)
396
- || !sensorInformationStatusItems.includes(sensor.status)));
387
+ const detectedNewInformation = sensors.filter((sensor) => (!itemSensorInformationDeviceTypes.includes(sensor.deviceType)
388
+ || !itemSensorInformationStatuses.includes(sensor.status)));
397
389
  if (detectedNewInformation.length > 0) {
398
390
  const cleanedData = removePersonalIdentifiableInformation(detectedNewInformation);
399
391
  try {
@@ -422,10 +414,6 @@ export async function detectApiSensorsInformation(sensors, logger, debugMode) {
422
414
  debugLog(logger, 'detect.ts / detectApiSensorsInformation()', 'warn', 'Plugin has detected new sensors information. Notifying plugin author about this discovery');
423
415
  }
424
416
  stackTracer('detect-content', cleanedData);
425
- if (logger !== null) {
426
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
427
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
428
- }
429
417
  try {
430
418
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
431
419
  family: 4,
@@ -447,7 +435,7 @@ export async function detectApiSensorsInformation(sensors, logger, debugMode) {
447
435
  return false;
448
436
  }
449
437
  export async function detectApiSensorsStatus(sensors, logger, debugMode) {
450
- const detectedNewStatuses = sensors.filter((sensor) => !sensorStatusIconItems.includes(sensor.icon) || sensor.statuses.some((sensorStatus) => !sensorStatusStatusItems.includes(sensorStatus)));
438
+ const detectedNewStatuses = sensors.filter((sensor) => !itemSensorStatusIcons.includes(sensor.icon) || sensor.statuses.some((sensorStatus) => !itemSensorStatusStatuses.includes(sensorStatus)));
451
439
  if (detectedNewStatuses.length > 0) {
452
440
  const cleanedData = removePersonalIdentifiableInformation(detectedNewStatuses);
453
441
  try {
@@ -476,10 +464,6 @@ export async function detectApiSensorsStatus(sensors, logger, debugMode) {
476
464
  debugLog(logger, 'detect.ts / detectApiSensorsStatus()', 'warn', 'Plugin has detected new sensors status. Notifying plugin author about this discovery');
477
465
  }
478
466
  stackTracer('detect-content', cleanedData);
479
- if (logger !== null) {
480
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
481
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
482
- }
483
467
  try {
484
468
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
485
469
  family: 4,
@@ -530,10 +514,6 @@ export async function detectPlatformSensorCountMismatch(data, logger, debugMode)
530
514
  debugLog(logger, 'detect.ts / detectPlatformSensorCountMismatch()', 'warn', 'Plugin has detected a sensor count mismatch. Notifying plugin author about this discovery');
531
515
  }
532
516
  stackTracer('detect-content', cleanedData);
533
- if (logger !== null) {
534
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
535
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
536
- }
537
517
  try {
538
518
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
539
519
  family: 4,
@@ -559,7 +539,7 @@ export async function detectPlatformUnknownSensorsAction(sensors, logger, debugM
559
539
  const sensorStatusStatuses = sensor.status.statuses;
560
540
  const sensorType = sensor.type;
561
541
  const stringifiedStatuses = sensorStatusStatuses.join(', ');
562
- const currentType = sensorActionItems.find((sensorActionItem) => sensorActionItem.type === sensorType);
542
+ const currentType = collectionSensorActions.find((collectionSensorAction) => collectionSensorAction.type === sensorType);
563
543
  if (currentType === undefined) {
564
544
  return false;
565
545
  }
@@ -593,10 +573,6 @@ export async function detectPlatformUnknownSensorsAction(sensors, logger, debugM
593
573
  debugLog(logger, 'detect.ts / detectPlatformUnknownSensorsAction()', 'warn', 'Plugin has detected unknown sensors action. Notifying plugin author about this discovery');
594
574
  }
595
575
  stackTracer('detect-content', cleanedData);
596
- if (logger !== null) {
597
- logger.warn('For transparency, the section of code you see above will be sent to the author directly. Rest assured, your privacy is prioritized.');
598
- logger.warn('This message will NOT go away by restarting Homebridge. An update MUST become available first. Please be patient, thank you!');
599
- }
600
576
  try {
601
577
  await axios.post(getDetectReportUrl(), JSON.stringify(cleanedData, null, 2), {
602
578
  family: 4,
@@ -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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"}