Skip to content

Enabling Accessory Control

Evan Freymiller edited this page Nov 7, 2019 · 14 revisions

To enable accessory control Homebridge must be running in insecure mode.

Insecure mode, as it's name suggests, is not secure. Anyone with network access to your Homebridge server port and pin will be able to control your accessories. Unless exposing the Homebridge port to the internet, this will generally not be a problem as access will be limited to people already on your local network. Remote access via a home hub (Apple TV, iPad, HomePod etc.) will still be secure. Enable at your own risk.

Command Line

Add the -I flag:

homebridge -I

Systemd

If you have configured Homebridge to start using systemd by following the guide on the offical wiki then you can enable insecure mode by adding -I to the HOMEBRIDGE_OPTS variable in your /etc/default/homebridge file.

Example:

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/lib/homebridge -I

# If you uncomment the following line, homebridge will log more 
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*

Docker

If running this plugin in the oznu/homebridge Docker image you can enable insecure mode from the user interface provided by this plugin.

Click the Docker logo on the menu bar -> Settings.

Homebridge Config UI X Docker Settings

pm2

If you already have a homebridge running via a pm2 task, stop it by running

pm2 stop homebridge

You must then delete your existing homebridge pm2 task, run

pm2 delete homebridge

Now that the old task is removed, run the below task to start homebridge via pm2 in insecure mode.

pm2 start homebridge -- -I

Other Configurations

Configurations that use other process supervisors such as init.d, pm2 or screen can also enable insecure mode just by adding -I to the startup command.

Clone this wiki locally