@switchbot/homebridge-switchbot 3.5.0 → 3.5.1-beta.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/npm-version-script.cjs +81 -0
- package/config.schema.json +4 -4
- package/dist/device/blindtilt.d.ts.map +1 -1
- package/dist/device/blindtilt.js +64 -189
- package/dist/device/blindtilt.js.map +1 -1
- package/dist/device/bot.d.ts.map +1 -1
- package/dist/device/bot.js +34 -68
- package/dist/device/bot.js.map +1 -1
- package/dist/device/ceilinglight.d.ts +1 -1
- package/dist/device/ceilinglight.d.ts.map +1 -1
- package/dist/device/ceilinglight.js +65 -158
- package/dist/device/ceilinglight.js.map +1 -1
- package/dist/device/colorbulb.d.ts +1 -1
- package/dist/device/colorbulb.d.ts.map +1 -1
- package/dist/device/colorbulb.js +47 -159
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.d.ts.map +1 -1
- package/dist/device/contact.js +42 -105
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.d.ts +1 -0
- package/dist/device/curtain.d.ts.map +1 -1
- package/dist/device/curtain.js +61 -182
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/device.d.ts +41 -2
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +182 -5
- package/dist/device/device.js.map +1 -1
- package/dist/device/fan.d.ts.map +1 -1
- package/dist/device/fan.js +76 -145
- package/dist/device/fan.js.map +1 -1
- package/dist/device/hub.d.ts +7 -1
- package/dist/device/hub.d.ts.map +1 -1
- package/dist/device/hub.js +54 -17
- package/dist/device/hub.js.map +1 -1
- package/dist/device/humidifier.d.ts.map +1 -1
- package/dist/device/humidifier.js +55 -104
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/iosensor.d.ts.map +1 -1
- package/dist/device/iosensor.js +27 -46
- package/dist/device/iosensor.js.map +1 -1
- package/dist/device/lightstrip.d.ts +1 -1
- package/dist/device/lightstrip.d.ts.map +1 -1
- package/dist/device/lightstrip.js +56 -120
- package/dist/device/lightstrip.js.map +1 -1
- package/dist/device/lock.d.ts +1 -1
- package/dist/device/lock.d.ts.map +1 -1
- package/dist/device/lock.js +36 -66
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.d.ts.map +1 -1
- package/dist/device/meter.js +27 -46
- package/dist/device/meter.js.map +1 -1
- package/dist/device/meterplus.d.ts.map +1 -1
- package/dist/device/meterplus.js +26 -45
- package/dist/device/meterplus.js.map +1 -1
- package/dist/device/motion.d.ts.map +1 -1
- package/dist/device/motion.js +24 -43
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.d.ts.map +1 -1
- package/dist/device/plug.js +32 -66
- package/dist/device/plug.js.map +1 -1
- package/dist/device/robotvacuumcleaner.d.ts +1 -1
- package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
- package/dist/device/robotvacuumcleaner.js +43 -88
- package/dist/device/robotvacuumcleaner.js.map +1 -1
- package/dist/device/waterdetector.d.ts.map +1 -1
- package/dist/device/waterdetector.js +23 -43
- package/dist/device/waterdetector.js.map +1 -1
- package/dist/irdevice/airconditioner.d.ts.map +1 -1
- package/dist/irdevice/airconditioner.js +10 -28
- package/dist/irdevice/airconditioner.js.map +1 -1
- package/dist/irdevice/airpurifier.d.ts.map +1 -1
- package/dist/irdevice/airpurifier.js +8 -20
- package/dist/irdevice/airpurifier.js.map +1 -1
- package/dist/irdevice/camera.d.ts.map +1 -1
- package/dist/irdevice/camera.js +8 -20
- package/dist/irdevice/camera.js.map +1 -1
- package/dist/irdevice/fan.d.ts.map +1 -1
- package/dist/irdevice/fan.js +8 -20
- package/dist/irdevice/fan.js.map +1 -1
- package/dist/irdevice/irdevice.d.ts +7 -0
- package/dist/irdevice/irdevice.d.ts.map +1 -1
- package/dist/irdevice/irdevice.js +28 -0
- package/dist/irdevice/irdevice.js.map +1 -1
- package/dist/irdevice/light.d.ts.map +1 -1
- package/dist/irdevice/light.js +8 -20
- package/dist/irdevice/light.js.map +1 -1
- package/dist/irdevice/other.d.ts.map +1 -1
- package/dist/irdevice/other.js +8 -20
- package/dist/irdevice/other.js.map +1 -1
- package/dist/irdevice/tv.d.ts.map +1 -1
- package/dist/irdevice/tv.js +8 -20
- package/dist/irdevice/tv.js.map +1 -1
- package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
- package/dist/irdevice/vacuumcleaner.js +8 -20
- package/dist/irdevice/vacuumcleaner.js.map +1 -1
- package/dist/irdevice/waterheater.d.ts.map +1 -1
- package/dist/irdevice/waterheater.js +8 -20
- package/dist/irdevice/waterheater.js.map +1 -1
- package/dist/settings.d.ts +4 -2
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js.map +1 -1
- package/dist/utils.d.ts +19 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +20 -1
- package/dist/utils.js.map +1 -1
- package/package.json +8 -8
- package/src/device/blindtilt.ts +71 -186
- package/src/device/bot.ts +32 -68
- package/src/device/ceilinglight.ts +67 -153
- package/src/device/colorbulb.ts +51 -155
- package/src/device/contact.ts +49 -104
- package/src/device/curtain.ts +70 -177
- package/src/device/device.ts +207 -8
- package/src/device/fan.ts +75 -147
- package/src/device/hub.ts +55 -19
- package/src/device/humidifier.ts +52 -104
- package/src/device/iosensor.ts +25 -46
- package/src/device/lightstrip.ts +54 -121
- package/src/device/lock.ts +35 -67
- package/src/device/meter.ts +25 -46
- package/src/device/meterplus.ts +24 -45
- package/src/device/motion.ts +22 -43
- package/src/device/plug.ts +30 -66
- package/src/device/robotvacuumcleaner.ts +40 -89
- package/src/device/waterdetector.ts +22 -43
- package/src/irdevice/airconditioner.ts +10 -26
- package/src/irdevice/airpurifier.ts +8 -20
- package/src/irdevice/camera.ts +8 -20
- package/src/irdevice/fan.ts +8 -20
- package/src/irdevice/irdevice.ts +29 -0
- package/src/irdevice/light.ts +8 -20
- package/src/irdevice/other.ts +8 -20
- package/src/irdevice/tv.ts +8 -20
- package/src/irdevice/vacuumcleaner.ts +8 -20
- package/src/irdevice/waterheater.ts +8 -20
- package/src/settings.ts +4 -2
- package/src/utils.ts +20 -1
package/dist/device/hub.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { deviceBase } from './device.js';
|
|
2
|
-
import { Devices } from '../settings.js';
|
|
3
2
|
import { convertUnits } from '../utils.js';
|
|
4
3
|
import { Subject, interval, skipWhile } from 'rxjs';
|
|
5
4
|
export class Hub extends deviceBase {
|
|
@@ -115,6 +114,10 @@ export class Hub extends deviceBase {
|
|
|
115
114
|
//regisiter webhook event handler
|
|
116
115
|
this.registerWebhook(accessory, device);
|
|
117
116
|
}
|
|
117
|
+
async BLEparseStatus(serviceData) {
|
|
118
|
+
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} BLEparseStatus`);
|
|
119
|
+
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} serviceData: ${JSON.stringify(serviceData)}`);
|
|
120
|
+
}
|
|
118
121
|
async openAPIparseStatus(deviceStatus) {
|
|
119
122
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} openAPIparseStatus`);
|
|
120
123
|
// CurrentRelativeHumidity
|
|
@@ -157,41 +160,67 @@ export class Hub extends deviceBase {
|
|
|
157
160
|
this.debugSuccessLog(`${this.device.deviceType}: ${this.accessory.displayName} deviceVersion: ${this.accessory.context.deviceVersion}`);
|
|
158
161
|
}
|
|
159
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Asks the SwitchBot API for the latest device information
|
|
165
|
+
*/
|
|
160
166
|
async refreshStatus() {
|
|
161
|
-
if (this.
|
|
162
|
-
this.
|
|
167
|
+
if (!this.device.enableCloudService && this.OpenAPI) {
|
|
168
|
+
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} refreshStatus enableCloudService: ${this.device.enableCloudService}`);
|
|
169
|
+
}
|
|
170
|
+
else if (this.BLE) {
|
|
171
|
+
await this.BLERefreshStatus();
|
|
163
172
|
}
|
|
164
173
|
else if (this.OpenAPI && this.platform.config.credentials?.token) {
|
|
165
174
|
await this.openAPIRefreshStatus();
|
|
166
175
|
}
|
|
167
176
|
else {
|
|
168
177
|
await this.offlineOff();
|
|
169
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} Connection Type
|
|
178
|
+
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} Connection Type:`
|
|
179
|
+
+ ` ${this.device.connectionType}, refreshStatus will not happen.`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
async BLERefreshStatus() {
|
|
183
|
+
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} BLERefreshStatus`);
|
|
184
|
+
const switchbot = await this.switchbotBLE();
|
|
185
|
+
if (switchbot === undefined) {
|
|
186
|
+
await this.BLERefreshConnection(switchbot);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
// Start to monitor advertisement packets
|
|
190
|
+
(async () => {
|
|
191
|
+
// Start to monitor advertisement packets
|
|
192
|
+
const serviceData = await this.monitorAdvertisementPackets(switchbot);
|
|
193
|
+
// Update HomeKit
|
|
194
|
+
if (serviceData.model !== '' && serviceData.modelName !== '') {
|
|
195
|
+
await this.BLEparseStatus(serviceData);
|
|
196
|
+
await this.updateHomeKitCharacteristics();
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed to get serviceData, serviceData: ${serviceData}`);
|
|
200
|
+
await this.BLERefreshConnection(switchbot);
|
|
201
|
+
}
|
|
202
|
+
})();
|
|
170
203
|
}
|
|
171
204
|
}
|
|
172
205
|
async openAPIRefreshStatus() {
|
|
173
206
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} openAPIRefreshStatus`);
|
|
174
207
|
try {
|
|
175
|
-
const { body, statusCode } = await this.
|
|
176
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} statusCode: ${statusCode}`);
|
|
208
|
+
const { body, statusCode } = await this.deviceRefreshStatus();
|
|
177
209
|
const deviceStatus = await body.json();
|
|
178
|
-
this.
|
|
179
|
-
|
|
210
|
+
await this.refreshStatusCodes(statusCode, deviceStatus);
|
|
211
|
+
;
|
|
180
212
|
if ((statusCode === 200 || statusCode === 100) && (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100)) {
|
|
181
|
-
this.
|
|
182
|
-
|
|
183
|
-
this.
|
|
184
|
-
this.updateHomeKitCharacteristics();
|
|
213
|
+
await this.successfulRefreshStatus(statusCode, deviceStatus);
|
|
214
|
+
await this.openAPIparseStatus(deviceStatus);
|
|
215
|
+
await this.updateHomeKitCharacteristics();
|
|
185
216
|
}
|
|
186
217
|
else {
|
|
187
|
-
this.
|
|
188
|
-
this.statusCode(deviceStatus.statusCode);
|
|
218
|
+
await this.statusCodes(statusCode, deviceStatus);
|
|
189
219
|
}
|
|
190
220
|
}
|
|
191
221
|
catch (e) {
|
|
192
|
-
this.apiError(e);
|
|
193
|
-
this.
|
|
194
|
-
+ ` Connection, Error Message: ${JSON.stringify(e.message)}`);
|
|
222
|
+
await this.apiError(e);
|
|
223
|
+
await this.openAPIRefreshError(e);
|
|
195
224
|
}
|
|
196
225
|
}
|
|
197
226
|
async registerWebhook(accessory, device) {
|
|
@@ -306,6 +335,14 @@ export class Hub extends deviceBase {
|
|
|
306
335
|
}
|
|
307
336
|
}
|
|
308
337
|
}
|
|
338
|
+
async BLERefreshConnection(switchbot) {
|
|
339
|
+
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} wasn't able to establish BLE Connection, node-switchbot:`
|
|
340
|
+
+ ` ${JSON.stringify(switchbot)}`);
|
|
341
|
+
if (this.platform.config.credentials?.token && this.device.connectionType === 'BLE/OpenAPI') {
|
|
342
|
+
this.warnLog(`${this.device.deviceType}: ${this.accessory.displayName} Using OpenAPI Connection to Refresh Status`);
|
|
343
|
+
await this.openAPIRefreshStatus();
|
|
344
|
+
}
|
|
345
|
+
}
|
|
309
346
|
async offlineOff() {
|
|
310
347
|
if (this.device.offline) {
|
|
311
348
|
if (!this.device.hub?.hide_temperature) {
|
package/dist/device/hub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/device/hub.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/device/hub.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"humidifier.d.ts","sourceRoot":"","sources":["../../src/device/humidifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"humidifier.d.ts","sourceRoot":"","sources":["../../src/device/humidifier.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAY,OAAO,EAAE,MAAM,MAAM,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEvF;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,UAAU;IAwBtC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IAtBtC,OAAO,CAAC,sBAAsB,CAS5B;IAEF,OAAO,CAAC,iBAAiB,CAAC,CAIxB;IAGF,0BAA0B,EAAG,OAAO,CAAC;IACrC,kBAAkB,EAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAGxB,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IAiI1B,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvD,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAyE7D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBjC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrC,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAwBlF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB/B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyCzC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAoCtC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BxC;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1D;;OAEG;IACG,oCAAoC,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrF;;OAEG;IACG,sCAAsC,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAevF;;OAEG;IACG,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAsE7C,iBAAiB;IAOjB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IASnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAatC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/* Copyright(C) 2021-2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
2
|
+
*
|
|
3
|
+
* humidifier.ts: @switchbot/homebridge-switchbot.
|
|
4
|
+
*/
|
|
2
5
|
import { deviceBase } from './device.js';
|
|
3
6
|
import { interval, Subject } from 'rxjs';
|
|
4
|
-
import { Devices } from '../settings.js';
|
|
5
7
|
import { convertUnits } from '../utils.js';
|
|
6
8
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
7
9
|
/**
|
|
@@ -244,64 +246,46 @@ export class Humidifier extends deviceBase {
|
|
|
244
246
|
}
|
|
245
247
|
async BLERefreshStatus() {
|
|
246
248
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} BLERefreshStatus`);
|
|
247
|
-
const switchbot = await this.
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
.toLowerCase();
|
|
253
|
-
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} BLE Address: ${this.device.bleMac}`);
|
|
254
|
-
this.getCustomBLEAddress(switchbot);
|
|
255
|
-
// Start to monitor advertisement packets
|
|
256
|
-
(async () => {
|
|
249
|
+
const switchbot = await this.switchbotBLE();
|
|
250
|
+
if (switchbot === undefined) {
|
|
251
|
+
await this.BLERefreshConnection(switchbot);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
257
254
|
// Start to monitor advertisement packets
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
this.
|
|
264
|
-
|
|
255
|
+
(async () => {
|
|
256
|
+
// Start to monitor advertisement packets
|
|
257
|
+
const serviceData = await this.monitorAdvertisementPackets(switchbot);
|
|
258
|
+
// Update HomeKit
|
|
259
|
+
if (serviceData.model !== '' && serviceData.modelName !== '') {
|
|
260
|
+
await this.BLEparseStatus(serviceData);
|
|
261
|
+
await this.updateHomeKitCharacteristics();
|
|
265
262
|
}
|
|
266
263
|
else {
|
|
267
|
-
this.
|
|
264
|
+
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed to get serviceData, serviceData: ${serviceData}`);
|
|
265
|
+
await this.BLERefreshConnection(switchbot);
|
|
268
266
|
}
|
|
269
|
-
};
|
|
270
|
-
// Wait 10 seconds
|
|
271
|
-
await switchbot.wait(this.scanDuration * 1000);
|
|
272
|
-
// Stop to monitor
|
|
273
|
-
await switchbot.stopScan();
|
|
274
|
-
// Update HomeKit
|
|
275
|
-
await this.BLEparseStatus(switchbot.onadvertisement.serviceData);
|
|
276
|
-
await this.updateHomeKitCharacteristics();
|
|
277
|
-
})();
|
|
278
|
-
if (switchbot === undefined) {
|
|
279
|
-
await this.BLERefreshConnection(switchbot);
|
|
267
|
+
})();
|
|
280
268
|
}
|
|
281
269
|
}
|
|
282
270
|
async openAPIRefreshStatus() {
|
|
283
271
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} openAPIRefreshStatus`);
|
|
284
272
|
try {
|
|
285
|
-
const { body, statusCode } = await this.
|
|
286
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} statusCode: ${statusCode}`);
|
|
273
|
+
const { body, statusCode } = await this.deviceRefreshStatus();
|
|
287
274
|
const deviceStatus = await body.json();
|
|
288
|
-
this.
|
|
289
|
-
|
|
275
|
+
await this.refreshStatusCodes(statusCode, deviceStatus);
|
|
276
|
+
;
|
|
290
277
|
if ((statusCode === 200 || statusCode === 100) && (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100)) {
|
|
291
|
-
this.
|
|
292
|
-
|
|
293
|
-
this.
|
|
294
|
-
this.updateHomeKitCharacteristics();
|
|
278
|
+
await this.successfulRefreshStatus(statusCode, deviceStatus);
|
|
279
|
+
await this.openAPIparseStatus(deviceStatus);
|
|
280
|
+
await this.updateHomeKitCharacteristics();
|
|
295
281
|
}
|
|
296
282
|
else {
|
|
297
|
-
this.
|
|
298
|
-
this.statusCode(deviceStatus.statusCode);
|
|
283
|
+
await this.statusCodes(statusCode, deviceStatus);
|
|
299
284
|
}
|
|
300
285
|
}
|
|
301
286
|
catch (e) {
|
|
302
|
-
this.apiError(e);
|
|
303
|
-
this.
|
|
304
|
-
+ ` Connection, Error Message: ${JSON.stringify(e.message)}`);
|
|
287
|
+
await this.apiError(e);
|
|
288
|
+
await this.openAPIRefreshError(e);
|
|
305
289
|
}
|
|
306
290
|
}
|
|
307
291
|
async registerWebhook(accessory, device) {
|
|
@@ -333,18 +317,20 @@ export class Humidifier extends deviceBase {
|
|
|
333
317
|
async pushChanges() {
|
|
334
318
|
if (!this.device.enableCloudService && this.OpenAPI) {
|
|
335
319
|
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} pushChanges enableCloudService: ${this.device.enableCloudService}`);
|
|
336
|
-
|
|
337
|
-
|
|
320
|
+
}
|
|
321
|
+
else if (this.BLE) {
|
|
322
|
+
await this.BLEpushChanges();
|
|
338
323
|
}
|
|
339
324
|
else if (this.OpenAPI && this.platform.config.credentials?.token) {
|
|
340
325
|
await this.openAPIpushChanges();
|
|
341
326
|
}
|
|
342
327
|
else {
|
|
343
328
|
await this.offlineOff();
|
|
344
|
-
this.
|
|
345
|
-
+ ` ${this.device.connectionType}, pushChanges will not happen.`);
|
|
329
|
+
await this.pushChangeDisabled();
|
|
346
330
|
}
|
|
347
|
-
|
|
331
|
+
// Refresh the status from the API
|
|
332
|
+
interval(15000)
|
|
333
|
+
.pipe(skipWhile(() => this.humidifierUpdateInProgress))
|
|
348
334
|
.pipe(take(1))
|
|
349
335
|
.subscribe(async () => {
|
|
350
336
|
await this.refreshStatus();
|
|
@@ -354,17 +340,9 @@ export class Humidifier extends deviceBase {
|
|
|
354
340
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} BLEpushChanges`);
|
|
355
341
|
const switchbot = await this.platform.connectBLE();
|
|
356
342
|
// Convert to BLE Address
|
|
357
|
-
|
|
358
|
-
.deviceId.match(/.{1,2}/g)
|
|
359
|
-
.join(':')
|
|
360
|
-
.toLowerCase();
|
|
361
|
-
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} BLE Address: ${this.device.bleMac}`);
|
|
343
|
+
await this.convertBLEAddress();
|
|
362
344
|
switchbot
|
|
363
|
-
.discover({
|
|
364
|
-
model: 'e',
|
|
365
|
-
quick: true,
|
|
366
|
-
id: this.device.bleMac,
|
|
367
|
-
})
|
|
345
|
+
.discover({ model: this.device.bleModel, quick: true, id: this.device.bleMac })
|
|
368
346
|
.then(async (device_list) => {
|
|
369
347
|
this.infoLog(`${this.accessory.displayName} Active: ${this.HumidifierDehumidifier.Active}`);
|
|
370
348
|
return await device_list[0].percentage(this.HumidifierDehumidifier.RelativeHumidityHumidifierThreshold);
|
|
@@ -394,25 +372,16 @@ export class Humidifier extends deviceBase {
|
|
|
394
372
|
});
|
|
395
373
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Sending request to SwitchBot API, body: ${bodyChange},`);
|
|
396
374
|
try {
|
|
397
|
-
const { body, statusCode } = await
|
|
398
|
-
body: bodyChange,
|
|
399
|
-
method: 'POST',
|
|
400
|
-
headers: this.platform.generateHeaders(),
|
|
401
|
-
});
|
|
402
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} statusCode: ${statusCode}`);
|
|
375
|
+
const { body, statusCode } = await this.pushChangeRequest(bodyChange);
|
|
403
376
|
const deviceStatus = await body.json();
|
|
404
|
-
this.
|
|
405
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} deviceStatus body: ${JSON.stringify(deviceStatus.body)}`);
|
|
406
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} deviceStatus statusCode: ${deviceStatus.statusCode}`);
|
|
377
|
+
await this.pushStatusCodes(statusCode, deviceStatus);
|
|
407
378
|
if ((statusCode === 200 || statusCode === 100) && (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100)) {
|
|
408
|
-
this.
|
|
409
|
-
|
|
410
|
-
this.successLog(`${this.device.deviceType}: ${this.accessory.displayName} `
|
|
411
|
-
+ `request to SwitchBot API, body: ${JSON.stringify(JSON.parse(bodyChange))} sent successfully`);
|
|
379
|
+
await this.successfulPushChange(statusCode, deviceStatus, bodyChange);
|
|
380
|
+
await this.updateHomeKitCharacteristics();
|
|
412
381
|
}
|
|
413
382
|
else {
|
|
414
|
-
this.statusCode(statusCode);
|
|
415
|
-
this.statusCode(deviceStatus.statusCode);
|
|
383
|
+
await this.statusCode(statusCode);
|
|
384
|
+
await this.statusCode(deviceStatus.statusCode);
|
|
416
385
|
}
|
|
417
386
|
}
|
|
418
387
|
catch (e) {
|
|
@@ -446,25 +415,16 @@ export class Humidifier extends deviceBase {
|
|
|
446
415
|
});
|
|
447
416
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Sending request to SwitchBot API, body: ${bodyChange},`);
|
|
448
417
|
try {
|
|
449
|
-
const { body, statusCode } = await
|
|
450
|
-
body: bodyChange,
|
|
451
|
-
method: 'POST',
|
|
452
|
-
headers: this.platform.generateHeaders(),
|
|
453
|
-
});
|
|
454
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} statusCode: ${statusCode}`);
|
|
418
|
+
const { body, statusCode } = await this.pushChangeRequest(bodyChange);
|
|
455
419
|
const deviceStatus = await body.json();
|
|
456
|
-
this.
|
|
457
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} deviceStatus body: ${JSON.stringify(deviceStatus.body)}`);
|
|
458
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} deviceStatus statusCode: ${deviceStatus.statusCode}`);
|
|
420
|
+
await this.pushStatusCodes(statusCode, deviceStatus);
|
|
459
421
|
if ((statusCode === 200 || statusCode === 100) && (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100)) {
|
|
460
|
-
this.
|
|
461
|
-
|
|
462
|
-
this.successLog(`${this.device.deviceType}: ${this.accessory.displayName} `
|
|
463
|
-
+ `request to SwitchBot API, body: ${JSON.stringify(JSON.parse(bodyChange))} sent successfully`);
|
|
422
|
+
await this.successfulPushChange(statusCode, deviceStatus, bodyChange);
|
|
423
|
+
await this.updateHomeKitCharacteristics();
|
|
464
424
|
}
|
|
465
425
|
else {
|
|
466
|
-
this.statusCode(statusCode);
|
|
467
|
-
this.statusCode(deviceStatus.statusCode);
|
|
426
|
+
await this.statusCode(statusCode);
|
|
427
|
+
await this.statusCode(deviceStatus.statusCode);
|
|
468
428
|
}
|
|
469
429
|
}
|
|
470
430
|
catch (e) {
|
|
@@ -492,25 +452,16 @@ export class Humidifier extends deviceBase {
|
|
|
492
452
|
});
|
|
493
453
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Sending request to SwitchBot API, body: ${bodyChange},`);
|
|
494
454
|
try {
|
|
495
|
-
const { body, statusCode } = await
|
|
496
|
-
body: bodyChange,
|
|
497
|
-
method: 'POST',
|
|
498
|
-
headers: this.platform.generateHeaders(),
|
|
499
|
-
});
|
|
500
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} statusCode: ${statusCode}`);
|
|
455
|
+
const { body, statusCode } = await this.pushChangeRequest(bodyChange);
|
|
501
456
|
const deviceStatus = await body.json();
|
|
502
|
-
this.
|
|
503
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} deviceStatus body: ${JSON.stringify(deviceStatus.body)}`);
|
|
504
|
-
this.debugWarnLog(`${this.device.deviceType}: ${this.accessory.displayName} deviceStatus statusCode: ${deviceStatus.statusCode}`);
|
|
457
|
+
await this.pushStatusCodes(statusCode, deviceStatus);
|
|
505
458
|
if ((statusCode === 200 || statusCode === 100) && (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100)) {
|
|
506
|
-
this.
|
|
507
|
-
|
|
508
|
-
this.successLog(`${this.device.deviceType}: ${this.accessory.displayName} `
|
|
509
|
-
+ `request to SwitchBot API, body: ${JSON.stringify(JSON.parse(bodyChange))} sent successfully`);
|
|
459
|
+
await this.successfulPushChange(statusCode, deviceStatus, bodyChange);
|
|
460
|
+
await this.updateHomeKitCharacteristics();
|
|
510
461
|
}
|
|
511
462
|
else {
|
|
512
|
-
this.statusCode(statusCode);
|
|
513
|
-
this.statusCode(deviceStatus.statusCode);
|
|
463
|
+
await this.statusCode(statusCode);
|
|
464
|
+
await this.statusCode(deviceStatus.statusCode);
|
|
514
465
|
}
|
|
515
466
|
}
|
|
516
467
|
catch (e) {
|