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

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,
@@ -48,6 +48,8 @@ export class ADTPulseAccessory {
48
48
  case 'panel':
49
49
  this.#services.Primary = this.#accessory.getService(service.SecuritySystem) ?? this.#accessory.addService(service.SecuritySystem);
50
50
  break;
51
+ case 'panic':
52
+ break;
51
53
  case 'temperature':
52
54
  this.#services.Primary = this.#accessory.getService(service.TemperatureSensor) ?? this.#accessory.addService(service.TemperatureSensor);
53
55
  break;
@@ -94,6 +96,8 @@ export class ADTPulseAccessory {
94
96
  .onGet(() => this.getPanelStatus('target', accessory.context))
95
97
  .onSet((value) => this.setPanelStatus(value, accessory.context));
96
98
  break;
99
+ case 'panic':
100
+ break;
97
101
  case 'temperature':
98
102
  this.#services.Primary.getCharacteristic(this.#characteristic.CurrentTemperature)
99
103
  .onGet(() => this.getSensorStatus(accessory.context));
@@ -105,7 +109,7 @@ export class ADTPulseAccessory {
105
109
  getSensorStatus(context) {
106
110
  const { name, type, zone } = context;
107
111
  const sensor = this.#state.data.sensorsStatus.find((sensorStatus) => zone !== null && sensorStatus.name === name && sensorStatus.zone === zone);
108
- if (sensor === undefined || !['co', 'doorWindow', 'fire', 'flood', 'glass', 'motion', 'temperature'].includes(type)) {
112
+ if (sensor === undefined || !['co', 'doorWindow', 'fire', 'flood', 'glass', 'motion', 'panic', 'temperature'].includes(type)) {
109
113
  throw new this.#api.hap.HapStatusError(-70409);
110
114
  }
111
115
  const { status } = sensor;
@@ -149,6 +153,8 @@ export class ADTPulseAccessory {
149
153
  return true;
150
154
  }
151
155
  break;
156
+ case 'panic':
157
+ break;
152
158
  case 'temperature':
153
159
  return 75;
154
160
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../../../src/lib/accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../../../src/lib/accessory.ts"],"names":[],"mappings":"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"}