HomeKit Bridge for macOS
Lookout's Smart Home panels can display and control your HomeKit accessories — rooms, scenes, energy data, and more. Because HomeKit is only available to Mac Catalyst apps, a lightweight companion bridges the gap.
How it works
The HomeKit Bridge runs as a menu-bar app on your Mac. It connects to your HomeKit home using Apple's native framework, then exposes accessory data over a local WebSocket server on localhost:9230. The main Lookout app connects to this server automatically — no manual configuration, no cloud services, and no data ever leaves your machine. Real-time accessory state updates are pushed instantly over the same connection.
Setup
Download the HomeKit Bridge
Grab the latest release from GitHub. The download is a DMG disk image containing the signed and notarized app — no Gatekeeper warnings.
Download Latest ReleaseInstall
Open the DMG and drag "Lookout HomeKit Bridge" into your Applications folder. The app is lightweight and runs as a menu-bar utility — no Dock icon, no windows in your way.
Grant HomeKit permission
On first launch, macOS will ask you to grant HomeKit access. Accept the prompt — this is what allows the bridge to read your homes, rooms, and accessory states. The status window should then show your home name and accessory count.
Open Lookout Station
Launch the main Lookout app on your Mac. It connects to the bridge automatically over localhost — no network configuration needed. Add any Smart Home panel (Device Grid, Floor Plan, Scene Launcher, etc.) and your HomeKit accessories should appear immediately.
Enable Launch at Startup
In the bridge's status window, enable "Launch at Startup". This ensures the bridge is always available when you open Lookout — no need to remember to open it manually after a reboot.
Verifying it works
- Menu bar icon — After launching, look for the HomeKit Bridge icon in your Mac's menu bar (right side, near the clock).
- Status window — Click the icon. The status window should show
Connected, your home name, and the number of accessories detected. - Lookout connection — Open Lookout Station and add any Smart Home panel (e.g. Device Grid). Your rooms and accessories should appear within seconds. The bridge status will update to show
1 client.
Panels that use the bridge
These panels require the HomeKit Bridge when using HomeKit as their data source. If you use Home Assistant instead, the bridge is not needed — Lookout connects to Home Assistant directly over your network.
Troubleshooting
Lookout says 'HomeKit Bridge required' but the app is running
The bridge listens on localhost:9230. Make sure no other app is using that port. You can verify by clicking the bridge's menu-bar icon — the status window should show 'Connected' with your home name and accessory count. If it shows 'Waiting for permission…', re-open System Settings > Privacy & Security > HomeKit and ensure the bridge is allowed.
I accepted the HomeKit permission but no accessories appear
HomeKit can take a few seconds to enumerate accessories after initial authorization. If nothing appears after 30 seconds, try quitting and reopening the bridge. Also verify your Mac is signed into the same iCloud account that owns (or is invited to) the HomeKit home.
Accessory states are stale or not updating
The bridge streams real-time state updates over WebSocket. If your accessories are updating in Apple's Home app but not in Lookout, try restarting the bridge. The bridge supports event subscriptions — Lookout subscribes automatically on connection and receives push updates for every accessory state change.
Why does the bridge need to be a separate app?
HomeKit on macOS is only available to Mac Catalyst apps (apps built from iPad code running on Mac). Lookout Station's main app is a native macOS application, so it cannot access the HomeKit framework directly. The bridge runs as a lightweight Mac Catalyst utility that relays HomeKit data over a local WebSocket connection — no network traffic ever leaves your machine.
Still having trouble? Reach out at hello@lookoutapp.ai or open an issue on GitHub.
