homebridge-config-ui-x 5.0.0-beta.5 → 5.0.0-beta.51

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 (310) hide show
  1. package/CHANGELOG.md +317 -20
  2. package/CONTRIBUTING.md +5 -4
  3. package/LICENSE +1 -1
  4. package/config.schema.json +34 -144
  5. package/dist/bin/fork.js +17 -7
  6. package/dist/bin/fork.js.map +1 -1
  7. package/dist/bin/hb-service.d.ts +2 -2
  8. package/dist/bin/hb-service.js +68 -57
  9. package/dist/bin/hb-service.js.map +1 -1
  10. package/dist/bin/platforms/win32.js +4 -2
  11. package/dist/bin/platforms/win32.js.map +1 -1
  12. package/dist/bin/standalone.js +18 -7
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +2 -2
  15. package/dist/core/auth/auth.controller.js.map +1 -1
  16. package/dist/core/auth/auth.module.js +1 -1
  17. package/dist/core/auth/auth.module.js.map +1 -1
  18. package/dist/core/auth/auth.service.js +10 -10
  19. package/dist/core/auth/auth.service.js.map +1 -1
  20. package/dist/core/auth/jwt.strategy.d.ts +3 -1
  21. package/dist/core/config/config.service.d.ts +4 -6
  22. package/dist/core/config/config.service.js +6 -9
  23. package/dist/core/config/config.service.js.map +1 -1
  24. package/dist/core/config/config.startup.js +2 -2
  25. package/dist/core/config/config.startup.js.map +1 -1
  26. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  27. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  28. package/dist/index.js +6 -67
  29. package/dist/index.js.map +1 -1
  30. package/dist/main.js +1 -1
  31. package/dist/main.js.map +1 -1
  32. package/dist/modules/accessories/accessories.controller.js +5 -5
  33. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  34. package/dist/modules/accessories/accessories.service.js +7 -6
  35. package/dist/modules/accessories/accessories.service.js.map +1 -1
  36. package/dist/modules/backup/backup.controller.js +7 -7
  37. package/dist/modules/backup/backup.controller.js.map +1 -1
  38. package/dist/modules/backup/backup.service.js +18 -78
  39. package/dist/modules/backup/backup.service.js.map +1 -1
  40. package/dist/modules/child-bridges/child-bridges.service.js +0 -7
  41. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  42. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  43. package/dist/modules/config-editor/config-editor.controller.js +8 -8
  44. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  45. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  46. package/dist/modules/config-editor/config-editor.service.js +6 -6
  47. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  48. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +11 -9
  49. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  50. package/dist/modules/log/log.gateway.d.ts +2 -1
  51. package/dist/modules/log/log.gateway.js.map +1 -1
  52. package/dist/modules/log/log.service.js +3 -3
  53. package/dist/modules/log/log.service.js.map +1 -1
  54. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  55. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  56. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  57. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  58. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +3 -3
  59. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  60. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  61. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  62. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  63. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  64. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  65. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  66. package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
  67. package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
  68. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  69. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  70. package/dist/modules/plugins/plugins.controller.js +4 -4
  71. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  72. package/dist/modules/plugins/plugins.service.d.ts +3 -1
  73. package/dist/modules/plugins/plugins.service.js +127 -83
  74. package/dist/modules/plugins/plugins.service.js.map +1 -1
  75. package/dist/modules/server/server.controller.d.ts +22 -2
  76. package/dist/modules/server/server.controller.js +86 -18
  77. package/dist/modules/server/server.controller.js.map +1 -1
  78. package/dist/modules/server/server.service.d.ts +24 -6
  79. package/dist/modules/server/server.service.js +165 -66
  80. package/dist/modules/server/server.service.js.map +1 -1
  81. package/dist/modules/status/status.controller.d.ts +0 -1
  82. package/dist/modules/status/status.controller.js +3 -4
  83. package/dist/modules/status/status.controller.js.map +1 -1
  84. package/dist/modules/status/status.gateway.d.ts +1 -1
  85. package/dist/modules/status/status.service.d.ts +1 -1
  86. package/dist/modules/status/status.service.js +17 -41
  87. package/dist/modules/status/status.service.js.map +1 -1
  88. package/dist/modules/users/users.controller.js +7 -7
  89. package/dist/modules/users/users.controller.js.map +1 -1
  90. package/dist/self-check.js +6 -6
  91. package/dist/self-check.js.map +1 -1
  92. package/package.json +42 -40
  93. package/public/3rdpartylicenses.txt +87 -61
  94. package/public/assets/hap-icons/airpurifier.svg +49 -16
  95. package/public/assets/hap-icons/airquality.svg +24 -13
  96. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  97. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  98. package/public/assets/hap-icons/door-closed.svg +32 -2
  99. package/public/assets/hap-icons/door-open.svg +48 -2
  100. package/public/assets/hap-icons/fan-off.svg +24 -13
  101. package/public/assets/hap-icons/fan-on.svg +24 -13
  102. package/public/assets/hap-icons/garagedoor.svg +24 -13
  103. package/public/assets/hap-icons/humidity.svg +24 -13
  104. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  105. package/public/assets/hap-icons/leaksensor.svg +52 -2
  106. package/public/assets/hap-icons/light.svg +47 -28
  107. package/public/assets/hap-icons/lightbulb.svg +24 -13
  108. package/public/assets/hap-icons/lock-locked.svg +24 -13
  109. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  110. package/public/assets/hap-icons/motionsensor.svg +100 -2
  111. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  112. package/public/assets/hap-icons/outlet.svg +24 -13
  113. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  114. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  115. package/public/assets/hap-icons/smokesensor.svg +42 -9
  116. package/public/assets/hap-icons/speaker.svg +29 -13
  117. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  118. package/public/assets/hap-icons/switch.svg +24 -13
  119. package/public/assets/hap-icons/television.svg +15 -4
  120. package/public/assets/hap-icons/temperature.svg +24 -13
  121. package/public/assets/hap-icons/unknown.svg +24 -13
  122. package/public/assets/hap-icons/valve-generic.svg +27 -16
  123. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  124. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  125. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  126. package/public/assets/hap-icons/window-closed.svg +85 -2
  127. package/public/assets/hap-icons/window-open.svg +136 -2
  128. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  129. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  130. package/public/assets/homebridge-color-round.svg +36 -1
  131. package/public/assets/homebridge-logo.svg +11 -1
  132. package/public/assets/mask-icon.svg +5 -1
  133. package/public/chunk-4ANMJJ3Y.js +1 -0
  134. package/public/chunk-4ASVYUZP.js +1 -0
  135. package/public/chunk-4GO2ER3F.js +1 -0
  136. package/public/chunk-4MDIQGUS.js +6 -0
  137. package/public/chunk-4ODGBS6J.js +1 -0
  138. package/public/chunk-5PONL6FC.js +1 -0
  139. package/public/chunk-5ZFJ4INX.js +1 -0
  140. package/public/chunk-6LV4FEWJ.js +1 -0
  141. package/public/chunk-7BDTDCEB.js +5 -0
  142. package/public/chunk-7PQEY6AT.js +1 -0
  143. package/public/chunk-7VOWKBC5.js +1 -0
  144. package/public/chunk-AJVPO262.js +1 -0
  145. package/public/chunk-ATKY7BPX.js +1 -0
  146. package/public/chunk-AWS7TJOY.js +1 -0
  147. package/public/chunk-AZRFXNOQ.js +1 -0
  148. package/public/chunk-CBCEQDGK.js +1 -0
  149. package/public/chunk-CF74UVXM.js +1 -0
  150. package/public/chunk-DMDPOVJW.js +1 -0
  151. package/public/chunk-E4TY3GD7.js +1 -0
  152. package/public/chunk-EC7UWAIJ.js +1 -0
  153. package/public/{chunk-JZZQRLNW.js → chunk-EDFYZGGZ.js} +1 -1
  154. package/public/chunk-EJHOKTHW.js +1 -0
  155. package/public/chunk-EMSBT2VW.js +1 -0
  156. package/public/chunk-F5HFYQPC.js +1 -0
  157. package/public/chunk-FGRVUXCU.js +1 -0
  158. package/public/{chunk-D6RX5SPU.js → chunk-FPILNIO7.js} +2 -2
  159. package/public/chunk-FXH7UJ5I.js +1 -0
  160. package/public/chunk-GKJDQJXY.js +32 -0
  161. package/public/chunk-GKS2WGAQ.js +1 -0
  162. package/public/chunk-H7QJNST5.js +1 -0
  163. package/public/chunk-HBOJTK3W.js +1 -0
  164. package/public/chunk-HSF575TE.js +1 -0
  165. package/public/chunk-I4RJOFJA.js +1 -0
  166. package/public/chunk-IBW35LGZ.js +1 -0
  167. package/public/chunk-IJOPQHDM.js +5 -0
  168. package/public/chunk-JZIPYGE6.js +1 -0
  169. package/public/chunk-KGJAZDYN.js +14 -0
  170. package/public/chunk-KN3QRU4A.js +1 -0
  171. package/public/chunk-L2R4XPOU.js +1 -0
  172. package/public/chunk-LHRPSEZP.js +1 -0
  173. package/public/chunk-LT62K2G6.js +1 -0
  174. package/public/{chunk-GETFKFI6.js → chunk-NHG4TUCE.js} +1 -1
  175. package/public/chunk-NQKVHBGX.js +1 -0
  176. package/public/chunk-NUX2WN3X.js +7 -0
  177. package/public/{chunk-WHJSVGC7.js → chunk-O6CWJLIA.js} +1 -1
  178. package/public/{chunk-7EUQWCP5.js → chunk-OH2VPUYU.js} +1 -1
  179. package/public/chunk-OIIFJ7L5.js +1 -0
  180. package/public/chunk-OZNUTRGZ.js +1 -0
  181. package/public/chunk-PPKGVJBE.js +23 -0
  182. package/public/{chunk-EA5J2VEJ.js → chunk-PWYRMEUF.js} +1 -1
  183. package/public/chunk-Q4TOTCFN.js +1 -0
  184. package/public/chunk-QYC6YOSS.js +1 -0
  185. package/public/chunk-QZOMUMX6.js +1 -0
  186. package/public/chunk-R2YGI2OS.js +1 -0
  187. package/public/chunk-R35OKBR7.js +1 -0
  188. package/public/chunk-RGZ4UMYA.js +1 -0
  189. package/public/chunk-RHAWMCG6.js +1 -0
  190. package/public/{chunk-CCUID66K.js → chunk-RJ6HXANU.js} +1 -1
  191. package/public/chunk-RLOJ4URV.js +1 -0
  192. package/public/chunk-RMQTDYIN.js +1 -0
  193. package/public/chunk-RVTJXBND.js +1 -0
  194. package/public/chunk-RZ7AYZQX.js +1 -0
  195. package/public/{chunk-SJHJKPSQ.js → chunk-S7LSMLK2.js} +1 -1
  196. package/public/chunk-TF3VIHQQ.js +1 -0
  197. package/public/chunk-TRKPIOD5.js +1 -0
  198. package/public/chunk-TXZ2N2XM.js +1 -0
  199. package/public/chunk-UCAC3YJL.js +20 -0
  200. package/public/{chunk-BKUGARB4.js → chunk-UY5XIM7B.js} +1 -1
  201. package/public/chunk-VIPLB6ON.js +2 -0
  202. package/public/chunk-XNFEKMGG.js +1 -0
  203. package/public/chunk-XR25UPXG.js +1 -0
  204. package/public/{chunk-NW6AFAD7.js → chunk-XRJZ7K7S.js} +1 -1
  205. package/public/chunk-XSKOJB4V.js +1 -0
  206. package/public/chunk-Y54VXXJK.js +1 -0
  207. package/public/{chunk-6TCHCTXZ.js → chunk-YKBVU6AV.js} +1 -1
  208. package/public/chunk-YUORH5KC.js +1 -0
  209. package/public/chunk-Z2STW2WN.js +1 -0
  210. package/public/{chunk-QE7DO6J3.js → chunk-Z4VQJOCM.js} +2 -2
  211. package/public/chunk-ZFCY3QWG.js +1 -0
  212. package/public/chunk-ZJLAMLYN.js +1 -0
  213. package/public/{chunk-5S4H26Y6.js → chunk-ZMPWO4WI.js} +1 -1
  214. package/public/chunk-ZTTWZU4Q.js +8 -0
  215. package/public/{chunk-WNWWUCCZ.js → chunk-ZV6IGHL6.js} +1 -1
  216. package/public/index.html +2 -2
  217. package/public/main-MNVDWH2C.js +1 -0
  218. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  219. package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  220. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  221. package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  222. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  223. package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  224. package/public/styles-CJ5TSDXW.css +1 -0
  225. package/scripts/upgrade-install-plugin.sh +1 -1
  226. package/public/chunk-3IX3CLER.js +0 -1
  227. package/public/chunk-3YKYXC2T.js +0 -1
  228. package/public/chunk-4DLA2ICF.js +0 -1
  229. package/public/chunk-4WTXJHZA.js +0 -5
  230. package/public/chunk-5HCG4CER.js +0 -1
  231. package/public/chunk-5XU3C2P2.js +0 -1
  232. package/public/chunk-6I6PSM5Y.js +0 -1
  233. package/public/chunk-72QXF2GF.js +0 -1
  234. package/public/chunk-74VT5JYS.js +0 -1
  235. package/public/chunk-7DTAFWJ7.js +0 -1
  236. package/public/chunk-7JR63ERC.js +0 -14
  237. package/public/chunk-7K5J3AOO.js +0 -1
  238. package/public/chunk-A7YWFX6I.js +0 -1
  239. package/public/chunk-BIDQZJXT.js +0 -1
  240. package/public/chunk-BNVAYTYZ.js +0 -8
  241. package/public/chunk-BPMSJ2VF.js +0 -1
  242. package/public/chunk-BVDMEFSJ.js +0 -1
  243. package/public/chunk-BVK7NCGF.js +0 -1
  244. package/public/chunk-CNJMINEX.js +0 -1
  245. package/public/chunk-DNLDZVVB.js +0 -1
  246. package/public/chunk-F3EORWUJ.js +0 -1
  247. package/public/chunk-G4CGNDAD.js +0 -1
  248. package/public/chunk-G4TRVUCL.js +0 -1
  249. package/public/chunk-HSJSWZHD.js +0 -1
  250. package/public/chunk-I544XQGS.js +0 -1
  251. package/public/chunk-J26JMISE.js +0 -20
  252. package/public/chunk-J3XWQZ5N.js +0 -1
  253. package/public/chunk-JBM7KQHD.js +0 -1
  254. package/public/chunk-KJHDP3ZC.js +0 -1
  255. package/public/chunk-KPVA6CSL.js +0 -1
  256. package/public/chunk-KQJ7ONUG.js +0 -1
  257. package/public/chunk-LBTLF3MZ.js +0 -6
  258. package/public/chunk-LQ6YDB4A.js +0 -1
  259. package/public/chunk-M3N7PSSC.js +0 -1
  260. package/public/chunk-MP3LZHQU.js +0 -1
  261. package/public/chunk-MSXXP7RE.js +0 -1
  262. package/public/chunk-NZNNTHFQ.js +0 -1
  263. package/public/chunk-ORPWYWCL.js +0 -5
  264. package/public/chunk-OZ6IXX3E.js +0 -1
  265. package/public/chunk-QHPDGSZ6.js +0 -1
  266. package/public/chunk-QOKEWT7C.js +0 -1
  267. package/public/chunk-RD4QIA6H.js +0 -1
  268. package/public/chunk-RN75UMGP.js +0 -1
  269. package/public/chunk-S3XAJEVU.js +0 -1
  270. package/public/chunk-SIQ2FHQL.js +0 -1
  271. package/public/chunk-TCSXGQNF.js +0 -1
  272. package/public/chunk-TWQP6XJT.js +0 -1
  273. package/public/chunk-TXOB7R5K.js +0 -7
  274. package/public/chunk-UC2NMLJ6.js +0 -1
  275. package/public/chunk-UCB7UE24.js +0 -1
  276. package/public/chunk-UFDZ4SFB.js +0 -1
  277. package/public/chunk-UG5DK2RQ.js +0 -2
  278. package/public/chunk-W4MTVPF3.js +0 -23
  279. package/public/chunk-WHJOLAED.js +0 -1
  280. package/public/chunk-WJNSNBGE.js +0 -1
  281. package/public/chunk-WRDG5DTE.js +0 -1
  282. package/public/chunk-XDGJOFX2.js +0 -1
  283. package/public/chunk-XEVIOBJR.js +0 -1
  284. package/public/chunk-XNCOF5TV.js +0 -1
  285. package/public/chunk-XXJO3JY3.js +0 -1
  286. package/public/chunk-YJ7ICNKX.js +0 -1
  287. package/public/chunk-Z7AUXG5E.js +0 -1
  288. package/public/chunk-ZBNZILWV.js +0 -1
  289. package/public/chunk-ZHMC7KSZ.js +0 -1
  290. package/public/chunk-ZJ4LBIOD.js +0 -32
  291. package/public/chunk-ZT23DWNL.js +0 -1
  292. package/public/chunk-ZYZBMA5E.js +0 -1
  293. package/public/main-TQOXBTSD.js +0 -1
  294. package/public/media/01-RQ3S2L53.png +0 -0
  295. package/public/media/02-VNCG2I2A.png +0 -0
  296. package/public/media/03-HI42L4ZG.png +0 -0
  297. package/public/media/04-FJLL55LZ.png +0 -0
  298. package/public/media/05-V3EO6SPT.png +0 -0
  299. package/public/media/06-EOJZCQZN.png +0 -0
  300. package/public/media/07-KMKB5PBD.png +0 -0
  301. package/public/media/08-UQJRF6B2.png +0 -0
  302. package/public/media/09-2DJQFRHH.png +0 -0
  303. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  304. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  305. package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
  306. package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
  307. package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
  308. package/public/scripts-6GVLYD7F.js +0 -62
  309. package/public/styles-EG5MFQEM.css +0 -1
  310. /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
package/CHANGELOG.md CHANGED
@@ -6,10 +6,124 @@ All notable changes to `homebridge-config-ui-x` will be documented in this file.
6
6
 
7
7
  ### ⚠️ Breaking Changes
8
8
 
9
- - This version of the Homebridge UI will drop support for:
10
- - Node.js `v16` and earlier, so please update to `v18` or `v20` or `v22` - [more info on updating](https://github.com/homebridge/homebridge/wiki/How-To-Update-Node.js)
11
- - Raspberry Pi devices running on the `armv6` architecture (like the Pi 1 and Pi Zero) - please update your hardware
12
- - Instances using `pnpm` as the package manager - consider updating your Homebridge instance to use npm instead - [more info on updating](https://github.com/homebridge/homebridge-apt-pkg/blob/latest/README.md#using-apt)
9
+ - This version of the Homebridge UI:
10
+ - Is compatible with Homebridge `v1` and `v2-beta`
11
+ - Drops support for Node.js `v18` and earlier, so please update to `v20` or `v22` - [more info on updating](https://github.com/homebridge/homebridge/wiki/How-To-Update-Node.js)
12
+ - Drops support for Raspberry Pi devices running on the `armv6` architecture (like the Pi 1 and Pi Zero) - please update your hardware
13
+ - Drops support for instances using `pnpm` as the package manager - consider updating your Homebridge instance to use npm instead - [more info on updating](https://github.com/homebridge/homebridge-apt-pkg/blob/latest/README.md#using-apt)
14
+
15
+ ### UI Changes
16
+
17
+ - updates to the `fi.json` language file (#2253) (@l1500s)
18
+ - update default dashboard layout
19
+
20
+ ### Other Changes
21
+
22
+ - retire use of `pnpm` and code references
23
+ - bump the default node version from 20 to 22
24
+ - make terminal enabled by default on new macOS hb-service installs
25
+ - update `fastify` and `nestjs` dependencies
26
+ - remove `log.tail` and `log.systemd` ui settings
27
+ - set service mode as default, remove standalone
28
+
29
+ ### Homebridge Dependencies
30
+
31
+ - `@homebridge/hap-client` @ `v2.0.5`
32
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.12.0-beta`
33
+ - `@homebridge/plugin-ui-utils` @ `v2.0.1`
34
+
35
+ ## v4.72.0 (2025-03-09)
36
+
37
+ ### UI Changes
38
+
39
+ - updates to the `th.json` language file (#2365) (@tomzt)
40
+ - updates to the `es.json` language file (#2376) (@kyrokode)
41
+ - updates to the `id.json` language file (#2377) (@dwaan)
42
+
43
+ ### Other Changes
44
+
45
+ - updated dependencies
46
+
47
+ ### Homebridge Dependencies
48
+
49
+ - `@homebridge/hap-client` @ `v2.0.5`
50
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
51
+ - `@homebridge/plugin-ui-utils` @ `v2.0.1`
52
+
53
+ ## v4.71.2 (2025-02-23)
54
+
55
+ ### Other Changes
56
+
57
+ - fix alpha/beta update checks for bundled ui (#2363) (@dnicolson)
58
+ - fix ui config validation when default theme selected
59
+
60
+ ### Homebridge Dependencies
61
+
62
+ - `@homebridge/hap-client` @ `v2.0.5`
63
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
64
+ - `@homebridge/plugin-ui-utils` @ `v2.0.1`
65
+
66
+ ## v4.71.1 (2025-02-22)
67
+
68
+ ### UI Changes
69
+
70
+ - updates to the `uk.json` language file (#2352) (@xrust83)
71
+ - add missing add section button to plugin config screens
72
+ - improve active/stale bridge detection
73
+ - fix error state on plugin search input
74
+
75
+ ### Other Changes
76
+
77
+ - re-add `reflect-metadata` to `dependencies` in `package.json`
78
+
79
+ ### Homebridge Dependencies
80
+
81
+ - `@homebridge/hap-client` @ `v2.0.5`
82
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
83
+ - `@homebridge/plugin-ui-utils` @ `v2.0.1`
84
+
85
+ ## v4.71.0 (2025-02-09)
86
+
87
+ ### UI Changes
88
+
89
+ - updates to the `uk.json` language file (#2348) (@xrust83)
90
+ - allow docker users to disable the UI terminal via env
91
+ - set `HOMEBRIDGE_CONFIG_UI_TERMINAL_ENABLED=0`
92
+ - note that this has not been extensively tested
93
+ - fix opening control accessory modal on mobile devices
94
+
95
+ ### Other Changes
96
+
97
+ - update `@ng-formworks/` dependencies
98
+
99
+ ### Homebridge Dependencies
100
+
101
+ - `@homebridge/hap-client` @ `v2.0.5`
102
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
103
+ - `@homebridge/plugin-ui-utils` @ `v2.0.1`
104
+
105
+ ## v4.70.0 (2025-02-08)
106
+
107
+ ### UI Changes
108
+
109
+ - updates to the `th.json` language file (#2338) (@tomzt)
110
+ - improvements to long-click accessory control
111
+ - also fixes accessory and room rearranging on the accessories page
112
+ - accessory and status page layout will now be locked by default on each visit
113
+ - add message for docker/synology users in node update info modal
114
+
115
+ ### Other Changes
116
+
117
+ - append `--omit=dev` to `npm i` commands
118
+ - clean up `npm` cache before any install/uninstall
119
+
120
+ ### Homebridge Dependencies
121
+
122
+ - `@homebridge/hap-client` @ `v2.0.5`
123
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
124
+ - `@homebridge/plugin-ui-utils` @ `v2.0.1`
125
+
126
+ ## v4.69.0 (2025-01-25)
13
127
 
14
128
  ### ⚠️ Plugin Config Validation
15
129
 
@@ -25,36 +139,219 @@ If you have a plugin which can be configured multiple times, then an icon will b
25
139
 
26
140
  Plugin developers:
27
141
 
28
- - Please do not rely on this validation and assume that a user's configuration will be valid
29
- - All plugins should still validate a configuration when the plugin is started
142
+ - Please do not rely on this validation and assume that a user's configuration will be valid: you should still validate the user's config on plugin startup
30
143
  - Remember that some users do not use the UI at all, and other users may prefer to configure using raw `JSON` rather than config screens
144
+ - For custom UI screens, the validation icon will be hidden when the save button is disabled (using `homebridge.disableSaveButton()` from `@homebridge/plugin-ui-utils`)
31
145
  - Please report any cases where the validation is not working as expected
32
146
 
33
147
  ### UI Changes
34
148
 
35
- - updates to the `de.json` language file (#2249) (@Staubgeborener)
36
- - implement and allow switching to scoped plugins
149
+ - updates to the `uk.json` language file (#2312) (@xrust83)
150
+ - updates to the `cs.json` language file (#2332) (@DavidHuljak)
151
+ - fix typos in hb/ui settings schemas (#2317) (@dnicolson)
152
+ - fix margins in update plugin modal
37
153
  - add plugin config validation functionality
38
154
  - refactor status and child bridge widgets
39
- - update default dashboard layout
155
+ - the existing 'status' widget has been renamed to 'update info' widget
156
+ - the existing 'child bridges' widget has been renamed to 'bridges' widget
157
+ - the homebridge status (from the old status widget) is now shown as a bridge in the new bridges widget
158
+ - node update information has been added to the new update info widget
159
+ - a widget option has been added to hide node update information: this may be useful for docker/synology users
160
+ - homebridge and ui version information has been moved from the footer to the new update info widget
161
+ - add 'homebridge name' setting to settings page
162
+ - migrate bootstrap from `v4` to `v5`
163
+ - fix plugin config/bridge screens for certain plugins
164
+ - add lighting mode option for terminal and log widgets
165
+ - only available when the UI is already in light mode
166
+ - fix long press on mobile devices
167
+ - control fan rotation direction from the ui
40
168
 
41
169
  ### Other Changes
42
170
 
43
- - update screenshots (for readme file)
44
- - retire use of `pnpm` and code references
45
- - enable strict config validation for the UI
46
- - bump the default node version from 20 to 22
47
- - make terminal enabled by default on new macOS hb-service installs
48
- - update node pty beta `v0.12.0-beta`
49
- - update angular from `v18` to `v19`
50
- - update `@homebridge/plugin-ui-utils` to `v2.0.0`
171
+ - improvements to GH actions and build processes (@NorthernMan54)
51
172
 
52
173
  ### Homebridge Dependencies
53
174
 
54
- - `@homebridge/hap-client` @ `v2.0.5-beta`
55
- - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.12.0-beta`
175
+ - `@homebridge/hap-client` @ `v2.0.5`
176
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
177
+ - `@homebridge/plugin-ui-utils` @ `v2.0.1`
178
+
179
+ ## v4.68.0 (2025-01-08)
180
+
181
+ Happy 2025 to all our users! 🎉
182
+
183
+ ### UI Changes
184
+
185
+ - updates to the `cs.json` language file (#2311) (@DavidHuljak)
186
+ - improved messaging on plugin child bridge modal
187
+ - further improvements to plugin search
188
+ - implement and allow switching to scoped plugins
189
+ - merge plugin info and verified modals
190
+ - condensing plugin card into title + three lines of description
191
+ - consistent formatting of child bridge names across the ui
192
+ - general improvements across the ui
193
+ - status page:
194
+ - individual widget setting form design made consistent with other forms
195
+ - added pairing status to qr code widget
196
+ - plugins page:
197
+ - visual improvements to plugin child bridge settings modal
198
+ - allow plugins to disable/enable the save button in custom uis (see below section)
199
+ - allow configuring [multiple accessories on the same child bridge](https://github.com/homebridge/homebridge/wiki/Child-Bridges#multiple-accessories-on-the-same-child-bridge) via the ui
200
+ - accessories page:
201
+ - changed accessory spanner icon to info icon (more descriptive)
202
+ - accessory info modal redesigned and provides more info where possible like the accessory UUID (including a link to remove from the cache)
203
+ - added support modal with some info about rooms and accessories (visible on desktop)
204
+ - json config page:
205
+ - redesigned restore modal to be more consistent with other modals
206
+ - settings page:
207
+ - chevron icons replaced with arrow-right icons
208
+ - removed restore modal from settings page and is accessible from the backup modal
209
+ - backup modal redesigned to be more consistent with other modals
210
+ - added new display -> menu mode setting which allows keeping the side menu from expanding out on desktop
211
+ - redesigned and improved accessories and bridges sections and modals
212
+ - users page:
213
+ - add user and edit user modals redesigned to be more consistent with other modals
214
+ - user card updated with icon buttons for edit/delete rather than text buttons
215
+
216
+ ### Plugin Custom UI Changes
217
+
218
+ The UI has recently been updated with `@homebridge/plugin-ui-utils` @ `v2.0.0`, which includes a new feature to allow plugin developers to dynamically enable and disable the `Save` button in the custom UI modal.
219
+ Two new methods have been added for this purpose:
220
+
221
+ - `homebridge.disableSaveButton()`
222
+ - `homebridge.enableSaveButton()`
223
+
224
+ Developers: to maintain compatibility with older versions of the Homebridge UI, it is recommended to check if the methods exist before calling them in your custom UIs:
225
+
226
+ - `homebridge.disableSaveButton?.()`
227
+ - `homebridge.enableSaveButton?.()`
228
+
229
+ ### Other Changes
230
+
231
+ - auto-fix ui theme setting property if existing value is not valid
232
+ - do not allow `armv6l` users to update to UI `v5`
233
+
234
+ ### Homebridge Dependencies
235
+
236
+ - `@homebridge/hap-client` @ `v2.0.5`
237
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
56
238
  - `@homebridge/plugin-ui-utils` @ `v2.0.0`
57
239
 
240
+ ## v4.67.0 (2024-12-28)
241
+
242
+ ### UI Changes
243
+
244
+ - add explanation of deleting child bridges when un-toggling
245
+ - add filtering to search to improve results (#2286) (@justjam2013) (fixes [#2266](https://github.com/homebridge/homebridge-config-ui-x/issues/2266))
246
+ - fix spacing issue with hidden accessories
247
+ - make margins consistent of un/lock buttons on status screen
248
+ - fix ui not restarting properly after updating the ui
249
+ - use broom icon in remove bridge accessories (to match similar modal from plugin menu)
250
+
251
+ ### Other Changes
252
+
253
+ - improve and finish up previous angular migration
254
+ - update `hap-client` + `plugin-ui-utils` hb dependencies
255
+ - update dependencies
256
+ - improve lint sorting of imports
257
+
258
+ ### Homebridge Dependencies
259
+
260
+ - `@homebridge/hap-client` @ `v2.0.5`
261
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
262
+ - `@homebridge/plugin-ui-utils` @ `v2.0.0`
263
+
264
+ ## v4.66.0 (2024-12-25)
265
+
266
+ ### UI Changes
267
+
268
+ - fix verified plugins link in support module (fixes [#2295](https://github.com/homebridge/homebridge-config-ui-x/issues/2295))
269
+ - add missing modal footer `<div>`s to accessory control modals
270
+ - fix radio button groups in certain accessory control modals (fixes [#2294](https://github.com/homebridge/homebridge-config-ui-x/issues/2294))
271
+
272
+ ### Other Changes
273
+
274
+ - format svg files nicely as part of lint
275
+ - upgrade angular from `v18` to `v19`
276
+ - delete unpaired bridges when toggling bridges off (#2284) (@justjam2013) (fixes [#2257](https://github.com/homebridge/homebridge-config-ui-x/issues/2257))
277
+
278
+ ### Homebridge Dependencies
279
+
280
+ - `@homebridge/hap-client` @ `v1.10.2`
281
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
282
+ - `@homebridge/plugin-ui-utils` @ `v1.0.3`
283
+
284
+ ## v4.65.2 (2024-12-15)
285
+
286
+ ### UI Changes
287
+
288
+ - Rollback recent changes to plugin search (#2289) (@justjam2013)
289
+
290
+ ### Homebridge Dependencies
291
+
292
+ - `@homebridge/hap-client` @ `v1.10.2`
293
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
294
+ - `@homebridge/plugin-ui-utils` @ `v1.0.3`
295
+
296
+ ## v4.65.1 (2024-12-13)
297
+
298
+ ### UI Changes
299
+
300
+ - updates to the `th.json` language file (#2271) (@tomzt)
301
+ - updates to the `de.json` language file (#2250) (@Staubgeborener)
302
+ - Remove unrelated plugins from search (#2272) (@justjam2013)
303
+
304
+ ### Other Changes
305
+
306
+ - fix types + update dependencies
307
+ - fix attach artifacts to release workflow
308
+
309
+ ### Homebridge Dependencies
310
+
311
+ - `@homebridge/hap-client` @ `v1.10.2`
312
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
313
+ - `@homebridge/plugin-ui-utils` @ `v1.0.3`
314
+
315
+ ## v4.65.0 (2024-12-08)
316
+
317
+ ### UI Changes
318
+
319
+ - updates to the `uk.json` language file (#2262) (@xrust83)
320
+ - logo and `homebridge` text should link to status page
321
+ - Add icons for shower head and water faucet valve types (#2267) (@justjam2013)
322
+ - Removed conditional for displaying search exit component (#2269) (@justjam2013)
323
+
324
+ ### Other Changes
325
+
326
+ - Fix typo in console message (#2264) (@markholland)
327
+ - updated dependencies
328
+
329
+ ### Homebridge Dependencies
330
+
331
+ - `@homebridge/hap-client` @ `v1.10.2`
332
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
333
+ - `@homebridge/plugin-ui-utils` @ `v1.0.3`
334
+
335
+ ## v4.64.0 (2024-11-30)
336
+
337
+ ### UI Changes
338
+
339
+ - updates to the `de.json` language file (#2249) (@Staubgeborener)
340
+ - updates to the `ko.json` language file (#2251) (@alphaorderly)
341
+ - updates to the `uk.json` language file (#2255) (@xrust83)
342
+ - add reload menu item when using as a PWA
343
+
344
+ ### Other Changes
345
+
346
+ - dependency updates
347
+ - fix npm search max character limit
348
+
349
+ ### Homebridge Dependencies
350
+
351
+ - `@homebridge/hap-client` @ `v1.10.2`
352
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
353
+ - `@homebridge/plugin-ui-utils` @ `v1.0.3`
354
+
58
355
  ## v4.63.0 (2024-11-17)
59
356
 
60
357
  ### UI Changes
@@ -553,7 +850,7 @@ Merry Christmas and Happy Holidays to all our users celebrating later this month
553
850
  - Various changes to the plugin cards
554
851
  - Plugin settings now accessible from the plugin card menu, called 'Config'
555
852
  - Icons: plugin devs can request an icon for their verified plugin at:
556
- - https://github.com/homebridge/verified/issues/new/choose
853
+ - https://github.com/homebridge/plugins/issues/new/choose
557
854
 
558
855
  ### UI Changes
559
856
 
package/CONTRIBUTING.md CHANGED
@@ -2,11 +2,12 @@
2
2
 
3
3
  Pull requests are welcome from everyone.
4
4
 
5
- This project is written in [TypeScript](https://www.typescriptlang.org/) and uses [Nest.js](https://nestjs.com/) for the server and [Angular](https://angular.io/) for the client UI.
5
+ This project is written in [TypeScript](https://www.typescriptlang.org/) and uses [Nest.js](https://nestjs.com/) for the server and [Angular](https://angular.dev/) for the client UI.
6
6
 
7
7
  ## Getting Setup
8
8
 
9
- _Note: The Raspberry Pi and similar boards do not meet the memory or CPU requirements required to set up the development environment._
9
+ > [!NOTE]
10
+ > The Raspberry Pi and similar boards do not meet the memory or CPU requirements required to set up the development environment.
10
11
 
11
12
  First, remove any globally installed versions of `homebridge-config-ui-x` you may have installed on your development machine:
12
13
 
@@ -38,7 +39,7 @@ Symlink your development directory to global:
38
39
  npm link
39
40
  ```
40
41
 
41
- If you don't have homebridge installed already run:
42
+ If you don't have Homebridge installed already run:
42
43
 
43
44
  ```sh
44
45
  npm install -g homebridge
@@ -52,7 +53,7 @@ This will start the Angular development server on port `4200` and a standalone s
52
53
  npm run watch
53
54
  ```
54
55
 
55
- You should now be able to navigate to `https://localhost:4200` in your browser which will connect to your `homebridge` instance running on port `8581`. The UI will automatically reload whenever you make changes to the code.
56
+ You should now be able to navigate to `https://localhost:4200` in your browser which will connect to your Homebridge instance running on port `8581`. The UI will automatically reload whenever you make changes to the code.
56
57
 
57
58
  ## Running Tests
58
59
 
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023-2024 Homebridge
3
+ Copyright (c) 2023-2025 Homebridge
4
4
  Copyright (c) 2017-2023 oznu <dev@oz.nu>
5
5
  Copyright (c) 2017 Michael Kellsy
6
6