@homebridge-plugins/homebridge-august 3.2.3 → 3.3.0-beta.0

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.
Files changed (44) hide show
  1. package/.github/npm-version-script-esm.js +97 -0
  2. package/CHANGELOG.md +15 -0
  3. package/dist/Platform.Base.d.ts +288 -0
  4. package/dist/Platform.Base.d.ts.map +1 -0
  5. package/dist/Platform.Base.js +797 -0
  6. package/dist/Platform.Base.js.map +1 -0
  7. package/dist/Platform.HAP.d.ts +20 -139
  8. package/dist/Platform.HAP.d.ts.map +1 -1
  9. package/dist/Platform.HAP.js +46 -733
  10. package/dist/Platform.HAP.js.map +1 -1
  11. package/dist/connectivity-manager.d.ts +3 -3
  12. package/dist/connectivity-manager.d.ts.map +1 -1
  13. package/dist/connectivity-manager.js +57 -14
  14. package/dist/connectivity-manager.js.map +1 -1
  15. package/dist/devices/device.d.ts +5 -16
  16. package/dist/devices/device.d.ts.map +1 -1
  17. package/dist/devices/device.js +18 -75
  18. package/dist/devices/device.js.map +1 -1
  19. package/dist/devices/lock.d.ts +3 -3
  20. package/dist/devices/lock.d.ts.map +1 -1
  21. package/dist/devices/lock.js +41 -41
  22. package/dist/devices/lock.js.map +1 -1
  23. package/dist/index.js +4 -4
  24. package/dist/index.js.map +1 -1
  25. package/dist/package.json +8 -7
  26. package/dist/platform.matter.d.ts +18 -20
  27. package/dist/platform.matter.d.ts.map +1 -1
  28. package/dist/platform.matter.js +74 -80
  29. package/dist/platform.matter.js.map +1 -1
  30. package/docs/variables/default.html +1 -1
  31. package/package.json +8 -7
  32. package/test/device.test.ts +384 -0
  33. package/test/{platform.test.ts → platform.hap.test.ts} +23 -23
  34. package/test/platform.polling.test.ts +5 -5
  35. package/.github/scripts/compute-version-override.cjs +0 -51
  36. package/.github/scripts/normalize-changelog-header.cjs +0 -86
  37. package/.github/scripts/npm-version-script-esm-auto.js +0 -201
  38. package/.github/scripts/resolve-version-bump-esm.js +0 -118
  39. package/dist/devices/device.test.d.ts +0 -2
  40. package/dist/devices/device.test.d.ts.map +0 -1
  41. package/dist/devices/device.test.js +0 -294
  42. package/dist/devices/device.test.js.map +0 -1
  43. package/test/connectivity-manager.test.ts +0 -590
  44. package/test/platform.matter.test.ts +0 -660
@@ -37,7 +37,7 @@ export class LockMechanism extends deviceBase {
37
37
  // Initialize Lock Mechanism Service
38
38
  if (device.lock?.hide_lock) {
39
39
  if (this.LockMechanism?.Service) {
40
- this.debugLog('Removing Lock Mechanism Service');
40
+ this.logger.debug('Removing Lock Mechanism Service');
41
41
  this.LockMechanism.Service = accessory.getService(this.hap.Service.LockMechanism);
42
42
  accessory.removeService(this.LockMechanism.Service);
43
43
  accessory.context.LockMechanism = {};
@@ -67,7 +67,7 @@ export class LockMechanism extends deviceBase {
67
67
  // Initialize Contact Sensor Service
68
68
  if (device.lock?.hide_contactsensor) {
69
69
  if (this.ContactSensor?.Service) {
70
- this.debugLog('Removing Conact Sensor Service');
70
+ this.logger.debug('Removing Conact Sensor Service');
71
71
  this.ContactSensor.Service = accessory.getService(this.hap.Service.ContactSensor);
72
72
  accessory.removeService(this.ContactSensor.Service);
73
73
  accessory.context.ContactSensor = {};
@@ -142,7 +142,7 @@ export class LockMechanism extends deviceBase {
142
142
  }
143
143
  catch (e) {
144
144
  await this.statusCode('pushChanges', e);
145
- await this.errorLog(`doLockUpdate pushChanges: ${e.message ?? e}`);
145
+ await this.logger.error(`doLockUpdate pushChanges: ${e.message ?? e}`);
146
146
  }
147
147
  this.lockUpdateInProgress = false;
148
148
  });
@@ -152,14 +152,14 @@ export class LockMechanism extends deviceBase {
152
152
  * Parse the device status from the August api
153
153
  */
154
154
  async parseStatus() {
155
- await this.debugLog('parseStatus');
155
+ await this.logger.debug('parseStatus');
156
156
  const retryCount = 1;
157
157
  if (this.lockStatus) {
158
158
  if (this.lockStatus.state) {
159
159
  // Lock Mechanism
160
160
  this.platform.augustConfig?.addSimpleProps(this.lockStatus);
161
161
  if (this.LockMechanism && (this.lockStatus.state.unlocking || this.lockStatus.state.locking)) {
162
- await this.warnLog(`LockCurrentState: ${this.LockMechanism.LockCurrentState}, locking/unlocking parseStatus`
162
+ await this.logger.warn(`LockCurrentState: ${this.LockMechanism.LockCurrentState}, locking/unlocking parseStatus`
163
163
  + ` lockStatus: ${JSON.stringify(this.lockStatus)}`);
164
164
  }
165
165
  if (!this.device.lock?.hide_lock && this.LockMechanism?.Service && (this.lockStatus.state.locked !== this.lockStatus.state.unlocked)) {
@@ -172,11 +172,11 @@ export class LockMechanism extends deviceBase {
172
172
  this.LockMechanism.LockTargetState = this.LockMechanism.LockCurrentState;
173
173
  }
174
174
  if (this.LockMechanism.LockCurrentState === this.hap.Characteristic.LockCurrentState.UNKNOWN) {
175
- await this.warnLog(`LockCurrentState: ${this.LockMechanism.LockCurrentState}, (UNKNOWN) parseStatus`
175
+ await this.logger.warn(`LockCurrentState: ${this.LockMechanism.LockCurrentState}, (UNKNOWN) parseStatus`
176
176
  + ` lockStatus: ${JSON.stringify(this.lockStatus)}`);
177
177
  }
178
- await this.debugLog(`LockCurrentState: ${this.LockMechanism.LockCurrentState}`);
179
- await this.debugLog(`LockTargetState: ${this.LockMechanism.LockTargetState}`);
178
+ await this.logger.debug(`LockCurrentState: ${this.LockMechanism.LockCurrentState}`);
179
+ await this.logger.debug(`LockTargetState: ${this.LockMechanism.LockTargetState}`);
180
180
  }
181
181
  // Contact Sensor
182
182
  if (!this.device.lock?.hide_contactsensor && this.ContactSensor?.Service) {
@@ -190,25 +190,25 @@ export class LockMechanism extends deviceBase {
190
190
  : this.lockStatus.doorState?.includes('closed')
191
191
  ? this.hap.Characteristic.ContactSensorState.CONTACT_DETECTED
192
192
  : this.ContactSensor.ContactSensorState;
193
- await this.debugLog(`ContactSensorState: ${this.ContactSensor.ContactSensorState}`);
193
+ await this.logger.debug(`ContactSensorState: ${this.ContactSensor.ContactSensorState}`);
194
194
  }
195
195
  }
196
196
  else {
197
- await this.debugWarnLog(`lockStatus state: ${JSON.stringify(this.lockStatus)}`);
197
+ await this.logger.debugWarn(`lockStatus state: ${JSON.stringify(this.lockStatus)}`);
198
198
  }
199
199
  }
200
200
  if (this.lockDetails) {
201
201
  // BatteryLevel
202
202
  this.Battery.BatteryLevel = Math.min(Math.max(Number((this.lockDetails.battery * 100).toFixed()), 0), 100);
203
- await this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`);
203
+ await this.logger.debug(`BatteryLevel: ${this.Battery.BatteryLevel}`);
204
204
  // StatusLowBattery
205
205
  this.Battery.StatusLowBattery = this.Battery.BatteryLevel < 15
206
206
  ? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW
207
207
  : this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
208
- await this.debugLog(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
208
+ await this.logger.debug(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
209
209
  // Firmware Version
210
210
  if (this.accessory.context.currentFirmwareVersion !== this.lockDetails.currentFirmwareVersion) {
211
- await this.warnLog(`Firmware Version changed to Current Firmware Version: ${this.lockDetails.currentFirmwareVersion}`);
211
+ await this.logger.warn(`Firmware Version changed to Current Firmware Version: ${this.lockDetails.currentFirmwareVersion}`);
212
212
  this.accessory
213
213
  .getService(this.hap.Service.AccessoryInformation)
214
214
  .setCharacteristic(this.hap.Characteristic.HardwareRevision, this.lockDetails.currentFirmwareVersion)
@@ -223,15 +223,15 @@ export class LockMechanism extends deviceBase {
223
223
  * Parse the device status from the August api
224
224
  */
225
225
  async parseEventStatus() {
226
- await this.debugLog('parseEventStatus');
226
+ await this.logger.debug('parseEventStatus');
227
227
  const retryCount = 1;
228
228
  if (this.lockEvent) {
229
229
  if (this.lockEvent.state) {
230
- this.debugLog(`lockEvent: ${JSON.stringify(this.lockEvent)}`);
230
+ this.logger.debug(`lockEvent: ${JSON.stringify(this.lockEvent)}`);
231
231
  // Lock Mechanism
232
232
  this.platform.augustConfig?.addSimpleProps(this.lockEvent);
233
233
  if (this.LockMechanism && (this.lockEvent.state.unlocking || this.lockEvent.state.locking)) {
234
- await this.debugLog(`is ${this.lockEvent.state.unlocking ? 'Unlocking' : this.lockEvent.state.locking ? 'Locking' : ''}, parseEventStatus`
234
+ await this.logger.debug(`is ${this.lockEvent.state.unlocking ? 'Unlocking' : this.lockEvent.state.locking ? 'Locking' : ''}, parseEventStatus`
235
235
  + ` lockEventState: ${JSON.stringify(this.lockEvent.state)}`);
236
236
  return;
237
237
  }
@@ -245,11 +245,11 @@ export class LockMechanism extends deviceBase {
245
245
  this.LockMechanism.LockTargetState = this.LockMechanism.LockCurrentState;
246
246
  }
247
247
  if (this.LockMechanism.LockCurrentState === this.hap.Characteristic.LockCurrentState.UNKNOWN) {
248
- await this.warnLog(`LockCurrentState: ${this.LockMechanism.LockCurrentState}, (UNKNOWN) parseEventStatus`
248
+ await this.logger.warn(`LockCurrentState: ${this.LockMechanism.LockCurrentState}, (UNKNOWN) parseEventStatus`
249
249
  + ` lockEvent: ${JSON.stringify(this.lockEvent)}`);
250
250
  }
251
- await this.debugLog(`LockCurrentState: ${this.LockMechanism.LockCurrentState}`);
252
- await this.debugLog(`LockTargetState: ${this.LockMechanism.LockTargetState}`);
251
+ await this.logger.debug(`LockCurrentState: ${this.LockMechanism.LockCurrentState}`);
252
+ await this.logger.debug(`LockTargetState: ${this.LockMechanism.LockTargetState}`);
253
253
  }
254
254
  // Contact Sensor
255
255
  if (!this.device.lock?.hide_contactsensor && this.ContactSensor?.Service) {
@@ -263,11 +263,11 @@ export class LockMechanism extends deviceBase {
263
263
  : this.lockEvent.doorState === 'closed'
264
264
  ? this.hap.Characteristic.ContactSensorState.CONTACT_DETECTED
265
265
  : this.ContactSensor.ContactSensorState;
266
- await this.debugLog(`ContactSensorState: ${this.ContactSensor.ContactSensorState}`);
266
+ await this.logger.debug(`ContactSensorState: ${this.ContactSensor.ContactSensorState}`);
267
267
  }
268
268
  }
269
269
  else {
270
- await this.debugWarnLog(`lovckEvent state: ${JSON.stringify(this.lockStatus)}`);
270
+ await this.logger.debugWarn(`lovckEvent state: ${JSON.stringify(this.lockStatus)}`);
271
271
  }
272
272
  }
273
273
  }
@@ -285,11 +285,11 @@ export class LockMechanism extends deviceBase {
285
285
  */
286
286
  async refreshStatus() {
287
287
  if (this.deviceRefreshRate === 0) {
288
- await this.debugLog(`(refreshStatus) deviceRefreshRate: ${this.deviceRefreshRate}`);
288
+ await this.logger.debug(`(refreshStatus) deviceRefreshRate: ${this.deviceRefreshRate}`);
289
289
  return;
290
290
  }
291
291
  if (!this.platform.connectivity) {
292
- await this.debugLog('(refreshStatus) connectivity not initialized — skipping');
292
+ await this.logger.debug('(refreshStatus) connectivity not initialized — skipping');
293
293
  return;
294
294
  }
295
295
  const lockDetails = await this.platform.connectivity.execute(`refreshStatus ${this.accessory.displayName}`, client => client.details(this.device.lockId));
@@ -308,7 +308,7 @@ export class LockMechanism extends deviceBase {
308
308
  * (which would re-fetch).
309
309
  */
310
310
  async applyRefresh(lockDetails) {
311
- await this.debugSuccessLog(`(applyRefresh) lockDetails: ${JSON.stringify(lockDetails)}`);
311
+ await this.logger.debugSuccess(`(applyRefresh) lockDetails: ${JSON.stringify(lockDetails)}`);
312
312
  this.lockDetails = lockDetails;
313
313
  this.lockStatus = lockDetails.LockStatus;
314
314
  await this.parseStatus();
@@ -319,22 +319,22 @@ export class LockMechanism extends deviceBase {
319
319
  */
320
320
  async pushChanges() {
321
321
  if (!this.LockMechanism) {
322
- await this.errorLog(`lockTargetState: ${JSON.stringify(this.LockMechanism)}`);
322
+ await this.logger.error(`lockTargetState: ${JSON.stringify(this.LockMechanism)}`);
323
323
  return;
324
324
  }
325
325
  const targetState = this.LockMechanism.LockTargetState;
326
326
  const currentState = this.LockMechanism.LockCurrentState;
327
327
  if (targetState === currentState) {
328
- await this.debugLog(`No changes, LockTargetState: ${targetState}, LockCurrentState: ${currentState}`);
328
+ await this.logger.debug(`No changes, LockTargetState: ${targetState}, LockCurrentState: ${currentState}`);
329
329
  this.LockMechanism.LockTargetState = currentState === this.hap.Characteristic.LockCurrentState.SECURED
330
330
  ? this.hap.Characteristic.LockTargetState.SECURED
331
331
  : this.hap.Characteristic.LockTargetState.UNSECURED;
332
332
  await this.updateHomeKitCharacteristics();
333
333
  return;
334
334
  }
335
- await this.debugLog(`Making API call - Target: ${targetState}, Current: ${currentState}`);
335
+ await this.logger.debug(`Making API call - Target: ${targetState}, Current: ${currentState}`);
336
336
  if (!this.platform.connectivity) {
337
- await this.errorLog('pushChanges: connectivity not initialized');
337
+ await this.logger.error('pushChanges: connectivity not initialized');
338
338
  return;
339
339
  }
340
340
  try {
@@ -358,19 +358,19 @@ export class LockMechanism extends deviceBase {
358
358
  await client.lock(this.device.lockId);
359
359
  }
360
360
  }, { throwOnOffline: true });
361
- await this.successLog(`Sending request to August API: ${targetState === 1 ? 'Locked' : 'Unlocked'}`);
361
+ await this.logger.success(`Sending request to August API: ${targetState === 1 ? 'Locked' : 'Unlocked'}`);
362
362
  await this.updateHomeKitCharacteristics();
363
363
  }
364
364
  catch (e) {
365
365
  await this.statusCode('pushChanges', e);
366
- await this.errorLog(`pushChanges: ${e.message ?? e}`);
366
+ await this.logger.error(`pushChanges: ${e.message ?? e}`);
367
367
  }
368
368
  }
369
369
  /**
370
370
  * Updates the status for each of the HomeKit Characteristics
371
371
  */
372
372
  async updateHomeKitCharacteristics() {
373
- await this.debugLog('updateHomeKitCharacteristics');
373
+ await this.logger.debug('updateHomeKitCharacteristics');
374
374
  // Lock Mechanism
375
375
  if (!this.device.lock?.hide_lock && this.LockMechanism?.Service) {
376
376
  // LockTargetState
@@ -392,10 +392,10 @@ export class LockMechanism extends deviceBase {
392
392
  async setLockTargetState(value) {
393
393
  if (this.LockMechanism) {
394
394
  if (this.LockMechanism.LockTargetState !== this.LockMechanism.LockCurrentState) {
395
- await this.debugLog(`Set LockTargetState: ${value}`);
395
+ await this.logger.debug(`Set LockTargetState: ${value}`);
396
396
  }
397
397
  else {
398
- await this.debugLog(`No changes, LockTargetState: ${this.LockMechanism.LockTargetState},`
398
+ await this.logger.debug(`No changes, LockTargetState: ${this.LockMechanism.LockTargetState},`
399
399
  + ` LockCurrentState: ${this.LockMechanism.LockCurrentState}`);
400
400
  }
401
401
  this.accessory.context.LockMechanismLockTargetState = this.LockMechanism.LockTargetState = value;
@@ -412,7 +412,7 @@ export class LockMechanism extends deviceBase {
412
412
  // platform.connectivity's August (which is for HTTP only).
413
413
  pubnubAugust;
414
414
  async subscribeAugust() {
415
- await this.debugLog('subscribeAugust');
415
+ await this.logger.debug('subscribeAugust');
416
416
  await this.platform.augustCredentials();
417
417
  if (this.config.credentials) {
418
418
  // Clean up any previous subscription before creating a new one.
@@ -436,15 +436,15 @@ export class LockMechanism extends deviceBase {
436
436
  this.pubnubStatusUnsubscribe = this.pubnubAugust.onPubNubStatus((status) => {
437
437
  const category = status?.category;
438
438
  if (category === 'PNConnectedCategory' || category === 'PNReconnectedCategory') {
439
- this.debugLog(`PubNub status: ${category} — signalling connectivity recovery`);
439
+ this.logger.debug(`PubNub status: ${category} — signalling connectivity recovery`);
440
440
  this.platform.connectivity?.onPubNubReconnect();
441
441
  }
442
442
  else if (category === 'PNNetworkDownCategory' || category === 'PNDisconnectedCategory') {
443
- this.debugLog(`PubNub status: ${category}`);
443
+ this.logger.debug(`PubNub status: ${category}`);
444
444
  }
445
445
  });
446
446
  this.pubnubUnsubscribe = await this.pubnubAugust.subscribe(this.device.lockId, async (AugustEvent, timestamp) => {
447
- await this.debugLog(`AugustEvent: ${JSON.stringify(AugustEvent)}, ${JSON.stringify(timestamp)}`);
447
+ await this.logger.debug(`AugustEvent: ${JSON.stringify(AugustEvent)}, ${JSON.stringify(timestamp)}`);
448
448
  // Update HomeKit
449
449
  this.lockEvent = AugustEvent;
450
450
  await this.parseEventStatus();
@@ -452,7 +452,7 @@ export class LockMechanism extends deviceBase {
452
452
  });
453
453
  }
454
454
  else {
455
- await this.errorLog('subscribeAugust: No credentials');
455
+ await this.logger.error('subscribeAugust: No credentials');
456
456
  }
457
457
  }
458
458
  /**
@@ -466,7 +466,7 @@ export class LockMechanism extends deviceBase {
466
466
  this.pubnubStatusUnsubscribe();
467
467
  }
468
468
  catch (e) {
469
- this.debugLog(`Error tearing down PubNub status listener: ${e.message || e}`);
469
+ this.logger.debug(`Error tearing down PubNub status listener: ${e.message || e}`);
470
470
  }
471
471
  this.pubnubStatusUnsubscribe = undefined;
472
472
  }
@@ -475,7 +475,7 @@ export class LockMechanism extends deviceBase {
475
475
  this.pubnubUnsubscribe();
476
476
  }
477
477
  catch (e) {
478
- this.debugLog(`Error tearing down PubNub subscription: ${e.message || e}`);
478
+ this.logger.debug(`Error tearing down PubNub subscription: ${e.message || e}`);
479
479
  }
480
480
  this.pubnubUnsubscribe = undefined;
481
481
  }
@@ -484,7 +484,7 @@ export class LockMechanism extends deviceBase {
484
484
  this.pubnubAugust.destroy();
485
485
  }
486
486
  catch (e) {
487
- this.debugLog(`Error destroying PubNub August instance: ${e.message || e}`);
487
+ this.logger.debug(`Error destroying PubNub August instance: ${e.message || e}`);
488
488
  }
489
489
  this.pubnubAugust = undefined;
490
490
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/devices/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/devices/lock.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { AugustPlatform } from './Platform.HAP.js';
2
- import { AugustMatterPlatform } from './platform.matter.js';
1
+ import { AugustPlatformHAP } from './Platform.HAP.js';
2
+ import { AugustPlatformMatter } from './Platform.Matter.js';
3
3
  import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
4
4
  // Register our platform with homebridge.
5
5
  // Create a proxy constructor that selects the appropriate platform implementation
@@ -7,9 +7,9 @@ function createAugustPlatformProxy(api) {
7
7
  return function AugustPlatformProxy(log, config, apiInner) {
8
8
  const disableMatter = config?.options?.disableMatter;
9
9
  if (api.isMatterAvailable?.() && api.isMatterEnabled?.() && !disableMatter) {
10
- return new AugustMatterPlatform(log, config, apiInner);
10
+ return new AugustPlatformMatter(log, config, apiInner);
11
11
  }
12
- return new AugustPlatform(log, config, apiInner);
12
+ return new AugustPlatformHAP(log, config, apiInner);
13
13
  };
14
14
  }
15
15
  // Register our platform proxy with homebridge.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE1D,yCAAyC;AACzC,kFAAkF;AAClF,SAAS,yBAAyB,CAAC,GAAQ;IACzC,OAAO,SAAS,mBAAmB,CAAC,GAAY,EAAE,MAAsB,EAAE,QAAa;QACrF,MAAM,aAAa,GAAG,MAAM,EAAE,OAAO,EAAE,aAAa,CAAA;QAEpD,IAAI,GAAG,CAAC,iBAAiB,EAAE,EAAE,IAAI,GAAG,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3E,OAAO,IAAI,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACxD,CAAC;QAED,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAClD,CAAC,CAAA;AACH,CAAC;AAED,+CAA+C;AAC/C,eAAe,CAAC,GAAQ,EAAQ,EAAE;IAChC,0EAA0E;IAC1E,mEAAmE;IACnE,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,yBAAyB,CAAC,GAAG,CAAmB,CAAC,CAAA;AACpG,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE1D,yCAAyC;AACzC,kFAAkF;AAClF,SAAS,yBAAyB,CAAC,GAAQ;IACzC,OAAO,SAAS,mBAAmB,CAAC,GAAY,EAAE,MAAsB,EAAE,QAAa;QACrF,MAAM,aAAa,GAAG,MAAM,EAAE,OAAO,EAAE,aAAa,CAAA;QAEpD,IAAI,GAAG,CAAC,iBAAiB,EAAE,EAAE,IAAI,GAAG,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3E,OAAO,IAAI,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACxD,CAAC;QAED,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACrD,CAAC,CAAA;AACH,CAAC;AAED,+CAA+C;AAC/C,eAAe,CAAC,GAAQ,EAAQ,EAAE;IAChC,0EAA0E;IAC1E,mEAAmE;IACnE,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,yBAAyB,CAAC,GAAG,CAAmB,CAAC,CAAA;AACpG,CAAC,CAAA"}
package/dist/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@homebridge-plugins/homebridge-august",
3
3
  "displayName": "August",
4
4
  "type": "module",
5
- "version": "3.2.3",
5
+ "version": "3.3.0-beta.0",
6
6
  "description": "The August plugin allows you to access your August & Yale device(s) from HomeKit.",
7
7
  "author": {
8
8
  "name": "donavanbecker",
@@ -38,13 +38,13 @@
38
38
  ],
39
39
  "main": "dist/index.js",
40
40
  "engines": {
41
- "homebridge": "^2.0.0",
41
+ "homebridge": "^2.0.1",
42
42
  "node": "^22 || ^24"
43
43
  },
44
44
  "scripts": {
45
45
  "check": "npm install && npm outdated",
46
- "lint": "eslint src --no-warn-ignored",
47
- "lint:fix": "eslint src --fix --no-warn-ignored",
46
+ "lint": "eslint 'src/**/*.ts' --no-warn-ignored",
47
+ "lint:fix": "eslint 'src/**/*.ts' --fix --no-warn-ignored",
48
48
  "watch": "npm run build && npm run plugin-ui && npm link && nodemon",
49
49
  "plugin-ui": "rsync ./src/homebridge-ui/public/index.html ./dist/homebridge-ui/public/",
50
50
  "build": "npm run clean && tsc && npm run plugin-ui && cp package.json dist/package.json || true",
@@ -61,24 +61,25 @@
61
61
  "access": "public"
62
62
  },
63
63
  "dependencies": {
64
+ "@homebridge/plugin-logger": "^1.0.0",
64
65
  "@homebridge/plugin-ui-utils": "^2.2.3",
65
66
  "august-yale": "^1.2.2",
66
67
  "rxjs": "^7.8.2"
67
68
  },
68
69
  "devDependencies": {
69
70
  "@antfu/eslint-config": "^8.2.0",
70
- "@types/node": "^25.6.0",
71
+ "@types/node": "^25.6.2",
71
72
  "@vitest/coverage-v8": "^4.1.5",
72
73
  "eslint": "^10.3.0",
73
74
  "eslint-plugin-format": "^2.0.1",
74
75
  "eslint-plugin-html": "^8.1.4",
75
76
  "eslint-plugin-perfectionist": "^5.8.0",
76
77
  "eslint-plugin-unused-imports": "^4.4.1",
77
- "homebridge": "^2.0.0",
78
+ "homebridge": "^2.0.1",
78
79
  "nodemon": "^3.1.14",
79
80
  "shx": "^0.4.0",
80
81
  "typedoc": "^0.28.19",
81
82
  "typescript": "^6.0.3",
82
83
  "vitest": "^4.1.5"
83
84
  }
84
- }
85
+ }
@@ -1,17 +1,18 @@
1
1
  import type { MatterAccessory, MatterAPI, PlatformAccessory } from 'homebridge';
2
+ import type { Subscription } from 'rxjs';
2
3
  import type { device, devicesConfig } from './settings.js';
3
- import { AugustPlatform } from './Platform.HAP.js';
4
+ import { AugustPlatformBase } from './Platform.Base.js';
4
5
  /**
5
- * AugustMatterPlatform
6
- * Extends AugustPlatform to register August locks as Matter DoorLock accessories
6
+ * AugustPlatformMatter
7
+ * Extends AugustPlatformBase to register August locks as Matter DoorLock accessories
7
8
  * instead of HAP accessories. Used when Homebridge Matter support is available,
8
9
  * enabled, and not disabled by the `disableMatter` config option.
9
10
  */
10
- export declare class AugustMatterPlatform extends AugustPlatform {
11
+ export declare class AugustPlatformMatter extends AugustPlatformBase {
11
12
  readonly matterAccessories: Map<string, MatterAccessory>;
12
13
  private readonly pendingHapCleanup;
13
- private readonly matterPubNubUnsubscribes;
14
- private readonly matterPollingSubscriptions;
14
+ readonly matterPubNubUnsubscribes: Map<string, () => void>;
15
+ readonly matterPollingSubscriptions: Map<string, Subscription>;
15
16
  /**
16
17
  * Called when homebridge restores cached HAP accessories from disk at startup.
17
18
  * HAP accessories are staged here and removed only after Matter registration
@@ -43,15 +44,12 @@ export declare class AugustMatterPlatform extends AugustPlatform {
43
44
  private sweepUnhandledHapAccessories;
44
45
  /**
45
46
  * Register an August lock as a Matter DoorLock accessory.
47
+ *
48
+ * Stores a lock mechanism in the base class lockMechanisms map for unified teardown (PubNub and polling).
49
+ * The lock mechanism must implement tearDownPubNubSubscription for proper cleanup.
46
50
  * Overrides the HAP-based Lock() method from AugustPlatform.
47
51
  */
48
- protected Lock(device: device & devicesConfig): Promise<void>;
49
- /**
50
- * Subscribe to August real-time lock events and update the Matter DoorLock state.
51
- * Captures the unsubscribe function returned by August.subscribe() to allow proper
52
- * cleanup on lock removal (equivalent of the fix in lock.ts / PR #206 for HAP).
53
- */
54
- private subscribeAugustMatter;
52
+ Lock(device: device & devicesConfig): Promise<void>;
55
53
  /**
56
54
  * Map an August lock state (from details() or a PubNub event) to a Matter
57
55
  * DoorLock.LockState enum value.
@@ -76,17 +74,17 @@ export declare class AugustMatterPlatform extends AugustPlatform {
76
74
  * DoorLock state. Uses `timer(0, ...)` for an immediate first fetch (accurate initial state)
77
75
  * and `exhaustMap` to prevent overlapping concurrent requests.
78
76
  *
79
- * Idempotent: disposes any previous polling subscription for the same UUID
80
- * before starting a new one. The subscription is tracked in
81
- * matterPollingSubscriptions so it can be disposed on lock removal — otherwise
82
- * the timer keeps firing forever even after the accessory is gone.
77
+ * Returns the polling subscription so it can be disposed by the lock mechanism's teardown method.
78
+ *
79
+ * @returns {Subscription | undefined} The polling subscription, or undefined if polling is disabled.
83
80
  */
84
81
  private startMatterStatusPolling;
85
82
  /**
86
83
  * Release all resources associated with a given Matter lock UUID:
87
- * the registered Matter accessory, the PubNub subscription, and the
88
- * RxJS polling subscription. Safe to call when some or all of these
89
- * do not exist.
84
+ * the registered Matter accessory and the lock mechanism (PubNub/polling teardown).
85
+ *
86
+ * Finds the lock mechanism by UUID, calls its tearDownPubNubSubscription (for PubNub and polling),
87
+ * and removes it from the lockMechanisms map. Also unregisters the Matter accessory.
90
88
  */
91
89
  private tearDownMatterLock;
92
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.matter.d.ts","sourceRoot":"","sources":["../src/platform.matter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAG/E,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAa,MAAM,eAAe,CAAA;AAMrE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGlD;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;IAEtD,SAAgB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAY;IAI3E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4C;IAM9E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAqC;IAK9E,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAuC;IAElF;;;;;OAKG;IACY,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E;;;OAGG;IACH,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAK1D;;;;;;;;;;;;;;OAcG;IACY,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YAKjC,4BAA4B;IAY1C;;;OAGG;cACsB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwH5E;;;;OAIG;YACW,qBAAqB;IAuCnC;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAapB;;;;;;;;OAQG;IACG,6BAA6B,CACjC,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;;OAKG;YACW,kBAAkB;CA6BjC"}
1
+ {"version":3,"file":"platform.matter.d.ts","sourceRoot":"","sources":["../src/platform.matter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAGvD;;;;;GAKG;AAEH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAE1D,SAAgB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAY;IAI3E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4C;IAG9E,SAAgB,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAY;IAK7E,SAAgB,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAY;IAEjF;;;;;OAKG;IACY,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E;;;OAGG;IACH,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAK1D;;;;;;;;;;;;;;OAcG;IACY,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YAKjC,4BAA4B;IAY1C;;;;;;OAMG;IACmB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwJzE;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAapB;;;;;;;;OAQG;IACG,6BAA6B,CACjC,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;;;;;OAMG;YACW,kBAAkB;CAgCjC"}