homebridge-adt-pulse 3.0.0-beta.15 → 3.0.0-beta.17

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.
@@ -22,17 +22,28 @@ export class ADTPulseAccessory {
22
22
  this.#reportedHashes = [];
23
23
  this.#services = {};
24
24
  this.#state = state;
25
+ const { context } = this.#accessory;
26
+ const { firmware, hardware, id, manufacturer, model, name, serial, software, type, uuid, } = context;
25
27
  this.#services.Information = this.#accessory.getService(service.AccessoryInformation) ?? this.#accessory.addService(service.AccessoryInformation);
26
28
  this.#services.Information
27
29
  .setCharacteristic(this.#characteristic.Identify, false)
28
- .setCharacteristic(this.#characteristic.Manufacturer, accessory.context.manufacturer ?? 'ADT')
29
- .setCharacteristic(this.#characteristic.Model, accessory.context.model ?? 'N/A')
30
- .setCharacteristic(this.#characteristic.Name, accessory.context.name)
31
- .setCharacteristic(this.#characteristic.SerialNumber, accessory.context.serial ?? 'N/A')
32
- .setCharacteristic(this.#characteristic.FirmwareRevision, accessory.context.firmware ?? 'N/A')
33
- .setCharacteristic(this.#characteristic.HardwareRevision, accessory.context.hardware ?? 'N/A')
34
- .setCharacteristic(this.#characteristic.SoftwareRevision, accessory.context.software ?? 'N/A');
35
- switch (accessory.context.type) {
30
+ .setCharacteristic(this.#characteristic.Manufacturer, manufacturer ?? 'ADT')
31
+ .setCharacteristic(this.#characteristic.Model, model ?? 'N/A')
32
+ .setCharacteristic(this.#characteristic.Name, name)
33
+ .setCharacteristic(this.#characteristic.SerialNumber, serial ?? 'N/A')
34
+ .setCharacteristic(this.#characteristic.FirmwareRevision, firmware ?? 'N/A')
35
+ .setCharacteristic(this.#characteristic.HardwareRevision, hardware ?? 'N/A')
36
+ .setCharacteristic(this.#characteristic.SoftwareRevision, software ?? 'N/A');
37
+ switch (type) {
38
+ case 'gateway':
39
+ break;
40
+ case 'panel':
41
+ this.#services.Primary = this.#accessory.getService(service.SecuritySystem) ?? this.#accessory.addService(service.SecuritySystem);
42
+ break;
43
+ default:
44
+ break;
45
+ }
46
+ switch (type) {
36
47
  case 'co':
37
48
  this.#services.Primary = this.#accessory.getService(service.CarbonMonoxideSensor) ?? this.#accessory.addService(service.CarbonMonoxideSensor);
38
49
  break;
@@ -45,8 +56,6 @@ export class ADTPulseAccessory {
45
56
  case 'flood':
46
57
  this.#services.Primary = this.#accessory.getService(service.LeakSensor) ?? this.#accessory.addService(service.LeakSensor);
47
58
  break;
48
- case 'gateway':
49
- break;
50
59
  case 'glass':
51
60
  this.#services.Primary = this.#accessory.getService(service.OccupancySensor) ?? this.#accessory.addService(service.OccupancySensor);
52
61
  break;
@@ -56,9 +65,6 @@ export class ADTPulseAccessory {
56
65
  case 'motion':
57
66
  this.#services.Primary = this.#accessory.getService(service.MotionSensor) ?? this.#accessory.addService(service.MotionSensor);
58
67
  break;
59
- case 'panel':
60
- this.#services.Primary = this.#accessory.getService(service.SecuritySystem) ?? this.#accessory.addService(service.SecuritySystem);
61
- break;
62
68
  case 'panic':
63
69
  this.#services.Primary = this.#accessory.getService(service.OccupancySensor) ?? this.#accessory.addService(service.OccupancySensor);
64
70
  break;
@@ -78,136 +84,212 @@ export class ADTPulseAccessory {
78
84
  break;
79
85
  }
80
86
  if (this.#services.Primary === undefined) {
81
- if (accessory.context.type !== 'gateway') {
82
- this.#log.error(`Failed to initialize ${accessory.context.name} (id: ${accessory.context.id}, uuid: ${accessory.context.uuid}) accessory services ...`);
87
+ if (type !== 'gateway') {
88
+ this.#log.error(`Failed to initialize ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory services ...`);
83
89
  }
84
90
  return;
85
91
  }
86
- switch (accessory.context.type) {
92
+ switch (type) {
93
+ case 'gateway':
94
+ break;
95
+ case 'panel':
96
+ this.#services.Primary.getCharacteristic(this.#characteristic.SecuritySystemCurrentState)
97
+ .onGet(() => this.getPanelStatus('current', context));
98
+ this.#services.Primary.getCharacteristic(this.#characteristic.SecuritySystemTargetState)
99
+ .onGet(() => this.getPanelStatus('target', context))
100
+ .onSet((value) => this.setPanelStatus(value, context));
101
+ break;
102
+ default:
103
+ break;
104
+ }
105
+ switch (type) {
87
106
  case 'co':
88
107
  this.#services.Primary.getCharacteristic(this.#characteristic.CarbonMonoxideDetected)
89
- .onGet(() => this.getSensorStatus(accessory.context));
108
+ .onGet(() => this.getSensorStatus('status', context));
90
109
  break;
91
110
  case 'doorWindow':
92
111
  this.#services.Primary.getCharacteristic(this.#characteristic.ContactSensorState)
93
- .onGet(() => this.getSensorStatus(accessory.context));
112
+ .onGet(() => this.getSensorStatus('status', context));
94
113
  break;
95
114
  case 'fire':
96
115
  this.#services.Primary.getCharacteristic(this.#characteristic.SmokeDetected)
97
- .onGet(() => this.getSensorStatus(accessory.context));
116
+ .onGet(() => this.getSensorStatus('status', context));
98
117
  break;
99
118
  case 'flood':
100
119
  this.#services.Primary.getCharacteristic(this.#characteristic.LeakDetected)
101
- .onGet(() => this.getSensorStatus(accessory.context));
102
- break;
103
- case 'gateway':
120
+ .onGet(() => this.getSensorStatus('status', context));
104
121
  break;
105
122
  case 'glass':
106
123
  this.#services.Primary.getCharacteristic(this.#characteristic.OccupancyDetected)
107
- .onGet(() => this.getSensorStatus(accessory.context));
124
+ .onGet(() => this.getSensorStatus('status', context));
108
125
  break;
109
126
  case 'keypad':
110
127
  this.#services.Primary.getCharacteristic(this.#characteristic.OccupancyDetected)
111
- .onGet(() => this.getSensorStatus(accessory.context));
128
+ .onGet(() => this.getSensorStatus('status', context));
112
129
  break;
113
130
  case 'motion':
114
131
  this.#services.Primary.getCharacteristic(this.#characteristic.MotionDetected)
115
- .onGet(() => this.getSensorStatus(accessory.context));
116
- break;
117
- case 'panel':
118
- this.#services.Primary.getCharacteristic(this.#characteristic.SecuritySystemCurrentState)
119
- .onGet(() => this.getPanelStatus('current', accessory.context));
120
- this.#services.Primary.getCharacteristic(this.#characteristic.SecuritySystemTargetState)
121
- .onGet(() => this.getPanelStatus('target', accessory.context))
122
- .onSet((value) => this.setPanelStatus(value, accessory.context));
132
+ .onGet(() => this.getSensorStatus('status', context));
123
133
  break;
124
134
  case 'panic':
125
135
  this.#services.Primary.getCharacteristic(this.#characteristic.OccupancyDetected)
126
- .onGet(() => this.getSensorStatus(accessory.context));
136
+ .onGet(() => this.getSensorStatus('status', context));
127
137
  break;
128
138
  case 'shock':
129
139
  this.#services.Primary.getCharacteristic(this.#characteristic.OccupancyDetected)
130
- .onGet(() => this.getSensorStatus(accessory.context));
140
+ .onGet(() => this.getSensorStatus('status', context));
131
141
  break;
132
142
  case 'supervisory':
133
143
  this.#services.Primary.getCharacteristic(this.#characteristic.OccupancyDetected)
134
- .onGet(() => this.getSensorStatus(accessory.context));
144
+ .onGet(() => this.getSensorStatus('status', context));
135
145
  break;
136
146
  case 'temperature':
137
147
  this.#services.Primary.getCharacteristic(this.#characteristic.CurrentTemperature)
138
- .onGet(() => this.getSensorStatus(accessory.context));
148
+ .onGet(() => this.getSensorStatus('status', context));
139
149
  break;
140
150
  case 'unknown':
141
151
  this.#services.Primary.getCharacteristic(this.#characteristic.OccupancyDetected)
142
- .onGet(() => this.getSensorStatus(accessory.context));
152
+ .onGet(() => this.getSensorStatus('status', context));
143
153
  break;
144
154
  default:
145
155
  break;
146
156
  }
147
- }
148
- async getSensorStatus(context) {
149
- const { id, name, type, uuid, zone, } = context;
150
- const matchedSensorStatus = this.#state.data.sensorsStatus.find((sensorStatus) => zone !== null && sensorStatus.name === name && sensorStatus.zone === zone);
151
- if (matchedSensorStatus === undefined
152
- || type === 'gateway'
153
- || type === 'panel'
154
- || !condensedSensorTypeItems.includes(type)) {
155
- this.#log.error(`Attempted to get sensor status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but sensor is not found or sensor type is not supported.`);
156
- throw new this.#api.hap.HapStatusError(-70409);
157
- }
158
- const { statuses } = matchedSensorStatus;
159
- if (statuses.includes('Offline') || statuses.includes('Unknown')) {
160
- this.#log.warn(`Attempted to get sensor status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but sensor is currently "Offline" or "Unknown".`);
161
- throw new this.#api.hap.HapStatusError(-70412);
157
+ switch (type) {
158
+ case 'gateway':
159
+ break;
160
+ case 'panel':
161
+ this.#services.Primary.getCharacteristic(this.#characteristic.SecuritySystemAlarmType)
162
+ .onGet(() => this.getPanelStatus('alarmType', context));
163
+ this.#services.Primary.getCharacteristic(this.#characteristic.StatusFault)
164
+ .onGet(() => this.getPanelStatus('fault', context));
165
+ this.#services.Primary.getCharacteristic(this.#characteristic.StatusTampered)
166
+ .onGet(() => this.getPanelStatus('tamper', context));
167
+ break;
168
+ default:
169
+ break;
162
170
  }
163
171
  switch (type) {
164
172
  case 'co':
165
- break;
166
173
  case 'doorWindow':
167
- if (statuses.includes('Open')) {
168
- return this.#characteristic.ContactSensorState.CONTACT_NOT_DETECTED;
169
- }
170
- if (statuses.includes('Closed')) {
171
- return this.#characteristic.ContactSensorState.CONTACT_DETECTED;
172
- }
173
- break;
174
174
  case 'fire':
175
- break;
176
175
  case 'flood':
177
- break;
178
176
  case 'glass':
179
- if (statuses.includes('Tripped')) {
180
- return true;
181
- }
182
- if (statuses.includes('Okay')) {
183
- return false;
184
- }
185
- break;
186
177
  case 'keypad':
187
- break;
188
178
  case 'motion':
189
- if (statuses.includes('No Motion')) {
190
- return false;
191
- }
192
- if (statuses.includes('Motion')) {
193
- return true;
194
- }
195
- break;
196
179
  case 'panic':
197
- break;
198
180
  case 'shock':
199
- break;
200
181
  case 'supervisory':
201
- break;
202
182
  case 'temperature':
203
- break;
204
183
  case 'unknown':
184
+ this.#services.Primary.getCharacteristic(this.#characteristic.StatusActive)
185
+ .onGet(() => this.getSensorStatus('active', context));
186
+ this.#services.Primary.getCharacteristic(this.#characteristic.StatusFault)
187
+ .onGet(() => this.getSensorStatus('fault', context));
188
+ this.#services.Primary.getCharacteristic(this.#characteristic.StatusLowBattery)
189
+ .onGet(() => this.getSensorStatus('lowBattery', context));
190
+ this.#services.Primary.getCharacteristic(this.#characteristic.StatusTampered)
191
+ .onGet(() => this.getSensorStatus('tamper', context));
205
192
  break;
206
193
  default:
207
194
  break;
208
195
  }
196
+ }
197
+ async getSensorStatus(mode, context) {
198
+ const { id, name, originalName, type, uuid, zone, } = context;
199
+ const matchedSensorStatus = this.#state.data.sensorsStatus.find((sensorStatus) => originalName === sensorStatus.name && zone !== null && sensorStatus.zone === zone);
200
+ if (matchedSensorStatus === undefined
201
+ || type === 'gateway'
202
+ || type === 'panel'
203
+ || !condensedSensorTypeItems.includes(type)) {
204
+ this.#log.error(`Attempted to get sensor status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but sensor is not found or sensor type is not supported.`);
205
+ throw new this.#api.hap.HapStatusError(-70409);
206
+ }
207
+ const { icon, statuses } = matchedSensorStatus;
208
+ if (statuses.includes('Offline') || statuses.includes('Unknown')) {
209
+ this.#log.warn(`Attempted to get sensor status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but sensor is currently "Offline" or "Unknown".`);
210
+ throw new this.#api.hap.HapStatusError(-70412);
211
+ }
212
+ if (mode === 'status') {
213
+ switch (type) {
214
+ case 'co':
215
+ if (statuses.includes('Okay')) {
216
+ return this.#characteristic.CarbonMonoxideDetected.CO_LEVELS_NORMAL;
217
+ }
218
+ break;
219
+ case 'doorWindow':
220
+ if (statuses.includes('Open')) {
221
+ return this.#characteristic.ContactSensorState.CONTACT_NOT_DETECTED;
222
+ }
223
+ if (statuses.includes('Closed')) {
224
+ return this.#characteristic.ContactSensorState.CONTACT_DETECTED;
225
+ }
226
+ break;
227
+ case 'fire':
228
+ if (statuses.includes('Okay')) {
229
+ return this.#characteristic.SmokeDetected.SMOKE_NOT_DETECTED;
230
+ }
231
+ break;
232
+ case 'flood':
233
+ break;
234
+ case 'glass':
235
+ if (statuses.includes('Tripped')) {
236
+ return true;
237
+ }
238
+ if (statuses.includes('Okay')) {
239
+ return false;
240
+ }
241
+ break;
242
+ case 'keypad':
243
+ break;
244
+ case 'motion':
245
+ if (statuses.includes('No Motion') || statuses.includes('Okay')) {
246
+ return false;
247
+ }
248
+ if (statuses.includes('Motion')) {
249
+ return true;
250
+ }
251
+ break;
252
+ case 'panic':
253
+ break;
254
+ case 'shock':
255
+ break;
256
+ case 'supervisory':
257
+ break;
258
+ case 'temperature':
259
+ break;
260
+ case 'unknown':
261
+ break;
262
+ default:
263
+ break;
264
+ }
265
+ }
266
+ if (mode === 'active') {
267
+ return !(statuses.includes('Offline')
268
+ || statuses.includes('Unknown')
269
+ || icon === 'devStatOffline');
270
+ }
271
+ if (mode === 'fault') {
272
+ if (statuses.includes('Bypassed')
273
+ || statuses.includes('Trouble')) {
274
+ return this.#characteristic.StatusFault.GENERAL_FAULT;
275
+ }
276
+ return this.#characteristic.StatusFault.NO_FAULT;
277
+ }
278
+ if (mode === 'lowBattery') {
279
+ if (statuses.includes('Low Battery')
280
+ || icon === 'devStatLowBatt') {
281
+ return this.#characteristic.StatusLowBattery.BATTERY_LEVEL_LOW;
282
+ }
283
+ return this.#characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
284
+ }
285
+ if (mode === 'tamper') {
286
+ if (icon === 'devStatTamper') {
287
+ return this.#characteristic.StatusTampered.TAMPERED;
288
+ }
289
+ return this.#characteristic.StatusTampered.NOT_TAMPERED;
290
+ }
209
291
  this.#log.warn(`Attempted to get sensor status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but actions have not been implemented yet.`);
210
- await this.newInformationDispatcher(type, matchedSensorStatus);
292
+ await this.newInformationDispatcher(type, matchedSensorStatus, context);
211
293
  throw new this.#api.hap.HapStatusError(-70410);
212
294
  }
213
295
  async getPanelStatus(mode, context) {
@@ -224,26 +306,66 @@ export class ADTPulseAccessory {
224
306
  }
225
307
  const { panelStates, panelStatuses } = this.#state.data.panelStatus;
226
308
  if (panelStates.includes('Status Unavailable')) {
227
- this.#log.warn(`Attempted to get panel status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but panel state is "Service Unavailable".`);
309
+ this.#log.warn(`Attempted to get panel status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but panel state is "Status Unavailable".`);
228
310
  throw new this.#api.hap.HapStatusError(-70403);
229
311
  }
230
- if (mode === 'current' && panelStatuses.includes('BURGLARY ALARM')) {
231
- return this.#characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED;
312
+ if (mode === 'alarmType') {
313
+ if (panelStatuses.includes('BURGLARY ALARM')
314
+ || panelStatuses.includes('Carbon Monoxide Alarm')
315
+ || panelStatuses.includes('FIRE ALARM')
316
+ || panelStatuses.includes('Uncleared Alarm')
317
+ || panelStatuses.includes('WATER ALARM')) {
318
+ return 1;
319
+ }
320
+ return 0;
232
321
  }
233
- switch (true) {
234
- case panelStates.includes('Armed Away'):
235
- return (mode === 'current') ? this.#characteristic.SecuritySystemCurrentState.AWAY_ARM : this.#characteristic.SecuritySystemTargetState.AWAY_ARM;
236
- case panelStates.includes('Armed Stay'):
237
- return (mode === 'current') ? this.#characteristic.SecuritySystemCurrentState.STAY_ARM : this.#characteristic.SecuritySystemTargetState.STAY_ARM;
238
- case panelStates.includes('Armed Night'):
239
- return (mode === 'current') ? this.#characteristic.SecuritySystemCurrentState.NIGHT_ARM : this.#characteristic.SecuritySystemTargetState.NIGHT_ARM;
240
- case panelStates.includes('Disarmed'):
241
- return (mode === 'current') ? this.#characteristic.SecuritySystemCurrentState.DISARMED : this.#characteristic.SecuritySystemTargetState.DISARM;
242
- default:
243
- break;
322
+ if (mode === 'current') {
323
+ switch (true) {
324
+ case panelStatuses.includes('BURGLARY ALARM'):
325
+ case panelStatuses.includes('Carbon Monoxide Alarm'):
326
+ case panelStatuses.includes('FIRE ALARM'):
327
+ case panelStatuses.includes('Uncleared Alarm'):
328
+ case panelStatuses.includes('WATER ALARM'):
329
+ return this.#characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED;
330
+ case panelStates.includes('Armed Away'):
331
+ return this.#characteristic.SecuritySystemCurrentState.AWAY_ARM;
332
+ case panelStates.includes('Armed Stay'):
333
+ return this.#characteristic.SecuritySystemCurrentState.STAY_ARM;
334
+ case panelStates.includes('Armed Night'):
335
+ return this.#characteristic.SecuritySystemCurrentState.NIGHT_ARM;
336
+ case panelStates.includes('Disarmed'):
337
+ return this.#characteristic.SecuritySystemCurrentState.DISARMED;
338
+ default:
339
+ break;
340
+ }
341
+ }
342
+ if (mode === 'fault') {
343
+ if (!panelStatuses.includes('All Quiet')) {
344
+ return this.#characteristic.StatusFault.GENERAL_FAULT;
345
+ }
346
+ return this.#characteristic.StatusFault.NO_FAULT;
347
+ }
348
+ if (mode === 'tamper') {
349
+ if (!panelStatuses.some((panelStatus) => panelStatus.includes('tamper'))) {
350
+ return this.#characteristic.StatusTampered.NOT_TAMPERED;
351
+ }
352
+ }
353
+ if (mode === 'target') {
354
+ switch (true) {
355
+ case panelStates.includes('Armed Away'):
356
+ return this.#characteristic.SecuritySystemTargetState.AWAY_ARM;
357
+ case panelStates.includes('Armed Stay'):
358
+ return this.#characteristic.SecuritySystemTargetState.STAY_ARM;
359
+ case panelStates.includes('Armed Night'):
360
+ return this.#characteristic.SecuritySystemTargetState.NIGHT_ARM;
361
+ case panelStates.includes('Disarmed'):
362
+ return this.#characteristic.SecuritySystemTargetState.DISARM;
363
+ default:
364
+ break;
365
+ }
244
366
  }
245
367
  this.#log.warn(`Attempted to get panel status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but actions have not been implemented yet.`);
246
- await this.newInformationDispatcher(type, this.#state.data.panelStatus);
368
+ await this.newInformationDispatcher(type, this.#state.data.panelStatus, context);
247
369
  throw new this.#api.hap.HapStatusError(-70402);
248
370
  }
249
371
  async setPanelStatus(arm, context) {
@@ -292,14 +414,14 @@ export class ADTPulseAccessory {
292
414
  throw new this.#api.hap.HapStatusError(-70408);
293
415
  }
294
416
  }
295
- async newInformationDispatcher(type, data) {
296
- const dataHash = generateHash(`${type}: ${JSON.stringify(data)}`);
417
+ async newInformationDispatcher(type, status, context) {
418
+ const dataHash = generateHash(`${type}: ${JSON.stringify(status)} ${JSON.stringify(context)}`);
297
419
  if (this.#reportedHashes.find((reportedHash) => dataHash === reportedHash) === undefined) {
298
- const status = {
299
- type,
300
- data,
420
+ const data = {
421
+ status,
422
+ context,
301
423
  };
302
- const detectedNew = await detectedUnknownAccessoryAction(status, this.#log, this.#debugMode);
424
+ const detectedNew = await detectedUnknownAccessoryAction(data, this.#log, this.#debugMode);
303
425
  if (detectedNew) {
304
426
  this.#reportedHashes.push(dataHash);
305
427
  }
@@ -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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"}
@@ -429,10 +429,10 @@ export class ADTPulse {
429
429
  ], 1, 1);
430
430
  const gatewayInformation = {
431
431
  communication: {
432
- primaryConnectionType: _.get(fetchedTableCells, ['Primary Connection Type:', 0], null),
433
432
  broadbandConnectionStatus: _.get(fetchedTableCells, ['Broadband Connection Status:', 0], null),
434
433
  cellularConnectionStatus: _.get(fetchedTableCells, ['Cellular Connection Status:', 0], null),
435
434
  cellularSignalStrength: _.get(fetchedTableCells, ['Cellular Signal Strength:', 0], null),
435
+ primaryConnectionType: _.get(fetchedTableCells, ['Primary Connection Type:', 0], null),
436
436
  },
437
437
  manufacturer: _.get(fetchedTableCells, ['Manufacturer:', 0], null),
438
438
  model: _.get(fetchedTableCells, ['Model:', 0], null),