@switchbot/homebridge-switchbot 2.0.0-beta.15 → 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.
@@ -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;YAwDhB,SAAS;YA4DT,WAAW;YAuDX,eAAe;YAuDf,YAAY;YAuDZ,aAAa;YAuDb,aAAa;IAkE3B,OAAO,CAAC,gBAAgB;YAeV,UAAU;YAuDV,UAAU;YAuDV,eAAe;YAuDf,gBAAgB;YAuDhB,QAAQ;YAsDR,SAAS;YAwDT,WAAW;YAuDX,oBAAoB;YAuDpB,iBAAiB;YAuDjB,iBAAiB;YAuDjB,mBAAmB;YAuDnB,YAAY;YAuDZ,YAAY;IAuD1B,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"}
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
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,7 +628,6 @@ 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;
@@ -637,6 +635,7 @@ class SwitchBotPlatform {
637
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
@@ -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.15",
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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