@switchbot/homebridge-switchbot 1.11.2 → 1.12.2-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/CHANGELOG.md +14 -0
- package/config.schema.json +18 -3
- package/dist/device/bot.d.ts +8 -0
- package/dist/device/bot.d.ts.map +1 -1
- package/dist/device/bot.js +40 -21
- package/dist/device/bot.js.map +1 -1
- package/dist/device/colorbulb.d.ts.map +1 -1
- package/dist/device/colorbulb.js +8 -26
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.d.ts.map +1 -1
- package/dist/device/contact.js +4 -10
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.d.ts.map +1 -1
- package/dist/device/curtain.js +21 -37
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/humidifier.d.ts.map +1 -1
- package/dist/device/humidifier.js +9 -30
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/lock.d.ts.map +1 -1
- package/dist/device/lock.js +4 -10
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.d.ts.map +1 -1
- package/dist/device/meter.js +4 -10
- package/dist/device/meter.js.map +1 -1
- package/dist/device/motion.d.ts.map +1 -1
- package/dist/device/motion.js +4 -10
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.d.ts.map +1 -1
- package/dist/device/plug.js +4 -10
- package/dist/device/plug.js.map +1 -1
- package/dist/irdevice/airconditioner.d.ts.map +1 -1
- package/dist/irdevice/airconditioner.js +3 -6
- package/dist/irdevice/airconditioner.js.map +1 -1
- package/dist/irdevice/airpurifier.d.ts.map +1 -1
- package/dist/irdevice/airpurifier.js +3 -6
- package/dist/irdevice/airpurifier.js.map +1 -1
- package/dist/irdevice/camera.d.ts.map +1 -1
- package/dist/irdevice/camera.js +3 -6
- package/dist/irdevice/camera.js.map +1 -1
- package/dist/irdevice/fan.d.ts.map +1 -1
- package/dist/irdevice/fan.js +3 -6
- package/dist/irdevice/fan.js.map +1 -1
- package/dist/irdevice/light.d.ts.map +1 -1
- package/dist/irdevice/light.js +3 -6
- package/dist/irdevice/light.js.map +1 -1
- package/dist/irdevice/other.d.ts.map +1 -1
- package/dist/irdevice/other.js +4 -7
- package/dist/irdevice/other.js.map +1 -1
- package/dist/irdevice/tv.d.ts.map +1 -1
- package/dist/irdevice/tv.js +3 -6
- package/dist/irdevice/tv.js.map +1 -1
- package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
- package/dist/irdevice/vacuumcleaner.js +3 -6
- package/dist/irdevice/vacuumcleaner.js.map +1 -1
- package/dist/irdevice/waterheater.d.ts.map +1 -1
- package/dist/irdevice/waterheater.js +3 -6
- package/dist/irdevice/waterheater.js.map +1 -1
- package/dist/platform.js +6 -6
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +1 -0
- 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 +40 -20
- package/src/device/colorbulb.ts +8 -36
- package/src/device/contact.ts +4 -12
- package/src/device/curtain.ts +9 -24
- package/src/device/humidifier.ts +9 -30
- package/src/device/lock.ts +4 -10
- package/src/device/meter.ts +4 -10
- package/src/device/motion.ts +4 -12
- package/src/device/plug.ts +4 -10
- package/src/irdevice/airconditioner.ts +3 -6
- package/src/irdevice/airpurifier.ts +3 -6
- package/src/irdevice/camera.ts +3 -6
- package/src/irdevice/fan.ts +3 -6
- package/src/irdevice/light.ts +3 -6
- package/src/irdevice/other.ts +4 -7
- package/src/irdevice/tv.ts +3 -8
- package/src/irdevice/vacuumcleaner.ts +3 -6
- package/src/irdevice/waterheater.ts +3 -6
- package/src/platform.ts +6 -6
- package/src/settings.ts +1 -0
package/src/device/bot.ts
CHANGED
|
@@ -355,7 +355,7 @@ export class Bot {
|
|
|
355
355
|
});
|
|
356
356
|
} catch (e: any) {
|
|
357
357
|
this.errorLog(`Bot: ${this.accessory.displayName} failed pushChanges`);
|
|
358
|
-
if (this.deviceLogging
|
|
358
|
+
if (this.deviceLogging.includes('debug')) {
|
|
359
359
|
this.errorLog(`Bot: ${this.accessory.displayName} failed pushChanges,` + ` Error Message: ${JSON.stringify(e.message)}`);
|
|
360
360
|
}
|
|
361
361
|
if (this.platform.debugMode) {
|
|
@@ -506,7 +506,7 @@ export class Bot {
|
|
|
506
506
|
})
|
|
507
507
|
.catch(async (e: any) => {
|
|
508
508
|
this.errorLog(`Bot: ${this.accessory.displayName} failed refreshStatus with BLE Connection`);
|
|
509
|
-
if (this.deviceLogging
|
|
509
|
+
if (this.deviceLogging.includes('debug')) {
|
|
510
510
|
this.errorLog(
|
|
511
511
|
`Bot: ${this.accessory.displayName} failed refreshStatus with BLE Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
512
512
|
);
|
|
@@ -534,7 +534,7 @@ export class Bot {
|
|
|
534
534
|
this.updateHomeKitCharacteristics();
|
|
535
535
|
} catch (e: any) {
|
|
536
536
|
this.errorLog(`Bot: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection`);
|
|
537
|
-
if (this.deviceLogging
|
|
537
|
+
if (this.deviceLogging.includes('debug')) {
|
|
538
538
|
this.errorLog(
|
|
539
539
|
`Bot: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
540
540
|
);
|
|
@@ -604,7 +604,7 @@ export class Bot {
|
|
|
604
604
|
})
|
|
605
605
|
.catch(async (e: any) => {
|
|
606
606
|
this.errorLog(`Bot: ${this.accessory.displayName} failed pushChanges with BLE Connection`);
|
|
607
|
-
if (this.deviceLogging
|
|
607
|
+
if (this.deviceLogging.includes('debug')) {
|
|
608
608
|
this.errorLog(
|
|
609
609
|
`Bot: ${this.accessory.displayName} failed pushChanges with BLE Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
610
610
|
);
|
|
@@ -633,7 +633,7 @@ export class Bot {
|
|
|
633
633
|
})
|
|
634
634
|
.catch(async (e: any) => {
|
|
635
635
|
this.errorLog(`Bot: ${this.accessory.displayName} failed pushChanges with BLE Connection`);
|
|
636
|
-
if (this.deviceLogging
|
|
636
|
+
if (this.deviceLogging.includes('debug')) {
|
|
637
637
|
this.errorLog(
|
|
638
638
|
`Bot: ${this.accessory.displayName} failed pushChanges with BLE Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
639
639
|
);
|
|
@@ -650,24 +650,22 @@ export class Bot {
|
|
|
650
650
|
} else {
|
|
651
651
|
throw new Error(`Bot: ${this.accessory.displayName} Bot Mode: ${this.botMode}`);
|
|
652
652
|
}
|
|
653
|
-
/* } else {
|
|
654
|
-
this.errorLog(`Bot: ${this.accessory.displayName} wasn't able to establish BLE Connection`);
|
|
655
|
-
if (this.platform.config.credentials?.openToken) {
|
|
656
|
-
this.warnLog(`Bot: ${this.accessory.displayName} Using OpenAPI Connection`);
|
|
657
|
-
await this.openAPIpushChanges();
|
|
658
|
-
}
|
|
659
|
-
}*/
|
|
660
653
|
}
|
|
661
654
|
this.OnCached = this.On;
|
|
662
655
|
this.accessory.context.On = this.OnCached;
|
|
663
656
|
}
|
|
664
657
|
|
|
665
658
|
async turnOnOff(device_list: any): Promise<any> {
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
659
|
+
return await this.retry({
|
|
660
|
+
max: await this.maxRetry(),
|
|
661
|
+
fn: () => {
|
|
662
|
+
if (this.On) {
|
|
663
|
+
return device_list[0].turnOn({ id: this.device.bleMac });
|
|
664
|
+
} else {
|
|
665
|
+
return device_list[0].turnOff({ id: this.device.bleMac });
|
|
666
|
+
}
|
|
667
|
+
},
|
|
668
|
+
});
|
|
671
669
|
}
|
|
672
670
|
|
|
673
671
|
async openAPIpushChanges(): Promise<void> {
|
|
@@ -710,7 +708,7 @@ export class Bot {
|
|
|
710
708
|
}
|
|
711
709
|
} catch (e: any) {
|
|
712
710
|
this.errorLog(`Bot: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
713
|
-
if (this.deviceLogging
|
|
711
|
+
if (this.deviceLogging.includes('debug')) {
|
|
714
712
|
this.errorLog(
|
|
715
713
|
`Bot: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
716
714
|
);
|
|
@@ -1046,6 +1044,28 @@ export class Bot {
|
|
|
1046
1044
|
this.doBotUpdate.next();
|
|
1047
1045
|
}
|
|
1048
1046
|
|
|
1047
|
+
async retry({ max, fn }: { max: number; fn: { (): any; (): Promise<any> } }): Promise<null> {
|
|
1048
|
+
return fn().catch(async (err: any) => {
|
|
1049
|
+
if (max === 0) {
|
|
1050
|
+
throw err;
|
|
1051
|
+
}
|
|
1052
|
+
this.infoLog(err);
|
|
1053
|
+
this.infoLog('Retrying');
|
|
1054
|
+
await this.switchbot.wait(1000);
|
|
1055
|
+
return this.retry({ max: max - 1, fn });
|
|
1056
|
+
});
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
async maxRetry(): Promise<number> {
|
|
1060
|
+
let maxRetry: number;
|
|
1061
|
+
if (this.device.bot?.maxRetry) {
|
|
1062
|
+
maxRetry = this.device.bot?.maxRetry;
|
|
1063
|
+
} else {
|
|
1064
|
+
maxRetry = 5;
|
|
1065
|
+
}
|
|
1066
|
+
return maxRetry;
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1049
1069
|
async config(device: device & devicesConfig): Promise<void> {
|
|
1050
1070
|
let config = {};
|
|
1051
1071
|
if (device.bot) {
|
|
@@ -1067,7 +1087,7 @@ export class Bot {
|
|
|
1067
1087
|
config['offline'] = device.offline;
|
|
1068
1088
|
}
|
|
1069
1089
|
if (Object.entries(config).length !== 0) {
|
|
1070
|
-
this.
|
|
1090
|
+
this.infoLog(`Bot: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
|
|
1071
1091
|
}
|
|
1072
1092
|
}
|
|
1073
1093
|
|
|
@@ -1258,6 +1278,6 @@ export class Bot {
|
|
|
1258
1278
|
}
|
|
1259
1279
|
|
|
1260
1280
|
enablingDeviceLogging(): boolean {
|
|
1261
|
-
return this.deviceLogging
|
|
1281
|
+
return this.deviceLogging.includes('debug') || this.deviceLogging === 'standard';
|
|
1262
1282
|
}
|
|
1263
1283
|
}
|
package/src/device/colorbulb.ts
CHANGED
|
@@ -205,12 +205,9 @@ export class ColorBulb {
|
|
|
205
205
|
await this.pushChanges();
|
|
206
206
|
} catch (e: any) {
|
|
207
207
|
this.errorLog(`${device.deviceType}: ${this.accessory.displayName} failed pushChanges`);
|
|
208
|
-
if (this.deviceLogging
|
|
208
|
+
if (this.deviceLogging.includes('debug')) {
|
|
209
209
|
this.errorLog(`${device.deviceType}: ${this.accessory.displayName} failed pushChanges,` + ` Error Message: ${JSON.stringify(e.message)}`);
|
|
210
210
|
}
|
|
211
|
-
if (this.platform.debugMode) {
|
|
212
|
-
this.errorLog(`${device.deviceType}: ${this.accessory.displayName} failed pushChanges,` + ` Error: ${JSON.stringify(e)}`);
|
|
213
|
-
}
|
|
214
211
|
this.apiError(e);
|
|
215
212
|
}
|
|
216
213
|
this.colorBulbUpdateInProgress = false;
|
|
@@ -281,17 +278,12 @@ export class ColorBulb {
|
|
|
281
278
|
this.updateHomeKitCharacteristics();
|
|
282
279
|
} catch (e: any) {
|
|
283
280
|
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection`);
|
|
284
|
-
if (this.deviceLogging
|
|
281
|
+
if (this.deviceLogging.includes('debug')) {
|
|
285
282
|
this.errorLog(
|
|
286
283
|
`${this.device.deviceType}: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` +
|
|
287
284
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
288
285
|
);
|
|
289
286
|
}
|
|
290
|
-
if (this.platform.debugMode) {
|
|
291
|
-
this.errorLog(
|
|
292
|
-
`${this.device.deviceType}: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`,
|
|
293
|
-
);
|
|
294
|
-
}
|
|
295
287
|
this.apiError(e);
|
|
296
288
|
}
|
|
297
289
|
}
|
|
@@ -355,17 +347,12 @@ export class ColorBulb {
|
|
|
355
347
|
}
|
|
356
348
|
} catch (e: any) {
|
|
357
349
|
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
358
|
-
if (this.deviceLogging
|
|
350
|
+
if (this.deviceLogging.includes('debug')) {
|
|
359
351
|
this.errorLog(
|
|
360
352
|
`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` +
|
|
361
353
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
362
354
|
);
|
|
363
355
|
}
|
|
364
|
-
if (this.platform.debugMode) {
|
|
365
|
-
this.errorLog(
|
|
366
|
-
`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`,
|
|
367
|
-
);
|
|
368
|
-
}
|
|
369
356
|
this.apiError(e);
|
|
370
357
|
}
|
|
371
358
|
}
|
|
@@ -404,17 +391,12 @@ export class ColorBulb {
|
|
|
404
391
|
}
|
|
405
392
|
} catch (e: any) {
|
|
406
393
|
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
407
|
-
if (this.deviceLogging
|
|
394
|
+
if (this.deviceLogging.includes('debug')) {
|
|
408
395
|
this.errorLog(
|
|
409
396
|
`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` +
|
|
410
397
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
411
398
|
);
|
|
412
399
|
}
|
|
413
|
-
if (this.platform.debugMode) {
|
|
414
|
-
this.errorLog(
|
|
415
|
-
`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`,
|
|
416
|
-
);
|
|
417
|
-
}
|
|
418
400
|
this.apiError(e);
|
|
419
401
|
}
|
|
420
402
|
}
|
|
@@ -449,17 +431,12 @@ export class ColorBulb {
|
|
|
449
431
|
}
|
|
450
432
|
} catch (e: any) {
|
|
451
433
|
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
452
|
-
if (this.deviceLogging
|
|
434
|
+
if (this.deviceLogging.includes('debug')) {
|
|
453
435
|
this.errorLog(
|
|
454
436
|
`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` +
|
|
455
437
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
456
438
|
);
|
|
457
439
|
}
|
|
458
|
-
if (this.platform.debugMode) {
|
|
459
|
-
this.errorLog(
|
|
460
|
-
`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`,
|
|
461
|
-
);
|
|
462
|
-
}
|
|
463
440
|
this.apiError(e);
|
|
464
441
|
}
|
|
465
442
|
}
|
|
@@ -491,17 +468,12 @@ export class ColorBulb {
|
|
|
491
468
|
}
|
|
492
469
|
} catch (e: any) {
|
|
493
470
|
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
494
|
-
if (this.deviceLogging
|
|
471
|
+
if (this.deviceLogging.includes('debug')) {
|
|
495
472
|
this.errorLog(
|
|
496
473
|
`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` +
|
|
497
474
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
498
475
|
);
|
|
499
476
|
}
|
|
500
|
-
if (this.platform.debugMode) {
|
|
501
|
-
this.errorLog(
|
|
502
|
-
`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`,
|
|
503
|
-
);
|
|
504
|
-
}
|
|
505
477
|
this.apiError(e);
|
|
506
478
|
}
|
|
507
479
|
}
|
|
@@ -700,7 +672,7 @@ export class ColorBulb {
|
|
|
700
672
|
config['offline'] = device.offline;
|
|
701
673
|
}
|
|
702
674
|
if (Object.entries(config).length !== 0) {
|
|
703
|
-
this.
|
|
675
|
+
this.infoLog(`${this.device.deviceType}: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
|
|
704
676
|
}
|
|
705
677
|
}
|
|
706
678
|
|
|
@@ -781,6 +753,6 @@ export class ColorBulb {
|
|
|
781
753
|
}
|
|
782
754
|
|
|
783
755
|
enablingDeviceLogging(): boolean {
|
|
784
|
-
return this.deviceLogging
|
|
756
|
+
return this.deviceLogging.includes('debug') || this.deviceLogging === 'standard';
|
|
785
757
|
}
|
|
786
758
|
}
|
package/src/device/contact.ts
CHANGED
|
@@ -314,15 +314,12 @@ export class Contact {
|
|
|
314
314
|
})
|
|
315
315
|
.catch(async (e: any) => {
|
|
316
316
|
this.errorLog(`Contact Sensor: ${this.accessory.displayName} failed refreshStatus with BLE Connection`);
|
|
317
|
-
if (this.deviceLogging
|
|
317
|
+
if (this.deviceLogging.includes('debug')) {
|
|
318
318
|
this.errorLog(
|
|
319
319
|
`Contact Sensor: ${this.accessory.displayName} failed refreshStatus with BLE Connection,` +
|
|
320
320
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
321
321
|
);
|
|
322
322
|
}
|
|
323
|
-
if (this.platform.debugMode) {
|
|
324
|
-
this.errorLog(`Contact Sensor: ${this.accessory.displayName} failed refreshStatus with BLE Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
325
|
-
}
|
|
326
323
|
if (this.platform.config.credentials?.openToken) {
|
|
327
324
|
this.warnLog(`Contact Sensor: ${this.accessory.displayName} Using OpenAPI Connection`);
|
|
328
325
|
this.SwitchToOpenAPI = true;
|
|
@@ -357,17 +354,12 @@ export class Contact {
|
|
|
357
354
|
this.updateHomeKitCharacteristics();
|
|
358
355
|
} catch (e: any) {
|
|
359
356
|
this.errorLog(`Contact Sensor: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection`);
|
|
360
|
-
if (this.deviceLogging
|
|
357
|
+
if (this.deviceLogging.includes('debug')) {
|
|
361
358
|
this.errorLog(
|
|
362
359
|
`Contact Sensor: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` +
|
|
363
360
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
364
361
|
);
|
|
365
362
|
}
|
|
366
|
-
if (this.platform.debugMode) {
|
|
367
|
-
this.errorLog(
|
|
368
|
-
`Contact Sensor: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`,
|
|
369
|
-
);
|
|
370
|
-
}
|
|
371
363
|
this.apiError(e);
|
|
372
364
|
}
|
|
373
365
|
}
|
|
@@ -450,7 +442,7 @@ export class Contact {
|
|
|
450
442
|
config['scanDuration'] = device.scanDuration;
|
|
451
443
|
}
|
|
452
444
|
if (Object.entries(config).length !== 0) {
|
|
453
|
-
this.
|
|
445
|
+
this.infoLog(`Contact Sensor: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
|
|
454
446
|
}
|
|
455
447
|
}
|
|
456
448
|
|
|
@@ -544,6 +536,6 @@ export class Contact {
|
|
|
544
536
|
}
|
|
545
537
|
|
|
546
538
|
enablingDeviceLogging(): boolean {
|
|
547
|
-
return this.deviceLogging
|
|
539
|
+
return this.deviceLogging.includes('debug') || this.deviceLogging === 'standard';
|
|
548
540
|
}
|
|
549
541
|
}
|
package/src/device/curtain.ts
CHANGED
|
@@ -118,7 +118,7 @@ export class Curtain {
|
|
|
118
118
|
})
|
|
119
119
|
.onSet(this.TargetPositionSet.bind(this));
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
/* Light Sensor Service
|
|
122
122
|
if (device.curtain?.hide_lightsensor) {
|
|
123
123
|
this.debugLog(`Curtain: ${accessory.displayName} Removing Light Sensor Service`);
|
|
124
124
|
this.lightSensorService = this.accessory.getService(this.platform.Service.LightSensor);
|
|
@@ -132,7 +132,7 @@ export class Curtain {
|
|
|
132
132
|
this.lightSensorService.setCharacteristic(this.platform.Characteristic.Name, `${accessory.displayName} Light Sensor`);
|
|
133
133
|
} else {
|
|
134
134
|
this.debugLog(`Curtain: ${accessory.displayName} Light Sensor Service Not Added`);
|
|
135
|
-
}
|
|
135
|
+
}*/
|
|
136
136
|
|
|
137
137
|
// Battery Service
|
|
138
138
|
if (!device.ble) {
|
|
@@ -184,12 +184,9 @@ export class Curtain {
|
|
|
184
184
|
await this.pushChanges();
|
|
185
185
|
} catch (e: any) {
|
|
186
186
|
this.errorLog(`Curtain: ${this.accessory.displayName} failed pushChanges`);
|
|
187
|
-
if (this.deviceLogging
|
|
187
|
+
if (this.deviceLogging.includes('debug')) {
|
|
188
188
|
this.errorLog(`Curtain: ${this.accessory.displayName} failed pushChanges,` + ` Error Message: ${JSON.stringify(e.message)}`);
|
|
189
189
|
}
|
|
190
|
-
if (this.platform.debugMode) {
|
|
191
|
-
this.errorLog(`Curtain: ${this.accessory.displayName} failed pushChanges,` + ` Error: ${JSON.stringify(e)}`);
|
|
192
|
-
}
|
|
193
190
|
this.apiError(e);
|
|
194
191
|
}
|
|
195
192
|
this.curtainUpdateInProgress = false;
|
|
@@ -425,14 +422,11 @@ export class Curtain {
|
|
|
425
422
|
})
|
|
426
423
|
.catch(async (e: any) => {
|
|
427
424
|
this.errorLog(`Curtain: ${this.accessory.displayName} failed refreshStatus with BLE Connection`);
|
|
428
|
-
if (this.deviceLogging
|
|
425
|
+
if (this.deviceLogging.includes('debug')) {
|
|
429
426
|
this.errorLog(
|
|
430
427
|
`Curtain: ${this.accessory.displayName} failed refreshStatus with BLE Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
431
428
|
);
|
|
432
429
|
}
|
|
433
|
-
if (this.platform.debugMode) {
|
|
434
|
-
this.errorLog(`Curtain: ${this.accessory.displayName} failed refreshStatus with BLE Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
435
|
-
}
|
|
436
430
|
if (this.platform.config.credentials?.openToken) {
|
|
437
431
|
this.warnLog(`Curtain: ${this.accessory.displayName} Using OpenAPI Connection`);
|
|
438
432
|
this.SwitchToOpenAPI = true;
|
|
@@ -467,14 +461,11 @@ export class Curtain {
|
|
|
467
461
|
this.updateHomeKitCharacteristics();
|
|
468
462
|
} catch (e: any) {
|
|
469
463
|
this.errorLog(`Curtain: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection`);
|
|
470
|
-
if (this.deviceLogging
|
|
464
|
+
if (this.deviceLogging.includes('debug')) {
|
|
471
465
|
this.errorLog(
|
|
472
466
|
`Curtain: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
473
467
|
);
|
|
474
468
|
}
|
|
475
|
-
if (this.platform.debugMode) {
|
|
476
|
-
this.errorLog(`Curtain: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
477
|
-
}
|
|
478
469
|
this.apiError(e);
|
|
479
470
|
}
|
|
480
471
|
}
|
|
@@ -516,14 +507,11 @@ export class Curtain {
|
|
|
516
507
|
})
|
|
517
508
|
.catch(async (e: any) => {
|
|
518
509
|
this.errorLog(`Curtain: ${this.accessory.displayName} failed pushChanges with BLE Connection`);
|
|
519
|
-
if (this.deviceLogging
|
|
510
|
+
if (this.deviceLogging.includes('debug')) {
|
|
520
511
|
this.errorLog(
|
|
521
512
|
`Curtain: ${this.accessory.displayName} failed pushChanges with BLE Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
522
513
|
);
|
|
523
514
|
}
|
|
524
|
-
if (this.platform.debugMode) {
|
|
525
|
-
this.errorLog(`Curtain: ${this.accessory.displayName} failed pushChanges with BLE Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
526
|
-
}
|
|
527
515
|
if (this.platform.config.credentials?.openToken) {
|
|
528
516
|
this.warnLog(`Curtain: ${this.accessory.displayName} Using OpenAPI Connection`);
|
|
529
517
|
await this.openAPIpushChanges();
|
|
@@ -575,14 +563,11 @@ export class Curtain {
|
|
|
575
563
|
}
|
|
576
564
|
} catch (e: any) {
|
|
577
565
|
this.errorLog(`Curtain: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
578
|
-
if (this.deviceLogging
|
|
566
|
+
if (this.deviceLogging.includes('debug')) {
|
|
579
567
|
this.errorLog(
|
|
580
568
|
`Curtain: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
581
569
|
);
|
|
582
570
|
}
|
|
583
|
-
if (this.platform.debugMode) {
|
|
584
|
-
this.errorLog(`Curtain: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
585
|
-
}
|
|
586
571
|
this.apiError(e);
|
|
587
572
|
}
|
|
588
573
|
}
|
|
@@ -747,7 +732,7 @@ export class Curtain {
|
|
|
747
732
|
config['scanDuration'] = device.scanDuration;
|
|
748
733
|
}
|
|
749
734
|
if (Object.entries(config).length !== 0) {
|
|
750
|
-
this.
|
|
735
|
+
this.infoLog(`Curtain: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
|
|
751
736
|
}
|
|
752
737
|
}
|
|
753
738
|
|
|
@@ -869,6 +854,6 @@ export class Curtain {
|
|
|
869
854
|
}
|
|
870
855
|
|
|
871
856
|
enablingDeviceLogging(): boolean {
|
|
872
|
-
return this.deviceLogging
|
|
857
|
+
return this.deviceLogging.includes('debug') || this.deviceLogging === 'standard';
|
|
873
858
|
}
|
|
874
859
|
}
|
package/src/device/humidifier.ts
CHANGED
|
@@ -176,12 +176,9 @@ export class Humidifier {
|
|
|
176
176
|
await this.pushChanges();
|
|
177
177
|
} catch (e: any) {
|
|
178
178
|
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushChanges`);
|
|
179
|
-
if (this.deviceLogging
|
|
179
|
+
if (this.deviceLogging.includes('debug')) {
|
|
180
180
|
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushChanges,` + ` Error Message: ${JSON.stringify(e.message)}`);
|
|
181
181
|
}
|
|
182
|
-
if (this.platform.debugMode) {
|
|
183
|
-
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushChanges,` + ` Error: ${JSON.stringify(e)}`);
|
|
184
|
-
}
|
|
185
182
|
this.apiError(e);
|
|
186
183
|
}
|
|
187
184
|
this.humidifierUpdateInProgress = false;
|
|
@@ -333,14 +330,11 @@ export class Humidifier {
|
|
|
333
330
|
})
|
|
334
331
|
.catch(async (e: any) => {
|
|
335
332
|
this.errorLog(`Humidifier: ${this.accessory.displayName} failed refreshStatus with BLE Connection`);
|
|
336
|
-
if (this.deviceLogging
|
|
333
|
+
if (this.deviceLogging.includes('debug')) {
|
|
337
334
|
this.errorLog(
|
|
338
335
|
`Humidifier: ${this.accessory.displayName} failed refreshStatus with BLE Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
339
336
|
);
|
|
340
337
|
}
|
|
341
|
-
if (this.platform.debugMode) {
|
|
342
|
-
this.errorLog(`Humidifier: ${this.accessory.displayName} failed refreshStatus with BLE Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
343
|
-
}
|
|
344
338
|
if (this.platform.config.credentials?.openToken) {
|
|
345
339
|
this.warnLog(`Humidifier: ${this.accessory.displayName} Using OpenAPI Connection`);
|
|
346
340
|
await this.openAPIRefreshStatus();
|
|
@@ -380,15 +374,12 @@ export class Humidifier {
|
|
|
380
374
|
}
|
|
381
375
|
} catch (e: any) {
|
|
382
376
|
this.errorLog(`Humidifier: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection`);
|
|
383
|
-
if (this.deviceLogging
|
|
377
|
+
if (this.deviceLogging.includes('debug')) {
|
|
384
378
|
this.errorLog(
|
|
385
379
|
`Humidifier: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` +
|
|
386
380
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
387
381
|
);
|
|
388
382
|
}
|
|
389
|
-
if (this.platform.debugMode) {
|
|
390
|
-
this.errorLog(`Humidifier: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
391
|
-
}
|
|
392
383
|
this.apiError(e);
|
|
393
384
|
}
|
|
394
385
|
}
|
|
@@ -432,14 +423,11 @@ export class Humidifier {
|
|
|
432
423
|
})
|
|
433
424
|
.catch(async (e: any) => {
|
|
434
425
|
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushChanges with BLE Connection`);
|
|
435
|
-
if (this.deviceLogging
|
|
426
|
+
if (this.deviceLogging.includes('debug')) {
|
|
436
427
|
this.errorLog(
|
|
437
428
|
`Humidifier: ${this.accessory.displayName} failed pushChanges with BLE Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
438
429
|
);
|
|
439
430
|
}
|
|
440
|
-
if (this.platform.debugMode) {
|
|
441
|
-
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushChanges with BLE Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
442
|
-
}
|
|
443
431
|
if (this.platform.config.credentials?.openToken) {
|
|
444
432
|
this.warnLog(`Humidifier: ${this.accessory.displayName} Using OpenAPI Connection`);
|
|
445
433
|
await this.openAPIpushChanges();
|
|
@@ -481,15 +469,12 @@ export class Humidifier {
|
|
|
481
469
|
this.statusCode(push);
|
|
482
470
|
} catch (e: any) {
|
|
483
471
|
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
484
|
-
if (this.deviceLogging
|
|
472
|
+
if (this.deviceLogging.includes('debug')) {
|
|
485
473
|
this.errorLog(
|
|
486
474
|
`Humidifier: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` +
|
|
487
475
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
488
476
|
);
|
|
489
477
|
}
|
|
490
|
-
if (this.platform.debugMode) {
|
|
491
|
-
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
492
|
-
}
|
|
493
478
|
this.apiError(e);
|
|
494
479
|
}
|
|
495
480
|
} else if (
|
|
@@ -531,15 +516,12 @@ export class Humidifier {
|
|
|
531
516
|
}
|
|
532
517
|
} catch (e: any) {
|
|
533
518
|
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushAutoChanges with OpenAPI Connection`);
|
|
534
|
-
if (this.deviceLogging
|
|
519
|
+
if (this.deviceLogging.includes('debug')) {
|
|
535
520
|
this.errorLog(
|
|
536
521
|
`Humidifier: ${this.accessory.displayName} failed pushAutoChanges with OpenAPI Connection,` +
|
|
537
522
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
538
523
|
);
|
|
539
524
|
}
|
|
540
|
-
if (this.platform.debugMode) {
|
|
541
|
-
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushAutoChanges with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
542
|
-
}
|
|
543
525
|
this.apiError(e);
|
|
544
526
|
}
|
|
545
527
|
}
|
|
@@ -569,15 +551,12 @@ export class Humidifier {
|
|
|
569
551
|
}
|
|
570
552
|
} catch (e: any) {
|
|
571
553
|
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushActiveChanges with OpenAPI Connection`);
|
|
572
|
-
if (this.deviceLogging
|
|
554
|
+
if (this.deviceLogging.includes('debug')) {
|
|
573
555
|
this.errorLog(
|
|
574
556
|
`Humidifier: ${this.accessory.displayName} failed pushActiveChanges with OpenAPI Connection,` +
|
|
575
557
|
` Error Message: ${JSON.stringify(e.message)}`,
|
|
576
558
|
);
|
|
577
559
|
}
|
|
578
|
-
if (this.platform.debugMode) {
|
|
579
|
-
this.errorLog(`Humidifier: ${this.accessory.displayName} failed pushActiveChanges with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
580
|
-
}
|
|
581
560
|
this.apiError(e);
|
|
582
561
|
}
|
|
583
562
|
}
|
|
@@ -763,7 +742,7 @@ export class Humidifier {
|
|
|
763
742
|
config['offline'] = device.offline;
|
|
764
743
|
}
|
|
765
744
|
if (Object.entries(config).length !== 0) {
|
|
766
|
-
this.
|
|
745
|
+
this.infoLog(`Humidifier: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
|
|
767
746
|
}
|
|
768
747
|
}
|
|
769
748
|
|
|
@@ -848,6 +827,6 @@ export class Humidifier {
|
|
|
848
827
|
}
|
|
849
828
|
|
|
850
829
|
enablingDeviceLogging(): boolean {
|
|
851
|
-
return this.deviceLogging
|
|
830
|
+
return this.deviceLogging.includes('debug') || this.deviceLogging === 'standard';
|
|
852
831
|
}
|
|
853
832
|
}
|
package/src/device/lock.ts
CHANGED
|
@@ -98,12 +98,9 @@ export class Lock {
|
|
|
98
98
|
await this.pushChanges();
|
|
99
99
|
} catch (e: any) {
|
|
100
100
|
this.errorLog(`Lock: ${this.accessory.displayName} failed pushChanges`);
|
|
101
|
-
if (this.deviceLogging
|
|
101
|
+
if (this.deviceLogging.includes('debug')) {
|
|
102
102
|
this.errorLog(`Lock: ${this.accessory.displayName} failed pushChanges,` + ` Error Message: ${JSON.stringify(e.message)}`);
|
|
103
103
|
}
|
|
104
|
-
if (this.platform.debugMode) {
|
|
105
|
-
this.errorLog(`Lock: ${this.accessory.displayName} failed pushChanges,` + ` Error: ${JSON.stringify(e)}`);
|
|
106
|
-
}
|
|
107
104
|
this.apiError(e);
|
|
108
105
|
}
|
|
109
106
|
this.lockUpdateInProgress = false;
|
|
@@ -133,14 +130,11 @@ export class Lock {
|
|
|
133
130
|
this.updateHomeKitCharacteristics();
|
|
134
131
|
} catch (e: any) {
|
|
135
132
|
this.errorLog(`Lock: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection`);
|
|
136
|
-
if (this.deviceLogging
|
|
133
|
+
if (this.deviceLogging.includes('debug')) {
|
|
137
134
|
this.errorLog(
|
|
138
135
|
`Lock: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
139
136
|
);
|
|
140
137
|
}
|
|
141
|
-
if (this.platform.debugMode) {
|
|
142
|
-
this.errorLog(`Lock: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
143
|
-
}
|
|
144
138
|
this.apiError(e);
|
|
145
139
|
}
|
|
146
140
|
}
|
|
@@ -264,7 +258,7 @@ export class Lock {
|
|
|
264
258
|
config['scanDuration'] = device.scanDuration;
|
|
265
259
|
}
|
|
266
260
|
if (Object.entries(config).length !== 0) {
|
|
267
|
-
this.
|
|
261
|
+
this.infoLog(`Lock: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
|
|
268
262
|
}
|
|
269
263
|
}
|
|
270
264
|
|
|
@@ -340,6 +334,6 @@ export class Lock {
|
|
|
340
334
|
}
|
|
341
335
|
|
|
342
336
|
enablingDeviceLogging(): boolean {
|
|
343
|
-
return this.deviceLogging
|
|
337
|
+
return this.deviceLogging.includes('debug') || this.deviceLogging === 'standard';
|
|
344
338
|
}
|
|
345
339
|
}
|
package/src/device/meter.ts
CHANGED
|
@@ -283,14 +283,11 @@ export class Meter {
|
|
|
283
283
|
})
|
|
284
284
|
.catch(async (e: any) => {
|
|
285
285
|
this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with BLE Connection`);
|
|
286
|
-
if (this.deviceLogging
|
|
286
|
+
if (this.deviceLogging.includes('debug')) {
|
|
287
287
|
this.errorLog(
|
|
288
288
|
`Meter: ${this.accessory.displayName} failed refreshStatus with BLE Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
289
289
|
);
|
|
290
290
|
}
|
|
291
|
-
if (this.platform.debugMode) {
|
|
292
|
-
this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with BLE Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
293
|
-
}
|
|
294
291
|
if (this.platform.config.credentials?.openToken) {
|
|
295
292
|
this.warnLog(`Meter: ${this.accessory.displayName} Using OpenAPI Connection`);
|
|
296
293
|
this.SwitchToOpenAPI = true;
|
|
@@ -324,14 +321,11 @@ export class Meter {
|
|
|
324
321
|
this.updateHomeKitCharacteristics();
|
|
325
322
|
} catch (e: any) {
|
|
326
323
|
this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection`);
|
|
327
|
-
if (this.deviceLogging
|
|
324
|
+
if (this.deviceLogging.includes('debug')) {
|
|
328
325
|
this.errorLog(
|
|
329
326
|
`Meter: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error Message: ${JSON.stringify(e.message)}`,
|
|
330
327
|
);
|
|
331
328
|
}
|
|
332
|
-
if (this.platform.debugMode) {
|
|
333
|
-
this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,` + ` Error: ${JSON.stringify(e)}`);
|
|
334
|
-
}
|
|
335
329
|
this.apiError(e);
|
|
336
330
|
}
|
|
337
331
|
}
|
|
@@ -417,7 +411,7 @@ export class Meter {
|
|
|
417
411
|
config['scanDuration'] = device.scanDuration;
|
|
418
412
|
}
|
|
419
413
|
if (Object.entries(config).length !== 0) {
|
|
420
|
-
this.
|
|
414
|
+
this.infoLog(`Meter: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
|
|
421
415
|
}
|
|
422
416
|
}
|
|
423
417
|
|
|
@@ -493,6 +487,6 @@ export class Meter {
|
|
|
493
487
|
}
|
|
494
488
|
|
|
495
489
|
enablingDeviceLogging(): boolean {
|
|
496
|
-
return this.deviceLogging
|
|
490
|
+
return this.deviceLogging.includes('debug') || this.deviceLogging === 'standard';
|
|
497
491
|
}
|
|
498
492
|
}
|