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

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 (534) hide show
  1. package/.github/ISSUE_TEMPLATE/e2e-verification.md +36 -0
  2. package/.github/workflows/ci.yml +61 -0
  3. package/.github/workflows/manual-e2e.yml +103 -0
  4. package/CHANGELOG.md +20 -0
  5. package/E2E-VERIFICATION.md +121 -0
  6. package/MIGRATION.md +44 -0
  7. package/README.md +11 -0
  8. package/config.schema.json +99 -1940
  9. package/dist/deviceFactory.d.ts +13 -0
  10. package/dist/deviceFactory.d.ts.map +1 -0
  11. package/dist/deviceFactory.js +81 -0
  12. package/dist/deviceFactory.js.map +1 -0
  13. package/dist/devices/deviceBase.d.ts +50 -0
  14. package/dist/devices/deviceBase.d.ts.map +1 -0
  15. package/dist/devices/deviceBase.js +119 -0
  16. package/dist/devices/deviceBase.js.map +1 -0
  17. package/dist/devices/genericDevice.d.ts +283 -0
  18. package/dist/devices/genericDevice.d.ts.map +1 -0
  19. package/dist/devices/genericDevice.js +1035 -0
  20. package/dist/devices/genericDevice.js.map +1 -0
  21. package/dist/homebridge-ui/public/index.html +72 -440
  22. package/dist/homebridge-ui/server.d.ts +3 -1
  23. package/dist/homebridge-ui/server.d.ts.map +1 -1
  24. package/dist/homebridge-ui/server.js +47 -10
  25. package/dist/homebridge-ui/server.js.map +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -3
  28. package/dist/index.js.map +1 -1
  29. package/dist/platform.d.ts +27 -0
  30. package/dist/platform.d.ts.map +1 -0
  31. package/dist/platform.js +404 -0
  32. package/dist/platform.js.map +1 -0
  33. package/dist/settings.d.ts +10 -317
  34. package/dist/settings.d.ts.map +1 -1
  35. package/dist/settings.js +5 -30
  36. package/dist/settings.js.map +1 -1
  37. package/dist/switchbotClient.d.ts +32 -0
  38. package/dist/switchbotClient.d.ts.map +1 -0
  39. package/dist/switchbotClient.js +259 -0
  40. package/dist/switchbotClient.js.map +1 -0
  41. package/dist/utils.d.ts +36 -248
  42. package/dist/utils.d.ts.map +1 -1
  43. package/dist/utils.js +38 -1367
  44. package/dist/utils.js.map +1 -1
  45. package/docs/assets/icons.js +1 -1
  46. package/docs/assets/icons.svg +1 -1
  47. package/docs/assets/style.css +3 -3
  48. package/docs/index.html +50 -15
  49. package/docs/variables/default.html +1 -1
  50. package/package.json +19 -18
  51. package/scripts/e2e/README.md +25 -0
  52. package/scripts/e2e/curtain-e2e.sh +70 -0
  53. package/scripts/e2e/fan-e2e.sh +75 -0
  54. package/scripts/e2e/light-advanced-e2e.sh +97 -0
  55. package/scripts/e2e/light-e2e.sh +75 -0
  56. package/scripts/e2e/list-accessories.sh +19 -0
  57. package/scripts/e2e/lock-e2e.sh +65 -0
  58. package/scripts/generate-matter-maps.js +60 -0
  59. package/scripts/run-e2e-local.sh +14 -0
  60. package/src/deviceFactory.ts +122 -0
  61. package/src/devices/deviceBase.ts +141 -0
  62. package/src/devices/genericDevice.ts +965 -0
  63. package/src/homebridge-ui/public/index.html +72 -440
  64. package/src/homebridge-ui/server.ts +52 -10
  65. package/src/index.ts +1 -3
  66. package/src/platform.ts +395 -0
  67. package/src/settings.ts +12 -352
  68. package/src/switchbotClient.ts +266 -0
  69. package/src/utils.ts +47 -1456
  70. package/test/accessory-restore.spec.ts +73 -0
  71. package/test/device-mapping.spec.ts +37 -0
  72. package/test/deviceFactory.spec.ts +18 -0
  73. package/test/e2e/run-e2e.spec.ts +50 -0
  74. package/test/fan-swing.spec.ts +29 -0
  75. package/test/helpers/matter-harness.ts +53 -0
  76. package/test/lock-users.spec.ts +44 -0
  77. package/test/matter-childbridge.spec.ts +55 -0
  78. package/test/matter-descriptors.spec.ts +97 -0
  79. package/test/matter-device-state.spec.ts +101 -0
  80. package/test/matter-integration.spec.ts +70 -0
  81. package/test/platform.integration.spec.ts +55 -0
  82. package/test/switchbot-client-debounce.spec.ts +131 -0
  83. package/test/switchbot-client-openapi.spec.ts +56 -0
  84. package/test/switchbotClient.spec.ts +10 -0
  85. package/test/utils.spec.ts +20 -0
  86. package/vitest.config.ts +7 -0
  87. package/coverage/base.css +0 -224
  88. package/coverage/block-navigation.js +0 -87
  89. package/coverage/clover.xml +0 -15847
  90. package/coverage/coverage-final.json +0 -42
  91. package/coverage/docs/assets/dmt/dmt-component-data.js.html +0 -85
  92. package/coverage/docs/assets/dmt/dmt-components.js.html +0 -286
  93. package/coverage/docs/assets/dmt/index.html +0 -131
  94. package/coverage/docs/assets/hierarchy.js.html +0 -85
  95. package/coverage/docs/assets/icons.js.html +0 -136
  96. package/coverage/docs/assets/index.html +0 -146
  97. package/coverage/docs/assets/main.js.html +0 -265
  98. package/coverage/favicon.png +0 -0
  99. package/coverage/index.html +0 -191
  100. package/coverage/prettify.css +0 -1
  101. package/coverage/prettify.js +0 -2
  102. package/coverage/sort-arrow-sprite.png +0 -0
  103. package/coverage/sorter.js +0 -196
  104. package/coverage/src/device/blindtilt.ts.html +0 -3238
  105. package/coverage/src/device/bot.ts.html +0 -2803
  106. package/coverage/src/device/ceilinglight.ts.html +0 -2338
  107. package/coverage/src/device/colorbulb.ts.html +0 -2824
  108. package/coverage/src/device/contact.ts.html +0 -1465
  109. package/coverage/src/device/curtain.ts.html +0 -2869
  110. package/coverage/src/device/device.ts.html +0 -2500
  111. package/coverage/src/device/fan.ts.html +0 -2242
  112. package/coverage/src/device/hub.ts.html +0 -1408
  113. package/coverage/src/device/humidifier.ts.html +0 -2116
  114. package/coverage/src/device/index.html +0 -416
  115. package/coverage/src/device/iosensor.ts.html +0 -1375
  116. package/coverage/src/device/lightstrip.ts.html +0 -2617
  117. package/coverage/src/device/lock.ts.html +0 -1963
  118. package/coverage/src/device/meter.ts.html +0 -1372
  119. package/coverage/src/device/meterplus.ts.html +0 -1384
  120. package/coverage/src/device/meterpro.ts.html +0 -1618
  121. package/coverage/src/device/motion.ts.html +0 -1264
  122. package/coverage/src/device/plug.ts.html +0 -1372
  123. package/coverage/src/device/relayswitch.ts.html +0 -2284
  124. package/coverage/src/device/robotvacuumcleaner.ts.html +0 -1810
  125. package/coverage/src/device/waterdetector.ts.html +0 -1294
  126. package/coverage/src/homebridge-ui/index.html +0 -116
  127. package/coverage/src/homebridge-ui/server.ts.html +0 -229
  128. package/coverage/src/index.html +0 -161
  129. package/coverage/src/index.ts.html +0 -124
  130. package/coverage/src/irdevice/airconditioner.ts.html +0 -1687
  131. package/coverage/src/irdevice/airpurifier.ts.html +0 -844
  132. package/coverage/src/irdevice/camera.ts.html +0 -475
  133. package/coverage/src/irdevice/fan.ts.html +0 -766
  134. package/coverage/src/irdevice/index.html +0 -251
  135. package/coverage/src/irdevice/irdevice.ts.html +0 -1117
  136. package/coverage/src/irdevice/light.ts.html +0 -826
  137. package/coverage/src/irdevice/other.ts.html +0 -2458
  138. package/coverage/src/irdevice/tv.ts.html +0 -1222
  139. package/coverage/src/irdevice/vacuumcleaner.ts.html +0 -466
  140. package/coverage/src/irdevice/waterheater.ts.html +0 -469
  141. package/coverage/src/platform.ts.html +0 -8776
  142. package/coverage/src/settings.ts.html +0 -934
  143. package/coverage/src/utils.ts.html +0 -2092
  144. package/dist/devices-hap/airpurifier.d.ts +0 -54
  145. package/dist/devices-hap/airpurifier.d.ts.map +0 -1
  146. package/dist/devices-hap/airpurifier.js +0 -533
  147. package/dist/devices-hap/airpurifier.js.map +0 -1
  148. package/dist/devices-hap/blindtilt.d.ts +0 -90
  149. package/dist/devices-hap/blindtilt.d.ts.map +0 -1
  150. package/dist/devices-hap/blindtilt.js +0 -974
  151. package/dist/devices-hap/blindtilt.js.map +0 -1
  152. package/dist/devices-hap/bot.d.ts +0 -102
  153. package/dist/devices-hap/bot.d.ts.map +0 -1
  154. package/dist/devices-hap/bot.js +0 -822
  155. package/dist/devices-hap/bot.js.map +0 -1
  156. package/dist/devices-hap/ceilinglight.d.ts +0 -85
  157. package/dist/devices-hap/ceilinglight.d.ts.map +0 -1
  158. package/dist/devices-hap/ceilinglight.js +0 -707
  159. package/dist/devices-hap/ceilinglight.js.map +0 -1
  160. package/dist/devices-hap/colorbulb.d.ts +0 -88
  161. package/dist/devices-hap/colorbulb.d.ts.map +0 -1
  162. package/dist/devices-hap/colorbulb.js +0 -921
  163. package/dist/devices-hap/colorbulb.js.map +0 -1
  164. package/dist/devices-hap/contact.d.ts +0 -44
  165. package/dist/devices-hap/contact.d.ts.map +0 -1
  166. package/dist/devices-hap/contact.js +0 -409
  167. package/dist/devices-hap/contact.js.map +0 -1
  168. package/dist/devices-hap/curtain.d.ts +0 -73
  169. package/dist/devices-hap/curtain.d.ts.map +0 -1
  170. package/dist/devices-hap/curtain.js +0 -869
  171. package/dist/devices-hap/curtain.js.map +0 -1
  172. package/dist/devices-hap/device.d.ts +0 -108
  173. package/dist/devices-hap/device.d.ts.map +0 -1
  174. package/dist/devices-hap/device.js +0 -821
  175. package/dist/devices-hap/device.js.map +0 -1
  176. package/dist/devices-hap/fan.d.ts +0 -69
  177. package/dist/devices-hap/fan.d.ts.map +0 -1
  178. package/dist/devices-hap/fan.js +0 -655
  179. package/dist/devices-hap/fan.js.map +0 -1
  180. package/dist/devices-hap/hub.d.ts +0 -37
  181. package/dist/devices-hap/hub.d.ts.map +0 -1
  182. package/dist/devices-hap/hub.js +0 -393
  183. package/dist/devices-hap/hub.js.map +0 -1
  184. package/dist/devices-hap/humidifier.d.ts +0 -73
  185. package/dist/devices-hap/humidifier.d.ts.map +0 -1
  186. package/dist/devices-hap/humidifier.js +0 -716
  187. package/dist/devices-hap/humidifier.js.map +0 -1
  188. package/dist/devices-hap/iosensor.d.ts +0 -42
  189. package/dist/devices-hap/iosensor.d.ts.map +0 -1
  190. package/dist/devices-hap/iosensor.js +0 -397
  191. package/dist/devices-hap/iosensor.js.map +0 -1
  192. package/dist/devices-hap/lightstrip.d.ts +0 -79
  193. package/dist/devices-hap/lightstrip.d.ts.map +0 -1
  194. package/dist/devices-hap/lightstrip.js +0 -827
  195. package/dist/devices-hap/lightstrip.js.map +0 -1
  196. package/dist/devices-hap/lock.d.ts +0 -53
  197. package/dist/devices-hap/lock.d.ts.map +0 -1
  198. package/dist/devices-hap/lock.js +0 -569
  199. package/dist/devices-hap/lock.js.map +0 -1
  200. package/dist/devices-hap/meter.d.ts +0 -37
  201. package/dist/devices-hap/meter.d.ts.map +0 -1
  202. package/dist/devices-hap/meter.js +0 -380
  203. package/dist/devices-hap/meter.js.map +0 -1
  204. package/dist/devices-hap/meterplus.d.ts +0 -42
  205. package/dist/devices-hap/meterplus.d.ts.map +0 -1
  206. package/dist/devices-hap/meterplus.js +0 -385
  207. package/dist/devices-hap/meterplus.js.map +0 -1
  208. package/dist/devices-hap/meterpro.d.ts +0 -43
  209. package/dist/devices-hap/meterpro.d.ts.map +0 -1
  210. package/dist/devices-hap/meterpro.js +0 -469
  211. package/dist/devices-hap/meterpro.js.map +0 -1
  212. package/dist/devices-hap/motion.d.ts +0 -42
  213. package/dist/devices-hap/motion.d.ts.map +0 -1
  214. package/dist/devices-hap/motion.js +0 -345
  215. package/dist/devices-hap/motion.js.map +0 -1
  216. package/dist/devices-hap/plug.d.ts +0 -49
  217. package/dist/devices-hap/plug.d.ts.map +0 -1
  218. package/dist/devices-hap/plug.js +0 -400
  219. package/dist/devices-hap/plug.js.map +0 -1
  220. package/dist/devices-hap/relayswitch.d.ts +0 -96
  221. package/dist/devices-hap/relayswitch.d.ts.map +0 -1
  222. package/dist/devices-hap/relayswitch.js +0 -642
  223. package/dist/devices-hap/relayswitch.js.map +0 -1
  224. package/dist/devices-hap/robotvacuumcleaner.d.ts +0 -54
  225. package/dist/devices-hap/robotvacuumcleaner.d.ts.map +0 -1
  226. package/dist/devices-hap/robotvacuumcleaner.js +0 -530
  227. package/dist/devices-hap/robotvacuumcleaner.js.map +0 -1
  228. package/dist/devices-hap/waterdetector.d.ts +0 -41
  229. package/dist/devices-hap/waterdetector.d.ts.map +0 -1
  230. package/dist/devices-hap/waterdetector.js +0 -356
  231. package/dist/devices-hap/waterdetector.js.map +0 -1
  232. package/dist/devices-matter/BaseMatterAccessory.d.ts +0 -90
  233. package/dist/devices-matter/BaseMatterAccessory.d.ts.map +0 -1
  234. package/dist/devices-matter/BaseMatterAccessory.js +0 -264
  235. package/dist/devices-matter/BaseMatterAccessory.js.map +0 -1
  236. package/dist/devices-matter/ColorLightAccessory.d.ts +0 -20
  237. package/dist/devices-matter/ColorLightAccessory.d.ts.map +0 -1
  238. package/dist/devices-matter/ColorLightAccessory.js +0 -95
  239. package/dist/devices-matter/ColorLightAccessory.js.map +0 -1
  240. package/dist/devices-matter/ColorTemperatureLightAccessory.d.ts +0 -18
  241. package/dist/devices-matter/ColorTemperatureLightAccessory.d.ts.map +0 -1
  242. package/dist/devices-matter/ColorTemperatureLightAccessory.js +0 -76
  243. package/dist/devices-matter/ColorTemperatureLightAccessory.js.map +0 -1
  244. package/dist/devices-matter/ContactSensorAccessory.d.ts +0 -12
  245. package/dist/devices-matter/ContactSensorAccessory.d.ts.map +0 -1
  246. package/dist/devices-matter/ContactSensorAccessory.js +0 -34
  247. package/dist/devices-matter/ContactSensorAccessory.js.map +0 -1
  248. package/dist/devices-matter/DimmableLightAccessory.d.ts +0 -58
  249. package/dist/devices-matter/DimmableLightAccessory.d.ts.map +0 -1
  250. package/dist/devices-matter/DimmableLightAccessory.js +0 -167
  251. package/dist/devices-matter/DimmableLightAccessory.js.map +0 -1
  252. package/dist/devices-matter/DoorLockAccessory.d.ts +0 -14
  253. package/dist/devices-matter/DoorLockAccessory.d.ts.map +0 -1
  254. package/dist/devices-matter/DoorLockAccessory.js +0 -50
  255. package/dist/devices-matter/DoorLockAccessory.js.map +0 -1
  256. package/dist/devices-matter/ExtendedColorLightAccessory.d.ts +0 -21
  257. package/dist/devices-matter/ExtendedColorLightAccessory.d.ts.map +0 -1
  258. package/dist/devices-matter/ExtendedColorLightAccessory.js +0 -106
  259. package/dist/devices-matter/ExtendedColorLightAccessory.js.map +0 -1
  260. package/dist/devices-matter/FanAccessory.d.ts +0 -16
  261. package/dist/devices-matter/FanAccessory.d.ts.map +0 -1
  262. package/dist/devices-matter/FanAccessory.js +0 -81
  263. package/dist/devices-matter/FanAccessory.js.map +0 -1
  264. package/dist/devices-matter/HumiditySensorAccessory.d.ts +0 -12
  265. package/dist/devices-matter/HumiditySensorAccessory.d.ts.map +0 -1
  266. package/dist/devices-matter/HumiditySensorAccessory.js +0 -34
  267. package/dist/devices-matter/HumiditySensorAccessory.js.map +0 -1
  268. package/dist/devices-matter/LeakSensorAccessory.d.ts +0 -12
  269. package/dist/devices-matter/LeakSensorAccessory.d.ts.map +0 -1
  270. package/dist/devices-matter/LeakSensorAccessory.js +0 -33
  271. package/dist/devices-matter/LeakSensorAccessory.js.map +0 -1
  272. package/dist/devices-matter/LightSensorAccessory.d.ts +0 -12
  273. package/dist/devices-matter/LightSensorAccessory.d.ts.map +0 -1
  274. package/dist/devices-matter/LightSensorAccessory.js +0 -34
  275. package/dist/devices-matter/LightSensorAccessory.js.map +0 -1
  276. package/dist/devices-matter/OccupancySensorAccessory.d.ts +0 -12
  277. package/dist/devices-matter/OccupancySensorAccessory.d.ts.map +0 -1
  278. package/dist/devices-matter/OccupancySensorAccessory.js +0 -39
  279. package/dist/devices-matter/OccupancySensorAccessory.js.map +0 -1
  280. package/dist/devices-matter/OnOffLightAccessory.d.ts +0 -38
  281. package/dist/devices-matter/OnOffLightAccessory.d.ts.map +0 -1
  282. package/dist/devices-matter/OnOffLightAccessory.js +0 -110
  283. package/dist/devices-matter/OnOffLightAccessory.js.map +0 -1
  284. package/dist/devices-matter/OnOffOutletAccessory.d.ts +0 -14
  285. package/dist/devices-matter/OnOffOutletAccessory.d.ts.map +0 -1
  286. package/dist/devices-matter/OnOffOutletAccessory.js +0 -43
  287. package/dist/devices-matter/OnOffOutletAccessory.js.map +0 -1
  288. package/dist/devices-matter/OnOffSwitchAccessory.d.ts +0 -14
  289. package/dist/devices-matter/OnOffSwitchAccessory.d.ts.map +0 -1
  290. package/dist/devices-matter/OnOffSwitchAccessory.js +0 -42
  291. package/dist/devices-matter/OnOffSwitchAccessory.js.map +0 -1
  292. package/dist/devices-matter/RoboticVacuumAccessory.d.ts +0 -61
  293. package/dist/devices-matter/RoboticVacuumAccessory.d.ts.map +0 -1
  294. package/dist/devices-matter/RoboticVacuumAccessory.js +0 -544
  295. package/dist/devices-matter/RoboticVacuumAccessory.js.map +0 -1
  296. package/dist/devices-matter/SmokeCOAlarmAccessory.d.ts +0 -11
  297. package/dist/devices-matter/SmokeCOAlarmAccessory.d.ts.map +0 -1
  298. package/dist/devices-matter/SmokeCOAlarmAccessory.js +0 -49
  299. package/dist/devices-matter/SmokeCOAlarmAccessory.js.map +0 -1
  300. package/dist/devices-matter/TemperatureSensorAccessory.d.ts +0 -12
  301. package/dist/devices-matter/TemperatureSensorAccessory.d.ts.map +0 -1
  302. package/dist/devices-matter/TemperatureSensorAccessory.js +0 -36
  303. package/dist/devices-matter/TemperatureSensorAccessory.js.map +0 -1
  304. package/dist/devices-matter/ThermostatAccessory.d.ts +0 -19
  305. package/dist/devices-matter/ThermostatAccessory.d.ts.map +0 -1
  306. package/dist/devices-matter/ThermostatAccessory.js +0 -95
  307. package/dist/devices-matter/ThermostatAccessory.js.map +0 -1
  308. package/dist/devices-matter/VenetianBlindAccessory.d.ts +0 -19
  309. package/dist/devices-matter/VenetianBlindAccessory.d.ts.map +0 -1
  310. package/dist/devices-matter/VenetianBlindAccessory.js +0 -99
  311. package/dist/devices-matter/VenetianBlindAccessory.js.map +0 -1
  312. package/dist/devices-matter/WindowBlindAccessory.d.ts +0 -17
  313. package/dist/devices-matter/WindowBlindAccessory.d.ts.map +0 -1
  314. package/dist/devices-matter/WindowBlindAccessory.js +0 -131
  315. package/dist/devices-matter/WindowBlindAccessory.js.map +0 -1
  316. package/dist/devices-matter/custom/PowerStripAccessory.d.ts +0 -97
  317. package/dist/devices-matter/custom/PowerStripAccessory.d.ts.map +0 -1
  318. package/dist/devices-matter/custom/PowerStripAccessory.js +0 -265
  319. package/dist/devices-matter/custom/PowerStripAccessory.js.map +0 -1
  320. package/dist/devices-matter/custom/index.d.ts +0 -8
  321. package/dist/devices-matter/custom/index.d.ts.map +0 -1
  322. package/dist/devices-matter/custom/index.js +0 -8
  323. package/dist/devices-matter/custom/index.js.map +0 -1
  324. package/dist/devices-matter/index.d.ts +0 -29
  325. package/dist/devices-matter/index.d.ts.map +0 -1
  326. package/dist/devices-matter/index.js +0 -28
  327. package/dist/devices-matter/index.js.map +0 -1
  328. package/dist/irdevice/airconditioner.d.ts +0 -61
  329. package/dist/irdevice/airconditioner.d.ts.map +0 -1
  330. package/dist/irdevice/airconditioner.js +0 -472
  331. package/dist/irdevice/airconditioner.js.map +0 -1
  332. package/dist/irdevice/airpurifier.d.ts +0 -50
  333. package/dist/irdevice/airpurifier.d.ts.map +0 -1
  334. package/dist/irdevice/airpurifier.js +0 -213
  335. package/dist/irdevice/airpurifier.js.map +0 -1
  336. package/dist/irdevice/camera.d.ts +0 -32
  337. package/dist/irdevice/camera.d.ts.map +0 -1
  338. package/dist/irdevice/camera.js +0 -107
  339. package/dist/irdevice/camera.js.map +0 -1
  340. package/dist/irdevice/fan.d.ts +0 -36
  341. package/dist/irdevice/fan.d.ts.map +0 -1
  342. package/dist/irdevice/fan.js +0 -200
  343. package/dist/irdevice/fan.js.map +0 -1
  344. package/dist/irdevice/irdevice.d.ts +0 -69
  345. package/dist/irdevice/irdevice.d.ts.map +0 -1
  346. package/dist/irdevice/irdevice.js +0 -339
  347. package/dist/irdevice/irdevice.js.map +0 -1
  348. package/dist/irdevice/light.d.ts +0 -36
  349. package/dist/irdevice/light.d.ts.map +0 -1
  350. package/dist/irdevice/light.js +0 -206
  351. package/dist/irdevice/light.js.map +0 -1
  352. package/dist/irdevice/other.d.ts +0 -57
  353. package/dist/irdevice/other.d.ts.map +0 -1
  354. package/dist/irdevice/other.js +0 -778
  355. package/dist/irdevice/other.js.map +0 -1
  356. package/dist/irdevice/tv.d.ts +0 -45
  357. package/dist/irdevice/tv.d.ts.map +0 -1
  358. package/dist/irdevice/tv.js +0 -327
  359. package/dist/irdevice/tv.js.map +0 -1
  360. package/dist/irdevice/vacuumcleaner.d.ts +0 -28
  361. package/dist/irdevice/vacuumcleaner.d.ts.map +0 -1
  362. package/dist/irdevice/vacuumcleaner.js +0 -104
  363. package/dist/irdevice/vacuumcleaner.js.map +0 -1
  364. package/dist/irdevice/waterheater.d.ts +0 -30
  365. package/dist/irdevice/waterheater.d.ts.map +0 -1
  366. package/dist/irdevice/waterheater.js +0 -105
  367. package/dist/irdevice/waterheater.js.map +0 -1
  368. package/dist/platform-hap.d.ts +0 -160
  369. package/dist/platform-hap.d.ts.map +0 -1
  370. package/dist/platform-hap.js +0 -3041
  371. package/dist/platform-hap.js.map +0 -1
  372. package/dist/platform-matter.d.ts +0 -188
  373. package/dist/platform-matter.d.ts.map +0 -1
  374. package/dist/platform-matter.js +0 -2545
  375. package/dist/platform-matter.js.map +0 -1
  376. package/dist/test/apiRequestTracker.test.d.ts +0 -2
  377. package/dist/test/apiRequestTracker.test.d.ts.map +0 -1
  378. package/dist/test/apiRequestTracker.test.js +0 -392
  379. package/dist/test/apiRequestTracker.test.js.map +0 -1
  380. package/dist/test/hap/device-webhook-context.test.d.ts +0 -2
  381. package/dist/test/hap/device-webhook-context.test.d.ts.map +0 -1
  382. package/dist/test/hap/device-webhook-context.test.js +0 -128
  383. package/dist/test/hap/device-webhook-context.test.js.map +0 -1
  384. package/dist/test/hap/platform-hap.logging.test.d.ts +0 -2
  385. package/dist/test/hap/platform-hap.logging.test.d.ts.map +0 -1
  386. package/dist/test/hap/platform-hap.logging.test.js +0 -33
  387. package/dist/test/hap/platform-hap.logging.test.js.map +0 -1
  388. package/dist/test/hap/platform-hap.test.d.ts +0 -2
  389. package/dist/test/hap/platform-hap.test.d.ts.map +0 -1
  390. package/dist/test/hap/platform-hap.test.js +0 -62
  391. package/dist/test/hap/platform-hap.test.js.map +0 -1
  392. package/dist/test/helpers/platform-fixtures.d.ts +0 -9
  393. package/dist/test/helpers/platform-fixtures.d.ts.map +0 -1
  394. package/dist/test/helpers/platform-fixtures.js +0 -30
  395. package/dist/test/helpers/platform-fixtures.js.map +0 -1
  396. package/dist/test/homebridge-ui/server.test.d.ts +0 -2
  397. package/dist/test/homebridge-ui/server.test.d.ts.map +0 -1
  398. package/dist/test/homebridge-ui/server.test.js +0 -445
  399. package/dist/test/homebridge-ui/server.test.js.map +0 -1
  400. package/dist/test/index.test.d.ts +0 -2
  401. package/dist/test/index.test.d.ts.map +0 -1
  402. package/dist/test/index.test.js +0 -19
  403. package/dist/test/index.test.js.map +0 -1
  404. package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts +0 -2
  405. package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts.map +0 -1
  406. package/dist/test/matter/devices-matter/baseMatterAccessory.test.js +0 -71
  407. package/dist/test/matter/devices-matter/baseMatterAccessory.test.js.map +0 -1
  408. package/dist/test/matter/platform-matter.additional.test.d.ts +0 -2
  409. package/dist/test/matter/platform-matter.additional.test.d.ts.map +0 -1
  410. package/dist/test/matter/platform-matter.additional.test.js +0 -35
  411. package/dist/test/matter/platform-matter.additional.test.js.map +0 -1
  412. package/dist/test/matter/platform-matter.bleparse.test.d.ts +0 -2
  413. package/dist/test/matter/platform-matter.bleparse.test.d.ts.map +0 -1
  414. package/dist/test/matter/platform-matter.bleparse.test.js +0 -43
  415. package/dist/test/matter/platform-matter.bleparse.test.js.map +0 -1
  416. package/dist/test/matter/platform-matter.cleanup.test.d.ts +0 -2
  417. package/dist/test/matter/platform-matter.cleanup.test.d.ts.map +0 -1
  418. package/dist/test/matter/platform-matter.cleanup.test.js +0 -70
  419. package/dist/test/matter/platform-matter.cleanup.test.js.map +0 -1
  420. package/dist/test/matter/platform-matter.keepstale.test.d.ts +0 -2
  421. package/dist/test/matter/platform-matter.keepstale.test.d.ts.map +0 -1
  422. package/dist/test/matter/platform-matter.keepstale.test.js +0 -27
  423. package/dist/test/matter/platform-matter.keepstale.test.js.map +0 -1
  424. package/dist/test/matter/platform-matter.logging.test.d.ts +0 -2
  425. package/dist/test/matter/platform-matter.logging.test.d.ts.map +0 -1
  426. package/dist/test/matter/platform-matter.logging.test.js +0 -29
  427. package/dist/test/matter/platform-matter.logging.test.js.map +0 -1
  428. package/dist/test/matter/platform-matter.mapping.test.d.ts +0 -2
  429. package/dist/test/matter/platform-matter.mapping.test.d.ts.map +0 -1
  430. package/dist/test/matter/platform-matter.mapping.test.js +0 -43
  431. package/dist/test/matter/platform-matter.mapping.test.js.map +0 -1
  432. package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts +0 -2
  433. package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts.map +0 -1
  434. package/dist/test/matter/platform-matter.openapi-mapping.test.js +0 -84
  435. package/dist/test/matter/platform-matter.openapi-mapping.test.js.map +0 -1
  436. package/dist/test/matter/platform-matter.test.d.ts +0 -2
  437. package/dist/test/matter/platform-matter.test.d.ts.map +0 -1
  438. package/dist/test/matter/platform-matter.test.js +0 -117
  439. package/dist/test/matter/platform-matter.test.js.map +0 -1
  440. package/dist/test/matter/platform-matter.unregister.test.d.ts +0 -2
  441. package/dist/test/matter/platform-matter.unregister.test.d.ts.map +0 -1
  442. package/dist/test/matter/platform-matter.unregister.test.js +0 -30
  443. package/dist/test/matter/platform-matter.unregister.test.js.map +0 -1
  444. package/dist/test/matter/platform-matter.webhook.test.d.ts +0 -2
  445. package/dist/test/matter/platform-matter.webhook.test.d.ts.map +0 -1
  446. package/dist/test/matter/platform-matter.webhook.test.js +0 -46
  447. package/dist/test/matter/platform-matter.webhook.test.js.map +0 -1
  448. package/dist/test/utils.test.d.ts +0 -2
  449. package/dist/test/utils.test.d.ts.map +0 -1
  450. package/dist/test/utils.test.js +0 -95
  451. package/dist/test/utils.test.js.map +0 -1
  452. package/dist/test/verifyconfig.test.d.ts +0 -2
  453. package/dist/test/verifyconfig.test.d.ts.map +0 -1
  454. package/dist/test/verifyconfig.test.js +0 -167
  455. package/dist/test/verifyconfig.test.js.map +0 -1
  456. package/src/custom.d.ts +0 -7
  457. package/src/devices-hap/airpurifier.ts +0 -568
  458. package/src/devices-hap/blindtilt.ts +0 -1049
  459. package/src/devices-hap/bot.ts +0 -910
  460. package/src/devices-hap/ceilinglight.ts +0 -747
  461. package/src/devices-hap/colorbulb.ts +0 -940
  462. package/src/devices-hap/contact.ts +0 -457
  463. package/src/devices-hap/curtain.ts +0 -944
  464. package/src/devices-hap/device.ts +0 -890
  465. package/src/devices-hap/fan.ts +0 -716
  466. package/src/devices-hap/hub.ts +0 -440
  467. package/src/devices-hap/humidifier.ts +0 -762
  468. package/src/devices-hap/iosensor.ts +0 -442
  469. package/src/devices-hap/lightstrip.ts +0 -863
  470. package/src/devices-hap/lock.ts +0 -627
  471. package/src/devices-hap/meter.ts +0 -427
  472. package/src/devices-hap/meterplus.ts +0 -431
  473. package/src/devices-hap/meterpro.ts +0 -523
  474. package/src/devices-hap/motion.ts +0 -390
  475. package/src/devices-hap/plug.ts +0 -427
  476. package/src/devices-hap/relayswitch.ts +0 -727
  477. package/src/devices-hap/robotvacuumcleaner.ts +0 -574
  478. package/src/devices-hap/waterdetector.ts +0 -400
  479. package/src/devices-matter/BaseMatterAccessory.ts +0 -302
  480. package/src/devices-matter/ColorLightAccessory.ts +0 -110
  481. package/src/devices-matter/ColorTemperatureLightAccessory.ts +0 -90
  482. package/src/devices-matter/ContactSensorAccessory.ts +0 -41
  483. package/src/devices-matter/DimmableLightAccessory.ts +0 -192
  484. package/src/devices-matter/DoorLockAccessory.ts +0 -60
  485. package/src/devices-matter/ExtendedColorLightAccessory.ts +0 -122
  486. package/src/devices-matter/FanAccessory.ts +0 -95
  487. package/src/devices-matter/HumiditySensorAccessory.ts +0 -41
  488. package/src/devices-matter/LeakSensorAccessory.ts +0 -40
  489. package/src/devices-matter/LightSensorAccessory.ts +0 -41
  490. package/src/devices-matter/OccupancySensorAccessory.ts +0 -48
  491. package/src/devices-matter/OnOffLightAccessory.ts +0 -125
  492. package/src/devices-matter/OnOffOutletAccessory.ts +0 -51
  493. package/src/devices-matter/OnOffSwitchAccessory.ts +0 -51
  494. package/src/devices-matter/RoboticVacuumAccessory.ts +0 -621
  495. package/src/devices-matter/SmokeCOAlarmAccessory.ts +0 -59
  496. package/src/devices-matter/TemperatureSensorAccessory.ts +0 -43
  497. package/src/devices-matter/ThermostatAccessory.ts +0 -110
  498. package/src/devices-matter/VenetianBlindAccessory.ts +0 -115
  499. package/src/devices-matter/WindowBlindAccessory.ts +0 -135
  500. package/src/devices-matter/custom/PowerStripAccessory.ts +0 -309
  501. package/src/devices-matter/custom/index.ts +0 -8
  502. package/src/devices-matter/index.ts +0 -29
  503. package/src/irdevice/airconditioner.ts +0 -533
  504. package/src/irdevice/airpurifier.ts +0 -252
  505. package/src/irdevice/camera.ts +0 -129
  506. package/src/irdevice/fan.ts +0 -226
  507. package/src/irdevice/irdevice.ts +0 -383
  508. package/src/irdevice/light.ts +0 -246
  509. package/src/irdevice/other.ts +0 -790
  510. package/src/irdevice/tv.ts +0 -378
  511. package/src/irdevice/vacuumcleaner.ts +0 -126
  512. package/src/irdevice/waterheater.ts +0 -127
  513. package/src/platform-hap.ts +0 -3193
  514. package/src/platform-matter.ts +0 -2703
  515. package/src/test/apiRequestTracker.test.ts +0 -417
  516. package/src/test/hap/device-webhook-context.test.ts +0 -136
  517. package/src/test/hap/platform-hap.logging.test.ts +0 -36
  518. package/src/test/hap/platform-hap.test.ts +0 -70
  519. package/src/test/helpers/platform-fixtures.ts +0 -33
  520. package/src/test/homebridge-ui/server.test.ts +0 -486
  521. package/src/test/index.test.ts +0 -24
  522. package/src/test/matter/devices-matter/baseMatterAccessory.test.ts +0 -88
  523. package/src/test/matter/platform-matter.additional.test.ts +0 -44
  524. package/src/test/matter/platform-matter.bleparse.test.ts +0 -47
  525. package/src/test/matter/platform-matter.cleanup.test.ts +0 -86
  526. package/src/test/matter/platform-matter.keepstale.test.ts +0 -37
  527. package/src/test/matter/platform-matter.logging.test.ts +0 -33
  528. package/src/test/matter/platform-matter.mapping.test.ts +0 -57
  529. package/src/test/matter/platform-matter.openapi-mapping.test.ts +0 -109
  530. package/src/test/matter/platform-matter.test.ts +0 -144
  531. package/src/test/matter/platform-matter.unregister.test.ts +0 -39
  532. package/src/test/matter/platform-matter.webhook.test.ts +0 -54
  533. package/src/test/utils.test.ts +0 -96
  534. package/src/test/verifyconfig.test.ts +0 -198
@@ -1,213 +0,0 @@
1
- import { irdeviceBase } from './irdevice.js';
2
- /**
3
- * Platform Accessory
4
- * An instance of this class is created for each accessory your platform registers
5
- * Each accessory may expose multiple services of different service types.
6
- */
7
- export class AirPurifierIR extends irdeviceBase {
8
- platform;
9
- // Services
10
- AirPurifier;
11
- TemperatureSensor;
12
- // Characteristic Values
13
- APActive;
14
- CurrentAPTemp;
15
- CurrentAPMode;
16
- CurrentAPFanSpeed;
17
- // Others
18
- Busy;
19
- Timeout = null;
20
- static IDLE;
21
- CurrentMode;
22
- static INACTIVE;
23
- LastTemperature;
24
- CurrentFanSpeed;
25
- static PURIFYING_AIR;
26
- constructor(platform, accessory, device) {
27
- super(platform, accessory, device);
28
- this.platform = platform;
29
- // Set category
30
- accessory.category = 19 /* this.hap.Categories.AIR_PURIFIER */;
31
- // Initialize AirPurifier Service
32
- accessory.context.AirPurifier = accessory.context.AirPurifier ?? {};
33
- this.AirPurifier = {
34
- Name: accessory.displayName,
35
- Service: accessory.getService(this.hap.Service.AirPurifier) ?? accessory.addService(this.hap.Service.AirPurifier),
36
- Active: accessory.context.Active ?? this.hap.Characteristic.Active.INACTIVE,
37
- RotationSpeed: accessory.context.RotationSpeed ?? 0,
38
- CurrentAirPurifierState: accessory.context.CurrentAirPurifierState ?? this.hap.Characteristic.CurrentAirPurifierState.INACTIVE,
39
- TargetAirPurifierState: accessory.context.TargetAirPurifierState ?? this.hap.Characteristic.TargetAirPurifierState.AUTO,
40
- CurrentHeaterCoolerState: accessory.context.CurrentHeaterCoolerState ?? this.hap.Characteristic.CurrentHeaterCoolerState.INACTIVE,
41
- };
42
- accessory.context.AirPurifier = this.AirPurifier;
43
- this.AirPurifier.Service.setCharacteristic(this.hap.Characteristic.Name, this.AirPurifier.Name).getCharacteristic(this.hap.Characteristic.Active).onGet(() => {
44
- return this.AirPurifier.Active;
45
- }).onSet(this.ActiveSet.bind(this));
46
- this.AirPurifier.Service.getCharacteristic(this.hap.Characteristic.CurrentAirPurifierState).onGet(() => {
47
- return this.CurrentAirPurifierStateGet();
48
- });
49
- this.AirPurifier.Service.getCharacteristic(this.hap.Characteristic.TargetAirPurifierState).onGet(() => {
50
- return this.AirPurifier.TargetAirPurifierState;
51
- }).onSet(this.TargetAirPurifierStateSet.bind(this));
52
- // Initialize TemperatureSensor Service
53
- accessory.context.TemperatureSensor = accessory.context.TemperatureSensor ?? {};
54
- this.TemperatureSensor = {
55
- Name: `${accessory.displayName} Temperature Sensor`,
56
- Service: accessory.getService(this.hap.Service.TemperatureSensor) ?? accessory.addService(this.hap.Service.TemperatureSensor),
57
- CurrentTemperature: accessory.context.CurrentTemperature || 24,
58
- };
59
- accessory.context.TemperatureSensor = this.TemperatureSensor;
60
- this.TemperatureSensor.Service.setCharacteristic(this.hap.Characteristic.Name, this.TemperatureSensor.Name).getCharacteristic(this.hap.Characteristic.CurrentTemperature).onGet(() => {
61
- return this.TemperatureSensor.CurrentTemperature;
62
- });
63
- }
64
- async ActiveSet(value) {
65
- this.debugLog(`Set Active: ${value}`);
66
- this.AirPurifier.Active = value;
67
- if (this.AirPurifier.Active === this.hap.Characteristic.Active.ACTIVE) {
68
- this.pushAirPurifierOnChanges();
69
- }
70
- else {
71
- this.pushAirPurifierOffChanges();
72
- }
73
- }
74
- async TargetAirPurifierStateSet(value) {
75
- switch (value) {
76
- case this.hap.Characteristic.CurrentAirPurifierState.PURIFYING_AIR:
77
- this.CurrentMode = AirPurifierIR.PURIFYING_AIR;
78
- break;
79
- case this.hap.Characteristic.CurrentAirPurifierState.IDLE:
80
- this.CurrentMode = AirPurifierIR.IDLE;
81
- break;
82
- case this.hap.Characteristic.CurrentAirPurifierState.INACTIVE:
83
- this.CurrentMode = AirPurifierIR.INACTIVE;
84
- break;
85
- default:
86
- break;
87
- }
88
- }
89
- async CurrentAirPurifierStateGet() {
90
- if (this.AirPurifier.Active === 1) {
91
- this.AirPurifier.CurrentAirPurifierState = this.hap.Characteristic.CurrentAirPurifierState.PURIFYING_AIR;
92
- }
93
- else {
94
- this.AirPurifier.CurrentAirPurifierState = this.hap.Characteristic.CurrentAirPurifierState.INACTIVE;
95
- }
96
- return this.AirPurifier.CurrentAirPurifierState;
97
- }
98
- /**
99
- * Pushes the requested changes to the SwitchBot API
100
- * deviceType commandType Command command parameter Description
101
- * AirPurifier: "command" "turnOn" "default" = every home appliance can be turned on by default
102
- * AirPurifier: "command" "turnOff" "default" = every home appliance can be turned off by default
103
- * AirPurifier: "command" "swing" "default" = swing
104
- * AirPurifier: "command" "timer" "default" = timer
105
- * AirPurifier: "command" "lowSpeed" "default" = fan speed to low
106
- * AirPurifier: "command" "middleSpeed" "default" = fan speed to medium
107
- * AirPurifier: "command" "highSpeed" "default" = fan speed to high
108
- */
109
- async pushAirPurifierOnChanges() {
110
- this.debugLog(`pushAirPurifierOnChanges Active: ${this.AirPurifier.Active}, disablePushOn: ${this.deviceDisablePushOn}`);
111
- if (this.AirPurifier.Active === this.hap.Characteristic.Active.ACTIVE && !this.deviceDisablePushOn) {
112
- const commandType = await this.commandType();
113
- const command = await this.commandOn();
114
- const bodyChange = {
115
- command,
116
- parameter: 'default',
117
- commandType,
118
- };
119
- await this.pushChanges(bodyChange);
120
- }
121
- }
122
- async pushAirPurifierOffChanges() {
123
- this.debugLog(`pushAirPurifierOffChanges Active: ${this.AirPurifier.Active}, disablePushOff: ${this.deviceDisablePushOff}`);
124
- if (this.AirPurifier.Active === this.hap.Characteristic.Active.INACTIVE && !this.deviceDisablePushOn) {
125
- const commandType = await this.commandType();
126
- const command = await this.commandOff();
127
- const bodyChange = {
128
- command,
129
- parameter: 'default',
130
- commandType,
131
- };
132
- await this.pushChanges(bodyChange);
133
- }
134
- }
135
- async pushAirPurifierStatusChanges() {
136
- this.debugLog(`pushAirPurifierStatusChanges Active: ${this.AirPurifier.Active}, disablePushOff: ${this.deviceDisablePushOff}, disablePushOn: ${this.deviceDisablePushOn}`);
137
- if (!this.Busy) {
138
- this.Busy = true;
139
- this.AirPurifier.CurrentHeaterCoolerState = this.hap.Characteristic.CurrentHeaterCoolerState.IDLE;
140
- }
141
- clearTimeout(this.Timeout);
142
- // Make a new Timeout set to go off in 1000ms (1 second)
143
- this.Timeout = setTimeout(this.pushAirPurifierDetailsChanges.bind(this), 1500);
144
- }
145
- async pushAirPurifierDetailsChanges() {
146
- this.debugLog(`pushAirPurifierDetailsChanges Active: ${this.AirPurifier.Active}, disablePushOff: ${this.deviceDisablePushOff}, disablePushOn: ${this.deviceDisablePushOn}`);
147
- this.CurrentAPTemp = this.TemperatureSensor.CurrentTemperature ?? 24;
148
- this.CurrentAPMode = this.CurrentMode ?? 1;
149
- this.CurrentAPFanSpeed = this.CurrentFanSpeed ?? 1;
150
- this.APActive = this.AirPurifier.Active === 1 ? 'on' : 'off';
151
- const parameter = `${this.CurrentAPTemp},${this.CurrentAPMode},${this.CurrentAPFanSpeed},${this.APActive}`;
152
- const bodyChange = {
153
- command: 'setAll',
154
- parameter: `${parameter}`,
155
- commandType: 'command',
156
- };
157
- if (this.AirPurifier.Active === 1) {
158
- if ((Number(this.TemperatureSensor.CurrentTemperature) || 24) < (this.LastTemperature || 30)) {
159
- this.AirPurifier.CurrentHeaterCoolerState = this.hap.Characteristic.CurrentHeaterCoolerState.COOLING;
160
- }
161
- else {
162
- this.AirPurifier.CurrentHeaterCoolerState = this.hap.Characteristic.CurrentHeaterCoolerState.HEATING;
163
- }
164
- }
165
- else {
166
- this.AirPurifier.CurrentHeaterCoolerState = this.hap.Characteristic.CurrentHeaterCoolerState.INACTIVE;
167
- }
168
- await this.pushChanges(bodyChange);
169
- }
170
- async pushChanges(bodyChange) {
171
- this.debugLog('pushChanges');
172
- if (this.device.connectionType === 'OpenAPI') {
173
- this.infoLog(`Sending request to SwitchBot API, body: ${JSON.stringify(bodyChange)}`);
174
- try {
175
- const deviceStatus = await this.pushChangeRequest(bodyChange);
176
- await this.pushStatusCodes(deviceStatus);
177
- if (await this.successfulStatusCodes(deviceStatus)) {
178
- await this.successfulPushChange(deviceStatus, bodyChange);
179
- await this.updateHomeKitCharacteristics();
180
- }
181
- else {
182
- await this.statusCode(deviceStatus.statusCode);
183
- }
184
- }
185
- catch (e) {
186
- await this.apiError(e);
187
- await this.pushChangeError(e);
188
- }
189
- }
190
- else {
191
- this.warnLog(`Connection Type: ${this.device.connectionType}, commands will not be sent to OpenAPI`);
192
- }
193
- }
194
- async updateHomeKitCharacteristics() {
195
- this.debugLog('updateHomeKitCharacteristics');
196
- // Active
197
- await this.updateCharacteristic(this.AirPurifier.Service, this.hap.Characteristic.Active, this.AirPurifier.Active, 'Active');
198
- // CurrentAirPurifierState
199
- await this.updateCharacteristic(this.AirPurifier.Service, this.hap.Characteristic.CurrentAirPurifierState, this.AirPurifier.CurrentAirPurifierState, 'CurrentAirPurifierState');
200
- // CurrentHeaterCoolerState
201
- await this.updateCharacteristic(this.AirPurifier.Service, this.hap.Characteristic.CurrentHeaterCoolerState, this.AirPurifier.CurrentHeaterCoolerState, 'CurrentHeaterCoolerState');
202
- // CurrentTemperature
203
- await this.updateCharacteristic(this.TemperatureSensor.Service, this.hap.Characteristic.CurrentTemperature, this.TemperatureSensor.CurrentTemperature, 'CurrentTemperature');
204
- }
205
- async apiError(e) {
206
- this.AirPurifier.Service.updateCharacteristic(this.hap.Characteristic.Active, e);
207
- this.AirPurifier.Service.updateCharacteristic(this.hap.Characteristic.TargetAirPurifierState, e);
208
- this.AirPurifier.Service.updateCharacteristic(this.hap.Characteristic.CurrentAirPurifierState, e);
209
- this.AirPurifier.Service.updateCharacteristic(this.hap.Characteristic.CurrentHeaterCoolerState, e);
210
- this.TemperatureSensor.Service.updateCharacteristic(this.hap.Characteristic.CurrentTemperature, e);
211
- }
212
- }
213
- //# sourceMappingURL=airpurifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"airpurifier.js","sourceRoot":"","sources":["../../src/irdevice/airpurifier.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
2
- import type { irdevice } from 'node-switchbot';
3
- import type { SwitchBotHAPPlatform } from '../platform-hap.js';
4
- import type { irDevicesConfig } from '../settings.js';
5
- import { irdeviceBase } from './irdevice.js';
6
- /**
7
- * Platform Accessory
8
- * An instance of this class is created for each accessory your platform registers
9
- * Each accessory may expose multiple services of different service types.
10
- */
11
- export declare class Camera extends irdeviceBase {
12
- readonly platform: SwitchBotHAPPlatform;
13
- private Switch;
14
- constructor(platform: SwitchBotHAPPlatform, accessory: PlatformAccessory, device: irdevice & irDevicesConfig);
15
- OnSet(value: CharacteristicValue): Promise<void>;
16
- /**
17
- * Pushes the requested changes to the SwitchBot API
18
- * deviceType commandType Command command parameter Description
19
- * Camera - "command" "turnOff" "default" = set to OFF state
20
- * Camera - "command" "turnOn" "default" = set to ON state
21
- * Camera - "command" "volumeAdd" "default" = volume up
22
- * Camera - "command" "volumeSub" "default" = volume down
23
- * Camera - "command" "channelAdd" "default" = next channel
24
- * Camera - "command" "channelSub" "default" = previous channel
25
- */
26
- pushOnChanges(): Promise<void>;
27
- pushOffChanges(): Promise<void>;
28
- pushChanges(bodyChange: any): Promise<void>;
29
- updateHomeKitCharacteristics(): Promise<void>;
30
- apiError(e: any): Promise<void>;
31
- }
32
- //# sourceMappingURL=camera.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/irdevice/camera.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAA;AACjF,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,YAAY;IASpC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IAPzC,OAAO,CAAC,MAAM,CAIb;gBAGU,QAAQ,EAAE,oBAAoB,EACvC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,QAAQ,GAAG,eAAe;IAoB9B,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD;;;;;;;;;OASG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAc/B,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3C,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtC"}
@@ -1,107 +0,0 @@
1
- import { irdeviceBase } from './irdevice.js';
2
- /**
3
- * Platform Accessory
4
- * An instance of this class is created for each accessory your platform registers
5
- * Each accessory may expose multiple services of different service types.
6
- */
7
- export class Camera extends irdeviceBase {
8
- platform;
9
- // Services
10
- Switch;
11
- constructor(platform, accessory, device) {
12
- super(platform, accessory, device);
13
- this.platform = platform;
14
- // Set category
15
- accessory.category = 17 /* this.hap.Categories.CAMERA */;
16
- // Initialize Switch Service
17
- accessory.context.Switch = accessory.context.Switch ?? {};
18
- this.Switch = {
19
- Name: accessory.displayName,
20
- Service: accessory.getService(this.hap.Service.Switch) ?? accessory.addService(this.hap.Service.Switch),
21
- On: accessory.context.On ?? false,
22
- };
23
- accessory.context.Switch = this.Switch;
24
- this.Switch.Service.setCharacteristic(this.hap.Characteristic.Name, this.Switch.Name).getCharacteristic(this.hap.Characteristic.On).onGet(() => {
25
- return this.Switch.On;
26
- }).onSet(this.OnSet.bind(this));
27
- }
28
- async OnSet(value) {
29
- this.debugLog(`On: ${value}`);
30
- this.Switch.On = value;
31
- if (this.Switch.On) {
32
- this.pushOnChanges();
33
- }
34
- else {
35
- this.pushOffChanges();
36
- }
37
- }
38
- /**
39
- * Pushes the requested changes to the SwitchBot API
40
- * deviceType commandType Command command parameter Description
41
- * Camera - "command" "turnOff" "default" = set to OFF state
42
- * Camera - "command" "turnOn" "default" = set to ON state
43
- * Camera - "command" "volumeAdd" "default" = volume up
44
- * Camera - "command" "volumeSub" "default" = volume down
45
- * Camera - "command" "channelAdd" "default" = next channel
46
- * Camera - "command" "channelSub" "default" = previous channel
47
- */
48
- async pushOnChanges() {
49
- this.debugLog(`pushOnChanges On: ${this.Switch.On}, disablePushOn: ${this.deviceDisablePushOn}`);
50
- if (this.Switch.On && !this.deviceDisablePushOn) {
51
- const commandType = await this.commandType();
52
- const command = await this.commandOn();
53
- const bodyChange = {
54
- command,
55
- parameter: 'default',
56
- commandType,
57
- };
58
- await this.pushChanges(bodyChange);
59
- }
60
- }
61
- async pushOffChanges() {
62
- this.debugLog(`pushOffChanges On: ${this.Switch.On}, disablePushOff: ${this.deviceDisablePushOff}`);
63
- if (!this.Switch.On && !this.deviceDisablePushOff) {
64
- const commandType = await this.commandType();
65
- const command = await this.commandOff();
66
- const bodyChange = {
67
- command,
68
- parameter: 'default',
69
- commandType,
70
- };
71
- await this.pushChanges(bodyChange);
72
- }
73
- }
74
- async pushChanges(bodyChange) {
75
- this.debugLog('pushChanges');
76
- if (this.device.connectionType === 'OpenAPI') {
77
- this.infoLog(`Sending request to SwitchBot API, body: ${JSON.stringify(bodyChange)}`);
78
- try {
79
- const deviceStatus = await this.pushChangeRequest(bodyChange);
80
- await this.pushStatusCodes(deviceStatus);
81
- if (await this.successfulStatusCodes(deviceStatus)) {
82
- await this.successfulPushChange(deviceStatus, bodyChange);
83
- await this.updateHomeKitCharacteristics();
84
- }
85
- else {
86
- await this.statusCode(deviceStatus.statusCode);
87
- }
88
- }
89
- catch (e) {
90
- await this.apiError(e);
91
- await this.pushChangeError(e);
92
- }
93
- }
94
- else {
95
- this.warnLog(`Connection Type: ${this.device.connectionType}, commands will not be sent to OpenAPI`);
96
- }
97
- }
98
- async updateHomeKitCharacteristics() {
99
- this.debugLog('updateHomeKitCharacteristics');
100
- // Active
101
- await this.updateCharacteristic(this.Switch.Service, this.hap.Characteristic.On, this.Switch.On, 'On');
102
- }
103
- async apiError(e) {
104
- this.Switch.Service.updateCharacteristic(this.hap.Characteristic.On, e);
105
- }
106
- }
107
- //# sourceMappingURL=camera.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"camera.js","sourceRoot":"","sources":["../../src/irdevice/camera.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
2
- import type { irdevice } from 'node-switchbot';
3
- import type { SwitchBotHAPPlatform } from '../platform-hap.js';
4
- import type { irDevicesConfig } from '../settings.js';
5
- import { irdeviceBase } from './irdevice.js';
6
- /**
7
- * Platform Accessory
8
- * An instance of this class is created for each accessory your platform registers
9
- * Each accessory may expose multiple services of different service types.
10
- */
11
- export declare class IRFan extends irdeviceBase {
12
- readonly platform: SwitchBotHAPPlatform;
13
- private Fan;
14
- constructor(platform: SwitchBotHAPPlatform, accessory: PlatformAccessory, device: irdevice & irDevicesConfig);
15
- SwingModeSet(value: CharacteristicValue): Promise<void>;
16
- RotationSpeedSet(value: CharacteristicValue): Promise<void>;
17
- ActiveSet(value: CharacteristicValue): Promise<void>;
18
- /**
19
- * Pushes the requested changes to the SwitchBot API
20
- * deviceType commandType Command command parameter Description
21
- * Fan - "command" "swing" "default" = swing
22
- * Fan - "command" "timer" "default" = timer
23
- * Fan - "command" "lowSpeed" "default" = fan speed to low
24
- * Fan - "command" "middleSpeed" "default" = fan speed to medium
25
- * Fan - "command" "highSpeed" "default" = fan speed to high
26
- */
27
- pushFanOnChanges(): Promise<void>;
28
- pushFanOffChanges(): Promise<void>;
29
- pushFanSpeedUpChanges(): Promise<void>;
30
- pushFanSpeedDownChanges(): Promise<void>;
31
- pushFanSwingChanges(): Promise<void>;
32
- pushChanges(bodyChange: any): Promise<void>;
33
- updateHomeKitCharacteristics(): Promise<void>;
34
- apiError(e: any): Promise<void>;
35
- }
36
- //# sourceMappingURL=fan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fan.d.ts","sourceRoot":"","sources":["../../src/irdevice/fan.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAA;AACjF,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,YAAY;IAYnC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IAVzC,OAAO,CAAC,GAAG,CAOV;gBAGU,QAAQ,EAAE,oBAAoB,EACvC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,QAAQ,GAAG,eAAe;IAqD9B,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAevD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3D,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1D;;;;;;;;OAQG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAclC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAStC,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IASxC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3C,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAKtC"}
@@ -1,200 +0,0 @@
1
- import { irdeviceBase } from './irdevice.js';
2
- /**
3
- * Platform Accessory
4
- * An instance of this class is created for each accessory your platform registers
5
- * Each accessory may expose multiple services of different service types.
6
- */
7
- export class IRFan extends irdeviceBase {
8
- platform;
9
- // Services
10
- Fan;
11
- constructor(platform, accessory, device) {
12
- super(platform, accessory, device);
13
- this.platform = platform;
14
- // Set category
15
- accessory.category = 3 /* this.hap.Categories.FAN */;
16
- // Initialize Switch Service
17
- accessory.context.Fan = accessory.context.Fan ?? {};
18
- this.Fan = {
19
- Name: accessory.displayName,
20
- Service: accessory.getService(this.hap.Service.Fanv2) ?? accessory.addService(this.hap.Service.Fanv2),
21
- Active: accessory.context.Active ?? this.hap.Characteristic.Active.INACTIVE,
22
- SwingMode: accessory.context.SwingMode ?? this.hap.Characteristic.SwingMode.SWING_DISABLED,
23
- RotationSpeed: accessory.context.RotationSpeed ?? 0,
24
- RotationDirection: accessory.context.RotationDirection ?? this.hap.Characteristic.RotationDirection.CLOCKWISE,
25
- };
26
- accessory.context.Fan = this.Fan;
27
- this.Fan.Service.setCharacteristic(this.hap.Characteristic.Name, this.Fan.Name).getCharacteristic(this.hap.Characteristic.Active).onGet(() => {
28
- return this.Fan.Active;
29
- }).onSet(this.ActiveSet.bind(this));
30
- if (device.rotation_speed) {
31
- // handle Rotation Speed events using the RotationSpeed characteristic
32
- this.Fan.Service.getCharacteristic(this.hap.Characteristic.RotationSpeed).setProps({
33
- minStep: device.set_minStep ?? 1,
34
- minValue: device.set_min ?? 1,
35
- maxValue: device.set_max ?? 100,
36
- }).onGet(() => {
37
- return this.Fan.RotationSpeed;
38
- }).onSet(this.RotationSpeedSet.bind(this));
39
- }
40
- else if (this.Fan.Service.testCharacteristic(this.hap.Characteristic.RotationSpeed) && !device.swing_mode) {
41
- const characteristic = this.Fan.Service.getCharacteristic(this.hap.Characteristic.RotationSpeed);
42
- this.Fan.Service.removeCharacteristic(characteristic);
43
- this.debugLog('Rotation Speed Characteristic was removed.');
44
- }
45
- else {
46
- this.debugLog(`RotationSpeed Characteristic was not removed/added, Clear Cache on ${this.accessory.displayName} to remove Chracteristic`);
47
- }
48
- if (device.swing_mode) {
49
- // handle Osolcation events using the SwingMode characteristic
50
- this.Fan.Service.getCharacteristic(this.hap.Characteristic.SwingMode).onGet(() => {
51
- return this.Fan.SwingMode;
52
- }).onSet(this.SwingModeSet.bind(this));
53
- }
54
- else if (this.Fan.Service.testCharacteristic(this.hap.Characteristic.SwingMode) && !device.swing_mode) {
55
- const characteristic = this.Fan.Service.getCharacteristic(this.hap.Characteristic.SwingMode);
56
- this.Fan.Service.removeCharacteristic(characteristic);
57
- this.debugLog('Swing Mode Characteristic was removed.');
58
- }
59
- else {
60
- this.debugLog(`Swing Mode Characteristic was not removed/added, Clear Cache on ${this.accessory.displayName} To Remove Chracteristic`);
61
- }
62
- }
63
- async SwingModeSet(value) {
64
- this.debugLog(`SwingMode: ${value}`);
65
- if (value > this.Fan.SwingMode) {
66
- this.Fan.SwingMode = 1;
67
- await this.pushFanOnChanges();
68
- await this.pushFanSwingChanges();
69
- }
70
- else {
71
- this.Fan.SwingMode = 0;
72
- await this.pushFanOnChanges();
73
- await this.pushFanSwingChanges();
74
- }
75
- this.Fan.SwingMode = value;
76
- this.accessory.context.SwingMode = this.Fan.SwingMode;
77
- }
78
- async RotationSpeedSet(value) {
79
- this.debugLog(`RotationSpeed: ${value}`);
80
- if (value > this.Fan.RotationSpeed) {
81
- this.Fan.RotationSpeed = 1;
82
- this.pushFanSpeedUpChanges();
83
- this.pushFanOnChanges();
84
- }
85
- else {
86
- this.Fan.RotationSpeed = 0;
87
- this.pushFanSpeedDownChanges();
88
- }
89
- this.Fan.RotationSpeed = value;
90
- this.accessory.context.RotationSpeed = this.Fan.RotationSpeed;
91
- }
92
- async ActiveSet(value) {
93
- this.debugLog(`Active: ${value}`);
94
- this.Fan.Active = value;
95
- if (this.Fan.Active === this.hap.Characteristic.Active.ACTIVE) {
96
- this.pushFanOnChanges();
97
- }
98
- else {
99
- this.pushFanOffChanges();
100
- }
101
- }
102
- /**
103
- * Pushes the requested changes to the SwitchBot API
104
- * deviceType commandType Command command parameter Description
105
- * Fan - "command" "swing" "default" = swing
106
- * Fan - "command" "timer" "default" = timer
107
- * Fan - "command" "lowSpeed" "default" = fan speed to low
108
- * Fan - "command" "middleSpeed" "default" = fan speed to medium
109
- * Fan - "command" "highSpeed" "default" = fan speed to high
110
- */
111
- async pushFanOnChanges() {
112
- this.debugLog(`pushFanOnChanges Active: ${this.Fan.Active}, disablePushOn: ${this.deviceDisablePushOn}`);
113
- if (this.Fan.Active === this.hap.Characteristic.Active.ACTIVE && !this.deviceDisablePushOn) {
114
- const commandType = await this.commandType();
115
- const command = await this.commandOn();
116
- const bodyChange = {
117
- command,
118
- parameter: 'default',
119
- commandType,
120
- };
121
- await this.pushChanges(bodyChange);
122
- }
123
- }
124
- async pushFanOffChanges() {
125
- this.debugLog(`pushLightOffChanges Active: ${this.Fan.Active}, disablePushOff: ${this.deviceDisablePushOff}`);
126
- if (this.Fan.Active === this.hap.Characteristic.Active.INACTIVE && !this.deviceDisablePushOff) {
127
- const commandType = await this.commandType();
128
- const command = await this.commandOff();
129
- const bodyChange = {
130
- command,
131
- parameter: 'default',
132
- commandType,
133
- };
134
- await this.pushChanges(bodyChange);
135
- }
136
- }
137
- async pushFanSpeedUpChanges() {
138
- const bodyChange = {
139
- command: 'highSpeed',
140
- parameter: 'default',
141
- commandType: 'command',
142
- };
143
- await this.pushChanges(bodyChange);
144
- }
145
- async pushFanSpeedDownChanges() {
146
- const bodyChange = {
147
- command: 'lowSpeed',
148
- parameter: 'default',
149
- commandType: 'command',
150
- };
151
- await this.pushChanges(bodyChange);
152
- }
153
- async pushFanSwingChanges() {
154
- const bodyChange = {
155
- command: 'swing',
156
- parameter: 'default',
157
- commandType: 'command',
158
- };
159
- await this.pushChanges(bodyChange);
160
- }
161
- async pushChanges(bodyChange) {
162
- this.debugLog('pushChanges');
163
- if (this.device.connectionType === 'OpenAPI') {
164
- this.infoLog(`Sending request to SwitchBot API, body: ${JSON.stringify(bodyChange)}`);
165
- try {
166
- const deviceStatus = await this.pushChangeRequest(bodyChange);
167
- await this.pushStatusCodes(deviceStatus);
168
- if (await this.successfulStatusCodes(deviceStatus)) {
169
- await this.successfulPushChange(deviceStatus, bodyChange);
170
- await this.updateHomeKitCharacteristics();
171
- }
172
- else {
173
- await this.statusCode(deviceStatus.statusCode);
174
- }
175
- }
176
- catch (e) {
177
- await this.apiError(e);
178
- await this.pushChangeError(e);
179
- }
180
- }
181
- else {
182
- this.warnLog(`Connection Type: ${this.device.connectionType}, commands will not be sent to OpenAPI`);
183
- }
184
- }
185
- async updateHomeKitCharacteristics() {
186
- this.debugLog('updateHomeKitCharacteristics');
187
- // Active
188
- await this.updateCharacteristic(this.Fan.Service, this.hap.Characteristic.Active, this.Fan.Active, 'Active');
189
- // SwingMode
190
- await this.updateCharacteristic(this.Fan.Service, this.hap.Characteristic.SwingMode, this.Fan.SwingMode, 'SwingMode');
191
- // RotationSpeed
192
- await this.updateCharacteristic(this.Fan.Service, this.hap.Characteristic.RotationSpeed, this.Fan.RotationSpeed, 'RotationSpeed');
193
- }
194
- async apiError(e) {
195
- this.Fan.Service.updateCharacteristic(this.hap.Characteristic.Active, e);
196
- this.Fan.Service.updateCharacteristic(this.hap.Characteristic.RotationSpeed, e);
197
- this.Fan.Service.updateCharacteristic(this.hap.Characteristic.SwingMode, e);
198
- }
199
- }
200
- //# sourceMappingURL=fan.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fan.js","sourceRoot":"","sources":["../../src/irdevice/fan.ts"],"names":[],"mappings":"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"}