homebridge-smartthings-oauth 1.0.58 → 1.0.59
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 +16 -0
- package/README.md +1 -0
- package/config.schema.json +7 -0
- package/dist/multiServiceAccessory.d.ts.map +1 -1
- package/dist/multiServiceAccessory.js +6 -0
- package/dist/multiServiceAccessory.js.map +1 -1
- package/dist/platform.d.ts +1 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +53 -30
- package/dist/platform.js.map +1 -1
- package/dist/services/securitySystemService.d.ts +26 -0
- package/dist/services/securitySystemService.d.ts.map +1 -0
- package/dist/services/securitySystemService.js +297 -0
- package/dist/services/securitySystemService.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
|
+
## [1.0.59] - Security Panel Support + Correct TV Icon
|
|
5
|
+
|
|
6
|
+
### Added
|
|
7
|
+
- **Security System service** (#32): Devices with the SmartThings `securitySystem` capability are now exposed as Security System tiles in Apple Home, with arm/disarm controls (Stay, Away, Night, Off) and live current-state reporting. The plugin reads `supportedSecuritySystemCommands` to constrain which arm modes appear in HomeKit, so panels that don't support a given mode (e.g. no Night arm) won't show it. Webhook subscriptions provide real-time updates; polling is the fallback (configurable via the new `PollSecuritySystemsSeconds` setting, default 15s).
|
|
8
|
+
- **Alarm-trigger reporting**: When a device also exposes the `alarm`, `panicAlarm`, or `temperatureAlarm` capabilities, an active siren, panic button press, or extreme temperature alarm flips the HomeKit `SecuritySystemCurrentState` to "Alarm Triggered" and sets `SecuritySystemAlarmType`. The state clears once all active alarm sources clear.
|
|
9
|
+
- **`PollSecuritySystemsSeconds` config option**: Dedicated polling interval for security panels (default 15s). Configured separately from generic sensor polling because panels typically rate-limit aggressive polling.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- **Generic icon for Samsung TVs in Apple Home** (#31): TV accessories were registered as bridged accessories, so HomeKit ignored their `Categories.TELEVISION` setting and rendered them with the generic Home placeholder icon (orange house). Even though the Television service worked (inputs, power, remote), HomeKit only advertises a per-accessory category (`ci=TELEVISION` Bonjour TXT) for accessories published as standalone, which is why every working Homebridge TV plugin uses external publishing. TVs are now published via `publishExternalAccessories`, giving them their own HAP server, their own pairing, and the proper TV tile in Home with Control Center remote support.
|
|
13
|
+
|
|
14
|
+
### Note
|
|
15
|
+
- **Existing TV users must re-add their TV in the Home app** after upgrading. The plugin will automatically unregister the old bridged TV tile on first start. To add the new external TV: open the **Apple Home** app → tap **+** → **Add Accessory** → tap **"More options…"** → the TV appears in the Nearby Accessories list → tap it → when prompted, enter your **bridge PIN** (or **child-bridge PIN** if you run this plugin in a child bridge). The Homebridge UI does not display a per-accessory QR code for external accessories — pairing is initiated from the Home app, not from Homebridge UI. Inputs, volume slider (if enabled), and Frame TV WebSocket settings continue to work as before — input source names are re-fetched from SmartThings on first connect, so the only thing that resets is the HomeKit pairing itself.
|
|
16
|
+
- **Disabling `enableTelevisionService` after upgrading**: If you later set `enableTelevisionService: false` to revert a TV to a bridged switch, the externally-published TV tile will remain in Apple Home as an orphan. Remove it manually from the Home app (long-press the tile → Accessory Settings → Remove Accessory) before the bridged switch will appear cleanly.
|
|
17
|
+
- **Standalone siren/alarm devices** (devices that expose the `alarm` capability but not `securitySystem`) are not yet exposed as HomeKit accessories. If you have such a device and want it controllable from Home, please open an issue and we'll add a follow-up service.
|
|
18
|
+
- **`bypassAll` is hardcoded to `false`** for `armStay`/`armAway` commands. If a sensor is open when you arm, SmartThings will report a not-ready state rather than silently bypassing the zone. Open an issue if you want this configurable.
|
|
19
|
+
|
|
4
20
|
## [1.0.58] - Dryer & Dishwasher Support with Activity Notifications
|
|
5
21
|
|
|
6
22
|
### Added
|
package/README.md
CHANGED
|
@@ -32,6 +32,7 @@ A modern SmartThings plugin for Homebridge that provides seamless integration wi
|
|
|
32
32
|
- **Device Management**: Automatically removes devices that are no longer in your SmartThings network
|
|
33
33
|
- **OAuth Support**: Secure authentication with automatic token refresh
|
|
34
34
|
- **Easy Setup Wizard**: New UI-based OAuth wizard - no tunnel required!
|
|
35
|
+
- **Security Panel Support**: Arm/disarm SmartThings alarm panels (`securitySystem` capability) from Apple Home, with live alarm-trigger reporting via `alarm`, `panicAlarm`, and `temperatureAlarm` capabilities.
|
|
35
36
|
|
|
36
37
|
## Prerequisites
|
|
37
38
|
|
package/config.schema.json
CHANGED
|
@@ -86,6 +86,13 @@
|
|
|
86
86
|
"required": false,
|
|
87
87
|
"default": 5
|
|
88
88
|
},
|
|
89
|
+
"PollSecuritySystemsSeconds": {
|
|
90
|
+
"title": "Poll Security Systems (zero = don't poll)",
|
|
91
|
+
"type": "integer",
|
|
92
|
+
"required": false,
|
|
93
|
+
"default": 15,
|
|
94
|
+
"description": "How often to poll SmartThings security panels for state changes. Webhook subscriptions provide real-time updates when available; polling is the fallback. Default: 15 seconds."
|
|
95
|
+
},
|
|
89
96
|
"PollSwitchesAndLightsSeconds": {
|
|
90
97
|
"title": "Poll Switches and Lights (zero = don't poll)",
|
|
91
98
|
"type": "integer",
|
|
@@ -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":"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;AAc3D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAO5D;;;;GAIG;AAEH,qBAAa,qBAAqB;IAGhC,UAAU,EAAE;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,EAAE,CAAM;IAET;;;OAGG;IAEH,OAAO,CAAC,QAAQ,CAAqB;IAGrC,OAAO,CAAC,MAAM,CAAC,aAAa,CAmB1B;IAGF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAsG/B;IAEF,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IACnD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,cAAc,EAAE,OAAO,cAAc,CAAC;IAChD,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1C,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,MAAM,UAAQ;IAExB,SAAS,CAAC,qBAAqB,SAAK;IACpC,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,UAAU,SAAK;IACzB,SAAS,CAAC,iBAAiB,UAAS;IACpC,SAAS,CAAC,oBAAoB,SAAK;IAEnC,SAAS,CAAC,qBAAqB,UAAS;IACxC,SAAS,CAAC,gBAAgB,UAAQ;IAClC,SAAS,CAAC,gBAAgB,UAAS;IAGnC,OAAO,CAAC,gBAAgB,CAAmB;IAGpC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACjD,aAAa,EAAE;QAAE,kBAAkB,EAAE,OAAO,CAAC;QAAC,mBAAmB,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAQ;IAElG,IAAI,EAAE,WAEL;gBAGC,QAAQ,EAAE,8BAA8B,EACxC,SAAS,EAAE,iBAAiB;YA0DhB,iBAAiB;IAiB/B,OAAO,CAAC,oCAAoC;IA0BrC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAgIxD,QAAQ,IAAI,OAAO;WAKZ,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAyB9D,OAAO,CAAC,kBAAkB;IAWpB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAqEhC,sBAAsB;IAItB,eAAe,IAAI,OAAO;IAIjC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAQxC;;;OAGG;IACH,OAAO,CAAC,qCAAqC;IAe7C,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EACnG,aAAa,EAAE,QAAQ,CAAC,UAAU,cAAc,CAAC,EAAE,yBAAyB,CAAC,EAAE,QAAQ,CAAC,UAAU,cAAc,CAAC,EACjH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI;IAyDrE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpF,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YA0B3C,OAAO;IAkBd,yBAAyB,IAAI,MAAM,EAAE;IAUrC,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAY7C"}
|
|
@@ -30,6 +30,7 @@ const washerService_1 = require("./services/washerService");
|
|
|
30
30
|
const dryerService_1 = require("./services/dryerService");
|
|
31
31
|
const dishwasherService_1 = require("./services/dishwasherService");
|
|
32
32
|
const airPurifierService_1 = require("./services/airPurifierService");
|
|
33
|
+
const securitySystemService_1 = require("./services/securitySystemService");
|
|
33
34
|
const smartThingsCommand_1 = require("./services/smartThingsCommand");
|
|
34
35
|
const samsungWebSocket_1 = require("./local/samsungWebSocket");
|
|
35
36
|
// type DeviceStatus = {
|
|
@@ -595,5 +596,10 @@ MultiServiceAccessory.comboCapabilityMap = [
|
|
|
595
596
|
optionalCapabilities: ['dishwasherMode', 'remoteControlStatus'],
|
|
596
597
|
service: dishwasherService_1.DishwasherService,
|
|
597
598
|
},
|
|
599
|
+
{
|
|
600
|
+
capabilities: ['securitySystem'],
|
|
601
|
+
optionalCapabilities: ['alarm', 'panicAlarm', 'temperatureAlarm'],
|
|
602
|
+
service: securitySystemService_1.SecuritySystemService,
|
|
603
|
+
},
|
|
598
604
|
];
|
|
599
605
|
//# sourceMappingURL=multiServiceAccessory.js.map
|
|
@@ -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":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare class IKHomeBridgeHomebridgePlatform implements DynamicPlatformPl
|
|
|
27
27
|
private accessoryObjects;
|
|
28
28
|
private artModeServices;
|
|
29
29
|
private subscriptionHandler;
|
|
30
|
+
private externalTvUuids;
|
|
30
31
|
constructor(log: Logger, config: PlatformConfig, api: API);
|
|
31
32
|
/**
|
|
32
33
|
* This function is invoked when homebridge restores cached accessories from disk at startup.
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAM5H,OAAO,KAAK,GAAG,QAAQ,OAAO,CAAC,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAA0C,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAM5H,OAAO,KAAK,GAAG,QAAQ,OAAO,CAAC,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAA0C,MAAM,yBAAyB,CAAC;AAInG;;;;GAIG;AACH,qBAAa,8BAA+B,YAAW,qBAAqB;aAmCxD,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IApC1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAEtD,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,gBAAgB,CAAgB;IACjC,IAAI,EAAE,eAAe,CAAC;IAC7B,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,UAAU,CAEhB;IAEF,SAAgB,UAAU,sBAGvB;IAEH,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,mBAAmB,CAA8C;IAKzE,OAAO,CAAC,eAAe,CAA0B;gBAG/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IA4L1B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgBvB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBlC,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IA8GhD,iBAAiB,CAAC,OAAO,KAAA,EAAE,GAAG,UAAQ;IAoCtC;;;;OAIG;IACH,eAAe,CAAC,OAAO,KAAA;IAmEvB,uBAAuB,CAAC,MAAM,KAAA,GAAG,OAAO;IAqBxC,qBAAqB,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA,GAAG,qBAAqB;IAkB/D;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkC3B,2BAA2B,IAAI,gBAAgB;IAItD;;;;;;OAMG;YACW,SAAS;IAiCvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;;OAGG;YAEW,6BAA6B;IA2H3C;;;OAGG;YACW,0BAA0B;CAwBzC"}
|
package/dist/platform.js
CHANGED
|
@@ -47,6 +47,7 @@ const webhookServer_1 = require("./webhook/webhookServer");
|
|
|
47
47
|
const smartthingsSubscriptionManager_1 = require("./webhook/smartthingsSubscriptionManager");
|
|
48
48
|
const CrashLoopManager_1 = require("./auth/CrashLoopManager");
|
|
49
49
|
const artModeSwitchService_1 = require("./services/artModeSwitchService");
|
|
50
|
+
const televisionService_1 = require("./services/televisionService");
|
|
50
51
|
/**
|
|
51
52
|
* HomebridgePlatform
|
|
52
53
|
* This class is the main constructor for your plugin, this is where you should
|
|
@@ -76,6 +77,10 @@ class IKHomeBridgeHomebridgePlatform {
|
|
|
76
77
|
this.accessoryObjects = [];
|
|
77
78
|
this.artModeServices = [];
|
|
78
79
|
this.subscriptionHandler = undefined;
|
|
80
|
+
// UUIDs of TV devices published as external accessories during the current launch.
|
|
81
|
+
// Used by unregisterDevices() to skip TVs whose bridged cache entries were just
|
|
82
|
+
// unregistered as part of the bridged → external migration (issue #31).
|
|
83
|
+
this.externalTvUuids = new Set();
|
|
79
84
|
this.log.debug('Finished initializing platform:', this.config.name);
|
|
80
85
|
// Initialize CrashLoopManager first as auth might use it if it fails early.
|
|
81
86
|
// It's a singleton, so getting instance here ensures it's created with platform logger and storage path.
|
|
@@ -407,6 +412,11 @@ class IKHomeBridgeHomebridgePlatform {
|
|
|
407
412
|
if ((_b = (_a = accessory.context.device) === null || _a === void 0 ? void 0 : _a.deviceId) === null || _b === void 0 ? void 0 : _b.endsWith('-artmode')) {
|
|
408
413
|
return;
|
|
409
414
|
}
|
|
415
|
+
// Don't re-unregister TVs that were just migrated to external accessories
|
|
416
|
+
// in discoverDevices() — their bridged cache entry is already gone.
|
|
417
|
+
if (this.externalTvUuids.has(accessory.UUID)) {
|
|
418
|
+
return;
|
|
419
|
+
}
|
|
410
420
|
this.log.info('Will unregister ' + accessory.context.device.label);
|
|
411
421
|
accessoriesToRemove.push(accessory);
|
|
412
422
|
}
|
|
@@ -421,44 +431,57 @@ class IKHomeBridgeHomebridgePlatform {
|
|
|
421
431
|
* must not be registered again to prevent "duplicate UUID" errors.
|
|
422
432
|
*/
|
|
423
433
|
discoverDevices(devices) {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
// REMOVE ME
|
|
427
|
-
// this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, this.accessories);
|
|
434
|
+
const externalAccessories = [];
|
|
435
|
+
this.externalTvUuids = new Set();
|
|
428
436
|
devices.forEach((device) => {
|
|
429
437
|
this.log.debug('DEVICE DATA: ' + JSON.stringify(device));
|
|
430
|
-
if (this.findSupportedCapability(device)) {
|
|
431
|
-
|
|
438
|
+
if (!this.findSupportedCapability(device)) {
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
441
|
+
const isTv = televisionService_1.TelevisionService.isTelevisionDevice(device)
|
|
442
|
+
&& this.config.enableTelevisionService !== false;
|
|
443
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === device.deviceId);
|
|
444
|
+
if (isTv) {
|
|
445
|
+
// TVs must be published as external accessories so HomeKit advertises
|
|
446
|
+
// ci=TELEVISION via Bonjour and renders the proper TV tile + Control
|
|
447
|
+
// Center remote. Bridged accessories share the bridge's category, which
|
|
448
|
+
// is why they fall back to the generic icon (issue #31).
|
|
449
|
+
this.externalTvUuids.add(device.deviceId);
|
|
432
450
|
if (existingAccessory) {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
// create the accessory handler for the restored accessory
|
|
439
|
-
// this is imported from `platformAccessory.ts`
|
|
440
|
-
this.accessoryObjects.push(this.createAccessoryObject(device, existingAccessory));
|
|
441
|
-
// it is possible to remove platform accessories at any time using `api.unregisterPlatformAccessories`, eg.:
|
|
442
|
-
// remove platform accessories when no longer present
|
|
443
|
-
// this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [existingAccessory]);
|
|
444
|
-
// this.log.info('Removing existing accessory from cache:', existingAccessory.displayName);
|
|
451
|
+
this.log.info(`Migrating ${device.label} from bridged to external accessory for proper TV icon. ` +
|
|
452
|
+
'To re-add it: open Apple Home app → + → Add Accessory → More options → ' +
|
|
453
|
+
'select the TV from nearby accessories → enter your bridge PIN ' +
|
|
454
|
+
'(or child-bridge PIN if the plugin runs in a child bridge).');
|
|
455
|
+
this.api.unregisterPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [existingAccessory]);
|
|
445
456
|
}
|
|
446
457
|
else {
|
|
447
|
-
|
|
448
|
-
this.log.info(
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
// store a copy of the device object in the `accessory.context`
|
|
452
|
-
// the `context` property can be used to store any data about the accessory you may need
|
|
453
|
-
accessory.context.device = device;
|
|
454
|
-
// create the accessory handler for the newly create accessory
|
|
455
|
-
// this is imported from `platformAccessory.ts`
|
|
456
|
-
this.accessoryObjects.push(this.createAccessoryObject(device, accessory));
|
|
457
|
-
// link the accessory to your platform
|
|
458
|
-
this.api.registerPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [accessory]);
|
|
458
|
+
this.log.info('Registering new TV accessory: ' + device.label);
|
|
459
|
+
this.log.info(`To use ${device.label} in Apple Home: open Home app → + → Add Accessory → More options → ` +
|
|
460
|
+
'select the TV from nearby accessories → enter your bridge PIN ' +
|
|
461
|
+
'(or child-bridge PIN if the plugin runs in a child bridge).');
|
|
459
462
|
}
|
|
463
|
+
const accessory = new this.api.platformAccessory(device.label, device.deviceId);
|
|
464
|
+
accessory.context.device = device;
|
|
465
|
+
this.accessoryObjects.push(this.createAccessoryObject(device, accessory));
|
|
466
|
+
externalAccessories.push(accessory);
|
|
467
|
+
return;
|
|
468
|
+
}
|
|
469
|
+
if (existingAccessory) {
|
|
470
|
+
this.log.info('Restoring existing accessory from cache:', existingAccessory.displayName);
|
|
471
|
+
this.accessoryObjects.push(this.createAccessoryObject(device, existingAccessory));
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
this.log.info('Registering new accessory: ' + device.label);
|
|
475
|
+
const accessory = new this.api.platformAccessory(device.label, device.deviceId);
|
|
476
|
+
accessory.context.device = device;
|
|
477
|
+
this.accessoryObjects.push(this.createAccessoryObject(device, accessory));
|
|
478
|
+
this.api.registerPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [accessory]);
|
|
460
479
|
}
|
|
461
480
|
});
|
|
481
|
+
if (externalAccessories.length > 0) {
|
|
482
|
+
this.log.info(`Publishing ${externalAccessories.length} TV accessor${externalAccessories.length === 1 ? 'y' : 'ies'} as external`);
|
|
483
|
+
this.api.publishExternalAccessories(settings_1.PLUGIN_NAME, externalAccessories);
|
|
484
|
+
}
|
|
462
485
|
}
|
|
463
486
|
findSupportedCapability(device) {
|
|
464
487
|
// Look at capabilities on main component
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 SecuritySystemService extends BaseService {
|
|
7
|
+
private targetState;
|
|
8
|
+
private supportsArmNight;
|
|
9
|
+
private lastSettledCurrentState;
|
|
10
|
+
private alarmActive;
|
|
11
|
+
constructor(platform: IKHomeBridgeHomebridgePlatform, accessory: PlatformAccessory, componentId: string, capabilities: string[], multiServiceAccessory: MultiServiceAccessory, name: string, deviceStatus: any);
|
|
12
|
+
private deriveValidTargetValues;
|
|
13
|
+
getTargetState(): Promise<CharacteristicValue>;
|
|
14
|
+
setTargetState(value: CharacteristicValue): Promise<void>;
|
|
15
|
+
getCurrentState(): Promise<CharacteristicValue>;
|
|
16
|
+
getAlarmType(): Promise<CharacteristicValue>;
|
|
17
|
+
processEvent(event: ShortEvent): void;
|
|
18
|
+
private pushAlarmStateUpdate;
|
|
19
|
+
private refreshAlarmFlagsFromStatus;
|
|
20
|
+
private anyAlarmActive;
|
|
21
|
+
private mapArmState;
|
|
22
|
+
private resolveCurrentState;
|
|
23
|
+
private mapCurrentToTarget;
|
|
24
|
+
private mapTargetToCurrent;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=securitySystemService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"securitySystemService.d.ts","sourceRoot":"","sources":["../../src/services/securitySystemService.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;AAG5D,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IAKjC,OAAO,CAAC,uBAAuB,CAAS;IAIxC,OAAO,CAAC,WAAW,CAIjB;gBAEU,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;IAyD5B,OAAO,CAAC,uBAAuB;IA4BzB,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI9C,cAAc,CAAC,KAAK,EAAE,mBAAmB;IAmDzC,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA6B/C,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK3C,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAiD5C,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,kBAAkB;CAe3B"}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecuritySystemService = void 0;
|
|
4
|
+
const baseService_1 = require("./baseService");
|
|
5
|
+
const smartThingsCommand_1 = require("./smartThingsCommand");
|
|
6
|
+
class SecuritySystemService extends baseService_1.BaseService {
|
|
7
|
+
constructor(platform, accessory, componentId, capabilities, multiServiceAccessory, name, deviceStatus) {
|
|
8
|
+
super(platform, accessory, componentId, capabilities, multiServiceAccessory, name, deviceStatus);
|
|
9
|
+
this.supportsArmNight = false;
|
|
10
|
+
// Track each alarm source independently so AlarmType only clears
|
|
11
|
+
// when ALL active sources have cleared.
|
|
12
|
+
this.alarmActive = {
|
|
13
|
+
siren: false,
|
|
14
|
+
panic: false,
|
|
15
|
+
tempAlarm: false,
|
|
16
|
+
};
|
|
17
|
+
this.setServiceType(platform.Service.SecuritySystem);
|
|
18
|
+
this.log.debug(`Adding SecuritySystemService to ${this.name}`);
|
|
19
|
+
this.targetState = platform.Characteristic.SecuritySystemTargetState.DISARM;
|
|
20
|
+
this.lastSettledCurrentState = platform.Characteristic.SecuritySystemCurrentState.DISARMED;
|
|
21
|
+
// Constrain valid target states based on supportedSecuritySystemCommands.
|
|
22
|
+
// Devices that don't expose the array fall back to a conservative subset
|
|
23
|
+
// (no NIGHT_ARM) — better UX than silently mapping NIGHT_ARM to STAY.
|
|
24
|
+
const validTargets = this.deriveValidTargetValues();
|
|
25
|
+
this.supportsArmNight = validTargets.includes(platform.Characteristic.SecuritySystemTargetState.NIGHT_ARM);
|
|
26
|
+
this.log.debug(`${this.name} supported target states: ${validTargets.join(',')}`);
|
|
27
|
+
this.service.getCharacteristic(platform.Characteristic.SecuritySystemTargetState)
|
|
28
|
+
.setProps({ validValues: validTargets });
|
|
29
|
+
this.service.getCharacteristic(platform.Characteristic.SecuritySystemCurrentState)
|
|
30
|
+
.onGet(this.getCurrentState.bind(this));
|
|
31
|
+
this.service.getCharacteristic(platform.Characteristic.SecuritySystemTargetState)
|
|
32
|
+
.onGet(this.getTargetState.bind(this))
|
|
33
|
+
.onSet(this.setTargetState.bind(this));
|
|
34
|
+
const hasAlarmCapability = capabilities.includes('alarm') ||
|
|
35
|
+
capabilities.includes('panicAlarm') ||
|
|
36
|
+
capabilities.includes('temperatureAlarm');
|
|
37
|
+
if (hasAlarmCapability) {
|
|
38
|
+
this.service.getCharacteristic(platform.Characteristic.SecuritySystemAlarmType)
|
|
39
|
+
.onGet(this.getAlarmType.bind(this));
|
|
40
|
+
}
|
|
41
|
+
// Seed targetState from current state so HomeKit shows the right mode
|
|
42
|
+
// immediately after pairing rather than defaulting to DISARM.
|
|
43
|
+
this.getCurrentState().then(currentState => {
|
|
44
|
+
this.targetState = this.mapCurrentToTarget(currentState);
|
|
45
|
+
}).catch(() => {
|
|
46
|
+
this.log.debug(`Failed to seed initial target state for ${this.name}`);
|
|
47
|
+
});
|
|
48
|
+
let pollSec = 15;
|
|
49
|
+
if (this.platform.config.PollSecuritySystemsSeconds !== undefined) {
|
|
50
|
+
pollSec = this.platform.config.PollSecuritySystemsSeconds;
|
|
51
|
+
}
|
|
52
|
+
if (pollSec > 0) {
|
|
53
|
+
multiServiceAccessory.startPollingState(pollSec, this.getCurrentState.bind(this), this.service, platform.Characteristic.SecuritySystemCurrentState, platform.Characteristic.SecuritySystemTargetState, this.getTargetState.bind(this));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Build the validValues array for SecuritySystemTargetState. Reads
|
|
57
|
+
// securitySystem.supportedSecuritySystemCommands from cached device status if
|
|
58
|
+
// present; otherwise defaults to [STAY_ARM, AWAY_ARM, DISARM] (no night).
|
|
59
|
+
deriveValidTargetValues() {
|
|
60
|
+
var _a, _b, _c, _d;
|
|
61
|
+
const C = this.platform.Characteristic.SecuritySystemTargetState;
|
|
62
|
+
const supported = (_d = (_c = (_b = (_a = this.deviceStatus) === null || _a === void 0 ? void 0 : _a.status) === null || _b === void 0 ? void 0 : _b.securitySystem) === null || _c === void 0 ? void 0 : _c.supportedSecuritySystemCommands) === null || _d === void 0 ? void 0 : _d.value;
|
|
63
|
+
if (Array.isArray(supported) && supported.length > 0) {
|
|
64
|
+
const values = [];
|
|
65
|
+
if (supported.includes('armStay')) {
|
|
66
|
+
values.push(C.STAY_ARM);
|
|
67
|
+
}
|
|
68
|
+
if (supported.includes('armAway')) {
|
|
69
|
+
values.push(C.AWAY_ARM);
|
|
70
|
+
}
|
|
71
|
+
if (supported.includes('armNight')) {
|
|
72
|
+
values.push(C.NIGHT_ARM);
|
|
73
|
+
}
|
|
74
|
+
if (supported.includes('disarm')) {
|
|
75
|
+
values.push(C.DISARM);
|
|
76
|
+
}
|
|
77
|
+
// Always allow DISARM even if a misbehaving driver omits it
|
|
78
|
+
if (!values.includes(C.DISARM)) {
|
|
79
|
+
values.push(C.DISARM);
|
|
80
|
+
}
|
|
81
|
+
return values;
|
|
82
|
+
}
|
|
83
|
+
return [C.STAY_ARM, C.AWAY_ARM, C.DISARM];
|
|
84
|
+
}
|
|
85
|
+
async getTargetState() {
|
|
86
|
+
return this.targetState;
|
|
87
|
+
}
|
|
88
|
+
async setTargetState(value) {
|
|
89
|
+
this.log.debug(`Received setTargetState(${value}) event for ${this.name}`);
|
|
90
|
+
this.targetState = value;
|
|
91
|
+
if (!this.multiServiceAccessory.isOnline()) {
|
|
92
|
+
this.log.error(`${this.name} is offline`);
|
|
93
|
+
throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
94
|
+
}
|
|
95
|
+
const C = this.platform.Characteristic.SecuritySystemTargetState;
|
|
96
|
+
let cmd;
|
|
97
|
+
switch (value) {
|
|
98
|
+
case C.STAY_ARM:
|
|
99
|
+
cmd = new smartThingsCommand_1.Command('securitySystem', 'armStay', [false]);
|
|
100
|
+
break;
|
|
101
|
+
case C.AWAY_ARM:
|
|
102
|
+
cmd = new smartThingsCommand_1.Command('securitySystem', 'armAway', [false]);
|
|
103
|
+
break;
|
|
104
|
+
case C.NIGHT_ARM:
|
|
105
|
+
if (this.supportsArmNight) {
|
|
106
|
+
cmd = new smartThingsCommand_1.Command('securitySystem', 'armNight', [false]);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.log.warn(`${this.name} does not support armNight; falling back to armStay`);
|
|
110
|
+
cmd = new smartThingsCommand_1.Command('securitySystem', 'armStay', [false]);
|
|
111
|
+
}
|
|
112
|
+
break;
|
|
113
|
+
case C.DISARM:
|
|
114
|
+
default:
|
|
115
|
+
cmd = new smartThingsCommand_1.Command('securitySystem', 'disarm');
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
// Optimistically push CurrentState so HomeKit doesn't sit on the
|
|
119
|
+
// intermediate 'arming'/'disarming' value reported by the panel.
|
|
120
|
+
// Webhook/poll will correct if SmartThings rejects the command.
|
|
121
|
+
this.service.updateCharacteristic(this.platform.Characteristic.SecuritySystemCurrentState, this.mapTargetToCurrent(this.targetState));
|
|
122
|
+
this.multiServiceAccessory.sendCommands([cmd]).then(success => {
|
|
123
|
+
if (success) {
|
|
124
|
+
this.log.debug(`setTargetState(${value}) SUCCESSFUL for ${this.name}`);
|
|
125
|
+
this.multiServiceAccessory.forceNextStatusRefresh();
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
this.log.error(`Command failed for ${this.name}`);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
async getCurrentState() {
|
|
133
|
+
this.log.debug(`Received getCurrentState() event for ${this.name}`);
|
|
134
|
+
return new Promise((resolve, reject) => {
|
|
135
|
+
this.getStatus().then(success => {
|
|
136
|
+
var _a, _b, _c, _d;
|
|
137
|
+
if (!success) {
|
|
138
|
+
reject(new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */));
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const armState = (_d = (_c = (_b = (_a = this.deviceStatus) === null || _a === void 0 ? void 0 : _a.status) === null || _b === void 0 ? void 0 : _b.securitySystem) === null || _c === void 0 ? void 0 : _c.securitySystemStatus) === null || _d === void 0 ? void 0 : _d.value;
|
|
142
|
+
this.log.debug(`securitySystemStatus value from ${this.name}: ${armState}`);
|
|
143
|
+
// Refresh per-source alarm flags from cached status so the override
|
|
144
|
+
// logic below doesn't depend on having seen a webhook event yet.
|
|
145
|
+
this.refreshAlarmFlagsFromStatus();
|
|
146
|
+
if (this.anyAlarmActive()) {
|
|
147
|
+
resolve(this.platform.Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED);
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
resolve(this.resolveCurrentState(armState));
|
|
151
|
+
}).catch(error => {
|
|
152
|
+
this.log.debug(`getCurrentState failed for ${this.name}: ${error}`);
|
|
153
|
+
reject(new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */));
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
async getAlarmType() {
|
|
158
|
+
this.refreshAlarmFlagsFromStatus();
|
|
159
|
+
return this.anyAlarmActive() ? 1 : 0;
|
|
160
|
+
}
|
|
161
|
+
processEvent(event) {
|
|
162
|
+
this.log.debug(`Updating ${event.capability}/${event.attribute} for ${this.name} from event to ${event.value}`);
|
|
163
|
+
switch (event.capability) {
|
|
164
|
+
case 'securitySystem':
|
|
165
|
+
if (event.attribute === 'securitySystemStatus') {
|
|
166
|
+
const settled = this.mapArmState(event.value);
|
|
167
|
+
if (settled === null) {
|
|
168
|
+
// Intermediate state ('arming'/'disarming') — keep showing the
|
|
169
|
+
// optimistic value pushed by setTargetState until the panel settles.
|
|
170
|
+
this.log.debug(`Ignoring intermediate securitySystemStatus '${event.value}' for ${this.name}`);
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
this.lastSettledCurrentState = settled;
|
|
174
|
+
const current = this.anyAlarmActive()
|
|
175
|
+
? this.platform.Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED
|
|
176
|
+
: settled;
|
|
177
|
+
this.service.updateCharacteristic(this.platform.Characteristic.SecuritySystemCurrentState, current);
|
|
178
|
+
this.targetState = this.mapCurrentToTarget(settled);
|
|
179
|
+
this.service.updateCharacteristic(this.platform.Characteristic.SecuritySystemTargetState, this.targetState);
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
case 'alarm':
|
|
183
|
+
if (event.attribute === 'alarm') {
|
|
184
|
+
this.alarmActive.siren = event.value === 'siren' || event.value === 'both';
|
|
185
|
+
this.pushAlarmStateUpdate();
|
|
186
|
+
}
|
|
187
|
+
break;
|
|
188
|
+
case 'panicAlarm':
|
|
189
|
+
if (event.attribute === 'panicAlarm') {
|
|
190
|
+
this.alarmActive.panic = event.value === 'panic';
|
|
191
|
+
this.pushAlarmStateUpdate();
|
|
192
|
+
}
|
|
193
|
+
break;
|
|
194
|
+
case 'temperatureAlarm':
|
|
195
|
+
if (event.attribute === 'temperatureAlarm') {
|
|
196
|
+
this.alarmActive.tempAlarm = event.value === 'heat' || event.value === 'freeze';
|
|
197
|
+
this.pushAlarmStateUpdate();
|
|
198
|
+
}
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
// Push a CurrentState/AlarmType update reflecting the current alarmActive flags
|
|
203
|
+
// plus the most recent armed/disarmed status from cached device status.
|
|
204
|
+
pushAlarmStateUpdate() {
|
|
205
|
+
var _a, _b, _c, _d;
|
|
206
|
+
if (this.anyAlarmActive()) {
|
|
207
|
+
this.service.updateCharacteristic(this.platform.Characteristic.SecuritySystemCurrentState, this.platform.Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED);
|
|
208
|
+
this.service.updateCharacteristic(this.platform.Characteristic.SecuritySystemAlarmType, 1);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
const armState = (_d = (_c = (_b = (_a = this.deviceStatus) === null || _a === void 0 ? void 0 : _a.status) === null || _b === void 0 ? void 0 : _b.securitySystem) === null || _c === void 0 ? void 0 : _c.securitySystemStatus) === null || _d === void 0 ? void 0 : _d.value;
|
|
212
|
+
this.service.updateCharacteristic(this.platform.Characteristic.SecuritySystemCurrentState, this.resolveCurrentState(armState));
|
|
213
|
+
this.service.updateCharacteristic(this.platform.Characteristic.SecuritySystemAlarmType, 0);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
refreshAlarmFlagsFromStatus() {
|
|
217
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
218
|
+
const status = (_a = this.deviceStatus) === null || _a === void 0 ? void 0 : _a.status;
|
|
219
|
+
if (!status) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
if (this.capabilities.includes('alarm')) {
|
|
223
|
+
const v = (_c = (_b = status.alarm) === null || _b === void 0 ? void 0 : _b.alarm) === null || _c === void 0 ? void 0 : _c.value;
|
|
224
|
+
this.alarmActive.siren = v === 'siren' || v === 'both';
|
|
225
|
+
}
|
|
226
|
+
if (this.capabilities.includes('panicAlarm')) {
|
|
227
|
+
this.alarmActive.panic = ((_e = (_d = status.panicAlarm) === null || _d === void 0 ? void 0 : _d.panicAlarm) === null || _e === void 0 ? void 0 : _e.value) === 'panic';
|
|
228
|
+
}
|
|
229
|
+
if (this.capabilities.includes('temperatureAlarm')) {
|
|
230
|
+
const v = (_g = (_f = status.temperatureAlarm) === null || _f === void 0 ? void 0 : _f.temperatureAlarm) === null || _g === void 0 ? void 0 : _g.value;
|
|
231
|
+
this.alarmActive.tempAlarm = v === 'heat' || v === 'freeze';
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
anyAlarmActive() {
|
|
235
|
+
return this.alarmActive.siren || this.alarmActive.panic || this.alarmActive.tempAlarm;
|
|
236
|
+
}
|
|
237
|
+
// Returns null for intermediate ('arming'/'disarming') or unknown values
|
|
238
|
+
// so callers can preserve the last settled state instead of flickering.
|
|
239
|
+
mapArmState(armState) {
|
|
240
|
+
const C = this.platform.Characteristic.SecuritySystemCurrentState;
|
|
241
|
+
switch (armState) {
|
|
242
|
+
case 'armedStay':
|
|
243
|
+
return C.STAY_ARM;
|
|
244
|
+
case 'armedAway':
|
|
245
|
+
return C.AWAY_ARM;
|
|
246
|
+
case 'armedNight':
|
|
247
|
+
return C.NIGHT_ARM;
|
|
248
|
+
case 'disarmed':
|
|
249
|
+
return C.DISARMED;
|
|
250
|
+
default:
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// Resolve the SmartThings arm state to a concrete CurrentState value,
|
|
255
|
+
// updating lastSettledCurrentState when a settled value is observed.
|
|
256
|
+
resolveCurrentState(armState) {
|
|
257
|
+
const mapped = this.mapArmState(armState);
|
|
258
|
+
if (mapped !== null) {
|
|
259
|
+
this.lastSettledCurrentState = mapped;
|
|
260
|
+
return mapped;
|
|
261
|
+
}
|
|
262
|
+
return this.lastSettledCurrentState;
|
|
263
|
+
}
|
|
264
|
+
mapCurrentToTarget(currentState) {
|
|
265
|
+
const Curr = this.platform.Characteristic.SecuritySystemCurrentState;
|
|
266
|
+
const Tgt = this.platform.Characteristic.SecuritySystemTargetState;
|
|
267
|
+
switch (currentState) {
|
|
268
|
+
case Curr.STAY_ARM:
|
|
269
|
+
return Tgt.STAY_ARM;
|
|
270
|
+
case Curr.AWAY_ARM:
|
|
271
|
+
return Tgt.AWAY_ARM;
|
|
272
|
+
case Curr.NIGHT_ARM:
|
|
273
|
+
return Tgt.NIGHT_ARM;
|
|
274
|
+
case Curr.ALARM_TRIGGERED:
|
|
275
|
+
case Curr.DISARMED:
|
|
276
|
+
default:
|
|
277
|
+
return Tgt.DISARM;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
mapTargetToCurrent(targetState) {
|
|
281
|
+
const Curr = this.platform.Characteristic.SecuritySystemCurrentState;
|
|
282
|
+
const Tgt = this.platform.Characteristic.SecuritySystemTargetState;
|
|
283
|
+
switch (targetState) {
|
|
284
|
+
case Tgt.STAY_ARM:
|
|
285
|
+
return Curr.STAY_ARM;
|
|
286
|
+
case Tgt.AWAY_ARM:
|
|
287
|
+
return Curr.AWAY_ARM;
|
|
288
|
+
case Tgt.NIGHT_ARM:
|
|
289
|
+
return Curr.NIGHT_ARM;
|
|
290
|
+
case Tgt.DISARM:
|
|
291
|
+
default:
|
|
292
|
+
return Curr.DISARMED;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
exports.SecuritySystemService = SecuritySystemService;
|
|
297
|
+
//# sourceMappingURL=securitySystemService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"securitySystemService.js","sourceRoot":"","sources":["../../src/services/securitySystemService.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.59",
|
|
6
6
|
"description": "Connects SmartThings devices to Homebridge. Automatically discovers devices.",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"repository": {
|