You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### UPDATED
- Universal `.gitignore` file.
- Limit sensor zones to support only from Zone 1 through 99 due to unwanted rogue devices appearing as sensors.
- Naming convention for documented items (now sorted into collections, devices, and items for clarity).
- Rewritten debug parser detector to better detect parser anomalies.
- `generateHash` function now only accepts objects and array of objects to remove data that does not necessarily need to be hashed (e.g. "Last Update" or `rawHtml`).
- Logs will not include `rawHtml` anymore since it fills up the screen full of information that is best sent to the developer automatically.
- Changed wording for debug logs regarding stale login sessions.
### FIXED
- Missing "Tampered" status documentation in sensor statuses.
### ADDED
- GitHub workflows.
- Keep alive requests will now check for error codes so logs don't get unnecessarily spammed.
- Privacy notice in `README.md` that if the plugin detects anomalies, information sent to the plugin author will include unfiltered raw HTML.
### REMOVED
- `FunctionName` type.
- User reminders for when the detector function sends information out since `rawHtml` is not included in logs anymore due to it taking up too much space.
Copy file name to clipboardExpand all lines: README.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -145,6 +145,9 @@ All sensors are now organized within an array of objects, with each object conta
145
145
- For example, if the type is "Door/Window Sensor", the value should be `doorWindow`. Read the [Supported Devices](#supported-devices) section for more information.
146
146
-__ADT Zone__ (`adtZone`)
147
147
- Must match the zone shown under the "Zone" column in the "System" tab when logged into the portal.
148
+
- For compatibility reasons, only devices with zones 1 through 99 are supported.
149
+
150
+
If you do not wish to add sensors, simply assign an empty array (e.g. `[]`). However, it is advisable to include all supported sensors, as having none does not optimize plugin performance.
148
151
149
152
If you do not find the supported type listed, please note that the plugin will notify me. Do not create a separate issue on GitHub. I am actively working on adding support as soon as I gather sufficient information to determine the statuses displayed on the portal.
150
153
@@ -257,7 +260,9 @@ Here is an example of the information I see when the plugin detects unknown stat
257
260
}
258
261
}
259
262
```
260
-
__Notice:__ If you prefer to prevent this functionality, you can block the URL that the plugin utilizes to notify me. However, it is essential to note that I will not be able to offer assistance or support if you choose to impede the plugin from fulfilling its purpose to the best of its capabilities.
263
+
__Note:__ If you prefer to prevent this functionality, you can block the URL that the plugin utilizes to notify me. However, it is essential to note that I will not be able to offer assistance or support if you choose to impede the plugin from fulfilling its purpose to the best of its capabilities.
264
+
265
+
__Note 2:__ In certain scenarios, the plugin may identify anomalies while parsing portal data. Such reports may contain raw HTML data (redacted in the logs). To ensure prompt updates, the raw HTML sent to me will remain unfiltered.
261
266
262
267
## Credits and Appreciation
263
268
If you find value in the ongoing development of this plugin and wish to express your appreciation, you have the option to become my supporter on [GitHub Sponsors](https://github.com/sponsors/mrjackyliang)!
Copy file name to clipboardExpand all lines: config.schema.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -233,7 +233,7 @@
233
233
"description": "Specify the <strong class=\"font-weight-bold\">exact zone</strong> associated with the sensor you want to add. Double-check the zone to ensure the correct sensor is added.",
debugLog(this.#internal.logger,'api.ts / ADTPulse.getGatewayInformation()','warn','The fetchTableCells() function may be parsing the gateway information incorrectly');
debugLog(this.#internal.logger,'api.ts / ADTPulse.getGatewayInformation()','success',`Successfully retrieved gateway information from "${this.#internal.baseUrl}"`);
@@ -941,9 +927,6 @@ export class ADTPulse {
941
927
}),
942
928
);
943
929
944
-
// TODO Check for 500 Internal Server Error (add it to every API method).
945
-
// TODO sessions.axiosSystemDeviceId1.status
946
-
947
930
// If the "ClientRequest" object does not exist in the Axios response.
&&Object.keys(fetchedTableCells).length!==5// Safewatch Pro 3000/3000CN.
1096
-
){
1097
-
if(this.#internal.debug){
1098
-
debugLog(this.#internal.logger,'api.ts / ADTPulse.getPanelInformation()','warn','The fetchTableCells() function may be parsing the panel information incorrectly');
debugLog(this.#internal.logger,'api.ts / ADTPulse.getPanelInformation()','success',`Successfully retrieved panel information from "${this.#internal.baseUrl}"`);
// If the parsing function may be parsing data incorrectly.
1325
-
if(isEmptyOrbTextSummary(parsedOrbTextSummary)){
1326
-
if(this.#internal.debug){
1327
-
debugLog(this.#internal.logger,'api.ts / ADTPulse.getPanelStatus()','warn','The parseOrbTextSummary() function may be parsing sensors information incorrectly');
debugLog(this.#internal.logger,'api.ts / ADTPulse.setPanelStatus()','warn','The parseOrbSecurityButtons() function may be parsing the orb security buttons incorrectly');
// Only keep all ready (enabled) orb security buttons.
1669
1626
letreadyButtons=parsedOrbSecurityButtons.filter((parsedOrbSecurityButton): parsedOrbSecurityButton is ADTPulseSetPanelStatusReadyButton=>!parsedOrbSecurityButton.buttonDisabled);
// If the parsing function may be parsing data incorrectly.
2012
-
if(parsedSensorsTable.length<1){
2013
-
if(this.#internal.debug){
2014
-
debugLog(this.#internal.logger,'api.ts / ADTPulse.getSensorsInformation()','warn','The parseSensorsTable() function may be parsing the sensors table incorrectly');
debugLog(this.#internal.logger,'api.ts / ADTPulse.getSensorsInformation()','success',`Successfully retrieved sensors information from "${this.#internal.baseUrl}"`);
// If the parsing function may be parsing data incorrectly.
2264
-
if(parsedOrbSensors.length<1){
2265
-
if(this.#internal.debug){
2266
-
debugLog(this.#internal.logger,'api.ts / ADTPulse.getSensorsStatus()','warn','The parseOrbSensors() function may be parsing the orb sensors incorrectly');
debugLog(this.#internal.logger,'api.ts / ADTPulse.getSensorsStatus()','success',`Successfully retrieved sensors status from "${this.#internal.baseUrl}"`);
debugLog(this.#internal.logger,'api.ts / ADTPulse.armDisarmHandler()','warn','The parseOrbSecurityButtons() function may be parsing the orb security buttons incorrectly');
letreadyButtons=parsedOrbSecurityButtons.filter((parsedOrbSecurityButton): parsedOrbSecurityButton is ADTPulseArmDisarmHandlerReadyButton=>!parsedOrbSecurityButton.buttonDisabled);
// If the parsing function may be parsing data incorrectly.
3167
-
if(
3168
-
parsedDoSubmitHandlers.length!==0// No force arming required.
3169
-
&&parsedDoSubmitHandlers.length!==2// Force arming required.
3170
-
){
3171
-
if(this.#internal.debug){
3172
-
debugLog(this.#internal.logger,'api.ts / ADTPulse.armDisarmHandler()','warn','The parseDoSubmitHandlers() function may be parsing the do submit handlers incorrectly');
0 commit comments