homebridge-config-ui-x 5.0.0-beta.3 → 5.0.0-beta.31
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.
- package/CHANGELOG.md +182 -8
- package/LICENSE +1 -1
- package/README.md +6 -8
- package/config.schema.json +38 -18
- package/dist/bin/fork.js +17 -7
- package/dist/bin/fork.js.map +1 -1
- package/dist/bin/hb-service.d.ts +2 -2
- package/dist/bin/hb-service.js +67 -56
- package/dist/bin/hb-service.js.map +1 -1
- package/dist/bin/platforms/win32.js +4 -2
- package/dist/bin/platforms/win32.js.map +1 -1
- package/dist/bin/standalone.js +18 -7
- package/dist/bin/standalone.js.map +1 -1
- package/dist/core/auth/auth.controller.d.ts +2 -0
- package/dist/core/auth/auth.controller.js.map +1 -1
- package/dist/core/auth/auth.module.js +1 -1
- package/dist/core/auth/auth.module.js.map +1 -1
- package/dist/core/auth/auth.service.js +10 -10
- package/dist/core/auth/auth.service.js.map +1 -1
- package/dist/core/config/config.service.d.ts +3 -0
- package/dist/core/config/config.service.js +1 -0
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/core/config/config.startup.js +2 -2
- package/dist/core/config/config.startup.js.map +1 -1
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
- package/dist/index.js +25 -14
- package/dist/index.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/modules/accessories/accessories.controller.js +4 -4
- package/dist/modules/accessories/accessories.controller.js.map +1 -1
- package/dist/modules/accessories/accessories.service.js +7 -6
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/dist/modules/backup/backup.controller.js +7 -7
- package/dist/modules/backup/backup.controller.js.map +1 -1
- package/dist/modules/backup/backup.service.js +17 -17
- package/dist/modules/backup/backup.service.js.map +1 -1
- package/dist/modules/child-bridges/child-bridges.service.js +3 -3
- package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
- package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
- package/dist/modules/config-editor/config-editor.controller.js +7 -7
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
- package/dist/modules/config-editor/config-editor.service.js +6 -6
- package/dist/modules/config-editor/config-editor.service.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +11 -9
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/dist/modules/log/log.service.js +3 -3
- package/dist/modules/log/log.service.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
- package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
- package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
- package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.service.js +2 -2
- package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
- package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
- package/dist/modules/plugins/plugins.controller.js +4 -4
- package/dist/modules/plugins/plugins.controller.js.map +1 -1
- package/dist/modules/plugins/plugins.service.d.ts +1 -0
- package/dist/modules/plugins/plugins.service.js +74 -35
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +19 -2
- package/dist/modules/server/server.controller.js +84 -18
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +23 -6
- package/dist/modules/server/server.service.js +171 -56
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.controller.js +3 -3
- package/dist/modules/status/status.controller.js.map +1 -1
- package/dist/modules/status/status.service.js +4 -4
- package/dist/modules/status/status.service.js.map +1 -1
- package/dist/modules/users/users.controller.js +1 -1
- package/dist/modules/users/users.controller.js.map +1 -1
- package/dist/self-check.js +6 -6
- package/dist/self-check.js.map +1 -1
- package/package.json +31 -27
- package/public/3rdpartylicenses.txt +70 -44
- package/public/assets/hap-icons/airpurifier.svg +49 -16
- package/public/assets/hap-icons/airquality.svg +24 -13
- package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
- package/public/assets/hap-icons/contactsensor-open.svg +80 -2
- package/public/assets/hap-icons/door-closed.svg +32 -2
- package/public/assets/hap-icons/door-open.svg +48 -2
- package/public/assets/hap-icons/fan-off.svg +24 -13
- package/public/assets/hap-icons/fan-on.svg +24 -13
- package/public/assets/hap-icons/garagedoor.svg +24 -13
- package/public/assets/hap-icons/humidity.svg +24 -13
- package/public/assets/hap-icons/irrigation-system.svg +47 -18
- package/public/assets/hap-icons/leaksensor.svg +52 -2
- package/public/assets/hap-icons/light.svg +47 -28
- package/public/assets/hap-icons/lightbulb.svg +24 -13
- package/public/assets/hap-icons/lock-locked.svg +24 -13
- package/public/assets/hap-icons/lock-unlocked.svg +24 -13
- package/public/assets/hap-icons/motionsensor.svg +100 -2
- package/public/assets/hap-icons/occupancysensor.svg +97 -2
- package/public/assets/hap-icons/outlet.svg +24 -13
- package/public/assets/hap-icons/securitysystem-active.svg +102 -2
- package/public/assets/hap-icons/securitysystem-off.svg +68 -2
- package/public/assets/hap-icons/smokesensor.svg +42 -9
- package/public/assets/hap-icons/speaker.svg +29 -13
- package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
- package/public/assets/hap-icons/switch.svg +24 -13
- package/public/assets/hap-icons/television.svg +15 -4
- package/public/assets/hap-icons/temperature.svg +24 -13
- package/public/assets/hap-icons/unknown.svg +24 -13
- package/public/assets/hap-icons/valve-generic.svg +27 -16
- package/public/assets/hap-icons/valve-irrigation.svg +37 -21
- package/public/assets/hap-icons/valve-showerhead.svg +52 -0
- package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
- package/public/assets/hap-icons/window-closed.svg +85 -2
- package/public/assets/hap-icons/window-open.svg +136 -2
- package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
- package/public/assets/hap-icons/windowcovering-open.svg +40 -44
- package/public/assets/homebridge-color-round.svg +36 -1
- package/public/assets/homebridge-logo.svg +11 -1
- package/public/assets/mask-icon.svg +5 -1
- package/public/assets/plugin-ui-utils/ui.js +38 -19
- package/public/assets/plugin-ui-utils/ui.js.map +1 -1
- package/public/{chunk-6TCHCTXZ.js → chunk-23M23WV2.js} +1 -1
- package/public/chunk-27Y2SMZQ.js +1 -0
- package/public/{chunk-QE7DO6J3.js → chunk-474BOAR2.js} +2 -2
- package/public/{chunk-VOBHY2IH.js → chunk-5FGGDMPF.js} +2 -2
- package/public/{chunk-WNWWUCCZ.js → chunk-5KLZWFYX.js} +1 -1
- package/public/{chunk-ASX35H47.js → chunk-5YQD6SFF.js} +1 -1
- package/public/chunk-675OFXLW.js +1 -0
- package/public/chunk-6LLC6ASY.js +1 -0
- package/public/chunk-6SQJWZJ3.js +1 -0
- package/public/chunk-6VKXZGBQ.js +1 -0
- package/public/{chunk-BKUGARB4.js → chunk-7BCHGXO4.js} +1 -1
- package/public/chunk-7ZWVTY7M.js +1 -0
- package/public/chunk-A4UEYJ65.js +1 -0
- package/public/chunk-BMWLHPL2.js +1 -0
- package/public/chunk-BUJGF5XS.js +1 -0
- package/public/{chunk-CCUID66K.js → chunk-C2XBPNOQ.js} +1 -1
- package/public/chunk-CBZQXGMM.js +1 -0
- package/public/chunk-CKNHTRCL.js +7 -0
- package/public/{chunk-BFDVOBTQ.js → chunk-DI7XQKGK.js} +1 -1
- package/public/chunk-DMNEGPYI.js +1 -0
- package/public/chunk-DPQL3CFN.js +1 -0
- package/public/chunk-DZK7ET6B.js +1 -0
- package/public/chunk-E4JGXDDX.js +1 -0
- package/public/chunk-EEDUUZ6J.js +1 -0
- package/public/chunk-EIDRJ2MZ.js +1 -0
- package/public/chunk-EPUIY43R.js +1 -0
- package/public/chunk-FFAK3S6H.js +1 -0
- package/public/chunk-FYBGDBHS.js +5 -0
- package/public/chunk-G6DEXV26.js +1 -0
- package/public/chunk-GAOJPT7Q.js +32 -0
- package/public/{chunk-6PHMBMFU.js → chunk-GH44GF33.js} +1 -1
- package/public/chunk-GMDD67DK.js +1 -0
- package/public/chunk-GT23NQ6X.js +1 -0
- package/public/chunk-GZ6LPTUZ.js +1 -0
- package/public/{chunk-UG5DK2RQ.js → chunk-HA6CO5NZ.js} +2 -2
- package/public/chunk-HZMFFGGL.js +1 -0
- package/public/chunk-IBVQ5XHN.js +1 -0
- package/public/chunk-IFT3CY2Y.js +1 -0
- package/public/chunk-IN2KYSF4.js +1 -0
- package/public/chunk-JA6D57G2.js +1 -0
- package/public/{chunk-JZZQRLNW.js → chunk-JF5AT3NK.js} +1 -1
- package/public/chunk-JIBSE7F4.js +1 -0
- package/public/chunk-JN3CZQ6V.js +1 -0
- package/public/chunk-KKXQOKX2.js +1 -0
- package/public/{chunk-IW3EPSTZ.js → chunk-KTZO3WBP.js} +4 -4
- package/public/chunk-L2ORBCR2.js +1 -0
- package/public/chunk-LEBQDAR4.js +1 -0
- package/public/chunk-LEFLOPGL.js +1 -0
- package/public/chunk-LXXOSKLU.js +1 -0
- package/public/chunk-N4F42HDL.js +5 -0
- package/public/{chunk-NW6AFAD7.js → chunk-NFG4Y4PX.js} +1 -1
- package/public/chunk-NN4AKVX5.js +1 -0
- package/public/{chunk-7EUQWCP5.js → chunk-NSCP3SOQ.js} +1 -1
- package/public/{chunk-7L7RZCFC.js → chunk-OE2GYWRJ.js} +1 -1
- package/public/chunk-OOXD7YEJ.js +1 -0
- package/public/chunk-OURKTFZU.js +1 -0
- package/public/{chunk-VMXGERJT.js → chunk-PIKLHZDA.js} +8 -8
- package/public/chunk-QAHKBWOC.js +20 -0
- package/public/chunk-QRKW54YY.js +1 -0
- package/public/chunk-R5E5WAV5.js +1 -0
- package/public/chunk-REMR6QVW.js +1 -0
- package/public/chunk-RGOOY4ED.js +1 -0
- package/public/chunk-SRBTIWVO.js +1 -0
- package/public/{chunk-NZNNTHFQ.js → chunk-T3GI7KUT.js} +1 -1
- package/public/chunk-TRQOR36U.js +1 -0
- package/public/chunk-V6L2K2WY.js +1 -0
- package/public/chunk-VB5BRR2U.js +1 -0
- package/public/chunk-WAHQ6FKA.js +1 -0
- package/public/chunk-WJ3IINUA.js +1 -0
- package/public/chunk-WZWCA2UY.js +1 -0
- package/public/chunk-X5YRTZFZ.js +1 -0
- package/public/chunk-X6VYPTSJ.js +1 -0
- package/public/chunk-XADFYKJR.js +1 -0
- package/public/chunk-XASV7YHW.js +6 -0
- package/public/{chunk-WHJOLAED.js → chunk-XFK2EZ3K.js} +1 -1
- package/public/{chunk-EA5J2VEJ.js → chunk-XP7D2PRA.js} +1 -1
- package/public/{chunk-WHJSVGC7.js → chunk-XQNHUDX7.js} +1 -1
- package/public/chunk-YLAFYHGY.js +1 -0
- package/public/{chunk-QHPDGSZ6.js → chunk-YLEC7AUG.js} +1 -1
- package/public/chunk-YLOLF5VJ.js +1 -0
- package/public/chunk-Z2FKNCT7.js +1 -0
- package/public/chunk-Z4NHF7RI.js +1 -0
- package/public/index.html +2 -2
- package/public/main-422LQ5TU.js +1 -0
- package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
- package/public/media/{fa-brands-400-MVB2B5XM.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
- package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
- package/public/media/{fa-regular-400-EGQOOADX.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
- package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
- package/public/media/{fa-solid-900-ZUDIWQL5.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
- package/public/styles-7Q7QNSR3.css +1 -0
- package/public/chunk-2OBHR63W.js +0 -1
- package/public/chunk-3C6WVST7.js +0 -1
- package/public/chunk-3IX3CLER.js +0 -1
- package/public/chunk-5ALXJOLQ.js +0 -1
- package/public/chunk-5LVGHH2N.js +0 -1
- package/public/chunk-7456RB3C.js +0 -1
- package/public/chunk-76S7LYCL.js +0 -1
- package/public/chunk-77A3OZ74.js +0 -1
- package/public/chunk-7EANS226.js +0 -1
- package/public/chunk-AVJ6EUEE.js +0 -1
- package/public/chunk-AX23H5TL.js +0 -1
- package/public/chunk-AZXQ73I5.js +0 -1
- package/public/chunk-BMXAHMY6.js +0 -1
- package/public/chunk-BPMSJ2VF.js +0 -1
- package/public/chunk-CW7Q7WEJ.js +0 -1
- package/public/chunk-DDXIRKVB.js +0 -1
- package/public/chunk-DNOJWLVY.js +0 -1
- package/public/chunk-DZY2Q3FG.js +0 -1
- package/public/chunk-FX4GQIE4.js +0 -32
- package/public/chunk-GVDR7ZRB.js +0 -1
- package/public/chunk-HSJSWZHD.js +0 -1
- package/public/chunk-I7ZKPCIW.js +0 -1
- package/public/chunk-IPZ4P5DE.js +0 -1
- package/public/chunk-IWYEH4T6.js +0 -1
- package/public/chunk-JL6S5IIU.js +0 -1
- package/public/chunk-KIJWUGXX.js +0 -1
- package/public/chunk-KO3WJGGG.js +0 -1
- package/public/chunk-KQJ7ONUG.js +0 -1
- package/public/chunk-KTDJZCFW.js +0 -1
- package/public/chunk-LDPCT3YF.js +0 -5
- package/public/chunk-MHYIZZN4.js +0 -1
- package/public/chunk-MOV2HTCQ.js +0 -1
- package/public/chunk-NF4NIS42.js +0 -1
- package/public/chunk-O75YP3SB.js +0 -1
- package/public/chunk-ODPTCLGS.js +0 -1
- package/public/chunk-ORPWYWCL.js +0 -5
- package/public/chunk-Q5URFHBE.js +0 -1
- package/public/chunk-QLWY5NWN.js +0 -1
- package/public/chunk-QRZNMAFL.js +0 -1
- package/public/chunk-RHB2T3FE.js +0 -1
- package/public/chunk-RMI35HIS.js +0 -1
- package/public/chunk-RO4QXVDE.js +0 -1
- package/public/chunk-RWZRB2OY.js +0 -1
- package/public/chunk-S62KH3FN.js +0 -6
- package/public/chunk-S6EMLS5Q.js +0 -1
- package/public/chunk-SVFFEV36.js +0 -1
- package/public/chunk-T2YVB4SI.js +0 -1
- package/public/chunk-TCSXGQNF.js +0 -1
- package/public/chunk-TXOB7R5K.js +0 -7
- package/public/chunk-U6ORTLYL.js +0 -1
- package/public/chunk-UJU3NPS7.js +0 -1
- package/public/chunk-UYZI56PX.js +0 -1
- package/public/chunk-UZU6PLTW.js +0 -1
- package/public/chunk-UZW3DWH4.js +0 -1
- package/public/chunk-WMB35VCS.js +0 -1
- package/public/chunk-WT2GX4NS.js +0 -1
- package/public/chunk-XH6GEPB6.js +0 -1
- package/public/chunk-ZLPCX4R4.js +0 -1
- package/public/chunk-ZT23DWNL.js +0 -1
- package/public/chunk-ZY7HKZ4P.js +0 -20
- package/public/main-ILTX7GFO.js +0 -1
- package/public/media/fa-brands-400-6U3GU5Y7.woff2 +0 -0
- package/public/media/fa-regular-400-R5EOMW4H.woff2 +0 -0
- package/public/media/fa-solid-900-W65KEJAS.woff2 +0 -0
- package/public/styles-GDLSHXGD.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,7 +6,7 @@ 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
|
|
9
|
+
- This version of the Homebridge UI drops support for:
|
|
10
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
11
|
- Raspberry Pi devices running on the `armv6` architecture (like the Pi 1 and Pi Zero) - please update your hardware
|
|
12
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)
|
|
@@ -28,11 +28,11 @@ Plugin developers:
|
|
|
28
28
|
- Please do not rely on this validation and assume that a user's configuration will be valid
|
|
29
29
|
- All plugins should still validate a configuration when the plugin is started
|
|
30
30
|
- 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
|
|
31
|
-
- Please report any cases where the validation is not working as expected
|
|
31
|
+
- Please report any cases where the validation is not working as expected
|
|
32
32
|
|
|
33
33
|
### UI Changes
|
|
34
34
|
|
|
35
|
-
-
|
|
35
|
+
- updates to the `fi.json` language file (#2253) (@l1500s)
|
|
36
36
|
- add plugin config validation functionality
|
|
37
37
|
- refactor status and child bridge widgets
|
|
38
38
|
- update default dashboard layout
|
|
@@ -40,14 +40,190 @@ Plugin developers:
|
|
|
40
40
|
### Other Changes
|
|
41
41
|
|
|
42
42
|
- retire use of `pnpm` and code references
|
|
43
|
-
- enable strict config validation for the UI
|
|
44
43
|
- bump the default node version from 20 to 22
|
|
45
|
-
-
|
|
44
|
+
- make terminal enabled by default on new macOS hb-service installs
|
|
45
|
+
- improvements to GH actions and build processes (@NorthernMan54)
|
|
46
46
|
|
|
47
47
|
### Homebridge Dependencies
|
|
48
48
|
|
|
49
|
-
- `@homebridge/hap-client` @ `v2.0.
|
|
49
|
+
- `@homebridge/hap-client` @ `v2.0.5`
|
|
50
50
|
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.12.0-beta`
|
|
51
|
+
- `@homebridge/plugin-ui-utils` @ `v2.0.0`
|
|
52
|
+
|
|
53
|
+
## v4.68.0 (2025-01-07)
|
|
54
|
+
|
|
55
|
+
Happy 2025 to all our users! 🎉
|
|
56
|
+
|
|
57
|
+
### UI Changes
|
|
58
|
+
|
|
59
|
+
- updates to the `cs.json` language file (#2311) (@DavidHuljak)
|
|
60
|
+
- improved messaging on plugin child bridge modal
|
|
61
|
+
- further improvements to plugin search
|
|
62
|
+
- implement and allow switching to scoped plugins
|
|
63
|
+
- merge plugin info and verified modals
|
|
64
|
+
- condensing plugin card into title + three lines of description
|
|
65
|
+
- consistent formatting of child bridge names across the ui
|
|
66
|
+
- general improvements across the ui
|
|
67
|
+
- status page:
|
|
68
|
+
- individual widget setting form design made consistent with other forms
|
|
69
|
+
- added pairing status to qr code widget
|
|
70
|
+
- plugins page:
|
|
71
|
+
- visual improvements to plugin child bridge settings modal
|
|
72
|
+
- allow plugins to disable/enable the save button in custom uis (see below section)
|
|
73
|
+
- 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
|
|
74
|
+
- accessories page:
|
|
75
|
+
- changed accessory spanner icon to info icon (more descriptive)
|
|
76
|
+
- accessory info modal redesigned and provides more info where possible like the accessory UUID (including a link to remove from the cache)
|
|
77
|
+
- added support modal with some info about rooms and accessories (visible on desktop)
|
|
78
|
+
- json config page:
|
|
79
|
+
- redesigned restore modal to be more consistent with other modals
|
|
80
|
+
- settings page:
|
|
81
|
+
- chevron icons replaced with arrow-right icons
|
|
82
|
+
- removed restore modal from settings page and is accessible from the backup modal
|
|
83
|
+
- backup modal redesigned to be more consistent with other modals
|
|
84
|
+
- added new display -> menu mode setting which allows keeping the side menu from expanding out on desktop
|
|
85
|
+
- redesigned and improved accessories and bridges sections and modals
|
|
86
|
+
- users page:
|
|
87
|
+
- add user and edit user modals redesigned to be more consistent with other modals
|
|
88
|
+
- user card updated with icon buttons for edit/delete rather than text buttons
|
|
89
|
+
|
|
90
|
+
### Plugin Custom UI Changes
|
|
91
|
+
|
|
92
|
+
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.
|
|
93
|
+
Two new methods have been added for this purpose:
|
|
94
|
+
|
|
95
|
+
- `homebridge.disableSaveButton()`
|
|
96
|
+
- `homebridge.enableSaveButton()`
|
|
97
|
+
|
|
98
|
+
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:
|
|
99
|
+
|
|
100
|
+
- `homebridge.disableSaveButton?.()`
|
|
101
|
+
- `homebridge.enableSaveButton?.()`
|
|
102
|
+
|
|
103
|
+
### Other Changes
|
|
104
|
+
|
|
105
|
+
- auto-fix ui theme setting property if existing value is not valid
|
|
106
|
+
- do not allow `armv6l` users to update to UI `v5`
|
|
107
|
+
|
|
108
|
+
### Homebridge Dependencies
|
|
109
|
+
|
|
110
|
+
- `@homebridge/hap-client` @ `v2.0.5`
|
|
111
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
|
|
112
|
+
- `@homebridge/plugin-ui-utils` @ `v2.0.0`
|
|
113
|
+
|
|
114
|
+
## v4.67.0 (2024-12-28)
|
|
115
|
+
|
|
116
|
+
### UI Changes
|
|
117
|
+
|
|
118
|
+
- add explanation of deleting child bridges when un-toggling
|
|
119
|
+
- add filtering to search to improve results (#2286) (@justjam2013) (fixes [#2266](https://github.com/homebridge/homebridge-config-ui-x/issues/2266))
|
|
120
|
+
- fix spacing issue with hidden accessories
|
|
121
|
+
- make margins consistent of un/lock buttons on status screen
|
|
122
|
+
- fix ui not restarting properly after updating the ui
|
|
123
|
+
- use broom icon in remove bridge accessories (to match similar modal from plugin menu)
|
|
124
|
+
|
|
125
|
+
### Other Changes
|
|
126
|
+
|
|
127
|
+
- improve and finish up previous angular migration
|
|
128
|
+
- update `hap-client` + `plugin-ui-utils` hb dependencies
|
|
129
|
+
- update dependencies
|
|
130
|
+
- improve lint sorting of imports
|
|
131
|
+
|
|
132
|
+
### Homebridge Dependencies
|
|
133
|
+
|
|
134
|
+
- `@homebridge/hap-client` @ `v2.0.5`
|
|
135
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
|
|
136
|
+
- `@homebridge/plugin-ui-utils` @ `v2.0.0`
|
|
137
|
+
|
|
138
|
+
## v4.66.0 (2024-12-25)
|
|
139
|
+
|
|
140
|
+
### UI Changes
|
|
141
|
+
|
|
142
|
+
- fix verified plugins link in support module (fixes [#2295](https://github.com/homebridge/homebridge-config-ui-x/issues/2295))
|
|
143
|
+
- add missing modal footer `<div>`s to accessory control modals
|
|
144
|
+
- fix radio button groups in certain accessory control modals (fixes [#2294](https://github.com/homebridge/homebridge-config-ui-x/issues/2294))
|
|
145
|
+
|
|
146
|
+
### Other Changes
|
|
147
|
+
|
|
148
|
+
- format svg files nicely as part of lint
|
|
149
|
+
- upgrade angular from `v18` to `v19`
|
|
150
|
+
- delete unpaired bridges when toggling bridges off (#2284) (@justjam2013) (fixes [#2257](https://github.com/homebridge/homebridge-config-ui-x/issues/2257))
|
|
151
|
+
|
|
152
|
+
### Homebridge Dependencies
|
|
153
|
+
|
|
154
|
+
- `@homebridge/hap-client` @ `v1.10.2`
|
|
155
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
|
|
156
|
+
- `@homebridge/plugin-ui-utils` @ `v1.0.3`
|
|
157
|
+
|
|
158
|
+
## v4.65.2 (2024-12-15)
|
|
159
|
+
|
|
160
|
+
### UI Changes
|
|
161
|
+
|
|
162
|
+
- Rollback recent changes to plugin search (#2289) (@justjam2013)
|
|
163
|
+
|
|
164
|
+
### Homebridge Dependencies
|
|
165
|
+
|
|
166
|
+
- `@homebridge/hap-client` @ `v1.10.2`
|
|
167
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
|
|
168
|
+
- `@homebridge/plugin-ui-utils` @ `v1.0.3`
|
|
169
|
+
|
|
170
|
+
## v4.65.1 (2024-12-13)
|
|
171
|
+
|
|
172
|
+
### UI Changes
|
|
173
|
+
|
|
174
|
+
- updates to the `th.json` language file (#2271) (@tomzt)
|
|
175
|
+
- updates to the `de.json` language file (#2250) (@Staubgeborener)
|
|
176
|
+
- Remove unrelated plugins from search (#2272) (@justjam2013)
|
|
177
|
+
|
|
178
|
+
### Other Changes
|
|
179
|
+
|
|
180
|
+
- fix types + update dependencies
|
|
181
|
+
- fix attach artifacts to release workflow
|
|
182
|
+
|
|
183
|
+
### Homebridge Dependencies
|
|
184
|
+
|
|
185
|
+
- `@homebridge/hap-client` @ `v1.10.2`
|
|
186
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
|
|
187
|
+
- `@homebridge/plugin-ui-utils` @ `v1.0.3`
|
|
188
|
+
|
|
189
|
+
## v4.65.0 (2024-12-08)
|
|
190
|
+
|
|
191
|
+
### UI Changes
|
|
192
|
+
|
|
193
|
+
- updates to the `uk.json` language file (#2262) (@xrust83)
|
|
194
|
+
- logo and `homebridge` text should link to status page
|
|
195
|
+
- Add icons for shower head and water faucet valve types (#2267) (@justjam2013)
|
|
196
|
+
- Removed conditional for displaying search exit component (#2269) (@justjam2013)
|
|
197
|
+
|
|
198
|
+
### Other Changes
|
|
199
|
+
|
|
200
|
+
- Fix typo in console message (#2264) (@markholland)
|
|
201
|
+
- updated dependencies
|
|
202
|
+
|
|
203
|
+
### Homebridge Dependencies
|
|
204
|
+
|
|
205
|
+
- `@homebridge/hap-client` @ `v1.10.2`
|
|
206
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
|
|
207
|
+
- `@homebridge/plugin-ui-utils` @ `v1.0.3`
|
|
208
|
+
|
|
209
|
+
## v4.64.0 (2024-11-30)
|
|
210
|
+
|
|
211
|
+
### UI Changes
|
|
212
|
+
|
|
213
|
+
- updates to the `de.json` language file (#2249) (@Staubgeborener)
|
|
214
|
+
- updates to the `ko.json` language file (#2251) (@alphaorderly)
|
|
215
|
+
- updates to the `uk.json` language file (#2255) (@xrust83)
|
|
216
|
+
- add reload menu item when using as a PWA
|
|
217
|
+
|
|
218
|
+
### Other Changes
|
|
219
|
+
|
|
220
|
+
- dependency updates
|
|
221
|
+
- fix npm search max character limit
|
|
222
|
+
|
|
223
|
+
### Homebridge Dependencies
|
|
224
|
+
|
|
225
|
+
- `@homebridge/hap-client` @ `v1.10.2`
|
|
226
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
|
|
51
227
|
- `@homebridge/plugin-ui-utils` @ `v1.0.3`
|
|
52
228
|
|
|
53
229
|
## v4.63.0 (2024-11-17)
|
|
@@ -73,8 +249,6 @@ Plugin developers:
|
|
|
73
249
|
- migrate `@zajsf/*` to `@ng-formworks/*` for plugin schema forms
|
|
74
250
|
- check for service mode when querying child bridge status
|
|
75
251
|
- perform a full restart when updating `homebridge`
|
|
76
|
-
- make terminal enabled by default on new macOS hb-service installs
|
|
77
|
-
- update node pty beta `v0.12.0-beta`
|
|
78
252
|
|
|
79
253
|
### Homebridge Dependencies
|
|
80
254
|
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -28,8 +28,6 @@
|
|
|
28
28
|
|
|
29
29
|
Homebridge UI also provides a tool called [`hb-service`](https://github.com/homebridge/homebridge-config-ui-x/wiki/Homebridge-Service-Command) which makes it easy to set up Homebridge as a service on Linux/Raspbian, macOS and Windows 10.
|
|
30
30
|
|
|
31
|
-
[](#usage)
|
|
32
|
-
|
|
33
31
|
## Installation Instructions
|
|
34
32
|
|
|
35
33
|
For detailed instructions on how to set up Node.js and Homebridge with Homebridge UI as a service, see the guides on the wiki:
|
|
@@ -54,35 +52,35 @@ The UI can be accessed via web browser by default on port `8581` (e.g. `http://l
|
|
|
54
52
|
|
|
55
53
|
This shows an overview of your Homebridge system. The dashboard is widget-based and completely customisable with a number of themes available.
|
|
56
54
|
|
|
57
|
-

|
|
58
56
|
|
|
59
57
|
### Plugin Screen
|
|
60
58
|
|
|
61
59
|
This shows you the currently installed plugins and allows you to install, configure, update and remove plugins.
|
|
62
60
|
|
|
63
|
-

|
|
64
62
|
|
|
65
63
|
You can configure supported plugins using the graphical settings editor, or by editing the config JSON directly.
|
|
66
64
|
|
|
67
|
-

|
|
68
66
|
|
|
69
67
|
### Configuration Screen
|
|
70
68
|
|
|
71
69
|
The configuration screen allows you to modify your Homebridge `config.json`. The built-in editor automatically syntax-checks your JSON and makes a backup of your config every time you make a change.
|
|
72
70
|
|
|
73
|
-

|
|
74
72
|
|
|
75
73
|
### Log Screen
|
|
76
74
|
|
|
77
75
|
This shows you the Homebridge rolling log. This is helpful for troubleshooting.
|
|
78
76
|
|
|
79
|
-

|
|
80
78
|
|
|
81
79
|
### Accessories Screen
|
|
82
80
|
|
|
83
81
|
This shows you the Homebridge accessories for all the Homebridge instances on your network. You can use this to control accessories from a web browser and works well on mobile devices which allows users to control Homebridge from non-Apple devices.
|
|
84
82
|
|
|
85
|
-

|
|
86
84
|
|
|
87
85
|
## Plugin Development
|
|
88
86
|
|
package/config.schema.json
CHANGED
|
@@ -156,6 +156,26 @@
|
|
|
156
156
|
}
|
|
157
157
|
]
|
|
158
158
|
},
|
|
159
|
+
"menuMode": {
|
|
160
|
+
"title": "Menu Mode",
|
|
161
|
+
"description": "Modes for the UI side menu.",
|
|
162
|
+
"type": "string",
|
|
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
|
+
]
|
|
178
|
+
},
|
|
159
179
|
"restart": {
|
|
160
180
|
"title": "Custom Restart Command",
|
|
161
181
|
"type": "string",
|
|
@@ -163,7 +183,7 @@
|
|
|
163
183
|
"placeholder": "eg. sudo systemctl restart homebridge"
|
|
164
184
|
},
|
|
165
185
|
"temp": {
|
|
166
|
-
"title": "
|
|
186
|
+
"title": "OS Temp File Path",
|
|
167
187
|
"type": "string",
|
|
168
188
|
"placeholder": "eg. /sys/class/thermal/thermal_zone0/temp",
|
|
169
189
|
"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."
|
|
@@ -373,7 +393,7 @@
|
|
|
373
393
|
]
|
|
374
394
|
},
|
|
375
395
|
"loginWallpaper": {
|
|
376
|
-
"title": "
|
|
396
|
+
"title": "Login Wallpaper Path",
|
|
377
397
|
"description": "The full path to the .jpg file.",
|
|
378
398
|
"type": "string",
|
|
379
399
|
"placeholder": "eg. /home/pi/mywallpaper.jpg"
|
|
@@ -390,7 +410,7 @@
|
|
|
390
410
|
"placeholder": "eg. /usr/local/lib/node_modules/homebridge"
|
|
391
411
|
},
|
|
392
412
|
"noFork": {
|
|
393
|
-
"title": "Do not run the
|
|
413
|
+
"title": "Do not run the UI server in a separate process/thread",
|
|
394
414
|
"type": "boolean",
|
|
395
415
|
"description": "If you are running Homebridge in a container, you may need to enable this option."
|
|
396
416
|
},
|
|
@@ -398,11 +418,11 @@
|
|
|
398
418
|
"title": "Host IP Address",
|
|
399
419
|
"type": "string",
|
|
400
420
|
"pattern": "^[^{}/ :\\\\]+(?::\\d+)?$",
|
|
401
|
-
"description": "The host
|
|
421
|
+
"description": "The host IP address to listen on. In most cases this will be '::' or '0.0.0.0'.",
|
|
402
422
|
"placeholder": "eg. 0.0.0.0"
|
|
403
423
|
},
|
|
404
424
|
"debug": {
|
|
405
|
-
"title": "
|
|
425
|
+
"title": "Enable Debug Logging",
|
|
406
426
|
"type": "boolean",
|
|
407
427
|
"description": "If enabled, the Homebridge UI will log debug level messages to the console."
|
|
408
428
|
},
|
|
@@ -412,7 +432,7 @@
|
|
|
412
432
|
"description": "If you are running Homebridge in a container, you may need to enable this option."
|
|
413
433
|
},
|
|
414
434
|
"sessionTimeout": {
|
|
415
|
-
"title": "Session Timeout (
|
|
435
|
+
"title": "Session Timeout (Seconds)",
|
|
416
436
|
"type": "integer",
|
|
417
437
|
"placeholder": 28800,
|
|
418
438
|
"minimum": 600,
|
|
@@ -492,14 +512,14 @@
|
|
|
492
512
|
},
|
|
493
513
|
"tail": {
|
|
494
514
|
"type": "string",
|
|
495
|
-
"description": "Depreciated",
|
|
515
|
+
"description": "Depreciated.",
|
|
496
516
|
"condition": {
|
|
497
517
|
"functionBody": "return (model.log && (model.log.method==='custom' || model.log.method==='systemd' || model.log.method==='file'))"
|
|
498
518
|
}
|
|
499
519
|
},
|
|
500
520
|
"systemd": {
|
|
501
521
|
"type": "string",
|
|
502
|
-
"description": "Depreciated",
|
|
522
|
+
"description": "Depreciated.",
|
|
503
523
|
"condition": {
|
|
504
524
|
"functionBody": "return (model.log && (model.log.method==='custom' || model.log.method==='systemd' || model.log.method==='file'))"
|
|
505
525
|
}
|
|
@@ -525,19 +545,19 @@
|
|
|
525
545
|
"description": "The SSL settings for the Homebridge UI.",
|
|
526
546
|
"properties": {
|
|
527
547
|
"key": {
|
|
528
|
-
"title": "
|
|
548
|
+
"title": "Private Key Path",
|
|
529
549
|
"type": "string",
|
|
530
550
|
"description": "The full path to the private key file.",
|
|
531
551
|
"placeholder": "eg. /Users/homebridge/.homebridge/certs/server.key"
|
|
532
552
|
},
|
|
533
553
|
"cert": {
|
|
534
|
-
"title": "Path
|
|
554
|
+
"title": "Certificate Path",
|
|
535
555
|
"type": "string",
|
|
536
556
|
"description": "The full path to the certificate file.",
|
|
537
557
|
"placeholder": "eg. /Users/homebridge/.homebridge/certs/server.crt"
|
|
538
558
|
},
|
|
539
559
|
"pfx": {
|
|
540
|
-
"title": "
|
|
560
|
+
"title": "PKCS#12 Certificate Path",
|
|
541
561
|
"type": "string",
|
|
542
562
|
"description": "The full path to the PKCS#12 certificate file.",
|
|
543
563
|
"placeholder": "eg. /Users/homebridge/.homebridge/certs/server.pfx"
|
|
@@ -556,14 +576,14 @@
|
|
|
556
576
|
"description": "The accessory control settings for the Homebridge UI.",
|
|
557
577
|
"properties": {
|
|
558
578
|
"debug": {
|
|
559
|
-
"title": "
|
|
579
|
+
"title": "Enable Accessory Control Debug Logging",
|
|
560
580
|
"type": "boolean",
|
|
561
581
|
"description": "If enabled, the Homebridge UI will log debug level messages to the console."
|
|
562
582
|
},
|
|
563
583
|
"instanceBlacklist": {
|
|
564
|
-
"title": "Blacklisted Instances",
|
|
584
|
+
"title": "Blacklisted Bridges/Instances",
|
|
565
585
|
"type": "array",
|
|
566
|
-
"description": "A list of instances that should not be controlled via the web UI.",
|
|
586
|
+
"description": "A list of instances (or bridge usernames) that should not be controlled via the web UI.",
|
|
567
587
|
"placeholder": "eg. 00:00:00:00:00:00",
|
|
568
588
|
"items": {
|
|
569
589
|
"title": "Instance Username",
|
|
@@ -600,8 +620,8 @@
|
|
|
600
620
|
"description": "When running behind a reverse proxy you may need to enter the hostname you use to access the UI."
|
|
601
621
|
},
|
|
602
622
|
"scheduledBackupPath": {
|
|
603
|
-
"title": "Scheduled
|
|
604
|
-
"description": "The full path to where the service should save daily scheduled backups archives",
|
|
623
|
+
"title": "Scheduled Backup Destination",
|
|
624
|
+
"description": "The full path to where the service should save daily scheduled backups archives.",
|
|
605
625
|
"type": "string",
|
|
606
626
|
"placeholder": "eg. /home/pi/homebridge-backups",
|
|
607
627
|
"condition": {
|
|
@@ -611,12 +631,12 @@
|
|
|
611
631
|
"scheduledBackupDisable": {
|
|
612
632
|
"title": "Disable Scheduled Backups",
|
|
613
633
|
"type": "boolean",
|
|
614
|
-
"description": "When enabled, the Homebridge UI will not create daily scheduled backups"
|
|
634
|
+
"description": "When enabled, the Homebridge UI will not create daily scheduled backups."
|
|
615
635
|
},
|
|
616
636
|
"disableServerMetricsMonitoring": {
|
|
617
637
|
"title": "Disable Server Metrics Monitoring",
|
|
618
638
|
"type": "boolean",
|
|
619
|
-
"description": "When enabled, the Homebridge UI will not collect or report
|
|
639
|
+
"description": "When enabled, the Homebridge UI will not collect or report CPU or memory stats."
|
|
620
640
|
}
|
|
621
641
|
}
|
|
622
642
|
},
|
package/dist/bin/fork.js
CHANGED
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
package/dist/bin/fork.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/bin/fork.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/bin/fork.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAkC;AAElC,sBAAO,CAAC,KAAK,GAAG,wBAAwB,CAAA;AAExC,WAAW,CAAC,GAAG,EAAE;IACf,IAAI,CAAC,sBAAO,CAAC,SAAS,EAAE,CAAC;QACvB,sBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,EAAE,KAAK,CAAC,CAAA;AAET,sBAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;IAC5B,sBAAO,CAAC,IAAI,EAAE,CAAA;AAChB,CAAC,CAAC,CAAA;AAEF,kDAAO,SAAS,IAAC"}
|
package/dist/bin/hb-service.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import type {
|
|
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:
|
|
68
|
+
extractNodejs(targetVersion: string, extractConfig: TarOptionsWithAliases): Promise<void>;
|
|
69
69
|
removeNpmPackage(npmInstallPath: string): Promise<void>;
|
|
70
70
|
private checkStatus;
|
|
71
71
|
private parseNpmPackageString;
|