@switchbot/homebridge-switchbot 0.1.2-beta.7 → 0.2.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/feature-request.yml +1 -1
- package/.github/dependabot.yml +2 -0
- package/.github/workflows/codeql-analysis.yml +71 -0
- package/CHANGELOG.md +5 -1
- package/README.md +2 -1
- package/config.schema.json +420 -471
- package/dist/devices/bots.d.ts +19 -5
- package/dist/devices/bots.d.ts.map +1 -1
- package/dist/devices/bots.js +172 -148
- package/dist/devices/bots.js.map +1 -1
- package/dist/devices/bulb.d.ts +8 -6
- package/dist/devices/bulb.d.ts.map +1 -1
- package/dist/devices/bulb.js +45 -28
- package/dist/devices/bulb.js.map +1 -1
- package/dist/devices/contact.d.ts +10 -5
- package/dist/devices/contact.d.ts.map +1 -1
- package/dist/devices/contact.js +94 -63
- package/dist/devices/contact.js.map +1 -1
- package/dist/devices/curtains.d.ts +14 -5
- package/dist/devices/curtains.d.ts.map +1 -1
- package/dist/devices/curtains.js +174 -120
- package/dist/devices/curtains.js.map +1 -1
- package/dist/devices/humidifiers.d.ts +6 -6
- package/dist/devices/humidifiers.d.ts.map +1 -1
- package/dist/devices/humidifiers.js +78 -94
- package/dist/devices/humidifiers.js.map +1 -1
- package/dist/devices/indoorcam.d.ts +43 -0
- package/dist/devices/indoorcam.d.ts.map +1 -0
- package/dist/devices/indoorcam.js +241 -0
- package/dist/devices/indoorcam.js.map +1 -0
- package/dist/devices/meters.d.ts +8 -5
- package/dist/devices/meters.d.ts.map +1 -1
- package/dist/devices/meters.js +126 -92
- package/dist/devices/meters.js.map +1 -1
- package/dist/devices/motion.d.ts +9 -5
- package/dist/devices/motion.d.ts.map +1 -1
- package/dist/devices/motion.js +74 -59
- package/dist/devices/motion.js.map +1 -1
- package/dist/devices/plugs.d.ts +5 -4
- package/dist/devices/plugs.d.ts.map +1 -1
- package/dist/devices/plugs.js +65 -56
- package/dist/devices/plugs.js.map +1 -1
- package/dist/irdevices/airconditioners.d.ts +3 -3
- package/dist/irdevices/airconditioners.d.ts.map +1 -1
- package/dist/irdevices/airconditioners.js +12 -7
- package/dist/irdevices/airconditioners.js.map +1 -1
- package/dist/irdevices/airpurifiers.d.ts +3 -3
- package/dist/irdevices/airpurifiers.d.ts.map +1 -1
- package/dist/irdevices/airpurifiers.js +1 -1
- package/dist/irdevices/airpurifiers.js.map +1 -1
- package/dist/irdevices/cameras.d.ts +3 -3
- package/dist/irdevices/cameras.d.ts.map +1 -1
- package/dist/irdevices/cameras.js +1 -1
- package/dist/irdevices/cameras.js.map +1 -1
- package/dist/irdevices/fans.d.ts +3 -3
- package/dist/irdevices/fans.d.ts.map +1 -1
- package/dist/irdevices/fans.js +11 -12
- package/dist/irdevices/fans.js.map +1 -1
- package/dist/irdevices/lights.d.ts +3 -3
- package/dist/irdevices/lights.d.ts.map +1 -1
- package/dist/irdevices/lights.js +1 -1
- package/dist/irdevices/lights.js.map +1 -1
- package/dist/irdevices/others.d.ts +3 -3
- package/dist/irdevices/others.d.ts.map +1 -1
- package/dist/irdevices/others.js +8 -8
- package/dist/irdevices/others.js.map +1 -1
- package/dist/irdevices/tvs.d.ts +3 -3
- package/dist/irdevices/tvs.d.ts.map +1 -1
- package/dist/irdevices/tvs.js +16 -6
- package/dist/irdevices/tvs.js.map +1 -1
- package/dist/irdevices/vacuumcleaners.d.ts +3 -3
- package/dist/irdevices/vacuumcleaners.d.ts.map +1 -1
- package/dist/irdevices/vacuumcleaners.js +2 -3
- package/dist/irdevices/vacuumcleaners.js.map +1 -1
- package/dist/irdevices/waterheaters.d.ts +3 -3
- package/dist/irdevices/waterheaters.d.ts.map +1 -1
- package/dist/irdevices/waterheaters.js +2 -2
- package/dist/irdevices/waterheaters.js.map +1 -1
- package/dist/platform.d.ts +14 -5
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +420 -418
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +18 -15
- package/dist/settings.d.ts.map +1 -1
- package/package.json +65 -65
- package/src/devices/bots.ts +188 -165
- package/src/devices/bulb.ts +48 -40
- package/src/devices/contact.ts +100 -73
- package/src/devices/curtains.ts +192 -140
- package/src/devices/humidifiers.ts +82 -124
- package/src/devices/indoorcam.ts +303 -0
- package/src/devices/meters.ts +130 -110
- package/src/devices/motion.ts +80 -69
- package/src/devices/plugs.ts +67 -65
- package/src/irdevices/airconditioners.ts +14 -10
- package/src/irdevices/airpurifiers.ts +4 -4
- package/src/irdevices/cameras.ts +4 -4
- package/src/irdevices/fans.ts +14 -18
- package/src/irdevices/lights.ts +4 -4
- package/src/irdevices/others.ts +12 -14
- package/src/irdevices/tvs.ts +21 -10
- package/src/irdevices/vacuumcleaners.ts +5 -9
- package/src/irdevices/waterheaters.ts +5 -5
- package/src/platform.ts +455 -619
- package/src/settings.ts +19 -15
- package/.github/workflows/issue-validate.yml +0 -18
package/dist/devices/motion.js
CHANGED
|
@@ -17,16 +17,14 @@ class Motion {
|
|
|
17
17
|
// default placeholders
|
|
18
18
|
this.MotionDetected = false;
|
|
19
19
|
// BLE Connection
|
|
20
|
-
if (
|
|
20
|
+
if (device.ble) {
|
|
21
21
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
22
22
|
const SwitchBot = require('node-switchbot');
|
|
23
23
|
this.switchbot = new SwitchBot();
|
|
24
24
|
const colon = device.deviceId.match(/.{1,2}/g);
|
|
25
25
|
const bleMac = colon.join(':'); //returns 1A:23:B4:56:78:9A;
|
|
26
26
|
this.device.bleMac = bleMac.toLowerCase();
|
|
27
|
-
|
|
28
|
-
this.platform.log.warn(this.device.bleMac.toLowerCase());
|
|
29
|
-
}
|
|
27
|
+
this.platform.device(this.device.bleMac.toLowerCase());
|
|
30
28
|
}
|
|
31
29
|
// this is subject we use to track when we need to POST changes to the SwitchBot API
|
|
32
30
|
this.doMotionUpdate = new rxjs_1.Subject();
|
|
@@ -37,13 +35,13 @@ class Motion {
|
|
|
37
35
|
accessory
|
|
38
36
|
.getService(this.platform.Service.AccessoryInformation)
|
|
39
37
|
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'SwitchBot')
|
|
40
|
-
.setCharacteristic(this.platform.Characteristic.Model, 'SWITCHBOT-
|
|
38
|
+
.setCharacteristic(this.platform.Characteristic.Model, 'SWITCHBOT-WOMOTION-W1101500')
|
|
41
39
|
.setCharacteristic(this.platform.Characteristic.SerialNumber, device.deviceId);
|
|
42
40
|
// get the Battery service if it exists, otherwise create a new Motion service
|
|
43
41
|
// you can create multiple services for each accessory
|
|
44
42
|
(this.service =
|
|
45
43
|
accessory.getService(this.platform.Service.MotionSensor) ||
|
|
46
|
-
accessory.addService(this.platform.Service.MotionSensor)), `${
|
|
44
|
+
accessory.addService(this.platform.Service.MotionSensor)), `${accessory.displayName} Motion Sensor`;
|
|
47
45
|
// To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
|
|
48
46
|
// when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
|
|
49
47
|
// accessory.getService('NAME') ?? accessory.addService(this.platform.Service.Motion, 'NAME', 'USER_DEFINED_SUBTYPE');
|
|
@@ -66,84 +64,97 @@ class Motion {
|
|
|
66
64
|
/**
|
|
67
65
|
* Parse the device status from the SwitchBot api
|
|
68
66
|
*/
|
|
69
|
-
parseStatus() {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this.
|
|
67
|
+
async parseStatus() {
|
|
68
|
+
if (this.device.ble) {
|
|
69
|
+
this.platform.device('BLE');
|
|
70
|
+
await this.BLEparseStatus();
|
|
73
71
|
}
|
|
74
72
|
else {
|
|
75
|
-
this.
|
|
73
|
+
this.platform.device('OpenAPI');
|
|
74
|
+
await this.openAPIparseStatus();
|
|
76
75
|
}
|
|
77
76
|
}
|
|
77
|
+
async BLEparseStatus() {
|
|
78
|
+
this.MotionDetected = Boolean(this.BLEmotion);
|
|
79
|
+
this.platform.debug(`${this.accessory.displayName}, MotionDetected: ${this.MotionDetected}`);
|
|
80
|
+
}
|
|
81
|
+
async openAPIparseStatus() {
|
|
82
|
+
this.MotionDetected = Boolean(this.deviceStatus.body.moveDetected);
|
|
83
|
+
this.platform.debug(`${this.accessory.displayName}, MotionDetected: ${this.MotionDetected}`);
|
|
84
|
+
}
|
|
78
85
|
/**
|
|
79
86
|
* Asks the SwitchBot API for the latest device information
|
|
80
87
|
*/
|
|
81
88
|
async refreshStatus() {
|
|
82
|
-
if (this.
|
|
83
|
-
this.platform.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
89
|
+
if (this.device.ble) {
|
|
90
|
+
this.platform.device('BLE');
|
|
91
|
+
await this.BLErefreshStatus();
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.platform.device('OpenAPI');
|
|
95
|
+
await this.openAPIRefreshStatus();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async BLErefreshStatus() {
|
|
99
|
+
this.platform.debug('Motion BLE Device RefreshStatus');
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
101
|
+
const Switchbot = require('node-switchbot');
|
|
102
|
+
const switchbot = new Switchbot();
|
|
103
|
+
const colon = this.device.deviceId.match(/.{1,2}/g);
|
|
104
|
+
const bleMac = colon.join(':'); //returns 1A:23:B4:56:78:9A;
|
|
105
|
+
this.device.bleMac = bleMac.toLowerCase();
|
|
106
|
+
this.platform.device(this.device.bleMac);
|
|
107
|
+
switchbot.onadvertisement = (ad) => {
|
|
108
|
+
this.platform.debug(JSON.stringify(ad, null, ' '));
|
|
109
|
+
this.platform.device('ad:', JSON.stringify(ad));
|
|
110
|
+
this.BLEmotion = ad.serviceData.motion;
|
|
111
|
+
};
|
|
112
|
+
switchbot
|
|
113
|
+
.startScan({
|
|
114
|
+
id: this.device.bleMac,
|
|
115
|
+
})
|
|
116
|
+
.then(() => {
|
|
117
|
+
return switchbot.wait(this.platform.config.options.refreshRate * 1000);
|
|
118
|
+
})
|
|
119
|
+
.then(() => {
|
|
120
|
+
switchbot.stopScan();
|
|
121
|
+
})
|
|
122
|
+
.catch(async (error) => {
|
|
123
|
+
this.platform.log.error(error);
|
|
124
|
+
await this.openAPIRefreshStatus();
|
|
125
|
+
});
|
|
126
|
+
setInterval(() => {
|
|
127
|
+
this.platform.log.info('Start scan ' + this.device.deviceName + '(' + this.device.bleMac + ')');
|
|
97
128
|
switchbot
|
|
98
129
|
.startScan({
|
|
99
|
-
|
|
130
|
+
mode: 'S',
|
|
131
|
+
id: bleMac,
|
|
100
132
|
})
|
|
101
133
|
.then(() => {
|
|
102
134
|
return switchbot.wait(this.platform.config.options.refreshRate * 1000);
|
|
103
135
|
})
|
|
104
136
|
.then(() => {
|
|
105
137
|
switchbot.stopScan();
|
|
138
|
+
this.platform.log.info('Stop scan ' + this.device.deviceName + '(' + this.device.bleMac + ')');
|
|
106
139
|
})
|
|
107
140
|
.catch(async (error) => {
|
|
108
141
|
this.platform.log.error(error);
|
|
109
142
|
await this.openAPIRefreshStatus();
|
|
110
143
|
});
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
.startScan({
|
|
115
|
-
mode: 'M',
|
|
116
|
-
id: bleMac,
|
|
117
|
-
})
|
|
118
|
-
.then(() => {
|
|
119
|
-
return switchbot.wait(this.platform.config.options.refreshRate * 1000);
|
|
120
|
-
})
|
|
121
|
-
.then(() => {
|
|
122
|
-
switchbot.stopScan();
|
|
123
|
-
this.platform.log.info('Stop scan ' + this.device.deviceName + '(' + this.device.bleMac + ')');
|
|
124
|
-
})
|
|
125
|
-
.catch(async (error) => {
|
|
126
|
-
this.platform.log.error(error);
|
|
127
|
-
await this.openAPIRefreshStatus();
|
|
128
|
-
});
|
|
129
|
-
}, this.platform.config.options.refreshRate * 60000);
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
await this.openAPIRefreshStatus();
|
|
133
|
-
}
|
|
144
|
+
this.parseStatus();
|
|
145
|
+
this.updateHomeKitCharacteristics();
|
|
146
|
+
}, this.platform.config.options.refreshRate * 60000);
|
|
134
147
|
}
|
|
135
148
|
async openAPIRefreshStatus() {
|
|
136
149
|
try {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
this.parseStatus();
|
|
142
|
-
this.updateHomeKitCharacteristics();
|
|
143
|
-
}
|
|
150
|
+
this.deviceStatus = (await this.platform.axios.get(`${settings_1.DeviceURL}/${this.device.deviceId}/status`)).data;
|
|
151
|
+
this.platform.debug(`Motion ${this.accessory.displayName} refreshStatus: ${JSON.stringify(this.deviceStatus)}`);
|
|
152
|
+
this.parseStatus();
|
|
153
|
+
this.updateHomeKitCharacteristics();
|
|
144
154
|
}
|
|
145
155
|
catch (e) {
|
|
146
|
-
this.platform.log.error(
|
|
156
|
+
this.platform.log.error(`Motion ${this.accessory.displayName} failed to refresh status, Error Message: ${JSON.stringify(e.message)}`);
|
|
157
|
+
this.platform.debug(`Motion ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
|
|
147
158
|
this.apiError(e);
|
|
148
159
|
}
|
|
149
160
|
}
|
|
@@ -151,8 +162,12 @@ class Motion {
|
|
|
151
162
|
* Updates the status for each of the HomeKit Characteristics
|
|
152
163
|
*/
|
|
153
164
|
updateHomeKitCharacteristics() {
|
|
154
|
-
if (this.MotionDetected
|
|
165
|
+
if (this.MotionDetected === undefined) {
|
|
166
|
+
this.platform.debug(`Motion ${this.accessory.displayName} MotionDetected: ${this.MotionDetected}`);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
155
169
|
this.service.updateCharacteristic(this.platform.Characteristic.MotionDetected, this.MotionDetected);
|
|
170
|
+
this.platform.device(`Motion ${this.accessory.displayName} updateCharacteristic MotionDetected: ${this.MotionDetected}`);
|
|
156
171
|
}
|
|
157
172
|
}
|
|
158
173
|
apiError(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion.js","sourceRoot":"","sources":["../../src/devices/motion.ts"],"names":[],"mappings":";;;AAEA,+BAAyC;AACzC,8CAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"motion.js","sourceRoot":"","sources":["../../src/devices/motion.ts"],"names":[],"mappings":"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"}
|
package/dist/devices/plugs.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { PlatformAccessory, CharacteristicValue, MacAddress } from 'homebridge';
|
|
2
2
|
import { SwitchBotPlatform } from '../platform';
|
|
3
|
-
import { device,
|
|
3
|
+
import { device, devicesConfig } from '../settings';
|
|
4
4
|
export declare class Plug {
|
|
5
5
|
private readonly platform;
|
|
6
6
|
private accessory;
|
|
7
|
-
device: device;
|
|
7
|
+
device: device & devicesConfig;
|
|
8
8
|
private service;
|
|
9
9
|
On: CharacteristicValue;
|
|
10
10
|
OutletInUse: CharacteristicValue;
|
|
11
|
-
deviceStatus:
|
|
11
|
+
deviceStatus: any;
|
|
12
12
|
switchbot: {
|
|
13
13
|
discover: (arg0: {
|
|
14
14
|
duration: any;
|
|
@@ -20,9 +20,10 @@ export declare class Plug {
|
|
|
20
20
|
};
|
|
21
21
|
plugUpdateInProgress: boolean;
|
|
22
22
|
doPlugUpdate: any;
|
|
23
|
-
constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device);
|
|
23
|
+
constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device & devicesConfig);
|
|
24
24
|
parseStatus(): void;
|
|
25
25
|
refreshStatus(): Promise<void>;
|
|
26
|
+
private BLErefreshStatus;
|
|
26
27
|
private openAPIRefreshStatus;
|
|
27
28
|
/**
|
|
28
29
|
* Pushes the requested changes to the SwitchBot API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugs.d.ts","sourceRoot":"","sources":["../../src/devices/plugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAa,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"plugs.d.ts","sourceRoot":"","sources":["../../src/devices/plugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAa,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,qBAAa,IAAI;IA8Bb,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,MAAM,GAAG,aAAa;IA9BvC,OAAO,CAAC,OAAO,CAAU;IAGzB,EAAE,EAAG,mBAAmB,CAAC;IACzB,WAAW,EAAG,mBAAmB,CAAC;IAGlC,YAAY,EAAG,GAAG,CAAC;IACnB,SAAS,EAAG;QACV,QAAQ,EAAE,CACR,IAAI,EACF;YACE,QAAQ,EAAE,GAAG,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,OAAO,CAAC;YACf,EAAE,EAAE,UAAU,CAAC;SAChB,KACA,OAAO,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,KACT,GAAG,CAAC;KACV,CAAC;IAGF,oBAAoB,EAAG,OAAO,CAAC;IAC/B,YAAY,MAAC;gBAGM,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,GAAG,aAAa;IAoFvC,WAAW;IAWL,aAAa;YAUL,gBAAgB;YAkDhB,oBAAoB;IAclC;;;;;KAKC;IACK,WAAW;IA8BjB,4BAA4B;IAerB,QAAQ,CAAC,CAAC,EAAE,GAAG;IAMtB,OAAO,CAAC,UAAU;IA8BlB;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,mBAAmB;CAQjC"}
|
package/dist/devices/plugs.js
CHANGED
|
@@ -13,16 +13,14 @@ class Plug {
|
|
|
13
13
|
this.On = false;
|
|
14
14
|
this.OutletInUse = true;
|
|
15
15
|
// BLE Connections
|
|
16
|
-
if (
|
|
16
|
+
if (device.ble) {
|
|
17
17
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
18
18
|
const SwitchBot = require('node-switchbot');
|
|
19
19
|
this.switchbot = new SwitchBot();
|
|
20
20
|
const colon = device.deviceId.match(/.{1,2}/g);
|
|
21
21
|
const bleMac = colon.join(':'); //returns 1A:23:B4:56:78:9A;
|
|
22
22
|
this.device.bleMac = bleMac.toLowerCase();
|
|
23
|
-
|
|
24
|
-
this.platform.log.warn(this.device.bleMac.toLowerCase());
|
|
25
|
-
}
|
|
23
|
+
this.platform.device(this.device.bleMac.toLowerCase());
|
|
26
24
|
}
|
|
27
25
|
// this is subject we use to track when we need to POST changes to the SwitchBot API
|
|
28
26
|
this.doPlugUpdate = new rxjs_1.Subject();
|
|
@@ -88,72 +86,75 @@ class Plug {
|
|
|
88
86
|
this.platform.debug(`Plug ${this.accessory.displayName} On: ${this.On}`);
|
|
89
87
|
}
|
|
90
88
|
async refreshStatus() {
|
|
91
|
-
if (this.
|
|
92
|
-
this.platform.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
89
|
+
if (this.device.ble) {
|
|
90
|
+
this.platform.device('BLE');
|
|
91
|
+
await this.BLErefreshStatus();
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.platform.device('OpenAPI');
|
|
95
|
+
await this.openAPIRefreshStatus();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async BLErefreshStatus() {
|
|
99
|
+
this.platform.debug('Plug BLE Device RefreshStatus');
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
101
|
+
const Switchbot = require('node-switchbot');
|
|
102
|
+
const switchbot = new Switchbot();
|
|
103
|
+
const colon = this.device.deviceId.match(/.{1,2}/g);
|
|
104
|
+
const bleMac = colon.join(':'); //returns 1A:23:B4:56:78:9A;
|
|
105
|
+
this.device.bleMac = bleMac.toLowerCase();
|
|
106
|
+
this.platform.device(this.device.bleMac);
|
|
107
|
+
switchbot.onadvertisement = (ad) => {
|
|
108
|
+
this.platform.debug(JSON.stringify(ad, null, ' '));
|
|
109
|
+
this.platform.device('ad:', JSON.stringify(ad));
|
|
110
|
+
};
|
|
111
|
+
this.parseStatus();
|
|
112
|
+
this.updateHomeKitCharacteristics();
|
|
113
|
+
switchbot
|
|
114
|
+
.startScan({
|
|
115
|
+
id: this.device.bleMac,
|
|
116
|
+
})
|
|
117
|
+
.then(() => {
|
|
118
|
+
return switchbot.wait(this.platform.config.options.refreshRate * 1000);
|
|
119
|
+
})
|
|
120
|
+
.then(() => {
|
|
121
|
+
switchbot.stopScan();
|
|
122
|
+
})
|
|
123
|
+
.catch(async (error) => {
|
|
124
|
+
this.platform.log.error(error);
|
|
125
|
+
await this.openAPIRefreshStatus();
|
|
126
|
+
});
|
|
127
|
+
setInterval(() => {
|
|
128
|
+
this.platform.log.info('Start scan ' + this.device.deviceName + '(' + this.device.bleMac + ')');
|
|
106
129
|
switchbot
|
|
107
130
|
.startScan({
|
|
108
|
-
|
|
131
|
+
mode: 'T',
|
|
132
|
+
id: bleMac,
|
|
109
133
|
})
|
|
110
134
|
.then(() => {
|
|
111
135
|
return switchbot.wait(this.platform.config.options.refreshRate * 1000);
|
|
112
136
|
})
|
|
113
137
|
.then(() => {
|
|
114
138
|
switchbot.stopScan();
|
|
139
|
+
this.platform.log.info('Stop scan ' + this.device.deviceName + '(' + this.device.bleMac + ')');
|
|
115
140
|
})
|
|
116
141
|
.catch(async (error) => {
|
|
117
142
|
this.platform.log.error(error);
|
|
118
143
|
await this.openAPIRefreshStatus();
|
|
119
144
|
});
|
|
120
|
-
|
|
121
|
-
this.platform.log.info('Start scan ' + this.device.deviceName + '(' + this.device.bleMac + ')');
|
|
122
|
-
switchbot
|
|
123
|
-
.startScan({
|
|
124
|
-
mode: 'T',
|
|
125
|
-
id: bleMac,
|
|
126
|
-
})
|
|
127
|
-
.then(() => {
|
|
128
|
-
return switchbot.wait(this.platform.config.options.refreshRate * 1000);
|
|
129
|
-
})
|
|
130
|
-
.then(() => {
|
|
131
|
-
switchbot.stopScan();
|
|
132
|
-
this.platform.log.info('Stop scan ' + this.device.deviceName + '(' + this.device.bleMac + ')');
|
|
133
|
-
})
|
|
134
|
-
.catch(async (error) => {
|
|
135
|
-
this.platform.log.error(error);
|
|
136
|
-
await this.openAPIRefreshStatus();
|
|
137
|
-
});
|
|
138
|
-
}, this.platform.config.options.refreshRate * 60000);
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
await this.openAPIRefreshStatus();
|
|
142
|
-
}
|
|
145
|
+
}, this.platform.config.options.refreshRate * 60000);
|
|
143
146
|
}
|
|
144
147
|
async openAPIRefreshStatus() {
|
|
145
148
|
try {
|
|
146
149
|
this.platform.debug('Plug - Reading', `${settings_1.DeviceURL}/${this.device.deviceId}/status`);
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
this.parseStatus();
|
|
152
|
-
this.updateHomeKitCharacteristics();
|
|
153
|
-
}
|
|
150
|
+
this.deviceStatus = (await this.platform.axios.get(`${settings_1.DeviceURL}/${this.device.deviceId}/status`)).data;
|
|
151
|
+
this.platform.device(`Plug ${this.accessory.displayName} refreshStatus: ${JSON.stringify(this.deviceStatus)}`);
|
|
152
|
+
this.parseStatus();
|
|
153
|
+
this.updateHomeKitCharacteristics();
|
|
154
154
|
}
|
|
155
155
|
catch (e) {
|
|
156
|
-
this.platform.log.error(`Plug
|
|
156
|
+
this.platform.log.error(`Plug ${this.accessory.displayName} failed to refresh status, Error Message: ${JSON.stringify(e.message)}`);
|
|
157
|
+
this.platform.debug(`Plug ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
|
|
157
158
|
this.apiError(e);
|
|
158
159
|
}
|
|
159
160
|
}
|
|
@@ -175,18 +176,26 @@ class Plug {
|
|
|
175
176
|
payload.command = 'turnOff';
|
|
176
177
|
}
|
|
177
178
|
this.platform.log.info('Sending request for', this.accessory.displayName, 'to SwitchBot API. command:', payload.command, 'parameter:', payload.parameter, 'commandType:', payload.commandType);
|
|
178
|
-
this.platform.debug(`Plug ${this.accessory.displayName}
|
|
179
|
+
this.platform.debug(`Plug ${this.accessory.displayName} pushchanges: ${JSON.stringify(payload)}`);
|
|
179
180
|
// Make the API request
|
|
180
|
-
const push = await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload);
|
|
181
|
-
this.platform.debug(`Plug ${this.accessory.displayName} Changes pushed
|
|
181
|
+
const push = (await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload));
|
|
182
|
+
this.platform.debug(`Plug ${this.accessory.displayName} Changes pushed: ${JSON.stringify(push.data)}`);
|
|
182
183
|
this.statusCode(push);
|
|
183
184
|
}
|
|
184
185
|
updateHomeKitCharacteristics() {
|
|
185
|
-
if (this.On
|
|
186
|
+
if (this.On === undefined) {
|
|
187
|
+
this.platform.debug(`Plug ${this.accessory.displayName} On: ${this.On}`);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
186
190
|
this.service.updateCharacteristic(this.platform.Characteristic.On, this.On);
|
|
191
|
+
this.platform.device(`Plug ${this.accessory.displayName} updateCharacteristic On: ${this.On}`);
|
|
187
192
|
}
|
|
188
|
-
if (this.OutletInUse
|
|
193
|
+
if (this.OutletInUse === undefined) {
|
|
194
|
+
this.platform.debug(`Plug ${this.accessory.displayName} OutletInUse: ${this.OutletInUse}`);
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
189
197
|
this.service.updateCharacteristic(this.platform.Characteristic.OutletInUse, this.OutletInUse);
|
|
198
|
+
this.platform.device(`Plug ${this.accessory.displayName} updateCharacteristic OutletInUse: ${this.OutletInUse}`);
|
|
190
199
|
}
|
|
191
200
|
}
|
|
192
201
|
apiError(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugs.js","sourceRoot":"","sources":["../../src/devices/plugs.ts"],"names":[],"mappings":";;;AAEA,+BAAyC;AACzC,8CAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"plugs.js","sourceRoot":"","sources":["../../src/devices/plugs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service } from 'homebridge';
|
|
2
2
|
import { SwitchBotPlatform } from '../platform';
|
|
3
|
-
import { irdevice } from '../settings';
|
|
3
|
+
import { devicesConfig, irdevice } from '../settings';
|
|
4
4
|
/**
|
|
5
5
|
* Platform Accessory
|
|
6
6
|
* An instance of this class is created for each accessory your platform registers
|
|
@@ -9,7 +9,7 @@ import { irdevice } from '../settings';
|
|
|
9
9
|
export declare class AirConditioner {
|
|
10
10
|
private readonly platform;
|
|
11
11
|
private accessory;
|
|
12
|
-
device: irdevice;
|
|
12
|
+
device: irdevice & devicesConfig;
|
|
13
13
|
service: Service;
|
|
14
14
|
Active: CharacteristicValue;
|
|
15
15
|
RotationSpeed: CharacteristicValue;
|
|
@@ -28,7 +28,7 @@ export declare class AirConditioner {
|
|
|
28
28
|
static MODE_COOL: number;
|
|
29
29
|
static MODE_HEAT: number;
|
|
30
30
|
ValidValues: number[];
|
|
31
|
-
constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: irdevice);
|
|
31
|
+
constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: irdevice & devicesConfig);
|
|
32
32
|
private RotationSpeedSet;
|
|
33
33
|
private RotationSpeedGet;
|
|
34
34
|
private ActiveSet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airconditioners.d.ts","sourceRoot":"","sources":["../../src/irdevices/airconditioners.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAa,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"airconditioners.d.ts","sourceRoot":"","sources":["../../src/irdevices/airconditioners.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAa,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;GAIG;AACH,qBAAa,cAAc;IAsBvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,QAAQ,GAAG,aAAa;IAvBzC,OAAO,EAAG,OAAO,CAAC;IAElB,MAAM,EAAG,mBAAmB,CAAC;IAC7B,aAAa,EAAG,mBAAmB,CAAC;IACpC,wBAAwB,EAAG,mBAAmB,CAAC;IAC/C,kBAAkB,EAAG,mBAAmB,CAAC;IACzC,aAAa,EAAG,mBAAmB,CAAC;IACpC,aAAa,EAAG,mBAAmB,CAAC;IACpC,iBAAiB,EAAG,mBAAmB,CAAC;IACxC,QAAQ,EAAG,mBAAmB,CAAC;IAC/B,eAAe,EAAG,MAAM,CAAC;IACzB,WAAW,EAAG,MAAM,CAAC;IACrB,eAAe,EAAG,MAAM,CAAC;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,GAAG,CAAQ;IACpB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;gBAGH,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC7B,MAAM,EAAE,QAAQ,GAAG,aAAa;IA0FzC,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,8BAA8B;IAKtC,OAAO,CAAC,8BAA8B;IAMtC;;;;;;;;OAQG;IACG,2BAA2B;IAW3B,4BAA4B;IAW5B,+BAA+B;IAc/B,gCAAgC;IAmCzB,WAAW,CAAC,OAAO,EAAE,GAAG;IAuBrC,OAAO,CAAC,UAAU;IA4BX,QAAQ,CAAC,CAAC,EAAE,GAAG;CAQvB"}
|
|
@@ -23,7 +23,7 @@ class AirConditioner {
|
|
|
23
23
|
// you can create multiple services for each accessory
|
|
24
24
|
(this.service =
|
|
25
25
|
accessory.getService(this.platform.Service.HeaterCooler) ||
|
|
26
|
-
accessory.addService(this.platform.Service.HeaterCooler)), `${
|
|
26
|
+
accessory.addService(this.platform.Service.HeaterCooler)), `${accessory.displayName} Air Conditioner`;
|
|
27
27
|
// To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
|
|
28
28
|
// when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
|
|
29
29
|
// accessory.getService('NAME') ?? accessory.addService(this.platform.Service.Outlet, 'NAME', 'USER_DEFINED_SUBTYPE');
|
|
@@ -40,9 +40,9 @@ class AirConditioner {
|
|
|
40
40
|
minStep: 0.01,
|
|
41
41
|
})
|
|
42
42
|
.onGet((value) => {
|
|
43
|
-
return this.CurrentTemperatureGet(value);
|
|
43
|
+
return this.CurrentTemperatureGet(Number(value));
|
|
44
44
|
});
|
|
45
|
-
if (
|
|
45
|
+
if (device.irair?.hide_automode) {
|
|
46
46
|
this.ValidValues = [1, 2];
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
@@ -126,10 +126,15 @@ class AirConditioner {
|
|
|
126
126
|
}
|
|
127
127
|
CurrentTemperatureGet(value) {
|
|
128
128
|
this.platform.debug('Trigger Get CurrentTemperture');
|
|
129
|
-
this.
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
if (Number.isNaN(this.CurrentTemperature)) {
|
|
130
|
+
this.CurrentTemperature = 24;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
this.service
|
|
134
|
+
.getCharacteristic(this.platform.Characteristic.CurrentTemperature)
|
|
135
|
+
.updateValue(Number(this.CurrentTemperature) || 24);
|
|
136
|
+
}
|
|
137
|
+
return (this.CurrentTemperature === Number(value));
|
|
133
138
|
}
|
|
134
139
|
TargetHeaterCoolerStateSet(value) {
|
|
135
140
|
switch (value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airconditioners.js","sourceRoot":"","sources":["../../src/irdevices/airconditioners.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"airconditioners.js","sourceRoot":"","sources":["../../src/irdevices/airconditioners.ts"],"names":[],"mappings":"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"}
|