homebridge-adt-pulse 3.0.0-beta.5 → 3.0.0-beta.6

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 CHANGED
@@ -11,7 +11,6 @@ This is a [verified Homebridge plugin](https://github.com/homebridge/homebridge/
11
11
  # Please install the beta version!
12
12
  ### This plugin is completely re-written from the ground up, and I need everyone on board! Please install the pre-release version, so I can quickly get a faster and more stable version to you!
13
13
  ### Everything is still very sloppy, please bear with me, even the readme has to be re-written.
14
- ### In the meantime, do not use the UI to configure your plugin (the latest config is below). The UI uses v2 (this is now v3) config. All sensors will now HAVE TO be added manually to prevent automatic-adding/removals if ADT strikes a bug to break things again.
15
14
 
16
15
  To use this plugin, here are three simple steps you need to follow:
17
16
  1. Run `npm install homebridge-adt-pulse`
@@ -28,10 +27,12 @@ When configuring this plugin, simply add the platform to your existing `config.j
28
27
  {
29
28
  "platform": "ADTPulse",
30
29
  "name": "ADT Pulse",
31
- "subdomain": "CAN BE 'portal' (USA) or 'portal-ca' (Canada)",
32
- "username": "email@email.com",
33
- "password": "1234567890",
34
- "fingerprint": "abcdef1234567890=",
30
+ "subdomain": "portal",
31
+ "username": "user@example.com",
32
+ "password": "Mys7r0nG!P@ssw0rd",
33
+ "fingerprint": "VGhpc0lzQVNlY3VyZVBhc3N3b3JkMTIzIQ==",
34
+ "mode": "normal",
35
+ "speed": 1,
35
36
  "sensors": [
36
37
  {
37
38
  "name": "Lounge Smoke",
@@ -39,9 +40,7 @@ When configuring this plugin, simply add the platform to your existing `config.j
39
40
  "adtType": "fire",
40
41
  "adtZone": 1
41
42
  }
42
- ],
43
- "pause": false,
44
- "reset": false
43
+ ]
45
44
  },
46
45
  {
47
46
  "platform": "...",
@@ -2,234 +2,305 @@
2
2
  "pluginAlias": "ADTPulse",
3
3
  "pluginType": "platform",
4
4
  "singular": true,
5
- "headerDisplay": "An account to link your [ADT Pulse](https://portal.adtpulse.com/) system to Homebridge is required. This will be used to control your security panel and read sensor status.",
6
- "footerDisplay": "If you need assistance, you may read the [plugin instructions](https://github.com/mrjackyliang/homebridge-adt-pulse#readme) or feel free to [submit an issue](https://github.com/mrjackyliang/homebridge-adt-pulse/issues/new/choose).",
5
+ "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.",
6
+ "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.",
7
7
  "schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "name": {
11
11
  "title": "Name",
12
12
  "type": "string",
13
+ "required": true,
14
+ "description": "Enter a unique name for this plugin. The name will mainly be used for identification purposes, such as in Homebridge logs.",
13
15
  "default": "ADT Pulse",
16
+ "placeholder": "ADT Pulse",
17
+ "minLength": 1,
18
+ "maxLength": 50
19
+ },
20
+ "subdomain": {
21
+ "title": "Portal Region",
22
+ "type": "string",
14
23
  "required": true,
15
- "description": "Plugin name as displayed in the Homebridge log"
24
+ "description": "Select the portal region based on where you are subscribed in. For subscribers in Canada, choose \"Canada\" from the dropdown menu.",
25
+ "oneOf": [
26
+ {
27
+ "title": "United States \uD83C\uDDFA\uD83C\uDDF8 - portal.adtpulse.com</span>",
28
+ "enum": [
29
+ "portal"
30
+ ]
31
+ },
32
+ {
33
+ "title": "Canada \uD83C\uDDE8\uD83C\uDDE6 - portal-ca.adtpulse.com",
34
+ "enum": [
35
+ "portal-ca"
36
+ ]
37
+ }
38
+ ],
39
+ "default": "portal"
16
40
  },
17
41
  "username": {
18
42
  "title": "Username",
19
43
  "type": "string",
20
- "default": "",
21
44
  "required": true,
22
- "format": "email",
23
- "minLength": 6,
24
- "maxLength": 50,
25
- "description": "Email address used for ADT Pulse login"
45
+ "description": "Provide the username you use to login to the portal.",
46
+ "placeholder": "e.g. user@example.com",
47
+ "minLength": 1,
48
+ "maxLength": 100
26
49
  },
27
50
  "password": {
28
51
  "title": "Password",
29
52
  "type": "string",
30
- "default": "",
31
53
  "required": true,
32
- "minLength": 8,
33
- "maxLength": 50,
34
- "description": "Password used for ADT Pulse login"
54
+ "description": "Provide the password you use to login to the portal.",
55
+ "placeholder": "e.g. Mys7r0nG!P@ssw0rd",
56
+ "minLength": 1,
57
+ "maxLength": 300
35
58
  },
36
59
  "fingerprint": {
37
- "title": "MFA Fingerprint",
60
+ "title": "Fingerprint",
38
61
  "type": "string",
39
- "default": "",
40
62
  "required": true,
41
- "description": "MFA Fingerprint from browser registered with ADT Pulse"
63
+ "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>.",
64
+ "placeholder": "e.g. VGhpc0lzQVNlY3VyZVBhc3N3b3JkMTIzIQ==",
65
+ "minLength": 1,
66
+ "maxLength": 5120
42
67
  },
43
- "overrideSensors": {
44
- "title": "Override Sensors",
68
+ "mode": {
69
+ "title": "Operational Mode",
70
+ "type": "string",
71
+ "required": true,
72
+ "description": "Choose the operational mode for the plugin. Debug mode is enabled only when Homebridge debug mode is on; there is no separate setting for this.",
73
+ "oneOf": [
74
+ {
75
+ "title": "Normal",
76
+ "enum": [
77
+ "normal"
78
+ ]
79
+ },
80
+ {
81
+ "title": "Paused",
82
+ "enum": [
83
+ "paused"
84
+ ]
85
+ },
86
+ {
87
+ "title": "Reset (danger)",
88
+ "enum": [
89
+ "reset"
90
+ ]
91
+ }
92
+ ],
93
+ "default": "normal"
94
+ },
95
+ "speed": {
96
+ "title": "Operational Speed",
97
+ "type": "number",
98
+ "required": true,
99
+ "description": "Choose the operational speed for the plugin. Designed to enhance the performance of devices with older hardware. May result in slower device updates.",
100
+ "oneOf": [
101
+ {
102
+ "title": "Normal Speed (1x)",
103
+ "enum": [
104
+ 1
105
+ ]
106
+ },
107
+ {
108
+ "title": "Moderate Speed (0.75x)",
109
+ "enum": [
110
+ 0.75
111
+ ]
112
+ },
113
+ {
114
+ "title": "Slower Speed (0.5x)",
115
+ "enum": [
116
+ 0.5
117
+ ]
118
+ },
119
+ {
120
+ "title": "Slowest Speed (0.25x)",
121
+ "enum": [
122
+ 0.25
123
+ ]
124
+ }
125
+ ],
126
+ "default": 1
127
+ },
128
+ "sensors": {
129
+ "title": "Sensors",
45
130
  "type": "array",
131
+ "required": true,
132
+ "description": "Define your sensors here. Sensors include devices like \"Door/Window Sensor\" or \"Motion Sensor\". <strong class=\"font-weight-bold\">Please note that Z-Wave accessories are not supported.</strong> Ensure at least one sensor is specified for proper functionality.",
46
133
  "items": {
47
134
  "type": "object",
48
135
  "properties": {
49
136
  "name": {
50
137
  "title": "Name",
51
138
  "type": "string",
52
- "default": "",
139
+ "required": false,
140
+ "description": "<strong class=\"font-weight-bold\">Optional.</strong> Provide a display name for this sensor to differentiate it from the names assigned by ADT technicians during installation.",
141
+ "placeholder": "e.g. Family Room Couch Window 1",
142
+ "minLength": 1,
143
+ "maxLength": 50
144
+ },
145
+ "adtName": {
146
+ "title": "ADT Sensor Name",
147
+ "type": "string",
53
148
  "required": true,
54
- "description": "The sensor name for the sensor you would like to override"
149
+ "description": "Specify the <strong class=\"font-weight-bold\">exact name</strong> associated with the sensor you want to add. Double-check the names to ensure they don't include extra characters when copying and pasting.",
150
+ "placeholder": "e.g. Family Room Window (99)",
151
+ "minLength": 1,
152
+ "maxLength": 100
55
153
  },
56
- "type": {
57
- "title": "Type",
154
+ "adtType": {
155
+ "title": "ADT Sensor Type",
58
156
  "type": "string",
59
- "default": "",
157
+ "required": true,
158
+ "description": "Select the <strong class=\"font-weight-bold\">type</strong> associated with the sensor you want to add. Ensure your selection matches the sensor type, as selecting the wrong type may lead to incorrect status detection.",
60
159
  "oneOf": [
61
160
  {
62
- "title": "Door/Window Sensor",
161
+ "title": "Carbon Monoxide Detector",
162
+ "enum": [
163
+ "co"
164
+ ]
165
+ },
166
+ {
167
+ "title": "Door/Window Sensor / Door Sensor / Window Sensor",
168
+ "enum": [
169
+ "doorWindow"
170
+ ]
171
+ },
172
+ {
173
+ "title": "Fire (Smoke/Heat) Detector",
63
174
  "enum": [
64
- "sensor,doorWindow"
175
+ "fire"
65
176
  ]
66
177
  },
67
178
  {
68
179
  "title": "Glass Break Detector",
69
180
  "enum": [
70
- "sensor,glass"
181
+ "glass"
71
182
  ]
72
183
  },
73
184
  {
74
- "title": "Motion Sensor",
185
+ "title": "Motion Sensor / Motion Sensor (Notable Events Only)",
75
186
  "enum": [
76
- "sensor,motion"
187
+ "motion"
77
188
  ]
78
189
  },
79
190
  {
80
- "title": "Carbon Monoxide Detector",
191
+ "title": "Temperature Sensor",
81
192
  "enum": [
82
- "sensor,co"
193
+ "temperature"
83
194
  ]
84
195
  },
85
196
  {
86
- "title": "Fire (Smoke/Heat) Detector",
197
+ "title": "Water/Flood Sensor",
87
198
  "enum": [
88
- "sensor,fire"
199
+ "flood"
89
200
  ]
90
201
  }
91
- ],
202
+ ]
203
+ },
204
+ "adtZone": {
205
+ "title": "ADT Sensor Zone",
206
+ "type": "number",
92
207
  "required": true,
93
- "description": "The sensor type for the sensor you would like to override"
208
+ "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.",
209
+ "placeholder": "e.g. 99",
210
+ "minimum": 1,
211
+ "maximum": 99
94
212
  }
95
213
  }
96
214
  },
97
- "description": "When a sensor cannot be detected accurately, you can manually set the sensor here to override the default detection features"
98
- },
99
- "country": {
100
- "title": "Country",
101
- "type": "string",
102
- "default": "us",
103
- "oneOf": [
104
- {
105
- "title": "United States",
106
- "enum": [
107
- "us"
108
- ]
109
- },
110
- {
111
- "title": "Canada",
112
- "enum": [
113
- "ca"
114
- ]
115
- }
116
- ],
117
- "required": false,
118
- "description": "Select a country where ADT Pulse will connect to"
119
- },
120
- "logLevel": {
121
- "title": "Log Level",
122
- "type": "integer",
123
- "default": 30,
124
- "oneOf": [
125
- {
126
- "title": "Errors (Level 10)",
127
- "enum": [
128
- 10
129
- ]
130
- },
131
- {
132
- "title": "Warnings (Level 20)",
133
- "enum": [
134
- 20
135
- ]
136
- },
137
- {
138
- "title": "Info (Level 30)",
139
- "enum": [
140
- 30
141
- ]
142
- },
143
- {
144
- "title": "Debug (Level 40)",
145
- "enum": [
146
- 40
147
- ]
148
- },
149
- {
150
- "title": "Verbose (Level 50)",
151
- "enum": [
152
- 50
153
- ]
154
- }
155
- ],
156
- "required": false,
157
- "pattern": "^([1-5])([0])$",
158
- "description": "Higher levels mean more logs will show. Turn on Homebridge Debug Mode for levels 40 and 50. Recommended setting is \"Info (Level 30)\""
159
- },
160
- "logActivity": {
161
- "title": "Log Activity",
162
- "type": "boolean",
163
- "default": true,
164
- "required": false
165
- },
166
- "removeObsoleteZones": {
167
- "title": "Remove Obsolete Zones",
168
- "type": "boolean",
169
- "default": true,
170
- "required": false
171
- },
172
- "pausePlugin": {
173
- "title": "Pause Plugin",
174
- "type": "boolean",
175
- "default": false,
176
- "required": false
177
- },
178
- "resetAll": {
179
- "title": "Reset Plugin \uD83D\uDED1",
180
- "type": "boolean",
181
- "default": false,
182
- "required": false
215
+ "minItems": 1,
216
+ "maxItems": 148
183
217
  }
184
218
  }
185
219
  },
186
220
  "layout": [
187
221
  {
188
- "key": "name"
189
- },
190
- {
191
- "display": "flex",
192
- "flex-flow": "row nowrap",
193
- "justify-content": "space-between",
194
- "items": [
222
+ "type": "tabs",
223
+ "tabs": [
224
+ {
225
+ "title": "General",
226
+ "htmlClass": "px-3 pt-3 pb-0",
227
+ "items": [
228
+ {
229
+ "key": "name",
230
+ "type": "text"
231
+ },
232
+ {
233
+ "key": "mode",
234
+ "type": "select"
235
+ },
236
+ {
237
+ "key": "speed",
238
+ "type": "select"
239
+ }
240
+ ]
241
+ },
195
242
  {
196
- "key": "username",
197
- "flex": "1 0 0px"
243
+ "title": "Login",
244
+ "htmlClass": "px-3 pt-3 pb-0",
245
+ "items": [
246
+ {
247
+ "key": "subdomain",
248
+ "type": "select"
249
+ },
250
+ {
251
+ "key": "username",
252
+ "type": "text"
253
+ },
254
+ {
255
+ "key": "password",
256
+ "type": "password"
257
+ },
258
+ {
259
+ "key": "fingerprint",
260
+ "type": "password"
261
+ },
262
+ {
263
+ "type": "help",
264
+ "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>"
265
+ }
266
+ ]
198
267
  },
199
268
  {
200
- "key": "password",
201
- "flex": "1 0 0px"
269
+ "title": "Devices",
270
+ "htmlClass": "px-3 pt-3 pb-0",
271
+ "items": [
272
+ {
273
+ "key": "sensors",
274
+ "htmlClass": "p-10",
275
+ "buttonText": "Add Sensor",
276
+ "items": [
277
+ {
278
+ "type": "div",
279
+ "htmlClass": "my-3",
280
+ "items": [
281
+ {
282
+ "key": "sensors[].name",
283
+ "type": "text"
284
+ },
285
+ {
286
+ "key": "sensors[].adtName",
287
+ "type": "text"
288
+ },
289
+ {
290
+ "key": "sensors[].adtType",
291
+ "type": "select"
292
+ },
293
+ {
294
+ "key": "sensors[].adtZone",
295
+ "type": "number"
296
+ }
297
+ ]
298
+ }
299
+ ]
300
+ }
301
+ ]
202
302
  }
203
303
  ]
204
- },
205
- {
206
- "key": "fingerprint"
207
- },
208
- {
209
- "key": "overrideSensors",
210
- "buttonText": "Add Sensor",
211
- "items": [
212
- "overrideSensors[].name",
213
- "overrideSensors[].type"
214
- ]
215
- },
216
- {
217
- "key": "country"
218
- },
219
- {
220
- "key": "logLevel"
221
- },
222
- {
223
- "key": "logActivity"
224
- },
225
- {
226
- "key": "removeObsoleteZones"
227
- },
228
- {
229
- "key": "pausePlugin"
230
- },
231
- {
232
- "key": "resetAll"
233
304
  }
234
305
  ],
235
306
  "form": null,
@@ -75,18 +75,45 @@ export class ADTPulsePlatform {
75
75
  logger: this.#log,
76
76
  });
77
77
  this.printSystemInformation();
78
- this.#log.info(`${chalk.bold.yellowBright('NOTICE')}: The API gathers anonymous analytics to detect potential bugs or issues. All personally identifiable information redacted. You will see exactly what will be sent out.`);
79
- if (this.#config.pause === true) {
78
+ this.#log.info('The API gathers anonymous analytics to detect potential bugs or issues. All personally identifiable information redacted. You will see exactly what will be sent out.');
79
+ if (this.#config.mode === 'paused') {
80
80
  this.#log.warn('Plugin is now paused and all related accessories will no longer respond.');
81
81
  return;
82
82
  }
83
- if (this.#config.reset === true) {
83
+ if (this.#config.mode === 'reset') {
84
+ let warningCount = 0;
85
+ let warningTerm = '';
86
+ this.#log.warn('Plugin started in reset mode and will remove all accessories shortly.');
87
+ await sleep(10000);
88
+ for (let i = 3; i >= 1; i -= 1) {
89
+ const seconds = 10 * i;
90
+ warningCount += 1;
91
+ switch (warningCount) {
92
+ case 1:
93
+ warningTerm = 'FIRST';
94
+ break;
95
+ case 2:
96
+ warningTerm = 'SECOND';
97
+ break;
98
+ case 3:
99
+ default:
100
+ warningTerm = 'FINAL';
101
+ break;
102
+ }
103
+ this.#log.warn(`${warningTerm} WARNING! ${seconds} SECONDS REMAINING before all related accessories are removed.`);
104
+ await sleep(10000);
105
+ }
84
106
  this.#log.warn('Plugin is now removing all related accessories from Homebridge ...');
85
107
  for (let i = this.accessories.length - 1; i >= 0; i -= 1) {
86
108
  this.removeAccessory(this.accessories[i]);
87
109
  }
110
+ this.#log.warn('Plugin finished removing all related accessories from Homebridge.');
88
111
  return;
89
112
  }
113
+ if (this.#config.speed !== 1) {
114
+ this.#log.warn(`Plugin is now running under ${this.#config.speed}x operational speed. You may see slower device updates.`);
115
+ this.#constants.intervalTimestamps.synchronize *= (1 / this.#config.speed);
116
+ }
90
117
  this.synchronize();
91
118
  });
92
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/lib/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/lib/platform.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,28 @@
1
1
  import z from 'zod';
2
2
  export const platformConfig = z.object({
3
3
  platform: z.literal('ADTPulse'),
4
- name: z.string().optional(),
4
+ name: z.string().min(1).max(50),
5
5
  subdomain: z.union([
6
6
  z.literal('portal'),
7
7
  z.literal('portal-ca'),
8
8
  ]),
9
- username: z.string().min(1),
10
- password: z.string().min(1),
11
- fingerprint: z.string().min(1),
9
+ username: z.string().min(1).max(100),
10
+ password: z.string().min(1).max(300),
11
+ fingerprint: z.string().min(1).max(5120),
12
+ mode: z.union([
13
+ z.literal('normal'),
14
+ z.literal('paused'),
15
+ z.literal('reset'),
16
+ ]),
17
+ speed: z.union([
18
+ z.literal(1),
19
+ z.literal(0.75),
20
+ z.literal(0.5),
21
+ z.literal(0.25),
22
+ ]),
12
23
  sensors: z.array(z.object({
13
- name: z.string().optional(),
14
- adtName: z.string().min(1),
24
+ name: z.string().min(1).max(50).optional(),
25
+ adtName: z.string().min(1).max(100),
15
26
  adtType: z.union([
16
27
  z.literal('co'),
17
28
  z.literal('doorWindow'),
@@ -21,9 +32,7 @@ export const platformConfig = z.object({
21
32
  z.literal('motion'),
22
33
  z.literal('temperature'),
23
34
  ]),
24
- adtZone: z.number().finite(),
25
- })).min(1),
26
- pause: z.boolean().optional(),
27
- reset: z.boolean().optional(),
35
+ adtZone: z.number().min(1).max(99),
36
+ })).min(1).max(148),
28
37
  });
29
38
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/lib/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAOpB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;YACf,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;YACvB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACnB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;SACzB,CAAC;QACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;KAC7B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACV,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/lib/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAOpB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;KACnB,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;QACb,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACd,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;YACf,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;YACvB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACnB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;SACzB,CAAC;QACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACnC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACpB,CAAC,CAAC"}
@@ -1,237 +1,308 @@
1
1
  {
2
- "pluginAlias": "ADTPulse",
3
- "pluginType": "platform",
4
- "singular": true,
5
- "headerDisplay": "An account to link your [ADT Pulse](https://portal.adtpulse.com/) system to Homebridge is required. This will be used to control your security panel and read sensor status.",
6
- "footerDisplay": "If you need assistance, you may read the [plugin instructions](https://github.com/mrjackyliang/homebridge-adt-pulse#readme) or feel free to [submit an issue](https://github.com/mrjackyliang/homebridge-adt-pulse/issues/new/choose).",
7
- "schema": {
8
- "type": "object",
9
- "properties": {
2
+ "pluginAlias": "ADTPulse",
3
+ "pluginType": "platform",
4
+ "singular": true,
5
+ "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.",
6
+ "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.",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "name": {
11
+ "title": "Name",
12
+ "type": "string",
13
+ "required": true,
14
+ "description": "Enter a unique name for this plugin. The name will mainly be used for identification purposes, such as in Homebridge logs.",
15
+ "default": "ADT Pulse",
16
+ "placeholder": "ADT Pulse",
17
+ "minLength": 1,
18
+ "maxLength": 50
19
+ },
20
+ "subdomain": {
21
+ "title": "Portal Region",
22
+ "type": "string",
23
+ "required": true,
24
+ "description": "Select the portal region based on where you are subscribed in. For subscribers in Canada, choose \"Canada\" from the dropdown menu.",
25
+ "oneOf": [
26
+ {
27
+ "title": "United States \uD83C\uDDFA\uD83C\uDDF8 - portal.adtpulse.com</span>",
28
+ "enum": [
29
+ "portal"
30
+ ]
31
+ },
32
+ {
33
+ "title": "Canada \uD83C\uDDE8\uD83C\uDDE6 - portal-ca.adtpulse.com",
34
+ "enum": [
35
+ "portal-ca"
36
+ ]
37
+ }
38
+ ],
39
+ "default": "portal"
40
+ },
41
+ "username": {
42
+ "title": "Username",
43
+ "type": "string",
44
+ "required": true,
45
+ "description": "Provide the username you use to login to the portal.",
46
+ "placeholder": "e.g. user@example.com",
47
+ "minLength": 1,
48
+ "maxLength": 100
49
+ },
50
+ "password": {
51
+ "title": "Password",
52
+ "type": "string",
53
+ "required": true,
54
+ "description": "Provide the password you use to login to the portal.",
55
+ "placeholder": "e.g. Mys7r0nG!P@ssw0rd",
56
+ "minLength": 1,
57
+ "maxLength": 300
58
+ },
59
+ "fingerprint": {
60
+ "title": "Fingerprint",
61
+ "type": "string",
62
+ "required": true,
63
+ "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>.",
64
+ "placeholder": "e.g. VGhpc0lzQVNlY3VyZVBhc3N3b3JkMTIzIQ==",
65
+ "minLength": 1,
66
+ "maxLength": 5120
67
+ },
68
+ "mode": {
69
+ "title": "Operational Mode",
70
+ "type": "string",
71
+ "required": true,
72
+ "description": "Choose the operational mode for the plugin. Debug mode is enabled only when Homebridge debug mode is on; there is no separate setting for this.",
73
+ "oneOf": [
74
+ {
75
+ "title": "Normal",
76
+ "enum": [
77
+ "normal"
78
+ ]
79
+ },
80
+ {
81
+ "title": "Paused",
82
+ "enum": [
83
+ "paused"
84
+ ]
85
+ },
86
+ {
87
+ "title": "Reset (danger)",
88
+ "enum": [
89
+ "reset"
90
+ ]
91
+ }
92
+ ],
93
+ "default": "normal"
94
+ },
95
+ "speed": {
96
+ "title": "Operational Speed",
97
+ "type": "number",
98
+ "required": true,
99
+ "description": "Choose the operational speed for the plugin. Designed to enhance the performance of devices with older hardware. May result in slower device updates.",
100
+ "oneOf": [
101
+ {
102
+ "title": "Normal Speed (1x)",
103
+ "enum": [
104
+ 1
105
+ ]
106
+ },
107
+ {
108
+ "title": "Moderate Speed (0.75x)",
109
+ "enum": [
110
+ 0.75
111
+ ]
112
+ },
113
+ {
114
+ "title": "Slower Speed (0.5x)",
115
+ "enum": [
116
+ 0.5
117
+ ]
118
+ },
119
+ {
120
+ "title": "Slowest Speed (0.25x)",
121
+ "enum": [
122
+ 0.25
123
+ ]
124
+ }
125
+ ],
126
+ "default": 1
127
+ },
128
+ "sensors": {
129
+ "title": "Sensors",
130
+ "type": "array",
131
+ "required": true,
132
+ "description": "Define your sensors here. Sensors include devices like \"Door/Window Sensor\" or \"Motion Sensor\". <strong class=\"font-weight-bold\">Please note that Z-Wave accessories are not supported.</strong> Ensure at least one sensor is specified for proper functionality.",
133
+ "items": {
134
+ "type": "object",
135
+ "properties": {
10
136
  "name": {
11
- "title": "Name",
12
- "type": "string",
13
- "default": "ADT Pulse",
14
- "required": true,
15
- "description": "Plugin name as displayed in the Homebridge log"
137
+ "title": "Name",
138
+ "type": "string",
139
+ "required": false,
140
+ "description": "<strong class=\"font-weight-bold\">Optional.</strong> Provide a display name for this sensor to differentiate it from the names assigned by ADT technicians during installation.",
141
+ "placeholder": "e.g. Family Room Couch Window 1",
142
+ "minLength": 1,
143
+ "maxLength": 50
144
+ },
145
+ "adtName": {
146
+ "title": "ADT Sensor Name",
147
+ "type": "string",
148
+ "required": true,
149
+ "description": "Specify the <strong class=\"font-weight-bold\">exact name</strong> associated with the sensor you want to add. Double-check the names to ensure they don't include extra characters when copying and pasting.",
150
+ "placeholder": "e.g. Family Room Window (99)",
151
+ "minLength": 1,
152
+ "maxLength": 100
16
153
  },
17
- "username": {
18
- "title": "Username",
19
- "type": "string",
20
- "default": "",
21
- "required": true,
22
- "format": "email",
23
- "minLength": 6,
24
- "maxLength": 50,
25
- "description": "Email address used for ADT Pulse login"
154
+ "adtType": {
155
+ "title": "ADT Sensor Type",
156
+ "type": "string",
157
+ "required": true,
158
+ "description": "Select the <strong class=\"font-weight-bold\">type</strong> associated with the sensor you want to add. Ensure your selection matches the sensor type, as selecting the wrong type may lead to incorrect status detection.",
159
+ "oneOf": [
160
+ {
161
+ "title": "Carbon Monoxide Detector",
162
+ "enum": [
163
+ "co"
164
+ ]
165
+ },
166
+ {
167
+ "title": "Door/Window Sensor / Door Sensor / Window Sensor",
168
+ "enum": [
169
+ "doorWindow"
170
+ ]
171
+ },
172
+ {
173
+ "title": "Fire (Smoke/Heat) Detector",
174
+ "enum": [
175
+ "fire"
176
+ ]
177
+ },
178
+ {
179
+ "title": "Glass Break Detector",
180
+ "enum": [
181
+ "glass"
182
+ ]
183
+ },
184
+ {
185
+ "title": "Motion Sensor / Motion Sensor (Notable Events Only)",
186
+ "enum": [
187
+ "motion"
188
+ ]
189
+ },
190
+ {
191
+ "title": "Temperature Sensor",
192
+ "enum": [
193
+ "temperature"
194
+ ]
195
+ },
196
+ {
197
+ "title": "Water/Flood Sensor",
198
+ "enum": [
199
+ "flood"
200
+ ]
201
+ }
202
+ ]
26
203
  },
27
- "password": {
28
- "title": "Password",
29
- "type": "string",
30
- "default": "",
31
- "required": true,
32
- "minLength": 8,
33
- "maxLength": 50,
34
- "description": "Password used for ADT Pulse login"
204
+ "adtZone": {
205
+ "title": "ADT Sensor Zone",
206
+ "type": "number",
207
+ "required": true,
208
+ "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.",
209
+ "placeholder": "e.g. 99",
210
+ "minimum": 1,
211
+ "maximum": 99
212
+ }
213
+ }
214
+ },
215
+ "minItems": 1,
216
+ "maxItems": 148
217
+ }
218
+ }
219
+ },
220
+ "layout": [
221
+ {
222
+ "type": "tabs",
223
+ "tabs": [
224
+ {
225
+ "title": "General",
226
+ "htmlClass": "px-3 pt-3 pb-0",
227
+ "items": [
228
+ {
229
+ "key": "name",
230
+ "type": "text"
35
231
  },
36
- "fingerprint": {
37
- "title": "MFA Fingerprint",
38
- "type": "string",
39
- "default": "",
40
- "required": true,
41
- "description": "MFA Fingerprint from browser registered with ADT Pulse"
232
+ {
233
+ "key": "mode",
234
+ "type": "select"
42
235
  },
43
- "overrideSensors": {
44
- "title": "Override Sensors",
45
- "type": "array",
46
- "items": {
47
- "type": "object",
48
- "properties": {
49
- "name": {
50
- "title": "Name",
51
- "type": "string",
52
- "default": "",
53
- "required": true,
54
- "description": "The sensor name for the sensor you would like to override"
55
- },
56
- "type": {
57
- "title": "Type",
58
- "type": "string",
59
- "default": "",
60
- "oneOf": [
61
- {
62
- "title": "Door/Window Sensor",
63
- "enum": [
64
- "sensor,doorWindow"
65
- ]
66
- },
67
- {
68
- "title": "Glass Break Detector",
69
- "enum": [
70
- "sensor,glass"
71
- ]
72
- },
73
- {
74
- "title": "Motion Sensor",
75
- "enum": [
76
- "sensor,motion"
77
- ]
78
- },
79
- {
80
- "title": "Carbon Monoxide Detector",
81
- "enum": [
82
- "sensor,co"
83
- ]
84
- },
85
- {
86
- "title": "Fire (Smoke/Heat) Detector",
87
- "enum": [
88
- "sensor,fire"
89
- ]
90
- }
91
- ],
92
- "required": true,
93
- "description": "The sensor type for the sensor you would like to override"
94
- }
95
- }
96
- },
97
- "description": "When a sensor cannot be detected accurately, you can manually set the sensor here to override the default detection features"
236
+ {
237
+ "key": "speed",
238
+ "type": "select"
239
+ }
240
+ ]
241
+ },
242
+ {
243
+ "title": "Login",
244
+ "htmlClass": "px-3 pt-3 pb-0",
245
+ "items": [
246
+ {
247
+ "key": "subdomain",
248
+ "type": "select"
98
249
  },
99
- "country": {
100
- "title": "Country",
101
- "type": "string",
102
- "default": "us",
103
- "oneOf": [
104
- {
105
- "title": "United States",
106
- "enum": [
107
- "us"
108
- ]
109
- },
110
- {
111
- "title": "Canada",
112
- "enum": [
113
- "ca"
114
- ]
115
- }
116
- ],
117
- "required": false,
118
- "description": "Select a country where ADT Pulse will connect to"
250
+ {
251
+ "key": "username",
252
+ "type": "text"
119
253
  },
120
- "logLevel": {
121
- "title": "Log Level",
122
- "type": "integer",
123
- "default": 30,
124
- "oneOf": [
125
- {
126
- "title": "Errors (Level 10)",
127
- "enum": [
128
- 10
129
- ]
130
- },
254
+ {
255
+ "key": "password",
256
+ "type": "password"
257
+ },
258
+ {
259
+ "key": "fingerprint",
260
+ "type": "password"
261
+ },
262
+ {
263
+ "type": "help",
264
+ "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>"
265
+ }
266
+ ]
267
+ },
268
+ {
269
+ "title": "Devices",
270
+ "htmlClass": "px-3 pt-3 pb-0",
271
+ "items": [
272
+ {
273
+ "key": "sensors",
274
+ "htmlClass": "p-10",
275
+ "buttonText": "Add Sensor",
276
+ "items": [
277
+ {
278
+ "type": "div",
279
+ "htmlClass": "my-3",
280
+ "items": [
131
281
  {
132
- "title": "Warnings (Level 20)",
133
- "enum": [
134
- 20
135
- ]
282
+ "key": "sensors[].name",
283
+ "type": "text"
136
284
  },
137
285
  {
138
- "title": "Info (Level 30)",
139
- "enum": [
140
- 30
141
- ]
286
+ "key": "sensors[].adtName",
287
+ "type": "text"
142
288
  },
143
289
  {
144
- "title": "Debug (Level 40)",
145
- "enum": [
146
- 40
147
- ]
290
+ "key": "sensors[].adtType",
291
+ "type": "select"
148
292
  },
149
293
  {
150
- "title": "Verbose (Level 50)",
151
- "enum": [
152
- 50
153
- ]
294
+ "key": "sensors[].adtZone",
295
+ "type": "number"
154
296
  }
155
- ],
156
- "required": false,
157
- "pattern": "^([1-5])([0])$",
158
- "description": "Higher levels mean more logs will show. Turn on Homebridge Debug Mode for levels 40 and 50. Recommended setting is \"Info (Level 30)\""
159
- },
160
- "logActivity": {
161
- "title": "Log Activity",
162
- "type": "boolean",
163
- "default": true,
164
- "required": false
165
- },
166
- "removeObsoleteZones": {
167
- "title": "Remove Obsolete Zones",
168
- "type": "boolean",
169
- "default": true,
170
- "required": false
171
- },
172
- "pausePlugin": {
173
- "title": "Pause Plugin",
174
- "type": "boolean",
175
- "default": false,
176
- "required": false
177
- },
178
- "resetAll": {
179
- "title": "Reset Plugin \uD83D\uDED1",
180
- "type": "boolean",
181
- "default": false,
182
- "required": false
183
- }
184
- }
185
- },
186
- "layout": [
187
- {
188
- "key": "name"
189
- },
190
- {
191
- "display": "flex",
192
- "flex-flow": "row nowrap",
193
- "justify-content": "space-between",
194
- "items": [
195
- {
196
- "key": "username",
197
- "flex": "1 0 0px"
198
- },
199
- {
200
- "key": "password",
201
- "flex": "1 0 0px"
297
+ ]
202
298
  }
203
- ]
204
- },
205
- {
206
- "key": "fingerprint"
207
- },
208
- {
209
- "key": "overrideSensors",
210
- "buttonText": "Add Sensor",
211
- "items": [
212
- "overrideSensors[].name",
213
- "overrideSensors[].type"
214
- ]
215
- },
216
- {
217
- "key": "country"
218
- },
219
- {
220
- "key": "logLevel"
221
- },
222
- {
223
- "key": "logActivity"
224
- },
225
- {
226
- "key": "removeObsoleteZones"
227
- },
228
- {
229
- "key": "pausePlugin"
230
- },
231
- {
232
- "key": "resetAll"
299
+ ]
300
+ }
301
+ ]
233
302
  }
234
- ],
235
- "form": null,
236
- "display": null
303
+ ]
304
+ }
305
+ ],
306
+ "form": null,
307
+ "display": null
237
308
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-adt-pulse",
3
3
  "displayName": "Homebridge ADT Pulse",
4
- "version": "3.0.0-beta.5",
4
+ "version": "3.0.0-beta.6",
5
5
  "description": "Homebridge security system platform for ADT Pulse",
6
6
  "exports": "./build/src/index.js",
7
7
  "type": "module",