The Problem with “Smart” Doorbells
Every major smart doorbell — Ring, Reolink, Arlo — ships with a camera, a button, and a subscription. You’re paying for the cloud relay, the app, the storage, and the brand. The camera itself is often mediocre compared to whatever you already have mounted at your front door. And if the company shuts down a service tier or you let the subscription lapse, the button stops ringing your phone.
If you run Frigate, you already have a better camera at your door. You already have an NVR that records locally, detects objects, and keeps footage on your own hardware. The only piece missing was: when a visitor physically presses a button, ring my iPhone. Not a notification banner. A ring — like an actual incoming call, with the camera feed in the answer screen.
That’s what Lumen’s new Physical Button Trigger feature adds.
How It Works
Lumen’s push relay already sits between your Frigate server and your iPhone. It listens to MQTT, processes Frigate events, and fires VoIP pushes that iOS renders as CallKit incoming calls. With this update, the relay can also subscribe to any arbitrary MQTT topic — the kind your Aqara, Sonoff SNZB-01, Shelly, or ESPHome device publishes to when someone presses it.
When the message arrives and matches your rule, the relay fires the same VoIP push it would for a Frigate detection. Your iPhone shows a full-screen incoming call with your door camera’s name. You answer, see the snapshot, and decide whether to open the door or ignore it. The whole flow is on your LAN (or over Tailscale). No cloud subscription required — no Aqara cloud, no Amazon cloud, no Ring subscription.
30-Second Setup
-
Open Lumen → Settings → Doorbell & Calls → Physical Buttons → Add Button.
If your button is already a Home Assistant entity, tap Discover — the relay auto-fills topic and match rule from HA’s MQTT discovery. If you’re using a Zigbee2MQTT or Shelly button directly, tap Manual and enter the MQTT topic (e.g.
zigbee2mqtt/front_door_button/action) and the match rule (Equals: single).
-
Select which cameras ring.
Toggle on one or more cameras from your Frigate setup. The button can ring multiple cameras simultaneously — useful if you want both the front-door camera and the porch camera to show up on the incoming call.
-
Tap “Send test push”, then Save.
The test button fires a real VoIP push to your device so you can confirm the CallKit ring appears before committing. Once you’re happy, tap Save — the binding syncs to the relay in under a second.
That’s it. Press the button at your door. Your iPhone rings.
Free — No Pro Required
Physical button bindings are free and unlimited for all Lumen users. Lumen Pro is for AI auto-detection calls on multiple cameras simultaneously. A button press is a deliberate human action — semantically the same as tapping “Call” in the app — so it was never right to gate it behind a subscription.
Want the full setup guide?
The docs page covers all three hardware setups (Sonoff SNZB-01 or Aqara via Z2M, Shelly, Home Assistant), match rule options, multi-camera ring, and troubleshooting.
Read the DocsGet Lumen
Lumen runs on iPhone, iPad, Mac, Apple Watch, Apple TV, and Vision Pro. Free download, no account required, connects directly to your self-hosted Frigate instance.
Lumen — Native Frigate NVR App for Apple
Live streams, AI detection events, push notifications, CallKit doorbell, geofencing. iPhone, iPad, Mac, Watch, TV, Vision Pro.
Download Free on the App StoreThis page contains affiliate links. If you buy through them, we earn a small commission at no extra cost to you.