All notable changes to homebridge-config-ui-x will be documented in this file.
- Restore missing 'set up child bridge' option on plugin card when system doesn't automatically recommend it
- Fix artifact attachment GitHub workflow
- Do not attach artifacts to GitHub releases if the tarball is smaller than 10MB
Merry Christmas and Happy Holidays to all our users celebrating later this month! 🎄
- Homebridge UI removed from the plugins page
- Status and update notifications moved to the status page (next to / under Homebridge itself)
- UI settings is accessible from the main menu
- Various changes to the plugin cards
- Plugin settings now accessible from the plugin card menu, called 'Config'
- Icons: plugin devs can request an icon for their verified plugin at:
- add power options modal (#1820)
- remove hb-ui card from plugins page (#1830)
- add some support links (#1833)
- add plugin logs feature (#1834)
- update module headers (#1836)
- add plugin homepage link to UI settings screen
- add icons to main menu
- Add All Config Options to UI Settings (#1838)
- add spanner settings icons to hb+ui on status
- add modal to explain unverified plugin status
- refactor main page sub-icons
- add new concept for plugin card with icons
- always show 'Accessories' tab to show issue in UI if insecure mode is not enabled
- for plugins that don't have a GitHub domain homepage, try parsing the bugs URL to be able to obtain release information
Thanks to @mkz212 for his contributions to the UI
- Add missing DE translations for child bridges (#1825) (@jsiegenthaler)
Also thanks to @mkz212 and @Staubgeborener for their contributions to the translation files
- update github release workflow (#1818)
- add generic restart hb modal, future use (#1821)
- Add Raspberry Pi 5 to list of Pi devices in bug-report template (#1824) (@jsiegenthaler)
- add api work for plugin icons
- update dependencies
- save bugs link as part of
IPackageJson
type
Happy Thanksgiving to our American friends! 🦃
v1.6.0
. If you are running a lower version of Homebridge, you should consider updating before installing this UI update.
- Add Child Bridge Pin Code (#1739)
- standardise modal footers (#1753)
- Fix table width, avoid overflow (#1758) (@jsiegenthaler)
- add UI details to status widget (#1789)
- modal pics + node update modal (#1806)
- i18n: Update fr.json (#1705) (@SonnyT72)
- Add Alpha Releases (#1740)
- update dependencies (#1745)
- update github release workflow (#1746)
- ui lint sort imports and exports (#1750)
- update lang sync - remove old translations (#1751)
- various code improvements + simplifications (#1754)
- remove node 11 polyfill from self-check (#1777)
- remove old hb checks, import functions directly (#1780)
- stricter lint rules in api and ui (#1783)
- graceful fail when issue with node dist list response (#1800)
- Update node-pty-prebuilt-multiarch to 0.11.12
- Fixes for #1698, update-node failing with npm not found
- Prevent the UI from updating when running an unsupported version of Node.js
- This mimics the behaviour of updating Homebridge itself
- The option of 'Update Anyway' will still appear for other plugins when running an unsupported version of Node.js
- GLIBC Version is now cached
- When uninstalling a plugin, it will also be removed from the disabled plugin list if it was previously disabled
- Fixed icon widths throughout UI
- Updated menu (thanks @mkz212!)
- Added links to main dropdown menu: 'Logs' and 'Restart Homebridge' + reordered list
- Changed the menu layout order
- Made the dropdown darker in dark mode (#1660)
- Username is now displayed by logout Menu option
- Updated default layout
- System Information Widget
- Update ordering of rows
- Added
Node.js Path
andPlugin Path
rows - Added alert icon and modal when running an older OS that cannot update to Node.js 18/20
- Added alert icon and modal when not running in service mode
- Homebridge Widget
- Added ability to scroll Homebridge widget (#1651)
- 'Update available' icons are now up-arrows to match plugins page
- Enhanced the 'Restart Homebridge Now' modal to now Show 'Restart Child Bridges' modal after any plugin update if that plugin is set up as a child bridge
- Change plugin options dropdown icon to vertical ellipsis for consistency with restart Homebridge icon in top menu
- Move plugin homepage link to plugin options dropdown
- Move Homebridge UI API link to plugin options dropdown
- Hide 'Donate' and 'Verified' text (on plugin tiles) on small screens
- 'Verified' text on plugin tile now opens a modal rather than linking to Homebridge wiki
- When
Update Availble
/Beta Update Available
are available an arrow icon is now displayed by Plugin menu icon - Added icons to plugin statuses: 'Installed' and 'Not Installed'
- The following new language strings have been added to each language file - calling on all our translators to continue your hard work!
- ADDED:
child_bridge.label_child_start
child_bridge.label_child_stop
menu.hbrestart.confirm_button
menu.hbrestart.confirmation
menu.hbrestart.title
menu.linux.label_logs
plugins.button_api_documentation
plugins.button_homepage
plugins.manage.child_bridge_button_restart_now
plugins.manage.child_bridge_button_restart_now_one
plugins.manage.child_bridge_restart_success
plugins.manage.child_bridge_restart_failed
plugins.manage.message_thanks_for_updating_restart_child_bridges
plugins.manage.modal_verified_cta
plugins.manage.modal_verified_message
plugins.manage.modal_verified_title
plugins.node_update_homebridge_ui_upgrade_and_try_again
status.widget.systeminfo.label_disabled
status.widget.systeminfo.label_enabled
status.widget.systeminfo.label_glibc_warning
status.widget.systeminfo.label_no
status.widget.systeminfo.label_nodejs_path
status.widget.systeminfo.label_yes
status.widget.systeminfo.modal_glibc_cta
status.widget.systeminfo.modal_glibc_message
status.widget.systeminfo.modal_glibc_title
status.widget.systeminfo.modal_servicemode_cta
status.widget.systeminfo.modal_servicemode_message
status.widget.systeminfo.modal_servicemode_title
- UPDATED:
plugins.manage.message_thanks_for_updating_restart
plugins.donate.message_learn_more
status.message_code_scan_instructions
- ADDED:
- i18n: Update pl.json (#1633)
- i18n: Update fr.json (#1629)
- i18n: Update es.json (Improves Spanish localization) (#1632)
- Updated dependencies, including
@homebridge/node-pty-prebuilt-multiarch
to0.11.10
(thanks @NorthernMan54!)
- i18n: Update de.json (#1627)
- Fix text in post-plugin-update modal which wasn't showing translated strings properly
- Revert HomeKit code formatting change
- Show UI and plugin updates for newer beta versions when already running a beta version of the plugin
- Note: this only works when a plugin uses a
beta
NPM tag for beta releases
- Note: this only works when a plugin uses a
- Show 'Restart Homebridge Now' modal (with additional messaging for child bridges) after any plugin update, not just the UI
- Update HomeKit Setup Code Format: 1234-5678, making it more consistent with the Home App #1612
- The following new language strings have been added/updated to each language file - calling on all our translators to continue your hard work!
- ADDED:
plugins.manage.label_release_notes
plugins.manage.label_release_notes_beta
plugins.manage.message_thanks_for_updating_restart
plugins.status_update_beta_available
- UPDATED:
plugins.manage.message_thanks_for_updating
- ADDED:
hb-service
will now refuse to installnode
versions less than16.18.0
- Plugin node warning screen will appear when running a version of
node
lower than18.15.0
(bumped up from14.15.0
) - UI node warning screen will appear when running a version of
node
lower than18.15.0
(bumped up from10.17.0
) - Obtain correct beta branch name for Homebridge (and UI) (#212b3eb)
- Rename pre-release npm tag from
test
tobeta
for consistency with other Homebridge repositories (#86ea73f) - Updated dependencies
- Update
@homebridge/node-pty-prebuilt-multiarch
to version v0.11.8 (updated build process and back-level support for Synology DSM devices)
- Improved guard rails around the Node.js 20 update for environments that can not support Node.js 20 (#1604)
- Include commentary in the release notes about the possibility of needing to run
sudo hb-service rebuild
after updating, and how to determine if your system is compatible with Node.js 20.
- Blocks update-node from updating to version 20 on versions of Linux that don't support it and prevents this issue
node: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version 'GLIBCXX_3.4.26' not found (required by node)
(#3453) - Fix for unable to update NodeSource based Node.js version (#1603)
- Colon Markdown emojis are not parsed as they are on GitHub (#1601)
- Prevent tooltip from displaying after Node.js modal (#1600)
-
Node Support
⚠️ Node 16 has reached end-of-life and is no longer supported by the Homebridge UI.- Starting with v4.51.0, the Homebridge UI will no longer work with Node 16, only Node 18 and 20
- Homebridge UI follows the same Node support schedule as Homebridge. See the How-To-Update-Node.js page in the Homebridge wiki for more information
-
Plugins
- Use plugin display name if available (#1582)
- System:
- Fixes for
Script https://deb.nodesource.com/setup_X is now deprecated
( #1586 #1560 #1589 ) - Updated backend dependencies (#1571 and #1569)
- Updated frontend dependencies (#1572)
- Update @homebridge/node-pty-prebuilt-multiarch to version v0.11.7 ( Node 20 Support and upstream refresh )
- Fixes for
- System: Update comparison to timing safe (1535)
- i18n: Update pt.json (1503)
- i18n: Use verb form for buttons and menu items (1533)
- i18n: Wait for custom UI (1526)
- Updated npm dependencies
- Plugins: Add singular plug-in label (1458)
- i18n: Document the default port/address that you can access the UI in your web browser
- i18n: Improve translations (1459)
- i18n: Update zh-CN.json (1503)
- System: Updates to workflow release process
- System: Transfer of homebridge-config-ui-x support to the homebridge community. Tks Oznu for your efforts on this package.
- Backups: Restore never starts on version 4.50.2 (#1457)
- System: hb-service update-node issue: Stops homebridge from starting (#106)
- Homebridge: Add systemd-resolved Advertiser to UI (#1430)
- Backups: Backups now ignore symlinks, sockets, pipes etc.
- Dashboard: Fix an issue displaying the log viewer and terminal widgets on Chrome > 104 (#1400)
- Backups: Fixed an issue restoring backups when the Homebridge storage directory is a symbolic link
- Backups: All symbolic links are de-referenced when performing a backup (the raw symlink is backed up, not what it pointed to)
- i18n: Improvements to Ukrainian language translations (#1390)
- i18n: Improvements to French language translations (#1393)
- i18n: Improvements to Spanish language translations (#1396)
- i18n: Improvements to German language translations (#1399)
- Node.js v14.15.0 or later is REQUIRED - See How To Update Node.js
- Dropped support for Node.js versions prior to v14. Do not update to this version if you are not running v14.15.0 or later
- i18n: Improvements to Swedish language translations (#1380)
- i18n: Improvements to Polish language translations (#1389)
- Updated npm dependencies
- Backups: Exclude
.npmrc
files from backups - Plugins: A plugin with a custom user interfaces will have it's optional
customUiPath
property re-evaluated when the package version changes (#1379) - Plugins: Prevent a plugin using symlink to define a
customUiPath
outside it's root directory - Plugins: Changed "install previous version" to "Install Alternate Version" (#1385)
- Auth: Fixed form validation for autofilled username and password (#1388)
- Plugins Faster, and hopefully more reliable, updater and installer for Verified Homebridge Plugins exclusively on the following platforms:
- Debian-based Linux (via apt package): requires apt package update (=>1.0.27)
- Docker: requires image update (=>2022-07-08)
- Synology DSM 7: requires package update via DSM Package Center (=>3.0.7)
- If the new install / update process fails, it will automatically fall back to using the standard
npm
update method
- i18n: Improvements to Italian language translations (#1373)
- i18n: Improvements to Korean language translations (#1374)
- i18n: Improvements to Korean language translations (#1375)
- Backups: Fixed an issue that could prevent backups being created on Synology DSM due to not being able to read the
#recycle
directory - System: Set a 60-second timeout on the pre-start job to clean up stale temporary npm directories on Linux running via
hb-service
; this should fix the errors some users were seeing when the task took more than the 90 seconds systemd allows by default (#1371)
- System Faster, and hopefully more reliable, updater for the Homebridge UI on macOS, Linux, Docker and FreeBSD
- This will only apply to updates after v4.48.0, not updating to v4.48.0
- If the new update process fails, it will fall back to using the standard
npm
update method automatically - Linux (via apt package): requires apt package update (=>1.0.25)
- Linux / macOS / FreeBSD (setup via
hb-service install
): no changes required - Docker: may require image update (=>2022-06-24)
- Synology DSM 7: requires package update via DSM Package Center (=>3.0.5)
- i18n: Improvements to Thai language translations (#1364)
- Auth: Login wallpaper is now a solid colour matching the users current theme, custom wallpaper images are still used if configured
- System: Stale temporary npm directories that prevent the UI and other plugins from updating (
npm ERR! code ENOTEMPTY
) will be removed when doing a full service restart for users running on Linux withhb-service
- i18n: Improvements to Thai language translations (#1354)
- i18n: Improvements to Polish language translations (#1361)
- Dashboard: Fix some font size scaling issues (#1360)
- System: @ohmantics added FreeBSD support to
hb-service
(#1349)- Users running FreeBSD can now set up Homebridge as a service using the
hb-service install
command - Also supports running inside TrueNAS Jails (tested with a FreeBSD 13.1 Jail)
- Users running FreeBSD can now set up Homebridge as a service using the
- Backups: Fixed a bug preventing the storage directory from being backed up when it was a symbolic link
- Plugins: Allow the modal to be closed when a plugin install or upgrade fails
- Plugins: Child bridge status and controls now appear on the plugin tile
- If a plugin has multiple child bridges, the status indicator shows the least favourable status
- Clicking the restart button on the plugin tile will restart all the plugin's child bridges
The following features have been added, but will not be active until the upcoming release of Homebridge v1.5.0 is installed:
- Plugins: If a child bridge is not paired with HomeKit, a pairing icon will show on the plugin tile
- Plugins: Add ability to stop / start a plugin's child bridges
- Plugins: When disabling a plugin, any of its child bridges will be stopped
- Plugins: When enabling a plugin, any of its child bridges already registered in the current Homebridge process will be re-started
- Plugins: Prevent closing the modal when a plugin install or update is in progress
- i18n: Improvements to Czech language translations (#1343)
- i18n: Improvements to German language translations (#1345)
- i18n: Improvements to Polish language translations (#1125)
- Backups: If a backup fails, the temporary directory it created is removed
- Auth: Fix a bug that prevented the 2FA prompt from showing up when logging in
- System: Notify users running on a Raspberry Pi if their device is reporting under-voltage events
- System: Added a first time setup wizard that allows user to create a Homebridge UI user account or restore from an existing backup
- Auth: The default credentials of admin / admin are no longer set for new installs
- i18n: Improvements to Italian language translations (#1333)
- i18n: Improvements to Indonesian language translations (#1336)
- Plugins: Fixed a bug where local environment variables were stripped from the server side scripts of custom plugin user interfaces (oznu/homebridge-syno-spk#85)
- i18n: Improvements to Dutch language translations (#1330)
- i18n: Improvements to German language translations (#1319)
- Dashboard: Start showing Node.js update warning icon for users running < Node.js v14.15.0
- Dashboard: Removed npm version from the System Information widget
- System: Changes to support Homebridge
apt
package installation - System: Fresh installations on Linux will have the default mdns advertiser set to
avahi
if theavahi-daemon
service is running
- UI: Fixed a bug preventing modals from closing correctly (#1317)
- System: The
hb-service update-node
command will now check glibc v2.28 or later is present on Linux systems before allowing an update to Node.js 18+ - System: The
hb-service update-node
will now check for macOS 10.15 Catalina or later before allowing an update to Node.js 18+
- i18n: Improvements to Portuguese language translations (#1282)
- i18n: Fixed typo (#1315)
- Accessory Control: Fix alignment of light sensor tile information (#1285)
- Accessory Control: Fix light sensor rounding (#1295)
- Accessory Control: Fix a bug where the battery service could display the charge level as null (#1269)
- System: The
hb-service update-node
command now works on the native Homebridge Synology DSM Package (via integrated terminal only) - Updated npm dependencies
- i18n: Hebrew (he) language added by @blackcolt (#1258)
- Accessory Control: @Feilner added support for Smoke Sensor accessory types (#1263)
- Homebridge: Added the ability to select the
avahi
mdns advertiser when running Homebridge 1.4.x or later on Linux based systems (#1266)
- i18n: Improvements to French language translations (#1260)
- Minor changes to support a native Homebridge Synology DSM Package
- Fixed a type error on startup on low powered ARM devices (such as the Raspberry Pi Zero W) (#1251)
- Accessibility improvements (#1226)
- Increase timeout for requests made to npm from 5 seconds to 10 seconds.
- System: Updated the
hb-service update-node
command to allow updating Node.js on Apple M1 (#1246) - Updated npm dependencies
- System: Added a fix to the
hb-service update-node
command to prevent it breaking npm when upgrading from Node 14 to 16
- i18n: Improvements to Ukrainian language translations (#1197)
- i18n: Improvements to Thai language translations (#1200)
- i18n: Improvements to Traditional Chinese language translations (#1240)
- Plugins: The following features have been added to assist plugin developers building custom plugin user interfaces:
- The "loading" spinner is now correctly shown on top of schema generated forms (#1198)
- i18n: Ukrainian (uk) language added by @xrust83 (#1190)
- The Homebridge UI is now available in 26 different languages!
- i18n: Improvements to Thai language translations (#1159)
- i18n: Improvements to Italian language translations (#1166)
- Updated npm dependencies
- i18n: Improvements to Catalan language translations (#1138)
- i18n: Improvements to Brazilian Portuguese language translations (#1139)
- i18n: Improvements to Thai language translations (#1141)
- i18n: Improvements to Simplified Chinese language translations (#1153)
- Accessory Control: Updated accessory categories (#1154)
- System: Preliminary support for Node.js 16 (please continue to use Node.js v14.16.1 LTS for now)
- Dashboard: The Homebridge status shown on the dashboard will now instantly reflect the current Homebridge status
- As additional status of Starting has been added, which is shown when the Homebridge process has been spawned, but not yet fully loaded
- These changes will only be enabled when combined with
hb-service
and Homebridge v1.3.3 or later
- i18n: Thai (th) language added by @tomzt (#1114)
- The Homebridge UI is now available in 25 different languages!
- i18n: Improvements to Slovenian language translations (#1116)
- i18n: Improvements to Indonesian language translations (#1117)
- i18n: Improvements to French language translations (#1121)
- i18n: Improvements to Spanish language translations (#1122)
- i18n: Improvements to Portuguese language translations (#1124)
- i18n: Improvements to Polish language translations (#1125)
- i18n: Improvements to German language translations (#1127)
- i18n: Improvements to English language translations (#1130)
- i18n: Improvements to Traditional Chinese language translations (#1133)
- i18n: Improvements to Simplified Chinese language translations (#1135)
- The
/api/status/homebridge
endpoint can now return an additional status ofpending
.
- Accessory Control: @Feilner added support for Humidifier / Dehumidifier accessory control in the UI (#1100)
- Plugins: Better checking for release notes before an update (#1103)
- System: Handle the server time being different from the client (browser) time
- i18n: Improvements to French language translations (#1110)
- i18n: Improvements to Polish language translations (#1111)
- i18n: Improvements to Portuguese language translations (#1112)
- i18n: Improvements to Polish language translations (#1078)
- i18n: Improvements to Spanish language translations (#1079)
- i18n: Improvements to German language translations (#1081,#1090)
- i18n: Improvements to French language translations (#1084)
- i18n: Improvements to Catalan language translations (#1087)
- i18n: Improvements to Portuguese language translations (#1094)
- i18n: Improvements to Dutch language translations (#1095)
- Plugins: Plugin install/update/uninstall logs are now more readable on mobile devices (#1097)
- Fixed an issue where Homebridge accessories were not showing up in the UI after upgrading to Homebridge v1.3.x (#1093)
- Fixed an issue where some valid network interfaces were not showing up in the network interface selector (#1096)
- Fixed an issue running the UI on Linux systems without outdated
libstdc++
libraries (#1086)
- Plugins: Added the ability to view and edit the raw JSON config for an individual plugin (accessed via the spanner drop down on the plugin tile, non-mobile devices only)
- Plugins: Limited the plugin update check concurrency to the number of CPU cores, this should reduce the chance of an update check timeout for users on low powered devices (such as the Raspberry Pi Zero W) (#1020)
- Backups: Scheduled backups now happen at a random time between 12am and 6am in your server's local timezone (instead of 1:15am) - the next backup time will be shown in the UI on the Scheduled Backups modal (#1020)
- i18n: Improvements to Simplified Chinese language translations (#1062)
- i18n: Improvements to Portuguese language translations (#1069)
- i18n: Improvements to Polish language translations (#1072)
- i18n: Improvements to French language translations (#1074)
- Accessory Control: Irrigation systems now only show as running when they are running (#1056)
These features will appear in once Homebridge v1.3.0 or later is installed (currently in beta):
- Homebridge: Added the ability to swap between the
ciao
andbonjour-hap
mdns advertisers
- i18n: Improvements to Polish language translations (#1047,#1049,#1058)
- i18n: Improvements to Spanish language translations (#1055)
- Homebridge: The dashboard will now show when a newer beta release is available (only for users currently running a beta version of Homebridge)
- Fixed an issue that would prevent the UI from rendering in some older browsers when it was accessed via an IP address
These features will appear in once Homebridge v1.3.0 or later is installed (currently in beta):
- Plugins: Added the ability to configure, manage, and restart child bridges
- Child bridges allow you to run any plugin's platform or accessory as an isolated child bridge without having to manage multiple Homebridge instances
- Dashboard: Added a new Child Bridge Status widget the dashboard for
hb-service
users that shows the current status of a child bridge (down, pending, ready) and allows you to restart an individual child bridge
- i18n: Macedonian (mk) language added by @dimovskidamjan (#1011)
- The Homebridge UI is now available in 24 different languages!
- Plugins: The following features have been added to assist plugin developers building custom plugin user interfaces:
- Added an option to retrieve a list of cached accessories for the plugin using the
homebridge.getCachedAccessories
method
- Added an option to retrieve a list of cached accessories for the plugin using the
- i18n: Improvements to Portuguese language translations (#1014,#1034,#1038)
- i18n: Improvements to Polish language translations (#1032,#1036)
- i18n: Improvements to French language translations (#1035,#1037)
- i18n: Improvements to Catalan language translations (#1042)
- i18n: Improvements to Spanish language translations (#1039)
- i18n: Improvements to Turkish language translations (#1041)
- i18n: Improvements to Traditional Chinese language translations (#1045)
- Dashboard: The battery accessory type is now correctly displayed in the Accessories widget (#998)
These features will appear in once Homebridge v1.3.0 or later is installed (currently in beta):
- Homebridge: Added the ability to swap between the
ciao
andbonjour-hap
mdns advertisers - Plugins: Added the ability to disable plugins without having to uninstall them or remove their config from the Homebridge
config.json
file (#287,#790,#791,#864,#931,#990,#1029)
- Homebridge: Users running Homebridge v1.2.x will now be prompted to update to Homebridge v1.2.4
- i18n: Improvements to Japanese language translations (#980)
- Auth: Fix an issue that prevented the "Login" button from being enabled when autofilling credentials on iOS (#993)
- i18n: Korean (ko) language added by @thankee (#976)
- The Homebridge UI is now available in 23 different languages!
- i18n: Improvements to Japanese language translations (#978)
- Plugins: Custom plugin user interfaces now work correctly in older browsers that do not support the
EventTarget
constructor - Plugins: Ensure
@eaDir
folders are removed from the/homebridge/node_modules
folder when running with Docker on Synology DSM (#970) - Plugins: Attempt to automatically clear the npm cache if a UI update fails (#923)
- System: Lockdown the systeminformation dependency version (#969)
- Plugins: (BETA) Plugin developers building custom plugin user interfaces can now create arbitrary standalone forms using a schema - see docs
- i18n: Improvements to Simplified Chinese language translations (#952)
- i18n: Improvements to Catalan language translations (#953)
- i18n: Improvements to French language translations (#955)
- i18n: Improvements to Italian language translations (#957)
- i18n: Improvements to Polish language translations (#962)
- Backup/Restore: Ensure the UI is restarted along with the bridge after restoring a backup regardless of how the user triggers a restart (#963)
- Accessory Control: @Feilner added support for Door and Window accessory control in the UI (#945)
- Accessory Control: @Feilner added accessory icons for Stateless Programmable Switches (#951)
- Plugins: (BETA) The following features have been added to assist plugin developers building custom plugin user interfaces:
- Added an option to toggle the display of the schema-generated config form below the plugin's custom user interface - see docs
- Added the ability to load the plugin's custom ui from a local development server (such as the Angular/Vue/Webpack dev servers) - see docs
- Added the ability to customise the location of the plugin's custom ui assets using the
customUiPath
property in theconfig.schema.json
- i18n: Improvements to Simplified Chinese language translations (#942)
- i18n: Improvements to German language translations (#946)
- i18n: Improvements to Spanish language translations (#950)
- API: Added REST API endpoints to look up and update the config for a single plugin, see the Swagger API documentation for details
- System: Display a warning in the UI when the client (browser) is running a newer version than the server - this can happen if the service is not restarted after updating the Homebridge UI
- Plugins: (BETA) Added the ability for plugin developers to create fully custom configuration user interfaces for their plugins
- This is an optional feature developers can use if they need more advanced functionality than the current config.schema.json generated form provides
- Developers can use standard HTML / CSS and JavaScript (or even a front end framework like Vue, Angular or React) to build their user interfaces
- Developers can also create a server-side script which accepts requests from their plugin user interface
- See the documentation for further information
- Homebridge: Added the ability to select which interfaces Homebridge should advertise and listen on (this feature will appear in Homebridge Settings when the upcoming release of Homebridge v1.3.0 is installed)
- Themes: When using dark mode,
readonly
inputs in a Plugin's Settings GUI are now distinguishable from editable inputs
- Backup/Restore: Added the
scheduledBackupDisable
option to allow users to disable the automated daily instance backups (#938) - i18n: Improvements to Catalan language translations (#919)
- i18n: Improvements to Simplified Chinese language translations (#927,#936)
- i18n: Improvements to Italian language translations (#928)
- i18n: Improvements to Polish language translations (#929,#935)
- i18n: Improvements to French language translations (#937)
- i18n: Improvements to Spanish language translations (#939)
- Backup/Restore: Full instance backups are now automatically made daily (01:15) (#660)
- Backup archives will be kept for 7 days before being removed
- Backup archives will be stored in your Homebridge config folder (
./backups/instance-backups
) - Users can customise the directory that backups are saved to by setting the
scheduledBackupPath
option - this allows you to have the automated backups archives saved to a network share or backup drive - Users can download these scheduled backups by opening the existing Backup / Restore tool
- Added REST API endpoints for getting the list of automated backups, and downloading an existing backup archive
- See the Homebridge Backup and Restore wiki article for further information about instance backups
- hb-service: Added full support for Enterprise / Red Hat / CentOS / Fedora Linux distributions - wiki guide here
- Config Editor: When loading a previous version of the config.json, a diff will be shown to highlight the changes from the current config and the one that will be restored (#910)
- Config Editor: Previous versions of the config.json file more than 60 days old will be periodically be deleted to remove the need for manual maintenance (#732)
- User Accounts: You can now change the login username of existing user accounts
- i18n: Improvements to French language translations (#916)
- i18n: Improvements to Spanish language translations (#917)
- i18n: Improvements to Polish language translations (#918)
- i18n: Catalan (ca) language added by @bwp91 (#892)
- The Homebridge UI is now available in 22 different languages!
- Themes: Added 11 more dark mode theme options with various colour accents (#883)
- System: Initial support for Node.js v15 and npm v7, however please stay on the current LTS version of Node.js (currently v12.19.0) (#904)
- Config Editor: Fixed a bug that prevented the purging of config.json backups (#898)
- Ring Plugin: Fixed an issue that prevented two-factor authentication codes with leading zeros from being accepted when linking a Ring Account (#dgreif/ring#471)
- Config Editor: Updated the config editor hover help text to let users know it's possible to define an interface or an IP for the mdns interface (#899)
- i18n: Improvements to Slovenian language translations (#889)
- i18n: Improvements to Simplified Chinese language translations (#890)
- i18n: Improvements to Spanish language translations (#891,#900)
- i18n: Improvements to French language translations (#893)
- i18n: Improvements to Italian language translations (#894)
- i18n: Improvements to German language translations (#895)
- i18n: Improvements to Japanese language translations (#897)
- Plugins: Added the ability to roll back to a previous version of a plugin, or install the beta/test version of a plugin
- Homebridge: Added the ability to roll back to a previous version of Homebridge, or install the latest beta version of Homebridge (#877)
- Click the Homebridge version on the status dashboard to access this feature
- Config Editor: Automatic backups of the
config.json
file are now saved to./backups/config-backups/
to reduce clutter in the Homebridge storage folder (#732)- Existing config backup files will be moved on next restart
- Restart: Made it more obvious which button to click when you need to restart Homebridge
- Restart: The restart page now shows separate statues for the UI and Homebridge
- Restart: Users running with
hb-service
will now be prompted to view the Homebridge logs if the Homebridge service is taking a long time to come back online after a restart - i18n: Brazilian Portuguese (pt-BR) language added by @zearthur99 (#880)
- The Homebridge UI is now available in 21 different languages!
- Plugins: Minor cosmetic improvements to the plugins settings GUI
- i18n: Improvements to French language translations (#881,#882)
- i18n: Improvements to Polish language translations (#884,#886)
- Plugins: The plugin-specific JSON config editor will now automatically correct invalid JSON in more scenarios
- Auth: Some changes to the "No Authentication Required" mode (#865)
- i18n: Improvements to German language translations (#845)
- i18n: Improvements to Spanish language translations (#867)
- i18n: Improvements to Traditional Chinese language translations (#868)
- i18n: Improvements to Polish language translations (#874)
- i18n: Improvements to Italian language translations (#876)
- i18n: Improvements to Simplified Chinese language translations (#878)
- Plugins: The Settings action button will now appear on all plugins, even if they don't implement the Plugin Settings GUI
- For most plugins that don't implement the Plugin Settings GUI, the user will now be shown a config editor where they can manage the config just for that plugin
- Plugins: Dramatically increased the number of plugins which the Homebridge UI can offer to automatically remove the config for when uninstalling the plugin
- API: Added REST API endpoints to look up the plugin type and plugin alias that are needed to configure the plugin, see the Swagger API documentation for details
- Backup/Restore: When restoring a backup, the original plugin version will be preserved
- i18n: Improvements to Spanish language translations (#837)
- i18n: Improvements to German language translations (#834)
- i18n: Improvements to Swedish language translations (#850)
- API: Added REST API endpoints to look up a single plugin from NPM, see the Swagger API documentation for details
- hb-service: The Homebridge version is now reflected in the HB Supervisor logs after an update (#848)
- User Management: Fixed a typo in the toast error message when loading users (#859)
- Plugins: Resolved an issue discovering the
npm
path on certain Windows installations (#851)
- i18n: Improvements to Dutch language translations (#827)
- i18n: Improvements to French language translations (#828)
- i18n: Improvements to English language translations (#829)
- Plugins: Settings GUI: Fixed a bug that caused the cursor to go to the end of the text input field when editing
- Plugins: Fixed a bug that resulted in the verified plugins list being updated more frequently than it should have been
- Plugins: Partnered with
homebridge-nest-cam
to integrate the "issue token" retrieval process into the UI (may require plugin update) - API: Added REST API endpoints to list and control Homebridge accessories, see the Swagger API documentation for details
- i18n: Improvements to Italian language translations (#822,#825)
- i18n: Improvements to Simplified Chinese language translations (#823)
- i18n: Improvements to Polish language translations (#824)
- Plugins: Plugins are now properly sorted in Firefox (#762)
- Plugins: Fix an issue rendering the title of an array in a plugin's config.schema.json (#777)
- hb-service: Further improvements towards ensuring the UI is always accessible
- Dashboard: CPU temperature unit of measure can now optionally be set to differ from the system default (#783)
- Updated npm dependencies
- Auth: Improve two-factor authentication autocomplete (#819)
- Fix a bug that caused the UI not to load when it's debug mode was enabled (#811)
- i18n: Improvements to Indonesian language translations (#810)
- Dropped support for Node.js < 10.17.0
- Node.js versions 13.0.0 through 13.6.0 are not supported
- Plugins: Added the ability for developers of verified plugins to display ways users can support them if they wish
- hb-service: Additional log management features for users running Homebridge with
hb-service
only:- Download the full Homebridge log file from the Log Viewer tab (#795)
- Truncate/empty the Homebridge log file from the Log Viewer tab
- i18n: Improvements to Italian language translations (#716,#801,#803)
- API: Swagger API documentation is now complete (#776)
- Updated npm dependencies
- Accessory Control: Fixed an issue with HeaterCooler control (#772)
- Log Viewer: Fixed an issue that prevented scrolling back in Safari (#755)
- Dashboard: Layout is locked by default on iPad Pro (#756)
- Auth: Two-Factor Authentication codes are now only valid for a single login only
- Auth: Two-Factor Authentication codes are now valid for a window of +1
- System: The
hb-service update-node
command now explains why it cannot run on Alpine Linux, rather than showing a generic message that the platform is not supported (#745) - Updated npm dependencies
- Accessory Control: Fahrenheit temperature display units are now rounded to one decimal place (#741)
- System: (BETA) Added a command to
hb-service
to allow users to easily update their systems Node.js version to the latest LTS version- The command will work out where you currently have Node.js installed, and how you installed it, so you don't end up with multiple versions of Node.js installed in different places
- The command can be used by all Homebridge users, not just those running Homebridge under
hb-service
- Supports macOS (excluding brew / other non-standard installs) and most Linux distributions (binary or from NodeSource repos)
- Will not change your system unless it knows how to update safely
- Update to latest LTS:
sudo hb-service update-node
- Install specific version:
sudo hb-service update-node 10.17.0
- Accessory Control: Added support for Heater Cooler accessory type
- Accessory Control: Current temperature is now displayed with one decimal point (#376)
- Plugins: Improvements to the homebridge-ring plugin authorisation UI (#734)
- Updated npm dependencies
- hb-service: Improvements to the log viewer and log rotation management (#731)
- i18n: Improvements to Portuguese language translations (#716)
- i18n: Improvements to Russian language translations (#721, #724)
- i18n: Improvements to German language translations (#730)
- Login: Login wallpaper now properly covers larger screens (#723)
- API: Added Swagger API Documentation; you can access this via
/swagger
(this is the same API already in use by the web client) - Auth: Added the ability to secure your Homebridge UI user account with Two-Factor Authentication, drop-down menu -> User Accounts -> Setup 2FA
- Login: Custom wallpaper can now be added by added a
ui-wallpaper.jpg
file in your Homebridge storage directory (and leaving theloginWallpaper
config option blank) (#697) - Login: Custom wallpaper changes will now break the browser cache (#700)
- i18n: Portuguese language translation added by @SamuelMagano (#698, #708)
- i18n: Improvements to Polish language translation (#695, #705, #707)
- i18n: Improvements to Simplified Chinese language translations (#696)
- i18n: Improvements to French language translations (#699, #711)
- i18n: Improvements to German language translations (#704)
- i18n: Improvements to Traditional Chinese language translations (#713)
- Plugins: Fixed a bug that caused the UI to fail to check if a plugin's
package.json
file exists correctly before attempting to open it
- Server: Added the ability to unpair selected bridges / cameras / TVs without needed to reset the main Homebridge instance, this feature is available from the drop-down menu -> Homebridge Settings
- hb-service: Users can now remove individual accessories from the accessory cache, drop-down menu -> Homebridge Settings -> Remove Single Cached Accessory (#202)
- i18n: Slovenian language translation added by @mitchoklemen (#694)
- i18n: Improvements to English language translation (#689)
- i18n: Improvements to Czech language translation (#691)
- i18n: Improvements to Polish language translation (#693)
- hb-service: Fix a bug that caused strange behaviour on boot for users running macOS with home folders mounted on a remote network share (#680)
- Accessory Control: Fixed an issue where the accessory name would sometimes not be displayed correctly (#690)
- Plugins: Plugin "update available" status is now cached for 5 minutes to reduce the number of outbound calls to the npm registry and decrease load times for the plugins tab for those with slower internet connections
- Plugins: If the initial attempt to load the "Verified Plugins" list fails, the UI will now try again after 60 seconds
- Plugins: Added the ability for developers to customise the "Add Item" button label in the settings ui (#668)
- Plugins: Added a "clear query" button to the right of the search box (#674)
- Plugins: Users of
homebridge-hue
can now download the debug dump file from the UI (#676) - Backup/Restore: Added the ability to restore a
.hbfx
backup file
- i18n: Improvements to Simplified Chinese language translations (#672,#684)
- i18n: Improvements to Italian language translations (#678)
- Plugins: Developers can now interpolate the current hostname into their header and footer markdown (#661)
- Plugins: Fixed an issue with select boxes in the plugin settings GUI (#665)
- i18n: Improvements to Polish language translations (#656)
- i18n: Improvements to Traditional Chinese language translations (#659)
- i18n: Improvements to German language translations (#662)
- Updated npm dependencies
- Plugins: Fixed a bug that prevented the plugins from loading when there was a bad file in the global node_modules directory (#657)
- hb-service: Add support for configuring the new Keep Orphans flag,
-K
(#642)
- i18n: Improvements to Traditional Chinese language translations (#630)
- i18n: Improvements to Spanish language translations (#635)
- Docker: Fixed an issue that prevented plugins from being installed/updated when using the Debian/Ubuntu versions of the oznu/homebridge Docker image
- Homebridge Updates: If Homebridge fails to update the error logs will now be displayed on the screen
- Accessory Control: The accessory layout will now be unlocked when adding a new room (#643)
- Accessory Control: Added support for Valves and Irrigation Systems (#47)
- Accessory Control: Added support for Fan V2 (#47)
- Accessory Control: Added support for Air Purifiers (#47)
- Accessory Control: @NicoFR75 added support for Light Sensors (#623)
- i18n: Improvements to German language translations (#613, #614)
- i18n: Improvements to Polish language translations (#615, #620)
- i18n: Improvements to Russian language translations (#617)
- Updated npm dependencies
- Accessory Control: Added support for HAP short-form UUIDs (#624)
- Plugins: A warning message will now be show when updating a plugin that requires a newer version of Node.js than the user currently has installed
- Homebridge: The next release of Homebridge will require Node.js v10.17.0 or later, the UI will prevent Homebridge from updating if the user's Node.js version is lower than this
- Accessory Control: Accessories from other Homebridge instances will no longer be displayed unless the other instance has the same PIN set
- i18n: Improvements to Polish language translations (#608)
- i18n: Improvements to Russian language translations (#609)
- Updated npm dependencies
- Config Editor: The config editor will now automatically correct some common JSON syntax errors on save such as removing trailing commas at the end of arrays and objects, removing comments, ensuring keys are quoted, and ensuring strings are quoted with double quotes instead of single quotes
- Linux: Users are now prompted for confirmation before shutting down or restarting the host server
- hb-service: Linux only: systemd will now really ensure the network is online before starting Homebridge (#605)
- i18n: Improvements to German language translations (#599)
- Updated npm dependencies
- Plugins: Fixed a bug that caused the plugin page not to load if the DNS lookup took a long time to timeout (#598)
- Plugins: The service will no longer attempt to check if updates are available for plugins that have
"private": true
set in theirpackage.json
file - Updated npm dependencies
- hb-service: Fixed a bug in the macOS installer that resulted in the wrong storage path being set in some circumstances (homebridge#2464)
- Updated npm dependencies
- System: When updating Homebridge, the release notes will now be shown prior to the update occurring
- hb-service: improved discovery of Homebridge install path
- Plugins: Added support for scoped npm modules as Homebridge plugins, this means you can install plugins from npm such as
@username/homebridge-plugin
. Requires Homebridge update (homebridge#2447)
- i18n: The display of dates (in the Clock widget for example) are now localised (#528)
- Accessory Control: If controlling an accessory fails, the error message is now shown in the UI as a toast notification
- hb-service: Linux only: Updated the generated systemd unit file,
homebridge.service
, to allow the UI to listen on ports below 1024 (requires service re-installation for existinghb-service
users) (#584) - i18n: Improvements to Traditional Chinese language translations (#585)
- i18n: Improvements to Dutch language translations (#588)
- Updated the loading spinner to match the set theme
- Updated npm dependencies
- Update UI to use Angular 9
- Accessory Control: Address an issue that may have caused the UI to crash when Homebridge becomes unavailable (#543, #583)
- hb-service: Added the ability to toggle Homebridge insecure mode (
-I
) from the UI when running underhb-service
- Accessory Control: Added support for Security System accessory types (#47)
- Accessory Control: Added support for Leak Sensor accessory types (#47)
- Dashboard: Added a configurable option to each widget to determine if it should be shown in the mobile/compact view (#560)
- Dashboard: @Staubgeborener added an option to the Homebridge status widget to let users decide if the Homebridge port should be shown or not (#572)
- Accessory Control: Updated the icons for Motion, Occupancy and Contact sensors (#47)
- Docker: Added various changes to facilitate the oznu/homebridge Docker image using
hb-service
(docker image update required) - Backup/Restore: If an error is encountered during a backup request (for example, a permission error), the error will now be logged to assist users in resolving the issue
- Dashboard: Allow the use of the previously removed
temp
option to read the CPU temperature from a file (#470) - i18n: Added the ability to manually set the UI language (#398)
- i18n: Improvements to Polish language translations (#568, #575, #576)
- i18n: Improvements to German language translations (#571, #578)
- i18n: Improvements to Russian language translations (#573, #577)
- Updated npm dependencies
This release comes with a new feature that allows users to back up and restore their entire Homebridge instance.
The backup and restore process works in such a way that users should be able to use the feature roll back to a previous state, or transfer their current Homebridge setup to a new server without the need to re-pair with HomeKit.
Highlights:
- Full backup of your Homebridge storage, persist and accessories folders
- Migrate your Homebridge instance to a new platform or server with ease
- Rollback your existing instance in seconds (if you made a full backup first)
- The backup is a standard .tar.gz archive (this means manual restores or extracting a single file is possible)
- Works on all platforms that are supported by Homebridge Config UI X including Docker, macOS, Windows 10, Linux and Raspbian
- The restore process will install any missing plugins (provided they are published to npm)
- hb-service: When running under Homebridge using the
hb-service
process supervisor, the following changes have been made to the Restart action from the UI:- If no changes have been made to the Homebridge Config UI X, or the
bridge
sections in theconfig.json
, just the Homebridge process will be restarted - If changes have been made to either of those sections, both the UI and the Homebridge processes will be restarted as per normal
- This change will significantly decrease the Homebridge restart time on lower powered devices
- No changes have been made to the
hb-service restart
command executed via the Terminal
- If no changes have been made to the Homebridge Config UI X, or the
- i18n: Improvements to Russian language translations (#554, #564)
- i18n: Improvements to German language translations (#555, #559, #563, #565, #567)
- i18n: Improvements to Swedish language translations (#561)
- i18n: Improvements to Polish language translations (#562)
- Config Editor: Ensure the bridge port number is a valid number and automatically correct it on save if not (#553)
- i18n: Improvements to Polish language translations (#551)
- i18n: Improvements to Russian language translations (#552)
- Dashboard: Fixed a bug that caused Homebridge to display as "Not Running" when the bridge port number was quoted as a string in the
config.json
(#553)
- Dashboard: Added more date formats to the Clock widget (#463)
- Dashboard: Adjusted method used to check if the Homebridge process is running
- Config Editor: Enabled code folding
- Accessory Control: Added a message to the "Add Room" modal explaining that the rooms created will not appear in HomeKit
- Updated npm dependencies
- UI: Fixed the dropdown menu display on very small screens (#540)
- Docker: Fixed a bug that prevented the UI from restarting correctly when running the Debian Docker image
- System: The UI no longer requires a restart to apply changes to certain settings (such as theme, temperature units, sudo etc.)
- Plugins: Fixed a bug that caused duplicate help text in some circumstances (#535)
- i18n: Improvements to Polish language translations (#527)
- i18n: Improvements to German language translations (#529)
- i18n: Improvements to Russian language translations (#531)
- Plugins: Added a confirmation box when uninstalling plugins
- Plugins: Added an option to have a plugin's config removed from the
config.json
when the plugin is being uninstalled (only plugins that implement the Plugins Settings GUI support this feature) - System: The UI will now attempt to rebuild its own modules after a Node.js upgrade
- System: Added the ability for
hb-service
users to clear the Homebridge cached accessories from the UI (without doing a full Homebridge reset) - Dashboard: Weather widget now supports local translations of the current weather description (#515)
- i18n: Improvements to Polish language translations (#519)
- hb-service: Adjusted the
hb-service rebuild
command to just rebuild the modules used by Homebridge Config UI X. This command should now work to fix the modules used by Homebridge Config UI X on any setup - not just those usinghb-service
as a process supervisor - Accessory Control: Minor tweaks to the Speaker accessory type
- Updated npm dependencies
- Accessory Control: @LaborEtArs added support for Speaker and Battery Service accessory types (#500)
- i18n: Improvements to Russian language translations (#502)
- i18n: Improvements to German language translations (#512)
- Plugins: Prevent the dynamic
users
config for the homebridge-hue plugin from being deleted when using the Plugin Config GUI (#417) - Accessory Control:
CameraRTPStreamManagement
accessory types will no longer be displayed - Updated npm dependencies
- hb-service: Added an option to the
hb-service
to help users rebuild their Node.js modules after a major Node.js version update
- System: Fixed an issue causing the UI to crash when running in a FreeBSD Jailed Shell (#488)
- System: Fixed an issue that may have caused Homebridge not to restart when a certain plugin was installed when running on Docker (#494)
- System: Prevent in-app updates to the UI for Windows 10 users. Windows file-locking prevents online updates from completing successfully while Homebridge Config UI X is still running, this can leave Homebridge in an unstable state. After this update Windows users will need to manually stop the Homebridge service, then manually update the UI using npm. Existing Windows 10 users: please perform this update manually after stopping the Homebridge service!
- Dashboard: Added a Clock widget, users can select the time format they wish the clock to display (#459)
- hb-service: Added the ability for
hb-service
users to set the Homebridge-D
and-R
flags, as well as theDEBUG
andNODE_OPTIONS
environment variables directly from the UI (#472)
https://user-images.githubusercontent.com/3979615/72317538-b92b6780-36ed-11ea-8001-77921be18417.png
- i18n: Improvements to Polish language translations (#467)
- i18n: Improvements to Swedish language translations (#476)
- i18n: Improvements to German language translations (#482)
- Dashboard: Node.js / npm version warning icons will now only show up if you are using an unsupported version of Node.js, the latest available version can still be viewed by hovering over the current version
- Plugins: Added seamless account linking support for the Homebridge Honeywell Home plugin
- Plugins: Added the ability for Homebridge Ring users to get their Ring account
refreshToken
directly from the UI (#486)
- System: Fixed an issue causing the UI to crash when running in a FreeBSD Jailed Shell (#461)
- System: Prevent an unnecessary log message showing up in the logs on certain Linux distros (#466)
- System: Fixed a bug that caused the UI to crash when running in debug mode in production (#469)
- Dashboard: Fixed a bug where the "Plugin Status" icon was not changing when there were updates available (#443)
- Auth: Fixed a warning about a depreciated option that was in use (#473)
- Config Editor: Fixed an issue that prevented the on-screen keyboard from being able to be displayed after it was dismissed on an iPad Pro (#480)
This release comes with a brand-new status dashboard that features a fully customisable, widget-based design. Users can decide which widgets they wish to enable and position and resize them as they like.
https://user-images.githubusercontent.com/3979615/71886653-b16d3f80-3190-11ea-9ff8-49dc4ae4fff0.png
New widgets include:
- Homebridge Status Widget - Homebridge version and update check, current Homebridge service status and Homebridge plugins update check
- CPU Widget - shows the current cpu load (now much more accurate) and CPU temperature when available, plus a graph of the last 0-10 minutes cpu load
- Memory Widget - shows the total and available memory (previously "Free" memory as show which is not a reliable indicator of "Available" memory), plus a graph of the last 0-10 minutes free memory
- Uptime Widget - shows the server uptime and the process uptime
- QR Code Widget - shows the pairing QR Code and Homebridge PIN
- Homebridge Logs Widget - shows the Homebridge logs stream
- Homebridge Terminal Widget - an interactive terminal (only available when interactive web terminals are enabled)
- System Information Widget - shows details about your server and homebridge setup
- Weather Widget - shows the current weather for the set location (may add a forecast later)
- Accessories Widget - display and control the accessories you select
This release expands the hb-service
command to support macOS and Linux in addition to Windows 10. This command allows you to set up a Homebridge instance as a service in seconds.
Running hb-service install
will set up Homebridge and Homebridge Config UI X to run as a service with auto-start on boot. The same command works across Linux, macOS and Windows 10.
https://user-images.githubusercontent.com/3979615/71888439-4291e580-3194-11ea-8687-a3d58f94ba47.gif
Notable Features:
- The UI will remain running even if there is an issue preventing Homebridge from starting
- Easily setup and manage multiple homebridge instances
- The ability to start, stop, restart and view the logs of your Homebridge instances using the
hb-service
commands - See the wiki for further details
The config editor (non-mobile) has had the Ace Editor replaced with the Microsoft Monaco Editor (the code editor that powers VS Code).
This allows for much more powerful JSON syntax checking, more helpful error messages and the new ability to detect duplicate keys in object (like when a second platforms[] array is added by mistake!).
https://user-images.githubusercontent.com/3979615/71890579-b635f180-3198-11ea-98ab-cc7b7263afd9.gif
In addition:
- Help text is now shown when hovering over the core components of the config.json
- Autocomplete of the bridge, plugins, ports and mdns objects
- Detect when accessory config has been added to the platform array, or vice versa
- Warnings when the JSON does not match what is allowed by Homebridge
- Logs: URLs in the log output are now clickable
- Status: CPU utilization is now shown for Windows 10 users
- Status: CPU temperature option,
temp
, has been removed, the CPU temperature will now automatically be displayed where possible on Linux and Windows - System: Removed the
websocketCompatibilityMode
option, this setting is now the default for all users - Terminal: The terminal now automatically respawns the shell if the shell is terminated by the user (e.g, when using CTRL+D)
- Accessory Control: The right click handler on accessory tiles has been removed and replaced with a clickable cog icon in the top right hand side of each tile
- Themes: The legacy Dark Mode (v1) has been removed, users will be migrated to the new Dark Mode automatically
- i18n: Improvements to Simplified Chinese language translations (#431)
- i18n: Improvements to German language translations (#444)
- i18n: Improvements to Spanish language translations (#445)
- i18n: Improvements to Polish language translations (#446)
- Updated npm dependencies
- System: Fixed a bug that prevented the Windows 10 service installer (
hb-service
) from working when the user's login name contained spaces - Linux: Fixed a bug where the custom shutdown command was executing the custom restart command instead (#442)
- System: The Windows 10 service installer (
hb-service
) now configures the system firewall
- Accessory Control: Fixed a bug that causes some accessory states not to update (#426)
- Updated npm dependencies
- Updated npm dependencies
- Themes: Dark mode is now darker
- Updated npm dependencies
- Config Editor: Improved Validation: Config in the
platforms
andaccessories
arrays are now checked to ensure they match the structure expected by Homebridge - Auth: If the
auth.json
file is corrupted or empty it will be recreated with the default credentials
- i18n: Swedish language improvements (#410)
- Updated npm dependencies
- Theme: Added new "Default" theme, the default theme will automatically switch between a "Light Mode" theme (Teal) and a "Dark Mode" theme based on the client operating system's dark mode preferences
- i18n: Swedish language translation added by @DewGew (#404)
- i18n: German language improvements (#365, #388)
- i18n: Polish language improvements (#395)
- i18n: French language improvements (#400)
- System: Perform self-updates offline when using Docker - latest oznu/homebridge docker image required (docker-homebridge#220)
- Theme: Improved visibility of user profiles in the new dark mode theme (#363)
- Accessory Control: Fix an issue causing errors when discovering instances in some circumstances (#370)
- i18n: Bulgarian language improvements (#364)
- i18n: German language improvements (#365)
- Plugins: Added support for configuring the new Homebridge Google Smart Home Plugin. This plugin allows you to control supported Homebridge accessories from any Google Home Smart Speaker, Google Assistant, or the Google Home mobile app on iOS and Android
- Accessory Control: Multi-instance support. You can now control accessories from multiple Homebridge instances
- All instances you want to control must have the same PIN, be on the same network, and running in insecure mode
- Your other instances are automatically discovered, however you can blacklist instances you don't want to control using the plugin settings
- Due to the changes required to identify accessories across multiple instances your room/accessory layout will be reset after upgrading
- System: Added a new feature to help set up and run Homebridge and Homebridge Config UI X as a service on Windows 10
- Plugins: The "last updated" date is now displayed when searching for plugins to install (#336)
- Logs: Increased the default number of lines to show for the "Log from File" method from 200 to 500 (#339)
- Accessory Control: Accessory tiles now animate when clicked/pressed, similar to how they behave in the native iOS Home app
- Accessory Control: Accessory characteristics (on, off, brightness etc.) now update immediately when changed in HomeKit (previously there was up to a 3-second delay)
- i18n: Bulgarian language translation added by @mafyata
- i18n: Added translation support for accessory states and labels (#342)
- If you're still seeing English labels, we need your help translating the new values for your language, get started here
- Theme: The dark mode theme has received a makeover, if you prefered the old dark mode you can switch back in the plugin settings
- i18n: Improve German Translations (#328)
- i18n: Improve Polish Translations (#328)
- i18n: The Restart Homebridge page is now translated again (#342#issuecomment-519499941)
- Auth: Disable auto-capitalization for username fields on mobile browsers (#325)
- Accessory Control: Fixed bug preventing switches correctly reflecting their state when on (#343)
- Accessory Control: Removed outline around modal close buttons (#349)
- Fixed a bug that prevented the UI automatically reloading after an update
- Updated npm dependencies
- Upgraded Angular from v8.0.0 to v8.2.0
- Fixed a display issues on iOS (#322)
- Fixed an issue causing users to be logged out before their session had expired
- Accessory Control: Added basic support for "Window Covering" accessories (#224)
- Accessory Control: Added basic support for "Television" accessories: on, off, current input display (#47#issuecomment-479768040)
- Accessory Control: Added support for "Contact Sensor" accessories (#47#issuecomment-437576223)
- Updated npm dependencies
- Upgraded Angular from v7.2.15 to v8.0.0
- The footer links on the status page are now stuck to the bottom of the page, rather than the end of the content
- Update Content Security Policy to allow remote images from
https://user-images.githubusercontent.com
in plugin Change Logs / Release Notes
- Fixed a bug that caused the UI to stop responding for some users (#299)
- Updated npm dependencies
- Config Editor: Prevent Smart Punctuation autocorrect in the config editor on mobile devices (#313)
- Auth: Ensure the JWT token was generated by the current instance of the UI, if not clear the token and logout (#307)
- Add an on-screen warning when attempting to install/update/uninstall a plugin, or view the logs on unsupported versions of Node.js (#305)
- Added some more detailed log message to help when users are not able to log in, need to reset their password, are unable to view accessories
- Plugins: Added extra logging to try and investigate the cause of #299
- Provide a more detailed error with steps to resolve if the
node-pty
module fails to load (after a Node.js update for example) - Added a warning message in the logs letting the user know if their Node.js version is too low (anything less than 8.15.1)
- Updated npm dependencies
- Node.js v12 is now supported (#277)
- Plugins: Added a check before a plugin is installed to test for write access to the target directory if sudo mode is not enabled - this should result in a more helpful message being displayed when a plugin fails to install due to lack of permissions
- Docker: Ensure the node_modules directory is present after all plugins are uninstalled
- Updated npm dependencies
- Plugins: Allow plugins to specify only a single config block should exist in the Plugin Setting GUI (#290)
- Plugins: The plugin will no longer log with timestamps when homebridge is started with
-T
(#288) - Plugins: The plugin logs are now prefixed with the name defined in the
config.json
(#288) - Auth: Display a warning if the time on the server varies to greatly from time on the client which could cause mysterious login issues
- Plugins: Fixed a bug preventing users adding additional elements to an array with the Plugin Setting GUI (#289)
- Plugins: Fixed an issue preventing the plugins tab from loading when the npm registry was slow to respond (#284)
- Plugins: Fixed an issue that prevented plugins from displaying for some users (#284)
- Plugins: Searching for the exact name of a plugin will return a result even if the npm registry search is not working
- Updated npm dependencies
- Bundle some dependencies using
bundledDependencies
in thepackage.json
to try and reduce installation errors
- Homebridge: Added
homebridgePackagePath
to allow users to define where the Homebridge module is installed if it's not installed globally (#280)
- Updated npm dependencies
- Wiki: Created wiki page showing all available config options
- Plugins: Plugins that need updating are now correctly displayed at the top of the list (#275)
- Plugins: The status/homepage will now display a notice if you have any out-of-date plugins (#200)
- Config: The "Backup Config" feature is back (#279)
- i18n: Italian language translation added by @cyberfafu
- Updated npm dependencies
- Fixed issue causing the UI to crash when
platforms
was not present in the Homebridgeconfig.json
(#263)
- Updated npm dependencies
- Fixed issue preventing the web service from loading correctly in config-less oznu/homebridge docker containers (#262)
- Check for IPv6 interfaces before attempting to listen on
::
(#261)
- Added
host
config option to allow users to manually specify which interface/ip address the web interface should listen on
- Fixed bug that prevented the web service listening on IPv6 interfaces (#260)
- Added
websocketCompatibilityMode
option for users who are having issues with WebSocket connections (#238)
- Updated npm dependencies
- Fixed resolving of custom plugin path for non-Docker installations
- Auth: The Basic Authentication option has been removed. Users who have Basic Authentication enabled will be swapped to Form Authentication
- Reverse Proxy: Some users who have set up a reverse proxy and defined the websocket path will need to swap the WebSocket endpoint from
/wsocket
to/socket.io
- If you are using the reverse proxy templates from the wiki no changes are required
- Node.js Version: Dropping support for Node 7 and below, this plugin now requires Node.js v8.15.1 or higher on Linux and v10 or higher on Windows
- Plugins: Before updating a Homebridge plugin the release notes from GitHub will be shown where possible (#233)
- Plugins: A corrupt plugin will no longer prevent all the installed plugins from being displayed (#252)
- i18n: Turkish language translation added by @btutal
- Theme: The default theme for new installations is now
teal
instead ofred
- Auth: Ability to customise the session timeout
- System: Added the ability for the plugin to run as a separate service rather than a Homebridge plugin, this will allow users who have configured this feature to manage their server even if Homebridge is crashing due to a bad config / other issue
- Previously this has only been supported, and the default setup, when running in Docker (oznu/homebridge)
- The code base has been refactored
- Client side changes include:
- Swapped from
ui-router
to@angular/router
for page routing - Now using
socket.io
for WebSockets - Split code into modules
- Lazy load modules on demand
- Swapped from
- Server side changes include:
- Swapped from Express to the Nest.js framework with Fastify
- Swapped from
ws
tosocket.io
for WebSockets - while I do prefer to use thews
library, the syntastic sugar provided by Socket.io simplified the code base - Split code into modules
- Packaged code is now combined with Webpack, this should reduce startup times on slow I/O systems like the Raspberry Pi
- Auth: The Basic Authentication option has been depreciated. Users should switch to Form Authentication instead (the default)
- Swap to using a prebuilt version of the node-pty package to try and reduce errors during installation
- Updated other npm dependencies
- Themes: Dark mode and other themes added by @RaymondMouthaan (#236)
- Themes: Make it easier to see that there are three separate links at the bottom of ths status page by adding hover effect (#230)
- i18n: Dutch language translation added by @RaymondMouthaan
- Updated Angular to 7.2.9
- Updated other npm dependencies
- i18n: Spanish language translation added by @Rubenfer
- i18n: Japanese language translation added by @gaojie429
- Updated Angular from 7.2.0 -> 7.2.3
- Updated other npm dependencies
- Updated
xterm
dependency to fix CVE-2019-0542 - Updated Angular from 7.1.0 -> 7.2.0
- Updated other npm dependencies
- i18n: Improvements to Polish language translation (#192)
- i18n: Improvements to Simplified Chinese language translations (#195)
- Accessory Control: Added ability to lock the accessory layout (#197)
- i18n: Improvements to Polish language translation (#186)
- i18n: Hungarian language translation added by Nagy Attila
- i18n: Traditional Chinese language translation added by @r951236958
- i18n: Improved i18n capabilities to support both Simplified and Traditional Chinese translations
- Fixed a bug that prevented errors being handled correctly by the client
- i18n: Improvements to German language translation (#174)
- Auth: Fixed bug preventing login when credentials were autofilled in Chrome (#175)
- Plugins: Prevent invalid link to plugin homepage being displayed if the URL is not known (#178)
- Updated Angular from 6.1.9 to 7.1.1
- Updated npm dependencies
- Accessory Control: Added ability for accessories to be assigned custom names; right click to access the accessory config/info panel (#156)
- Accessory Control: Added ability for accessories to be hidden (#84)
- i18n: Improvements to French language translation (#169)
- Auth: removed some unnecessary log messages (#171)
- Updated npm dependencies
- i18n: Improvements to French language translation (#162)
- Updated Angular to 6.1.9
- Updated npm dependencies
- i18n: Simplified Chinese language translation added by @niinaranpo
- Updated Angular to 6.1.6
- Updated npm dependencies
- i18n: Improve Russian Translations (#146)
- Updated Angular to 6.1.1
- Updated npm dependencies
- i18n: Czech language translation added by @HonzaaD
- i18n: Russian language translation added by @Caribsky
- User contributions to the non-english translations are always welcome, click here for details on how you can help
- Config Editor: Backup button actually downloads up the
config.json
now (#144) - Config Editor: Fixed issued using config editor on mobile devices (#131)
- Accessory Control: Accessory layout changes are now persistent again
- Accessory Control: Long-clicking a lightbulb with no additional characteristics (e.g. brightness) no longer opens a modal (#47#issuecomment-405089113)
- Accessory Control: Right-clicking an accessory on a non-mobile device will bring up a modal showing all accessory characteristics and other information
- i18n: Polish language translation added by @mientki
- User contributions to the non-english translations are always welcome, click here for details on how you can help
- Config Editor: Backup button more reliable (#135)
- Accessory Control: Refresh all accessories when one is changed to ensure the dashboard is up-to-date (#136)
- Updated Angular to 6.1.0
- Updated npm dependencies
- Handle loading config schema for @homebridge plugins correctly
- Made
config.json
saves a bit more robust in an attempt to fix (#122) - Added
proxyHost
config option to make running behind a reverse proxy easier (#119)
- Fixes to German Translation (#116)
- Allow web terminal access on Linux-based hosts only if a certain environment variable is set (#110)
- Homebridge must be running with the
HOMEBRIDGE_CONFIG_UI_TERMINAL=1
environment variable to access the terminal
- Homebridge must be running with the
- Minor bug fixes
- Updated npm dependencies
- Added support for non-english translations (#102)
- German translation added with the assistance of @razer4908
- French translation added by @the0neyouseek (#105)
- Language is selected automatically based on browser settings
- If you want to contribute to the translation work please see CONTRIBUTING.md
- Imperial display units now apply to temperature sensors and thermostat accessories (#96)
- Updated npm dependencies
- Config changes for the UI should require a full page refresh less often
- Added support for imperial temperature display units (#96)
- ui: upgraded from Angular 5.x to 6.x
- updated npm dependencies
- Updated npm dependencies
- Removed the
nsp
package as the tool has been discontinued, vulnerability scanning is being added tonpm
natively - Updated npm dependencies
- Updated npm dependencies
- Errors will no longer be thrown if a plugin is installed with CVSS alerts lower than 4 (Low Risk)
- Fixed bug that could cause plugins that take a long time to install or upgrade to fail
- Beta Feature: Initial implementation of GUI/form based setup for supported plugins
- Added support for optional native HTTPS / SSL (#68, #35)
- The Log Viewer config options have changed, existing options have been depreciated, see README for details
- Docker users may now configure this plugin using the
config.json
or the new plugin GUI/form config method - Added metadata tag allow using plugin as a full screen web app on iOS (#88)
- Added ability to restore and cleanup
config.json
backups (#77)
- Added Content-Security-Policy headers
- Links to external sites now have
rel="noopener noreferrer"
- Links in plugin-author generated markdown (e.g. change logs, plugin config) are now opened in a new tab
- When on the status page, the browser will refresh automatically if the client version does not match the server version
- Updated npm dependencies
- Fixed bug that caused homebridge to crash when using Log Viewer on Windows 10
- Ensure forked process is killed if Homebridge is not running in a different way (@Damien via Slack & #86)
- Added
wsocket
prefix to websocket connection to make reverse proxying easier for some users (#85)
- Fixed bug that could prevent the plugin from displaying in the browser after an update unless the cache was cleared (#82)
- Ensure forked process is killed if Homebridge is not running (#83)
- Accessory Control: Added message explaining that accessory control is disabled when navigating to
/accessories
when insecure mode is not enabled - Updated README to contain link to the Enabling Accessory Control wiki article
- Docker: Fixed a bug that prevented users saving settings
- This plugin now runs in a separate thread to the main homebridge process (#75)
- This can be disabled by setting
noFork
totrue
in the plugin config
- This can be disabled by setting
- Added ability to set a custom image for the login screen using the
loginWallpaper
option (#34) - Updated npm dependencies
- Added link to plugin homepage (GitHub, BitBucket, etc.) (#74)
- Updated npm dependencies
- Suppress npm update warnings in log output (#66)
- Added Docker Settings page where users can adjust the following (#64):
- Toggle Homebridge Insecure / Debug Mode
- UI Theme Color
- UI Auth Mode (Form, Basic, None)
- Added the ability to set the path to the temp file using
HOMEBRIDGE_CONFIG_UI_TEMP
when running in Docker (#62)
- Log viewer terminal now adjusts the size of the pty shell according to the size of the browser window
- Prevent zoom when using the config editor on iOS (@Yanni via Homebridge Slack)
- Prevent the deletion of an admin user if there are no other admin users (docker-homebridge#83)
- Fixed issue that prevented installed plugins from loading if one was missing a description in it's
package.json
(#59)
- Added ability for Linux users to shut down and restart the server Homebridge is running on (#39)
- Updated npm dependencies
- Fixed issue that prevented plugin scan from working on Windows (#53)
- Fixed missing css class
.bg-yellow
- Display plugin
CHANGELOG.md
after updating if it exists (#51)
- Prevent users accidentally removing homebridge-config-ui-x using the web app
- Fixed an issue that prevented adding a new room to the accessories page in Safari (#47#issuecomment-372101867)
- Fixed missing css class
.bg-red
- Added features just for oznu/homebridge docker container users (#48)
- Ability to access docker container terminal
- Ability to edit
startup.sh
script - Ability to restart entire docker container
- Updated npm dependencies
- Material Icons now loaded from local package
- Swapped to the core mdbootstrap library to fix nav drop down menus
- The mobile menu will now close when a nav item is clicked
- Ability to view and control accessories (#46)
- Scan installed and updated plugins for vulnerabilities and malware (#37#issuecomment-370698122)
- Display current version of node and homebridge-config-ui-x on the status page (#40)
- Set the homebridge title to match the homebridge instance name (#38)
- Non-admin users now have restricted access (#37#issuecomment-368346991)
- Ensure log process is killed after closing the page on older linux systems (#41)
- Fixed config screen not displaying correctly on some devices (#31)
- Fixed bug that prevented log file session closing when using sudo mode (#29)
- Use registry.npmjs.org to search for plugins (#30)