@homebridge-plugins/homebridge-august 3.4.0-beta.0 → 3.4.0-beta.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## v3.4.0 (Pending Release)
2
+
3
+ ### Changed
4
+
5
+ - feat(matter): expose lock battery via a PowerSource cluster (@zbuc)
6
+
1
7
  ## v3.3.1 (2026-07-20)
2
8
 
3
9
  ### Changed
@@ -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;IACtD;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAU9B,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;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;IACtD;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAU9B,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;IAuI5E;;;;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;IA0ChB;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;;OAKG;YACW,kBAAkB;CA6BjC"}
@@ -134,6 +134,21 @@ export class AugustMatterPlatform extends AugustPlatform {
134
134
  actuatorEnabled: true,
135
135
  operatingMode: 0, // 0 = Normal
136
136
  },
137
+ // PowerSource (Battery feature) so the lock battery reaches Matter
138
+ // controllers (e.g. Home Assistant), matching what the HAP Battery
139
+ // service already exposes. Homebridge composes PowerSourceServer
140
+ // .with('Battery') when batPercentRemaining/batChargeLevel are present.
141
+ // Placeholder values until the first poll pushes real ones (below);
142
+ // batPercentRemaining is Matter half-percent (0..200).
143
+ powerSource: {
144
+ status: 1, // PowerSourceStatus.Active
145
+ order: 0,
146
+ description: 'Battery',
147
+ batReplaceability: 2, // UserReplaceable (AA cells)
148
+ batReplacementNeeded: false,
149
+ batChargeLevel: 0, // BatChargeLevel.Ok
150
+ batPercentRemaining: 200, // 100% until first poll
151
+ },
137
152
  },
138
153
  handlers: {
139
154
  doorLock: {
@@ -271,6 +286,23 @@ export class AugustMatterPlatform extends AugustPlatform {
271
286
  return;
272
287
  }
273
288
  const details = lockDetails;
289
+ // Battery -> PowerSource. August reports `battery` as a 0..1 fraction;
290
+ // Matter batPercentRemaining is half-percent (0..200). Mirror the HAP
291
+ // Battery service's <15% low threshold. The /locks/{id} detail carries
292
+ // `battery` even when it has no LockStatus.state (lock state is driven by
293
+ // PubNub events / a separate status call), so push the battery BEFORE the
294
+ // lock-state guard below — otherwise a stateless detail response, which is
295
+ // the norm for this endpoint, drops the battery update entirely.
296
+ if (typeof details.battery === 'number') {
297
+ const pct = Math.min(Math.max(details.battery, 0), 1);
298
+ const low = pct < 0.15;
299
+ await matterApi.updateAccessoryState(uuid, 'powerSource', {
300
+ batPercentRemaining: Math.round(pct * 200),
301
+ batChargeLevel: pct < 0.10 ? 2 : low ? 1 : 0, // Critical / Warning / Ok
302
+ batReplacementNeeded: low,
303
+ });
304
+ await this.debugLog(`Matter: Poll updated battery to ${Math.round(pct * 100)}% for ${device.LockName}`);
305
+ }
274
306
  if (!details?.LockStatus?.state) {
275
307
  return;
276
308
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.matter.js","sourceRoot":"","sources":["../src/platform.matter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.matter.js","sourceRoot":"","sources":["../src/platform.matter.ts"],"names":[],"mappings":"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"}
package/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.4.0-beta.0",
5
+ "version": "3.4.0-beta.2",
6
6
  "description": "The August plugin allows you to access your August & Yale device(s) from HomeKit.",
7
7
  "author": {
8
8
  "name": "bwp91",
@@ -657,4 +657,87 @@ describe('augustMatterPlatform', () => {
657
657
  expect(swept).not.toContain(migrated)
658
658
  })
659
659
  })
660
+
661
+ describe('fetchAndUpdateMatterLockState (battery → PowerSource)', () => {
662
+ // Install a stub connectivity manager whose execute() runs the poll fn
663
+ // against a fake august client, matching the suite's conventions.
664
+ function withDetails(p: any, detail: any) {
665
+ const client = { details: vi.fn().mockResolvedValue(detail) }
666
+ p.connectivity = { execute: vi.fn(async (_label: string, fn: (c: any) => Promise<any>) => fn(client)) }
667
+ return client
668
+ }
669
+
670
+ it('pushes the battery level to the PowerSource cluster on poll', async () => {
671
+ platform = new AugustMatterPlatform(mockLog, mockConfig, mockApi)
672
+ withDetails(platform, { battery: 0.53 })
673
+
674
+ await (platform as any).fetchAndUpdateMatterLockState(
675
+ { lockId: 'lock-1', LockName: 'Front Door' } as any,
676
+ 'matter-uuid-lock-1',
677
+ mockMatterApi,
678
+ )
679
+
680
+ expect(mockMatterApi.updateAccessoryState).toHaveBeenCalledWith(
681
+ 'matter-uuid-lock-1',
682
+ 'powerSource',
683
+ expect.objectContaining({
684
+ batPercentRemaining: 106, // round(0.53 * 200)
685
+ batChargeLevel: 0, // OK
686
+ batReplacementNeeded: false,
687
+ }),
688
+ )
689
+ })
690
+
691
+ it('pushes the battery even when the detail carries no lock state, and flags a low battery', async () => {
692
+ platform = new AugustMatterPlatform(mockLog, mockConfig, mockApi)
693
+ withDetails(platform, { battery: 0.08 }) // low, and no LockStatus.state at all
694
+
695
+ await (platform as any).fetchAndUpdateMatterLockState(
696
+ { lockId: 'lock-2', LockName: 'Kitchen Door' } as any,
697
+ 'matter-uuid-lock-2',
698
+ mockMatterApi,
699
+ )
700
+
701
+ // Regression guard: a stateless detail response — the norm for this
702
+ // endpoint — must not drop the battery update.
703
+ expect(mockMatterApi.updateAccessoryState).toHaveBeenCalledWith(
704
+ 'matter-uuid-lock-2',
705
+ 'powerSource',
706
+ expect.objectContaining({
707
+ batPercentRemaining: 16, // round(0.08 * 200)
708
+ batChargeLevel: 2, // Critical (<10%)
709
+ batReplacementNeeded: true, // <15%
710
+ }),
711
+ )
712
+ // ...and it must not push a doorLock state it doesn't have.
713
+ expect(mockMatterApi.updateAccessoryState).not.toHaveBeenCalledWith(
714
+ 'matter-uuid-lock-2',
715
+ 'doorLock',
716
+ expect.anything(),
717
+ )
718
+ })
719
+
720
+ it('leaves PowerSource untouched when the detail has no battery field', async () => {
721
+ platform = new AugustMatterPlatform(mockLog, mockConfig, mockApi)
722
+ withDetails(platform, { LockStatus: { state: { locked: true } } }) // no battery
723
+
724
+ await (platform as any).fetchAndUpdateMatterLockState(
725
+ { lockId: 'lock-3', LockName: 'Guest Door' } as any,
726
+ 'matter-uuid-lock-3',
727
+ mockMatterApi,
728
+ )
729
+
730
+ expect(mockMatterApi.updateAccessoryState).not.toHaveBeenCalledWith(
731
+ 'matter-uuid-lock-3',
732
+ 'powerSource',
733
+ expect.anything(),
734
+ )
735
+ // lock state is present, so the doorLock update still happens as before.
736
+ expect(mockMatterApi.updateAccessoryState).toHaveBeenCalledWith(
737
+ 'matter-uuid-lock-3',
738
+ 'doorLock',
739
+ expect.objectContaining({ lockState: 1 }),
740
+ )
741
+ })
742
+ })
660
743
  })