@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.
- package/.github/workflows/release.yml +64 -27
- package/CHANGELOG.md +149 -771
- package/config.schema.json +8 -1
- package/dist/devices/device.js +1 -1
- package/dist/devices/device.js.map +1 -1
- package/dist/devices/device.test.js +1 -1
- package/dist/devices/device.test.js.map +1 -1
- package/dist/devices/lock.test.js +27 -0
- package/dist/devices/lock.test.js.map +1 -1
- package/dist/homebridge-ui/server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +86 -3
- package/dist/index.test.js.map +1 -1
- package/dist/package.json +84 -0
- package/dist/platform.d.ts +9 -2
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +36 -11
- package/dist/platform.js.map +1 -1
- package/dist/platform.matter.d.ts +51 -0
- package/dist/platform.matter.d.ts.map +1 -0
- package/dist/platform.matter.js +276 -0
- package/dist/platform.matter.js.map +1 -0
- package/dist/platform.matter.test.d.ts +2 -0
- package/dist/platform.matter.test.d.ts.map +1 -0
- package/dist/platform.matter.test.js +385 -0
- package/dist/platform.matter.test.js.map +1 -0
- package/dist/platform.test.js +6 -8
- package/dist/platform.test.js.map +1 -1
- package/dist/settings.d.ts +1 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.test.js +11 -0
- package/dist/settings.test.js.map +1 -1
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/main.js +5 -5
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +248 -226
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +17 -13
- package/docs/modules.html +1 -2
- package/docs/variables/default.html +1 -0
- package/eslint.config.js +6 -9
- package/package.json +23 -30
- package/typedoc.json +0 -4
- package/vitest.config.ts +7 -0
- package/.github/scripts/npm-version-script-esm-auto.js +0 -207
- package/.github/workflows/beta-release.yml +0 -55
- package/docs/assets/dmt/dmt-component-data.js +0 -1
- package/docs/assets/dmt/dmt-components.css +0 -20
- package/docs/assets/dmt/dmt-components.js +0 -67
- package/docs/assets/dmt/dmt-search.cmp +0 -0
- package/docs/assets/dmt/dmt-theme.css +0 -1
- 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
|
-
|
|
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
|
-
|
|
208
|
-
|
|
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
|
-
|
|
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.`);
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE1D;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAClB,WAAW,CAAqB;IACvB,GAAG,CAAK;IACR,GAAG,CAAS;IACrB,MAAM,CAAuB;IAEpC,cAAc,CAAuB;IACrC,eAAe,CAAqB;IACpC,mBAAmB,CAAyB;IAC5C,gBAAgB,CAAsB;IACtC,kBAAkB,CAAwB;IAC1C,iBAAiB,CAAU;IAC3B,SAAS,CAAU;IACnB,OAAO,CAAS;IAEhB,aAAa;IACb,YAAY,CAAS;IAErB,mEAAmE;IACnE,8DAA8D;IACtD,qBAAqB,CAAgB;IAE7C,uEAAuE;IACvE,2EAA2E;IAC1D,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAA;IAElE,gDAAgD;IACxC,0BAA0B,CAAc;IAEhD,YACE,GAAY,EACZ,MAA4B,EAC5B,GAAQ;QAER,aAAa;QACb,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,0BAA0B;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAA0B;YAC9C,OAAO,EAAE,MAAM,CAAC,OAAiB;SAClC,CAAA;QAED,uBAAuB;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC7B,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAC9B,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAChC,IAAI,CAAC,UAAU,EAAE,CAAA;QAEjB,mCAAmC;QACnC,IAAI,CAAC,QAAQ,CAAC,mCAAmC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhE,oBAAoB;QACpB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,EAAE,CAAA;gBACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC5B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,OAAO,IAAI,CAAC,sDAAsD,CAAC,CAAA;YAC5H,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,8FAA8F;QAC9F,4FAA4F;QAC5F,2FAA2F;QAC3F,yCAAyC;QACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAA;YAC3D,oEAAoE;YAEpE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;gBACzG,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;gBACzF,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;gBACxB,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;gBACzF,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;gBAC9B,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;gBACvE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAA4B;QACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,iCAAiC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;QAE7E,wGAAwG;QACxG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;YAC5D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAA;QACzG,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;YACnF,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAA;YAC1D,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,CAAA;YAC7F,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;YAC9E,kFAAkF;YAClF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;YACjD,sDAAsD;YACtD,IAAI,CAAC,+BAA+B,EAAE,CAAA;YACtC,6BAA6B;YAC7B,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YAEjE,YAAY,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAA;YAC3E,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBACxC,YAAY,CAAC,WAAW,CAAC,YAAY,GAAG,SAAS,CAAA;YACnD,CAAC;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;YAC/E,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAA;YAEjF,oDAAoD;YACpD,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YACjF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,aAAa,CAAC,0EAA0E,CAAC,CAAA;YAChG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;oBAC5B,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;gBACjF,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACjE,wBAAwB;YACxB,YAAY,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAA;YACvE,sDAAsD;YACtD,IAAI,CAAC,+BAA+B,EAAE,CAAA;YAEtC,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAA;YAC3E,oDAAoD;YACpD,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAEjF,qGAAqG;YACrG,gDAAgD;YAChD,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,CAAA;YAC7F,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAA;YACvC,MAAM,IAAI,CAAC,OAAO,CAAC,gGAAgG,CAAC,CAAA;QACtH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAA;QAC1E,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAC5F,IAAI,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAA;YACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,0BAA0B,CAAC,WAAwB;QAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QAED,MAAM,qBAAqB,GAAG,EAAE,GAAG,WAAW,EAAE,CAAA;QAEhD,2DAA2D;QAC3D,oFAAoF;QACpF,MAAM,kBAAkB,GAA2B;YACjD,IAAI,EAAE,IAAI,EAAE,kDAAkD;YAC9D,IAAI,EAAE,IAAI,EAAE,kDAAkD;SAC/D,CAAA;QAED,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,CAAA;QAClE,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAEvG,sDAAsD;QACtD,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,+BAA+B,KAAK,IAAI,CAAA;QAE3F,IAAI,mBAAmB,IAAI,qBAAqB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3E,MAAM,IAAI,CAAC,YAAY,CAAC,+BAA+B,mBAAmB,OAAO,qBAAqB,0BAA0B;gBAC9H,mFAAmF,CAAC,CAAA;YACtF,qBAAqB,CAAC,WAAW,GAAG,qBAAqB,CAAA;QAC3D,CAAC;aAAM,IAAI,mBAAmB,IAAI,qBAAqB,IAAI,qBAAqB,EAAE,CAAC;YACjF,MAAM,IAAI,CAAC,QAAQ,CAAC,+EAA+E,mBAAmB,EAAE,CAAC,CAAA;QAC3H,CAAC;aAAM,IAAI,mBAAmB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzD,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,mBAAmB,kCAAkC,CAAC,CAAA;QAC5F,CAAC;QAED,OAAO,qBAAqB,CAAA;IAC9B,CAAC;IAED;;;OAGG;IACH,+BAA+B;QAC7B,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAA;QAC3C,IAAI,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAA;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;QAED,yEAAyE;QACzE,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,+DAA+D;YAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,0BAA0B,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;YAEhI,IAAI,gBAAgB,KAAK,eAAe;gBACpC,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ;oBAC7E,IAAI,CAAC,0BAA0B,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ;oBAC7E,IAAI,CAAC,0BAA0B,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtF,MAAM,IAAI,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAA;gBAC1D,OAAO,IAAI,CAAC,0BAA0B,CAAA;YACxC,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,0BAA0B,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAChG,MAAM,IAAI,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,0BAA0B,CAAA;IACxC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,oBAAoB;QACxB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,qBAAqB,CAAA;QACnC,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,qBAAqB,CAAA;QAClC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAA;QACxC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAA;gBACpE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;gBACvB,IAAI,CAAC,YAAY,GAAG,SAAgB,CAAA;YACtC,CAAC;YACD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;YAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QAClF,0EAA0E;QAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAA;QAC9D,CAAC;QACD,mCAAmC;QACnC,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAA;QAC5G,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,qBAAqB,CAAC,CAAA;QAC/E,CAAC;QACD,yEAAyE;QACzE,gGAAgG;QAChG,IAAI,OAAO,YAAY,CAAC,WAAW,KAAK,QAAQ,IAAI,YAAY,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACtF,2EAA2E;YAC3E,YAAY,CAAC,WAAW,GAAG,EAAE,CAAA;QAC/B,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAA;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,eAAe;QACf,IAAI,CAAC;YACH,kEAAkE;YAClE,+DAA+D;YAC/D,wDAAwD;YACxD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;YAE9B,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,CAAA;YAC7F,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;YAE/D,IAAI,WAAkB,CAAA;YACtB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,WAAW,GAAG,OAAO,CAAA;gBACrB,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;YACvE,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,CAAC,OAAO,CAAC,CAAA;gBACvB,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;YACvE,CAAC;YAED,iDAAiD;YACjD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE,CAAA;YAChE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,oBAAoB,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAA;gBAClG,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAA;gBACtC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE;oBAC/C,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;oBACxG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;gBACzD,CAAC,CAAC,CAAA;gBACF,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC,MAAM,CAAA;gBACtD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,aAAa,qCAAqC,CAAC,CAAA;gBACpF,CAAC;gBACD,sDAAsD;gBACtD,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;oBACnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;oBACrF,IAAI,iBAAiB,EAAE,CAAC;wBACtB,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;wBACvF,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;wBACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;wBAChF,MAAM,IAAI,CAAC,OAAO,CAAC,2CAA2C,iBAAiB,CAAC,WAAW,KAAK,UAAU,GAAG,CAAC,CAAA;oBAChH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,YAAY,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;gBAC1G,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC5B,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAA;oBAC7C,CAAC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBAChE,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACzB,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,YAAY,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;gBACtG,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAA;gBAElD,MAAM,aAAa,GAAG,CAAC,EAAwB,EAAE,EAAS,EAAE,EAAE,CAC5D,EAAE,CAAC,GAAG,CAAC,CAAC,GAAuB,EAAE,EAAE,CAAC,CAAC;oBACnC,GAAG,EAAE,CAAC,IAAI,CACR,CAAC,IAAwB,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,IAAI,CACvH;oBACD,GAAG,GAAG;iBACP,CAAC,CAAC,CAAA;gBACL,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;gBACzD,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBACjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC5B,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAA;oBAC7C,CAAC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACxD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACzB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,gDAAgD;YAChD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;YACnD,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACxF,MAAM,IAAI,CAAC,OAAO,CAAC,mFAAmF,CAAC,CAAA;gBAEvG,qDAAqD;gBACrD,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,WAAW,GAAG,KAAK,CAAA;gBAE5C,+CAA+C;gBAC/C,IAAI,CAAC;oBACH,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;oBACjE,YAAY,CAAC,WAAW,CAAC,WAAW,GAAG,KAAK,CAAA;oBAC5C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;oBACjF,MAAM,IAAI,CAAC,QAAQ,CAAC,0EAA0E,CAAC,CAAA;gBACjG,CAAC;gBAAC,OAAO,WAAgB,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,iCAAiC,WAAW,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC,CAAA;gBAC5F,CAAC;gBAED,4BAA4B;gBAC5B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,uFAAuF,CAAC,CAAA;oBAC3G,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;oBACtB,OAAM,CAAC,8DAA8D;gBACvE,CAAC;gBAAC,OAAO,SAAc,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,CAAC,OAAO,IAAI,SAAS,gEAAgE,CAAC,CAAA;gBAC9I,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAA;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,MAA8B;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACtD,uFAAuF;QACvF,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAErF,IAAI,iBAAiB,EAAE,CAAC;YACtB,+BAA+B;YAC/B,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,OAAO,CAAC,4CAA4C,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;gBAE5G,wGAAwG;gBACxG,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;gBACzC,iBAAiB,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc;oBACnD,CAAC,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC;oBACxG,CAAC,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACxF,iBAAiB,CAAC,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAA;gBAChF,iBAAiB,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAA;gBAClD,iBAAiB,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;gBAC5D,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;gBAChD,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAA;gBACvD,0DAA0D;gBAC1D,+CAA+C;gBAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;gBAC1F,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,WAAW,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAA;YACpG,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,yBAAyB;YACzB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEhG,+DAA+D;YAC/D,wFAAwF;YACxF,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACjC,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc;gBAC3C,CAAC,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC;gBACxG,CAAC,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACxF,SAAS,CAAC,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAA;YACxE,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAA;YAC1C,SAAS,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;YACpD,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YACxC,4DAA4D;YAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YAC3F,CAAC;YACD,8DAA8D;YAC9D,+CAA+C;YAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YAClF,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,YAAY,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;YAE3F,sCAAsC;YACtC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,MAAM,0CAA0C,CAAC,CAAA;QACvI,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAA8B;QACjD,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,MAAM,CAAC,QAAQ,UAAU,CAAC,CAAA;QAC3D,CAAC;aAAM,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAClE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;YAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,MAAM,CAAC,QAAQ,qBAAqB,MAAM,CAAC,cAAc,IAAI;kBAC5F,6BAA6B,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAA;QACnE,CAAC;aAAM,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACnE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;YAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,MAAM,CAAC,QAAQ,oBAAoB;kBACnE,GAAG,MAAM,CAAC,cAAc,iFAAiF,CAAC,CAAA;QAChH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;YAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,MAAM,CAAC,QAAQ,aAAa,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAA;IAC/B,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,MAA8B,EAAE,SAA4B;QAC1F,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,WAAW,6BAA6B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC1F,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,WAAW,6BAA6B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC3F,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,SAA4B;QACzD,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/D,CAAC;IAEM,KAAK,CAAC,6BAA6B,CAAC,iBAAoC,EAAE,MAA8B;QAC7G,qDAAqD;QACrD,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACvF,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,2CAA2C,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAClF,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,MAAc;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrD,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,0BAA0B,EAAE,CAAA;YAC1C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU;eAC1G,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;YAC7B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAA;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3G,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,OAAO,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,cAAc;QACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;QACzG,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,qCAAqC,CAAA;QAClI,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAA;QAClE,aAAa;QACb,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;QACtG,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,oCAAoC,CAAA;QAC9H,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,UAAU,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;QAChE,WAAW;QACX,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,kCAAkC,CAAA;QACtH,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,cAAc,GAAyB;gBAC3C,QAAQ,EAAE,QAAQ;aACnB,CAAA;YACD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;YAC9F,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;YAC1G,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;YACvG,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;YACjG,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YAC3E,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACtC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QAClG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,2BAA2B,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAa;QAChF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC;YAChD,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,4CAA4C,CAAA;YACjE,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;YAC/C,MAAM,sBAAsB,GAAG,mCAAmC,CAAA;YAElE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,2BAA2B,WAAW,qBAAqB,IAAI,sBAAsB,KAAK,qPAAqP,CAAC,CAAA;gBAE7V,4BAA4B;gBAC5B,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,KAAK,CAAA;oBACpB,IAAI,CAAC,OAAO,CAAC,qCAAqC,IAAI,iIAAiI,CAAC,CAAA;oBACxL,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;oBAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,aAAa,MAAM,aAAa,KAAK,GAAG,CAAC,CAAA;gBAC/D,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,KAAK,CAAA;oBACpB,IAAI,CAAC,OAAO,CAAC,wDAAwD,IAAI,gIAAgI,CAAC,CAAA;oBAC1M,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;oBACjD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,aAAa,MAAM,aAAa,KAAK,GAAG,CAAC,CAAA;gBAC/D,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,GAAG,GAAU;QACzB,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAG,GAAU;QAC5B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAG,GAAU;QACjC,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,GAAU;QACzB,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAG,GAAU;QAC9B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAU;QAC1B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAG,GAAU;QAC/B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAU;QAC1B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAChC,CAAC;iBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,CAAA;IACjF,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,IAAI,IAAI,CAAC,eAAe,KAAK,UAAU,CAAA;IACxH,CAAC;CACF"}
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"platform.matter.test.d.ts","sourceRoot":"","sources":["../src/platform.matter.test.ts"],"names":[],"mappings":""}
|