@switchbot/homebridge-switchbot 2.0.0-beta.14 → 2.0.0-beta.16
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/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +40 -41
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
- package/src/platform.ts +40 -62
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAA8B,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,aAAa,EAA0B,MAAM,YAAY,CAAC;AAE1I;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,qBAAqB;aAejC,GAAG,EAAE,MAAM;aAAkB,MAAM,EAAE,uBAAuB;aAAkB,GAAG,EAAE,GAAG;IAdlH,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAEtD,OAAO,MAAkD;IACzD,YAAY,EAAG,GAAG,CAAC;IACnB,iBAAiB,EAAG,OAAO,CAAC;IAC5B,SAAS,EAAG,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAgB,WAAW,EAAE,GAAG,CAAC;gBAEL,GAAG,EAAE,MAAM,EAAkB,MAAM,EAAE,uBAAuB,EAAkB,GAAG,EAAE,GAAG;IAmDlH,IAAI;IAoBJ;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;OAEG;IACG,YAAY;IAyFlB;;;;OAIG;IACG,WAAW;IA6CjB;;OAEG;IACG,eAAe;IAgJrB,WAAW,CAAC,CAAC,EAAE,GAAG;IA0ClB,OAAO,CAAC,YAAY;IAqEpB,OAAO,CAAC,cAAc;YA+DR,gBAAgB;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAA8B,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,aAAa,EAA0B,MAAM,YAAY,CAAC;AAE1I;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,qBAAqB;aAejC,GAAG,EAAE,MAAM;aAAkB,MAAM,EAAE,uBAAuB;aAAkB,GAAG,EAAE,GAAG;IAdlH,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAEtD,OAAO,MAAkD;IACzD,YAAY,EAAG,GAAG,CAAC;IACnB,iBAAiB,EAAG,OAAO,CAAC;IAC5B,SAAS,EAAG,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAgB,WAAW,EAAE,GAAG,CAAC;gBAEL,GAAG,EAAE,MAAM,EAAkB,MAAM,EAAE,uBAAuB,EAAkB,GAAG,EAAE,GAAG;IAmDlH,IAAI;IAoBJ;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;OAEG;IACG,YAAY;IAyFlB;;;;OAIG;IACG,WAAW;IA6CjB;;OAEG;IACG,eAAe;IAgJrB,WAAW,CAAC,CAAC,EAAE,GAAG;IA0ClB,OAAO,CAAC,YAAY;IAqEpB,OAAO,CAAC,cAAc;YA+DR,gBAAgB;YAsDhB,SAAS;YA2DT,WAAW;YAsDX,eAAe;YAsDf,YAAY;YAsDZ,aAAa;YAsDb,aAAa;IAiE3B,OAAO,CAAC,gBAAgB;YAeV,UAAU;YAsDV,UAAU;YAsDV,eAAe;YAsDf,gBAAgB;YAsDhB,QAAQ;YAqDR,SAAS;YAsDT,WAAW;YAsDX,oBAAoB;YAsDpB,iBAAiB;YAsDjB,iBAAiB;YAsDjB,mBAAmB;YAsDnB,YAAY;YAsDZ,YAAY;IAsD1B,OAAO,CAAC,cAAc;IAkBT,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,SAAS,EAAE,iBAAiB;IAU/E,iBAAiB,CAAC,SAAS,EAAE,iBAAiB;IAI9C,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,SAAS,EAAE,iBAAiB;IAQvF,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,EAAE,iBAAiB;IAQpG,4BAA4B,CAAC,SAAS,EAAE,iBAAiB;IAIzD,iCAAiC,CAAC,iBAAiB,EAAE,iBAAiB;IAI5E,6BAA6B,CAAC,iBAAiB,EAAE,iBAAiB;IAMlE,cAAc,CAAC,OAAO,KAAA;IAMhB,UAAU,CAAC,MAAM,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC;IA6CrF,UAAU;IAaV;;;OAGG;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,uBAAuB,IAAI,OAAO;CAGnC"}
|
package/dist/platform.js
CHANGED
|
@@ -577,14 +577,13 @@ class SwitchBotPlatform {
|
|
|
577
577
|
if (existingAccessory) {
|
|
578
578
|
// the accessory already exists
|
|
579
579
|
if (this.registerDevice(device)) {
|
|
580
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
581
580
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
582
|
-
//existingAccessory.context.firmwareRevision = firmware;
|
|
583
581
|
existingAccessory.context.model = device.deviceType;
|
|
584
582
|
existingAccessory.context.deviceID = device.deviceId;
|
|
585
|
-
existingAccessory.displayName = device.deviceName;
|
|
583
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
586
584
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
587
585
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
586
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
588
587
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
589
588
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
590
589
|
// create the accessory handler for the restored accessory
|
|
@@ -629,14 +628,14 @@ class SwitchBotPlatform {
|
|
|
629
628
|
if (existingAccessory) {
|
|
630
629
|
// the accessory already exists
|
|
631
630
|
if (this.registerDevice(device)) {
|
|
632
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
633
631
|
this.debugLog((0, super_stringify_1.default)(device.bot?.mode));
|
|
634
632
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
635
633
|
existingAccessory.context.model = device.deviceType;
|
|
636
634
|
existingAccessory.context.deviceID = device.deviceId;
|
|
637
|
-
existingAccessory.displayName = device.deviceName;
|
|
635
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
638
636
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
639
637
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
638
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
640
639
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
641
640
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
642
641
|
// create the accessory handler for the restored accessory
|
|
@@ -683,13 +682,13 @@ class SwitchBotPlatform {
|
|
|
683
682
|
if (existingAccessory) {
|
|
684
683
|
// the accessory already exists
|
|
685
684
|
if (this.registerDevice(device)) {
|
|
686
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
687
685
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
688
686
|
existingAccessory.context.model = device.deviceType;
|
|
689
687
|
existingAccessory.context.deviceID = device.deviceId;
|
|
690
|
-
existingAccessory.displayName = device.deviceName;
|
|
688
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
691
689
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
692
690
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
691
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
693
692
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
694
693
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
695
694
|
// create the accessory handler for the restored accessory
|
|
@@ -734,13 +733,13 @@ class SwitchBotPlatform {
|
|
|
734
733
|
if (existingAccessory) {
|
|
735
734
|
// the accessory already exists
|
|
736
735
|
if (this.registerDevice(device)) {
|
|
737
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
738
736
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
739
737
|
existingAccessory.context.model = device.deviceType;
|
|
740
738
|
existingAccessory.context.deviceID = device.deviceId;
|
|
741
|
-
existingAccessory.displayName = device.deviceName;
|
|
739
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
742
740
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
743
741
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
742
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
744
743
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
745
744
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
746
745
|
// create the accessory handler for the restored accessory
|
|
@@ -785,13 +784,13 @@ class SwitchBotPlatform {
|
|
|
785
784
|
if (existingAccessory) {
|
|
786
785
|
// the accessory already exists
|
|
787
786
|
if (this.registerDevice(device)) {
|
|
788
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
789
787
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
790
788
|
existingAccessory.context.model = device.deviceType;
|
|
791
789
|
existingAccessory.context.deviceID = device.deviceId;
|
|
792
|
-
existingAccessory.displayName = device.deviceName;
|
|
790
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
793
791
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
794
792
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
793
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
795
794
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
796
795
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
797
796
|
// create the accessory handler for the restored accessory
|
|
@@ -836,13 +835,13 @@ class SwitchBotPlatform {
|
|
|
836
835
|
if (existingAccessory) {
|
|
837
836
|
// the accessory already exists
|
|
838
837
|
if (this.registerDevice(device)) {
|
|
839
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
840
838
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
841
839
|
existingAccessory.context.model = device.deviceType;
|
|
842
840
|
existingAccessory.context.deviceID = device.deviceId;
|
|
843
|
-
existingAccessory.displayName = device.deviceName;
|
|
841
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
844
842
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
845
843
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
844
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
846
845
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
847
846
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
848
847
|
// create the accessory handler for the restored accessory
|
|
@@ -887,13 +886,13 @@ class SwitchBotPlatform {
|
|
|
887
886
|
if (existingAccessory) {
|
|
888
887
|
// the accessory already exists
|
|
889
888
|
if (this.isCurtainGrouped(device)) {
|
|
890
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
891
889
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
892
890
|
existingAccessory.context.model = device.deviceType;
|
|
893
891
|
existingAccessory.context.deviceID = device.deviceId;
|
|
894
|
-
existingAccessory.displayName = device.deviceName;
|
|
892
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
895
893
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
896
894
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
895
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
897
896
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
898
897
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
899
898
|
// create the accessory handler for the restored accessory
|
|
@@ -962,13 +961,13 @@ class SwitchBotPlatform {
|
|
|
962
961
|
if (existingAccessory) {
|
|
963
962
|
// the accessory already exists
|
|
964
963
|
if (this.registerDevice(device)) {
|
|
965
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
966
964
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
967
965
|
existingAccessory.context.model = device.deviceType;
|
|
968
966
|
existingAccessory.context.deviceID = device.deviceId;
|
|
969
|
-
existingAccessory.displayName = device.deviceName;
|
|
967
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
970
968
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
971
969
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
970
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
972
971
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
973
972
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
974
973
|
// create the accessory handler for the restored accessory
|
|
@@ -1013,13 +1012,13 @@ class SwitchBotPlatform {
|
|
|
1013
1012
|
if (existingAccessory) {
|
|
1014
1013
|
// the accessory already exists
|
|
1015
1014
|
if (this.registerDevice(device)) {
|
|
1016
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1017
1015
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1018
1016
|
existingAccessory.context.model = device.deviceType;
|
|
1019
1017
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1020
|
-
existingAccessory.displayName = device.deviceName;
|
|
1018
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1021
1019
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1022
1020
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
1021
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1023
1022
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
1024
1023
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1025
1024
|
// create the accessory handler for the restored accessory
|
|
@@ -1064,13 +1063,13 @@ class SwitchBotPlatform {
|
|
|
1064
1063
|
if (existingAccessory) {
|
|
1065
1064
|
// the accessory already exists
|
|
1066
1065
|
if (this.registerDevice(device)) {
|
|
1067
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1068
1066
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1069
1067
|
existingAccessory.context.model = device.deviceType;
|
|
1070
1068
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1071
|
-
existingAccessory.displayName = device.deviceName;
|
|
1069
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1072
1070
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1073
1071
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
1072
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1074
1073
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
1075
1074
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1076
1075
|
// create the accessory handler for the restored accessory
|
|
@@ -1115,13 +1114,13 @@ class SwitchBotPlatform {
|
|
|
1115
1114
|
if (existingAccessory) {
|
|
1116
1115
|
// the accessory already exists
|
|
1117
1116
|
if (this.registerDevice(device)) {
|
|
1118
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1119
1117
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1120
1118
|
existingAccessory.context.model = device.deviceType;
|
|
1121
1119
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1122
|
-
existingAccessory.displayName = device.deviceName;
|
|
1120
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1123
1121
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1124
1122
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
1123
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1125
1124
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
1126
1125
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1127
1126
|
// create the accessory handler for the restored accessory
|
|
@@ -1164,13 +1163,13 @@ class SwitchBotPlatform {
|
|
|
1164
1163
|
// the cached devices we stored in the `configureAccessory` method above
|
|
1165
1164
|
const existingAccessory = this.accessories.find((accessory) => accessory.UUID === uuid);
|
|
1166
1165
|
if (!device.hide_device && existingAccessory) {
|
|
1167
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1168
1166
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1169
1167
|
existingAccessory.context.model = device.remoteType;
|
|
1170
1168
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1171
|
-
existingAccessory.displayName = device.deviceName;
|
|
1169
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1172
1170
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1173
1171
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1172
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1174
1173
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1175
1174
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1176
1175
|
// create the accessory handler for the restored accessory
|
|
@@ -1215,13 +1214,13 @@ class SwitchBotPlatform {
|
|
|
1215
1214
|
if (existingAccessory) {
|
|
1216
1215
|
// the accessory already exists
|
|
1217
1216
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1218
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1219
1217
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1220
1218
|
existingAccessory.context.model = device.remoteType;
|
|
1221
1219
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1222
|
-
existingAccessory.displayName = device.deviceName;
|
|
1220
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1223
1221
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1224
1222
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1223
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1225
1224
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1226
1225
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1227
1226
|
// create the accessory handler for the restored accessory
|
|
@@ -1266,13 +1265,13 @@ class SwitchBotPlatform {
|
|
|
1266
1265
|
if (existingAccessory) {
|
|
1267
1266
|
// the accessory already exists
|
|
1268
1267
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1269
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1270
1268
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1271
1269
|
existingAccessory.context.model = device.remoteType;
|
|
1272
1270
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1273
|
-
existingAccessory.displayName = device.deviceName;
|
|
1271
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1274
1272
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1275
1273
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1274
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1276
1275
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1277
1276
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1278
1277
|
// create the accessory handler for the restored accessory
|
|
@@ -1317,13 +1316,13 @@ class SwitchBotPlatform {
|
|
|
1317
1316
|
if (existingAccessory) {
|
|
1318
1317
|
// the accessory already exists
|
|
1319
1318
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1320
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1321
1319
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1322
1320
|
existingAccessory.context.model = device.remoteType;
|
|
1323
1321
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1324
|
-
existingAccessory.displayName = device.deviceName;
|
|
1322
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1325
1323
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1326
1324
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1325
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1327
1326
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1328
1327
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1329
1328
|
// create the accessory handler for the restored accessory
|
|
@@ -1368,13 +1367,13 @@ class SwitchBotPlatform {
|
|
|
1368
1367
|
if (existingAccessory) {
|
|
1369
1368
|
// the accessory already exists
|
|
1370
1369
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1371
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1372
1370
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1373
1371
|
existingAccessory.context.model = device.remoteType;
|
|
1374
1372
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1375
|
-
existingAccessory.displayName = device.deviceName;
|
|
1373
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1376
1374
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1377
1375
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1376
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1378
1377
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1379
1378
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1380
1379
|
// create the accessory handler for the restored accessory
|
|
@@ -1419,13 +1418,13 @@ class SwitchBotPlatform {
|
|
|
1419
1418
|
if (existingAccessory) {
|
|
1420
1419
|
// the accessory already exists
|
|
1421
1420
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1422
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1423
1421
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1424
1422
|
existingAccessory.context.model = device.remoteType;
|
|
1425
1423
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1426
|
-
existingAccessory.displayName = device.deviceName;
|
|
1424
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1427
1425
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1428
1426
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1427
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1429
1428
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1430
1429
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1431
1430
|
// create the accessory handler for the restored accessory
|
|
@@ -1470,13 +1469,13 @@ class SwitchBotPlatform {
|
|
|
1470
1469
|
if (existingAccessory) {
|
|
1471
1470
|
// the accessory already exists
|
|
1472
1471
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1473
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1474
1472
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1475
1473
|
existingAccessory.context.model = device.remoteType;
|
|
1476
1474
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1477
|
-
existingAccessory.displayName = device.deviceName;
|
|
1475
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1478
1476
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1479
1477
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1478
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1480
1479
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1481
1480
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1482
1481
|
// create the accessory handler for the restored accessory
|
|
@@ -1521,13 +1520,13 @@ class SwitchBotPlatform {
|
|
|
1521
1520
|
if (existingAccessory) {
|
|
1522
1521
|
// the accessory already exists
|
|
1523
1522
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1524
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1525
1523
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1526
1524
|
existingAccessory.context.model = device.remoteType;
|
|
1527
1525
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1528
|
-
existingAccessory.displayName = device.deviceName;
|
|
1526
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1529
1527
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1530
1528
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1529
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1531
1530
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1532
1531
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1533
1532
|
// create the accessory handler for the restored accessory
|
|
@@ -1572,13 +1571,13 @@ class SwitchBotPlatform {
|
|
|
1572
1571
|
if (existingAccessory) {
|
|
1573
1572
|
// the accessory already exists
|
|
1574
1573
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1575
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1576
1574
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1577
1575
|
existingAccessory.context.model = device.remoteType;
|
|
1578
1576
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1579
|
-
existingAccessory.displayName = device.deviceName;
|
|
1577
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1580
1578
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1581
1579
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1580
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1582
1581
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1583
1582
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1584
1583
|
// create the accessory handler for the restored accessory
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "Homebridge SwitchBot",
|
|
3
3
|
"name": "@switchbot/homebridge-switchbot",
|
|
4
|
-
"version": "2.0.0-beta.
|
|
4
|
+
"version": "2.0.0-beta.16",
|
|
5
5
|
"description": "The [Homebridge](https://homebridge.io) SwitchBot plugin allows you to access your [SwitchBot](https://www.switch-bot.com) device(s) from HomeKit.",
|
|
6
6
|
"author": "SwitchBot <support@wondertechlabs.com> (https://github.com/SwitchBot)",
|
|
7
7
|
"license": "ISC",
|
package/src/platform.ts
CHANGED
|
@@ -602,15 +602,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
602
602
|
if (existingAccessory) {
|
|
603
603
|
// the accessory already exists
|
|
604
604
|
if (this.registerDevice(device)) {
|
|
605
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
606
|
-
|
|
607
605
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
608
|
-
//existingAccessory.context.firmwareRevision = firmware;
|
|
609
606
|
existingAccessory.context.model = device.deviceType;
|
|
610
607
|
existingAccessory.context.deviceID = device.deviceId;
|
|
611
|
-
existingAccessory.displayName = device.deviceName;
|
|
608
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
612
609
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
613
610
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
611
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
614
612
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
615
613
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
616
614
|
// create the accessory handler for the restored accessory
|
|
@@ -658,16 +656,15 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
658
656
|
if (existingAccessory) {
|
|
659
657
|
// the accessory already exists
|
|
660
658
|
if (this.registerDevice(device)) {
|
|
661
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
662
659
|
|
|
663
660
|
this.debugLog(superStringify(device.bot?.mode));
|
|
664
|
-
|
|
665
661
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
666
662
|
existingAccessory.context.model = device.deviceType;
|
|
667
663
|
existingAccessory.context.deviceID = device.deviceId;
|
|
668
|
-
existingAccessory.displayName = device.deviceName;
|
|
664
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
669
665
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
670
666
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
667
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
671
668
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
672
669
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
673
670
|
// create the accessory handler for the restored accessory
|
|
@@ -718,14 +715,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
718
715
|
if (existingAccessory) {
|
|
719
716
|
// the accessory already exists
|
|
720
717
|
if (this.registerDevice(device)) {
|
|
721
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
722
|
-
|
|
723
718
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
724
719
|
existingAccessory.context.model = device.deviceType;
|
|
725
720
|
existingAccessory.context.deviceID = device.deviceId;
|
|
726
|
-
existingAccessory.displayName = device.deviceName;
|
|
721
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
727
722
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
728
723
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
724
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
729
725
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
730
726
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
731
727
|
// create the accessory handler for the restored accessory
|
|
@@ -773,14 +769,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
773
769
|
if (existingAccessory) {
|
|
774
770
|
// the accessory already exists
|
|
775
771
|
if (this.registerDevice(device)) {
|
|
776
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
777
|
-
|
|
778
772
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
779
773
|
existingAccessory.context.model = device.deviceType;
|
|
780
774
|
existingAccessory.context.deviceID = device.deviceId;
|
|
781
|
-
existingAccessory.displayName = device.deviceName;
|
|
775
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
782
776
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
783
777
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
778
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
784
779
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
785
780
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
786
781
|
// create the accessory handler for the restored accessory
|
|
@@ -828,14 +823,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
828
823
|
if (existingAccessory) {
|
|
829
824
|
// the accessory already exists
|
|
830
825
|
if (this.registerDevice(device)) {
|
|
831
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
832
|
-
|
|
833
826
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
834
827
|
existingAccessory.context.model = device.deviceType;
|
|
835
828
|
existingAccessory.context.deviceID = device.deviceId;
|
|
836
|
-
existingAccessory.displayName = device.deviceName;
|
|
829
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
837
830
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
838
831
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
832
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
839
833
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
840
834
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
841
835
|
// create the accessory handler for the restored accessory
|
|
@@ -883,14 +877,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
883
877
|
if (existingAccessory) {
|
|
884
878
|
// the accessory already exists
|
|
885
879
|
if (this.registerDevice(device)) {
|
|
886
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
887
|
-
|
|
888
880
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
889
881
|
existingAccessory.context.model = device.deviceType;
|
|
890
882
|
existingAccessory.context.deviceID = device.deviceId;
|
|
891
|
-
existingAccessory.displayName = device.deviceName;
|
|
883
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
892
884
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
893
885
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
886
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
894
887
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
895
888
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
896
889
|
// create the accessory handler for the restored accessory
|
|
@@ -938,14 +931,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
938
931
|
if (existingAccessory) {
|
|
939
932
|
// the accessory already exists
|
|
940
933
|
if (this.isCurtainGrouped(device)) {
|
|
941
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
942
|
-
|
|
943
934
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
944
935
|
existingAccessory.context.model = device.deviceType;
|
|
945
936
|
existingAccessory.context.deviceID = device.deviceId;
|
|
946
|
-
existingAccessory.displayName = device.deviceName;
|
|
937
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
947
938
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
948
939
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
940
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
949
941
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
950
942
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
951
943
|
// create the accessory handler for the restored accessory
|
|
@@ -1019,14 +1011,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1019
1011
|
if (existingAccessory) {
|
|
1020
1012
|
// the accessory already exists
|
|
1021
1013
|
if (this.registerDevice(device)) {
|
|
1022
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1023
|
-
|
|
1024
1014
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1025
1015
|
existingAccessory.context.model = device.deviceType;
|
|
1026
1016
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1027
|
-
existingAccessory.displayName = device.deviceName;
|
|
1017
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1028
1018
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1029
1019
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
1020
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1030
1021
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
1031
1022
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1032
1023
|
// create the accessory handler for the restored accessory
|
|
@@ -1074,14 +1065,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1074
1065
|
if (existingAccessory) {
|
|
1075
1066
|
// the accessory already exists
|
|
1076
1067
|
if (this.registerDevice(device)) {
|
|
1077
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1078
|
-
|
|
1079
1068
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1080
1069
|
existingAccessory.context.model = device.deviceType;
|
|
1081
1070
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1082
|
-
existingAccessory.displayName = device.deviceName;
|
|
1071
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1083
1072
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1084
1073
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
1074
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1085
1075
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
1086
1076
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1087
1077
|
// create the accessory handler for the restored accessory
|
|
@@ -1129,14 +1119,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1129
1119
|
if (existingAccessory) {
|
|
1130
1120
|
// the accessory already exists
|
|
1131
1121
|
if (this.registerDevice(device)) {
|
|
1132
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1133
|
-
|
|
1134
1122
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1135
1123
|
existingAccessory.context.model = device.deviceType;
|
|
1136
1124
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1137
|
-
existingAccessory.displayName = device.deviceName;
|
|
1125
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1138
1126
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1139
1127
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
1128
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1140
1129
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
1141
1130
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1142
1131
|
// create the accessory handler for the restored accessory
|
|
@@ -1184,14 +1173,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1184
1173
|
if (existingAccessory) {
|
|
1185
1174
|
// the accessory already exists
|
|
1186
1175
|
if (this.registerDevice(device)) {
|
|
1187
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1188
|
-
|
|
1189
1176
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1190
1177
|
existingAccessory.context.model = device.deviceType;
|
|
1191
1178
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1192
|
-
existingAccessory.displayName = device.deviceName;
|
|
1179
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1193
1180
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1194
1181
|
existingAccessory.context.deviceType = `SwitchBot: ${device.deviceType}`;
|
|
1182
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1195
1183
|
await this.connectionTypeExistingAccessory(device, existingAccessory);
|
|
1196
1184
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1197
1185
|
// create the accessory handler for the restored accessory
|
|
@@ -1237,14 +1225,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1237
1225
|
const existingAccessory = this.accessories.find((accessory) => accessory.UUID === uuid);
|
|
1238
1226
|
|
|
1239
1227
|
if (!device.hide_device && existingAccessory) {
|
|
1240
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1241
|
-
|
|
1242
1228
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1243
1229
|
existingAccessory.context.model = device.remoteType;
|
|
1244
1230
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1245
|
-
existingAccessory.displayName = device.deviceName;
|
|
1231
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1246
1232
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1247
1233
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1234
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1248
1235
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1249
1236
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1250
1237
|
// create the accessory handler for the restored accessory
|
|
@@ -1293,15 +1280,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1293
1280
|
if (existingAccessory) {
|
|
1294
1281
|
// the accessory already exists
|
|
1295
1282
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1296
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1297
|
-
|
|
1298
1283
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1299
|
-
|
|
1300
1284
|
existingAccessory.context.model = device.remoteType;
|
|
1301
1285
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1302
|
-
existingAccessory.displayName = device.deviceName;
|
|
1286
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1303
1287
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1304
1288
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1289
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1305
1290
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1306
1291
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1307
1292
|
// create the accessory handler for the restored accessory
|
|
@@ -1349,14 +1334,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1349
1334
|
if (existingAccessory) {
|
|
1350
1335
|
// the accessory already exists
|
|
1351
1336
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1352
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1353
|
-
|
|
1354
1337
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1355
1338
|
existingAccessory.context.model = device.remoteType;
|
|
1356
1339
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1357
|
-
existingAccessory.displayName = device.deviceName;
|
|
1340
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1358
1341
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1359
1342
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1343
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1360
1344
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1361
1345
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1362
1346
|
// create the accessory handler for the restored accessory
|
|
@@ -1404,14 +1388,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1404
1388
|
if (existingAccessory) {
|
|
1405
1389
|
// the accessory already exists
|
|
1406
1390
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1407
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1408
|
-
|
|
1409
1391
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1410
1392
|
existingAccessory.context.model = device.remoteType;
|
|
1411
1393
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1412
|
-
existingAccessory.displayName = device.deviceName;
|
|
1394
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1413
1395
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1414
1396
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1397
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1415
1398
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1416
1399
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1417
1400
|
// create the accessory handler for the restored accessory
|
|
@@ -1459,14 +1442,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1459
1442
|
if (existingAccessory) {
|
|
1460
1443
|
// the accessory already exists
|
|
1461
1444
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1462
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1463
|
-
|
|
1464
1445
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1465
1446
|
existingAccessory.context.model = device.remoteType;
|
|
1466
1447
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1467
|
-
existingAccessory.displayName = device.deviceName;
|
|
1448
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1468
1449
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1469
1450
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1451
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1470
1452
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1471
1453
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1472
1454
|
// create the accessory handler for the restored accessory
|
|
@@ -1514,14 +1496,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1514
1496
|
if (existingAccessory) {
|
|
1515
1497
|
// the accessory already exists
|
|
1516
1498
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1517
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1518
|
-
|
|
1519
1499
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1520
1500
|
existingAccessory.context.model = device.remoteType;
|
|
1521
1501
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1522
|
-
existingAccessory.displayName = device.deviceName;
|
|
1502
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1523
1503
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1524
1504
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1505
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1525
1506
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1526
1507
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1527
1508
|
// create the accessory handler for the restored accessory
|
|
@@ -1569,14 +1550,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1569
1550
|
if (existingAccessory) {
|
|
1570
1551
|
// the accessory already exists
|
|
1571
1552
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1572
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1573
|
-
|
|
1574
1553
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1575
1554
|
existingAccessory.context.model = device.remoteType;
|
|
1576
1555
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1577
|
-
existingAccessory.displayName = device.deviceName;
|
|
1556
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1578
1557
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1579
1558
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1559
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1580
1560
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1581
1561
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1582
1562
|
// create the accessory handler for the restored accessory
|
|
@@ -1624,14 +1604,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1624
1604
|
if (existingAccessory) {
|
|
1625
1605
|
// the accessory already exists
|
|
1626
1606
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1627
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1628
|
-
|
|
1629
1607
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1630
1608
|
existingAccessory.context.model = device.remoteType;
|
|
1631
1609
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1632
|
-
existingAccessory.displayName = device.deviceName;
|
|
1610
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1633
1611
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1634
1612
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1613
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1635
1614
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1636
1615
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1637
1616
|
// create the accessory handler for the restored accessory
|
|
@@ -1679,14 +1658,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
1679
1658
|
if (existingAccessory) {
|
|
1680
1659
|
// the accessory already exists
|
|
1681
1660
|
if (!device.hide_device && device.hubDeviceId) {
|
|
1682
|
-
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1683
|
-
|
|
1684
1661
|
// if you need to update the accessory.context then you should run `api.updatePlatformAccessories`. eg.:
|
|
1685
1662
|
existingAccessory.context.model = device.remoteType;
|
|
1686
1663
|
existingAccessory.context.deviceID = device.deviceId;
|
|
1687
|
-
existingAccessory.displayName = device.deviceName;
|
|
1664
|
+
existingAccessory.displayName = device.configDeviceName || device.deviceName;
|
|
1688
1665
|
existingAccessory.context.firmwareRevision = device.firmware;
|
|
1689
1666
|
existingAccessory.context.deviceType = `IR: ${device.remoteType}`;
|
|
1667
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName} DeviceID: ${device.deviceId}`);
|
|
1690
1668
|
await this.connectionTypeExistingIRAccessory(existingAccessory);
|
|
1691
1669
|
this.api.updatePlatformAccessories([existingAccessory]);
|
|
1692
1670
|
// create the accessory handler for the restored accessory
|