@switchbot/homebridge-switchbot 1.10.2-beta.5 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -3
- package/config.schema.json +49 -0
- package/dist/device/bot.d.ts +43 -40
- package/dist/device/bot.d.ts.map +1 -1
- package/dist/device/bot.js +29 -26
- package/dist/device/bot.js.map +1 -1
- package/dist/device/colorbulb.d.ts +25 -21
- package/dist/device/colorbulb.d.ts.map +1 -1
- package/dist/device/colorbulb.js +176 -145
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.d.ts +15 -15
- package/dist/device/contact.d.ts.map +1 -1
- package/dist/device/contact.js +14 -13
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.d.ts +25 -22
- package/dist/device/curtain.d.ts.map +1 -1
- package/dist/device/curtain.js +50 -37
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/humidifier.d.ts +23 -20
- package/dist/device/humidifier.d.ts.map +1 -1
- package/dist/device/humidifier.js +41 -41
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/lock.d.ts +16 -13
- package/dist/device/lock.d.ts.map +1 -1
- package/dist/device/lock.js +20 -22
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.d.ts +15 -15
- package/dist/device/meter.d.ts.map +1 -1
- package/dist/device/meter.js +11 -14
- package/dist/device/meter.js.map +1 -1
- package/dist/device/motion.d.ts +16 -16
- package/dist/device/motion.d.ts.map +1 -1
- package/dist/device/motion.js +16 -17
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.d.ts +10 -7
- package/dist/device/plug.d.ts.map +1 -1
- package/dist/device/plug.js +22 -21
- package/dist/device/plug.js.map +1 -1
- package/dist/settings.d.ts +4 -1
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js.map +1 -1
- package/package.json +76 -76
- package/src/device/bot.ts +53 -50
- package/src/device/colorbulb.ts +208 -162
- package/src/device/contact.ts +31 -30
- package/src/device/curtain.ts +68 -57
- package/src/device/humidifier.ts +68 -59
- package/src/device/lock.ts +28 -31
- package/src/device/meter.ts +25 -31
- package/src/device/motion.ts +32 -36
- package/src/device/plug.ts +25 -25
- package/src/settings.ts +5 -1
|
@@ -26,9 +26,6 @@ class Humidifier {
|
|
|
26
26
|
this.RelativeHumidityHumidifierThreshold = 0;
|
|
27
27
|
this.CurrentTemperature = 0;
|
|
28
28
|
this.WaterLevel = 0;
|
|
29
|
-
// Humidifiers Config
|
|
30
|
-
this.debugLog(`Humidifier: ${this.accessory.displayName} Config: (ble: ${device.ble}, offline: ${device.offline}, hide_temperature: ` +
|
|
31
|
-
`${device.humidifier?.hide_temperature}, set_minStep: ${device.humidifier?.set_minStep})`);
|
|
32
29
|
// this is subject we use to track when we need to POST changes to the SwitchBot API
|
|
33
30
|
this.doHumidifierUpdate = new rxjs_1.Subject();
|
|
34
31
|
this.humidifierUpdateInProgress = false;
|
|
@@ -38,11 +35,11 @@ class Humidifier {
|
|
|
38
35
|
accessory
|
|
39
36
|
.getService(this.platform.Service.AccessoryInformation)
|
|
40
37
|
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'SwitchBot')
|
|
41
|
-
.setCharacteristic(this.platform.Characteristic.Model, '
|
|
38
|
+
.setCharacteristic(this.platform.Characteristic.Model, 'W0801800')
|
|
42
39
|
.setCharacteristic(this.platform.Characteristic.SerialNumber, device.deviceId);
|
|
43
40
|
// get the LightBulb service if it exists, otherwise create a new LightBulb service
|
|
44
41
|
// you can create multiple services for each accessory
|
|
45
|
-
(this.
|
|
42
|
+
(this.humidifierService =
|
|
46
43
|
accessory.getService(this.platform.Service.HumidifierDehumidifier) || accessory.addService(this.platform.Service.HumidifierDehumidifier)),
|
|
47
44
|
`${accessory.displayName} Humidifier`;
|
|
48
45
|
// To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
|
|
@@ -50,12 +47,12 @@ class Humidifier {
|
|
|
50
47
|
// accessory.getService('NAME') ?? accessory.addService(this.platform.Service.Lightbulb, 'NAME', 'USER_DEFINED_SUBTYPE');
|
|
51
48
|
// set the service name, this is what is displayed as the default name on the Home app
|
|
52
49
|
// in this example we are using the name we stored in the `accessory.context` in the `discoverDevices` method.
|
|
53
|
-
this.
|
|
50
|
+
this.humidifierService.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
|
|
54
51
|
// each service must implement at-minimum the "required characteristics" for the given service type
|
|
55
52
|
// see https://developers.homebridge.io/#/service/HumidifierDehumidifier
|
|
56
53
|
// create handlers for required characteristics
|
|
57
|
-
this.
|
|
58
|
-
this.
|
|
54
|
+
this.humidifierService.setCharacteristic(this.platform.Characteristic.CurrentHumidifierDehumidifierState, this.CurrentHumidifierDehumidifierState);
|
|
55
|
+
this.humidifierService
|
|
59
56
|
.getCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState)
|
|
60
57
|
.setProps({
|
|
61
58
|
validValueRanges: [0, 1],
|
|
@@ -64,8 +61,8 @@ class Humidifier {
|
|
|
64
61
|
validValues: [0, 1],
|
|
65
62
|
})
|
|
66
63
|
.onSet(this.handleTargetHumidifierDehumidifierStateSet.bind(this));
|
|
67
|
-
this.
|
|
68
|
-
this.
|
|
64
|
+
this.humidifierService.getCharacteristic(this.platform.Characteristic.Active).onSet(this.handleActiveSet.bind(this));
|
|
65
|
+
this.humidifierService
|
|
69
66
|
.getCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold)
|
|
70
67
|
.setProps({
|
|
71
68
|
validValueRanges: [0, 100],
|
|
@@ -136,15 +133,15 @@ class Humidifier {
|
|
|
136
133
|
/**
|
|
137
134
|
* Parse the device status from the SwitchBot api
|
|
138
135
|
*/
|
|
139
|
-
parseStatus() {
|
|
136
|
+
async parseStatus() {
|
|
140
137
|
if (this.device.ble) {
|
|
141
|
-
this.BLEparseStatus();
|
|
138
|
+
await this.BLEparseStatus();
|
|
142
139
|
}
|
|
143
140
|
else {
|
|
144
|
-
this.openAPIparseStatus();
|
|
141
|
+
await this.openAPIparseStatus();
|
|
145
142
|
}
|
|
146
143
|
}
|
|
147
|
-
BLEparseStatus() {
|
|
144
|
+
async BLEparseStatus() {
|
|
148
145
|
this.debugLog(`Humidifier: ${this.accessory.displayName} BLE parseStatus`);
|
|
149
146
|
// Current Relative Humidity
|
|
150
147
|
this.CurrentRelativeHumidity = this.percentage;
|
|
@@ -158,7 +155,7 @@ class Humidifier {
|
|
|
158
155
|
}
|
|
159
156
|
this.debugLog(`Humidifier: ${this.accessory.displayName} Active: ${this.Active}`);
|
|
160
157
|
}
|
|
161
|
-
openAPIparseStatus() {
|
|
158
|
+
async openAPIparseStatus() {
|
|
162
159
|
if (this.platform.config.credentials?.openToken) {
|
|
163
160
|
this.debugLog(`Humidifier: ${this.accessory.displayName} OpenAPI parseStatus`);
|
|
164
161
|
// Current Relative Humidity
|
|
@@ -347,8 +344,8 @@ class Humidifier {
|
|
|
347
344
|
(0, rxjs_1.interval)(5000)
|
|
348
345
|
.pipe((0, operators_1.skipWhile)(() => this.humidifierUpdateInProgress))
|
|
349
346
|
.pipe((0, operators_1.take)(1))
|
|
350
|
-
.subscribe(() => {
|
|
351
|
-
this.refreshStatus();
|
|
347
|
+
.subscribe(async () => {
|
|
348
|
+
await this.refreshStatus();
|
|
352
349
|
});
|
|
353
350
|
}
|
|
354
351
|
async BLEpushChanges() {
|
|
@@ -501,12 +498,12 @@ class Humidifier {
|
|
|
501
498
|
/**
|
|
502
499
|
* Updates the status for each of the HomeKit Characteristics
|
|
503
500
|
*/
|
|
504
|
-
updateHomeKitCharacteristics() {
|
|
501
|
+
async updateHomeKitCharacteristics() {
|
|
505
502
|
if (this.CurrentRelativeHumidity === undefined) {
|
|
506
503
|
this.debugLog(`Humidifier: ${this.accessory.displayName} CurrentRelativeHumidity: ${this.CurrentRelativeHumidity}`);
|
|
507
504
|
}
|
|
508
505
|
else {
|
|
509
|
-
this.
|
|
506
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity, this.CurrentRelativeHumidity);
|
|
510
507
|
this.debugLog(`Humidifier: ${this.accessory.displayName}` + ` updateCharacteristic CurrentRelativeHumidity: ${this.CurrentRelativeHumidity}`);
|
|
511
508
|
}
|
|
512
509
|
if (!this.device.ble) {
|
|
@@ -514,7 +511,7 @@ class Humidifier {
|
|
|
514
511
|
this.debugLog(`Humidifier: ${this.accessory.displayName} WaterLevel: ${this.WaterLevel}`);
|
|
515
512
|
}
|
|
516
513
|
else {
|
|
517
|
-
this.
|
|
514
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.WaterLevel, this.WaterLevel);
|
|
518
515
|
this.debugLog(`Humidifier: ${this.accessory.displayName} updateCharacteristic WaterLevel: ${this.WaterLevel}`);
|
|
519
516
|
}
|
|
520
517
|
}
|
|
@@ -522,7 +519,7 @@ class Humidifier {
|
|
|
522
519
|
this.debugLog(`Humidifier: ${this.accessory.displayName} CurrentHumidifierDehumidifierState: ${this.CurrentHumidifierDehumidifierState}`);
|
|
523
520
|
}
|
|
524
521
|
else {
|
|
525
|
-
this.
|
|
522
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.CurrentHumidifierDehumidifierState, this.CurrentHumidifierDehumidifierState);
|
|
526
523
|
this.debugLog(`Humidifier: ${this.accessory.displayName}` +
|
|
527
524
|
` updateCharacteristic CurrentHumidifierDehumidifierState: ${this.CurrentHumidifierDehumidifierState}`);
|
|
528
525
|
}
|
|
@@ -530,7 +527,7 @@ class Humidifier {
|
|
|
530
527
|
this.debugLog(`Humidifier: ${this.accessory.displayName} TargetHumidifierDehumidifierState: ${this.TargetHumidifierDehumidifierState}`);
|
|
531
528
|
}
|
|
532
529
|
else {
|
|
533
|
-
this.
|
|
530
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, this.TargetHumidifierDehumidifierState);
|
|
534
531
|
this.debugLog(`Humidifier: ${this.accessory.displayName}` +
|
|
535
532
|
` updateCharacteristic TargetHumidifierDehumidifierState: ${this.TargetHumidifierDehumidifierState}`);
|
|
536
533
|
}
|
|
@@ -538,14 +535,14 @@ class Humidifier {
|
|
|
538
535
|
this.debugLog(`Humidifier: ${this.accessory.displayName} Active: ${this.Active}`);
|
|
539
536
|
}
|
|
540
537
|
else {
|
|
541
|
-
this.
|
|
538
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.Active, this.Active);
|
|
542
539
|
this.debugLog(`Humidifier: ${this.accessory.displayName} updateCharacteristic Active: ${this.Active}`);
|
|
543
540
|
}
|
|
544
541
|
if (this.RelativeHumidityHumidifierThreshold === undefined) {
|
|
545
542
|
this.debugLog(`Humidifier: ${this.accessory.displayName}` + ` RelativeHumidityHumidifierThreshold: ${this.RelativeHumidityHumidifierThreshold}`);
|
|
546
543
|
}
|
|
547
544
|
else {
|
|
548
|
-
this.
|
|
545
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold, this.RelativeHumidityHumidifierThreshold);
|
|
549
546
|
this.debugLog(`Humidifier: ${this.accessory.displayName}` +
|
|
550
547
|
` updateCharacteristic RelativeHumidityHumidifierThreshold: ${this.RelativeHumidityHumidifierThreshold}`);
|
|
551
548
|
}
|
|
@@ -559,21 +556,21 @@ class Humidifier {
|
|
|
559
556
|
}
|
|
560
557
|
}
|
|
561
558
|
}
|
|
562
|
-
apiError(e) {
|
|
563
|
-
this.
|
|
559
|
+
async apiError(e) {
|
|
560
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity, e);
|
|
564
561
|
if (!this.device.ble) {
|
|
565
|
-
this.
|
|
562
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.WaterLevel, e);
|
|
566
563
|
}
|
|
567
|
-
this.
|
|
568
|
-
this.
|
|
569
|
-
this.
|
|
570
|
-
this.
|
|
564
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.CurrentHumidifierDehumidifierState, e);
|
|
565
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, e);
|
|
566
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.Active, e);
|
|
567
|
+
this.humidifierService.updateCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold, e);
|
|
571
568
|
if (!this.device.humidifier?.hide_temperature && !this.device.ble) {
|
|
572
569
|
this.temperatureservice?.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, e);
|
|
573
570
|
}
|
|
574
571
|
//throw new this.platform.api.hap.HapStatusError(HAPStatus.SERVICE_COMMUNICATION_FAILURE);
|
|
575
572
|
}
|
|
576
|
-
statusCode(push) {
|
|
573
|
+
async statusCode(push) {
|
|
577
574
|
switch (push.data.statusCode) {
|
|
578
575
|
case 151:
|
|
579
576
|
this.errorLog(`Humidifier: ${this.accessory.displayName} Command not supported by this device type.`);
|
|
@@ -603,16 +600,16 @@ class Humidifier {
|
|
|
603
600
|
this.debugLog(`Humidifier: ${this.accessory.displayName} Unknown statusCode.`);
|
|
604
601
|
}
|
|
605
602
|
}
|
|
606
|
-
offlineOff() {
|
|
603
|
+
async offlineOff() {
|
|
607
604
|
if (this.device.offline) {
|
|
608
605
|
this.Active = this.platform.Characteristic.Active.INACTIVE;
|
|
609
|
-
this.
|
|
606
|
+
this.humidifierService.getCharacteristic(this.platform.Characteristic.Active).updateValue(this.Active);
|
|
610
607
|
}
|
|
611
608
|
}
|
|
612
609
|
/**
|
|
613
610
|
* Handle requests to set the "Target Humidifier Dehumidifier State" characteristic
|
|
614
611
|
*/
|
|
615
|
-
handleTargetHumidifierDehumidifierStateSet(value) {
|
|
612
|
+
async handleTargetHumidifierDehumidifierStateSet(value) {
|
|
616
613
|
this.debugLog(`Humidifier: ${this.accessory.displayName} TargetHumidifierDehumidifierState: ${value}`);
|
|
617
614
|
this.TargetHumidifierDehumidifierState = value;
|
|
618
615
|
this.doHumidifierUpdate.next();
|
|
@@ -620,7 +617,7 @@ class Humidifier {
|
|
|
620
617
|
/**
|
|
621
618
|
* Handle requests to set the "Active" characteristic
|
|
622
619
|
*/
|
|
623
|
-
handleActiveSet(value) {
|
|
620
|
+
async handleActiveSet(value) {
|
|
624
621
|
this.debugLog(`Humidifier: ${this.accessory.displayName} Active: ${value}`);
|
|
625
622
|
this.Active = value;
|
|
626
623
|
this.doHumidifierUpdate.next();
|
|
@@ -628,7 +625,7 @@ class Humidifier {
|
|
|
628
625
|
/**
|
|
629
626
|
* Handle requests to set the "Relative Humidity Humidifier Threshold" characteristic
|
|
630
627
|
*/
|
|
631
|
-
handleRelativeHumidityHumidifierThresholdSet(value) {
|
|
628
|
+
async handleRelativeHumidityHumidifierThresholdSet(value) {
|
|
632
629
|
this.debugLog(`Humidifier: ${this.accessory.displayName} RelativeHumidityHumidifierThreshold: ${value}`);
|
|
633
630
|
this.RelativeHumidityHumidifierThreshold = value;
|
|
634
631
|
if (this.Active === this.platform.Characteristic.Active.INACTIVE) {
|
|
@@ -637,7 +634,7 @@ class Humidifier {
|
|
|
637
634
|
}
|
|
638
635
|
this.doHumidifierUpdate.next();
|
|
639
636
|
}
|
|
640
|
-
config(device) {
|
|
637
|
+
async config(device) {
|
|
641
638
|
let config = {};
|
|
642
639
|
if (device.humidifier) {
|
|
643
640
|
config = device.humidifier;
|
|
@@ -654,11 +651,14 @@ class Humidifier {
|
|
|
654
651
|
if (device.scanDuration !== undefined) {
|
|
655
652
|
config['scanDuration'] = device.scanDuration;
|
|
656
653
|
}
|
|
654
|
+
if (device.offline !== undefined) {
|
|
655
|
+
config['offline'] = device.offline;
|
|
656
|
+
}
|
|
657
657
|
if (Object.entries(config).length !== 0) {
|
|
658
658
|
this.warnLog(`Humidifier: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
|
|
659
659
|
}
|
|
660
660
|
}
|
|
661
|
-
refreshRate(device) {
|
|
661
|
+
async refreshRate(device) {
|
|
662
662
|
if (device.refreshRate) {
|
|
663
663
|
this.deviceRefreshRate = this.accessory.context.refreshRate = device.refreshRate;
|
|
664
664
|
this.debugLog(`Humidifier: ${this.accessory.displayName} Using Device Config refreshRate: ${this.deviceRefreshRate}`);
|
|
@@ -668,7 +668,7 @@ class Humidifier {
|
|
|
668
668
|
this.debugLog(`Humidifier: ${this.accessory.displayName} Using Platform Config refreshRate: ${this.deviceRefreshRate}`);
|
|
669
669
|
}
|
|
670
670
|
}
|
|
671
|
-
scan(device) {
|
|
671
|
+
async scan(device) {
|
|
672
672
|
if (device.scanDuration) {
|
|
673
673
|
this.scanDuration = this.accessory.context.scanDuration = device.scanDuration;
|
|
674
674
|
if (device.ble) {
|
|
@@ -682,7 +682,7 @@ class Humidifier {
|
|
|
682
682
|
}
|
|
683
683
|
}
|
|
684
684
|
}
|
|
685
|
-
logs(device) {
|
|
685
|
+
async logs(device) {
|
|
686
686
|
if (this.platform.debugMode) {
|
|
687
687
|
this.deviceLogging = this.accessory.context.logging = 'debugMode';
|
|
688
688
|
this.debugLog(`Humidifier: ${this.accessory.displayName} Using Debug Mode Logging: ${this.deviceLogging}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"humidifier.js","sourceRoot":"","sources":["../../src/device/humidifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"humidifier.js","sourceRoot":"","sources":["../../src/device/humidifier.ts"],"names":[],"mappings":"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"}
|
package/dist/device/lock.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
1
2
|
import { Subject } from 'rxjs';
|
|
2
3
|
import { SwitchBotPlatform } from '../platform';
|
|
3
|
-
import { PlatformAccessory, CharacteristicValue } from 'homebridge';
|
|
4
|
+
import { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
|
|
4
5
|
import { device, devicesConfig, deviceStatusResponse, deviceStatus } from '../settings';
|
|
5
6
|
export declare class Lock {
|
|
6
7
|
private readonly platform;
|
|
7
8
|
private accessory;
|
|
8
9
|
device: device & devicesConfig;
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
lockService: Service;
|
|
11
|
+
contactSensorService?: Service;
|
|
11
12
|
LockCurrentState: CharacteristicValue;
|
|
12
13
|
LockTargetState: CharacteristicValue;
|
|
13
14
|
LockTargetStateCached: CharacteristicValue;
|
|
@@ -20,8 +21,8 @@ export declare class Lock {
|
|
|
20
21
|
lockUpdateInProgress: boolean;
|
|
21
22
|
doLockUpdate: Subject<void>;
|
|
22
23
|
constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device & devicesConfig);
|
|
23
|
-
parseStatus(): void
|
|
24
|
-
|
|
24
|
+
parseStatus(): Promise<void>;
|
|
25
|
+
refreshStatus(): Promise<void>;
|
|
25
26
|
/**
|
|
26
27
|
* Pushes the requested changes to the SwitchBot API
|
|
27
28
|
* deviceType commandType Command command parameter Description
|
|
@@ -29,17 +30,19 @@ export declare class Lock {
|
|
|
29
30
|
* Lock - "command" "????" "????" = set to ???? state - LockCurrentState
|
|
30
31
|
*/
|
|
31
32
|
pushChanges(): Promise<void>;
|
|
32
|
-
updateHomeKitCharacteristics(): void
|
|
33
|
-
apiError(e: any): void
|
|
34
|
-
|
|
33
|
+
updateHomeKitCharacteristics(): Promise<void>;
|
|
34
|
+
apiError(e: any): Promise<void>;
|
|
35
|
+
statusCode(push: AxiosResponse<{
|
|
36
|
+
statusCode: number;
|
|
37
|
+
}>): Promise<void>;
|
|
35
38
|
/**
|
|
36
39
|
* Handle requests to set the value of the "On" characteristic
|
|
37
40
|
*/
|
|
38
|
-
LockTargetStateSet(value: CharacteristicValue): void
|
|
39
|
-
config(device: device & devicesConfig): void
|
|
40
|
-
refreshRate(device: device & devicesConfig): void
|
|
41
|
-
scan(device: device & devicesConfig): void
|
|
42
|
-
logs(device: device & devicesConfig): void
|
|
41
|
+
LockTargetStateSet(value: CharacteristicValue): Promise<void>;
|
|
42
|
+
config(device: device & devicesConfig): Promise<void>;
|
|
43
|
+
refreshRate(device: device & devicesConfig): Promise<void>;
|
|
44
|
+
scan(device: device & devicesConfig): Promise<void>;
|
|
45
|
+
logs(device: device & devicesConfig): Promise<void>;
|
|
43
46
|
/**
|
|
44
47
|
* Logging for Device
|
|
45
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/device/lock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/device/lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAY,OAAO,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAa,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAW,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5G,qBAAa,IAAI;IAwBH,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAqB,OAAO,CAAC,SAAS;IAA4B,MAAM,EAAE,MAAM,GAAG,aAAa;IAtBrI,WAAW,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAG/B,gBAAgB,EAAG,mBAAmB,CAAC;IACvC,eAAe,EAAG,mBAAmB,CAAC;IACtC,qBAAqB,EAAG,mBAAmB,CAAC;IAG5C,SAAS,EAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC,SAAS,EAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC,YAAY,EAAG,oBAAoB,CAAC;IAGpC,YAAY,EAAG,MAAM,CAAC;IACtB,aAAa,EAAG,MAAM,CAAC;IACvB,iBAAiB,EAAG,MAAM,CAAC;IAG3B,oBAAoB,EAAG,OAAO,CAAC;IAC/B,YAAY,EAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEA,QAAQ,EAAE,iBAAiB,EAAU,SAAS,EAAE,iBAAiB,EAAS,MAAM,EAAE,MAAM,GAAG,aAAa;IAiF/H,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBpC;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5B,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/B,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B5E;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzD;;OAEG;IACH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM7B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAU7B,qBAAqB,IAAI,OAAO;CAGjC"}
|
package/dist/device/lock.js
CHANGED
|
@@ -20,8 +20,6 @@ class Lock {
|
|
|
20
20
|
else {
|
|
21
21
|
this.LockTargetState = this.accessory.context.On;
|
|
22
22
|
}
|
|
23
|
-
// Lock Config
|
|
24
|
-
this.debugLog(`Lock: ${this.accessory.displayName} Config: (offline: ${device.offline})`);
|
|
25
23
|
// this is subject we use to track when we need to POST changes to the SwitchBot API
|
|
26
24
|
this.doLockUpdate = new rxjs_1.Subject();
|
|
27
25
|
this.lockUpdateInProgress = false;
|
|
@@ -31,11 +29,11 @@ class Lock {
|
|
|
31
29
|
accessory
|
|
32
30
|
.getService(this.platform.Service.AccessoryInformation)
|
|
33
31
|
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'SwitchBot')
|
|
34
|
-
.setCharacteristic(this.platform.Characteristic.Model, '
|
|
32
|
+
.setCharacteristic(this.platform.Characteristic.Model, 'W1601700')
|
|
35
33
|
.setCharacteristic(this.platform.Characteristic.SerialNumber, device.deviceId);
|
|
36
|
-
// get the
|
|
34
|
+
// get the LockMechanism service if it exists, otherwise create a new LockMechanism service
|
|
37
35
|
// you can create multiple services for each accessory
|
|
38
|
-
(this.lockService = accessory.getService(this.platform.Service.
|
|
36
|
+
(this.lockService = accessory.getService(this.platform.Service.LockMechanism) || accessory.addService(this.platform.Service.LockMechanism)),
|
|
39
37
|
`${device.deviceName} ${device.deviceType}`;
|
|
40
38
|
// To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
|
|
41
39
|
// when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
|
|
@@ -44,7 +42,7 @@ class Lock {
|
|
|
44
42
|
// in this example we are using the name we stored in the `accessory.context` in the `discoverDevices` method.
|
|
45
43
|
this.lockService.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
|
|
46
44
|
// each service must implement at-minimum the "required characteristics" for the given service type
|
|
47
|
-
// see https://developers.homebridge.io/#/service/
|
|
45
|
+
// see https://developers.homebridge.io/#/service/LockMechanism
|
|
48
46
|
// create handlers for required characteristics
|
|
49
47
|
this.lockService.getCharacteristic(this.platform.Characteristic.LockCurrentState).onSet(this.LockTargetStateSet.bind(this));
|
|
50
48
|
// Update Homekit
|
|
@@ -52,8 +50,8 @@ class Lock {
|
|
|
52
50
|
// Start an update interval
|
|
53
51
|
(0, rxjs_1.interval)(this.deviceRefreshRate * 1000)
|
|
54
52
|
.pipe((0, operators_1.skipWhile)(() => this.lockUpdateInProgress))
|
|
55
|
-
.subscribe(() => {
|
|
56
|
-
this.refreshStatus();
|
|
53
|
+
.subscribe(async () => {
|
|
54
|
+
await this.refreshStatus();
|
|
57
55
|
});
|
|
58
56
|
// Watch for Lock change events
|
|
59
57
|
// We put in a debounce of 100ms so we don't make duplicate calls
|
|
@@ -78,7 +76,7 @@ class Lock {
|
|
|
78
76
|
this.lockUpdateInProgress = false;
|
|
79
77
|
});
|
|
80
78
|
}
|
|
81
|
-
parseStatus() {
|
|
79
|
+
async parseStatus() {
|
|
82
80
|
switch (this.lockState) {
|
|
83
81
|
case 'on':
|
|
84
82
|
this.LockCurrentState = this.platform.Characteristic.LockCurrentState.UNSECURED;
|
|
@@ -86,16 +84,16 @@ class Lock {
|
|
|
86
84
|
default:
|
|
87
85
|
this.LockCurrentState = this.platform.Characteristic.LockCurrentState.SECURED;
|
|
88
86
|
}
|
|
89
|
-
this.debugLog(`Lock ${this.accessory.displayName} On: ${this.LockTargetState}`);
|
|
87
|
+
this.debugLog(`Lock: ${this.accessory.displayName} On: ${this.LockTargetState}`);
|
|
90
88
|
}
|
|
91
89
|
async refreshStatus() {
|
|
92
90
|
try {
|
|
93
91
|
this.deviceStatus = (await this.platform.axios.get(`${settings_1.DeviceURL}/${this.device.deviceId}/status`)).data;
|
|
94
92
|
this.debugLog(`Lock: ${this.accessory.displayName} refreshStatus: ${JSON.stringify(this.deviceStatus)}`);
|
|
95
93
|
this.lockState = this.deviceStatus.body.lockState;
|
|
96
|
-
this.warnLog(this.lockState);
|
|
94
|
+
this.warnLog(`Lock: ${this.accessory.displayName} lockState: ${JSON.stringify(this.lockState)} (COPY THIS LOG)`);
|
|
97
95
|
this.doorState = this.deviceStatus.body.doorState;
|
|
98
|
-
this.
|
|
96
|
+
this.debugLog(`Lock: ${this.accessory.displayName} doorState: ${JSON.stringify(this.doorState)} (COPY THIS LOG)`);
|
|
99
97
|
this.parseStatus();
|
|
100
98
|
this.updateHomeKitCharacteristics();
|
|
101
99
|
}
|
|
@@ -140,11 +138,11 @@ class Lock {
|
|
|
140
138
|
(0, rxjs_1.interval)(5000)
|
|
141
139
|
.pipe((0, operators_1.skipWhile)(() => this.lockUpdateInProgress))
|
|
142
140
|
.pipe((0, operators_1.take)(1))
|
|
143
|
-
.subscribe(() => {
|
|
144
|
-
this.refreshStatus();
|
|
141
|
+
.subscribe(async () => {
|
|
142
|
+
await this.refreshStatus();
|
|
145
143
|
});
|
|
146
144
|
}
|
|
147
|
-
updateHomeKitCharacteristics() {
|
|
145
|
+
async updateHomeKitCharacteristics() {
|
|
148
146
|
if (this.LockTargetState === undefined) {
|
|
149
147
|
this.debugLog(`Lock: ${this.accessory.displayName} LockTargetState: ${this.LockTargetState}`);
|
|
150
148
|
}
|
|
@@ -160,12 +158,12 @@ class Lock {
|
|
|
160
158
|
this.debugLog(`Lock: ${this.accessory.displayName} updateCharacteristic LockTargetState: ${this.LockCurrentState}`);
|
|
161
159
|
}
|
|
162
160
|
}
|
|
163
|
-
apiError(e) {
|
|
161
|
+
async apiError(e) {
|
|
164
162
|
this.lockService.updateCharacteristic(this.platform.Characteristic.LockTargetState, e);
|
|
165
163
|
this.lockService.updateCharacteristic(this.platform.Characteristic.LockCurrentState, e);
|
|
166
164
|
//throw new this.platform.api.hap.HapStatusError(HAPStatus.SERVICE_COMMUNICATION_FAILURE);
|
|
167
165
|
}
|
|
168
|
-
statusCode(push) {
|
|
166
|
+
async statusCode(push) {
|
|
169
167
|
switch (push.data.statusCode) {
|
|
170
168
|
case 151:
|
|
171
169
|
this.errorLog(`Lock: ${this.accessory.displayName} Command not supported by this device type.`);
|
|
@@ -196,12 +194,12 @@ class Lock {
|
|
|
196
194
|
/**
|
|
197
195
|
* Handle requests to set the value of the "On" characteristic
|
|
198
196
|
*/
|
|
199
|
-
LockTargetStateSet(value) {
|
|
197
|
+
async LockTargetStateSet(value) {
|
|
200
198
|
this.debugLog(`Lock: ${this.accessory.displayName} Set LockTargetState: ${value}`);
|
|
201
199
|
this.LockTargetState = value;
|
|
202
200
|
this.doLockUpdate.next();
|
|
203
201
|
}
|
|
204
|
-
config(device) {
|
|
202
|
+
async config(device) {
|
|
205
203
|
let config = {};
|
|
206
204
|
if (device.lock) {
|
|
207
205
|
config = device.lock;
|
|
@@ -222,7 +220,7 @@ class Lock {
|
|
|
222
220
|
this.warnLog(`Lock: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
|
|
223
221
|
}
|
|
224
222
|
}
|
|
225
|
-
refreshRate(device) {
|
|
223
|
+
async refreshRate(device) {
|
|
226
224
|
if (device.refreshRate) {
|
|
227
225
|
this.deviceRefreshRate = this.accessory.context.refreshRate = device.refreshRate;
|
|
228
226
|
this.debugLog(`Lock: ${this.accessory.displayName} Using Device Config refreshRate: ${this.deviceRefreshRate}`);
|
|
@@ -232,7 +230,7 @@ class Lock {
|
|
|
232
230
|
this.debugLog(`Lock: ${this.accessory.displayName} Using Platform Config refreshRate: ${this.deviceRefreshRate}`);
|
|
233
231
|
}
|
|
234
232
|
}
|
|
235
|
-
scan(device) {
|
|
233
|
+
async scan(device) {
|
|
236
234
|
if (device.scanDuration) {
|
|
237
235
|
this.scanDuration = this.accessory.context.scanDuration = device.scanDuration;
|
|
238
236
|
if (device.ble) {
|
|
@@ -246,7 +244,7 @@ class Lock {
|
|
|
246
244
|
}
|
|
247
245
|
}
|
|
248
246
|
}
|
|
249
|
-
logs(device) {
|
|
247
|
+
async logs(device) {
|
|
250
248
|
if (this.platform.debugMode) {
|
|
251
249
|
this.deviceLogging = this.accessory.context.logging = 'debugMode';
|
|
252
250
|
this.debugLog(`Lock: ${this.accessory.displayName} Using Debug Mode Logging: ${this.deviceLogging}`);
|