@switchbot/homebridge-switchbot 3.5.2-beta.2 → 3.5.2-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,7 +5,9 @@ All notable changes to this project will be documented in this file. This projec
5
5
  ## [3.5.1](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v3.5.1) (2024-06-27)
6
6
 
7
7
  ### What's Changed
8
- - Fix issue `RangeError: Maximum call stack size exceeded` introduced in `v3.5.0`
8
+ - Fixed issue `RangeError: Maximum call stack size exceeded` introduced in `v3.5.0`
9
+ - Fixed Bot deviceType issue which wouldn't use config service or remove leftover services.
10
+ - Fixed Other IR deviceType issue which wouldn't use config service or remove leftover services.
9
11
  - Housekeeping and updated dependencies.
10
12
 
11
13
  **Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.5.0...v3.5.1
package/README.md CHANGED
@@ -108,7 +108,7 @@
108
108
  - Must supply `deviceId` & `deviceName` to Device Config
109
109
  - Check `Enable Bluetooth Low Energy (BLE) Connection` on Device Config
110
110
  - [SwitchBot Blind Tilt](https://us.switch-bot.com/products/switchbot-blind-tilt)
111
- - Supports OpenAPI Connection Only
111
+ - Supports OpenAPI & partial Bluetooth Low Energy (BLE) Connections
112
112
  - If using OpenAPI:
113
113
  - [SwitchBot Hub Mini](https://www.switch-bot.com/products/switchbot-hub-mini) or [SwitchBot Hub 2](https://us.switch-bot.com/products/switchbot-hub-2) Required
114
114
  - Enable Cloud Services for Device on SwitchBot App
@@ -116,13 +116,13 @@
116
116
  - [SwitchBot Ceiling Light](https://www.switchbot.jp/collections/all/products/switchbot-ceiling-light)
117
117
  - [SwitchBot Ceiling Light Pro](https://www.switchbot.jp/collections/all/products/switchbot-ceiling-light)
118
118
  - [SwitchBot Light Strip](https://www.switch-bot.com/products/switchbot-light-strip)
119
- - Supports OpenAPI Connection Only
119
+ - Supports OpenAPI & partial Bluetooth Low Energy (BLE) Connections
120
120
  - If using OpenAPI:
121
121
  - [SwitchBot Hub Mini](https://www.switch-bot.com/products/switchbot-hub-mini) or [SwitchBot Hub 2](https://us.switch-bot.com/products/switchbot-hub-2) Required
122
122
  - Enable Cloud Services for Device on SwitchBot App
123
123
  - [SwitchBot Lock](https://us.switch-bot.com/products/switchbot-lock)
124
- - [SwitchBot Lock](https://www.switchbot.jp/products/switchbot-lock-pro)
125
- - Supports OpenAPI Connection Only
124
+ - [SwitchBot Lock Pro](https://www.switchbot.jp/products/switchbot-lock-pro)
125
+ - Supports OpenAPI & Bluetooth Low Energy (BLE) Connections
126
126
  - If using OpenAPI:
127
127
  - [SwitchBot Hub Mini](https://www.switch-bot.com/products/switchbot-hub-mini) or [SwitchBot Hub 2](https://us.switch-bot.com/products/switchbot-hub-2) Required
128
128
  - Enable Cloud Services for Device on SwitchBot App
@@ -134,7 +134,7 @@
134
134
  - [SwitchBot Plug](https://www.switch-bot.com/products/switchbot-plug)
135
135
  - [SwitchBot Plug Mini (US)](https://www.switch-bot.com/products/switchbot-plug-mini)
136
136
  - [SwitchBot Plug Mini (JP)](https://www.switchbot.jp/products/switchbot-plug-mini)
137
- - Supports OpenAPI Connection Only
137
+ - Supports OpenAPI & Bluetooth Low Energy (BLE) Connections
138
138
  - If using OpenAPI:
139
139
  - [SwitchBot Hub Mini](https://www.switch-bot.com/products/switchbot-hub-mini) or [SwitchBot Hub 2](https://us.switch-bot.com/products/switchbot-hub-2) Required
140
140
  - Enable Cloud Services for Device on SwitchBot App
@@ -152,8 +152,12 @@
152
152
  - Must supply `deviceId` & `deviceName` to Device Config
153
153
  - Check `Enable Bluetooth Low Energy (BLE) Connection` on Device Config
154
154
  - [SwitchBot Hub 2](https://us.switch-bot.com/products/switchbot-hub-2)
155
+ - Supports OpenAPI & Bluetooth Low Energy (BLE) Connections
156
+ - Enables Humidity, Temperature, and Light Sensor
157
+ - [SwitchBot Battery Circulator Fan](https://us.switch-bot.com/products/switchbot-battery-circulator-fan)
158
+ - Supports OpenAPI Connection Only
159
+ - [SwitchBot Water Leak Detector](https://us.switch-bot.com/products/switchbot-water-leak-detector)
155
160
  - Supports OpenAPI Connection Only
156
- - Enables Humidity and Temperature Sensor
157
161
 
158
162
  ## Supported IR Devices
159
163
 
@@ -1 +1 @@
1
- {"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../src/irdevice/other.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAElF;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,YAAY;IAkEpC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IAhEtC,OAAO,CAAC,MAAM,CAAC,CAIb;IAEF,OAAO,CAAC,UAAU,CAAC,CAIjB;IAEF,OAAO,CAAC,IAAI,CAAC,CAIX;IAEF,OAAO,CAAC,MAAM,CAAC,CAIb;IAEF,OAAO,CAAC,cAAc,CAAC,CAIrB;IAEF,OAAO,CAAC,aAAa,CAAC,CAIpB;IAEF,OAAO,CAAC,MAAM,CAAC,CAIb;IAEF,OAAO,CAAC,GAAG,CAAC,CAIV;IAEF,OAAO,CAAC,0BAA0B,CAAC,CAIjC;IAEF,OAAO,CAAC,MAAM,CAAC,CAIb;IAGF,eAAe,CAAC,EAAE,MAAM,CAAC;gBAGd,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,QAAQ,GAAG,eAAe;IAqUpC;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyEtD;;;;;;;;;OASG;IACG,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzC,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1C,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3C,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IA+J7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD/B,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9D,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9D,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7D,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,2BAA2B,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IASxE,uCAAuC,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IASpF,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAchF"}
1
+ {"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../src/irdevice/other.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAElF;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,YAAY;IAkEpC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IAhEtC,OAAO,CAAC,MAAM,CAAC,CAIb;IAEF,OAAO,CAAC,UAAU,CAAC,CAIjB;IAEF,OAAO,CAAC,IAAI,CAAC,CAIX;IAEF,OAAO,CAAC,MAAM,CAAC,CAIb;IAEF,OAAO,CAAC,cAAc,CAAC,CAIrB;IAEF,OAAO,CAAC,aAAa,CAAC,CAIpB;IAEF,OAAO,CAAC,MAAM,CAAC,CAIb;IAEF,OAAO,CAAC,GAAG,CAAC,CAIV;IAEF,OAAO,CAAC,0BAA0B,CAAC,CAIjC;IAEF,OAAO,CAAC,MAAM,CAAC,CAIb;IAGF,eAAe,CAAC,EAAE,MAAM,CAAC;gBAGd,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,QAAQ,GAAG,eAAe;IAqUpC;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyEtD;;;;;;;;;OASG;IACG,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzC,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1C,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3C,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IA+J7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD/B,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7D,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE,2BAA2B,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxE,uCAAuC,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAapF,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAchF"}
@@ -739,83 +739,123 @@ export class Others extends irdeviceBase {
739
739
  }
740
740
  async removeOutletService(accessory) {
741
741
  // If Outlet.Service still present, then remove first
742
- if (this.Outlet?.Service) {
743
- this.Outlet.Service = this.accessory.getService(this.hap.Service.Outlet);
744
- this.warnLog('Removing Leftover Outlet Service');
745
- accessory.removeService(this.Outlet.Service);
746
- }
742
+ accessory.context.Outlet = accessory.context.Outlet ?? {};
743
+ this.Outlet = {
744
+ Name: accessory.context.Outlet.Name ?? `${accessory.displayName} Outlet`,
745
+ Service: accessory.getService(this.hap.Service.Outlet),
746
+ On: accessory.context.On ?? false,
747
+ };
748
+ accessory.context.Outlet = this.Outlet;
749
+ this.warnLog('Removing any leftover Outlet Service');
750
+ accessory.removeService(this.Outlet.Service);
747
751
  }
748
752
  async removeGarageDoorService(accessory) {
749
753
  // If GarageDoor.Service still present, then remove first
750
- if (this.GarageDoor?.Service) {
751
- this.GarageDoor.Service = this.accessory.getService(this.hap.Service.GarageDoorOpener);
752
- this.warnLog('Removing Leftover Garage Door Service');
753
- accessory.removeService(this.GarageDoor.Service);
754
- }
754
+ accessory.context.GarageDoor = accessory.context.GarageDoor ?? {};
755
+ this.GarageDoor = {
756
+ Name: accessory.context.GarageDoor.Name ?? `${accessory.displayName} Garage Door`,
757
+ Service: accessory.getService(this.hap.Service.GarageDoorOpener),
758
+ On: accessory.context.On ?? false,
759
+ };
760
+ accessory.context.GarageDoor = this.GarageDoor;
761
+ this.warnLog('Removing any leftover Garage Door Service');
762
+ accessory.removeService(this.GarageDoor.Service);
755
763
  }
756
764
  async removeDoorService(accessory) {
757
765
  // If Door.Service still present, then remove first
758
- if (this.Door?.Service) {
759
- this.Door.Service = this.accessory.getService(this.hap.Service.Door);
760
- this.warnLog('Removing Leftover Door Service');
761
- accessory.removeService(this.Door.Service);
762
- }
766
+ accessory.context.Door = accessory.context.Door ?? {};
767
+ this.Door = {
768
+ Name: accessory.context.Door.Name ?? `${accessory.displayName} Door`,
769
+ Service: accessory.getService(this.hap.Service.Door),
770
+ On: accessory.context.On ?? false,
771
+ };
772
+ accessory.context.Door = this.Door;
773
+ this.warnLog('Removing any leftover Door Service');
774
+ accessory.removeService(this.Door.Service);
763
775
  }
764
776
  async removeLockService(accessory) {
765
777
  // If Lock.Service still present, then remove first
766
- if (this.LockMechanism?.Service) {
767
- this.LockMechanism.Service = this.accessory.getService(this.hap.Service.LockMechanism);
768
- this.warnLog('Removing Leftover Lock Service');
769
- accessory.removeService(this.LockMechanism.Service);
770
- }
778
+ accessory.context.LockMechanism = accessory.context.LockMechanism ?? {};
779
+ this.LockMechanism = {
780
+ Name: accessory.context.LockMechanism.Name ?? `${accessory.displayName} Lock`,
781
+ Service: accessory.getService(this.hap.Service.LockMechanism),
782
+ On: accessory.context.On ?? false,
783
+ };
784
+ accessory.context.LockMechanism = this.LockMechanism;
785
+ this.warnLog('Removing any leftover Lock Service');
786
+ accessory.removeService(this.LockMechanism.Service);
771
787
  }
772
788
  async removeFaucetService(accessory) {
773
789
  // If Faucet.Service still present, then remove first
774
- if (this.Faucet?.Service) {
775
- this.Faucet.Service = this.accessory.getService(this.hap.Service.Faucet);
776
- this.warnLog('Removing Leftover Faucet Service');
777
- accessory.removeService(this.Faucet.Service);
778
- }
790
+ accessory.context.Faucet = accessory.context.Faucet ?? {};
791
+ this.Faucet = {
792
+ Name: accessory.context.Faucet.Name ?? `${accessory.displayName} Faucet`,
793
+ Service: accessory.getService(this.hap.Service.Faucet),
794
+ On: accessory.context.On ?? false,
795
+ };
796
+ accessory.context.Faucet = this.Faucet;
797
+ this.warnLog('Removing any leftover Faucet Service');
798
+ accessory.removeService(this.Faucet.Service);
779
799
  }
780
800
  async removeFanService(accessory) {
781
801
  // If Fan Service still present, then remove first
782
- if (this.Fan?.Service) {
783
- this.Fan.Service = this.accessory.getService(this.hap.Service.Fan);
784
- this.warnLog('Removing Leftover Fan Service');
785
- accessory.removeService(this.Fan.Service);
786
- }
802
+ accessory.context.Fan = accessory.context.Fan ?? {};
803
+ this.Fan = {
804
+ Name: accessory.context.Fan.Name ?? `${accessory.displayName} Fan`,
805
+ Service: accessory.getService(this.hap.Service.Fanv2),
806
+ On: accessory.context.On ?? false,
807
+ };
808
+ accessory.context.Fan = this.Fan;
809
+ this.warnLog('Removing any leftover Fan Service');
810
+ accessory.removeService(this.Fan.Service);
787
811
  }
788
812
  async removeWindowService(accessory) {
789
813
  // If Window.Service still present, then remove first
790
- if (this.Window?.Service) {
791
- this.Window.Service = this.accessory.getService(this.hap.Service.Window);
792
- this.warnLog('Removing Leftover Window Service');
793
- accessory.removeService(this.Window.Service);
794
- }
814
+ accessory.context.Window = accessory.context.Window ?? {};
815
+ this.Window = {
816
+ Name: accessory.context.Window.Name ?? `${accessory.displayName} Window`,
817
+ Service: accessory.getService(this.hap.Service.Window),
818
+ On: accessory.context.On ?? false,
819
+ };
820
+ accessory.context.Window = this.Window;
821
+ this.warnLog('Removing any leftover Window Service');
822
+ accessory.removeService(this.Window.Service);
795
823
  }
796
824
  async removeWindowCoveringService(accessory) {
797
825
  // If WindowCovering.Service still present, then remove first
798
- if (this.WindowCovering?.Service) {
799
- this.WindowCovering.Service = this.accessory.getService(this.hap.Service.WindowCovering);
800
- this.warnLog('Removing Leftover Window Covering Service');
801
- accessory.removeService(this.WindowCovering.Service);
802
- }
826
+ accessory.context.WindowCovering = accessory.context.WindowCovering ?? {};
827
+ this.WindowCovering = {
828
+ Name: accessory.context.WindowCovering.Name ?? `${accessory.displayName} Window Covering`,
829
+ Service: accessory.getService(this.hap.Service.WindowCovering),
830
+ On: accessory.context.On ?? false,
831
+ };
832
+ accessory.context.WindowCovering = this.WindowCovering;
833
+ this.warnLog('Removing any leftover Window Covering Service');
834
+ accessory.removeService(this.WindowCovering.Service);
803
835
  }
804
836
  async removeStatefulProgrammableSwitchService(accessory) {
805
837
  // If StatefulProgrammableSwitch.Service still present, then remove first
806
- if (this.StatefulProgrammableSwitch?.Service) {
807
- this.StatefulProgrammableSwitch.Service = this.accessory.getService(this.hap.Service.StatefulProgrammableSwitch);
808
- this.warnLog('Removing Leftover Stateful Programmable Switch Service');
809
- accessory.removeService(this.StatefulProgrammableSwitch.Service);
810
- }
838
+ accessory.context.StatefulProgrammableSwitch = accessory.context.StatefulProgrammableSwitch ?? {};
839
+ this.StatefulProgrammableSwitch = {
840
+ Name: accessory.context.StatefulProgrammableSwitch.Name ?? `${accessory.displayName} Stateful Programmable Switch`,
841
+ Service: accessory.getService(this.hap.Service.StatefulProgrammableSwitch),
842
+ On: accessory.context.On ?? false,
843
+ };
844
+ accessory.context.StatefulProgrammableSwitch = this.StatefulProgrammableSwitch;
845
+ this.warnLog('Removing any leftover Stateful Programmable Switch Service');
846
+ accessory.removeService(this.StatefulProgrammableSwitch.Service);
811
847
  }
812
848
  async removeSwitchService(accessory) {
813
849
  // If Switch.Service still present, then remove first
814
- if (this.Switch?.Service) {
815
- this.Switch.Service = this.accessory.getService(this.hap.Service.Switch);
816
- this.warnLog('Removing Leftover Switch Service');
817
- accessory.removeService(this.Switch.Service);
818
- }
850
+ accessory.context.Switch = accessory.context.Switch ?? {};
851
+ this.Switch = {
852
+ Name: accessory.context.Switch.Name ?? `${accessory.displayName} Switch`,
853
+ Service: accessory.getService(this.hap.Service.Switch),
854
+ On: accessory.context.On ?? false,
855
+ };
856
+ accessory.context.Switch = this.Switch;
857
+ this.warnLog('Removing any leftover Switch Service');
858
+ accessory.removeService(this.Switch.Service);
819
859
  }
820
860
  async getOtherConfigSettings(device) {
821
861
  if (!device.other?.deviceType && this.accessory.context.deviceType) {
@@ -1 +1 @@
1
- {"version":3,"file":"other.js","sourceRoot":"","sources":["../../src/irdevice/other.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"other.js","sourceRoot":"","sources":["../../src/irdevice/other.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "SwitchBot",
3
3
  "name": "@switchbot/homebridge-switchbot",
4
- "version": "3.5.2-beta.2",
4
+ "version": "3.5.2-beta.4",
5
5
  "description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
6
6
  "author": {
7
7
  "name": "SwitchBot",
@@ -770,92 +770,132 @@ export class Others extends irdeviceBase {
770
770
 
771
771
  async removeOutletService(accessory: PlatformAccessory): Promise<void> {
772
772
  // If Outlet.Service still present, then remove first
773
- if (this.Outlet?.Service) {
774
- this.Outlet.Service = this.accessory.getService(this.hap.Service.Outlet) as Service;
775
- this.warnLog('Removing Leftover Outlet Service');
776
- accessory.removeService(this.Outlet.Service);
777
- }
773
+ accessory.context.Outlet = accessory.context.Outlet ?? {};
774
+ this.Outlet = {
775
+ Name: accessory.context.Outlet.Name ?? `${accessory.displayName} Outlet`,
776
+ Service: accessory.getService(this.hap.Service.Outlet) as Service,
777
+ On: accessory.context.On ?? false,
778
+ };
779
+ accessory.context.Outlet = this.Outlet as object;
780
+ this.warnLog('Removing any leftover Outlet Service');
781
+ accessory.removeService(this.Outlet.Service);
778
782
  }
779
783
 
780
784
  async removeGarageDoorService(accessory: PlatformAccessory): Promise<void> {
781
785
  // If GarageDoor.Service still present, then remove first
782
- if (this.GarageDoor?.Service) {
783
- this.GarageDoor.Service = this.accessory.getService(this.hap.Service.GarageDoorOpener) as Service;
784
- this.warnLog('Removing Leftover Garage Door Service');
785
- accessory.removeService(this.GarageDoor.Service);
786
- }
786
+ accessory.context.GarageDoor = accessory.context.GarageDoor ?? {};
787
+ this.GarageDoor = {
788
+ Name: accessory.context.GarageDoor.Name ?? `${accessory.displayName} Garage Door`,
789
+ Service: accessory.getService(this.hap.Service.GarageDoorOpener) as Service,
790
+ On: accessory.context.On ?? false,
791
+ };
792
+ accessory.context.GarageDoor = this.GarageDoor as object;
793
+ this.warnLog('Removing any leftover Garage Door Service');
794
+ accessory.removeService(this.GarageDoor.Service);
787
795
  }
788
796
 
789
797
  async removeDoorService(accessory: PlatformAccessory): Promise<void> {
790
798
  // If Door.Service still present, then remove first
791
- if (this.Door?.Service) {
792
- this.Door.Service = this.accessory.getService(this.hap.Service.Door) as Service;
793
- this.warnLog('Removing Leftover Door Service');
794
- accessory.removeService(this.Door.Service);
795
- }
799
+ accessory.context.Door = accessory.context.Door ?? {};
800
+ this.Door = {
801
+ Name: accessory.context.Door.Name ?? `${accessory.displayName} Door`,
802
+ Service: accessory.getService(this.hap.Service.Door) as Service,
803
+ On: accessory.context.On ?? false,
804
+ };
805
+ accessory.context.Door = this.Door as object;
806
+ this.warnLog('Removing any leftover Door Service');
807
+ accessory.removeService(this.Door.Service);
796
808
  }
797
809
 
798
810
  async removeLockService(accessory: PlatformAccessory): Promise<void> {
799
811
  // If Lock.Service still present, then remove first
800
- if (this.LockMechanism?.Service) {
801
- this.LockMechanism.Service = this.accessory.getService(this.hap.Service.LockMechanism) as Service;
802
- this.warnLog('Removing Leftover Lock Service');
803
- accessory.removeService(this.LockMechanism.Service);
804
- }
812
+ accessory.context.LockMechanism = accessory.context.LockMechanism ?? {};
813
+ this.LockMechanism = {
814
+ Name: accessory.context.LockMechanism.Name ?? `${accessory.displayName} Lock`,
815
+ Service: accessory.getService(this.hap.Service.LockMechanism) as Service,
816
+ On: accessory.context.On ?? false,
817
+ };
818
+ accessory.context.LockMechanism = this.LockMechanism as object;
819
+ this.warnLog('Removing any leftover Lock Service');
820
+ accessory.removeService(this.LockMechanism.Service);
805
821
  }
806
822
 
807
823
  async removeFaucetService(accessory: PlatformAccessory): Promise<void> {
808
824
  // If Faucet.Service still present, then remove first
809
- if (this.Faucet?.Service) {
810
- this.Faucet.Service = this.accessory.getService(this.hap.Service.Faucet) as Service;
811
- this.warnLog('Removing Leftover Faucet Service');
812
- accessory.removeService(this.Faucet.Service);
813
- }
825
+ accessory.context.Faucet = accessory.context.Faucet ?? {};
826
+ this.Faucet = {
827
+ Name: accessory.context.Faucet.Name ?? `${accessory.displayName} Faucet`,
828
+ Service: accessory.getService(this.hap.Service.Faucet) as Service,
829
+ On: accessory.context.On ?? false,
830
+ };
831
+ accessory.context.Faucet = this.Faucet as object;
832
+ this.warnLog('Removing any leftover Faucet Service');
833
+ accessory.removeService(this.Faucet.Service);
814
834
  }
815
835
 
816
836
  async removeFanService(accessory: PlatformAccessory): Promise<void> {
817
837
  // If Fan Service still present, then remove first
818
- if (this.Fan?.Service) {
819
- this.Fan.Service = this.accessory.getService(this.hap.Service.Fan) as Service;
820
- this.warnLog('Removing Leftover Fan Service');
821
- accessory.removeService(this.Fan.Service);
822
- }
838
+ accessory.context.Fan = accessory.context.Fan ?? {};
839
+ this.Fan = {
840
+ Name: accessory.context.Fan.Name ?? `${accessory.displayName} Fan`,
841
+ Service: accessory.getService(this.hap.Service.Fanv2) as Service,
842
+ On: accessory.context.On ?? false,
843
+ };
844
+ accessory.context.Fan = this.Fan as object;
845
+ this.warnLog('Removing any leftover Fan Service');
846
+ accessory.removeService(this.Fan.Service);
823
847
  }
824
848
 
825
849
  async removeWindowService(accessory: PlatformAccessory): Promise<void> {
826
850
  // If Window.Service still present, then remove first
827
- if (this.Window?.Service) {
828
- this.Window.Service = this.accessory.getService(this.hap.Service.Window) as Service;
829
- this.warnLog('Removing Leftover Window Service');
830
- accessory.removeService(this.Window.Service);
831
- }
851
+ accessory.context.Window = accessory.context.Window ?? {};
852
+ this.Window = {
853
+ Name: accessory.context.Window.Name ?? `${accessory.displayName} Window`,
854
+ Service: accessory.getService(this.hap.Service.Window) as Service,
855
+ On: accessory.context.On ?? false,
856
+ };
857
+ accessory.context.Window = this.Window as object;
858
+ this.warnLog('Removing any leftover Window Service');
859
+ accessory.removeService(this.Window.Service);
832
860
  }
833
861
 
834
862
  async removeWindowCoveringService(accessory: PlatformAccessory): Promise<void> {
835
863
  // If WindowCovering.Service still present, then remove first
836
- if (this.WindowCovering?.Service) {
837
- this.WindowCovering.Service = this.accessory.getService(this.hap.Service.WindowCovering) as Service;
838
- this.warnLog('Removing Leftover Window Covering Service');
839
- accessory.removeService(this.WindowCovering.Service);
840
- }
864
+ accessory.context.WindowCovering = accessory.context.WindowCovering ?? {};
865
+ this.WindowCovering = {
866
+ Name: accessory.context.WindowCovering.Name ?? `${accessory.displayName} Window Covering`,
867
+ Service: accessory.getService(this.hap.Service.WindowCovering) as Service,
868
+ On: accessory.context.On ?? false,
869
+ };
870
+ accessory.context.WindowCovering = this.WindowCovering as object;
871
+ this.warnLog('Removing any leftover Window Covering Service');
872
+ accessory.removeService(this.WindowCovering.Service);
841
873
  }
842
874
 
843
875
  async removeStatefulProgrammableSwitchService(accessory: PlatformAccessory): Promise<void> {
844
876
  // If StatefulProgrammableSwitch.Service still present, then remove first
845
- if (this.StatefulProgrammableSwitch?.Service) {
846
- this.StatefulProgrammableSwitch.Service = this.accessory.getService(this.hap.Service.StatefulProgrammableSwitch) as Service;
847
- this.warnLog('Removing Leftover Stateful Programmable Switch Service');
848
- accessory.removeService(this.StatefulProgrammableSwitch.Service);
849
- }
877
+ accessory.context.StatefulProgrammableSwitch = accessory.context.StatefulProgrammableSwitch ?? {};
878
+ this.StatefulProgrammableSwitch = {
879
+ Name: accessory.context.StatefulProgrammableSwitch.Name ?? `${accessory.displayName} Stateful Programmable Switch`,
880
+ Service: accessory.getService(this.hap.Service.StatefulProgrammableSwitch) as Service,
881
+ On: accessory.context.On ?? false,
882
+ };
883
+ accessory.context.StatefulProgrammableSwitch = this.StatefulProgrammableSwitch as object;
884
+ this.warnLog('Removing any leftover Stateful Programmable Switch Service');
885
+ accessory.removeService(this.StatefulProgrammableSwitch.Service);
850
886
  }
851
887
 
852
888
  async removeSwitchService(accessory: PlatformAccessory): Promise<void> {
853
889
  // If Switch.Service still present, then remove first
854
- if (this.Switch?.Service) {
855
- this.Switch.Service = this.accessory.getService(this.hap.Service.Switch) as Service;
856
- this.warnLog('Removing Leftover Switch Service');
857
- accessory.removeService(this.Switch.Service);
858
- }
890
+ accessory.context.Switch = accessory.context.Switch ?? {};
891
+ this.Switch = {
892
+ Name: accessory.context.Switch.Name ?? `${accessory.displayName} Switch`,
893
+ Service: accessory.getService(this.hap.Service.Switch) as Service,
894
+ On: accessory.context.On ?? false,
895
+ };
896
+ accessory.context.Switch = this.Switch as object;
897
+ this.warnLog('Removing any leftover Switch Service');
898
+ accessory.removeService(this.Switch.Service);
859
899
  }
860
900
 
861
901
  async getOtherConfigSettings(device: irdevice & irDevicesConfig): Promise<void> {