homebridge-config-ui-x 5.9.1-beta.1 → 5.9.1-beta.3

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 (362) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/dist/app.controller.d.ts +1 -1
  3. package/dist/app.controller.js +14 -12
  4. package/dist/app.controller.js.map +1 -1
  5. package/dist/app.gateway.js +7 -10
  6. package/dist/app.gateway.js.map +1 -1
  7. package/dist/app.module.js +40 -43
  8. package/dist/app.module.js.map +1 -1
  9. package/dist/app.service.js +4 -7
  10. package/dist/app.service.js.map +1 -1
  11. package/dist/bin/base-platform.d.ts +1 -1
  12. package/dist/bin/base-platform.js +11 -17
  13. package/dist/bin/base-platform.js.map +1 -1
  14. package/dist/bin/fork.js +7 -45
  15. package/dist/bin/fork.js.map +1 -1
  16. package/dist/bin/hb-service.js +224 -243
  17. package/dist/bin/hb-service.js.map +1 -1
  18. package/dist/bin/platforms/darwin.d.ts +1 -1
  19. package/dist/bin/platforms/darwin.js +61 -65
  20. package/dist/bin/platforms/darwin.js.map +1 -1
  21. package/dist/bin/platforms/freebsd.d.ts +1 -1
  22. package/dist/bin/platforms/freebsd.js +42 -47
  23. package/dist/bin/platforms/freebsd.js.map +1 -1
  24. package/dist/bin/platforms/linux.d.ts +1 -1
  25. package/dist/bin/platforms/linux.js +127 -132
  26. package/dist/bin/platforms/linux.js.map +1 -1
  27. package/dist/bin/platforms/win32.d.ts +1 -1
  28. package/dist/bin/platforms/win32.js +30 -36
  29. package/dist/bin/platforms/win32.js.map +1 -1
  30. package/dist/bin/standalone.js +15 -53
  31. package/dist/bin/standalone.js.map +1 -1
  32. package/dist/core/auth/auth.controller.d.ts +3 -3
  33. package/dist/core/auth/auth.controller.js +40 -39
  34. package/dist/core/auth/auth.controller.js.map +1 -1
  35. package/dist/core/auth/auth.dto.js +17 -18
  36. package/dist/core/auth/auth.dto.js.map +1 -1
  37. package/dist/core/auth/auth.module.js +28 -31
  38. package/dist/core/auth/auth.module.js.map +1 -1
  39. package/dist/core/auth/auth.service.d.ts +3 -3
  40. package/dist/core/auth/auth.service.js +65 -62
  41. package/dist/core/auth/auth.service.js.map +1 -1
  42. package/dist/core/auth/guards/admin.guard.js +4 -7
  43. package/dist/core/auth/guards/admin.guard.js.map +1 -1
  44. package/dist/core/auth/guards/custom.guard.js +6 -9
  45. package/dist/core/auth/guards/custom.guard.js.map +1 -1
  46. package/dist/core/auth/guards/ws-admin-guard.d.ts +2 -2
  47. package/dist/core/auth/guards/ws-admin-guard.js +13 -11
  48. package/dist/core/auth/guards/ws-admin-guard.js.map +1 -1
  49. package/dist/core/auth/guards/ws.guard.d.ts +2 -2
  50. package/dist/core/auth/guards/ws.guard.js +13 -11
  51. package/dist/core/auth/guards/ws.guard.js.map +1 -1
  52. package/dist/core/auth/jwt.strategy.d.ts +3 -2
  53. package/dist/core/auth/jwt.strategy.js +21 -16
  54. package/dist/core/auth/jwt.strategy.js.map +1 -1
  55. package/dist/core/config/config.interfaces.js +1 -2
  56. package/dist/core/config/config.module.js +8 -10
  57. package/dist/core/config/config.module.js.map +1 -1
  58. package/dist/core/config/config.service.d.ts +2 -2
  59. package/dist/core/config/config.service.js +88 -82
  60. package/dist/core/config/config.service.js.map +1 -1
  61. package/dist/core/config/config.startup.d.ts +1 -1
  62. package/dist/core/config/config.startup.js +23 -28
  63. package/dist/core/config/config.startup.js.map +1 -1
  64. package/dist/core/feature-flags/feature-flags.registry.js +2 -5
  65. package/dist/core/feature-flags/feature-flags.registry.js.map +1 -1
  66. package/dist/core/homebridge-ipc/homebridge-ipc.module.js +11 -14
  67. package/dist/core/homebridge-ipc/homebridge-ipc.module.js.map +1 -1
  68. package/dist/core/homebridge-ipc/homebridge-ipc.service.d.ts +4 -4
  69. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +25 -19
  70. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  71. package/dist/core/logger/logger.module.js +8 -10
  72. package/dist/core/logger/logger.module.js.map +1 -1
  73. package/dist/core/logger/logger.service.js +13 -23
  74. package/dist/core/logger/logger.service.js.map +1 -1
  75. package/dist/core/node-pty/node-pty.module.js +7 -10
  76. package/dist/core/node-pty/node-pty.module.js.map +1 -1
  77. package/dist/core/node-pty/node-pty.service.js +6 -11
  78. package/dist/core/node-pty/node-pty.service.js.map +1 -1
  79. package/dist/core/node-version.constants.js +4 -11
  80. package/dist/core/node-version.constants.js.map +1 -1
  81. package/dist/core/scheduler/scheduler.module.js +7 -10
  82. package/dist/core/scheduler/scheduler.module.js.map +1 -1
  83. package/dist/core/scheduler/scheduler.service.js +9 -14
  84. package/dist/core/scheduler/scheduler.service.js.map +1 -1
  85. package/dist/core/spa/spa-html.service.js +9 -15
  86. package/dist/core/spa/spa-html.service.js.map +1 -1
  87. package/dist/core/spa/spa.filter.d.ts +1 -1
  88. package/dist/core/spa/spa.filter.js +11 -16
  89. package/dist/core/spa/spa.filter.js.map +1 -1
  90. package/dist/core/ssl/ssl-cert-generator.service.js +34 -36
  91. package/dist/core/ssl/ssl-cert-generator.service.js.map +1 -1
  92. package/dist/env-setup.d.ts +1 -0
  93. package/dist/env-setup.js +7 -0
  94. package/dist/env-setup.js.map +1 -0
  95. package/dist/globalDefaults.d.ts +1 -0
  96. package/dist/globalDefaults.js +1 -0
  97. package/dist/index.d.ts +1 -1
  98. package/dist/index.js +16 -19
  99. package/dist/index.js.map +1 -1
  100. package/dist/main.d.ts +5 -3
  101. package/dist/main.js +44 -51
  102. package/dist/main.js.map +1 -1
  103. package/dist/modules/accessories/accessories.controller.d.ts +13 -3
  104. package/dist/modules/accessories/accessories.controller.js +47 -29
  105. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  106. package/dist/modules/accessories/accessories.dto.js +11 -13
  107. package/dist/modules/accessories/accessories.dto.js.map +1 -1
  108. package/dist/modules/accessories/accessories.gateway.d.ts +2 -2
  109. package/dist/modules/accessories/accessories.gateway.js +18 -16
  110. package/dist/modules/accessories/accessories.gateway.js.map +1 -1
  111. package/dist/modules/accessories/accessories.interfaces.d.ts +94 -0
  112. package/dist/modules/accessories/accessories.interfaces.js +2 -0
  113. package/dist/modules/accessories/accessories.interfaces.js.map +1 -0
  114. package/dist/modules/accessories/accessories.module.js +19 -20
  115. package/dist/modules/accessories/accessories.module.js.map +1 -1
  116. package/dist/modules/accessories/accessories.service.d.ts +25 -5
  117. package/dist/modules/accessories/accessories.service.js +331 -52
  118. package/dist/modules/accessories/accessories.service.js.map +1 -1
  119. package/dist/modules/backup/backup.controller.d.ts +4 -4
  120. package/dist/modules/backup/backup.controller.js +68 -67
  121. package/dist/modules/backup/backup.controller.js.map +1 -1
  122. package/dist/modules/backup/backup.gateway.d.ts +4 -4
  123. package/dist/modules/backup/backup.gateway.js +25 -21
  124. package/dist/modules/backup/backup.gateway.js.map +1 -1
  125. package/dist/modules/backup/backup.module.js +22 -25
  126. package/dist/modules/backup/backup.module.js.map +1 -1
  127. package/dist/modules/backup/backup.service.d.ts +5 -5
  128. package/dist/modules/backup/backup.service.js +143 -133
  129. package/dist/modules/backup/backup.service.js.map +1 -1
  130. package/dist/modules/child-bridges/child-bridges.gateway.d.ts +3 -3
  131. package/dist/modules/child-bridges/child-bridges.gateway.js +23 -21
  132. package/dist/modules/child-bridges/child-bridges.gateway.js.map +1 -1
  133. package/dist/modules/child-bridges/child-bridges.interfaces.js +1 -2
  134. package/dist/modules/child-bridges/child-bridges.module.js +19 -22
  135. package/dist/modules/child-bridges/child-bridges.module.js.map +1 -1
  136. package/dist/modules/child-bridges/child-bridges.service.d.ts +3 -3
  137. package/dist/modules/child-bridges/child-bridges.service.js +15 -11
  138. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  139. package/dist/modules/config-editor/config-editor.controller.d.ts +7 -7
  140. package/dist/modules/config-editor/config-editor.controller.js +94 -95
  141. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  142. package/dist/modules/config-editor/config-editor.module.js +21 -24
  143. package/dist/modules/config-editor/config-editor.module.js.map +1 -1
  144. package/dist/modules/config-editor/config-editor.service.d.ts +6 -6
  145. package/dist/modules/config-editor/config-editor.service.js +65 -57
  146. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  147. package/dist/modules/custom-plugins/custom-plugins.module.js +10 -13
  148. package/dist/modules/custom-plugins/custom-plugins.module.js.map +1 -1
  149. package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.controller.d.ts +2 -2
  150. package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.controller.js +21 -19
  151. package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.controller.js.map +1 -1
  152. package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.module.js +14 -17
  153. package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.module.js.map +1 -1
  154. package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.service.d.ts +2 -2
  155. package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.service.js +18 -15
  156. package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.service.js.map +1 -1
  157. package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.controller.d.ts +2 -2
  158. package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.controller.js +21 -19
  159. package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.controller.js.map +1 -1
  160. package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.module.js +14 -17
  161. package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.module.js.map +1 -1
  162. package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.service.d.ts +2 -2
  163. package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.service.js +18 -15
  164. package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.service.js.map +1 -1
  165. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.controller.d.ts +2 -2
  166. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.controller.js +18 -19
  167. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.controller.js.map +1 -1
  168. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.gateway.d.ts +2 -2
  169. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.gateway.js +15 -13
  170. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.gateway.js.map +1 -1
  171. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.module.js +18 -21
  172. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.module.js.map +1 -1
  173. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +8 -8
  174. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +47 -41
  175. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  176. package/dist/modules/log/log.gateway.d.ts +3 -3
  177. package/dist/modules/log/log.gateway.js +15 -13
  178. package/dist/modules/log/log.gateway.js.map +1 -1
  179. package/dist/modules/log/log.interfaces.js +1 -2
  180. package/dist/modules/log/log.module.js +14 -17
  181. package/dist/modules/log/log.module.js.map +1 -1
  182. package/dist/modules/log/log.service.d.ts +5 -5
  183. package/dist/modules/log/log.service.js +47 -43
  184. package/dist/modules/log/log.service.js.map +1 -1
  185. package/dist/modules/platform-tools/docker/docker.controller.d.ts +1 -1
  186. package/dist/modules/platform-tools/docker/docker.controller.js +24 -25
  187. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  188. package/dist/modules/platform-tools/docker/docker.module.js +14 -17
  189. package/dist/modules/platform-tools/docker/docker.module.js.map +1 -1
  190. package/dist/modules/platform-tools/docker/docker.service.d.ts +2 -2
  191. package/dist/modules/platform-tools/docker/docker.service.js +20 -16
  192. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  193. package/dist/modules/platform-tools/hb-service/hb-service.controller.d.ts +2 -2
  194. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +35 -36
  195. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  196. package/dist/modules/platform-tools/hb-service/hb-service.dto.js +20 -19
  197. package/dist/modules/platform-tools/hb-service/hb-service.dto.js.map +1 -1
  198. package/dist/modules/platform-tools/hb-service/hb-service.module.js +14 -17
  199. package/dist/modules/platform-tools/hb-service/hb-service.module.js.map +1 -1
  200. package/dist/modules/platform-tools/hb-service/hb-service.service.d.ts +3 -3
  201. package/dist/modules/platform-tools/hb-service/hb-service.service.js +37 -30
  202. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  203. package/dist/modules/platform-tools/linux/linux.controller.d.ts +1 -1
  204. package/dist/modules/platform-tools/linux/linux.controller.js +23 -21
  205. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  206. package/dist/modules/platform-tools/linux/linux.module.js +14 -17
  207. package/dist/modules/platform-tools/linux/linux.module.js.map +1 -1
  208. package/dist/modules/platform-tools/linux/linux.service.d.ts +2 -2
  209. package/dist/modules/platform-tools/linux/linux.service.js +18 -14
  210. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  211. package/dist/modules/platform-tools/platform-tools.module.js +12 -15
  212. package/dist/modules/platform-tools/platform-tools.module.js.map +1 -1
  213. package/dist/modules/platform-tools/terminal/terminal.controller.d.ts +1 -1
  214. package/dist/modules/platform-tools/terminal/terminal.controller.js +15 -13
  215. package/dist/modules/platform-tools/terminal/terminal.controller.js.map +1 -1
  216. package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -2
  217. package/dist/modules/platform-tools/terminal/terminal.gateway.js +17 -15
  218. package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
  219. package/dist/modules/platform-tools/terminal/terminal.interfaces.js +1 -2
  220. package/dist/modules/platform-tools/terminal/terminal.module.js +18 -21
  221. package/dist/modules/platform-tools/terminal/terminal.module.js.map +1 -1
  222. package/dist/modules/platform-tools/terminal/terminal.service.d.ts +7 -7
  223. package/dist/modules/platform-tools/terminal/terminal.service.js +33 -28
  224. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  225. package/dist/modules/plugins/plugins.controller.d.ts +7 -7
  226. package/dist/modules/plugins/plugins.controller.js +51 -52
  227. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  228. package/dist/modules/plugins/plugins.dto.js +26 -24
  229. package/dist/modules/plugins/plugins.dto.js.map +1 -1
  230. package/dist/modules/plugins/plugins.gateway.d.ts +5 -5
  231. package/dist/modules/plugins/plugins.gateway.js +38 -34
  232. package/dist/modules/plugins/plugins.gateway.js.map +1 -1
  233. package/dist/modules/plugins/plugins.interfaces.js +1 -2
  234. package/dist/modules/plugins/plugins.module.js +23 -26
  235. package/dist/modules/plugins/plugins.module.js.map +1 -1
  236. package/dist/modules/plugins/plugins.service.d.ts +13 -11
  237. package/dist/modules/plugins/plugins.service.js +230 -202
  238. package/dist/modules/plugins/plugins.service.js.map +1 -1
  239. package/dist/modules/server/server.controller.d.ts +7 -7
  240. package/dist/modules/server/server.controller.js +208 -205
  241. package/dist/modules/server/server.controller.js.map +1 -1
  242. package/dist/modules/server/server.dto.js +13 -16
  243. package/dist/modules/server/server.dto.js.map +1 -1
  244. package/dist/modules/server/server.module.js +23 -26
  245. package/dist/modules/server/server.module.js.map +1 -1
  246. package/dist/modules/server/server.service.d.ts +6 -6
  247. package/dist/modules/server/server.service.js +202 -224
  248. package/dist/modules/server/server.service.js.map +1 -1
  249. package/dist/modules/setup-wizard/setup-wizard.controller.d.ts +3 -3
  250. package/dist/modules/setup-wizard/setup-wizard.controller.js +19 -20
  251. package/dist/modules/setup-wizard/setup-wizard.controller.js.map +1 -1
  252. package/dist/modules/setup-wizard/setup-wizard.gateway.d.ts +4 -4
  253. package/dist/modules/setup-wizard/setup-wizard.gateway.js +25 -21
  254. package/dist/modules/setup-wizard/setup-wizard.gateway.js.map +1 -1
  255. package/dist/modules/setup-wizard/setup-wizard.guard.d.ts +2 -2
  256. package/dist/modules/setup-wizard/setup-wizard.guard.js +11 -9
  257. package/dist/modules/setup-wizard/setup-wizard.guard.js.map +1 -1
  258. package/dist/modules/setup-wizard/setup-wizard.module.js +12 -15
  259. package/dist/modules/setup-wizard/setup-wizard.module.js.map +1 -1
  260. package/dist/modules/status/status.controller.d.ts +5 -5
  261. package/dist/modules/status/status.controller.js +40 -36
  262. package/dist/modules/status/status.controller.js.map +1 -1
  263. package/dist/modules/status/status.gateway.d.ts +11 -11
  264. package/dist/modules/status/status.gateway.js +51 -47
  265. package/dist/modules/status/status.gateway.js.map +1 -1
  266. package/dist/modules/status/status.interfaces.js +2 -5
  267. package/dist/modules/status/status.interfaces.js.map +1 -1
  268. package/dist/modules/status/status.module.js +26 -29
  269. package/dist/modules/status/status.module.js.map +1 -1
  270. package/dist/modules/status/status.service.d.ts +13 -13
  271. package/dist/modules/status/status.service.js +100 -88
  272. package/dist/modules/status/status.service.js.map +1 -1
  273. package/dist/modules/users/users.controller.d.ts +3 -3
  274. package/dist/modules/users/users.controller.js +59 -60
  275. package/dist/modules/users/users.controller.js.map +1 -1
  276. package/dist/modules/users/users.dto.js +51 -45
  277. package/dist/modules/users/users.dto.js.map +1 -1
  278. package/dist/modules/users/users.module.js +14 -17
  279. package/dist/modules/users/users.module.js.map +1 -1
  280. package/dist/self-check.js +25 -25
  281. package/dist/self-check.js.map +1 -1
  282. package/package.json +10 -11
  283. package/public/{chunk-Q2IS3QQY.js → chunk-2GNLGHLF.js} +1 -1
  284. package/public/{chunk-73TX7DHV.js → chunk-2HB77JUL.js} +1 -1
  285. package/public/{chunk-EVND2DL5.js → chunk-2KS3Z2IQ.js} +1 -1
  286. package/public/{chunk-NKNWXFAK.js → chunk-3MJTL7SQ.js} +1 -1
  287. package/public/chunk-3P242I3M.js +1 -0
  288. package/public/{chunk-WWSLIQVD.js → chunk-46GAMPZC.js} +1 -1
  289. package/public/{chunk-AI6E5JVH.js → chunk-46IO6OQW.js} +1 -1
  290. package/public/{chunk-EAGKQ5OJ.js → chunk-4A2GGTS4.js} +1 -1
  291. package/public/{chunk-2LXNPXT5.js → chunk-4YBRFABH.js} +1 -1
  292. package/public/{chunk-ZEI3HZ6P.js → chunk-5SJKGEVE.js} +1 -1
  293. package/public/{chunk-CYBDQV2B.js → chunk-5WBNDRQY.js} +1 -1
  294. package/public/{chunk-W3SNJ7TC.js → chunk-66WFX4Q7.js} +1 -1
  295. package/public/{chunk-5ETJWAIW.js → chunk-6EINUQIR.js} +1 -1
  296. package/public/chunk-6UJ7GY5J.js +1 -0
  297. package/public/{chunk-VYC5JLE6.js → chunk-77FE4N6E.js} +1 -1
  298. package/public/{chunk-4QXLJX7D.js → chunk-ALZYHHJS.js} +1 -1
  299. package/public/{chunk-SY4VNLXW.js → chunk-AYCYJZ5K.js} +1 -1
  300. package/public/chunk-BB37SSD3.js +50 -0
  301. package/public/chunk-BCEDAADS.js +1 -0
  302. package/public/{chunk-ONTEIYY3.js → chunk-BDNVTHRF.js} +1 -1
  303. package/public/{chunk-ADW6BF5G.js → chunk-CCHNU62C.js} +1 -1
  304. package/public/{chunk-BLT2YCDN.js → chunk-CWBKN6DK.js} +1 -1
  305. package/public/{chunk-3IJXQMYZ.js → chunk-DE3FEETC.js} +1 -1
  306. package/public/{chunk-TSFGO3MA.js → chunk-EGCKVLUA.js} +1 -1
  307. package/public/{chunk-L43N56JA.js → chunk-EGWCQPNN.js} +1 -1
  308. package/public/{chunk-OK5EJ7US.js → chunk-EKECA5VY.js} +1 -1
  309. package/public/{chunk-JJ7TVAIH.js → chunk-EQP5UP7Q.js} +4 -4
  310. package/public/{chunk-3XDYZNNE.js → chunk-FE2HKRWO.js} +1 -1
  311. package/public/chunk-FQFDF7NL.js +52 -0
  312. package/public/{chunk-2UOYBCTN.js → chunk-GXXBQUDX.js} +1 -1
  313. package/public/{chunk-3IZSIVEA.js → chunk-HADRZRRW.js} +1 -1
  314. package/public/{chunk-LZOHFRHN.js → chunk-HL3SPLOS.js} +1 -1
  315. package/public/{chunk-732XLY23.js → chunk-HYNETRJU.js} +1 -1
  316. package/public/{chunk-BTBGWLKK.js → chunk-IUQ7ORI6.js} +1 -1
  317. package/public/chunk-JAJWHRVE.js +1 -0
  318. package/public/{chunk-UF2IM5BE.js → chunk-JEJRRXX6.js} +1 -1
  319. package/public/chunk-KSPJ7LBC.js +1 -0
  320. package/public/{chunk-OAHDGV32.js → chunk-KWPPPGZJ.js} +1 -1
  321. package/public/{chunk-TOYVIOBH.js → chunk-M2ITW35G.js} +1 -1
  322. package/public/{chunk-5T4JHJYL.js → chunk-M4SSS7AE.js} +1 -1
  323. package/public/{chunk-Y5FP6C55.js → chunk-M5QYCMMI.js} +1 -1
  324. package/public/{chunk-ASKB5DLO.js → chunk-MR4KWEYX.js} +1 -1
  325. package/public/{chunk-YH6MRXGX.js → chunk-MYPS3TAE.js} +1 -1
  326. package/public/{chunk-LH2LMHIZ.js → chunk-OIVQXH76.js} +1 -1
  327. package/public/{chunk-RMZRXORR.js → chunk-P6WEUVOG.js} +1 -1
  328. package/public/{chunk-2KEG7SYT.js → chunk-PHWOE6AS.js} +1 -1
  329. package/public/{chunk-N2TWGDNX.js → chunk-PJNMYOLO.js} +1 -1
  330. package/public/{chunk-YNONXMOG.js → chunk-Q2JNFJIW.js} +1 -1
  331. package/public/{chunk-WLGXJQPD.js → chunk-QQ44GPGJ.js} +1 -1
  332. package/public/{chunk-LWAL5JUG.js → chunk-QUV4XDKI.js} +1 -1
  333. package/public/{chunk-3E2NZ5JW.js → chunk-QXD3PZRU.js} +1 -1
  334. package/public/{chunk-7IYTG6GP.js → chunk-REL5VGL4.js} +1 -1
  335. package/public/{chunk-U5JF2ZOK.js → chunk-SKPO4EWV.js} +1 -1
  336. package/public/{chunk-QK4V5DVW.js → chunk-TLUCE4J6.js} +1 -1
  337. package/public/{chunk-325LPX6W.js → chunk-UAQZWGFR.js} +1 -1
  338. package/public/{chunk-UNGEHXRN.js → chunk-UGGLMYE3.js} +1 -1
  339. package/public/{chunk-FM6ZYPKR.js → chunk-US2WKTPG.js} +4 -4
  340. package/public/{chunk-YYJG2ENF.js → chunk-VIZSJCWC.js} +1 -1
  341. package/public/{chunk-7UDDRMZZ.js → chunk-VOHBPEFW.js} +1 -1
  342. package/public/{chunk-6KT3BYU6.js → chunk-WTOIGZHP.js} +1 -1
  343. package/public/{chunk-57DUDNZJ.js → chunk-WZKMLQSX.js} +1 -1
  344. package/public/{chunk-2FNQEOXF.js → chunk-X5AVMTQO.js} +1 -1
  345. package/public/{chunk-D5RKKI2A.js → chunk-XFAARHWA.js} +1 -1
  346. package/public/{chunk-ZJJ3EOBP.js → chunk-YKEI23UT.js} +1 -1
  347. package/public/chunk-YNS6PU44.js +1 -0
  348. package/public/{chunk-OS2SEJZU.js → chunk-YSLCQT67.js} +1 -1
  349. package/public/{chunk-X5AKILHJ.js → chunk-YTHSUAFP.js} +1 -1
  350. package/public/{chunk-2CNQY2E7.js → chunk-ZCINSOSK.js} +1 -1
  351. package/public/index.html +2 -2
  352. package/public/{main-27RPBS22.js → main-RHTU6HFP.js} +1 -1
  353. package/public/{styles-CSF457UW.css → styles-WNHDEKE4.css} +1 -1
  354. package/scripts/extract-plugin-alias.js +8 -4
  355. package/public/chunk-L5I3DZ23.js +0 -1
  356. package/public/chunk-O4SS7KVP.js +0 -40
  357. package/public/chunk-P7TZIGJS.js +0 -50
  358. package/public/chunk-QQ5VZZQG.js +0 -1
  359. package/public/chunk-RYTGW6B7.js +0 -1
  360. package/public/chunk-SOT54YHI.js +0 -1
  361. package/public/chunk-TGZNYEGN.js +0 -1
  362. package/public/chunk-VEGMNMLG.js +0 -1
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -8,25 +7,33 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
13
12
  };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AccessoriesService = void 0;
16
- const node_path_1 = require("node:path");
17
- const hap_client_1 = require("@homebridge/hap-client");
18
- const common_1 = require("@nestjs/common");
19
- const fs_extra_1 = require("fs-extra");
20
- const node_cache_1 = __importDefault(require("node-cache"));
21
- const config_service_1 = require("../../core/config/config.service");
22
- const logger_service_1 = require("../../core/logger/logger.service");
13
+ import { join } from 'node:path';
14
+ import { HapClient } from '@homebridge/hap-client';
15
+ import { BadRequestException, Inject, Injectable } from '@nestjs/common';
16
+ import { mkdirp, pathExists, readJson, writeJsonSync } from 'fs-extra/esm';
17
+ import NodeCache from 'node-cache';
18
+ import { ConfigService } from '../../core/config/config.service.js';
19
+ import { HomebridgeIpcService } from '../../core/homebridge-ipc/homebridge-ipc.service.js';
20
+ import { Logger } from '../../core/logger/logger.service.js';
23
21
  let AccessoriesService = class AccessoriesService {
24
- constructor(configService, logger) {
22
+ configService;
23
+ logger;
24
+ homebridgeIpcService;
25
+ hapClient;
26
+ accessoriesCache = new NodeCache({ stdTTL: 0 });
27
+ matterMonitoringActive = false;
28
+ matterUpdateListener = null;
29
+ activeClients = new Set();
30
+ matterAccessories = [];
31
+ constructor(configService, logger, homebridgeIpcService) {
25
32
  this.configService = configService;
26
33
  this.logger = logger;
27
- this.accessoriesCache = new node_cache_1.default({ stdTTL: 0 });
34
+ this.homebridgeIpcService = homebridgeIpcService;
28
35
  if (this.configService.homebridgeInsecureMode) {
29
- this.hapClient = new hap_client_1.HapClient({
36
+ this.hapClient = new HapClient({
30
37
  pin: this.configService.homebridgeConfig.bridge.pin,
31
38
  logger: this.logger,
32
39
  config: this.configService.ui.accessoryControl || {},
@@ -38,6 +45,10 @@ let AccessoriesService = class AccessoriesService {
38
45
  this.logger.error('Homebridge must be running in insecure mode to control accessories.');
39
46
  return;
40
47
  }
48
+ this.activeClients.add(client);
49
+ if (this.activeClients.size === 1) {
50
+ await this.startMatterMonitoring();
51
+ }
41
52
  let services;
42
53
  const loadAllAccessories = async (refresh) => {
43
54
  if (!refresh) {
@@ -46,26 +57,48 @@ let AccessoriesService = class AccessoriesService {
46
57
  client.emit('accessories-data', cached);
47
58
  }
48
59
  }
49
- services = await this.loadAccessories();
50
- this.refreshCharacteristics(services);
60
+ const hapServices = await this.loadAccessories();
61
+ this.refreshCharacteristics(hapServices);
62
+ client.emit('hap-accessories-ready-for-control');
63
+ client.emit('accessories-data', hapServices);
64
+ const matterServices = await this.loadMatterAccessories();
65
+ client.emit('matter-accessories-ready-for-control');
66
+ if (matterServices.length > 0) {
67
+ client.emit('accessories-data', matterServices);
68
+ }
69
+ services = [...hapServices, ...matterServices];
51
70
  client.emit('accessories-ready-for-control');
52
- client.emit('accessories-data', services);
53
71
  this.accessoriesCache.set('services', services);
54
72
  };
55
73
  await loadAllAccessories(false);
56
74
  const requestHandler = async (msg) => {
57
- if (msg.set) {
58
- const service = services.find(x => x.uniqueId === msg.set.uniqueId);
59
- if (service) {
60
- try {
61
- await service.setCharacteristic(msg.set.iid, msg.set.value);
62
- services = await this.loadAccessories();
63
- setTimeout(() => {
64
- this.refreshCharacteristics(services);
65
- }, 1500);
75
+ if (msg.refresh) {
76
+ await loadAllAccessories(true);
77
+ }
78
+ else if (msg.set) {
79
+ if (msg.set.uniqueId && msg.set.uniqueId.startsWith('matter:')) {
80
+ if (msg.set.cluster && msg.set.attributes) {
81
+ await this.handleMatterControl(client, {
82
+ uniqueId: msg.set.uniqueId,
83
+ cluster: msg.set.cluster,
84
+ attributes: msg.set.attributes,
85
+ });
66
86
  }
67
- catch (e) {
68
- client.emit('accessory-control-failure', e.message);
87
+ }
88
+ else {
89
+ const service = services.find(x => x.uniqueId === msg.set.uniqueId);
90
+ if (service && 'serviceCharacteristics' in service) {
91
+ try {
92
+ await service.setCharacteristic(msg.set.iid, msg.set.value);
93
+ const hapServices = await this.loadAccessories();
94
+ setTimeout(() => {
95
+ this.refreshCharacteristics(hapServices);
96
+ }, 1500);
97
+ services = [...hapServices, ...this.matterAccessories];
98
+ }
99
+ catch (e) {
100
+ client.emit('accessory-control-failure', e.message);
101
+ }
69
102
  }
70
103
  }
71
104
  }
@@ -76,7 +109,7 @@ let AccessoriesService = class AccessoriesService {
76
109
  client.emit('accessories-data', data);
77
110
  };
78
111
  monitor.on('service-update', updateHandler);
79
- const instanceUpdateHandler = async (data) => {
112
+ const instanceUpdateHandler = async () => {
80
113
  client.emit('accessories-reload-required', services);
81
114
  };
82
115
  this.hapClient.on('instance-discovered', instanceUpdateHandler);
@@ -91,6 +124,10 @@ let AccessoriesService = class AccessoriesService {
91
124
  monitor.removeAllListeners('service-update');
92
125
  monitor.finish();
93
126
  this.hapClient.removeListener('instance-discovered', instanceUpdateHandler);
127
+ this.activeClients.delete(client);
128
+ if (this.activeClients.size === 0) {
129
+ this.stopMatterMonitoring();
130
+ }
94
131
  };
95
132
  client.on('disconnect', onEnd.bind(this));
96
133
  client.on('end', onEnd.bind(this));
@@ -105,7 +142,7 @@ let AccessoriesService = class AccessoriesService {
105
142
  }
106
143
  async loadAccessories() {
107
144
  if (!this.configService.homebridgeInsecureMode) {
108
- throw new common_1.BadRequestException('Homebridge must be running in insecure mode to access accessories.');
145
+ throw new BadRequestException('Homebridge must be running in insecure mode to access accessories.');
109
146
  }
110
147
  try {
111
148
  return await this.hapClient.getAllServices();
@@ -121,46 +158,72 @@ let AccessoriesService = class AccessoriesService {
121
158
  }
122
159
  }
123
160
  async getAccessory(uniqueId) {
161
+ if (uniqueId.startsWith('matter:')) {
162
+ return this.getMatterAccessory(uniqueId);
163
+ }
124
164
  const services = await this.loadAccessories();
125
165
  const service = services.find(x => x.uniqueId === uniqueId);
126
166
  if (!service) {
127
- throw new common_1.BadRequestException(`Service with uniqueId of '${uniqueId}' not found.`);
167
+ throw new BadRequestException(`Service with uniqueId of '${uniqueId}' not found.`);
128
168
  }
129
169
  try {
130
170
  await service.refreshCharacteristics();
131
171
  return service;
132
172
  }
133
173
  catch (e) {
134
- throw new common_1.BadRequestException(e.message);
174
+ throw new BadRequestException(e.message);
175
+ }
176
+ }
177
+ async getMatterAccessory(uniqueId) {
178
+ try {
179
+ const parts = uniqueId.replace('matter:', '').split(':');
180
+ const uuid = parts[0];
181
+ this.homebridgeIpcService.sendMessage('getMatterAccessoryInfo', { uuid });
182
+ const response = await this.homebridgeIpcService.requestResponse('getMatterAccessoryInfo', 'matterAccessoryInfoData');
183
+ if (response.error) {
184
+ throw new BadRequestException(response.error);
185
+ }
186
+ if (parts[1]) {
187
+ const part = response.parts?.find((p) => p.id === parts[1]);
188
+ if (part) {
189
+ return this.transformMatterAccessory(response, part);
190
+ }
191
+ throw new BadRequestException(`Part '${parts[1]}' not found in accessory`);
192
+ }
193
+ return this.transformMatterAccessory(response);
194
+ }
195
+ catch (error) {
196
+ this.logger.error(`Failed to get Matter accessory info for ${uniqueId}:`, error);
197
+ throw new BadRequestException(error.message || 'Failed to get Matter accessory info');
135
198
  }
136
199
  }
137
200
  async setAccessoryCharacteristic(uniqueId, characteristicType, value) {
138
201
  const services = await this.loadAccessories();
139
202
  const service = services.find(x => x.uniqueId === uniqueId);
140
203
  if (!service) {
141
- throw new common_1.BadRequestException(`Service with uniqueId of '${uniqueId}' not found.`);
204
+ throw new BadRequestException(`Service with uniqueId of '${uniqueId}' not found.`);
142
205
  }
143
206
  const characteristic = service.getCharacteristic(characteristicType);
144
207
  if (!characteristic || !characteristic.canWrite) {
145
208
  const types = service.serviceCharacteristics.filter(x => x.canWrite).map(x => `'${x.type}'`).join(', ');
146
- throw new common_1.BadRequestException(`Invalid characteristicType. Valid types are: ${types}.`);
209
+ throw new BadRequestException(`Invalid characteristicType. Valid types are: ${types}.`);
147
210
  }
148
211
  if (['uint8', 'uint16', 'uint32', 'uint64'].includes(characteristic.format)) {
149
212
  value = Number.parseInt(value, 10);
150
213
  if (characteristic.minValue !== undefined && value < characteristic.minValue) {
151
- throw new common_1.BadRequestException(`Invalid value. The value must be between ${characteristic.minValue} and ${characteristic.maxValue}.`);
214
+ throw new BadRequestException(`Invalid value. The value must be between ${characteristic.minValue} and ${characteristic.maxValue}.`);
152
215
  }
153
216
  if (characteristic.maxValue !== undefined && value > characteristic.maxValue) {
154
- throw new common_1.BadRequestException(`Invalid value. The value must be between ${characteristic.minValue} and ${characteristic.maxValue}.`);
217
+ throw new BadRequestException(`Invalid value. The value must be between ${characteristic.minValue} and ${characteristic.maxValue}.`);
155
218
  }
156
219
  }
157
220
  if (characteristic.format === 'float') {
158
221
  value = Number.parseFloat(value);
159
222
  if (characteristic.minValue !== undefined && value < characteristic.minValue) {
160
- throw new common_1.BadRequestException(`Invalid value. The value must be between ${characteristic.minValue} and ${characteristic.maxValue}.`);
223
+ throw new BadRequestException(`Invalid value. The value must be between ${characteristic.minValue} and ${characteristic.maxValue}.`);
161
224
  }
162
225
  if (characteristic.maxValue !== undefined && value > characteristic.maxValue) {
163
- throw new common_1.BadRequestException(`Invalid value. The value must be between ${characteristic.minValue} and ${characteristic.maxValue}.`);
226
+ throw new BadRequestException(`Invalid value. The value must be between ${characteristic.minValue} and ${characteristic.maxValue}.`);
164
227
  }
165
228
  }
166
229
  if (characteristic.format === 'bool') {
@@ -176,7 +239,7 @@ let AccessoriesService = class AccessoriesService {
176
239
  value = value === 1;
177
240
  }
178
241
  if (typeof value !== 'boolean') {
179
- throw new common_1.BadRequestException('Invalid value. The value must be a boolean (true or false).');
242
+ throw new BadRequestException('Invalid value. The value must be a boolean (true or false).');
180
243
  }
181
244
  }
182
245
  try {
@@ -185,12 +248,12 @@ let AccessoriesService = class AccessoriesService {
185
248
  return service;
186
249
  }
187
250
  catch (e) {
188
- throw new common_1.BadRequestException(e.message);
251
+ throw new BadRequestException(e.message);
189
252
  }
190
253
  }
191
254
  async getAccessoryLayout(username) {
192
255
  try {
193
- const accessoryLayout = await (0, fs_extra_1.readJson)(this.configService.accessoryLayoutPath);
256
+ const accessoryLayout = await readJson(this.configService.accessoryLayoutPath);
194
257
  if (username in accessoryLayout) {
195
258
  return accessoryLayout[username];
196
259
  }
@@ -210,16 +273,16 @@ let AccessoriesService = class AccessoriesService {
210
273
  async saveAccessoryLayout(user, layout) {
211
274
  let accessoryLayout;
212
275
  try {
213
- accessoryLayout = await (0, fs_extra_1.readJson)(this.configService.accessoryLayoutPath);
276
+ accessoryLayout = await readJson(this.configService.accessoryLayoutPath);
214
277
  }
215
278
  catch (e) {
216
- accessoryLayout = {};
279
+ accessoryLayout = [];
217
280
  }
218
- if (!await (0, fs_extra_1.pathExists)((0, node_path_1.join)(this.configService.storagePath, 'accessories'))) {
219
- await (0, fs_extra_1.mkdirp)((0, node_path_1.join)(this.configService.storagePath, 'accessories'));
281
+ if (!await pathExists(join(this.configService.storagePath, 'accessories'))) {
282
+ await mkdirp(join(this.configService.storagePath, 'accessories'));
220
283
  }
221
284
  accessoryLayout[user] = layout;
222
- (0, fs_extra_1.writeJsonSync)(this.configService.accessoryLayoutPath, accessoryLayout);
285
+ writeJsonSync(this.configService.accessoryLayoutPath, accessoryLayout);
223
286
  this.logger.log(`Accessory layout changes saved for ${user}.`);
224
287
  return layout;
225
288
  }
@@ -228,11 +291,227 @@ let AccessoriesService = class AccessoriesService {
228
291
  this.hapClient.resetInstancePool();
229
292
  }
230
293
  }
294
+ async waitForMatterEvent(eventType, sendRequest) {
295
+ return new Promise((resolve, reject) => {
296
+ const actionTimeout = setTimeout(() => {
297
+ this.homebridgeIpcService.removeListener('matterEvent', listener);
298
+ reject(new Error('The Homebridge service did not respond'));
299
+ }, 3000);
300
+ const listener = (event) => {
301
+ if (event.type === eventType) {
302
+ clearTimeout(actionTimeout);
303
+ this.homebridgeIpcService.removeListener('matterEvent', listener);
304
+ resolve(event.data);
305
+ }
306
+ };
307
+ this.homebridgeIpcService.on('matterEvent', listener);
308
+ sendRequest();
309
+ });
310
+ }
311
+ async startMatterMonitoring() {
312
+ if (this.matterMonitoringActive) {
313
+ return;
314
+ }
315
+ try {
316
+ this.logger.debug('Starting Matter accessory monitoring');
317
+ this.homebridgeIpcService.sendMessage('startMatterMonitoring');
318
+ this.matterMonitoringActive = true;
319
+ this.matterUpdateListener = (event) => {
320
+ switch (event.type) {
321
+ case 'accessoryUpdate':
322
+ if (event.data && 'uuid' in event.data && 'cluster' in event.data) {
323
+ this.handleMatterStateUpdate(event.data);
324
+ }
325
+ break;
326
+ case 'accessoryAdded':
327
+ case 'accessoryRemoved':
328
+ if (event.data && 'uuid' in event.data) {
329
+ this.logger.debug(`Matter accessory ${event.type}: ${event.data.uuid} - triggering reload`);
330
+ }
331
+ for (const client of this.activeClients) {
332
+ client.emit('matter-accessories-reload-required');
333
+ }
334
+ break;
335
+ }
336
+ };
337
+ this.homebridgeIpcService.on('matterEvent', this.matterUpdateListener);
338
+ this.logger.debug('Matter monitoring started successfully');
339
+ }
340
+ catch (error) {
341
+ this.logger.error('Failed to start Matter monitoring:', error);
342
+ }
343
+ }
344
+ async stopMatterMonitoring() {
345
+ if (!this.matterMonitoringActive) {
346
+ return;
347
+ }
348
+ try {
349
+ this.logger.debug('Stopping Matter accessory monitoring');
350
+ if (this.matterUpdateListener) {
351
+ this.homebridgeIpcService.removeListener('matterEvent', this.matterUpdateListener);
352
+ this.matterUpdateListener = null;
353
+ }
354
+ this.homebridgeIpcService.sendMessage('stopMatterMonitoring');
355
+ this.matterMonitoringActive = false;
356
+ this.matterAccessories = [];
357
+ this.logger.debug('Matter monitoring stopped');
358
+ }
359
+ catch (error) {
360
+ this.logger.error('Failed to stop Matter monitoring:', error);
361
+ }
362
+ }
363
+ async loadMatterAccessories() {
364
+ if (!this.matterMonitoringActive) {
365
+ this.logger.warn('Matter monitoring not active, skipping accessory load');
366
+ return [];
367
+ }
368
+ try {
369
+ const response = await this.waitForMatterEvent('accessoriesData', () => {
370
+ this.homebridgeIpcService.sendMessage('getMatterAccessories', {});
371
+ });
372
+ if (response.error) {
373
+ throw new Error(response.error);
374
+ }
375
+ const accessories = response.accessories || [];
376
+ this.logger.debug(`Loaded ${accessories.length} Matter accessories from IPC`);
377
+ const matterServices = accessories.flatMap((accessory) => {
378
+ const services = [];
379
+ services.push({
380
+ ...this.transformMatterAccessory(accessory),
381
+ protocol: 'matter',
382
+ });
383
+ if (accessory.parts) {
384
+ for (const part of accessory.parts) {
385
+ services.push({
386
+ ...this.transformMatterAccessory(accessory, part),
387
+ protocol: 'matter',
388
+ });
389
+ }
390
+ }
391
+ return services;
392
+ });
393
+ this.logger.debug(`Transformed ${matterServices.length} Matter services (including parts)`);
394
+ this.matterAccessories = matterServices;
395
+ return matterServices;
396
+ }
397
+ catch (error) {
398
+ this.logger.error('Failed to load Matter accessories:', error);
399
+ return [];
400
+ }
401
+ }
402
+ transformMatterAccessory(accessory, part) {
403
+ const targetClusters = part?.clusters || accessory.clusters;
404
+ const displayName = part
405
+ ? `${accessory.displayName} - ${part.displayName}`
406
+ : accessory.displayName;
407
+ const uniqueId = part
408
+ ? `matter:${accessory.uuid}:${part.id}`
409
+ : `matter:${accessory.uuid}`;
410
+ const deviceType = part?.deviceType || accessory.deviceType;
411
+ const bridgeUsername = accessory.bridge?.username || 'unknown';
412
+ if (bridgeUsername === 'unknown') {
413
+ this.logger.warn(`Matter accessory '${displayName}' (${uniqueId}) has no bridge.username - layout may not persist correctly`);
414
+ }
415
+ return {
416
+ uniqueId,
417
+ uuid: accessory.uuid,
418
+ serviceName: displayName,
419
+ displayName,
420
+ deviceType,
421
+ clusters: targetClusters,
422
+ partId: part?.id,
423
+ protocol: 'matter',
424
+ instance: {
425
+ name: accessory.bridge?.name || 'Matter Bridge',
426
+ username: bridgeUsername,
427
+ },
428
+ accessoryInformation: {
429
+ 'Name': displayName,
430
+ 'Manufacturer': accessory.manufacturer || 'Unknown',
431
+ 'Model': accessory.model || deviceType,
432
+ 'Serial Number': accessory.serialNumber || accessory.uuid,
433
+ 'Firmware Revision': accessory.firmwareRevision || '1.0.0',
434
+ },
435
+ bridge: accessory.bridge,
436
+ plugin: accessory.plugin,
437
+ platform: accessory.platform,
438
+ commissioned: accessory.commissioned,
439
+ fabricCount: accessory.fabricCount,
440
+ fabrics: accessory.fabrics,
441
+ aid: 0,
442
+ iid: 0,
443
+ };
444
+ }
445
+ handleMatterStateUpdate(data) {
446
+ const uniqueId = data.partId
447
+ ? `matter:${data.uuid}:${data.partId}`
448
+ : `matter:${data.uuid}`;
449
+ const service = this.matterAccessories.find(s => s.uniqueId === uniqueId);
450
+ if (!service) {
451
+ return;
452
+ }
453
+ service.clusters[data.cluster] = {
454
+ ...service.clusters[data.cluster],
455
+ ...data.state,
456
+ };
457
+ for (const client of this.activeClients) {
458
+ client.emit('accessories-data', [service]);
459
+ }
460
+ }
461
+ async handleMatterControl(client, control) {
462
+ try {
463
+ const parts = control.uniqueId.replace('matter:', '').split(':');
464
+ const uuid = parts[0];
465
+ const partId = parts[1];
466
+ this.homebridgeIpcService.sendMessage('matterAccessoryControl', {
467
+ uuid,
468
+ cluster: control.cluster,
469
+ attributes: control.attributes,
470
+ partId,
471
+ });
472
+ const response = await this.homebridgeIpcService.requestResponse('matterAccessoryControl', 'matterAccessoryControlResponse');
473
+ if (!response.success) {
474
+ client.emit('accessory-control-failure', response.error || 'Matter control failed');
475
+ }
476
+ }
477
+ catch (error) {
478
+ this.logger.error('Matter control failed:', error);
479
+ client.emit('accessory-control-failure', error.message || 'Matter control failed');
480
+ }
481
+ }
482
+ async controlMatterAccessory(uuid, cluster, attributes, bridgeUsername, partId) {
483
+ try {
484
+ const response = await this.waitForMatterEvent('accessoryControlResponse', () => {
485
+ this.homebridgeIpcService.sendMessage('matterAccessoryControl', {
486
+ uuid,
487
+ cluster,
488
+ attributes,
489
+ bridgeUsername,
490
+ partId,
491
+ });
492
+ });
493
+ if (!response.success) {
494
+ throw new Error(response.error || 'Matter control failed');
495
+ }
496
+ return { success: true };
497
+ }
498
+ catch (error) {
499
+ this.logger.error('Matter control failed:', error);
500
+ return {
501
+ success: false,
502
+ error: error.message || 'Matter control failed',
503
+ };
504
+ }
505
+ }
231
506
  };
232
- exports.AccessoriesService = AccessoriesService;
233
- exports.AccessoriesService = AccessoriesService = __decorate([
234
- (0, common_1.Injectable)(),
235
- __metadata("design:paramtypes", [config_service_1.ConfigService,
236
- logger_service_1.Logger])
507
+ AccessoriesService = __decorate([
508
+ Injectable(),
509
+ __param(0, Inject(ConfigService)),
510
+ __param(1, Inject(Logger)),
511
+ __param(2, Inject(HomebridgeIpcService)),
512
+ __metadata("design:paramtypes", [ConfigService,
513
+ Logger,
514
+ HomebridgeIpcService])
237
515
  ], AccessoriesService);
516
+ export { AccessoriesService };
238
517
  //# sourceMappingURL=accessories.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessories.service.js","sourceRoot":"","sources":["../../../src/modules/accessories/accessories.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessories.service.js","sourceRoot":"","sources":["../../../src/modules/accessories/accessories.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { StreamableFile } from '@nestjs/common';
2
2
  import type { FastifyRequest } from 'fastify';
3
- import { Logger } from '../../core/logger/logger.service';
4
- import { BackupService } from './backup.service';
3
+ import { Logger } from '../../core/logger/logger.service.js';
4
+ import { BackupService } from './backup.service.js';
5
5
  export declare class BackupController {
6
- private backupService;
7
- private logger;
6
+ private readonly backupService;
7
+ private readonly logger;
8
8
  constructor(backupService: BackupService, logger: Logger);
9
9
  createBackupInDirectory(): Promise<void>;
10
10
  downloadBackup(res: any): Promise<StreamableFile>;