Skip to content

Commit

Permalink
Feature updates
Browse files Browse the repository at this point in the history
### UPDATED
- Renamed `ADTPulse` class to `ADTPulseAPI` for clarity because there is a new `ADTPulseAuth` class that interacts with initial setup.
- Types for `subdomain` moved from `credentials` object to a new shared `connection` object that was originally part of the `ADTPulseAPI` class (formerly `ADTPulse`).
- Credentials object (stores username, password, fingerprint) is now a shared type.

### FIXED
- False positive detection of orb security buttons due to changes in the "Status Unavailable" wording (extra period removed).
- `syncCheckRequestPath` should be `axiosSyncCheckRequestPath` instead.

### ADDED
- Plugin setup wizard (brand new settings panel coming soon).
- `ADTPulseAuth` class specifically used for authorizing randomly generated browser fingerprint.
- Security panel support for "DSC PowerSeries/ADT PremisePro".
- `armState` support for when system is undergoing sensor testing (`sensortest`).
- Separate functions that specifically generate fake data into their own `fake.ts` library.
- "EXIT FAULT ALARM" support into `panelNotes` section.

### REMOVED
- Device Fingerprint Detector tool (the correct fingerprints no longer generate correctly due to the canvas and screen resolution detections have changed).
- `colorLog` in REPL mode (replaced with the more mature `debugLog` instead).
  • Loading branch information
mrjackyliang committed Aug 12, 2024
1 parent 77f9a46 commit 0b2c579
Show file tree
Hide file tree
Showing 43 changed files with 6,513 additions and 1,459 deletions.
12 changes: 7 additions & 5 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@
{
"excludedFiles": [],
"extends": [
"airbnb-base"
"airbnb"
],
"files": [
"./**/*.js"
"./**/*.js",
"./**/*.jsx"
],
"rules": {
"import/extensions": [
Expand Down Expand Up @@ -49,11 +50,12 @@
{
"excludedFiles": [],
"extends": [
"airbnb-base",
"airbnb-typescript/base"
"airbnb",
"airbnb-typescript"
],
"files": [
"./**/*.ts"
"./**/*.ts",
"./**/*.tsx"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
Expand Down
8 changes: 2 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,9 @@ ADT Pulse is available to consumers in either the United States or Canada. To sp
Select the appropriate setting based on your country, as the ability to switch between countries is determined by the ADT region you are subscribed to.

## Finding the Device Fingerprint
Since the introduction of 2-factor authentication, a device fingerprint has become a necessity during login. To retrieve the fingerprint, follow these steps:
Since the introduction of 2-factor authentication, a device fingerprint has become a necessity during login.

1. Log in to the ADT Pulse portal, complete the MFA challenge, and choose to "Trust this device" (you can name the device as you see fit).
2. Using the same browser that was used for login, visit the [ADT Pulse Device Fingerprint Detector](https://raw.githack.com/mrjackyliang/homebridge-adt-pulse/main/fingerprint/index.html) web page.
3. Click the "Copy Fingerprint" button and paste it into the `fingerprint` value in the `config.json` file.

For a detailed breakdown of the device fingerprint contents, explore the "Device Details" tab located at the top right of the web page.
Starting from `v3.4.0`, you no longer need to use an external tool to retrieve the fingerprints. The dedicated Homebridge setup wizard will help retrieve your fingerprint for you.

## Specifying the Operational Mode
This plugin offers three operational modes: "Normal", "Paused", and "Reset". To configure these modes, use the following settings:
Expand Down
22 changes: 14 additions & 8 deletions config.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"pluginAlias": "ADTPulse",
"pluginType": "platform",
"singular": true,
"headerDisplay": "Welcome to the configuration page for **[ADT Pulse for Homebridge](https://github.com/mrjackyliang/homebridge-adt-pulse)**! You will find customizable settings to tailor your experience here. Start by inputting your login credentials, and then specify the sensors you want to incorporate into this setup.",
"footerDisplay": "For further assistance, please consult the [readme](https://github.com/mrjackyliang/homebridge-adt-pulse#readme) file. Should you encounter any issues, such as crashes or unexpected results, please [create a new issue](https://github.com/mrjackyliang/homebridge-adt-pulse/issues/new/choose) on GitHub.",
"customUi": true,
"customUiPath": "./build/config-ui",
"schema": {
"type": "object",
"properties": {
Expand All @@ -21,16 +21,16 @@
"title": "Portal Region",
"type": "string",
"required": true,
"description": "Select the portal region based on where you are subscribed in. For subscribers in Canada, choose \"Canada\" from the dropdown menu.",
"description": "Select the portal region based on where you are subscribed in.",
"oneOf": [
{
"title": "United States \uD83C\uDDFA\uD83C\uDDF8 - portal.adtpulse.com</span>",
"title": "United States \uD83C\uDDFA\uD83C\uDDF8</span>",
"enum": [
"portal"
]
},
{
"title": "Canada \uD83C\uDDE8\uD83C\uDDE6 - portal-ca.adtpulse.com",
"title": "Canada \uD83C\uDDE8\uD83C\uDDE6",
"enum": [
"portal-ca"
]
Expand Down Expand Up @@ -60,7 +60,7 @@
"title": "Fingerprint",
"type": "string",
"required": true,
"description": "After logging in and selecting \"Trust this device\", paste in the device fingerprint generated through the <a href=\"https://raw.githack.com/mrjackyliang/homebridge-adt-pulse/main/fingerprint/index.html\" target=\"_blank\">ADT Pulse Device Fingerprint Detector</a>.",
"description": "Generate a new fingerprint by deleting the configuration and re-running setup.",
"placeholder": "e.g. VGhpc0lzQVNlY3VyZVBhc3N3b3JkMTIzIQ==",
"minLength": 1,
"maxLength": 10240
Expand Down Expand Up @@ -291,14 +291,20 @@
{
"key": "password",
"type": "password"
},
}
]
},
{
"title": "Fingerprint",
"htmlClass": "px-3 pt-3 pb-0",
"items": [
{
"key": "fingerprint",
"type": "password"
},
{
"type": "help",
"helpvalue": "<div class=\"alert alert-primary\" role=\"alert\">If you wish, you can optionally view the \"Device Details\" tab to see what information the device fingerprint contains about your browser.</div>"
"helpvalue": "<div class=\"alert alert-primary\" role=\"alert\">In a future update, you will be able to utilize an upgraded settings panel that allows you to see the details of your fingerprint. Fingerprints generated are randomized.</div>"
}
]
},
Expand Down
106 changes: 0 additions & 106 deletions fingerprint/index.html

This file was deleted.

Loading

0 comments on commit 0b2c579

Please sign in to comment.