homebridge-smartthings-oauth 1.0.62 → 1.0.64

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,6 +1,34 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## [1.0.64] - Zigbang Smart Doorlock Support
5
+
6
+ > Adds support for Zigbang Wi-Fi smart doorlocks, contributed by @sam-cheuk (#41). The integration is vendor-specific (matches only the `absoluteweather46907` capabilities) and is gated behind the `ExposeZigbangSmartDoorlock` config option, so it has no effect on any other device.
7
+
8
+ ### Added
9
+ - **Zigbang Smart Doorlock (Wi-Fi)** (#41) — exposes the lock as a HomeKit `LockMechanism`. The device auto-relocks a few seconds after unlocking if the door isn't opened, so HomeKit "lock" is a no-op by design and only "unlock" is sent. Opt-in via `ExposeZigbangSmartDoorlock` (default on; matches the `ExposeACDisplayLight` precedent). Thanks to @sam-cheuk for the contribution, the device captures, and responsiveness to review.
10
+
11
+ ### Fixed
12
+ - **Real-time lock state now works** — lock state is emitted on the `absoluteweather46907.lockstaterelease` capability, but the service was registered under the command-only `absoluteweather46907.lock`, so it never subscribed to or routed state events. The service is now registered/subscribed/routed under `lockstaterelease` (unlock commands still go to `lock`), so physical lock/unlock and SmartThings-app changes update the Home app tile in real time. This also removes the need for the per-read `refresh` device-command workaround, which has been dropped in favor of routed events plus polling.
13
+ - **Language-agnostic state mapping** — lock state values can be language-suffixed (e.g. `locked.ko`); state is now matched on the base token so a real-time event arriving before the device's language is read still maps correctly instead of showing as unknown.
14
+ - **Robustness** — fixed an inert offline check in the unlock path so an offline lock now reports correctly to HomeKit.
15
+
16
+ ## [1.0.63] - Window Covering State Fixes
17
+
18
+ > Fixes a cluster of five bugs in `windowCoveringService.ts` that made window shades show a perpetual "Opening…"/"Closing…" spinner in the Home app and made full open/close commands unreliable. Root cause confirmed by live reproduction on Z-Wave shades: HomeKit displays the spinner whenever `TargetPosition` differs from `CurrentPosition`, and the service hardcoded its target to `0` at startup and never reconciled it with the device — so any shade not fully closed spun forever, and closing the shade (position 0 = the stale target) was the only way to make the tile settle. The same reconcile-target-from-device-state pattern already used by `lockService.ts` and `doorService.ts` is now applied to window coverings. Thanks to @bcourbage for the fix (#44), live reproduction, and SmartThings-API-level verification.
19
+
20
+ ### Fixed
21
+ - **Window shades no longer stuck on "Opening…"/"Closing…"** — `TargetPosition` was initialized to `0` and only ever updated by HomeKit-issued commands, while the poller actively re-pushed the stale target to HomeKit every cycle. The service now treats the target as unknown until learned, reports the last known position for an unknown target, and reconciles `TargetPosition` to the actual position whenever the shade is idle — in the polling paths and in the webhook event path — so shades moved by remote, the SmartThings app, or automations settle correctly. Shades commanded from the Home app are unaffected: the target is never touched while the device reports `opening`/`closing`, so the in-flight spinner still behaves as before.
22
+ - **Polling never detected a moving shade** — `getCurrentPositionState()` read `status.windowShade.windowShade` without `.value`, comparing the SmartThings attribute object `{value, timestamp}` against the strings `'opening'`/`'closing'`. The comparison could never match, so the polled `PositionState` was permanently `STOPPED` regardless of what the shade was doing. Now reads `.value` like every other service.
23
+ - **`PollWindowShadesSeconds` config option was ignored** — the constructor checked `PollWindowShadesSeconds` but then assigned `PollSwitchesAndLightsSeconds` to the polling interval. Shades now poll at the documented, user-configured rate.
24
+ - **Opening/closing direction inverted in HomeKit** — SmartThings `opening` was mapped to `PositionState.DECREASING` and `closing` to `INCREASING`. HomeKit defines position `100` as fully open, so the mappings were backwards; while moving, the Home app animated the wrong direction. Both the polling and webhook paths now map `opening` → `INCREASING`, `closing` → `DECREASING`.
25
+ - **Fully opening/closing a shade from the Home app now uses the native `open`/`close` commands** — the plugin drove shades exclusively through level commands (`setShadeLevel`/`setLevel`), even for a full open or close. Some Z-Wave shade drivers intermittently ignore a level command at the travel limits while honoring the `windowShade` capability's mandatory `open`/`close` commands immediately (verified live: `setShadeLevel(0)` ACCEPTED by the API but the shade never moved; `windowShade.close` on the same device closed it within seconds). Targets of 0 and 100 now map to `close` and `open`; intermediate targets use the level command as before.
26
+ - **Missing shade level no longer resolves `undefined` to HomeKit** — `getCurrentPosition()` resolved whatever the status blob contained, even `undefined`, producing HAP characteristic warnings. Position reads now go through a guarded helper (`readPositionFromStatus()`) that handles both `windowShadeLevel` and `switchLevel` devices and rejects with `SERVICE_COMMUNICATION_FAILURE` when no usable level is present.
27
+ - **Hardened for `windowShade`-less device shapes** — `WindowCoveringService` can also be matched on a device exposing only `windowShadeLevel`/`switchLevel` (via the single-capability fallback). The new full-open/close path now sends the native `open`/`close` command only when the device actually advertises the `windowShade` capability, otherwise falling back to the level command; and `getCurrentPositionState()` optional-chains the `windowShade` status read so such a device reports `STOPPED` instead of throwing a `TypeError`.
28
+
29
+ ### Documentation
30
+ - **New "Window shades and blinds" troubleshooting section** — covers the stuck-spinner symptom and its fix, the inverted-direction fix, the `PollWindowShadesSeconds` fix, and how to recognize the remaining (device-side) case where the SmartThings cloud itself holds a stale `opening`/`closing` state for a sleepy battery-powered shade until the device is woken.
31
+
4
32
  ## [1.0.62] - Webhook Lifecycle Robustness, installedAppId Diagnostics & Target-URL Confirmation Docs
5
33
 
6
34
  > Stable release graduating `1.0.62-beta.0`. Prompted by a deep investigation of #43 (real-time webhooks reported non-functional for an `API_ONLY` SmartApp). A full clean-room reproduction confirmed the webhook/subscription flow **works end-to-end** with the standard `r:devices:* x:devices:* r:locations:*` scopes: SmartThings returns `installed_app_id` directly in the OAuth token-exchange response, so the plugin needs neither an `installedapps` scope nor `GET /installedapps` discovery to create subscriptions. The reproduction also surfaced the **actual reason real-time events silently never arrive**: a freshly-created `API_ONLY` app's Target URL stays in `targetStatus: PENDING`, and SmartThings delivers no events until it is `CONFIRMED` — which OAuth authorization does **not** do. The missing step is a one-time `smartthings apps:register <app-id>` (run while Homebridge is up, so the plugin auto-acks the CONFIRMATION). This release hardens the webhook endpoint, adds diagnostics, and documents the required confirmation step. Thanks to @mikegraben for the exceptionally detailed report and source-level analysis.
@@ -157,6 +157,12 @@
157
157
  "default": false,
158
158
  "description": "For Samsung Family Hub refrigerators with multiple compartments (Fridge, Freezer, FlexZone, CVRoom). When enabled, the plugin parses Samsung's OCF driver-state data so each compartment reports its own temperature, and skips creating tiles for compartments you've disabled in the SmartThings app. Standard single-zone refrigerators are unaffected. Tested against US-region firmware (RF29DB9600QLA); metric-region devices may report OCF in Celsius — please open an issue if temperatures look wrong. Default: off."
159
159
  },
160
+ "ExposeZigbangSmartDoorlock": {
161
+ "title": "Expose Zigbang Smart Doorlock as a lock if available.",
162
+ "type": "boolean",
163
+ "required": false,
164
+ "default": true
165
+ },
160
166
  "removeLegacySwitchForLaundry": {
161
167
  "title": "Remove Legacy Switch Service for Laundry Devices",
162
168
  "type": "boolean",
@@ -1 +1 @@
1
- {"version":3,"file":"multiServiceAccessory.d.ts","sourceRoot":"","sources":["../src/multiServiceAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multiServiceAccessory.d.ts","sourceRoot":"","sources":["../src/multiServiceAccessory.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ const dishwasherService_1 = require("./services/dishwasherService");
32
32
  const airPurifierService_1 = require("./services/airPurifierService");
33
33
  const securitySystemService_1 = require("./services/securitySystemService");
34
34
  const refrigeratorTemperatureService_1 = require("./services/refrigeratorTemperatureService");
35
+ const zigbangSmartDoorlockService_1 = require("./services/zigbangSmartDoorlockService");
35
36
  const samsungRefrigerator_1 = require("./util/samsungRefrigerator");
36
37
  const smartThingsCommand_1 = require("./services/smartThingsCommand");
37
38
  const samsungWebSocket_1 = require("./local/samsungWebSocket");
@@ -256,6 +257,11 @@ class MultiServiceAccessory {
256
257
  this.log.debug(`Skipping AC Display Light service for ${this.name} - not enabled in config`);
257
258
  return;
258
259
  }
260
+ // Skip Zigbang Smart Doorlock service if not enabled in config
261
+ if (capability === zigbangSmartDoorlockService_1.ZigbangSmartDoorlockService.STATE_CAPABILITY_ID && !this.platform.config.ExposeZigbangSmartDoorlock) {
262
+ this.log.debug(`Skipping Zigbang Smart Doorlock service for ${this.name} - not enabled in config`);
263
+ return;
264
+ }
259
265
  capabilitiesToCover = this.registerServiceIfMatchesCapabilities(componentId, component, capabilitiesToCover, [capability], [], service);
260
266
  });
261
267
  }
@@ -530,6 +536,7 @@ MultiServiceAccessory.capabilityMap = {
530
536
  'battery': batteryService_1.Battery,
531
537
  'valve': valveService_1.ValveService,
532
538
  'samsungce.airConditionerLighting': acLightingService_1.ACLightingService,
539
+ [zigbangSmartDoorlockService_1.ZigbangSmartDoorlockService.STATE_CAPABILITY_ID]: zigbangSmartDoorlockService_1.ZigbangSmartDoorlockService,
533
540
  };
534
541
  // Maps combinations of supported capabilities to a service
535
542
  MultiServiceAccessory.comboCapabilityMap = [
@@ -1 +1 @@
1
- {"version":3,"file":"multiServiceAccessory.js","sourceRoot":"","sources":["../src/multiServiceAccessory.ts"],"names":[],"mappings":";;;AAIA,mEAAmE;AACnE,4DAAyD;AACzD,8DAAoD;AACpD,sEAAmE;AACnE,gEAA6D;AAC7D,sEAAmE;AACnE,0EAAuE;AACvE,wDAAqD;AACrD,wDAAqD;AACrD,4DAAyD;AACzD,0DAAuD;AACvD,4EAAyE;AACzE,8EAA2E;AAC3E,0DAA8D;AAC9D,4DAAgE;AAChE,8EAAkF;AAClF,0DAAuD;AAEvD,gEAA6D;AAC7D,4EAAyE;AACzE,oEAAiE;AACjE,sGAAmG;AACnG,4EAAyE;AACzE,oEAAiE;AACjE,oEAAiE;AACjE,wEAAqE;AACrE,4DAAyD;AACzD,0DAAuD;AACvD,oEAAiE;AACjE,sEAAmE;AACnE,4EAAyE;AACzE,8FAA2F;AAC3F,oEAAuE;AACvE,sEAAwD;AAExD,+DAA4D;AAC5D,wBAAwB;AACxB,uBAAuB;AACvB,uCAAuC;AACvC,iBAAiB;AACjB,KAAK;AAEL;;;;GAIG;AACH,qEAAqE;AACrE,MAAa,qBAAqB;IAgLhC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,YACE,QAAwC,EACxC,SAA4B;QArL9B,qBAAqB;QACrB,eAAe;QACf,eAAU,GAIJ,EAAE,CAAC;QAET;;;WAGG;QAEK,aAAQ,GAAkB,EAAE,CAAC;QA+I3B,WAAM,GAAG,IAAI,CAAC;QACxB,6EAA6E;QACnE,0BAAqB,GAAG,CAAC,CAAC;QAC1B,iBAAY,GAAG,CAAC,CAAC;QACjB,eAAU,GAAG,CAAC,CAAC;QACf,sBAAiB,GAAG,KAAK,CAAC;QAC1B,yBAAoB,GAAG,CAAC,CAAC;QAEzB,0BAAqB,GAAG,KAAK,CAAC;QAC9B,qBAAgB,GAAG,IAAI,CAAC;QACxB,qBAAgB,GAAG,KAAK,CAAC;QAKnC,qEAAqE;QAC9D,qBAAgB,GAA4B,IAAI,CAAC;QACjD,kBAAa,GAAyE,IAAI,CAAC;QAUhG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,gBAAgB,CAAC;QAChG,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QAExB,8CAA8C;QAC9C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,2BAA2B,EAAE,CAAC;QAE/D,IAAI,CAAC,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC/E,IAAI,CAAC,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5E,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAE9C,4BAA4B;QAC5B,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACzD,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;aAClG,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC;aACjE,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAE7E,uEAAuE;QACvE,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QAEtC,gDAAgD;QAChD,MAAM,cAAc,GAChB,QAAQ,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;QACzC,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CACxC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAChG,CAAC;QACF,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,oDAAoD,CAAC,CAAC;YACvG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,OAAO,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAgB,CAC1C,cAAc,CAAC,EAAE,EACjB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAC3B,cAAc,CAAC,KAAK,CACrB,CAAC;gBACF,IAAI,CAAC,aAAa,GAAG;oBACnB,kBAAkB,EAAE,cAAc,CAAC,kBAAkB,KAAK,KAAK,EAAE,eAAe;oBAChF,mBAAmB,EAAE,cAAc,CAAC,mBAAmB,KAAK,KAAK,EAAE,eAAe;iBACnF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,IAAI,KAAK,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,KAAK,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wFAAwF;IACxF,wFAAwF;IACxF,wFAAwF;IACxF,yEAAyE;IACjE,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;YACxD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,0BAA0B,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAe,aAAf,KAAK,uBAAL,KAAK,CAAY,OAAO,KAAI,KAAK,EAAE,CAAC,CAAC;YACxG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,oEAAsC,CAAC;YACvF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,iBAAiB,CAAC,YAAoB;;QAC3C,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,0CAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,mCAAI,KAAK,CAAC;IAC3G,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IACnE,mBAAmB,CAAC,WAAmB;;QAC5C,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,0CAAE,MAAM,CAAC;QAC/E,OAAO,IAAA,+CAAyB,EAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC;IAEO,oCAAoC,CAC1C,WAAmB,EACnB,SAAc,EACd,mBAA6B,EAC7B,YAAsB,EACtB,oBAA8B,EAC9B,kBAAuB;QAEvB,gGAAgG;QAChG,+DAA+D;QAC/D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,yDAAyD;YACzD,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/G,2EAA2E;QAC3E,2EAA2E;QAC3E,oCAAoC;QACpC,IAAI,mBAAmB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,kBAAkB,KAAK,uCAAkB;eACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,KAAK,IAAI;eACzD,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACvD,mBAAmB,GAAG,+DAA8B,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,mBAAmB,CAAC,IAAI,qBAAqB,eAAe,EAAE,CAAC,CAAC;QACvG,MAAM,eAAe,GAAG,IAAI,mBAAmB,CAC7C,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,kBAAkB,CAAC,IAAI,qBAAqB,eAAe,EAAE,CAAC,CAAC;QAC5F,gDAAgD;QAChD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,YAAsB;QACnE,MAAM,SAAS,GAAG;YAChB,WAAW;YACX,YAAY;YACZ,MAAM,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,mBAAmB,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QAE5C,yDAAyD;QACzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,uBAAuB,KAAK,KAAK,CAAC,CAAC,kBAAkB;QACtG,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,uBAAuB,KAAK,IAAI,CAAC,CAAC,mBAAmB;QAErG,IAAI,mBAAmB,IAAI,WAAW,KAAK,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC/E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,IAAI,iCAAiC,CAAC,CAAC;YAElF,mEAAmE;YACnE,MAAM,cAAc,GAAG,qCAAiB,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAEvG,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,IAAI,uBAAuB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/G,MAAM,eAAe,GAAG,IAAI,qCAAiB,CAC3C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,EACd,WAAW,EACX,cAAc,EACd,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,SAAS,CACV,CAAC;gBACF,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBAChD,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;gBACpG,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAEpC,iFAAiF;gBACjF,+EAA+E;gBAC/E,kFAAkF;gBAClF,+EAA+E;gBAC/E,IAAI,cAAc,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC3E,IAAI,CAAC;wBACH,MAAM,eAAe,CAAC,6BAA6B,EAAE,CAAC;oBACxD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC9E,CAAC;gBACH,CAAC;gBAEY,mEAAmE;gBAC3E,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEvF,wEAAwE;gBACxE,IAAI,kBAAkB,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtE,wEAAwE;gBAC1E,CAAC;qBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7C,sDAAsD;oBACtD,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mEAAmE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjG,CAAC;gBAED,yFAAyF;gBACzF,uEAAuE;gBACvE,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,KAAK,IAAI,CAAC;gBAChF,IAAI,oBAAoB,IAAI,WAAW,KAAK,MAAM,IAAI,yCAAmB,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC7G,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0EAA0E,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtG,MAAM,wBAAwB,GAAG,yCAAmB,CAAC,2BAA2B,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE7H,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CACjD,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,EACd,WAAW,EAAE,0BAA0B;wBACvC,wBAAwB,EACxB,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,SAAS,CACV,CAAC;wBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;wBAExC,oEAAoE;wBACpE,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,IAAI,oDAAoD,CAAC,CAAC;oBACpH,CAAC;gBACH,CAAC;YAGH,CAAC;QACH,CAAC;QAEN,qFAAqF;QACrF,iIAAiI;QACjI,qBAAqB,CAAC,kBAAkB;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,4CAA4C;aACnH,OAAO,CAAC,KAAK,CAAC,EAAE;YACf,mBAAmB,GAAG,IAAI,CAAC,oCAAoC,CAC7D,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,oBAAoB,IAAI,EAAE,EAChC,KAAK,CAAC,OAAO,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,uEAAuE;QACvE,8DAA8D;QAC9D,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,4BAA4B,KAAK,IAAI,CAAC;QACvF,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC/C,CAAC,YAAY,6BAAa,IAAI,CAAC,YAAY,2BAAY,IAAI,CAAC,YAAY,qCAAiB,CAC1F,CAAC;YACF,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sDAAsD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClF,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACtE,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAEhE,yDAAyD;YACzD,IAAI,UAAU,KAAK,kCAAkC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBACpG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,IAAI,0BAA0B,CAAC,CAAC;gBAC7F,OAAO;YACT,CAAC;YAED,mBAAmB,GAAG,IAAI,CAAC,oCAAoC,CAC7D,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,CAAC,UAAU,CAAC,EACZ,EAAE,EACF,OAAO,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,0EAA0E;IACnE,MAAM,CAAC,mBAAmB,CAAC,UAAkB;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC;YACjF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,oEAAoE;QACpE,IAAI,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACxD,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wCAAwC;QACxC,IAAI,qCAAiB,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2CAA2C;QAC3C,IAAI,yCAAmB,CAAC,2BAA2B,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uCAAuC;IAC/B,kBAAkB;QACxB,OAAO,qCAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,mDAAmD;IACnD,kCAAkC;IAClC,IAAI;IAEJ,yGAAyG;IACzG,+BAA+B;IAC/B,EAAE;IACF,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,IAAI,2BAA2B,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAC1G,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,EAAE,CAAC;gBACnD,4GAA4G;gBAC5G,uBAAuB;gBACvB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC;oBACjF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAC3F,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC7D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;wBAC/C,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;wBAC7C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;4BAClC,IAAI,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gCAC1D,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gCAC3D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gCACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAClH,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;4BACnF,CAAC;wBACH,CAAC,CAAC,CAAC;wBAEH,wDAAwD;wBACxD,IAAI,CAAC,gCAAgC,EAAE,CAAC;wBAExC,kFAAkF;wBAClF,IAAI,CAAC,qCAAqC,EAAE,CAAC;wBAE7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAC7B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;wBACnC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACd,gDAAgD;wBAChD,yDAAyD;wBACzD,8CAA8C;wBAC9C,oGAAoG;wBACpG,wCAAwC;wBACxC,mBAAmB;wBACnB,WAAW;wBACX,2DAA2D;wBAC3D,wCAAwC;wBACxC,4CAA4C;wBAC5C,IAAI;oBACN,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;wBACrB,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,KAAK,KAAK,6BAA6B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;wBACrH,iFAAiF;wBACjF,8DAA8D;wBAC9D,iGAAiG;wBACjG,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;4BAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,sBAAsB,CAAC,CAAC;4BACjF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;wBACtB,CAAC;wBACD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;wBACnC,OAAO,CAAC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,sBAAsB;QAC3B,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;IACjC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,gCAAgC;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9B,IAAI,OAAO,YAAY,yCAAmB,EAAE,CAAC;gBAC3C,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,qCAAqC;QAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9B,IAAI,OAAO,YAAY,qCAAiB,EAAE,CAAC;gBACzC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,gHAAgH;IAChH,uHAAuH;IACvH,2DAA2D;IAC3D,8HAA8H;IAC9H,IAAI;IAEJ,iBAAiB,CAAC,WAAmB,EAAE,QAA4C,EAAE,OAAgB,EACnG,aAAiD,EAAE,yBAA8D,EACjH,cAAmD;QAEnD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,WAAW,CAAC,GAAG,EAAE;gBACtB,4GAA4G;gBAC5G,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,oBAAoB,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;oBACjF,yCAAyC;oBACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzE,OAAO;gBACT,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC;oBAC1C,iCAAiC;oBACjC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBACpB,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;wBAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;wBAC9C,yCAAyC;wBACzC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACjB,yCAAyC;wBACzC,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,YAAY,MAAM,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,KAAK,EAAE,CAAC,CAAC;wBAEzG,kEAAkE;wBAClE,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;4BAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,yBAAyB,IAAI,CAAC,YAAY,4BAA4B,CAAC,CAAC;4BACnG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;4BACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC/B,CAAC;wBACD,0DAA0D;wBAC1D,qEAAqE;oBACvE,CAAC,CAAC,CAAC;oBACH,8BAA8B;oBAC9B,IAAI,yBAAyB,IAAI,cAAc,EAAE,CAAC;wBAChD,4EAA4E;wBAC5E,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;6BAC3F,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;4BACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,IAAI,KAAK,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,KAAK,EAAE,CAAC,CAAC;wBAC/F,CAAC,CAAC,CAAC;oBACP,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,yGAAyG;oBACzG,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;wBAC7E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;6BAChC,IAAI,CAAC,GAAG,CAAC,EAAE;4BACV,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gCAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gCACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gCACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;4BACxB,CAAC;wBACH,CAAC,CAAC,CAAC;oBACP,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,yCAAyC;QACvG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,UAAkB,EAAE,OAAe,EAAE,IAAgB;QAC1F,MAAM,GAAG,GAAG,IAAI,4BAAO,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAmB;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1E,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC,oDAAoD;oBACpF,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,sDAAsD;oBACtD,qBAAqB;oBACrB,uDAAuD;oBACvD,oCAAoC;oBACpC,mBAAmB;oBACnB,YAAY;gBACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;oBAChF,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IACtD,KAAK,CAAC,OAAO,CAAC,SAAwB;QAC5C,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,mCAAmC,CAAC,CAAC;QAChE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAChC,IAAI,SAAS,EAAE,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,oCAAoC,CAAC,CAAC;oBACjE,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAClD,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,yBAAyB;QAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACnB,CAAC;IAEM,YAAY,CAAC,KAAiB;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAEjI,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/E,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IAEH,CAAC;;AAptBH,sDAstBC;AAtsBC,+GAA+G;AAChG,mCAAa,GAAG;IAC7B,aAAa,EAAE,yBAAW;IAC1B,MAAM,EAAE,yBAAW;IACnB,QAAQ,EAAE,6BAAa;IACvB,kBAAkB,EAAE,6CAAqB;IACzC,aAAa,EAAE,6CAAqB;IACpC,cAAc,EAAE,6BAAa;IAC7B,aAAa,EAAE,kCAAmB;IAClC,eAAe,EAAE,oCAAoB;IACrC,wBAAwB,EAAE,sDAA6B;IACvD,gBAAgB,EAAE,+CAAsB;IACxC,wBAAwB,EAAE,uCAAkB;IAC5C,6BAA6B,EAAE,iCAAe;IAC9C,wBAAwB,EAAE,uCAAkB;IAC5C,eAAe,EAAE,2CAAoB;IACrC,QAAQ,EAAE,uEAAkC;IAC5C,SAAS,EAAE,wBAAO;IAClB,OAAO,EAAE,2BAAY;IACrB,kCAAkC,EAAE,qCAAiB;CACtD,AAnB2B,CAmB1B;AAEF,2DAA2D;AAC5C,wCAAkB,GAAG;IAClC;QACE,YAAY,EAAE;YACZ,QAAQ;YACR,oBAAoB;YACpB,uBAAuB;YACvB,2BAA2B;YAC3B,wBAAwB;SACzB;QACD,oBAAoB,EAAE;YACpB,oBAAoB;YACpB,6BAA6B;YAC7B,mCAAmC;SACpC;QACD,OAAO,EAAE,6CAAqB;KAC/B;IACD;QACE,YAAY,EAAE,CAAC,QAAQ,EAAE,uBAAuB,CAAC;QACjD,oBAAoB,EAAE;YACpB,oBAAoB;YACpB,kBAAkB;YAClB,YAAY;YACZ,oBAAoB;YACpB,YAAY;YACZ,6BAA6B;SAC9B;QACD,OAAO,EAAE,uCAAkB;KAC5B;IACD;QACE,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC;QACnD,OAAO,EAAE,6CAAqB;KAC/B;IACD;QACE,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;QACpC,OAAO,EAAE,iCAAe;KACzB;IACD;QACE,YAAY,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;QACvC,OAAO,EAAE,2BAAY;KACtB;IACD;QACE,YAAY,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;QACxC,OAAO,EAAE,2BAAY;KACtB;IACD;QACE,YAAY,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAC5C,OAAO,EAAE,2BAAY;KACtB;IACD;QACE,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QACjC,OAAO,EAAE,2BAAY;KACtB;IACD;QACE,YAAY,EAAE,CAAC,wBAAwB;YACrC,gBAAgB;YAChB,2BAA2B;YAC3B,2BAA2B,CAAC;QAC9B,OAAO,EAAE,qCAAiB;KAC3B;IACD;QACE,qFAAqF;QACrF,uFAAuF;QACvF,YAAY,EAAE,CAAC,wBAAwB;YACrC,2BAA2B,CAAC;QAC9B,oBAAoB,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;QACpE,OAAO,EAAE,qCAAiB;KAC3B;IACD;QACE,sEAAsE;QACtE,gDAAgD;QAChD,YAAY,EAAE,CAAC,wBAAwB;YACrC,gBAAgB;YAChB,qBAAqB,CAAC;QACxB,oBAAoB,EAAE,CAAC,QAAQ,CAAC;QAChC,OAAO,EAAE,qCAAiB;KAC3B;IACD;QACE,YAAY,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACjD,OAAO,EAAE,6CAAqB;KAC/B;IACD;QACE,YAAY,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;QAC5C,OAAO,EAAE,6CAAqB;KAC/B;IACD;QACE,YAAY,EAAE,CAAC,sBAAsB,CAAC;QACtC,oBAAoB,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;QAC3D,OAAO,EAAE,6BAAa;KACvB;IACD;QACE,YAAY,EAAE,CAAC,qBAAqB,CAAC;QACrC,oBAAoB,EAAE,CAAC,WAAW,EAAE,qBAAqB,CAAC;QAC1D,OAAO,EAAE,2BAAY;KACtB;IACD;QACE,YAAY,EAAE,CAAC,0BAA0B,CAAC;QAC1C,oBAAoB,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;QAC/D,OAAO,EAAE,qCAAiB;KAC3B;IACD;QACE,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,oBAAoB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,kBAAkB,CAAC;QACjE,OAAO,EAAE,6CAAqB;KAC/B;CACF,AAxGgC,CAwG/B"}
1
+ {"version":3,"file":"multiServiceAccessory.js","sourceRoot":"","sources":["../src/multiServiceAccessory.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { MultiServiceAccessory } from '../multiServiceAccessory';
5
5
  import { ShortEvent } from '../webhook/subscriptionHandler';
6
6
  export declare class WindowCoveringService extends BaseService {
7
7
  private targetPosition;
8
+ private currentPosition;
8
9
  private timer;
9
10
  private states;
10
11
  private currentPositionState;
@@ -32,5 +33,7 @@ export declare class WindowCoveringService extends BaseService {
32
33
  */
33
34
  getCurrentPosition(): Promise<CharacteristicValue>;
34
35
  processEvent(event: ShortEvent): void;
36
+ private readPositionFromStatus;
37
+ private syncTargetPosition;
35
38
  }
36
39
  //# sourceMappingURL=windowCoveringService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"windowCoveringService.d.ts","sourceRoot":"","sources":["../../src/services/windowCoveringService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,KAAK,CAAC;IACd,OAAO,CAAC,MAAM,CAIZ;IAEF,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,mBAAmB,CAAS;gBAExB,QAAQ,EAAE,8BAA8B,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7H,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,MAAM,EAAE,YAAY,KAAA;IAgC5B;;;OAGG;IACG,iBAAiB,CAAC,KAAK,EAAE,mBAAmB;IA8B5C,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMjD,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAyB7D;;;;;;;;;;;;OAYG;IACG,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA8BjD,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAyB7C"}
1
+ {"version":3,"file":"windowCoveringService.d.ts","sourceRoot":"","sources":["../../src/services/windowCoveringService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,qBAAa,qBAAsB,SAAQ,WAAW;IAIpD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,KAAK,CAAC;IACd,OAAO,CAAC,MAAM,CAIZ;IAEF,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,mBAAmB,CAAS;gBAExB,QAAQ,EAAE,8BAA8B,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7H,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,MAAM,EAAE,YAAY,KAAA;IAgC5B;;;OAGG;IACG,iBAAiB,CAAC,KAAK,EAAE,mBAAmB;IAyC5C,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAYjD,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA+B7D;;;;;;;;;;;;OAYG;IACG,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAiCjD,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAyB5C,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,kBAAkB;CAe3B"}
@@ -5,7 +5,11 @@ const baseService_1 = require("./baseService");
5
5
  class WindowCoveringService extends baseService_1.BaseService {
6
6
  constructor(platform, accessory, componentId, capabilities, multiServiceAccessory, name, deviceStatus) {
7
7
  super(platform, accessory, componentId, capabilities, multiServiceAccessory, name, deviceStatus);
8
- this.targetPosition = 0;
8
+ // null = not yet learned. HomeKit shows 'Opening…'/'Closing…' whenever
9
+ // TargetPosition differs from CurrentPosition, so a hardcoded startup target
10
+ // would make any shade not sitting at that exact position spin forever.
11
+ this.targetPosition = null;
12
+ this.currentPosition = null;
9
13
  this.states = {
10
14
  decreasing: this.platform.Characteristic.PositionState.DECREASING,
11
15
  increasing: this.platform.Characteristic.PositionState.INCREASING,
@@ -25,7 +29,7 @@ class WindowCoveringService extends baseService_1.BaseService {
25
29
  .onSet(this.setTargetPosition.bind(this));
26
30
  let pollWindowShadesSeconds = 10; // default to 10 seconds
27
31
  if (this.platform.config.PollWindowShadesSeconds !== undefined) {
28
- pollWindowShadesSeconds = this.platform.config.PollSwitchesAndLightsSeconds;
32
+ pollWindowShadesSeconds = this.platform.config.PollWindowShadesSeconds;
29
33
  }
30
34
  if (pollWindowShadesSeconds > 0) {
31
35
  multiServiceAccessory.startPollingState(pollWindowShadesSeconds, this.getCurrentPosition.bind(this), this.service, platform.Characteristic.CurrentPosition, platform.Characteristic.TargetPosition, this.getTargetPosition.bind(this));
@@ -48,11 +52,23 @@ class WindowCoveringService extends baseService_1.BaseService {
48
52
  }
49
53
  let capability = 'switchLevel';
50
54
  let command = 'setLevel';
51
- if (this.useWindowShadeLevel) {
55
+ let args = [value];
56
+ if (this.capabilities.includes('windowShade') && (this.targetPosition === 0 || this.targetPosition === 100)) {
57
+ // At the travel limits, use the windowShade capability's mandatory
58
+ // open/close commands instead of a level command — some Z-Wave shade
59
+ // drivers intermittently ignore setShadeLevel(0)/setLevel(0) while
60
+ // honoring close immediately. Only valid if the device actually exposes
61
+ // windowShade; a windowShadeLevel/switchLevel-only device falls through
62
+ // to the level command below.
63
+ capability = 'windowShade';
64
+ command = this.targetPosition === 0 ? 'close' : 'open';
65
+ args = [];
66
+ }
67
+ else if (this.useWindowShadeLevel) {
52
68
  capability = 'windowShadeLevel';
53
69
  command = 'setShadeLevel';
54
70
  }
55
- this.multiServiceAccessory.sendCommand(this.componentId, capability, command, [value])
71
+ this.multiServiceAccessory.sendCommand(this.componentId, capability, command, args)
56
72
  .then(() => {
57
73
  this.log.debug('onSet(' + value + ') SUCCESSFUL for ' + this.name);
58
74
  this.multiServiceAccessory.forceNextStatusRefresh();
@@ -64,23 +80,38 @@ class WindowCoveringService extends baseService_1.BaseService {
64
80
  }
65
81
  async getTargetPosition() {
66
82
  return new Promise(resolve => {
67
- resolve(this.targetPosition);
83
+ var _a;
84
+ if (this.targetPosition !== null) {
85
+ resolve(this.targetPosition);
86
+ }
87
+ else {
88
+ // No target learned yet (no HomeKit command, no status sync) — report
89
+ // the last known position so HomeKit doesn't invent a phantom move.
90
+ resolve((_a = this.currentPosition) !== null && _a !== void 0 ? _a : 0);
91
+ }
68
92
  });
69
93
  }
70
94
  async getCurrentPositionState() {
71
95
  this.log.debug('Received getCurrentPositionState() event for ' + this.name);
72
96
  return new Promise((resolve, reject) => {
73
97
  this.getStatus().then(success => {
98
+ var _a, _b;
74
99
  if (success) {
75
- const state = this.deviceStatus.status.windowShade.windowShade;
100
+ // Guard the read: the service can also be matched on a
101
+ // windowShadeLevel/switchLevel-only device that never exposes
102
+ // windowShade, in which case there is no movement state to report.
103
+ const state = (_b = (_a = this.deviceStatus.status.windowShade) === null || _a === void 0 ? void 0 : _a.windowShade) === null || _b === void 0 ? void 0 : _b.value;
104
+ // HomeKit position semantics: 100 = fully open, 0 = fully closed,
105
+ // so 'opening' means the position is INCREASING.
76
106
  if (state === 'opening') {
77
- this.currentPositionState = this.states.decreasing;
107
+ this.currentPositionState = this.states.increasing;
78
108
  }
79
109
  else if (state === 'closing') {
80
- this.currentPositionState = this.states.increasing;
110
+ this.currentPositionState = this.states.decreasing;
81
111
  }
82
112
  else {
83
113
  this.currentPositionState = this.states.stopped;
114
+ this.syncTargetPosition(this.readPositionFromStatus());
84
115
  }
85
116
  this.log.debug(`getCurrentPositionState() SUCCESSFUL for ${this.name} return value ${state}, ` +
86
117
  `setting to ${this.currentPositionState}`);
@@ -116,12 +147,14 @@ class WindowCoveringService extends baseService_1.BaseService {
116
147
  }
117
148
  this.getStatus().then(success => {
118
149
  if (success) {
119
- let position = 0;
120
- if (this.useWindowShadeLevel) {
121
- position = this.deviceStatus.status.windowShadeLevel.shadeLevel.value;
150
+ const position = this.readPositionFromStatus();
151
+ if (position === null) {
152
+ this.log.error('onGet() FAILED for ' + this.name + '. Undefined value');
153
+ return reject(new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */));
122
154
  }
123
- else {
124
- position = this.deviceStatus.status.switchLevel.level.value;
155
+ this.currentPosition = position;
156
+ if (this.currentPositionState === this.states.stopped) {
157
+ this.syncTargetPosition(position);
125
158
  }
126
159
  this.log.debug('onGet() SUCCESSFUL for ' + this.name + '. value = ' + position);
127
160
  resolve(position);
@@ -136,23 +169,49 @@ class WindowCoveringService extends baseService_1.BaseService {
136
169
  processEvent(event) {
137
170
  if (event.capability === 'windowShadeLevel' || event.capability === 'switchLevel') {
138
171
  this.log.debug(`Event updating windowShadeLevel capability for ${this.name} to ${event.value}`);
172
+ this.currentPosition = event.value;
139
173
  this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, event.value);
174
+ if (this.currentPositionState === this.states.stopped) {
175
+ this.syncTargetPosition(event.value);
176
+ }
140
177
  }
141
178
  else if (event.capability === 'windowShade') {
142
179
  this.log.debug(`Event updating windowShade capability for ${this.name} to ${event.value}`);
143
180
  if (event.value === 'opening') {
144
- this.currentPositionState = this.states.decreasing;
181
+ this.currentPositionState = this.states.increasing;
145
182
  }
146
183
  else if (event.value === 'closing') {
147
- this.currentPositionState = this.states.increasing;
184
+ this.currentPositionState = this.states.decreasing;
148
185
  }
149
186
  else {
150
187
  this.currentPositionState = this.states.stopped;
188
+ this.syncTargetPosition(this.currentPosition);
151
189
  }
152
190
  this.log.debug(`From event, setting characteristic to ${this.currentPositionState}`);
153
191
  this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.currentPositionState);
154
192
  }
155
193
  }
194
+ // Reads the shade position from the cached device status, from whichever
195
+ // level capability this device exposes. Returns null if not yet available.
196
+ readPositionFromStatus() {
197
+ var _a, _b, _c, _d;
198
+ const status = this.deviceStatus.status;
199
+ const position = this.useWindowShadeLevel
200
+ ? (_b = (_a = status.windowShadeLevel) === null || _a === void 0 ? void 0 : _a.shadeLevel) === null || _b === void 0 ? void 0 : _b.value
201
+ : (_d = (_c = status.switchLevel) === null || _c === void 0 ? void 0 : _c.level) === null || _d === void 0 ? void 0 : _d.value;
202
+ return typeof position === 'number' ? position : null;
203
+ }
204
+ // When the shade is idle, TargetPosition must mirror the real position or
205
+ // HomeKit reports a phantom 'Opening…'/'Closing…' until they match. Shades
206
+ // moved outside HomeKit (remote, SmartThings app, automations) only get
207
+ // their target reconciled here.
208
+ syncTargetPosition(position) {
209
+ if (position === null || this.targetPosition === position) {
210
+ return;
211
+ }
212
+ this.targetPosition = position;
213
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, position);
214
+ }
156
215
  }
157
216
  exports.WindowCoveringService = WindowCoveringService;
158
217
  //# sourceMappingURL=windowCoveringService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"windowCoveringService.js","sourceRoot":"","sources":["../../src/services/windowCoveringService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windowCoveringService.js","sourceRoot":"","sources":["../../src/services/windowCoveringService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { PlatformAccessory, CharacteristicValue } from 'homebridge';
2
+ import { IKHomeBridgeHomebridgePlatform } from '../platform';
3
+ import { BaseService } from './baseService';
4
+ import { MultiServiceAccessory } from '../multiServiceAccessory';
5
+ import { ShortEvent } from '../webhook/subscriptionHandler';
6
+ export declare class ZigbangSmartDoorlockService extends BaseService {
7
+ private targetState;
8
+ private lockInTransitionStart;
9
+ private selectedLanguage;
10
+ static readonly serviceNamespace = "absoluteweather46907";
11
+ static readonly STATE_CAPABILITY_ID: string;
12
+ static readonly COMMAND_CAPABILITY_ID: string;
13
+ constructor(platform: IKHomeBridgeHomebridgePlatform, accessory: PlatformAccessory, componentId: string, capabilities: string[], multiServiceAccessory: MultiServiceAccessory, name: string, deviceStatus: any);
14
+ getLockTargetState(): Promise<number>;
15
+ setLockTargetState(value: CharacteristicValue): Promise<void>;
16
+ getLockCurrentState(): Promise<CharacteristicValue>;
17
+ processEvent(event: ShortEvent): void;
18
+ mapLockState(lockState: string): CharacteristicValue;
19
+ }
20
+ //# sourceMappingURL=zigbangSmartDoorlockService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zigbangSmartDoorlockService.d.ts","sourceRoot":"","sources":["../../src/services/zigbangSmartDoorlockService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,qBAAa,2BAA4B,SAAQ,WAAW;IAC1D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,0BAA0B;IAI1D,gBAAuB,mBAAmB,SAAsE;IAChH,gBAAuB,qBAAqB,SAA0D;gBAE1F,QAAQ,EAAE,8BAA8B,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7H,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,MAAM,EAAE,YAAY,KAAA;IAqCtB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkCrC,kBAAkB,CAAC,KAAK,EAAE,mBAAmB;IAgC7C,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAgClD,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAcrC,YAAY,CAAC,SAAS,EAAC,MAAM,GAAG,mBAAmB;CAkB3D"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZigbangSmartDoorlockService = void 0;
4
+ const baseService_1 = require("./baseService");
5
+ class ZigbangSmartDoorlockService extends baseService_1.BaseService {
6
+ constructor(platform, accessory, componentId, capabilities, multiServiceAccessory, name, deviceStatus) {
7
+ super(platform, accessory, componentId, capabilities, multiServiceAccessory, name, deviceStatus);
8
+ this.targetState = 0;
9
+ this.lockInTransitionStart = 0;
10
+ this.selectedLanguage = 'en';
11
+ this.setServiceType(platform.Service.LockMechanism);
12
+ // Set the event handlers
13
+ this.log.debug(`Adding ZigbangSmartDoorlockService to ${this.name}`);
14
+ this.service.getCharacteristic(platform.Characteristic.LockCurrentState)
15
+ .onGet(this.getLockCurrentState.bind(this));
16
+ this.service.getCharacteristic(platform.Characteristic.LockTargetState)
17
+ .onGet(this.getLockTargetState.bind(this))
18
+ .onSet(this.setLockTargetState.bind(this));
19
+ // Set Target State to current state to start
20
+ this.getLockCurrentState().then(currentState => {
21
+ if (currentState === platform.Characteristic.LockCurrentState.UNSECURED) {
22
+ this.targetState = platform.Characteristic.LockTargetState.UNSECURED;
23
+ }
24
+ else {
25
+ this.targetState = platform.Characteristic.LockTargetState.SECURED;
26
+ }
27
+ }).catch(() => {
28
+ this.log.error(`Failed to get current state for ${this.name} on init`);
29
+ this.targetState = platform.Characteristic.LockTargetState.SECURED;
30
+ });
31
+ let pollLocksSeconds = 10; // default to 10 seconds
32
+ if (this.platform.config.PollLocksSeconds !== undefined) {
33
+ pollLocksSeconds = this.platform.config.PollLocksSeconds;
34
+ }
35
+ if (pollLocksSeconds > 0) {
36
+ multiServiceAccessory.startPollingState(pollLocksSeconds, this.getLockCurrentState.bind(this), this.service, platform.Characteristic.LockCurrentState, this.platform.Characteristic.LockTargetState, this.getLockTargetState.bind(this));
37
+ }
38
+ }
39
+ // Return the current target state
40
+ async getLockTargetState() {
41
+ // If it has been more than 10 seconds since we've sent a transition command,
42
+ // reset the target state to the current state.
43
+ if (Date.now() - this.lockInTransitionStart > 10000) {
44
+ return new Promise((resolve, reject) => {
45
+ this.getStatus().then(success => {
46
+ if (!success) {
47
+ reject(new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */));
48
+ return;
49
+ }
50
+ const ns = ZigbangSmartDoorlockService.serviceNamespace;
51
+ const langStatus = this.deviceStatus.status[`${ns}.languageSupport`];
52
+ const lockStatus = this.deviceStatus.status[`${ns}.lockstaterelease`];
53
+ if (!langStatus || !lockStatus) {
54
+ reject(new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */));
55
+ return;
56
+ }
57
+ this.selectedLanguage = langStatus.language.value;
58
+ this.log.debug(`LanguageSupport value from ${this.name}: ${this.selectedLanguage}`);
59
+ this.targetState = lockStatus.lock.value ===
60
+ `locked.${this.selectedLanguage}` ?
61
+ this.platform.Characteristic.LockTargetState.SECURED :
62
+ this.platform.Characteristic.LockTargetState.UNSECURED;
63
+ this.log.debug(`Reset ${this.name} to ${this.targetState}`);
64
+ resolve(this.targetState);
65
+ });
66
+ });
67
+ }
68
+ else {
69
+ return this.targetState;
70
+ }
71
+ }
72
+ // Set the target state of the lock
73
+ async setLockTargetState(value) {
74
+ this.log.debug('Received setTargetState(' + value + ') event for ' + this.name);
75
+ this.targetState = value;
76
+ if (!this.multiServiceAccessory.isOnline()) {
77
+ this.log.error(this.name + ' is offline');
78
+ throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
79
+ }
80
+ this.lockInTransitionStart = Date.now();
81
+ // ignore lock command as it supports unlock only
82
+ // the door will automatically lock 7 seconds after the door lock is unlocked if the door is not opened
83
+ if (value) {
84
+ return;
85
+ }
86
+ this.service.updateCharacteristic(this.platform.Characteristic.LockTargetState, value);
87
+ this.multiServiceAccessory.sendCommand(this.componentId, ZigbangSmartDoorlockService.COMMAND_CAPABILITY_ID, 'unlock')
88
+ .then((success) => {
89
+ if (success) {
90
+ this.log.debug('onSet(' + value + ') SUCCESSFUL for ' + this.name);
91
+ this.multiServiceAccessory.forceNextStatusRefresh();
92
+ // this.deviceStatus.timestamp = 0; // Force refresh
93
+ }
94
+ else {
95
+ this.log.error(`Command failed for ${this.name}`);
96
+ }
97
+ });
98
+ }
99
+ // Get the current state of the lock
100
+ async getLockCurrentState() {
101
+ // if you need to return an error to show the device as "Not Responding" in the Home app:
102
+ // throw new this.platform.api.hap.HapStatusError(this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE);
103
+ this.log.debug('Received getLockState() event for ' + this.name);
104
+ try {
105
+ // Real-time lockstaterelease events (routed via processEvent) are the primary source of
106
+ // fresh state; getStatus() already triggers a background refresh, and polling is the backstop.
107
+ const fetchedStatus = await this.getStatus();
108
+ if (!fetchedStatus) {
109
+ throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
110
+ }
111
+ const ns = ZigbangSmartDoorlockService.serviceNamespace;
112
+ const langStatus = this.deviceStatus.status[`${ns}.languageSupport`];
113
+ const lockStatus = this.deviceStatus.status[`${ns}.lockstaterelease`];
114
+ if (!langStatus || !lockStatus) {
115
+ throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
116
+ }
117
+ this.selectedLanguage = langStatus.language.value;
118
+ this.log.debug(`LanguageSupport value from ${this.name}: ${this.selectedLanguage}`);
119
+ const lockState = lockStatus.lock.value;
120
+ this.log.debug(`LockState value from ${this.name}: ${lockState}`);
121
+ return this.mapLockState(lockState);
122
+ }
123
+ catch (error) {
124
+ this.log.error(`Failed to get current lock state for ${this.name}:`, error);
125
+ if (error instanceof this.platform.api.hap.HapStatusError) {
126
+ throw error;
127
+ }
128
+ throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
129
+ }
130
+ }
131
+ processEvent(event) {
132
+ this.log.debug(`Event updating lock capability for ${this.name} to ${event.value}`);
133
+ const mappedState = this.mapLockState(event.value);
134
+ this.service.updateCharacteristic(this.platform.Characteristic.LockCurrentState, mappedState);
135
+ if (mappedState === this.platform.Characteristic.LockCurrentState.SECURED) {
136
+ this.targetState = this.platform.Characteristic.LockTargetState.SECURED;
137
+ }
138
+ else if (mappedState === this.platform.Characteristic.LockCurrentState.UNSECURED) {
139
+ this.targetState = this.platform.Characteristic.LockTargetState.UNSECURED;
140
+ }
141
+ else {
142
+ return;
143
+ }
144
+ this.service.updateCharacteristic(this.platform.Characteristic.LockTargetState, this.targetState);
145
+ }
146
+ mapLockState(lockState) {
147
+ // Values may be language-suffixed (e.g. 'locked.en', 'locked.ko'). Match on the
148
+ // base token so mapping is language-agnostic and independent of whether the
149
+ // device's languageSupport has been read yet — a real-time lockstaterelease
150
+ // event can arrive before the first status read sets selectedLanguage.
151
+ switch (lockState === null || lockState === void 0 ? void 0 : lockState.split('.')[0]) {
152
+ case 'locked': {
153
+ return (this.platform.Characteristic.LockCurrentState.SECURED);
154
+ }
155
+ case 'unlocked': {
156
+ return (this.platform.Characteristic.LockCurrentState.UNSECURED);
157
+ }
158
+ default: {
159
+ return (this.platform.Characteristic.LockCurrentState.UNKNOWN);
160
+ }
161
+ }
162
+ }
163
+ }
164
+ exports.ZigbangSmartDoorlockService = ZigbangSmartDoorlockService;
165
+ ZigbangSmartDoorlockService.serviceNamespace = 'absoluteweather46907';
166
+ // State events are emitted on the lockstaterelease capability; .lock is command-only (unlock).
167
+ // The service must be registered/subscribed/routed under the STATE capability so real-time
168
+ // lockstaterelease events reach processEvent(); unlock commands go to the COMMAND capability.
169
+ ZigbangSmartDoorlockService.STATE_CAPABILITY_ID = `${ZigbangSmartDoorlockService.serviceNamespace}.lockstaterelease`;
170
+ ZigbangSmartDoorlockService.COMMAND_CAPABILITY_ID = `${ZigbangSmartDoorlockService.serviceNamespace}.lock`;
171
+ //# sourceMappingURL=zigbangSmartDoorlockService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zigbangSmartDoorlockService.js","sourceRoot":"","sources":["../../src/services/zigbangSmartDoorlockService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "displayName": "Homebridge Smartthings oAuth Plugin",
4
4
  "name": "homebridge-smartthings-oauth",
5
- "version": "1.0.62",
5
+ "version": "1.0.64",
6
6
  "description": "Connects SmartThings devices to Homebridge. Automatically discovers devices.",
7
7
  "license": "Apache-2.0",
8
8
  "repository": {