Repository navigation
Config Options
These can be set in config.json under the config platform.
Most of these options can also be changed from the Settings page in the UI, which is the easiest way. You only need to edit config.json by hand if you cannot reach the UI.
A minimal config platform block looks like this:
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8581
}
]- Type: object
- Default:
undefined - Description: Settings for controlling accessories from the UI. Contains:
-
debug(boolean) - turn on extra logging for accessory control. -
instanceBlacklist(array of strings) - the usernames (for example0E:12:34:56:78:9A) of bridges the UI should not control. You can set this in Settings > Startup & Environment > Accessory Control Lists. See Enabling Accessory Control.
-
- Type: string or array of strings
- Default:
undefined - Description: Extra website addresses that are allowed to show the UI inside a frame (for example on a home dashboard). By default only the UI itself can do this. A string can list several addresses separated by spaces or commas.
- Type: string
- Default:
form - Permitted Values:
form,none - Description: The authentication method the UI should use.
formasks for a username and password.noneturns off the login page.
- Type: boolean
- Default:
false - Description: Turn on debug logging for the UI.
- Type: boolean
- Default:
false - Description: When set to
true, the UI will not collect or show CPU and memory stats. In the UI this is the Enable Server Metric Monitoring setting (turned the other way round).
- Type: boolean
- Default:
false - Description: Advertise the UI on your local network using mDNS (Bonjour), so other devices can find it as a web service.
- Type: string
- Default:
undefined - Description: The path where the Homebridge package is installed. If the Homebridge package is installed globally this is not required.
-
Type: string
-
Default:
all -
Permitted Values:
all,beta,major,none(nodeUpdatePolicydoes not havebeta) -
Description: When the UI shows update notifications for Homebridge, the Homebridge UI and Node.js.
-
all- show stable updates. -
beta- also show beta releases. -
major- hide new major versions (for example v1 to v2), but still show smaller updates. -
none- hide all update notifications.
You can set these from the Update Preferences section on the Status page. Click the Homebridge, Homebridge UI or Node.js version in the Update Information widget to open it.
-
- Type: string
- Default:
::(or0.0.0.0if IPv6 is not available) - Description: The IP address of the interface the UI should listen on. By default the UI will listen on all interfaces.
- Type: string
- Default:
auto - Description: Set the language the UI should use. Must be
autoor one of these supported languages (for exampleen,deorpt-BR). If set toauto, the browser's language setting will be used.
- Type: string
- Default:
auto - Permitted Values:
auto,light,dark - Description: Use light or dark mode.
autofollows your device's setting.
-
Type: object
-
Default:
undefined -
Description: Linux only. Custom commands for the Shutdown OS and Restart OS options in the UI. Contains:
-
shutdown(string) - the command used to shut down the server. -
restart(string) - the command used to restart the server.
If a command is not set, the process will stop with an error exit code instead.
-
-
Type: object
-
Default:
undefined -
Description: Controls the size of the Homebridge log file. Contains:
-
maxSize(integer) - the largest the log file can get, in bytes, before it is cut down. The default is1000000(about 1 MB). Set to-1to never cut down the log. -
truncateSize(integer) - the size, in bytes, the log is cut down to. The default is200000(about 0.2 MB).
The older
method,path,serviceandcommandlog options no longer do anything. The UI sets up the log viewer for you. -
- Type: string
- Default:
default - Permitted Values:
default,freeze - Description: How the side menu works.
freezekeeps the menu closed on desktop screens.
- Type: string
- Default:
Config - Description: The name of this config block.
- Required
- Type: string
- Default:
undefined - Permitted Values:
config - Description: Must be set to
config.
- Type: object
- Default:
undefined - Description: Plugin settings used by the UI. The UI fills these in for you when you use the plugin menus. Contains:
-
hideUpdatesFor(array of strings) - plugin names to hide update notifications for. -
showBetasFor(array of strings) - plugin names that should be offered beta releases. -
hideChildBridgeSetupFor(array of strings) - plugin names that should not show the "set up child bridge" suggestion.
-
- Type: integer
- Default:
8581whenhb-servicecreates your config. If the option is missing, the UI uses8080. - Description: The port the UI should listen on. To use a different port when you set up the service, pass
--porttohb-service install.
- Type: string
- Default:
undefined - Description: The host and port, for example
example.com:8080, you will be accessing the UI on. This is only required if you are running the UI behind a reverse proxy and are not passing through thehostfrom the browser.
- Type: boolean
- Default:
false - Description: When set to
true, only administrator users can see the Homebridge log. By default every user who can log in to the UI can see it. Logs can contain passwords or access tokens, so you may want to turn this on if you have non-admin users.
- Type: boolean
- Default:
false - Description: Set to
trueto turn off the daily scheduled backups.
- Type: string
- Default:
backups/instance-backupsinside your Homebridge storage folder - Description: The full path to an existing folder where the daily backup files should be saved. The user Homebridge runs as MUST be able to read and write to this folder.
- Type: string
- Default:
undefined - Description: Restart Homebridge on a schedule, using a cron expression in your local time zone. For example,
0 4 * * *restarts Homebridge every day at 4am. Leave it out to turn off scheduled restarts.
- Type: integer
- Default:
28800 - Description: The number of seconds a login session will last for. The default is equal to 8 hours. The smallest value allowed is
600(10 minutes).
- Type: boolean
- Default:
false - Description: When set to
true, your session is refreshed each time you move between pages, so you are not logged out while you are using the UI.
- Type: object
- Default:
undefined - Description: Turn on HTTPS for the UI. You can also do this from Settings > Enable HTTPS. See enabling ssl.
- Type: string
- Default:
undefined - Description: The path to a file containing your CPU's current temperature. Use this if the UI cannot find the CPU temperature by itself.
- Type: string
- Default:
c - Permitted Values:
c,f - Description: The temperature units that will be used in the UI.
- Type: object
- Default:
undefined - Description: Settings for the terminal and the log viewer. You can change these in Settings > Logging & Terminal. Contains:
-
persistence(boolean) - keep the terminal session running when you leave the page. -
hideWarning(boolean) - hide the warning shown before a terminal session is closed. -
bufferSize(integer) - how much terminal output to keep for a kept session. -
fontSizeandfontWeight- the text size and weight. -
lightingMode(lightordark) - the lighting mode for the terminal and log viewer.
-
- Type: string
- Default:
deep-purple - Permitted Values:
orange,red,pink,purple,deep-purple,indigo,blue,blue-grey,cyan,green,teal,grey,brown - Description: The color theme the UI should use.
- Type: string
- Default:
undefined - Description: The path to an image to show on the UI login page. If this is not set, the default login wallpaper is used. You can upload a wallpaper from Settings > Wallpaper.
- Raspberry Pi
- Debian, Ubuntu
- CentOS, Fedora, Red Hat
- Arch, Manjaro
- Docker
- Virtual Machine (Windows & macOS)
- Windows
- macOS
- Synology DSM 7
- Other Platforms
- Basic Troubleshooting
- Backup and Restore
- Child Bridges
- Config File
- Connect To HomeKit
- FFmpeg for Homebridge
- HomeKit Glossary of Terms
- iOS Apps
- mDNS Options
- Remote Access
- Useful Links
- Basic Troubleshooting
- Config Options
- Enabling Accessory Control
- Enabling UI with Docker
- Homebridge Service Command
- Manual Configuration
- Reverse Proxy: Apache
- Reverse Proxy: Nginx and SSL
- Manage Homebridge Version
- Manage Homebridge UI Version
- Manage Plugin Version
- Manage Node Version
- Updating To Homebridge v2
Raspberry Pi Image
- Pi Image Home
- Getting Started
- Supported Raspberry Pi Models
- Find the IP Address
- Connect Via SSH
- Connect Via VNC (old)
- Set the Date and Time
- SSL / HTTPS Access
- Disable the WiFi Setup Portal
- Reset WiFi
- Upgrade to the Latest Image
- Update Homebridge and Node.js
- Enable Debug or Insecure Mode
- Install Pi-hole
- Install AdGuard Home
- Install deCONZ (ConBee / RaspBee)
- Migrate From HOOBS
- Fix Eero Router Connectivity
Docker
Synology Package
HAP-NodeJS
- Developer Docs
- API Reference
- Plugin Templates
- Other Links (Internal)
- Other Links (External)