homebridge is a free, open source internet of things (iot) project written in TypeScript and released under Apache-2.0. It has 25,497 GitHub stars, 2,011 forks and 21 open issues, and was last pushed 22 days ago. On this registry it ranks #3 of 41 tracked projects in Internet of Things (IoT), with 5 head-to-head comparisons available.

What is homebridge?

Homebridge is a lightweight, free and open-source Node.js server that emulates the HomeKit Accessory Protocol (HAP) on a home network, so that smart home devices without native HomeKit support can be controlled through Apple's Home app and Siri.

What it is

Homebridge is an Apache-2.0 licensed TypeScript project distributed as a lightweight Node.js server designed to run on a home network. It emulates the HomeKit Accessory Protocol, the protocol Apple controllers use to discover and control smart home accessories. Because it speaks HAP natively, HomeKit treats the bridge as a legitimate accessory, and everything the bridge exposes appears in the Home app alongside certified hardware.

The concrete problem it solves is the gap between the smart home devices a user already owns and the much smaller set that ship with HomeKit support. A plugin system closes that gap: plugins are community-contributed modules that provide a bridge from HomeKit to third-party APIs published by manufacturers of smart home devices. The specific thing it replaces is per-device vendor support, or the lack of it. From version 2 onward, plugins can also expose accessories over Matter, extending the same approach to Apple Home, Google Home, Amazon Alexa, SmartThings and other Matter-capable controllers. The project is free, non-commercial and community-driven; it is not affiliated with Apple, Google, Amazon or the Connectivity Standards Alliance, and no part of it is offered as a paid or certified product.

Key capabilities

  • Emulates the HomeKit Accessory Protocol (HAP) so that HomeKit controllers pair with the bridge and manage the accessories it exposes.
  • Plugin architecture, with community-contributed modules discoverable on npm by searching for the keyword homebridge-plugin.
  • Matter support from v2, letting plugins expose accessories to Apple Home, Google Home, Amazon Alexa and SmartThings.
  • Siri voice control for bridged devices, covering actions such as unlocking a door, opening a garage door or turning on lights.
  • Pairing from the iOS Home app by scanning the QR code shown in the Homebridge UI or logs, with later plugins appearing without re-pairing.
  • Cameras and most TV devices exposed as separate accessories, each requiring its own pairing.
  • Official Homebridge Raspberry Pi Image, plus Docker images documented for Synology, Unraid, QNAP and TrueNAS Scale.

Who uses it and how

  • Raspberry Pi owners running the official Homebridge Raspberry Pi Image, or installing on Raspbian, as an always-on home server.
  • Linux, macOS and Windows households using the platform guides for Debian/Ubuntu, Red Hat/CentOS/Fedora, Arch/Manjaro, macOS, or Windows 10/11 via Hyper-V.
  • NAS owners deploying the Docker image on Synology, Unraid, QNAP or TrueNAS Scale, or installing on Synology DSM 7.
  • Community-supported users seeking help through the official Homebridge Discord server and Reddit community, alongside wider HomeKit communities on Discord and Reddit.
  • A large contributor base, reflected in 25,497 stars, 2,011 forks and 21 open issues, with the last push on 2026-08-30.

Getting started

Installation follows the platform guide: the official Homebridge Raspberry Pi Image, an install on Raspbian, Debian/Ubuntu, Red Hat/CentOS/Fedora, Arch/Manjaro, macOS, or Windows 10/11 via Hyper-V, or a Docker deployment with documented variants for Synology, Unraid, QNAP and TrueNAS Scale. The bridge is then added in the iOS Home app by tapping Add Accessory and scanning the QR code shown in the Homebridge UI or the logs.

How it compares

No comparable or competing tools are named in the facts provided, so Homebridge stands alone in this registry. The closest named relatives are not rivals but targets: the Matter-capable controllers such as Apple Home, Google Home, Amazon Alexa and SmartThings that Homebridge version 2 plugins can expose accessories to.

When to use it — and when not to

A self-hoster must operate a machine that stays on and keep the Node.js runtime, the bridge, and a set of community-maintained plugins working together, since plugin quality and upkeep rest with their authors rather than with a vendor. Anyone who needs certified hardware, a commercial support contract or an officially sanctioned Apple accessory should not pick it, because the project states plainly that no part of it is a paid or certified product. Cameras and most TVs also demand separate pairing, which adds friction in larger setups.

project readme (upstream, from github) — read inline

Homebridge


Unlocking Door

Homebridge is a lightweight Node.js server you can run on your home network to emulate the HomeKit Accessory Protocol (HAP). It supports plugins, which are community-contributed modules that provide a basic bridge from HomeKit to various 3rd-party APIs provided by manufacturers of "smart home" devices. From v2, plugins can also expose accessories over Matter for use with Apple Home, Google Home, Amazon Alexa, SmartThings and other Matter-capable controllers.

Homebridge is a free, non-commercial, community-driven open-source project. It is not affiliated with Apple, Google, Amazon, or the Connectivity Standards Alliance, and no part of it is offered as a paid or certified product.

Since Siri supports devices added through HomeKit, this means that with Homebridge you can ask Siri to control devices that don't have any support for HomeKit at all. For instance, using just some of the available plugins, you can say:

  • Siri, unlock the back door. [pictured to the right]
  • Siri, open the garage door.
  • Siri, turn on the coffee maker.
  • Siri, turn on the living room lights.
  • Siri, good morning!

You can explore all available plugins at the NPM website by searching for the keyword homebridge-plugin.

Community

The official Homebridge Discord server and Reddit community are where users can discuss Homebridge and ask for help.

Homebridge Discord Homebridge Reddit

HomeKit communities can also be found on both Discord and Reddit.

Installation

raspbian

Raspberry Pi

Official Homebridge Raspberry Pi Image
Install Homebridge on Raspbian


linux

Linux

Debian or Ubuntu Linux | Red Hat, CentOS or Fedora Linux | Arch / Manjaro Linux|Install Homebridge on Arch Linux


macos

macOS

Install Homebridge on macOS


windows

Windows 10 / 11

Install Homebridge on Windows 10 / 11 Using Hyper V


docker

Docker

Install Homebridge on Docker
Synology | Unraid | QNAP | TrueNAS Scale


docker

Synology DSM

Install Homebridge on Synology DSM 7

Other Platforms

Other Platforms

Adding Homebridge to iOS

  1. Open the Home app on your device.
  2. Tap the Home tab, then tap .
  3. Tap Add Accessory, then scan the QR code shown in the Homebridge UI or your Homebridge logs.

If the bridge does not have any accessories yet, you may receive a message saying Additional Set-up Required, this is ok, as you add plugins they will show up in the Home app without the need to pair again (except for Cameras and TVs).

Cameras and most TV devices are exposed as separate accessories and each needs to be paired separately. See this wiki article for instructions.

Interacting with your Devices

Once your device has been added to HomeKit, you should be able to tell Siri to control your devices. However, realize that Siri is a cloud service, and iOS may need some time to synchronize your device information with iCloud.

One final thing to remember is that Siri will almost always prefer its default phrase handling over HomeKit devices. For instance, if you name your Sonos device "Radio" and try saying "Siri, turn on the Radio" then Siri will probably start playing an iTunes Radio station on your phone. Even if you name it "Sonos" and say "Siri, turn on the Sonos", Siri will probably just launch the Sonos app instead. This is why, for instance, the suggested name for the Sonos accessory is "Speakers".

Matter Support

Homebridge v2 introduces optional support for the Matter smart home standard, allowing plugins to expose their devices to any Matter-capable controller — Apple Home, Google Home, Amazon Alexa, Samsung SmartThings and others — alongside (or instead of) HomeKit.

[!IMPORTANT] Homebridge's Matter support is not certified by the Connectivity Standards Alliance (CSA) and Homebridge is not a "Matter product" in any commercial sense. It is a community, non-profit implementation that re-uses the open-source matter.js library to speak the protocol. Matter-certified controllers may treat uncertified bridges as "uncertified accessories" and display a warning during pairing — this is expected.

How it works

  • The Matter stack runs in-process inside Homebridge using the open-source matter.js library (the @matter/main npm package) as its protocol engine.
  • Matter is opt-in per bridge. Add a matter block to bridge (the main bridge) and/or to a plugin's _bridge (a child bridge) in your config, and Homebridge will start a separate Matter server on its own port and advertise it on your LAN. Bridges without a matter block keep working exactly as before.
  • Each Matter-enabled bridge appears as its own pairing — you scan a Matter QR code in the controller of your choice (Apple Home, Google Home, etc.). Multiple controllers can commission the same bridge ("multi-admin"), so it can sit alongside HomeKit rather than replacing it.
  • Plugins decide whether to publish accessories to Matter by calling the api.matter API — analogous to the existing api.hap API. Plugins that don't opt in are unaffected.
  • Currently supported device types include lights (on/off, dimmable, colour-temperature, full-colour), switches and outlets, a wide range of sensors (motion, contact, temperature, humidity, light, leak, smoke/CO, air quality), door locks, thermostats, fans, window coverings, robotic vacuum cleaners, water valves and generic switches. See the developer docs for the full list.

Limitations

  • Matter pairing requires the controller and Homebridge to be on the same IP subnet with mDNS/IPv6 working — the same network constraints as HomeKit.
  • A Matter-enabled bridge cannot be moved between controllers without re-commissioning.
  • Because the implementation is uncertified, some controllers may surface warnings during pairing or restrict access to features that require certification.

For setup instructions and the latest list of supported device types, see the developer docs at https://github.com/homebridge-plugins/homebridge-matter/wiki.

Plugin Development

The https://developers.homebridge.io website contains the Homebridge API reference, available service and characteristic types, and plugin examples.

The Homebridge Plugin Template project provides a base you can use to create your own platform plugin.

There are many existing plugins you can study; you might start with the Homebridge Example Plugins or a plugin that already implements the device type you need.

When writing your plugin, you'll want Homebridge to load it from your development directory instead of publishing it to npm each time. Run this command inside your plugin project folder so your global installation of Homebridge can discover it:

npm link

You can undo this using the npm unlink command.

Then start Homebridge in debug mode:

homebridge -D

This will start up Homebridge and load your in-development plugin. Note that you can also direct Homebridge to load your configuration from somewhere besides the default ~/.homebridge, for example:

homebridge -D -U ~/.homebridge-dev

This is very useful when you are already using your development machine to host a "real" Homebridge instance (with all your accessories) that you don't want to disturb.

Common Issues

Home App Says Accessory Already Added

To fix this, Reset Homebridge.

My iOS App Can't Find Homebridge

Try the following:

  1. Swap between the Bonjour HAP and Ciao mDNS Advertiser options. See the wiki for more details.
  2. iOS DNS cache has gone stale or gotten misconfigured. To fix this, turn airplane mode on and back off to flush the DNS cache.

Limitations

  • One bridge can only expose 150 accessories due to a HomeKit limit. You can however run your plugins as a Child Bridge or run Multiple Homebridge Instances to get around this limitation.
  • Once an accessory has been added to the Home app, changing its name via Homebridge won't be automatically reflected in iOS. You must change it via the Home app as well.

Why Homebridge?

Technically, the device manufacturers should be the ones implementing the HomeKit API. And I'm sure they will - eventually. When they do, this project will be obsolete, and I hope that happens soon. In the meantime, Homebridge is a fun way to get a taste of the future, for those who just can't bear to wait until "real" HomeKit devices are on the market.

Homebridge is maintained on a volunteer basis by a community of contributors. There is no company behind it, nothing is sold, and no part of the project is certified or endorsed by Apple, Google, Amazon, the Connectivity Standards Alliance, or any device manufacturer. If a plugin or page asks you to pay for "Homebridge" itself, it isn't us.

Credit

  • Homebridge was originally created by Nick Farina.
  • The original HomeKit API work was done by Khaos Tian in his HAP-NodeJS project.
  • Matter support is built on top of matter.js, the open-source TypeScript implementation of Matter — without it, Homebridge's Matter bridge would not exist. Thanks to the matter.js maintainers and contributors.

Frequently asked questions

Is homebridge free to use?

homebridge is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does homebridge do?

HomeKit support for the impatient.

What is homebridge written in?

homebridge is primarily written in TypeScript. Its source is publicly available at https://github.com/homebridge/homebridge, and it has 25,497 GitHub stars.