@switchbot/homebridge-switchbot 5.0.0-beta.7 → 5.0.0-beta.70

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 (271) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +45 -3
  3. package/config.schema.json +871 -13754
  4. package/dist/devices-hap/airpurifier.d.ts.map +1 -1
  5. package/dist/devices-hap/airpurifier.js +12 -6
  6. package/dist/devices-hap/airpurifier.js.map +1 -1
  7. package/dist/devices-hap/blindtilt.js +3 -3
  8. package/dist/devices-hap/bot.d.ts.map +1 -1
  9. package/dist/devices-hap/bot.js +16 -5
  10. package/dist/devices-hap/bot.js.map +1 -1
  11. package/dist/devices-hap/ceilinglight.d.ts.map +1 -1
  12. package/dist/devices-hap/ceilinglight.js +13 -7
  13. package/dist/devices-hap/ceilinglight.js.map +1 -1
  14. package/dist/devices-hap/colorbulb.d.ts.map +1 -1
  15. package/dist/devices-hap/colorbulb.js +49 -9
  16. package/dist/devices-hap/colorbulb.js.map +1 -1
  17. package/dist/devices-hap/contact.js +3 -3
  18. package/dist/devices-hap/curtain.js +2 -2
  19. package/dist/devices-hap/curtain.js.map +1 -1
  20. package/dist/devices-hap/device.d.ts +18 -8
  21. package/dist/devices-hap/device.d.ts.map +1 -1
  22. package/dist/devices-hap/device.js +141 -69
  23. package/dist/devices-hap/device.js.map +1 -1
  24. package/dist/devices-hap/fan.d.ts.map +1 -1
  25. package/dist/devices-hap/fan.js +12 -6
  26. package/dist/devices-hap/fan.js.map +1 -1
  27. package/dist/devices-hap/hub.d.ts.map +1 -1
  28. package/dist/devices-hap/hub.js +6 -5
  29. package/dist/devices-hap/hub.js.map +1 -1
  30. package/dist/devices-hap/humidifier.d.ts +5 -0
  31. package/dist/devices-hap/humidifier.d.ts.map +1 -1
  32. package/dist/devices-hap/humidifier.js +92 -4
  33. package/dist/devices-hap/humidifier.js.map +1 -1
  34. package/dist/devices-hap/iosensor.d.ts.map +1 -1
  35. package/dist/devices-hap/iosensor.js +36 -21
  36. package/dist/devices-hap/iosensor.js.map +1 -1
  37. package/dist/devices-hap/lightstrip.d.ts.map +1 -1
  38. package/dist/devices-hap/lightstrip.js +38 -8
  39. package/dist/devices-hap/lightstrip.js.map +1 -1
  40. package/dist/devices-hap/lock.d.ts.map +1 -1
  41. package/dist/devices-hap/lock.js +14 -6
  42. package/dist/devices-hap/lock.js.map +1 -1
  43. package/dist/devices-hap/meter.d.ts.map +1 -1
  44. package/dist/devices-hap/meter.js +6 -5
  45. package/dist/devices-hap/meter.js.map +1 -1
  46. package/dist/devices-hap/meterplus.d.ts.map +1 -1
  47. package/dist/devices-hap/meterplus.js +6 -5
  48. package/dist/devices-hap/meterplus.js.map +1 -1
  49. package/dist/devices-hap/meterpro.d.ts.map +1 -1
  50. package/dist/devices-hap/meterpro.js +7 -6
  51. package/dist/devices-hap/meterpro.js.map +1 -1
  52. package/dist/devices-hap/motion.js +3 -3
  53. package/dist/devices-hap/plug.d.ts.map +1 -1
  54. package/dist/devices-hap/plug.js +11 -6
  55. package/dist/devices-hap/plug.js.map +1 -1
  56. package/dist/devices-hap/relayswitch.js +3 -3
  57. package/dist/devices-hap/robotvacuumcleaner.d.ts.map +1 -1
  58. package/dist/devices-hap/robotvacuumcleaner.js +13 -6
  59. package/dist/devices-hap/robotvacuumcleaner.js.map +1 -1
  60. package/dist/devices-hap/waterdetector.js +3 -3
  61. package/dist/devices-matter/BaseMatterAccessory.d.ts +27 -0
  62. package/dist/devices-matter/BaseMatterAccessory.d.ts.map +1 -1
  63. package/dist/devices-matter/BaseMatterAccessory.js +169 -5
  64. package/dist/devices-matter/BaseMatterAccessory.js.map +1 -1
  65. package/dist/devices-matter/ColorLightAccessory.d.ts.map +1 -1
  66. package/dist/devices-matter/ColorLightAccessory.js +12 -12
  67. package/dist/devices-matter/ColorLightAccessory.js.map +1 -1
  68. package/dist/devices-matter/ColorTemperatureLightAccessory.d.ts.map +1 -1
  69. package/dist/devices-matter/ColorTemperatureLightAccessory.js +5 -7
  70. package/dist/devices-matter/ColorTemperatureLightAccessory.js.map +1 -1
  71. package/dist/devices-matter/DimmableLightAccessory.js +9 -9
  72. package/dist/devices-matter/DimmableLightAccessory.js.map +1 -1
  73. package/dist/devices-matter/ExtendedColorLightAccessory.d.ts.map +1 -1
  74. package/dist/devices-matter/ExtendedColorLightAccessory.js +14 -15
  75. package/dist/devices-matter/ExtendedColorLightAccessory.js.map +1 -1
  76. package/dist/devices-matter/OnOffLightAccessory.d.ts.map +1 -1
  77. package/dist/devices-matter/OnOffLightAccessory.js +8 -16
  78. package/dist/devices-matter/OnOffLightAccessory.js.map +1 -1
  79. package/dist/devices-matter/OnOffOutletAccessory.d.ts +2 -0
  80. package/dist/devices-matter/OnOffOutletAccessory.d.ts.map +1 -1
  81. package/dist/devices-matter/OnOffOutletAccessory.js +10 -7
  82. package/dist/devices-matter/OnOffOutletAccessory.js.map +1 -1
  83. package/dist/devices-matter/OnOffSwitchAccessory.js +2 -2
  84. package/dist/devices-matter/OnOffSwitchAccessory.js.map +1 -1
  85. package/dist/devices-matter/RoboticVacuumAccessory.d.ts +36 -43
  86. package/dist/devices-matter/RoboticVacuumAccessory.d.ts.map +1 -1
  87. package/dist/devices-matter/RoboticVacuumAccessory.js +478 -268
  88. package/dist/devices-matter/RoboticVacuumAccessory.js.map +1 -1
  89. package/dist/devices-matter/VenetianBlindAccessory.d.ts +6 -6
  90. package/dist/devices-matter/VenetianBlindAccessory.d.ts.map +1 -1
  91. package/dist/devices-matter/VenetianBlindAccessory.js.map +1 -1
  92. package/dist/devices-matter/WindowBlindAccessory.d.ts +5 -5
  93. package/dist/devices-matter/WindowBlindAccessory.d.ts.map +1 -1
  94. package/dist/devices-matter/WindowBlindAccessory.js +57 -6
  95. package/dist/devices-matter/WindowBlindAccessory.js.map +1 -1
  96. package/dist/homebridge-ui/public/index.html +219 -19
  97. package/dist/homebridge-ui/server.js +0 -31
  98. package/dist/homebridge-ui/server.js.map +1 -1
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +4 -9
  101. package/dist/index.js.map +1 -1
  102. package/dist/irdevice/irdevice.d.ts +11 -10
  103. package/dist/irdevice/irdevice.d.ts.map +1 -1
  104. package/dist/irdevice/irdevice.js +76 -35
  105. package/dist/irdevice/irdevice.js.map +1 -1
  106. package/dist/platform-hap.d.ts +26 -15
  107. package/dist/platform-hap.d.ts.map +1 -1
  108. package/dist/platform-hap.js +333 -153
  109. package/dist/platform-hap.js.map +1 -1
  110. package/dist/platform-matter.d.ts +93 -6
  111. package/dist/platform-matter.d.ts.map +1 -1
  112. package/dist/platform-matter.js +1878 -229
  113. package/dist/platform-matter.js.map +1 -1
  114. package/dist/settings.d.ts +75 -7
  115. package/dist/settings.d.ts.map +1 -1
  116. package/dist/settings.js.map +1 -1
  117. package/dist/test/apiRequestTracker.test.d.ts +2 -0
  118. package/dist/test/apiRequestTracker.test.d.ts.map +1 -0
  119. package/dist/test/apiRequestTracker.test.js +392 -0
  120. package/dist/test/apiRequestTracker.test.js.map +1 -0
  121. package/dist/test/hap/device-webhook-context.test.d.ts +2 -0
  122. package/dist/test/hap/device-webhook-context.test.d.ts.map +1 -0
  123. package/dist/test/hap/device-webhook-context.test.js +128 -0
  124. package/dist/test/hap/device-webhook-context.test.js.map +1 -0
  125. package/dist/test/hap/platform-hap.logging.test.d.ts +2 -0
  126. package/dist/test/hap/platform-hap.logging.test.d.ts.map +1 -0
  127. package/dist/test/hap/platform-hap.logging.test.js +33 -0
  128. package/dist/test/hap/platform-hap.logging.test.js.map +1 -0
  129. package/dist/test/hap/platform-hap.test.d.ts +2 -0
  130. package/dist/test/hap/platform-hap.test.d.ts.map +1 -0
  131. package/dist/test/hap/platform-hap.test.js +62 -0
  132. package/dist/test/hap/platform-hap.test.js.map +1 -0
  133. package/dist/test/helpers/platform-fixtures.d.ts +9 -0
  134. package/dist/test/helpers/platform-fixtures.d.ts.map +1 -0
  135. package/dist/test/helpers/platform-fixtures.js +30 -0
  136. package/dist/test/helpers/platform-fixtures.js.map +1 -0
  137. package/dist/test/homebridge-ui/server.test.d.ts +2 -0
  138. package/dist/test/homebridge-ui/server.test.d.ts.map +1 -0
  139. package/dist/test/homebridge-ui/server.test.js +445 -0
  140. package/dist/test/homebridge-ui/server.test.js.map +1 -0
  141. package/dist/{index.test.d.ts.map → test/index.test.d.ts.map} +1 -1
  142. package/dist/test/index.test.js +19 -0
  143. package/dist/test/index.test.js.map +1 -0
  144. package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts +2 -0
  145. package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts.map +1 -0
  146. package/dist/test/matter/devices-matter/baseMatterAccessory.test.js +71 -0
  147. package/dist/test/matter/devices-matter/baseMatterAccessory.test.js.map +1 -0
  148. package/dist/test/matter/platform-matter.additional.test.d.ts +2 -0
  149. package/dist/test/matter/platform-matter.additional.test.d.ts.map +1 -0
  150. package/dist/test/matter/platform-matter.additional.test.js +35 -0
  151. package/dist/test/matter/platform-matter.additional.test.js.map +1 -0
  152. package/dist/test/matter/platform-matter.bleparse.test.d.ts +2 -0
  153. package/dist/test/matter/platform-matter.bleparse.test.d.ts.map +1 -0
  154. package/dist/test/matter/platform-matter.bleparse.test.js +43 -0
  155. package/dist/test/matter/platform-matter.bleparse.test.js.map +1 -0
  156. package/dist/test/matter/platform-matter.cleanup.test.d.ts +2 -0
  157. package/dist/test/matter/platform-matter.cleanup.test.d.ts.map +1 -0
  158. package/dist/test/matter/platform-matter.cleanup.test.js +70 -0
  159. package/dist/test/matter/platform-matter.cleanup.test.js.map +1 -0
  160. package/dist/test/matter/platform-matter.keepstale.test.d.ts +2 -0
  161. package/dist/test/matter/platform-matter.keepstale.test.d.ts.map +1 -0
  162. package/dist/test/matter/platform-matter.keepstale.test.js +27 -0
  163. package/dist/test/matter/platform-matter.keepstale.test.js.map +1 -0
  164. package/dist/test/matter/platform-matter.logging.test.d.ts +2 -0
  165. package/dist/test/matter/platform-matter.logging.test.d.ts.map +1 -0
  166. package/dist/test/matter/platform-matter.logging.test.js +29 -0
  167. package/dist/test/matter/platform-matter.logging.test.js.map +1 -0
  168. package/dist/test/matter/platform-matter.mapping.test.d.ts +2 -0
  169. package/dist/test/matter/platform-matter.mapping.test.d.ts.map +1 -0
  170. package/dist/test/matter/platform-matter.mapping.test.js +43 -0
  171. package/dist/test/matter/platform-matter.mapping.test.js.map +1 -0
  172. package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts +2 -0
  173. package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts.map +1 -0
  174. package/dist/test/matter/platform-matter.openapi-mapping.test.js +84 -0
  175. package/dist/test/matter/platform-matter.openapi-mapping.test.js.map +1 -0
  176. package/dist/test/matter/platform-matter.test.d.ts +2 -0
  177. package/dist/test/matter/platform-matter.test.d.ts.map +1 -0
  178. package/dist/test/matter/platform-matter.test.js +117 -0
  179. package/dist/test/matter/platform-matter.test.js.map +1 -0
  180. package/dist/test/matter/platform-matter.unregister.test.d.ts +2 -0
  181. package/dist/test/matter/platform-matter.unregister.test.d.ts.map +1 -0
  182. package/dist/test/matter/platform-matter.unregister.test.js +30 -0
  183. package/dist/test/matter/platform-matter.unregister.test.js.map +1 -0
  184. package/dist/test/matter/platform-matter.webhook.test.d.ts +2 -0
  185. package/dist/test/matter/platform-matter.webhook.test.d.ts.map +1 -0
  186. package/dist/test/matter/platform-matter.webhook.test.js +46 -0
  187. package/dist/test/matter/platform-matter.webhook.test.js.map +1 -0
  188. package/dist/test/utils.test.d.ts +2 -0
  189. package/dist/test/utils.test.d.ts.map +1 -0
  190. package/dist/test/utils.test.js +95 -0
  191. package/dist/test/utils.test.js.map +1 -0
  192. package/dist/test/verifyconfig.test.d.ts.map +1 -0
  193. package/dist/{verifyconfig.test.js → test/verifyconfig.test.js} +2 -2
  194. package/dist/test/verifyconfig.test.js.map +1 -0
  195. package/dist/utils.d.ts +204 -3
  196. package/dist/utils.d.ts.map +1 -1
  197. package/dist/utils.js +713 -33
  198. package/dist/utils.js.map +1 -1
  199. package/docs/assets/highlight.css +14 -0
  200. package/docs/assets/main.js +2 -2
  201. package/docs/index.html +31 -2
  202. package/docs/variables/default.html +1 -1
  203. package/package.json +15 -15
  204. package/src/devices-hap/airpurifier.ts +11 -6
  205. package/src/devices-hap/blindtilt.ts +3 -3
  206. package/src/devices-hap/bot.ts +15 -5
  207. package/src/devices-hap/ceilinglight.ts +12 -7
  208. package/src/devices-hap/colorbulb.ts +46 -10
  209. package/src/devices-hap/contact.ts +3 -3
  210. package/src/devices-hap/curtain.ts +2 -2
  211. package/src/devices-hap/device.ts +149 -70
  212. package/src/devices-hap/fan.ts +11 -6
  213. package/src/devices-hap/hub.ts +6 -5
  214. package/src/devices-hap/humidifier.ts +97 -4
  215. package/src/devices-hap/iosensor.ts +36 -21
  216. package/src/devices-hap/lightstrip.ts +35 -8
  217. package/src/devices-hap/lock.ts +13 -6
  218. package/src/devices-hap/meter.ts +6 -5
  219. package/src/devices-hap/meterplus.ts +6 -5
  220. package/src/devices-hap/meterpro.ts +7 -6
  221. package/src/devices-hap/motion.ts +3 -3
  222. package/src/devices-hap/plug.ts +10 -6
  223. package/src/devices-hap/relayswitch.ts +3 -3
  224. package/src/devices-hap/robotvacuumcleaner.ts +12 -6
  225. package/src/devices-hap/waterdetector.ts +3 -3
  226. package/src/devices-matter/BaseMatterAccessory.ts +176 -5
  227. package/src/devices-matter/ColorLightAccessory.ts +12 -12
  228. package/src/devices-matter/ColorTemperatureLightAccessory.ts +5 -7
  229. package/src/devices-matter/DimmableLightAccessory.ts +9 -9
  230. package/src/devices-matter/ExtendedColorLightAccessory.ts +14 -15
  231. package/src/devices-matter/OnOffLightAccessory.ts +8 -16
  232. package/src/devices-matter/OnOffOutletAccessory.ts +12 -7
  233. package/src/devices-matter/OnOffSwitchAccessory.ts +2 -2
  234. package/src/devices-matter/RoboticVacuumAccessory.ts +529 -315
  235. package/src/devices-matter/VenetianBlindAccessory.ts +5 -5
  236. package/src/devices-matter/WindowBlindAccessory.ts +53 -10
  237. package/src/homebridge-ui/public/index.html +219 -19
  238. package/src/homebridge-ui/server.ts +0 -34
  239. package/src/index.ts +4 -10
  240. package/src/irdevice/irdevice.ts +74 -35
  241. package/src/platform-hap.ts +365 -169
  242. package/src/platform-matter.ts +1923 -230
  243. package/src/settings.ts +78 -3
  244. package/src/test/apiRequestTracker.test.ts +417 -0
  245. package/src/test/hap/device-webhook-context.test.ts +136 -0
  246. package/src/test/hap/platform-hap.logging.test.ts +36 -0
  247. package/src/test/hap/platform-hap.test.ts +70 -0
  248. package/src/test/helpers/platform-fixtures.ts +33 -0
  249. package/src/test/homebridge-ui/server.test.ts +486 -0
  250. package/src/test/index.test.ts +24 -0
  251. package/src/test/matter/devices-matter/baseMatterAccessory.test.ts +88 -0
  252. package/src/test/matter/platform-matter.additional.test.ts +44 -0
  253. package/src/test/matter/platform-matter.bleparse.test.ts +47 -0
  254. package/src/test/matter/platform-matter.cleanup.test.ts +86 -0
  255. package/src/test/matter/platform-matter.keepstale.test.ts +37 -0
  256. package/src/test/matter/platform-matter.logging.test.ts +33 -0
  257. package/src/test/matter/platform-matter.mapping.test.ts +57 -0
  258. package/src/test/matter/platform-matter.openapi-mapping.test.ts +109 -0
  259. package/src/test/matter/platform-matter.test.ts +144 -0
  260. package/src/test/matter/platform-matter.unregister.test.ts +39 -0
  261. package/src/test/matter/platform-matter.webhook.test.ts +54 -0
  262. package/src/test/utils.test.ts +96 -0
  263. package/src/{verifyconfig.test.ts → test/verifyconfig.test.ts} +12 -11
  264. package/src/utils.ts +777 -36
  265. package/dist/index.test.js +0 -14
  266. package/dist/index.test.js.map +0 -1
  267. package/dist/verifyconfig.test.d.ts.map +0 -1
  268. package/dist/verifyconfig.test.js.map +0 -1
  269. package/src/index.test.ts +0 -19
  270. /package/dist/{index.test.d.ts → test/index.test.d.ts} +0 -0
  271. /package/dist/{verifyconfig.test.d.ts → test/verifyconfig.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/RoboticVacuumAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/RoboticVacuumAccessory.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,17 @@
2
2
  * Venetian Blind Accessory Class
3
3
  * Lift and tilt control
4
4
  */
5
- import type { API, Logger } from 'homebridge';
5
+ import type { API, Logger, MatterRequests } from 'homebridge';
6
6
  import { BaseMatterAccessory } from './BaseMatterAccessory.js';
7
7
  export declare class VenetianBlindAccessory extends BaseMatterAccessory {
8
8
  constructor(api: API, log: Logger, opts?: Partial<import('./BaseMatterAccessory').BaseMatterAccessoryConfig & {
9
9
  deviceId?: string;
10
10
  }>);
11
- private handleGoToLift;
12
- private handleGoToTilt;
13
- private handleUpOrOpen;
14
- private handleDownOrClose;
15
- private handleStop;
11
+ handleGoToLift(request: MatterRequests.GoToLiftPercentage): Promise<void>;
12
+ handleGoToTilt(request: MatterRequests.GoToTiltPercentage): Promise<void>;
13
+ handleUpOrOpen(): Promise<void>;
14
+ handleDownOrClose(): Promise<void>;
15
+ handleStop(): Promise<void>;
16
16
  updateLiftPosition(openPercent: number): void;
17
17
  updateTiltPosition(degrees: number): void;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VenetianBlindAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/VenetianBlindAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,sBAAuB,SAAQ,mBAAmB;gBACjD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YAkDtH,cAAc;YAUd,cAAc;YASd,cAAc;YAKd,iBAAiB;YAKjB,UAAU;IAKjB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAW7C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CASjD"}
1
+ {"version":3,"file":"VenetianBlindAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/VenetianBlindAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,sBAAuB,SAAQ,mBAAmB;gBACjD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkDvH,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzE,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IASzE,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAW7C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CASjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"VenetianBlindAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/VenetianBlindAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VenetianBlindAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/VenetianBlindAccessory.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,16 @@
2
2
  * Window Blind Accessory Class
3
3
  * Lift control only (up/down)
4
4
  */
5
- import type { API, Logger } from 'homebridge';
5
+ import type { API, Logger, MatterRequests } from 'homebridge';
6
6
  import { BaseMatterAccessory } from './BaseMatterAccessory.js';
7
7
  export declare class WindowBlindAccessory extends BaseMatterAccessory {
8
8
  constructor(api: API, log: Logger, opts?: Partial<import('./BaseMatterAccessory').BaseMatterAccessoryConfig & {
9
9
  deviceId?: string;
10
10
  }>);
11
- private handleGoToLift;
12
- private handleUpOrOpen;
13
- private handleDownOrClose;
14
- private handleStop;
11
+ handleGoToLift(request: MatterRequests.GoToLiftPercentage): Promise<void>;
12
+ handleUpOrOpen(): Promise<void>;
13
+ handleDownOrClose(): Promise<void>;
14
+ handleStop(): Promise<void>;
15
15
  updateLiftPosition(openPercent: number): void;
16
16
  }
17
17
  //# sourceMappingURL=WindowBlindAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WindowBlindAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/WindowBlindAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAC/C,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YA+CtH,cAAc;YASd,cAAc;YAKd,iBAAiB;YAKjB,UAAU;IAKjB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAUrD"}
1
+ {"version":3,"file":"WindowBlindAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/WindowBlindAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAC/C,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA+CvH,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzE,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAe/B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAUrD"}
@@ -50,21 +50,72 @@ export class WindowBlindAccessory extends BaseMatterAccessory {
50
50
  this.logInfo(`GoToLiftPercentage request: ${JSON.stringify(request)}`);
51
51
  // Matter uses 0=open, 10000=closed, so invert to get open percentage
52
52
  const closedPercent = request.liftPercent100thsValue / 100;
53
- const openPercent = (100 - closedPercent).toFixed(0);
54
- this.logInfo(`moved to ${openPercent}% open.`);
55
- // TODO: await myBlindAPI.setPosition(openPercent)
53
+ // SwitchBot API expects position: 0=open, 100=closed
54
+ const position = Math.max(0, Math.min(100, closedPercent));
55
+ // Default to performance mode (ff), index is always 0
56
+ const mode = 'ff'; // or '01' for silent mode if needed
57
+ const parameter = `0,${mode},${position}`;
58
+ this.logInfo(`Sending setPosition to OpenAPI: parameter=${parameter}`);
59
+ try {
60
+ if (this.context?.sendOpenAPI) {
61
+ await this.sendOpenAPICommand('setPosition', parameter);
62
+ this.logInfo('OpenAPI setPosition command sent.');
63
+ }
64
+ else {
65
+ this.logWarn('OpenAPI sender not available in context.');
66
+ }
67
+ }
68
+ catch (e) {
69
+ this.logWarn(`OpenAPI setPosition failed: ${String(e?.message ?? e)}`);
70
+ }
56
71
  }
57
72
  async handleUpOrOpen() {
58
73
  this.logInfo('opened blind.');
59
- // TODO: await myBlindAPI.open()
74
+ try {
75
+ // Send open command to SwitchBot OpenAPI
76
+ if (this.context?.sendOpenAPI) {
77
+ await this.sendOpenAPICommand('turnOn');
78
+ this.logInfo('OpenAPI open command sent.');
79
+ }
80
+ else {
81
+ this.logWarn('OpenAPI sender not available in context.');
82
+ }
83
+ }
84
+ catch (e) {
85
+ this.logWarn(`OpenAPI open failed: ${String(e?.message ?? e)}`);
86
+ }
60
87
  }
61
88
  async handleDownOrClose() {
62
89
  this.logInfo('closed blind.');
63
- // TODO: await myBlindAPI.close()
90
+ try {
91
+ // Send close command to SwitchBot OpenAPI
92
+ if (this.context?.sendOpenAPI) {
93
+ await this.sendOpenAPICommand('turnOff');
94
+ this.logInfo('OpenAPI close command sent.');
95
+ }
96
+ else {
97
+ this.logWarn('OpenAPI sender not available in context.');
98
+ }
99
+ }
100
+ catch (e) {
101
+ this.logWarn(`OpenAPI close failed: ${String(e?.message ?? e)}`);
102
+ }
64
103
  }
65
104
  async handleStop() {
66
105
  this.logInfo('stopped blind.');
67
- // TODO: await myBlindAPI.stop()
106
+ try {
107
+ // Send pause command to SwitchBot OpenAPI
108
+ if (this.context?.sendOpenAPI) {
109
+ await this.sendOpenAPICommand('pause');
110
+ this.logInfo('OpenAPI pause command sent.');
111
+ }
112
+ else {
113
+ this.logWarn('OpenAPI sender not available in context.');
114
+ }
115
+ }
116
+ catch (e) {
117
+ this.logWarn(`OpenAPI pause failed: ${String(e?.message ?? e)}`);
118
+ }
68
119
  }
69
120
  updateLiftPosition(openPercent) {
70
121
  // Convert open percentage to Matter's closed percentage (0=open, 10000=closed)
@@ -1 +1 @@
1
- {"version":3,"file":"WindowBlindAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/WindowBlindAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WindowBlindAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/WindowBlindAccessory.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,8 @@
28
28
  <div id="menuWrapper" class="btn-group w-100 mb-0" role="group" aria-label="UI Menu" style="display: none">
29
29
  <button type="button" class="btn btn-primary" id="menuSettings">Settings</button>
30
30
  <button type="button" class="btn btn-primary" id="menuDevices">Devices</button>
31
- <button type="button" class="btn btn-primary mr-0" id="menuHome">Support</button>
31
+ <button type="button" class="btn btn-primary" id="menuHome">Support</button>
32
+ <button type="button" class="btn btn-primary mr-0" id="dynamic-config-tab">Dynamic Config</button>
32
33
  </div>
33
34
  <div id="disabledBanner" class="alert alert-secondary mb-0 mt-3" role="alert" style="display: none">
34
35
  Plugin is currently disabled
@@ -43,7 +44,7 @@
43
44
  </form>
44
45
  <table class="table w-100" id="deviceTable" style="display: none">
45
46
  <thead>
46
- <tr class="table-active">
47
+ <tr>
47
48
  <th scope="col" style="width: 40%">Device Name</th>
48
49
  <th scope="col" style="width: 60%" id="displayName"></th>
49
50
  </tr>
@@ -69,8 +70,22 @@
69
70
  <th scope="row">Connection Type</th>
70
71
  <td id="connectionType"></td>
71
72
  </tr>
73
+ <tr>
74
+ <th scope="row">Refresh Rate</th>
75
+ <td id="refreshRate"></td>
76
+ </tr>
77
+ <tr>
78
+ <th scope="row">Update Rate</th>
79
+ <td id="updateRate"></td>
80
+ </tr>
81
+ <tr>
82
+ <th scope="row">Push Rate</th>
83
+ <td id="pushRate"></td>
84
+ </tr>
72
85
  </tbody>
73
86
  </table>
87
+ <h5 class="mt-4">Cached Accessories</h5>
88
+ <ul id="cachedAccessoriesList"></ul>
74
89
  <p class="text-center">External accessories will not be displayed here.</p>
75
90
  </div>
76
91
  </div>
@@ -118,10 +133,50 @@
118
133
  </li>
119
134
  </ul>
120
135
  </div>
136
+ <div id="dynamic-config-content" class="tab-content" style="display: none;">
137
+ <h2>Dynamic Config</h2>
138
+ <p>Discover and configure devices dynamically.</p>
139
+ <!-- Placeholder for dynamic content -->
140
+ </div>
121
141
  <script>
122
142
  (async () => {
123
143
  try {
124
144
  const currentConfig = await homebridge.getPluginConfig();
145
+
146
+ // Defensive wrapper: ensure token/secret aren't accidentally cleared by
147
+ // the UI/schema form. Some versions of config UI can omit sensitive
148
+ // fields from the submitted payload; when that happens we copy the
149
+ // existing values from `currentConfig` into the outgoing payload so
150
+ // saved config does not inadvertently remove credentials.
151
+ try {
152
+ if (typeof homebridge.updatePluginConfig === 'function') {
153
+ const _origUpdatePluginConfig = homebridge.updatePluginConfig.bind(homebridge)
154
+ homebridge.updatePluginConfig = async (cfg) => {
155
+ try {
156
+ if (Array.isArray(cfg) && cfg.length > 0 && Array.isArray(currentConfig) && currentConfig.length > 0) {
157
+ const incoming = cfg[0] || {}
158
+ const existing = currentConfig[0] || {}
159
+ incoming.credentials = incoming.credentials || {}
160
+ // Preserve token/secret when incoming payload leaves them blank/undefined
161
+ if ((incoming.credentials.token === undefined || String(incoming.credentials.token).trim() === '') && existing.credentials && existing.credentials.token) {
162
+ incoming.credentials.token = existing.credentials.token
163
+ }
164
+ if ((incoming.credentials.secret === undefined || String(incoming.credentials.secret).trim() === '') && existing.credentials && existing.credentials.secret) {
165
+ incoming.credentials.secret = existing.credentials.secret
166
+ }
167
+ cfg[0] = incoming
168
+ }
169
+ } catch (e) {
170
+ // Swallow any wrapper errors but log to console for debugging
171
+ // (do not expose secrets).
172
+ console.error('updatePluginConfig wrapper error', e)
173
+ }
174
+ return await _origUpdatePluginConfig(cfg)
175
+ }
176
+ }
177
+ } catch (e) {
178
+ console.error('Failed to attach updatePluginConfig wrapper', e)
179
+ }
125
180
  showIntro = () => {
126
181
  const introLink = document.getElementById('introLink');
127
182
  introLink.addEventListener('click', () => {
@@ -144,13 +199,33 @@
144
199
  document.getElementById('menuSettings').classList.add('btn-primary');
145
200
  document.getElementById('pageSupport').style.display = 'none';
146
201
  document.getElementById('pageDevices').style.display = 'block';
147
- const cachedAccessories =
202
+ let cachedAccessories =
148
203
  typeof homebridge.getCachedAccessories === 'function'
149
204
  ? await homebridge.getCachedAccessories()
150
205
  : await homebridge.request('/getCachedAccessories');
206
+
207
+ // If no HAP cached accessories were returned, try the Matter cached list using the new native method
208
+ if ((!cachedAccessories || cachedAccessories.length === 0)) {
209
+ try {
210
+ // Use the new native getCachedMatterAccessories() method from @homebridge/plugin-ui-utils v2.1.1-beta.0+
211
+ const matter = typeof homebridge.getCachedMatterAccessories === 'function'
212
+ ? await homebridge.getCachedMatterAccessories()
213
+ : await homebridge.request('/getCachedMatterAccessories'); // Fallback to custom handler for older UI versions
214
+ if (Array.isArray(matter) && matter.length > 0) {
215
+ cachedAccessories = matter
216
+ }
217
+ } catch (e) {
218
+ // ignore
219
+ }
220
+ }
221
+ console.log('Cached Accessories:', cachedAccessories); // Log cached accessories for debugging
151
222
  if (cachedAccessories.length > 0) {
152
223
  cachedAccessories.sort((a, b) => {
153
- return a.displayName.toLowerCase() > b.displayName.toLowerCase() ? 1 : b.displayName.toLowerCase() > a.displayName.toLowerCase() ? -1 : 0;
224
+ return a.displayName.toLowerCase() > b.displayName.toLowerCase()
225
+ ? 1
226
+ : b.displayName.toLowerCase() > a.displayName.toLowerCase()
227
+ ? -1
228
+ : 0;
154
229
  });
155
230
  }
156
231
  const deviceSelect = document.getElementById('deviceSelect');
@@ -158,24 +233,141 @@
158
233
  cachedAccessories.forEach((a) => {
159
234
  const option = document.createElement('option');
160
235
  option.text = a.displayName;
161
- option.value = a.UUID;
236
+ option.value = a.UUID || a.uuid; // Handle both HAP and Matter UUID formats
162
237
  deviceSelect.add(option);
163
238
  });
239
+ const cachedAccessoriesList = document.getElementById('cachedAccessoriesList');
240
+ cachedAccessoriesList.innerHTML = ''; // Clear previous entries
241
+ cachedAccessories.forEach((a) => {
242
+ const listItem = document.createElement('li');
243
+ listItem.textContent = `${a.displayName} (${a.UUID || a.uuid})`;
244
+ cachedAccessoriesList.appendChild(listItem);
245
+ });
246
+ const validateConfig = (config) => {
247
+ const deviceIds = new Set();
248
+ const isValid = config[0].options.devices.every((device) => {
249
+ if (!device.deviceId || typeof device.deviceId !== 'string') {
250
+ homebridge.toast.error(`Invalid device ID: ${device.deviceId}`, 'Error');
251
+ return false;
252
+ }
253
+ if (deviceIds.has(device.deviceId)) {
254
+ homebridge.toast.error(`Duplicate device ID found: ${device.deviceId}`, 'Error');
255
+ return false;
256
+ }
257
+ deviceIds.add(device.deviceId);
258
+ return true;
259
+ });
260
+ return isValid;
261
+ };
262
+
263
+ const addDeviceToConfig = async (deviceId) => {
264
+ try {
265
+ homebridge.showSpinner();
266
+ const currentConfig = await homebridge.getPluginConfig();
267
+ if (!currentConfig[0].options.devices) {
268
+ currentConfig[0].options.devices = [];
269
+ }
270
+ currentConfig[0].options.devices.push({
271
+ deviceId: deviceId.replace(/:/g, ''),
272
+ hide_device: false,
273
+ disablePlatformBLE: false,
274
+ allowPush: false,
275
+ disableCaching: false,
276
+ });
277
+ if (!validateConfig(currentConfig)) {
278
+ homebridge.hideSpinner();
279
+ return;
280
+ }
281
+ await homebridge.updatePluginConfig(currentConfig);
282
+ await homebridge.savePluginConfig();
283
+ homebridge.toast.success('Device added to config successfully!', 'Success');
284
+ } catch (error) {
285
+ homebridge.toast.error('Failed to add device to config!', 'Error');
286
+ } finally {
287
+ homebridge.hideSpinner();
288
+ }
289
+ };
290
+
291
+ const protocolInfo = document.createElement('p');
292
+ protocolInfo.id = 'protocolInfo';
293
+ protocolInfo.style.marginTop = '10px';
294
+ document.getElementById('deviceInfo').appendChild(protocolInfo);
295
+
296
+ const addDeviceButton = document.createElement('button');
297
+ addDeviceButton.textContent = 'Add Device to Config';
298
+ addDeviceButton.className = 'btn btn-success';
299
+ addDeviceButton.style.marginTop = '10px';
300
+ addDeviceButton.addEventListener('click', () => {
301
+ const deviceId = document.getElementById('deviceId').textContent;
302
+ if (deviceId) {
303
+ addDeviceToConfig(deviceId);
304
+ } else {
305
+ homebridge.toast.error('No device ID found!', 'Error');
306
+ }
307
+ });
308
+ document.getElementById('deviceInfo').appendChild(addDeviceButton);
309
+
310
+ const updateTableWithDetails = (deviceContext) => {
311
+ const tableBody = document.querySelector('#deviceTable tbody');
312
+
313
+ Object.entries(deviceContext).forEach(([key, value]) => {
314
+ if (/string|number|boolean/.test(typeof value) && (typeof value !== 'string' || value.trim())) {
315
+ let existingCell = document.getElementById(key);
316
+ if (existingCell) {
317
+ existingCell.textContent = value;
318
+ } else {
319
+ const row = document.createElement('tr');
320
+ const keyCell = document.createElement('th');
321
+ keyCell.scope = 'row';
322
+ keyCell.textContent = key;
323
+ const valueCell = document.createElement('td');
324
+ valueCell.textContent = value;
325
+ row.appendChild(keyCell);
326
+ row.appendChild(valueCell);
327
+ tableBody.appendChild(row);
328
+ }
329
+ }
330
+ });
331
+ };
332
+
333
+ // Ensure the element exists before attempting to set its innerHTML
334
+ const safeSetInnerHTML = (id, value) => {
335
+ const element = document.getElementById(id);
336
+ if (element) {
337
+ element.innerHTML = value;
338
+ } else {
339
+ console.warn(`Element with id '${id}' not found.`);
340
+ }
341
+ };
342
+
164
343
  showDeviceInfo = async (UUID) => {
165
- homebridge.showSpinner();
166
- const thisAcc = cachedAccessories.find((x) => x.UUID === UUID);
167
- const context = thisAcc.context;
168
- document.getElementById('displayName').innerHTML = thisAcc.displayName;
169
- document.getElementById('deviceId').innerHTML = context.deviceId;
170
- document.getElementById('model').innerHTML = context.model;
171
- document.getElementById('version').innerHTML = context.version;
172
- document.getElementById('deviceType').innerHTML = context.deviceType;
173
- document.getElementById('connectionType').innerHTML = context.connectionType;
174
- document.getElementById('refreshRate').innerHTML = context.refreshRate;
175
- document.getElementById('updateRate').innerHTML = context.updateRate;
176
- document.getElementById('pushRate').innerHTML = context.pushRate;
177
- document.getElementById('deviceTable').style.display = 'inline-table';
178
- homebridge.hideSpinner();
344
+ try {
345
+ homebridge.showSpinner();
346
+ const thisAcc = cachedAccessories.find((x) => x.UUID === UUID);
347
+ if (!thisAcc) {
348
+ throw new Error('Device not found');
349
+ }
350
+ const context = thisAcc.context;
351
+ const protocol = thisAcc.isMatter ? 'Matter Protocol' : 'HAP Protocol';
352
+ safeSetInnerHTML('displayName', thisAcc.displayName);
353
+ safeSetInnerHTML('deviceId', context.deviceId);
354
+ safeSetInnerHTML('model', context.model);
355
+ safeSetInnerHTML('version', context.version);
356
+ safeSetInnerHTML('deviceType', context.deviceType);
357
+ safeSetInnerHTML('connectionType', context.connectionType);
358
+ safeSetInnerHTML('refreshRate', context.refreshRate);
359
+ safeSetInnerHTML('updateRate', context.updateRate);
360
+ safeSetInnerHTML('pushRate', context.pushRate);
361
+ safeSetInnerHTML('protocolInfo', protocol);
362
+ document.getElementById('deviceTable').style.display = 'inline-table';
363
+
364
+
365
+ updateTableWithDetails(context);
366
+ } catch (error) {
367
+ homebridge.toast.error(error.message, 'Error');
368
+ } finally {
369
+ homebridge.hideSpinner();
370
+ }
179
371
  };
180
372
  deviceSelect.addEventListener('change', (event) => showDeviceInfo(event.target.value));
181
373
  if (cachedAccessories.length > 0) {
@@ -246,4 +438,12 @@
246
438
  homebridge.hideSpinner();
247
439
  }
248
440
  })();
441
+
442
+ document.getElementById('dynamic-config-tab').addEventListener('click', function() {
443
+ // Hide other tabs
444
+ document.querySelectorAll('.tab-content').forEach(tab => tab.style.display = 'none');
445
+
446
+ // Show Dynamic Config tab
447
+ document.getElementById('dynamic-config-content').style.display = 'block';
448
+ });
249
449
  </script>
@@ -1,38 +1,7 @@
1
- import fs from 'node:fs';
2
1
  import { HomebridgePluginUiServer } from '@homebridge/plugin-ui-utils';
3
2
  class PluginUiServer extends HomebridgePluginUiServer {
4
3
  constructor() {
5
4
  super();
6
- /*
7
- A native method getCachedAccessories() was introduced in config-ui-x v4.37.0
8
- The following is for users who have a lower version of config-ui-x
9
- */
10
- this.onRequest('getCachedAccessories', () => {
11
- try {
12
- const plugin = 'homebridge-switchbot';
13
- const devicesToReturn = [];
14
- // The path and file of the cached accessories
15
- const accFile = `${this.homebridgeStoragePath}/accessories/cachedAccessories`;
16
- // Check the file exists
17
- if (fs.existsSync(accFile)) {
18
- // read the cached accessories file
19
- const cachedAccessories = JSON.parse(fs.readFileSync(accFile, 'utf8'));
20
- cachedAccessories.forEach((accessory) => {
21
- // Check the accessory is from this plugin
22
- if (accessory.plugin === plugin) {
23
- // Add the cached accessory to the array
24
- devicesToReturn.push(accessory.accessory);
25
- }
26
- });
27
- }
28
- // Return the array
29
- return devicesToReturn;
30
- }
31
- catch {
32
- // Just return an empty accessory list in case of any errors
33
- return [];
34
- }
35
- });
36
5
  this.ready();
37
6
  }
38
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/homebridge-ui/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,MAAM,cAAe,SAAQ,wBAAwB;IACnD;QACE,KAAK,EAAE,CAAA;QACP;;;UAGE;QACF,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC1C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,sBAAsB,CAAA;gBACrC,MAAM,eAAe,GAAG,EAAE,CAAA;gBAE1B,8CAA8C;gBAC9C,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,qBAAqB,gCAAgC,CAAA;gBAE7E,wBAAwB;gBACxB,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,mCAAmC;oBACnC,MAAM,iBAAiB,GAAU,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;oBAE7E,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAc,EAAE,EAAE;wBAC3C,0CAA0C;wBAC1C,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;4BAChC,wCAAwC;4BACxC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAkB,CAAC,CAAA;wBACpD,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;gBACD,mBAAmB;gBACnB,OAAO,eAAe,CAAA;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;gBAC5D,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;CACF;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAI,cAAc,EAAE,CAAA;AAC7B,CAAC;AAED,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/homebridge-ui/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,MAAM,cAAe,SAAQ,wBAAwB;IACnD;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;CACF;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAI,cAAc,EAAE,CAAA;AAC7B,CAAC;AAED,mBAAmB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;yBAOrB,KAAK,GAAG,KAAG,IAAI;AAA/B,wBAWC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;yBAQrB,KAAK,GAAG,KAAG,IAAI;AAA/B,wBAIC"}
package/dist/index.js CHANGED
@@ -1,16 +1,11 @@
1
1
  import { SwitchBotHAPPlatform } from './platform-hap.js';
2
2
  import { SwitchBotMatterPlatform } from './platform-matter.js';
3
3
  import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
4
+ import { createPlatformProxy } from './utils.js';
4
5
  // Register our platform with homebridge.
5
6
  export default (api) => {
6
- // Call the instance method on the runtime `api` object (optional chaining in case
7
- // older homebridge doesn't provide it). Treat undefined as false.
8
- const isMatter = typeof api.isMatterEnabled === 'function'
9
- ? Boolean(api.isMatterEnabled())
10
- : Boolean(api.isMatterEnabled);
11
- const log = api.logger ?? api.log ?? console;
12
- log.info?.(`Homebridge SwitchBot Plugin initializing in ${isMatter ? 'Matter' : 'HAP'} mode.`);
13
- // If Matter is enabled register the Matter platform, otherwise use HAP platform.
14
- api.registerPlatform(PLUGIN_NAME, PLATFORM_NAME, isMatter ? SwitchBotMatterPlatform : SwitchBotHAPPlatform);
7
+ // Create and register a small proxy that selects the correct platform (HAP or Matter) at runtime.
8
+ const ProxyCtor = createPlatformProxy(SwitchBotHAPPlatform, SwitchBotMatterPlatform);
9
+ api.registerPlatform(PLUGIN_NAME, PLATFORM_NAME, ProxyCtor);
15
10
  };
16
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE1D,yCAAyC;AACzC,eAAe,CAAC,GAAQ,EAAQ,EAAE;IAChC,kFAAkF;IAClF,kEAAkE;IAClE,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,eAAe,KAAK,UAAU;QACxD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,CAAC,CAAC,OAAO,CAAE,GAAW,CAAC,eAAe,CAAC,CAAA;IAEzC,MAAM,GAAG,GAAI,GAAW,CAAC,MAAM,IAAK,GAAW,CAAC,GAAG,IAAI,OAAO,CAAA;IAC9D,GAAG,CAAC,IAAI,EAAE,CAAC,+CAA+C,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA;IAC9F,iFAAiF;IACjF,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;AAC7G,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,yCAAyC;AACzC,eAAe,CAAC,GAAQ,EAAQ,EAAE;IAChC,kGAAkG;IAClG,MAAM,SAAS,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;IACpF,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,SAAgB,CAAC,CAAA;AACpE,CAAC,CAAA"}