@switchbot/homebridge-switchbot 3.5.0-beta.62 → 3.5.0-beta.64

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.
Files changed (113) hide show
  1. package/dist/device/blindtilt.d.ts.map +1 -1
  2. package/dist/device/blindtilt.js +9 -6
  3. package/dist/device/blindtilt.js.map +1 -1
  4. package/dist/device/bot.d.ts.map +1 -1
  5. package/dist/device/bot.js +33 -22
  6. package/dist/device/bot.js.map +1 -1
  7. package/dist/device/ceilinglight.d.ts.map +1 -1
  8. package/dist/device/ceilinglight.js +4 -3
  9. package/dist/device/ceilinglight.js.map +1 -1
  10. package/dist/device/colorbulb.js +3 -2
  11. package/dist/device/colorbulb.js.map +1 -1
  12. package/dist/device/contact.d.ts.map +1 -1
  13. package/dist/device/contact.js +14 -10
  14. package/dist/device/contact.js.map +1 -1
  15. package/dist/device/curtain.d.ts.map +1 -1
  16. package/dist/device/curtain.js +11 -8
  17. package/dist/device/curtain.js.map +1 -1
  18. package/dist/device/device.js +11 -10
  19. package/dist/device/device.js.map +1 -1
  20. package/dist/device/fan.d.ts.map +1 -1
  21. package/dist/device/fan.js +7 -5
  22. package/dist/device/fan.js.map +1 -1
  23. package/dist/device/hub.d.ts.map +1 -1
  24. package/dist/device/hub.js +9 -6
  25. package/dist/device/hub.js.map +1 -1
  26. package/dist/device/humidifier.d.ts.map +1 -1
  27. package/dist/device/humidifier.js +6 -4
  28. package/dist/device/humidifier.js.map +1 -1
  29. package/dist/device/iosensor.d.ts.map +1 -1
  30. package/dist/device/iosensor.js +10 -6
  31. package/dist/device/iosensor.js.map +1 -1
  32. package/dist/device/lightstrip.d.ts.map +1 -1
  33. package/dist/device/lightstrip.js +3 -2
  34. package/dist/device/lightstrip.js.map +1 -1
  35. package/dist/device/lock.d.ts.map +1 -1
  36. package/dist/device/lock.js +12 -8
  37. package/dist/device/lock.js.map +1 -1
  38. package/dist/device/meter.d.ts.map +1 -1
  39. package/dist/device/meter.js +8 -5
  40. package/dist/device/meter.js.map +1 -1
  41. package/dist/device/meterplus.d.ts.map +1 -1
  42. package/dist/device/meterplus.js +9 -6
  43. package/dist/device/meterplus.js.map +1 -1
  44. package/dist/device/motion.d.ts.map +1 -1
  45. package/dist/device/motion.js +10 -6
  46. package/dist/device/motion.js.map +1 -1
  47. package/dist/device/plug.d.ts.map +1 -1
  48. package/dist/device/plug.js +3 -2
  49. package/dist/device/plug.js.map +1 -1
  50. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  51. package/dist/device/robotvacuumcleaner.js +6 -4
  52. package/dist/device/robotvacuumcleaner.js.map +1 -1
  53. package/dist/device/waterdetector.d.ts.map +1 -1
  54. package/dist/device/waterdetector.js +6 -4
  55. package/dist/device/waterdetector.js.map +1 -1
  56. package/dist/irdevice/airconditioner.d.ts +1 -1
  57. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  58. package/dist/irdevice/airconditioner.js +65 -83
  59. package/dist/irdevice/airconditioner.js.map +1 -1
  60. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  61. package/dist/irdevice/airpurifier.js +37 -19
  62. package/dist/irdevice/airpurifier.js.map +1 -1
  63. package/dist/irdevice/camera.d.ts.map +1 -1
  64. package/dist/irdevice/camera.js +13 -11
  65. package/dist/irdevice/camera.js.map +1 -1
  66. package/dist/irdevice/fan.d.ts.map +1 -1
  67. package/dist/irdevice/fan.js +25 -15
  68. package/dist/irdevice/fan.js.map +1 -1
  69. package/dist/irdevice/light.d.ts.map +1 -1
  70. package/dist/irdevice/light.js +50 -24
  71. package/dist/irdevice/light.js.map +1 -1
  72. package/dist/irdevice/other.d.ts +1 -1
  73. package/dist/irdevice/other.d.ts.map +1 -1
  74. package/dist/irdevice/other.js +180 -138
  75. package/dist/irdevice/other.js.map +1 -1
  76. package/dist/irdevice/tv.d.ts.map +1 -1
  77. package/dist/irdevice/tv.js +50 -59
  78. package/dist/irdevice/tv.js.map +1 -1
  79. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  80. package/dist/irdevice/vacuumcleaner.js +13 -10
  81. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  82. package/dist/irdevice/waterheater.d.ts.map +1 -1
  83. package/dist/irdevice/waterheater.js +14 -13
  84. package/dist/irdevice/waterheater.js.map +1 -1
  85. package/package.json +1 -1
  86. package/src/device/blindtilt.ts +9 -6
  87. package/src/device/bot.ts +33 -22
  88. package/src/device/ceilinglight.ts +4 -3
  89. package/src/device/colorbulb.ts +3 -3
  90. package/src/device/contact.ts +14 -10
  91. package/src/device/curtain.ts +11 -8
  92. package/src/device/device.ts +11 -11
  93. package/src/device/fan.ts +7 -5
  94. package/src/device/hub.ts +9 -6
  95. package/src/device/humidifier.ts +6 -4
  96. package/src/device/iosensor.ts +10 -6
  97. package/src/device/lightstrip.ts +3 -2
  98. package/src/device/lock.ts +12 -8
  99. package/src/device/meter.ts +8 -5
  100. package/src/device/meterplus.ts +9 -6
  101. package/src/device/motion.ts +10 -6
  102. package/src/device/plug.ts +3 -2
  103. package/src/device/robotvacuumcleaner.ts +6 -4
  104. package/src/device/waterdetector.ts +6 -4
  105. package/src/irdevice/airconditioner.ts +73 -86
  106. package/src/irdevice/airpurifier.ts +43 -23
  107. package/src/irdevice/camera.ts +14 -13
  108. package/src/irdevice/fan.ts +26 -18
  109. package/src/irdevice/light.ts +65 -45
  110. package/src/irdevice/other.ts +210 -154
  111. package/src/irdevice/tv.ts +57 -70
  112. package/src/irdevice/vacuumcleaner.ts +14 -12
  113. package/src/irdevice/waterheater.ts +15 -16
@@ -1 +1 @@
1
- {"version":3,"file":"light.js","sourceRoot":"","sources":["../../src/irdevice/light.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"light.js","sourceRoot":"","sources":["../../src/irdevice/light.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class Others extends irdeviceBase {
14
14
  private Door?;
15
15
  private Window?;
16
16
  private WindowCovering?;
17
- private Lock?;
17
+ private LockMechanism?;
18
18
  private Faucet?;
19
19
  private Fan?;
20
20
  private StatefulProgrammableSwitch?;
@@ -1 +1 @@
1
- {"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../src/irdevice/other.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAElF;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,YAAY;IAwDpC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IAtDtC,OAAO,CAAC,MAAM,CAAC,CAGb;IAEF,OAAO,CAAC,UAAU,CAAC,CAGjB;IAEF,OAAO,CAAC,IAAI,CAAC,CAGX;IAEF,OAAO,CAAC,MAAM,CAAC,CAGb;IAEF,OAAO,CAAC,cAAc,CAAC,CAGrB;IAEF,OAAO,CAAC,IAAI,CAAC,CAGX;IAEF,OAAO,CAAC,MAAM,CAAC,CAGb;IAEF,OAAO,CAAC,GAAG,CAAC,CAGV;IAEF,OAAO,CAAC,0BAA0B,CAAC,CAGjC;IAEF,OAAO,CAAC,MAAM,CAAC,CAGb;IAGF,eAAe,CAAC,EAAE,MAAM,CAAC;gBAGd,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,QAAQ,GAAG,eAAe;IAyRpC;;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;IAmC3C,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IA0J7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC/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":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAChE,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;IAmUpC;;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;IAmC3C,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IA8J7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC/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"}
@@ -18,7 +18,7 @@ export class Others extends irdeviceBase {
18
18
  Door;
19
19
  Window;
20
20
  WindowCovering;
21
- Lock;
21
+ LockMechanism;
22
22
  Faucet;
23
23
  Fan;
24
24
  StatefulProgrammableSwitch;
@@ -32,11 +32,23 @@ export class Others extends irdeviceBase {
32
32
  this.getOtherConfigSettings(device);
33
33
  // deviceType
34
34
  if (this.otherDeviceType === 'switch') {
35
- // Initialize Switch property
35
+ // Initialize Switch Service
36
+ accessory.context.Switch = accessory.context.Switch ?? {};
36
37
  this.Switch = {
37
- Service: accessory.getService(this.hap.Service.Switch),
38
- On: accessory.context.On || false,
38
+ Name: accessory.context.Switch.Name ?? `${accessory.displayName} Switch`,
39
+ Service: accessory.getService(this.hap.Service.Switch) ?? accessory.addService(this.hap.Service.Switch),
40
+ On: accessory.context.On ?? false,
39
41
  };
42
+ accessory.context.Switch = this.Switch;
43
+ this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Switch`);
44
+ this.Switch.Service
45
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
46
+ .getCharacteristic(this.hap.Characteristic.On)
47
+ .onGet(() => {
48
+ return this.Switch.On;
49
+ })
50
+ .onSet(this.OnSet.bind(this));
51
+ // Remove other services
40
52
  this.removeFanService(accessory);
41
53
  this.removeLockService(accessory);
42
54
  this.removeDoorService(accessory);
@@ -46,20 +58,26 @@ export class Others extends irdeviceBase {
46
58
  this.removeGarageDoorService(accessory);
47
59
  this.removeWindowCoveringService(accessory);
48
60
  this.removeStatefulProgrammableSwitchService(accessory);
49
- // Add Switch Service
50
- const SwitchService = `${accessory.displayName} Switch`;
51
- (this.Switch.Service = accessory.getService(this.hap.Service.Switch)
52
- || accessory.addService(this.hap.Service.Switch)), SwitchService;
53
- this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Switch`);
54
- this.Switch.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
55
- this.Switch.Service.getCharacteristic(this.hap.Characteristic.On).onSet(this.OnSet.bind(this));
56
61
  }
57
62
  else if (this.otherDeviceType === 'garagedoor') {
58
- // Initialize Garage Door property
63
+ // Initialize Garage Door Service
64
+ accessory.context.GarageDoor = accessory.context.GarageDoor ?? {};
59
65
  this.GarageDoor = {
60
- Service: accessory.getService(this.hap.Service.GarageDoorOpener),
61
- On: accessory.context.On || false,
66
+ Name: accessory.context.GarageDoor.Name ?? `${accessory.displayName} Garage Door`,
67
+ Service: accessory.getService(this.hap.Service.GarageDoorOpener) ?? accessory.addService(this.hap.Service.GarageDoorOpener),
68
+ On: accessory.context.On ?? false,
62
69
  };
70
+ accessory.context.GarageDoor = this.GarageDoor;
71
+ this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Garage Door Opener`);
72
+ this.GarageDoor.Service
73
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
74
+ .setCharacteristic(this.hap.Characteristic.ObstructionDetected, false)
75
+ .getCharacteristic(this.hap.Characteristic.TargetDoorState)
76
+ .onGet(() => {
77
+ return this.GarageDoor.On;
78
+ })
79
+ .onSet(this.OnSet.bind(this));
80
+ // Remove other services
63
81
  this.removeFanService(accessory);
64
82
  this.removeLockService(accessory);
65
83
  this.removeDoorService(accessory);
@@ -69,117 +87,129 @@ export class Others extends irdeviceBase {
69
87
  this.removeWindowService(accessory);
70
88
  this.removeWindowCoveringService(accessory);
71
89
  this.removeStatefulProgrammableSwitchService(accessory);
72
- // Add GarageDoor Service
73
- const GarageDoorService = `${accessory.displayName} Garage Door Opener`;
74
- (this.GarageDoor.Service = accessory.getService(this.hap.Service.GarageDoorOpener)
75
- || accessory.addService(this.hap.Service.GarageDoorOpener)), GarageDoorService;
76
- this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Garage Door Opener`);
77
- this.GarageDoor.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
78
- this.GarageDoor.Service.getCharacteristic(this.hap.Characteristic.TargetDoorState).onSet(this.OnSet.bind(this));
79
- this.GarageDoor.Service.setCharacteristic(this.hap.Characteristic.ObstructionDetected, false);
80
90
  }
81
91
  else if (this.otherDeviceType === 'door') {
82
- // Initialize Door property
92
+ // Initialize Door Service
93
+ accessory.context.Door = accessory.context.Door ?? {};
83
94
  this.Door = {
84
- Service: accessory.getService(this.hap.Service.Door),
85
- On: accessory.context.On || false,
95
+ Name: accessory.context.Door.Name ?? `${accessory.displayName} Door`,
96
+ Service: accessory.getService(this.hap.Service.Door) ?? accessory.addService(this.hap.Service.Door),
97
+ On: accessory.context.On ?? false,
86
98
  };
87
- this.removeFanService(accessory);
88
- this.removeLockService(accessory);
89
- this.removeOutletService(accessory);
90
- this.removeFaucetService(accessory);
91
- this.removeSwitchService(accessory);
92
- this.removeWindowService(accessory);
93
- this.removeGarageDoorService(accessory);
94
- this.removeWindowCoveringService(accessory);
95
- this.removeStatefulProgrammableSwitchService(accessory);
96
- // Add Door Service
97
- const DoorService = `${accessory.displayName} Door`;
98
- (this.Door.Service = accessory.getService(this.hap.Service.Door)
99
- || accessory.addService(this.hap.Service.Door)), DoorService;
99
+ accessory.context.Door = this.Door;
100
100
  this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Door`);
101
- this.Door.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
102
101
  this.Door.Service
102
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
103
+ .setCharacteristic(this.hap.Characteristic.PositionState, this.hap.Characteristic.PositionState.STOPPED)
103
104
  .getCharacteristic(this.hap.Characteristic.TargetPosition)
104
105
  .setProps({
105
106
  validValues: [0, 100],
106
107
  minValue: 0,
107
108
  maxValue: 100,
108
109
  minStep: 100,
110
+ })
111
+ .onGet(() => {
112
+ return this.GarageDoor.On;
109
113
  })
110
114
  .onSet(this.OnSet.bind(this));
111
- this.Door.Service.setCharacteristic(this.hap.Characteristic.PositionState, this.hap.Characteristic.PositionState.STOPPED);
112
- }
113
- else if (this.otherDeviceType === 'window') {
114
- // Initialize Window property
115
- this.Window = {
116
- Service: accessory.getService(this.hap.Service.Window),
117
- On: accessory.context.On || false,
118
- };
115
+ // Remove other services
119
116
  this.removeFanService(accessory);
120
117
  this.removeLockService(accessory);
121
- this.removeDoorService(accessory);
122
118
  this.removeOutletService(accessory);
123
119
  this.removeFaucetService(accessory);
124
120
  this.removeSwitchService(accessory);
121
+ this.removeWindowService(accessory);
125
122
  this.removeGarageDoorService(accessory);
126
123
  this.removeWindowCoveringService(accessory);
127
124
  this.removeStatefulProgrammableSwitchService(accessory);
128
- // Add Window Service
129
- const WindowService = `${accessory.displayName} Window`;
130
- (this.Window.Service = accessory.getService(this.hap.Service.Window)
131
- || accessory.addService(this.hap.Service.Window)), WindowService;
125
+ }
126
+ else if (this.otherDeviceType === 'window') {
127
+ // Initialize Window Service
128
+ accessory.context.Window = accessory.context.Window ?? {};
129
+ this.Window = {
130
+ Name: accessory.context.Window.Name ?? `${accessory.displayName} Window`,
131
+ Service: accessory.getService(this.hap.Service.Window) ?? accessory.addService(this.hap.Service.Window),
132
+ On: accessory.context.On ?? false,
133
+ };
134
+ accessory.context.Window = this.Window;
132
135
  this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Window`);
133
- this.Window.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
134
- this.Window.Service
136
+ this.Window.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
137
+ .setCharacteristic(this.hap.Characteristic.PositionState, this.hap.Characteristic.PositionState.STOPPED)
135
138
  .getCharacteristic(this.hap.Characteristic.TargetPosition)
136
139
  .setProps({
137
140
  validValues: [0, 100],
138
141
  minValue: 0,
139
142
  maxValue: 100,
140
143
  minStep: 100,
144
+ })
145
+ .onGet(() => {
146
+ return this.GarageDoor.On;
141
147
  })
142
148
  .onSet(this.OnSet.bind(this));
143
- this.Window.Service.setCharacteristic(this.hap.Characteristic.PositionState, this.hap.Characteristic.PositionState.STOPPED);
144
- }
145
- else if (this.otherDeviceType === 'windowcovering') {
146
- // Initialize WindowCovering property
147
- this.WindowCovering = {
148
- Service: accessory.getService(this.hap.Service.WindowCovering),
149
- On: accessory.context.On || false,
150
- };
149
+ // Remove other services
151
150
  this.removeFanService(accessory);
152
151
  this.removeLockService(accessory);
153
152
  this.removeDoorService(accessory);
154
153
  this.removeOutletService(accessory);
155
154
  this.removeFaucetService(accessory);
156
155
  this.removeSwitchService(accessory);
157
- this.removeWindowService(accessory);
158
156
  this.removeGarageDoorService(accessory);
157
+ this.removeWindowCoveringService(accessory);
159
158
  this.removeStatefulProgrammableSwitchService(accessory);
160
- // Add WindowCovering Service
161
- const WindowCoveringService = `${accessory.displayName} Window Covering`;
162
- (this.WindowCovering.Service = accessory.getService(this.hap.Service.WindowCovering)
163
- || accessory.addService(this.hap.Service.WindowCovering)), WindowCoveringService;
159
+ }
160
+ else if (this.otherDeviceType === 'windowcovering') {
161
+ // Initialize WindowCovering Service
162
+ accessory.context.WindowCovering = accessory.context.WindowCovering ?? {};
163
+ this.WindowCovering = {
164
+ Name: accessory.context.WindowCovering.Name ?? `${accessory.displayName} Window Covering`,
165
+ Service: accessory.getService(this.hap.Service.WindowCovering) ?? accessory.addService(this.hap.Service.WindowCovering),
166
+ On: accessory.context.On ?? false,
167
+ };
168
+ accessory.context.WindowCovering = this.WindowCovering;
164
169
  this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Window Covering`);
165
- this.WindowCovering.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
166
170
  this.WindowCovering.Service
171
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
172
+ .setCharacteristic(this.hap.Characteristic.PositionState, this.hap.Characteristic.PositionState.STOPPED)
167
173
  .getCharacteristic(this.hap.Characteristic.TargetPosition)
168
174
  .setProps({
169
175
  validValues: [0, 100],
170
176
  minValue: 0,
171
177
  maxValue: 100,
172
178
  minStep: 100,
179
+ })
180
+ .onGet(() => {
181
+ return this.WindowCovering.On;
173
182
  })
174
183
  .onSet(this.OnSet.bind(this));
175
- this.WindowCovering.Service.setCharacteristic(this.hap.Characteristic.PositionState, this.hap.Characteristic.PositionState.STOPPED);
184
+ // Remove other services
185
+ this.removeFanService(accessory);
186
+ this.removeLockService(accessory);
187
+ this.removeDoorService(accessory);
188
+ this.removeOutletService(accessory);
189
+ this.removeFaucetService(accessory);
190
+ this.removeSwitchService(accessory);
191
+ this.removeWindowService(accessory);
192
+ this.removeGarageDoorService(accessory);
193
+ this.removeStatefulProgrammableSwitchService(accessory);
176
194
  }
177
195
  else if (this.otherDeviceType === 'lock') {
178
- // Initialize Lock property
179
- this.Lock = {
180
- Service: accessory.getService(this.hap.Service.LockMechanism),
181
- On: accessory.context.On || false,
196
+ // Initialize LockMechanism Service
197
+ accessory.context.LockMechanism = accessory.context.LockMechanism ?? {};
198
+ this.LockMechanism = {
199
+ Name: accessory.context.LockMechanism.Name ?? `${accessory.displayName} Lock`,
200
+ Service: accessory.getService(this.hap.Service.LockMechanism) ?? accessory.addService(this.hap.Service.LockMechanism),
201
+ On: accessory.context.On ?? false,
182
202
  };
203
+ accessory.context.LockMechanism = this.LockMechanism;
204
+ this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Lock`);
205
+ this.LockMechanism.Service
206
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
207
+ .getCharacteristic(this.hap.Characteristic.LockTargetState)
208
+ .onGet(() => {
209
+ return this.LockMechanism.On;
210
+ })
211
+ .onSet(this.OnSet.bind(this));
212
+ // Remove other services
183
213
  this.removeFanService(accessory);
184
214
  this.removeDoorService(accessory);
185
215
  this.removeOutletService(accessory);
@@ -189,20 +219,25 @@ export class Others extends irdeviceBase {
189
219
  this.removeGarageDoorService(accessory);
190
220
  this.removeWindowCoveringService(accessory);
191
221
  this.removeStatefulProgrammableSwitchService(accessory);
192
- // Add Lock Service
193
- const LockService = `${accessory.displayName} Lock`;
194
- (this.Lock.Service = accessory.getService(this.hap.Service.LockMechanism)
195
- || accessory.addService(this.hap.Service.LockMechanism)), LockService;
196
- this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Lock`);
197
- this.Lock.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
198
- this.Lock.Service.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet(this.OnSet.bind(this));
199
222
  }
200
223
  else if (this.otherDeviceType === 'faucet') {
201
- // Initialize Faucet property
224
+ // Initialize Faucet Service
225
+ accessory.context.Faucet = accessory.context.Faucet ?? {};
202
226
  this.Faucet = {
203
- Service: accessory.getService(this.hap.Service.Faucet),
204
- On: accessory.context.On || false,
227
+ Name: accessory.context.Faucet.Name ?? `${accessory.displayName} Faucet`,
228
+ Service: accessory.getService(this.hap.Service.Faucet) ?? accessory.addService(this.hap.Service.Faucet),
229
+ On: accessory.context.On ?? false,
205
230
  };
231
+ accessory.context.Faucet = this.Faucet;
232
+ this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Faucet`);
233
+ this.Faucet.Service
234
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
235
+ .getCharacteristic(this.hap.Characteristic.Active)
236
+ .onGet(() => {
237
+ return this.Faucet.On;
238
+ })
239
+ .onSet(this.OnSet.bind(this));
240
+ // Remove other services
206
241
  this.removeFanService(accessory);
207
242
  this.removeLockService(accessory);
208
243
  this.removeDoorService(accessory);
@@ -212,20 +247,25 @@ export class Others extends irdeviceBase {
212
247
  this.removeGarageDoorService(accessory);
213
248
  this.removeWindowCoveringService(accessory);
214
249
  this.removeStatefulProgrammableSwitchService(accessory);
215
- // Add Faucet Service
216
- const FaucetService = `${accessory.displayName} Faucet`;
217
- (this.Faucet.Service = accessory.getService(this.hap.Service.Faucet)
218
- || accessory.addService(this.hap.Service.Faucet)), FaucetService;
219
- this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Faucet`);
220
- this.Faucet.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
221
- this.Faucet.Service.getCharacteristic(this.hap.Characteristic.Active).onSet(this.OnSet.bind(this));
222
250
  }
223
251
  else if (this.otherDeviceType === 'fan') {
224
- // Initialize Fan property
252
+ // Initialize Fan Service
253
+ accessory.context.Fan = accessory.context.Fan ?? {};
225
254
  this.Fan = {
226
- Service: accessory.getService(this.hap.Service.Fanv2),
227
- On: accessory.context.On || false,
255
+ Name: accessory.context.Fan.Name ?? `${accessory.displayName} Fan`,
256
+ Service: accessory.getService(this.hap.Service.Fanv2) ?? accessory.addService(this.hap.Service.Fanv2),
257
+ On: accessory.context.On ?? false,
228
258
  };
259
+ accessory.context.Fan = this.Fan;
260
+ this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Fan`);
261
+ this.Fan.Service
262
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
263
+ .getCharacteristic(this.hap.Characteristic.On)
264
+ .onGet(() => {
265
+ return this.Fan.On;
266
+ })
267
+ .onSet(this.OnSet.bind(this));
268
+ // Remove other services
229
269
  this.removeLockService(accessory);
230
270
  this.removeDoorService(accessory);
231
271
  this.removeFaucetService(accessory);
@@ -235,20 +275,26 @@ export class Others extends irdeviceBase {
235
275
  this.removeGarageDoorService(accessory);
236
276
  this.removeWindowCoveringService(accessory);
237
277
  this.removeStatefulProgrammableSwitchService(accessory);
238
- // Add Fan Service
239
- const FanService = `${accessory.displayName} Fan`;
240
- (this.Fan.Service = accessory.getService(this.hap.Service.Fanv2)
241
- || accessory.addService(this.hap.Service.Fanv2)), FanService;
242
- this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Fan`);
243
- this.Fan.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
244
- this.Fan.Service.getCharacteristic(this.hap.Characteristic.On).onSet(this.OnSet.bind(this));
245
278
  }
246
279
  else if (this.otherDeviceType === 'stateful') {
247
- // Initialize StatefulProgrammableSwitch property
280
+ // Initialize StatefulProgrammableSwitch Service
281
+ accessory.context.StatefulProgrammableSwitch = accessory.context.StatefulProgrammableSwitch ?? {};
248
282
  this.StatefulProgrammableSwitch = {
249
- Service: accessory.getService(this.hap.Service.StatefulProgrammableSwitch),
250
- On: accessory.context.On || false,
283
+ Name: accessory.context.StatefulProgrammableSwitch.Name ?? `${accessory.displayName} Stateful Programmable Switch`,
284
+ Service: accessory.getService(this.hap.Service.StatefulProgrammableSwitch)
285
+ ?? accessory.addService(this.hap.Service.StatefulProgrammableSwitch),
286
+ On: accessory.context.On ?? false,
251
287
  };
288
+ accessory.context.StatefulProgrammableSwitch = this.StatefulProgrammableSwitch;
289
+ this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Stateful Programmable Switch`);
290
+ this.StatefulProgrammableSwitch.Service
291
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
292
+ .getCharacteristic(this.hap.Characteristic.ProgrammableSwitchOutputState)
293
+ .onGet(() => {
294
+ return this.StatefulProgrammableSwitch.On;
295
+ })
296
+ .onSet(this.OnSet.bind(this));
297
+ // Remove other services
252
298
  this.removeFanService(accessory);
253
299
  this.removeLockService(accessory);
254
300
  this.removeDoorService(accessory);
@@ -258,22 +304,25 @@ export class Others extends irdeviceBase {
258
304
  this.removeWindowService(accessory);
259
305
  this.removeGarageDoorService(accessory);
260
306
  this.removeWindowCoveringService(accessory);
261
- // Add StatefulProgrammableSwitch.Service
262
- const StatefulProgrammableSwitchService = `${accessory.displayName} Stateful Programmable Switch`;
263
- (this.StatefulProgrammableSwitch.Service = accessory.getService(this.hap.Service.StatefulProgrammableSwitch)
264
- || accessory.addService(this.hap.Service.StatefulProgrammableSwitch)), StatefulProgrammableSwitchService;
265
- this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Stateful Programmable Switch`);
266
- this.StatefulProgrammableSwitch.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
267
- this.StatefulProgrammableSwitch.Service
268
- .getCharacteristic(this.hap.Characteristic.ProgrammableSwitchOutputState)
269
- .onSet(this.OnSet.bind(this));
270
307
  }
271
308
  else {
272
- // Initialize Outlet property
309
+ // Initialize Outlet Service
310
+ accessory.context.Outlet = accessory.context.Outlet ?? {};
273
311
  this.Outlet = {
274
- Service: accessory.getService(this.hap.Service.Outlet),
275
- On: accessory.context.On || false,
312
+ Name: accessory.context.Outlet.Name ?? `${accessory.displayName} Outlet`,
313
+ Service: accessory.getService(this.hap.Service.Outlet) ?? accessory.addService(this.hap.Service.Outlet),
314
+ On: accessory.context.On ?? false,
276
315
  };
316
+ accessory.context.Outlet = this.Outlet;
317
+ this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Outlet`);
318
+ this.Outlet.Service
319
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
320
+ .getCharacteristic(this.hap.Characteristic.On)
321
+ .onGet(() => {
322
+ return this.Outlet.On;
323
+ })
324
+ .onSet(this.OnSet.bind(this));
325
+ // Remove other services
277
326
  this.removeFanService(accessory);
278
327
  this.removeLockService(accessory);
279
328
  this.removeDoorService(accessory);
@@ -283,13 +332,6 @@ export class Others extends irdeviceBase {
283
332
  this.removeGarageDoorService(accessory);
284
333
  this.removeWindowCoveringService(accessory);
285
334
  this.removeStatefulProgrammableSwitchService(accessory);
286
- // Add Outlet.Service
287
- const OutletService = `${accessory.displayName} Outlet`;
288
- (this.Outlet.Service = accessory.getService(this.hap.Service.Outlet)
289
- || accessory.addService(this.hap.Service.Outlet)), OutletService;
290
- this.debugWarnLog(`${this.device.remoteType}: ${accessory.displayName} Displaying as Outlet`);
291
- this.Outlet.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
292
- this.Outlet.Service.getCharacteristic(this.hap.Characteristic.On).onSet(this.OnSet.bind(this));
293
335
  }
294
336
  }
295
337
  /**
@@ -340,12 +382,12 @@ export class Others extends irdeviceBase {
340
382
  else if (this.otherDeviceType === 'lock') {
341
383
  this.infoLog(`${this.device.remoteType}: ${this.accessory.displayName} Set LockTargetState: ${value}`);
342
384
  if (value === this.hap.Characteristic.LockTargetState.SECURED) {
343
- this.Lock.On = false;
385
+ this.LockMechanism.On = false;
344
386
  }
345
387
  else {
346
- this.Lock.On = true;
388
+ this.LockMechanism.On = true;
347
389
  }
348
- On = this.Lock.On;
390
+ On = this.LockMechanism.On;
349
391
  }
350
392
  else if (this.otherDeviceType === 'faucet') {
351
393
  this.infoLog(`${this.device.remoteType}: ${this.accessory.displayName} Set Active: ${value}`);
@@ -553,24 +595,24 @@ export class Others extends irdeviceBase {
553
595
  this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} Window Covering On: ${this.WindowCovering.On}`);
554
596
  }
555
597
  else if (this.otherDeviceType === 'lock') {
556
- if (this.Lock.On === undefined) {
557
- this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} On: ${this.Lock.On}`);
598
+ if (this.LockMechanism?.On === undefined) {
599
+ this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} On: ${this.LockMechanism?.On}`);
558
600
  }
559
601
  else {
560
- if (this.Lock.On) {
561
- this.Lock.Service.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.hap.Characteristic.LockTargetState.UNSECURED);
562
- this.Lock.Service.updateCharacteristic(this.hap.Characteristic.LockCurrentState, this.hap.Characteristic.LockCurrentState.UNSECURED);
602
+ if (this.LockMechanism.On) {
603
+ this.LockMechanism.Service.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.hap.Characteristic.LockTargetState.UNSECURED);
604
+ this.LockMechanism.Service.updateCharacteristic(this.hap.Characteristic.LockCurrentState, this.hap.Characteristic.LockCurrentState.UNSECURED);
563
605
  this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} updateCharacteristic`
564
- + ` LockTargetState: UNSECURED, LockCurrentState: UNSECURE (${this.Lock.On})`);
606
+ + ` LockTargetState: UNSECURED, LockCurrentState: UNSECURE (${this.LockMechanism.On})`);
565
607
  }
566
608
  else {
567
- this.Lock.Service.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.hap.Characteristic.LockTargetState.SECURED);
568
- this.Lock.Service.updateCharacteristic(this.hap.Characteristic.LockCurrentState, this.hap.Characteristic.LockCurrentState.SECURED);
609
+ this.LockMechanism.Service.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.hap.Characteristic.LockTargetState.SECURED);
610
+ this.LockMechanism.Service.updateCharacteristic(this.hap.Characteristic.LockCurrentState, this.hap.Characteristic.LockCurrentState.SECURED);
569
611
  this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} updateCharacteristic`
570
- + ` LockTargetState: SECURED, LockCurrentState: SECURED (${this.Lock.On})`);
612
+ + ` LockTargetState: SECURED, LockCurrentState: SECURED (${this.LockMechanism.On})`);
571
613
  }
572
614
  }
573
- this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} Lock On: ${this.Lock.On}`);
615
+ this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} Lock On: ${this.LockMechanism?.On}`);
574
616
  }
575
617
  else if (this.otherDeviceType === 'faucet') {
576
618
  if (this.Faucet.On === undefined) {
@@ -711,10 +753,10 @@ export class Others extends irdeviceBase {
711
753
  }
712
754
  async removeLockService(accessory) {
713
755
  // If Lock.Service still present, then remove first
714
- if (this.Lock?.Service) {
715
- this.Lock.Service = this.accessory.getService(this.hap.Service.LockMechanism);
756
+ if (this.LockMechanism?.Service) {
757
+ this.LockMechanism.Service = this.accessory.getService(this.hap.Service.LockMechanism);
716
758
  this.warnLog(`${this.device.remoteType}: ${accessory.displayName} Removing Leftover Lock Service`);
717
- accessory.removeService(this.Lock.Service);
759
+ accessory.removeService(this.LockMechanism.Service);
718
760
  }
719
761
  }
720
762
  async removeFaucetService(accessory) {