How to Set Up the Home Assistant HomeKit Bridge: Modes and the 150-Accessory Limit
One thing I would say for sure is that Home Assistant never disappoints. Home Assistant is a bridge or rather an open-source automation system. I love love LOVE Home Assistant because you can add any smart device to Apple HomeKit with Home Assistant! And the best part? It has multiple protocol compatibility! Alright, let me elaborate and explain to you “What is Home Assistant?”
What is Home Assistant?
So, to give you are brief explanation, Home Assistant is an open-source home automation system that allows you to take control of all your smart home devices and create amazing automation. This would allow you to have a HomeKit Home Assistant integration or even an Alexa Home Assistant integration.
Essentially, it is a central hub that connects any smart device to Apple HomeKit. It is one of the best automation Systems. It is a GAME CHANGER! Regardless, of whether you are setting up a Home Assistant Docker or using Home Assistant Yellow, Home Assistant allows you to integrate any devices with ease.
The Two Ways to Connect Home Assistant and Apple HomeKit
This is the part most guides — including this article's previous version — get wrong by treating it as one integration. It's actually two separate, opposite-direction integrations, and which one you need depends entirely on what you're trying to do.
| Integration | Direction | What It's For |
|---|---|---|
| HomeKit Bridge | Home Assistant → Apple Home | Makes your Home Assistant devices (Zigbee, Z-Wave, generic smart plugs, anything HA already controls) visible and controllable in the Apple Home app and via Siri, including devices that were never natively HomeKit-compatible. |
| HomeKit Device (domain: homekit_controller) | Apple Home → Home Assistant | Imports HomeKit-certified accessories (e.g., certain Ecobee or Eve devices) into Home Assistant so you can use them in HA automations, dashboards, and alongside non-Apple devices. |
Setting Up the HomeKit Bridge (Home Assistant devices → Apple Home)
- In Home Assistant, go to Settings > Devices & Services.
- Click Add Integration and search for "HomeKit."
- Select HomeKit Bridge.
- Choose which domains (lights, switches, climate, etc.) to expose to Apple Home.
- Open the Apple Home app and scan the pairing code, or enter it manually if scanning isn't available.
Setting Up HomeKit Device (Apple accessories → Home Assistant)
- If the accessory is already paired to Apple Home, remove it there first — HomeKit accessories can only be paired to one controller at a time.
- Let Home Assistant discover the device automatically on the local network, or add it manually under Settings > Devices & Services.
- Enter the 8-digit HomeKit pairing code from the device's box or label.
- Optionally, expose the device back to Apple Home via the HomeKit Bridge if other household members still want to use the Home app.
What Is the Difference Between Bridge Mode and Accessory Mode?
The Home Assistant HomeKit Bridge integration runs in one of two modes. Some guides call the second one "device mode", but Home Assistant names it accessory mode. Most devices belong on a bridge. A few device types only work in Apple Home when they get an instance of their own.
| Mode | What it exposes | Use it for | Pairing |
|---|---|---|---|
| Bridge mode (default) | Many entities behind one "Home Assistant Bridge" | Lights, switches, sensors, climate, fans, covers, scenes, scripts and most other entities | Pair once with one code |
| Accessory mode | Exactly one entity | Required for cameras, locks, TV and receiver media players, and remotes that support activities | Each entity pairs separately with its own code |
To add one entity in accessory mode: create a new HomeKit Bridge entry under Settings > Devices & services. Before pairing, open its options, change the mode to accessory, select the entity and finish the flow. Then pair it in the Home app like any other accessory.
Shortcut for several at once: create a new bridge and select only the camera, lock, media_player and remote domains. Home Assistant creates a separate accessory-mode entry for each entity that needs one. Running each camera on its own instance also stops camera snapshots from slowing down the rest of your HomeKit devices.
Step-By-Step on Home Assistant + HomeKit
- Download Home Assistant
- Install Home Assistant
- Set Up Home Assistant
- Access the Intrgrations Page
- Add HomeKit Integration
- Configure the Bridge
- Finish Configuration
- Open the Home App
- Add Accessory
- Use the HomeKit Code
- Complete Pairing
You can run Home Assistant on a Raspberry Pi, a server, or in a Docker container. Vist the Home Assistant's website to download the appropriate installation image or instructions for your setup.
Follow the installation instructions specific to your hardware. For a Raspberry Pi, this is typically involves flashing an image to an SD card and booting the Raspberry from it.
Once Home Assistant is running, open a web browser and navigate to
http://homeassistant.local:8123
In Home Assistant, go to Settings > Devices & Services.
Click on "Add Integration" and search for 'HomeKit'. Select the "HomeKit Bridge" option.
Include Domians or Entities: You will be prompted to select specific domains (eg: lights, switches) or individual entities you want to expose to HomeKit. Choose the devices you want to control via HomeKit.
Set Up the Bridge: After selecting your devices, follow the prompts to configure your HomeKit bridge. Home Assistant will generate a HomeKit code for pairing.
Save your settings. Home Assistant will start running the HomeKit bridge.
On your iPhone or iPad, open the Home app.
Tap on the "+" icon in the top right corner and select "Add Accessory".
Scan the HomeKit pairing code provided by Home Assistant using your iPhone camera. If you're prompted that no accessories were found, tap on "I Don't Have a Code or Cannot Scan" and select "Home Assistant Bridge" from the list.
Follow the on-screen instructions to complete the pairing process. The devices you selected in Home Assistant should now appear in the Home app.
Repeat steps 8 to 11 for each accessory-mode entity, such as a camera, lock or TV, since each one pairs on its own.
Tip: a bridge created in the UI should only be edited in the UI. If you need per-entity settings such as a lock code or a linked battery sensor, put those entities on a bridge defined in YAML instead.
What Is the 150-Accessory Limit in Home Assistant HomeKit Bridge?
Apple's HomeKit Accessory Protocol allows a maximum of 150 accessories per bridge. By default, HomeKit Bridge includes every visible entity in the domains you pick, so a large Home Assistant install can pass 150 quickly. When it does, pairing typically hangs or fails.
Three ways to stay under the limit:
- Use include mode. Expose only the entities you actually control from Apple Home or Siri, not every sensor and diagnostic entity.
- Split into multiple bridges. For example, use one bridge for lighting and one for sensors and climate. Each bridge needs a unique name and its own port (the default is 21063). Do not select the same entity on two bridges, or it will show up twice in the Home app.
- Move cameras, locks and TVs to accessory mode. They then run as separate instances instead of filling slots on the main bridge.
Large setups also lean on your Apple home hub. In Home Assistant's own testing, HomePod, HomePod mini and Apple TV 4K handled hundreds of bridged accessories well, while Apple TV HD and iPads had trouble with large counts.
Why Won't the Home Assistant Bridge Show Up in the Home App?
- Different network: your iPhone must be on the same local network as Home Assistant while pairing.
- Blocked ports: if Home Assistant has a firewall, open UDP 5353 (mDNS) and TCP 21063, or the port you set for the bridge.
- Docker: run the container with
network_mode: host. On an isolated network, setadvertise_ipand run an mDNS reflector such as avahi-daemon. - VirtualBox: set the VM network adapter to bridged mode.
- Pairing hangs: make sure the bridge has fewer than 150 accessories. If it still hangs, a single entity may be the cause. Pair with a minimal filter, then add entities back in batches to find it.
- Everything shows "No Response" a few minutes after a restart: check your router's IGMP settings. The defaults usually work best.
- A renamed or changed device does not update: HomeKit caches accessory details. Run the HomeKit Reset accessory action on that entity, then restore its room and name in the Home app.
For full troubleshooting details, see the official Home Assistant HomeKit Bridge documentation.
Why Home Assistant Is Popular
Local control. Most automations execute entirely on your local network, which means faster response times and no dependency on a manufacturer's servers staying online.
Broad device support. Home Assistant works with devices from most major smart home brands lighting (Philips Hue, IKEA, Aqara, Govee, Shelly), security (cameras, locks, sensors), climate control, energy monitoring, and media players without locking you into one ecosystem.
A capable automation engine. Automations can trigger on time, device state, presence, weather, or calendar events, and can be built either through a visual editor or YAML for more advanced logic.
Privacy by default. Data stays local unless you explicitly enable a cloud integration, and you control which services (if any) get remote access to your home.
How to Add Any Device to Apple HomeKit
Do you want me to sum it up in just one word? AMAZING Allow me to share my favorite feature with you before I go over how it operates. It is quite simple and takes very little time or coding expertise. Any Smart Home devices can be connected to Apple HomeKit with AddtoHomeKit, a software solution. For example; if you want to combine Shelly devices with Apple HomeKit, you do not need to download those large programs.
What Can I Do with a Home Assistant?
As I mentioned before the Home Assistant allows you to integrate any device together, very similar to the ATH Bridge or the Athom Homey Pro. With a Home Assistant you can integrate any design whether it be a Home Assistant Docker it does not matter as it allows you to have a wide range of integrations such as a Shelly Home Assistant/ SimpliSafe Home Assistant integration or even a Tuya Home Assistant integration.
You can even integrate Shelly and SimpliSafe smart devices or even Tuya and Govee smart devices together with Home Assistant!
One of the amazing features of Home Assistant is that it has a wide range of integrations, making your home smarter and bringing incomparable efficiency.
Key Features of Home Assistant
With Home Assistant integrations, you can connect just about any device as it has a wide range of compatible devices and supports a wide range of protocols. Whether it is Zigbee2MQTT, Alexa or even if it is your Apple TV, you can integrate them
For instance, using SkyConnect and Zigbee2MQTT, you can effortlessly integrate ZigBee devices. While Home Assistant HACS offers thousands of community-driven add-ons to further enhance your setup, which just helps you have a smarter smart home!
Best Methods to Run Home Assistant
Raspberry Pi
I would personally highly recommend running Home Assistant on a Raspberry Pi, it is very popular not just for HomeBridge users but even for HOOBS users. For newer Home Assistant Raspberry Pi users, or beginners, Raspberry Pi is going to be a great choice as it is very beginner-friendly. It provides a low-costly and very flexible solution.
Home Assistant Server or Home Assistant Green/Home Assistant Yellow
If you are looking at a more complex set up or planning on having a larger set up, a Home Assistant server or Home Assistant Green is the best option for you. They both offer an amazing performance for a larger setup.
Tip: For a tidier setup, a Docker installation is an amazing choice as it allows you to run Home Assistant in a containerized environment, which makes it significantly easier for updates and backups.
Step-by-Step Guide to Set Up Home Assistant
- Choose your preferred hardware (one of the below)
- Raspberry Pi: Ensure you have a Raspberry Pi 4, a microSD card (32GB+) and, of course, a power supply.
- Home Assistant Yellow / Home Assistant Green
- Home Assistant Server / Home Assistant Docker
- Install Home Assistant
- Download the Home Assistant OS image.
- Flash the image onto the microSD card using Balena Etcher.
- Insert the card into the Raspberry Pi, power it up, and wait for the setup to complete.
- Install Docker on your system.
- Access Home Assistant
- Initial Configuration
- Create an account.
- Set Location and Time.
- Integrate Devices: Start adding devices such as Shelly, SimpliSafe, Govee, Tuya, or use Home Assistant integrations like Zigbee2MQTT.
- Customize with Automations
- Use Home Assistant HACS for additional customizations and install themes or integrations.
- Create Home Assistant Automations under Settings > Automations and Scenes to manage devices such as Alexa, Apple TV, or even Google Home.
1. Raspberry Pi Installation
2. Docker Installation
Run the following command:
docker run -d --name homeassistant --privileged --restart=unless-stopped -e TZ=YOUR_TIMEZONE -v /path/to/your/config:/config --network=host ghcr.io/home-assistant/home-assistant:stable}
Access Home Assistant by navigating to http://[YOUR_PI_IP]:8123 in your web browser.
Comparison between Home Assistant and Other Automation Platforms
| Feature | Home Assistant | Apple HomeKit | Google Home | Amazon Alexa |
|---|---|---|---|---|
| Open Source | Yes | No | No | No |
| Local Control | Yes | Yes | Limited | Limited |
| Brand Compatibility | Multi-brand compatibility & supports many protocols | Apple ecosystem & HomeKit supported | Google Nest & partners | Amazon Echo & partners |
| Customization | Integrates with Google Assistant, Alexa & Siri | Low | Low | Low |
| Voice Assistant | Integrates with Google Assistant, Alexa & Siri | Siri | Google Assistant | Alexa |
| Privacy | Strong (local control, no cloud needed) | Strong (local control) | Moderate (local control) | Moderate (local control) |
| Ease of Use | Moderate (technical setup required) | High | High | High |
| Extensibility | Very High (custom components, add-ons [SkyConnect]) | Low | Low | Low |
Read also,
- Starling Home Hub: Connecting Nest and HomeKit
- Apple HomeKit – Everything you need to control your smart home
What Can Home Assistant Control?
Lighting: Philips Hue, IKEA TRÅDFRI, Aqara, Govee, Shelly, LIFX, Yeelight Security: cameras, smart locks, motion and door sensors, alarm systems, video doorbells Climate: thermostats, air conditioners, humidifiers, fans, air quality sensors Energy: solar production, battery storage, whole-home usage, smart plugs Media: Chromecast, Apple TV, Sonos, Spotify, Plex, smart TVs Robot vacuums: Roborock, Dreame, Ecovacs, Roomba.
Supported Protocols
| Protocol | Supported |
|---|---|
| Wi-Fi | Yes |
| Zigbee | Yes |
| Z-Wave | Yes |
| Matter | Yes |
| Thread | Yes |
| Bluetooth | Yes |
| MQTT | Yes |
| KNX | Yes |
| Modbus | Yes |
A single Home Assistant instance can run several of these protocols at once, which is what lets it bridge devices that would otherwise have no way of talking to each other.
Installation Options
| Option | Best For | Notes |
|---|---|---|
| Home Assistant Green | Beginners | Official hardware, plug-and-play, no Linux required |
| Raspberry Pi | DIY hobbyists | Requires a Pi 4 or newer, SD card or SSD, power supply |
| Mini PC (e.g., Intel NUC) | Advanced users / larger homes | More storage and processing headroom |
| Virtual Machine | Users with an existing home server | Runs under Proxmox, VMware, VirtualBox, Hyper-V |
| Docker | Advanced users | Most flexible, most manual maintenance |
Is Home Assistant Secure?
Yes, when configured correctly. Baseline practices: enable two-factor authentication, keep Home Assistant updated, use HTTPS, avoid exposing ports directly to the internet, use a secure remote access method (e.g., Nabu Casa or a properly configured VPN), and back up your configuration regularly.
Conclusion
Home Assistant is very inclusive so regardless of whether you are an experienced smart home user or a beginner, Home Assistant offers a flexible and a very powerful platform to bring your smart devices together to integrate and connect all your smart devices together for a unified smart home experience. Whether it be a Shelly and Alexa integration, it is all possible with Home Assistant!
FAQs about HomeAssistant HomeKit Integration
The Home Assistant allows you to connect your smart home devices such as your Tuya lights, Ring cameras, or any smart devices. Which ultimately allows you to have a great automation with the user-friendly and unified web-based user interface of Home Assistant.
Yes, it requires a computer or some hardware that can run it 24/7. It does not require a lot of CPU power, but you will need a CPU 2 Gen or newer. You can even use a Raspberry Pi 3, 4 or 5.
- Raspberry Pi 3, 4 or 5 with power supply
- MicroSD card
- Ethernet connection
No, Home Assistant does not require a subscription and is free to use if you want the basic functionality. However, if you want cloud services and remote access through Nabu Casa then you need to have a Nabu Casa subscription.
You don’t necessarily need internet access after Home Assistant is installed but it does require a local network as Home Assistant does not work without a local network that connects everything together.
To control your smart home devices directly through Home Assistant and create maybe a Tuya Home Assistant or a Shelly Home Assistant of sorts you need either Bluetooth, ZigBee or a z-wave adapter to plug into the install hosting device.
The home assistant's actual brains operate as a server and require a platform that is constantly powered on via your network; when it's operating, it doesn't even require a display connected to it.
A pi, an old PC, or a mini PC are used by some. After that, the server opens the dashboards to various PCs, phones, and tablets through webpages or apps. Android and Fire tablets can serve as your constant dashboards.
Yes. HomeKit Bridge is built into Home Assistant and needs no subscription or extra hardware. Controlling the bridged devices from outside your home works through your Apple home hub, such as a HomePod or Apple TV, so a Nabu Casa subscription is not required for Apple Home remote access.
One bridge can expose up to 150 accessories, a limit set by Apple's HomeKit Accessory Protocol. If you have more, include only the entities you want in Apple Home, split them across several bridges with unique names and ports, or move cameras, locks and TVs to their own accessory-mode instances.
They work in opposite directions. HomeKit Bridge sends Home Assistant devices into the Apple Home app and Siri. HomeKit Device (the homekit_controller integration) pulls HomeKit-certified accessories into Home Assistant so you can use them in its automations and dashboards. Many homes use both together.
No. Cameras exposed through HomeKit Bridge stream live video and can send motion or doorbell notifications when you link the right sensors, but HomeKit Secure Video recording is not supported. Each camera also needs its own accessory-mode instance rather than sitting on the main bridge.
No. Entities you add to an existing bridge appear in the Home app without pairing again. Accessory-mode entities are the exception, since each one pairs separately. If you change an accessory that is already in HomeKit, such as its name or device class, reset it with the HomeKit reset accessory action.