homebridge-config-ui-x 5.0.0-beta.9 → 5.0.0-beta.90

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 (316) hide show
  1. package/CHANGELOG.md +428 -31
  2. package/CONTRIBUTING.md +5 -4
  3. package/LICENSE +1 -1
  4. package/config.schema.json +37 -192
  5. package/dist/bin/hb-service.d.ts +2 -2
  6. package/dist/bin/hb-service.js +51 -50
  7. package/dist/bin/hb-service.js.map +1 -1
  8. package/dist/bin/platforms/darwin.js +2 -2
  9. package/dist/bin/platforms/darwin.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 +1 -0
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +15 -3
  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 +23 -11
  22. package/dist/core/config/config.service.js +39 -19
  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 -77
  29. package/dist/index.js.map +1 -1
  30. package/dist/main.js +2 -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 +8 -7
  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 +19 -79
  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 +84 -67
  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.d.ts +1 -1
  49. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +13 -11
  50. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  51. package/dist/modules/log/log.gateway.d.ts +2 -1
  52. package/dist/modules/log/log.gateway.js.map +1 -1
  53. package/dist/modules/log/log.service.js +3 -3
  54. package/dist/modules/log/log.service.js.map +1 -1
  55. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  56. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  57. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  58. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  59. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +3 -3
  60. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  61. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  62. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  63. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  64. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  65. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  66. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  67. package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
  68. package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
  69. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  70. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  71. package/dist/modules/plugins/plugins.controller.js +4 -4
  72. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  73. package/dist/modules/plugins/plugins.service.d.ts +4 -1
  74. package/dist/modules/plugins/plugins.service.js +168 -103
  75. package/dist/modules/plugins/plugins.service.js.map +1 -1
  76. package/dist/modules/server/server.controller.d.ts +28 -3
  77. package/dist/modules/server/server.controller.js +137 -20
  78. package/dist/modules/server/server.controller.js.map +1 -1
  79. package/dist/modules/server/server.service.d.ts +27 -6
  80. package/dist/modules/server/server.service.js +212 -66
  81. package/dist/modules/server/server.service.js.map +1 -1
  82. package/dist/modules/status/status.controller.d.ts +0 -1
  83. package/dist/modules/status/status.controller.js +3 -4
  84. package/dist/modules/status/status.controller.js.map +1 -1
  85. package/dist/modules/status/status.gateway.d.ts +1 -1
  86. package/dist/modules/status/status.service.d.ts +1 -1
  87. package/dist/modules/status/status.service.js +17 -41
  88. package/dist/modules/status/status.service.js.map +1 -1
  89. package/dist/modules/users/users.controller.js +7 -7
  90. package/dist/modules/users/users.controller.js.map +1 -1
  91. package/dist/self-check.js +6 -6
  92. package/dist/self-check.js.map +1 -1
  93. package/package.json +45 -43
  94. package/public/3rdpartylicenses.txt +192 -109
  95. package/public/assets/hap-icons/airpurifier.svg +49 -16
  96. package/public/assets/hap-icons/airquality.svg +24 -13
  97. package/public/assets/hap-icons/co-sensor.svg +72 -0
  98. package/public/assets/hap-icons/co2-sensor.svg +72 -0
  99. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  100. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  101. package/public/assets/hap-icons/door-closed.svg +32 -2
  102. package/public/assets/hap-icons/door-open.svg +48 -2
  103. package/public/assets/hap-icons/fan-off.svg +24 -13
  104. package/public/assets/hap-icons/fan-on.svg +24 -13
  105. package/public/assets/hap-icons/garagedoor.svg +24 -13
  106. package/public/assets/hap-icons/humidity.svg +24 -13
  107. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  108. package/public/assets/hap-icons/leaksensor.svg +52 -2
  109. package/public/assets/hap-icons/light.svg +47 -28
  110. package/public/assets/hap-icons/lightbulb.svg +24 -13
  111. package/public/assets/hap-icons/lock-locked.svg +24 -13
  112. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  113. package/public/assets/hap-icons/motionsensor.svg +100 -2
  114. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  115. package/public/assets/hap-icons/outlet.svg +24 -13
  116. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  117. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  118. package/public/assets/hap-icons/smokesensor.svg +42 -9
  119. package/public/assets/hap-icons/speaker.svg +29 -13
  120. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  121. package/public/assets/hap-icons/switch.svg +24 -13
  122. package/public/assets/hap-icons/television.svg +15 -4
  123. package/public/assets/hap-icons/temperature.svg +24 -13
  124. package/public/assets/hap-icons/unknown.svg +24 -13
  125. package/public/assets/hap-icons/valve-generic.svg +27 -16
  126. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  127. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  128. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  129. package/public/assets/hap-icons/window-closed.svg +85 -2
  130. package/public/assets/hap-icons/window-open.svg +136 -2
  131. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  132. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  133. package/public/assets/homebridge-color-round.svg +36 -1
  134. package/public/assets/homebridge-logo.svg +11 -1
  135. package/public/assets/mask-icon.svg +5 -1
  136. package/public/assets/plugin-ui-utils/ui.js +3 -0
  137. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  138. package/public/chunk-2EMPNH2X.js +5 -0
  139. package/public/chunk-2RK3HZEO.js +1 -0
  140. package/public/{chunk-ENKVNFKF.js → chunk-3AF2QBDU.js} +1 -1
  141. package/public/chunk-3SQKC2TS.js +1 -0
  142. package/public/chunk-3YAYVLRD.js +1 -0
  143. package/public/chunk-42N4BQBA.js +1 -0
  144. package/public/chunk-45VPTZ2V.js +1 -0
  145. package/public/chunk-4CNFMQHX.js +1 -0
  146. package/public/chunk-4FKCTI4U.js +6 -0
  147. package/public/chunk-4V6GR2SD.js +1 -0
  148. package/public/{chunk-EA5J2VEJ.js → chunk-4VKEWS3F.js} +1 -1
  149. package/public/chunk-4XXNIIG7.js +1 -0
  150. package/public/chunk-56VIVSJU.js +1 -0
  151. package/public/chunk-5AQGPMHT.js +8 -0
  152. package/public/chunk-5GQ5LHPJ.js +1 -0
  153. package/public/chunk-5UZVX47W.js +1 -0
  154. package/public/chunk-7Y6NWNO6.js +1 -0
  155. package/public/chunk-A72PCJ6R.js +29 -0
  156. package/public/chunk-AE26NEIO.js +1 -0
  157. package/public/{chunk-QE7DO6J3.js → chunk-ANCTYTNR.js} +2 -2
  158. package/public/chunk-B6WBGOVM.js +1 -0
  159. package/public/{chunk-GR5ZC55C.js → chunk-CEC3XQIL.js} +11 -11
  160. package/public/{chunk-MPLDW2J6.js → chunk-CVKLBLXM.js} +1 -1
  161. package/public/chunk-CW7HPG62.js +1 -0
  162. package/public/chunk-D4RGGBK3.js +1 -0
  163. package/public/chunk-D6TU4SM3.js +1 -0
  164. package/public/chunk-DM5B72RZ.js +1 -0
  165. package/public/{chunk-JZZQRLNW.js → chunk-DQBVZWYJ.js} +1 -1
  166. package/public/chunk-E4XKX7UK.js +1 -0
  167. package/public/chunk-EEUYLNDO.js +5 -0
  168. package/public/chunk-EJ3RNOUF.js +1 -0
  169. package/public/chunk-EP2F3UQR.js +1 -0
  170. package/public/chunk-ET7FWSNM.js +1 -0
  171. package/public/{chunk-6TCHCTXZ.js → chunk-EWUBHGYD.js} +1 -1
  172. package/public/chunk-F7SPUPN4.js +2 -0
  173. package/public/chunk-FDPTBVVC.js +2 -0
  174. package/public/{chunk-7EUQWCP5.js → chunk-FIDKTTX5.js} +2 -2
  175. package/public/chunk-FMIYWTUO.js +1 -0
  176. package/public/chunk-FY5PL5MR.js +1 -0
  177. package/public/chunk-GGYRCAYF.js +1 -0
  178. package/public/chunk-GOW5VSYJ.js +1 -0
  179. package/public/chunk-IF56BKOM.js +1 -0
  180. package/public/chunk-IVCMNRU4.js +1 -0
  181. package/public/chunk-JFFBCK75.js +1 -0
  182. package/public/chunk-JZQGN6ID.js +1 -0
  183. package/public/{chunk-LWNID63H.js → chunk-K25HWAP5.js} +2 -2
  184. package/public/chunk-L3YFIHHA.js +1 -0
  185. package/public/{chunk-WNWWUCCZ.js → chunk-L7P4OVCU.js} +3 -3
  186. package/public/chunk-LNCIURRX.js +1 -0
  187. package/public/chunk-LPGZUTF3.js +1 -0
  188. package/public/chunk-MMXKQEQO.js +8 -0
  189. package/public/chunk-NHJTMRLT.js +1 -0
  190. package/public/chunk-NR37MAXW.js +7 -0
  191. package/public/chunk-O7MBAN56.js +1 -0
  192. package/public/chunk-P7BL7CLR.js +20 -0
  193. package/public/chunk-PA52AH7H.js +1 -0
  194. package/public/chunk-PLCPUQJZ.js +1 -0
  195. package/public/chunk-QQ5WKGNO.js +1 -0
  196. package/public/chunk-SF7DRFC6.js +1 -0
  197. package/public/chunk-SVB7PE7C.js +1 -0
  198. package/public/chunk-TPK2GQ3K.js +1 -0
  199. package/public/chunk-UT35MQIH.js +1 -0
  200. package/public/chunk-UT52O3FM.js +23 -0
  201. package/public/chunk-UVGXL5ZW.js +1 -0
  202. package/public/chunk-VB5IQKBP.js +1 -0
  203. package/public/chunk-VOOJDGMJ.js +1 -0
  204. package/public/chunk-VWFYKFR2.js +1 -0
  205. package/public/{chunk-XSDOEAMI.js → chunk-XCSR3FBC.js} +1 -1
  206. package/public/chunk-XOC6FQ7D.js +1 -0
  207. package/public/chunk-XW322JAX.js +1 -0
  208. package/public/chunk-XZIODJCL.js +1 -0
  209. package/public/chunk-Y6TXYIFY.js +7 -0
  210. package/public/chunk-YWKZ3P6I.js +1 -0
  211. package/public/chunk-YWOWWE53.js +1 -0
  212. package/public/chunk-ZE45ONWQ.js +1 -0
  213. package/public/chunk-ZOLUFCSO.js +1 -0
  214. package/public/chunk-ZVMYOL56.js +1 -0
  215. package/public/chunk-ZZCXKIGL.js +1 -0
  216. package/public/chunk-ZZNJCKGO.js +1 -0
  217. package/public/index.html +2 -2
  218. package/public/main-U47N7JMY.js +1 -0
  219. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  220. package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  221. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  222. package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  223. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  224. package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  225. package/public/polyfills-GCAZ7JAV.js +2 -0
  226. package/public/styles-PKR3EGHP.css +1 -0
  227. package/scripts/upgrade-install-plugin.sh +1 -1
  228. package/public/chunk-2JFSWT5B.js +0 -1
  229. package/public/chunk-2L7ELAST.js +0 -1
  230. package/public/chunk-2S6LQXQQ.js +0 -1
  231. package/public/chunk-33GSDLFJ.js +0 -1
  232. package/public/chunk-3IX3CLER.js +0 -1
  233. package/public/chunk-3OQBMVGJ.js +0 -1
  234. package/public/chunk-4G7JJKXC.js +0 -1
  235. package/public/chunk-4W4R6Q5O.js +0 -1
  236. package/public/chunk-4YG6EOJW.js +0 -1
  237. package/public/chunk-5ABRPQAO.js +0 -1
  238. package/public/chunk-5JQMTC6B.js +0 -1
  239. package/public/chunk-BKCPDNDQ.js +0 -1
  240. package/public/chunk-BKUGARB4.js +0 -7
  241. package/public/chunk-BPMSJ2VF.js +0 -1
  242. package/public/chunk-BVRAVCVU.js +0 -1
  243. package/public/chunk-CCUID66K.js +0 -1
  244. package/public/chunk-CNLFTFGS.js +0 -1
  245. package/public/chunk-COZI4IQZ.js +0 -1
  246. package/public/chunk-DFKBPEBJ.js +0 -1
  247. package/public/chunk-FIWNQUN6.js +0 -1
  248. package/public/chunk-HSJSWZHD.js +0 -1
  249. package/public/chunk-JJL2MTZS.js +0 -1
  250. package/public/chunk-JKN6S535.js +0 -1
  251. package/public/chunk-KQJ7ONUG.js +0 -1
  252. package/public/chunk-KSIUXDRS.js +0 -1
  253. package/public/chunk-KZATMDCZ.js +0 -6
  254. package/public/chunk-L3MK74M5.js +0 -1
  255. package/public/chunk-M2ME37TX.js +0 -8
  256. package/public/chunk-M3VCR6YB.js +0 -1
  257. package/public/chunk-M5AJDIBQ.js +0 -1
  258. package/public/chunk-MK7X7MS5.js +0 -1
  259. package/public/chunk-NBOHFRJZ.js +0 -1
  260. package/public/chunk-NHZHWKSG.js +0 -1
  261. package/public/chunk-NQVE3PCO.js +0 -1
  262. package/public/chunk-NW6AFAD7.js +0 -1
  263. package/public/chunk-NWWJ57YP.js +0 -1
  264. package/public/chunk-NZNNTHFQ.js +0 -1
  265. package/public/chunk-ORPWYWCL.js +0 -5
  266. package/public/chunk-QGKMS5A5.js +0 -1
  267. package/public/chunk-QHPDGSZ6.js +0 -1
  268. package/public/chunk-QOGRNTPH.js +0 -1
  269. package/public/chunk-QXKNQTUO.js +0 -1
  270. package/public/chunk-ROX65GNZ.js +0 -23
  271. package/public/chunk-RTYW4L3V.js +0 -1
  272. package/public/chunk-SQRHRHFP.js +0 -20
  273. package/public/chunk-T7JTTE4M.js +0 -1
  274. package/public/chunk-T7R6ZVT6.js +0 -1
  275. package/public/chunk-TCSXGQNF.js +0 -1
  276. package/public/chunk-THICF3SZ.js +0 -1
  277. package/public/chunk-TUWXLY3X.js +0 -1
  278. package/public/chunk-TXOB7R5K.js +0 -7
  279. package/public/chunk-U5ZKGWCF.js +0 -1
  280. package/public/chunk-UG5DK2RQ.js +0 -2
  281. package/public/chunk-UYFK7HVI.js +0 -1
  282. package/public/chunk-UZOK2K35.js +0 -1
  283. package/public/chunk-VDCXEJXR.js +0 -1
  284. package/public/chunk-VEBWYZYZ.js +0 -1
  285. package/public/chunk-VNARIZ6E.js +0 -1
  286. package/public/chunk-VP4MXPRG.js +0 -1
  287. package/public/chunk-VPJTE4TI.js +0 -1
  288. package/public/chunk-VPKOFODJ.js +0 -1
  289. package/public/chunk-WHJOLAED.js +0 -1
  290. package/public/chunk-WHJSVGC7.js +0 -1
  291. package/public/chunk-WQJUPQJT.js +0 -1
  292. package/public/chunk-XMYXVAEK.js +0 -1
  293. package/public/chunk-XO7XB4PL.js +0 -1
  294. package/public/chunk-XTVTI5YA.js +0 -5
  295. package/public/chunk-YSQSVKZB.js +0 -32
  296. package/public/chunk-Z5GB7FXV.js +0 -1
  297. package/public/chunk-ZT23DWNL.js +0 -1
  298. package/public/main-CNETRB3V.js +0 -1
  299. package/public/media/01-RQ3S2L53.png +0 -0
  300. package/public/media/02-VNCG2I2A.png +0 -0
  301. package/public/media/03-HI42L4ZG.png +0 -0
  302. package/public/media/04-FJLL55LZ.png +0 -0
  303. package/public/media/05-V3EO6SPT.png +0 -0
  304. package/public/media/06-EOJZCQZN.png +0 -0
  305. package/public/media/07-KMKB5PBD.png +0 -0
  306. package/public/media/08-UQJRF6B2.png +0 -0
  307. package/public/media/09-2DJQFRHH.png +0 -0
  308. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  309. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  310. package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
  311. package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
  312. package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
  313. package/public/polyfills-C6JHVXJJ.js +0 -2
  314. package/public/scripts-6GVLYD7F.js +0 -62
  315. package/public/styles-EG5MFQEM.css +0 -1
  316. /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
@@ -26,7 +26,7 @@
26
26
  "title": "Homebridge UI Authentication",
27
27
  "type": "string",
28
28
  "default": "form",
29
- "description": "The type of authentication to use for the Homebridge UI.",
29
+ "description": "Whether to enable authentication for the Homebridge UI with a username and password.",
30
30
  "oneOf": [
31
31
  {
32
32
  "title": "Require Authentication",
@@ -47,12 +47,12 @@
47
47
  "title": "UI Theme",
48
48
  "description": "The theme used for the UI.",
49
49
  "type": "string",
50
- "default": "auto",
50
+ "default": "orange",
51
51
  "oneOf": [
52
52
  {
53
53
  "title": "Orange",
54
54
  "enum": [
55
- "auto"
55
+ "orange"
56
56
  ]
57
57
  },
58
58
  {
@@ -156,14 +156,28 @@
156
156
  }
157
157
  ]
158
158
  },
159
- "restart": {
160
- "title": "Custom Restart Command",
159
+ "menuMode": {
160
+ "title": "Menu Mode",
161
+ "description": "Modes for the UI side menu.",
161
162
  "type": "string",
162
- "description": "If no restart command is set the process will terminate with a non-zero exit code.",
163
- "placeholder": "eg. sudo systemctl restart homebridge"
163
+ "default": "default",
164
+ "oneOf": [
165
+ {
166
+ "title": "Default",
167
+ "enum": [
168
+ "default"
169
+ ]
170
+ },
171
+ {
172
+ "title": "Freeze",
173
+ "enum": [
174
+ "freeze"
175
+ ]
176
+ }
177
+ ]
164
178
  },
165
179
  "temp": {
166
- "title": "Path to OS Temp File",
180
+ "title": "OS Temp File Path",
167
181
  "type": "string",
168
182
  "placeholder": "eg. /sys/class/thermal/thermal_zone0/temp",
169
183
  "description": "If you are running Homebridge on a Raspberry Pi, you can enter the path to the OS temp file here. This will display the current temperature on the Homebridge status page."
@@ -372,52 +386,32 @@
372
386
  }
373
387
  ]
374
388
  },
375
- "loginWallpaper": {
376
- "title": "Path to Login Wallpaper Image File",
389
+ "wallpaper": {
390
+ "title": "Login Wallpaper Path",
377
391
  "description": "The full path to the .jpg file.",
378
392
  "type": "string",
379
393
  "placeholder": "eg. /home/pi/mywallpaper.jpg"
380
394
  },
381
- "sudo": {
382
- "title": "Use Sudo",
383
- "type": "boolean",
384
- "description": "If you are running Homebridge as root, you may need to enable this option."
385
- },
386
395
  "homebridgePackagePath": {
387
396
  "title": "Path To Homebridge Module",
388
397
  "type": "string",
389
398
  "description": "If you have multiple versions of Homebridge installed, you can specify the path to the version you want to use here.",
390
399
  "placeholder": "eg. /usr/local/lib/node_modules/homebridge"
391
400
  },
392
- "noFork": {
393
- "title": "Do not run the Config UI web server in a separate process/thread",
394
- "type": "boolean",
395
- "description": "If you are running Homebridge in a container, you may need to enable this option."
396
- },
397
401
  "host": {
398
402
  "title": "Host IP Address",
399
403
  "type": "string",
400
404
  "pattern": "^[^{}/ :\\\\]+(?::\\d+)?$",
401
- "description": "The host ip address to listen on. In most cases this will be '::' or '0.0.0.0'",
405
+ "description": "The host IP address to listen on. In most cases this will be '::' or '0.0.0.0'.",
402
406
  "placeholder": "eg. 0.0.0.0"
403
407
  },
404
- "debug": {
405
- "title": " Enable / disable debug level logging",
406
- "type": "boolean",
407
- "description": "If enabled, the Homebridge UI will log debug level messages to the console."
408
- },
409
- "standalone": {
410
- "title": "Tell Homebridge the plugin is operating in standalone mode",
411
- "type": "boolean",
412
- "description": "If you are running Homebridge in a container, you may need to enable this option."
413
- },
414
408
  "sessionTimeout": {
415
- "title": "Session Timeout (in seconds)",
409
+ "title": "Session Timeout (Seconds)",
416
410
  "type": "integer",
417
411
  "placeholder": 28800,
418
412
  "minimum": 600,
419
413
  "maximum": 86400000,
420
- "description": "The number of seconds before a user session will timeout. Defaults to 8 hours.",
414
+ "description": "The number of seconds before a user will be logged out of the UI. Defaults to 8 hours.",
421
415
  "condition": {
422
416
  "functionBody": "return model.auth === 'form'"
423
417
  }
@@ -427,83 +421,6 @@
427
421
  "title": "Log Settings",
428
422
  "description": "The log settings for the Homebridge UI.",
429
423
  "properties": {
430
- "method": {
431
- "title": "Log Method",
432
- "type": "string",
433
- "default": "",
434
- "description": "The method used to read the Homebridge log file.",
435
- "required": true,
436
- "oneOf": [
437
- {
438
- "title": "Default",
439
- "enum": [
440
- ""
441
- ]
442
- },
443
- {
444
- "title": "From File",
445
- "enum": [
446
- "file"
447
- ]
448
- },
449
- {
450
- "title": "Systemd",
451
- "enum": [
452
- "systemd"
453
- ]
454
- },
455
- {
456
- "title": "Custom Command",
457
- "enum": [
458
- "custom"
459
- ]
460
- }
461
- ]
462
- },
463
- "path": {
464
- "title": "Log File Path",
465
- "type": "string",
466
- "description": "Enter the full file path to your log file.",
467
- "placeholder": "/var/log/homebridge.log",
468
- "required": true,
469
- "condition": {
470
- "functionBody": "return (model.log && model.log.method==='file')"
471
- }
472
- },
473
- "service": {
474
- "title": "Systemd Service",
475
- "type": "string",
476
- "description": "Enter the systemd service name. Defaults to 'homebridge'.",
477
- "placeholder": "homebridge",
478
- "required": true,
479
- "condition": {
480
- "functionBody": "return (model.log && model.log.method==='systemd')"
481
- }
482
- },
483
- "command": {
484
- "title": "Custom Command",
485
- "description": "This command should stream the logs to stdout.",
486
- "type": "string",
487
- "placeholder": "journalctl -f -n 100 -u homebridge",
488
- "required": true,
489
- "condition": {
490
- "functionBody": "return (model.log && model.log.method==='custom')"
491
- }
492
- },
493
- "tail": {
494
- "type": "string",
495
- "description": "Depreciated",
496
- "condition": {
497
- "functionBody": "return (model.log && (model.log.method==='custom' || model.log.method==='systemd' || model.log.method==='file'))"
498
- }
499
- },
500
- "systemd": {
501
- "type": "string",
502
- "description": "Depreciated",
503
- "condition": {
504
- "functionBody": "return (model.log && (model.log.method==='custom' || model.log.method==='systemd' || model.log.method==='file'))"
505
- }
506
- },
507
424
  "maxSize": {
508
425
  "type": "integer",
509
426
  "description": "The max log size (bytes). Set to -1 to disable log truncation.",
@@ -525,19 +442,19 @@
525
442
  "description": "The SSL settings for the Homebridge UI.",
526
443
  "properties": {
527
444
  "key": {
528
- "title": "Path To Private Key",
445
+ "title": "Private Key Path",
529
446
  "type": "string",
530
447
  "description": "The full path to the private key file.",
531
448
  "placeholder": "eg. /Users/homebridge/.homebridge/certs/server.key"
532
449
  },
533
450
  "cert": {
534
- "title": "Path To Certificate",
451
+ "title": "Certificate Path",
535
452
  "type": "string",
536
453
  "description": "The full path to the certificate file.",
537
454
  "placeholder": "eg. /Users/homebridge/.homebridge/certs/server.crt"
538
455
  },
539
456
  "pfx": {
540
- "title": "Path To PKCS#12 Certificate",
457
+ "title": "PKCS#12 Certificate Path",
541
458
  "type": "string",
542
459
  "description": "The full path to the PKCS#12 certificate file.",
543
460
  "placeholder": "eg. /Users/homebridge/.homebridge/certs/server.pfx"
@@ -556,14 +473,14 @@
556
473
  "description": "The accessory control settings for the Homebridge UI.",
557
474
  "properties": {
558
475
  "debug": {
559
- "title": " Enable / disable debug level logging for accessory control via the web UI",
476
+ "title": "Enable Accessory Control Debug Logging",
560
477
  "type": "boolean",
561
478
  "description": "If enabled, the Homebridge UI will log debug level messages to the console."
562
479
  },
563
480
  "instanceBlacklist": {
564
- "title": "Blacklisted Instances",
481
+ "title": "Blacklisted Bridges/Instances",
565
482
  "type": "array",
566
- "description": "A list of instances that should not be controlled via the web UI.",
483
+ "description": "A list of instances (or bridge usernames) that should not be controlled via the web UI.",
567
484
  "placeholder": "eg. 00:00:00:00:00:00",
568
485
  "items": {
569
486
  "title": "Instance Username",
@@ -600,8 +517,8 @@
600
517
  "description": "When running behind a reverse proxy you may need to enter the hostname you use to access the UI."
601
518
  },
602
519
  "scheduledBackupPath": {
603
- "title": "Scheduled backup destination path",
604
- "description": "The full path to where the service should save daily scheduled backups archives",
520
+ "title": "Scheduled Backup Destination",
521
+ "description": "The full path to where the service should save daily scheduled backups archives.",
605
522
  "type": "string",
606
523
  "placeholder": "eg. /home/pi/homebridge-backups",
607
524
  "condition": {
@@ -611,54 +528,16 @@
611
528
  "scheduledBackupDisable": {
612
529
  "title": "Disable Scheduled Backups",
613
530
  "type": "boolean",
614
- "description": "When enabled, the Homebridge UI will not create daily scheduled backups"
531
+ "description": "When enabled, the Homebridge UI will not create daily scheduled backups."
615
532
  },
616
533
  "disableServerMetricsMonitoring": {
617
534
  "title": "Disable Server Metrics Monitoring",
618
535
  "type": "boolean",
619
- "description": "When enabled, the Homebridge UI will not collect or report cpu / memory stats"
536
+ "description": "When enabled, the Homebridge UI will not collect or report CPU or memory stats."
620
537
  }
621
538
  }
622
539
  },
623
540
  "layout": [
624
- {
625
- "ref": "login",
626
- "type": "fieldset",
627
- "expandable": true,
628
- "title": "Login Settings",
629
- "items": [
630
- "auth",
631
- {
632
- "key": "sessionTimeout",
633
- "type": "number"
634
- }
635
- ]
636
- },
637
- {
638
- "ref": "log",
639
- "type": "fieldset",
640
- "expandable": true,
641
- "title": "Log Settings",
642
- "items": [
643
- "debug",
644
- "log.method",
645
- "log.path",
646
- "log.service",
647
- "log.command",
648
- "log.tail",
649
- "log.systemd"
650
- ]
651
- },
652
- {
653
- "ref": "logRetention",
654
- "type": "fieldset",
655
- "expandable": true,
656
- "title": "Log Retention Settings",
657
- "items": [
658
- "log.maxSize",
659
- "log.truncateSize"
660
- ]
661
- },
662
541
  {
663
542
  "ref": "accessoryControl",
664
543
  "type": "fieldset",
@@ -688,26 +567,12 @@
688
567
  "host"
689
568
  ]
690
569
  },
691
- {
692
- "ref": "ssl",
693
- "type": "fieldset",
694
- "expandable": true,
695
- "title": "SSL Settings",
696
- "items": [
697
- "ssl.key",
698
- "ssl.cert",
699
- "ssl.pfx",
700
- "ssl.passphrase"
701
- ]
702
- },
703
570
  {
704
571
  "ref": "homebridge",
705
572
  "type": "fieldset",
706
573
  "expandable": true,
707
574
  "title": "Homebridge Settings",
708
575
  "items": [
709
- "sudo",
710
- "restart",
711
576
  "homebridgePackagePath"
712
577
  ]
713
578
  },
@@ -728,28 +593,8 @@
728
593
  "linux.restart",
729
594
  "temp"
730
595
  ]
731
- },
732
- {
733
- "ref": "container",
734
- "type": "fieldset",
735
- "expandable": true,
736
- "title": "Container Settings",
737
- "items": [
738
- "standalone",
739
- "noFork"
740
- ]
741
596
  }
742
597
  ]
743
- },
744
- {
745
- "ref": "scheduledBackup",
746
- "type": "fieldset",
747
- "expandable": true,
748
- "title": "Scheduled Backup Settings",
749
- "items": [
750
- "scheduledBackupDisable",
751
- "scheduledBackupPath"
752
- ]
753
598
  }
754
599
  ]
755
600
  }
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import type { ExtractOptions } from 'tar';
2
+ import type { TarOptionsWithAliases } from 'tar';
3
3
  export declare class HomebridgeServiceHelper {
4
4
  action: 'install' | 'uninstall' | 'start' | 'stop' | 'restart' | 'rebuild' | 'run' | 'add' | 'remove' | 'logs' | 'view' | 'update-node' | 'before-start' | 'status';
5
5
  selfPath: string;
@@ -65,7 +65,7 @@ export declare class HomebridgeServiceHelper {
65
65
  private fixDockerPermissions;
66
66
  private checkForNodejsUpdates;
67
67
  downloadNodejs(downloadUrl: string): Promise<string>;
68
- extractNodejs(targetVersion: string, extractConfig: ExtractOptions): Promise<void>;
68
+ extractNodejs(targetVersion: string, extractConfig: TarOptionsWithAliases): Promise<void>;
69
69
  removeNpmPackage(npmInstallPath: string): Promise<void>;
70
70
  private checkStatus;
71
71
  private parseNpmPackageString;