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 +28 -0
- package/config.schema.json +6 -0
- package/dist/multiServiceAccessory.d.ts.map +1 -1
- package/dist/multiServiceAccessory.js +7 -0
- package/dist/multiServiceAccessory.js.map +1 -1
- package/dist/services/windowCoveringService.d.ts +3 -0
- package/dist/services/windowCoveringService.d.ts.map +1 -1
- package/dist/services/windowCoveringService.js +74 -15
- package/dist/services/windowCoveringService.js.map +1 -1
- package/dist/services/zigbangSmartDoorlockService.d.ts +20 -0
- package/dist/services/zigbangSmartDoorlockService.d.ts.map +1 -0
- package/dist/services/zigbangSmartDoorlockService.js +171 -0
- package/dist/services/zigbangSmartDoorlockService.js.map +1 -0
- package/package.json +1 -1
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.
|
package/config.schema.json
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACpH,OAAO,KAAK,GAAG,QAAQ,OAAO,CAAC,CAAC;AAChC,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAmB5D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;
|
|
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":"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"}
|
|
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,wFAAqF;AACrF,oEAAuE;AACvE,sEAAwD;AAExD,+DAA4D;AAC5D,wBAAwB;AACxB,uBAAuB;AACvB,uCAAuC;AACvC,iBAAiB;AACjB,KAAK;AAEL;;;;GAIG;AACH,qEAAqE;AACrE,MAAa,qBAAqB;IAiLhC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,YACE,QAAwC,EACxC,SAA4B;QAtL9B,qBAAqB;QACrB,eAAe;QACf,eAAU,GAIJ,EAAE,CAAC;QAET;;;WAGG;QAEK,aAAQ,GAAkB,EAAE,CAAC;QAgJ3B,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,+DAA+D;YAC/D,IAAI,UAAU,KAAK,yDAA2B,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;gBACvH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,IAAI,CAAC,IAAI,0BAA0B,CAAC,CAAC;gBACnG,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;;AA3tBH,sDA6tBC;AA7sBC,+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;IACrD,CAAC,yDAA2B,CAAC,mBAAmB,CAAC,EAAE,yDAA2B;CAC/E,AApB2B,CAoB1B;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"}
|
|
@@ -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;
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
107
|
+
this.currentPositionState = this.states.increasing;
|
|
78
108
|
}
|
|
79
109
|
else if (state === 'closing') {
|
|
80
|
-
this.currentPositionState = this.states.
|
|
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
|
-
|
|
120
|
-
if (
|
|
121
|
-
|
|
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
|
-
|
|
124
|
-
|
|
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.
|
|
181
|
+
this.currentPositionState = this.states.increasing;
|
|
145
182
|
}
|
|
146
183
|
else if (event.value === 'closing') {
|
|
147
|
-
this.currentPositionState = this.states.
|
|
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":";;;AAEA,+CAA4C;AAI5C,MAAa,qBAAsB,SAAQ,yBAAW;
|
|
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.
|
|
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": {
|