HomeBridge is a great open source software package (available on GitHub) which allows you to control non-HomeKit certified hardware (e.g. power outlets, camera’s, thermostats, ..). HomeBridge can be installed on virtually any piece of hardware, but in this tutorial I will specifically focus on installing the software on a Raspberry Pi (and more concretely the Raspberry Pi Model 3B+, note that any other Raspberry should work fine too).
This article will be discussing the following items:
- What is HomeBridge?
- The pre-requisites
- Installing HomeBridge on Raspian
- Example of installing a plugin
What is HomeBridge?
Let’s first start with the key question here. HomeBridge is a piece of software that allows virtually any piece of hardware to communicate with Apple’s HomeKit which comes pre-installed on any recent iPhone, iPad or iPod Touch device. HomeBridge is a NodeJS server that will be running on the Raspberry Pi and will handle your requests (either via Siri or the Home app) and translate them for the hardware device.
HomeBridge is completely free and open source and available on GitHub.

HomeKit support for the impatient
Now it’s clear what HomeBridge is and what it can do, let’s proceed to review the prerequisites.
Before you install HomeBridge
This guide is limited to installing HomeBridge on a Raspberry Pi device. So you will need a Raspberry Pi which can be connected to the Internet. A Raspberry Pi Zero will also work fine by the way, but you may experience small delays (milliseconds to seconds) when interacting with HomeBridge connected devices such (especially live feeds of camera’s as they require a certain amount of processing power).
It is assumed you have Raspian Stretch Lite installed on an SD card, the Pi is connected to the Internet and you can SSH to the device. If you are unsure how to do these things, find below some guides that may help you out:
- Install Raspbian on Raspberry Pi
- Configure WiFI on Raspberry Pi
- Enable SSH on Raspberry Pi (Headless installation)
That’s it. Let’s now start with the real work.
Prepare the installation
Update the system
Let’s first make sure we have the latest version of all software that is on our Raspbian installation. This will ensure we have software which includes the latest performance optimisations, bug fixes and security patches.
sudo apt-get update
sudo apt-get upgrade
Install NodeJS
Installing Node will depend on the version of ARM your Pi is running. If you have model B+, this is version 7. If you are unsure, execute this command:
uname –a
And you will see something like this ‘amrv7’ for version 7. Now let’s install the NodeJS package if this is the case:
curl –sL https://deb.nodesource.com/setup_8.x | sudo -E bash – sudo apt-get install –y nodejs
If you have an older ARM chipset, you should install NodeJS manually. Here is a tutorial for to follow.
Installing HomeBridge on Pi
We have everything ready now: the latest version and the required packages to make HomeBridge work on our Raspbian installion.
Install HomeBridge
sudo npm install homebridge –g --unsafe-perm homebridge
Run HomeBridge (as a test)
homebridge
This should now output:
No plugins found. See the README for information on installing plugins.
Installing Plugins
Since you now have HomeBridge installed, you can go ahead and install plugins from NPMJS with the keyword ‘homebridge-plugin’. You will find plenty of plugins for many kinds of hardware.
Mind that the plugins are contributed by normal people; not companies. They can work fine (and likely will), but they can be unsecure or behave not as expected. Or any new update of the plugin can break your set-up so keep these things in mind.
You install a plugin as follows:
sudo npm instal-g homebridge-ffmpeg
you have a major typo in your key line:
sudo nmp install homebridge –g –unsafe-perm homebridge
surely it should read
npm after sudo?
Hi Niche
thanks for catching that! It has been fixed in the blogpost.
Best regards
Thomas
also the hyphen before the g is a weird character, had to change it manuall to a normal hyphen.