@homebridge-plugins/homebridge-august 3.0.10 → 3.1.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 (56) hide show
  1. package/.github/workflows/release.yml +64 -27
  2. package/CHANGELOG.md +149 -771
  3. package/config.schema.json +8 -1
  4. package/dist/devices/device.js +1 -1
  5. package/dist/devices/device.js.map +1 -1
  6. package/dist/devices/device.test.js +1 -1
  7. package/dist/devices/device.test.js.map +1 -1
  8. package/dist/devices/lock.test.js +27 -0
  9. package/dist/devices/lock.test.js.map +1 -1
  10. package/dist/homebridge-ui/server.js.map +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +15 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.test.js +86 -3
  15. package/dist/index.test.js.map +1 -1
  16. package/dist/package.json +84 -0
  17. package/dist/platform.d.ts +9 -2
  18. package/dist/platform.d.ts.map +1 -1
  19. package/dist/platform.js +36 -11
  20. package/dist/platform.js.map +1 -1
  21. package/dist/platform.matter.d.ts +51 -0
  22. package/dist/platform.matter.d.ts.map +1 -0
  23. package/dist/platform.matter.js +276 -0
  24. package/dist/platform.matter.js.map +1 -0
  25. package/dist/platform.matter.test.d.ts +2 -0
  26. package/dist/platform.matter.test.d.ts.map +1 -0
  27. package/dist/platform.matter.test.js +385 -0
  28. package/dist/platform.matter.test.js.map +1 -0
  29. package/dist/platform.test.js +6 -8
  30. package/dist/platform.test.js.map +1 -1
  31. package/dist/settings.d.ts +1 -0
  32. package/dist/settings.d.ts.map +1 -1
  33. package/dist/settings.test.js +11 -0
  34. package/dist/settings.test.js.map +1 -1
  35. package/docs/assets/icons.js +1 -1
  36. package/docs/assets/icons.svg +1 -1
  37. package/docs/assets/main.js +5 -5
  38. package/docs/assets/navigation.js +1 -0
  39. package/docs/assets/search.js +1 -0
  40. package/docs/assets/style.css +248 -226
  41. package/docs/hierarchy.html +1 -0
  42. package/docs/index.html +17 -13
  43. package/docs/modules.html +1 -2
  44. package/docs/variables/default.html +1 -0
  45. package/eslint.config.js +6 -9
  46. package/package.json +23 -30
  47. package/typedoc.json +0 -4
  48. package/vitest.config.ts +7 -0
  49. package/.github/scripts/npm-version-script-esm-auto.js +0 -207
  50. package/.github/workflows/beta-release.yml +0 -55
  51. package/docs/assets/dmt/dmt-component-data.js +0 -1
  52. package/docs/assets/dmt/dmt-components.css +0 -20
  53. package/docs/assets/dmt/dmt-components.js +0 -67
  54. package/docs/assets/dmt/dmt-search.cmp +0 -0
  55. package/docs/assets/dmt/dmt-theme.css +0 -1
  56. package/docs/functions/default.html +0 -2
package/dist/platform.js CHANGED
@@ -26,6 +26,11 @@ export class AugustPlatform {
26
26
  // Session refresh: promise coalescing ensures concurrent 502s from
27
27
  // multiple locks share a single refresh instead of cascading.
28
28
  sessionRefreshPromise;
29
+ // Cooldown prevents wasted sequential refreshes during prolonged
30
+ // network outages, where every poll cycle would otherwise trigger
31
+ // a new POST /session call (and risk rate limiting).
32
+ lastSessionRefresh = 0;
33
+ static SESSION_REFRESH_COOLDOWN_MS = 5 * 60 * 1000; // 5 minutes
29
34
  // Track LockMechanism instances by lockId so they can be properly torn
30
35
  // down when the accessory is unregistered (releases PubNub subscriptions).
31
36
  lockMechanisms = new Map();
@@ -186,12 +191,19 @@ export class AugustPlatform {
186
191
  else {
187
192
  // Create normalized credentials for August API compatibility
188
193
  const normalizedCredentials = await this.normalizeCredentialsForApi(this.config.credentials);
189
- this.augustConfig = new August(normalizedCredentials);
194
+ try {
195
+ // Prefer constructing if August is a constructor
196
+ // eslint-disable-next-line new-cap
197
+ this.augustConfig = new August(normalizedCredentials);
198
+ }
199
+ catch (e) {
200
+ // Fallback: some test mocks or builds may export a factory function
201
+ this.augustConfig = August(normalizedCredentials);
202
+ }
190
203
  await this.debugLog(`August Credentials: ${JSON.stringify(this.augustConfig)}`);
191
204
  }
192
205
  }
193
206
  /**
194
-
195
207
  * Normalize credentials for August API compatibility
196
208
  * Handle country code variations that may cause 403 errors
197
209
  * Maps regional country codes to supported API endpoints
@@ -204,16 +216,16 @@ export class AugustPlatform {
204
216
  // Country code normalization mapping for API compatibility
205
217
  // Some regions don't have dedicated August API endpoints and need to use US servers
206
218
  const countryCodeMapping = {
207
- 'CA': 'US', // Canada -> United States (North American region)
208
- 'MX': 'US', // Mexico -> United States (North American region)
219
+ CA: 'US', // Canada -> United States (North American region)
220
+ MX: 'US', // Mexico -> United States (North American region)
209
221
  };
210
222
  const originalCountryCode = credentials.countryCode?.toUpperCase();
211
223
  const normalizedCountryCode = originalCountryCode ? countryCodeMapping[originalCountryCode] : undefined;
212
224
  // Check if user has disabled normalization via config
213
225
  const normalizationDisabled = this.config.options?.disableCountryCodeNormalization === true;
214
226
  if (originalCountryCode && normalizedCountryCode && !normalizationDisabled) {
215
- await this.debugWarnLog(`Country code normalization: ${originalCountryCode} -> ${normalizedCountryCode} for API compatibility. ` +
216
- `To disable this behavior, set 'disableCountryCodeNormalization: true' in options.`);
227
+ await this.debugWarnLog(`Country code normalization: ${originalCountryCode} -> ${normalizedCountryCode} for API compatibility. `
228
+ + `To disable this behavior, set 'disableCountryCodeNormalization: true' in options.`);
217
229
  normalizedCredentials.countryCode = normalizedCountryCode;
218
230
  }
219
231
  else if (originalCountryCode && normalizedCountryCode && normalizationDisabled) {
@@ -245,10 +257,10 @@ export class AugustPlatform {
245
257
  // Simple check to see if the original credentials have changed
246
258
  const currentCredsHash = JSON.stringify(this.config.credentials);
247
259
  const cachedCredsHash = JSON.stringify({ ...this.normalizedCredentialsCache, countryCode: this.config.credentials.countryCode });
248
- if (currentCredsHash === cachedCredsHash ||
249
- (this.normalizedCredentialsCache.augustId === this.config.credentials.augustId &&
250
- this.normalizedCredentialsCache.password === this.config.credentials.password &&
251
- this.normalizedCredentialsCache.installId === this.config.credentials.installId)) {
260
+ if (currentCredsHash === cachedCredsHash
261
+ || (this.normalizedCredentialsCache.augustId === this.config.credentials.augustId
262
+ && this.normalizedCredentialsCache.password === this.config.credentials.password
263
+ && this.normalizedCredentialsCache.installId === this.config.credentials.installId)) {
252
264
  await this.debugLog('Using cached normalized credentials');
253
265
  return this.normalizedCredentialsCache;
254
266
  }
@@ -266,6 +278,12 @@ export class AugustPlatform {
266
278
  * their own. This prevents cascading refreshes where each lock destroys
267
279
  * the instance the previous lock just created.
268
280
  *
281
+ * Also enforces a cooldown period: refreshes within SESSION_REFRESH_COOLDOWN_MS
282
+ * of the last attempt are skipped. This prevents wasted sequential refreshes
283
+ * during prolonged network outages — without this, every poll cycle (default
284
+ * 30s) would trigger a new POST /session call to August, risking rate limiting
285
+ * and spamming logs.
286
+ *
269
287
  * PubNub subscriptions are independent of the HTTP session (August.subscribe
270
288
  * uses its own internal August instance), so they are NOT torn down or
271
289
  * rebuilt during a session refresh. Only the HTTP client (augustConfig)
@@ -275,9 +293,16 @@ export class AugustPlatform {
275
293
  if (this.sessionRefreshPromise) {
276
294
  return this.sessionRefreshPromise;
277
295
  }
296
+ const sinceLastRefresh = Date.now() - this.lastSessionRefresh;
297
+ if (sinceLastRefresh < AugustPlatform.SESSION_REFRESH_COOLDOWN_MS) {
298
+ const remainingSeconds = Math.ceil((AugustPlatform.SESSION_REFRESH_COOLDOWN_MS - sinceLastRefresh) / 1000);
299
+ await this.debugLog(`Session refresh skipped: cooldown active (${remainingSeconds}s remaining)`);
300
+ return;
301
+ }
278
302
  this.sessionRefreshPromise = this.executeSessionRefresh();
279
303
  try {
280
304
  await this.sessionRefreshPromise;
305
+ this.lastSessionRefresh = Date.now();
281
306
  }
282
307
  finally {
283
308
  this.sessionRefreshPromise = undefined;
@@ -415,7 +440,7 @@ export class AugustPlatform {
415
440
  try {
416
441
  await this.warnLog('Initiating re-authentication process. Please check for verification code if prompted.');
417
442
  await this.validated();
418
- return; // validated() will call discoverDevices() again if successful
443
+ // validated() will call discoverDevices() again if successful
419
444
  }
420
445
  catch (authError) {
421
446
  throw new Error(`Re-authentication failed: ${authError.message ?? authError}. Please check your credentials and try restarting Homebridge.`);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { MatterAccessory, MatterAPI, PlatformAccessory } from 'homebridge';
2
+ import type { device, devicesConfig } from './settings.js';
3
+ import { AugustPlatform } from './platform.js';
4
+ /**
5
+ * AugustMatterPlatform
6
+ * Extends AugustPlatform to register August locks as Matter DoorLock accessories
7
+ * instead of HAP accessories. Used when Homebridge Matter support is available,
8
+ * enabled, and not disabled by the `disableMatter` config option.
9
+ */
10
+ export declare class AugustMatterPlatform extends AugustPlatform {
11
+ readonly matterAccessories: Map<string, MatterAccessory>;
12
+ private readonly pendingHapCleanup;
13
+ private readonly matterPubNubUnsubscribes;
14
+ /**
15
+ * Called when homebridge restores cached HAP accessories from disk at startup.
16
+ * HAP accessories are staged here and removed only after Matter registration
17
+ * succeeds for the same lock, so that if Matter init fails the user is not
18
+ * left with zero accessories.
19
+ */
20
+ configureAccessory(accessory: PlatformAccessory): Promise<void>;
21
+ /**
22
+ * Called when homebridge restores cached Matter accessories from disk at startup.
23
+ * Stores the restored accessory so we can update it later during device discovery.
24
+ */
25
+ configureMatterAccessory(accessory: MatterAccessory): void;
26
+ /**
27
+ * Register an August lock as a Matter DoorLock accessory.
28
+ * Overrides the HAP-based Lock() method from AugustPlatform.
29
+ */
30
+ protected Lock(device: device & devicesConfig): Promise<void>;
31
+ /**
32
+ * Subscribe to August real-time lock events and update the Matter DoorLock state.
33
+ * Captures the unsubscribe function returned by August.subscribe() to allow proper
34
+ * cleanup on lock removal (equivalent of the fix in lock.ts / PR #206 for HAP).
35
+ */
36
+ private subscribeAugustMatter;
37
+ /**
38
+ * Fetch the current lock status from the August API and update the Matter DoorLock state.
39
+ * On failure, attempts a session refresh and retries once. The 5-minute cooldown in
40
+ * refreshAugustSession() (added by PR #209 for the HAP path) prevents refresh spam
41
+ * during prolonged network outages.
42
+ */
43
+ fetchAndUpdateMatterLockState(device: device & devicesConfig, uuid: string, matterApi: MatterAPI): Promise<void>;
44
+ /**
45
+ * Poll the August API for lock status at the configured refresh rate and update the Matter
46
+ * DoorLock state. Uses `timer(0, ...)` for an immediate first fetch (accurate initial state)
47
+ * and `exhaustMap` to prevent overlapping concurrent requests.
48
+ */
49
+ private startMatterStatusPolling;
50
+ }
51
+ //# sourceMappingURL=platform.matter.d.ts.map
@@ -0,0 +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;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAa,MAAM,eAAe,CAAA;AAMrE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAG9C;;;;;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;IAE9E;;;;;OAKG;IACY,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E;;;OAGG;IACH,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAK1D;;;OAGG;cACsB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsH5E;;;;OAIG;YACW,qBAAqB;IAkDnC;;;;;OAKG;IACG,6BAA6B,CACjC,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC;IAoDhB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAgBjC"}
@@ -0,0 +1,276 @@
1
+ import August from 'august-yale';
2
+ import { timer } from 'rxjs';
3
+ import { exhaustMap } from 'rxjs/operators';
4
+ import { AugustPlatform } from './platform.js';
5
+ import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
6
+ /**
7
+ * AugustMatterPlatform
8
+ * Extends AugustPlatform to register August locks as Matter DoorLock accessories
9
+ * instead of HAP accessories. Used when Homebridge Matter support is available,
10
+ * enabled, and not disabled by the `disableMatter` config option.
11
+ */
12
+ export class AugustMatterPlatform extends AugustPlatform {
13
+ // Track restored Matter cached accessories
14
+ matterAccessories = new Map();
15
+ // HAP accessories staged for removal after Matter registration succeeds.
16
+ // Deferred to avoid leaving users with zero accessories if Matter init fails.
17
+ pendingHapCleanup = new Map();
18
+ // PubNub unsubscribe functions keyed by accessory UUID.
19
+ // Must be captured from August.subscribe() and called on lock removal to
20
+ // prevent accumulating orphaned PubNub instances (equivalent of the fix in
21
+ // lock.ts / PR #206 for the HAP path).
22
+ matterPubNubUnsubscribes = new Map();
23
+ /**
24
+ * Called when homebridge restores cached HAP accessories from disk at startup.
25
+ * HAP accessories are staged here and removed only after Matter registration
26
+ * succeeds for the same lock, so that if Matter init fails the user is not
27
+ * left with zero accessories.
28
+ */
29
+ async configureAccessory(accessory) {
30
+ this.log.debug(`Staging cached HAP accessory for deferred cleanup: ${accessory.displayName}`);
31
+ this.pendingHapCleanup.set(accessory.UUID, accessory);
32
+ }
33
+ /**
34
+ * Called when homebridge restores cached Matter accessories from disk at startup.
35
+ * Stores the restored accessory so we can update it later during device discovery.
36
+ */
37
+ configureMatterAccessory(accessory) {
38
+ this.log.debug(`Loading cached Matter accessory: ${accessory.displayName}`);
39
+ this.matterAccessories.set(accessory.UUID, accessory);
40
+ }
41
+ /**
42
+ * Register an August lock as a Matter DoorLock accessory.
43
+ * Overrides the HAP-based Lock() method from AugustPlatform.
44
+ */
45
+ async Lock(device) {
46
+ const matterApi = this.api.matter;
47
+ if (!matterApi) {
48
+ await this.errorLog('Matter API is not available. Cannot register Matter accessory.');
49
+ return;
50
+ }
51
+ const uuid = matterApi.uuid.generate(device.lockId);
52
+ // Determine whether the device should be registered. If not, clean up any stale Matter
53
+ // accessory from a previous session and return early.
54
+ const shouldRegister = await this.registerDevice(device);
55
+ if (!shouldRegister) {
56
+ const staleAccessory = this.matterAccessories.get(uuid);
57
+ if (staleAccessory) {
58
+ await matterApi.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [staleAccessory]);
59
+ this.matterAccessories.delete(uuid);
60
+ await this.warnLog(`Removing stale Matter accessory: ${device.LockName} (${device.lockId})`);
61
+ }
62
+ // Also tear down any PubNub subscription for this lock so its resources are freed.
63
+ const existingUnsubscribe = this.matterPubNubUnsubscribes.get(uuid);
64
+ if (existingUnsubscribe) {
65
+ try {
66
+ existingUnsubscribe();
67
+ }
68
+ catch { /* ignore */ }
69
+ this.matterPubNubUnsubscribes.delete(uuid);
70
+ }
71
+ await this.debugErrorLog(`Unable to Register: ${device.LockName}, Lock ID: ${device.lockId} Check Config to see if is being Hidden.`);
72
+ return;
73
+ }
74
+ const displayName = device.configLockName
75
+ ? await this.validateAndCleanDisplayName(device.configLockName, 'configLockName', device.configLockName)
76
+ : await this.validateAndCleanDisplayName(device.LockName, 'LockName', device.LockName);
77
+ const existingAccessory = this.matterAccessories.get(uuid);
78
+ const accessory = {
79
+ UUID: uuid,
80
+ displayName,
81
+ deviceType: matterApi.deviceTypes.DoorLock,
82
+ serialNumber: device.SerialNumber || device.lockId,
83
+ manufacturer: 'August Home Inc.',
84
+ model: device.skuNumber || 'August Lock',
85
+ firmwareRevision: device.currentFirmwareVersion || this.version || '0.0.0',
86
+ hardwareRevision: device.currentFirmwareVersion || this.version || '0.0.0',
87
+ context: {
88
+ lockId: device.lockId,
89
+ },
90
+ clusters: {
91
+ doorLock: {
92
+ // Use DoorLock.LockState enum for type safety and readability:
93
+ // NotFullyLocked = 0 (unknown until first poll), Locked = 1, Unlocked = 2.
94
+ // timer(0, ...) fires immediately so accurate state is pushed on the first poll tick.
95
+ lockState: matterApi.types.DoorLock.LockState.NotFullyLocked,
96
+ lockType: 0, // 0 = DeadBolt
97
+ actuatorEnabled: true,
98
+ operatingMode: 0, // 0 = Normal
99
+ },
100
+ },
101
+ handlers: {
102
+ doorLock: {
103
+ lockDoor: async () => {
104
+ try {
105
+ await this.augustCredentials();
106
+ await this.augustConfig.lock(device.lockId);
107
+ await this.successLog(`Matter: Locked ${displayName}`);
108
+ await matterApi.updateAccessoryState(uuid, 'doorLock', { lockState: matterApi.types.DoorLock.LockState.Locked });
109
+ }
110
+ catch (e) {
111
+ await this.errorLog(`Matter: lockDoor failed: ${e.message ?? e}`);
112
+ }
113
+ },
114
+ unlockDoor: async () => {
115
+ try {
116
+ await this.augustCredentials();
117
+ await this.augustConfig.unlock(device.lockId);
118
+ await this.successLog(`Matter: Unlocked ${displayName}`);
119
+ await matterApi.updateAccessoryState(uuid, 'doorLock', { lockState: matterApi.types.DoorLock.LockState.Unlocked });
120
+ }
121
+ catch (e) {
122
+ await this.errorLog(`Matter: unlockDoor failed: ${e.message ?? e}`);
123
+ }
124
+ },
125
+ },
126
+ },
127
+ };
128
+ if (existingAccessory) {
129
+ await this.infoLog(`Restoring existing Matter accessory from cache: ${displayName}, Lock ID: ${device.lockId}`);
130
+ }
131
+ else {
132
+ await this.infoLog(`Adding new Matter accessory: ${displayName}, Lock ID: ${device.lockId}`);
133
+ }
134
+ // Register (or re-register to update handlers/context) with Homebridge Matter
135
+ await matterApi.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
136
+ this.matterAccessories.set(uuid, accessory);
137
+ // After Matter registration succeeds, clean up any staged HAP accessory for this lock.
138
+ // This deferred removal ensures that if Matter registration had failed, the user would
139
+ // have kept the HAP accessory rather than being left with no accessory at all.
140
+ const stagedHapAccessory = this.pendingHapCleanup.get(uuid);
141
+ if (stagedHapAccessory) {
142
+ this.log.debug(`Removing migrated HAP accessory after successful Matter registration: ${stagedHapAccessory.displayName}`);
143
+ this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [stagedHapAccessory]);
144
+ this.pendingHapCleanup.delete(uuid);
145
+ }
146
+ // Subscribe to August real-time events for instant state updates
147
+ await this.subscribeAugustMatter(device, uuid, matterApi);
148
+ // Start polling for periodic status refresh (fires immediately at 0ms for accurate initial state)
149
+ this.startMatterStatusPolling(device, uuid, matterApi);
150
+ }
151
+ /**
152
+ * Subscribe to August real-time lock events and update the Matter DoorLock state.
153
+ * Captures the unsubscribe function returned by August.subscribe() to allow proper
154
+ * cleanup on lock removal (equivalent of the fix in lock.ts / PR #206 for HAP).
155
+ */
156
+ async subscribeAugustMatter(device, uuid, matterApi) {
157
+ try {
158
+ await this.augustCredentials();
159
+ if (this.config.credentials) {
160
+ // Tear down any previous subscription for this lock before creating a new one
161
+ // (defensive: makes this method safe to call on re-registration).
162
+ const existingUnsubscribe = this.matterPubNubUnsubscribes.get(uuid);
163
+ if (existingUnsubscribe) {
164
+ try {
165
+ existingUnsubscribe();
166
+ }
167
+ catch { /* ignore */ }
168
+ this.matterPubNubUnsubscribes.delete(uuid);
169
+ }
170
+ const normalizedCredentials = await this.getNormalizedCredentials();
171
+ const unsubscribe = await August.subscribe(normalizedCredentials, device.lockId, async (augustEvent, _timestamp) => {
172
+ await this.debugLog(`Matter AugustEvent: ${JSON.stringify(augustEvent)}`);
173
+ if (augustEvent.state) {
174
+ let lockState;
175
+ // If both flags are somehow set simultaneously, treat as Locked (fail-safe).
176
+ if (augustEvent.state.locked) {
177
+ lockState = matterApi.types.DoorLock.LockState.Locked;
178
+ }
179
+ else if (augustEvent.state.unlocked) {
180
+ lockState = matterApi.types.DoorLock.LockState.Unlocked;
181
+ }
182
+ else {
183
+ lockState = matterApi.types.DoorLock.LockState.NotFullyLocked;
184
+ }
185
+ try {
186
+ await matterApi.updateAccessoryState(uuid, 'doorLock', { lockState });
187
+ await this.debugLog(`Matter: Updated lockState to ${lockState} for ${device.LockName}`);
188
+ }
189
+ catch (e) {
190
+ await this.errorLog(`Matter: updateAccessoryState failed: ${e.message ?? e}`);
191
+ }
192
+ }
193
+ });
194
+ if (typeof unsubscribe === 'function') {
195
+ this.matterPubNubUnsubscribes.set(uuid, unsubscribe);
196
+ }
197
+ }
198
+ }
199
+ catch (e) {
200
+ await this.errorLog(`Matter: subscribeAugust failed: ${e.message ?? e}`);
201
+ }
202
+ }
203
+ /**
204
+ * Fetch the current lock status from the August API and update the Matter DoorLock state.
205
+ * On failure, attempts a session refresh and retries once. The 5-minute cooldown in
206
+ * refreshAugustSession() (added by PR #209 for the HAP path) prevents refresh spam
207
+ * during prolonged network outages.
208
+ */
209
+ async fetchAndUpdateMatterLockState(device, uuid, matterApi) {
210
+ try {
211
+ if (this.augustConfig?.details) {
212
+ const lockDetails = await this.augustConfig.details(device.lockId);
213
+ if (lockDetails?.LockStatus?.state) {
214
+ const state = lockDetails.LockStatus.state;
215
+ let lockState;
216
+ // If both flags are somehow set simultaneously, treat as Locked (fail-safe).
217
+ if (state.locked) {
218
+ lockState = matterApi.types.DoorLock.LockState.Locked;
219
+ }
220
+ else if (state.unlocked) {
221
+ lockState = matterApi.types.DoorLock.LockState.Unlocked;
222
+ }
223
+ else {
224
+ lockState = matterApi.types.DoorLock.LockState.NotFullyLocked;
225
+ }
226
+ await matterApi.updateAccessoryState(uuid, 'doorLock', { lockState });
227
+ await this.debugLog(`Matter: Poll updated lockState to ${lockState} for ${device.LockName}`);
228
+ }
229
+ }
230
+ }
231
+ catch (e) {
232
+ await this.debugLog(`Matter: refreshStatus failed: ${e.message ?? e}`);
233
+ // Attempt session refresh and retry once. The 5-minute cooldown in refreshAugustSession()
234
+ // prevents spam when every poll fails during a prolonged network outage.
235
+ try {
236
+ await this.refreshAugustSession();
237
+ if (this.augustConfig?.details) {
238
+ const lockDetails = await this.augustConfig.details(device.lockId);
239
+ if (lockDetails?.LockStatus?.state) {
240
+ const state = lockDetails.LockStatus.state;
241
+ let lockState;
242
+ if (state.locked) {
243
+ lockState = matterApi.types.DoorLock.LockState.Locked;
244
+ }
245
+ else if (state.unlocked) {
246
+ lockState = matterApi.types.DoorLock.LockState.Unlocked;
247
+ }
248
+ else {
249
+ lockState = matterApi.types.DoorLock.LockState.NotFullyLocked;
250
+ }
251
+ await matterApi.updateAccessoryState(uuid, 'doorLock', { lockState });
252
+ await this.debugLog(`Matter: Poll (retry) updated lockState to ${lockState} for ${device.LockName}`);
253
+ }
254
+ }
255
+ }
256
+ catch (retryError) {
257
+ await this.debugLog(`Matter: refreshStatus retry failed: ${retryError.message ?? retryError}`);
258
+ }
259
+ }
260
+ }
261
+ /**
262
+ * Poll the August API for lock status at the configured refresh rate and update the Matter
263
+ * DoorLock state. Uses `timer(0, ...)` for an immediate first fetch (accurate initial state)
264
+ * and `exhaustMap` to prevent overlapping concurrent requests.
265
+ */
266
+ startMatterStatusPolling(device, uuid, matterApi) {
267
+ const refreshRate = this.platformRefreshRate ?? 30;
268
+ if (refreshRate === 0) {
269
+ return;
270
+ }
271
+ timer(0, refreshRate * 1000)
272
+ .pipe(exhaustMap(() => this.fetchAndUpdateMatterLockState(device, uuid, matterApi)))
273
+ .subscribe();
274
+ }
275
+ }
276
+ //# sourceMappingURL=platform.matter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.matter.js","sourceRoot":"","sources":["../src/platform.matter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=platform.matter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.matter.test.d.ts","sourceRoot":"","sources":["../src/platform.matter.test.ts"],"names":[],"mappings":""}