A doorbell is the one camera on your network that has to do three jobs at once. Frigate needs its video, Home Assistant needs to know the button was pressed, and someone has to be able to answer it. Most smart doorbells handle all three through a vendor cloud. The ones that stay on your LAN rarely do all three equally well.
We checked the Home Assistant 2026.10 and Frigate 0.18 docs, the maker spec sheets and the Amazon US listings on October 21, 2026. The goal was simple: find which doorbells keep each job local. Only Reolink’s two mains-powered doorbells, both priced around $120 to $150, do all three with configuration Frigate documents itself. If you are still choosing the rest of your camera fleet, start with our PoE cameras for Frigate and come back for the front door.
Check the three paths before you buy

Frigate never sees the doorbell button, because it only receives video. The press has to reach Home Assistant through the vendor integration or HomeKit, and talking back needs go2rtc, WebRTC and HTTPS on whichever page holds the microphone. Here is how each doorbell handles the three jobs:
| Doorbell | Video into Frigate | Button press in Home Assistant | Talk back through go2rtc | Cloud needed to set up |
|---|---|---|---|---|
| Reolink PoE or WiFi | Yes, http-flv plus RTSP | Reolink integration, visitor binary sensor | Yes, documented by Frigate | No |
| Aqara G400 | Yes, RTSP on port 8554 (community docs) | HomeKit Controller, doorbell event | No supported local path | Aqara app to enable RTSP |
| Reolink Battery 2nd Gen | Only in wired power mode | Reolink integration | Not documented | Reolink app |
| UniFi Doorbell Lite | Yes, through the Protect console | UniFi Protect, ring event | No, Protect app only | Protect console, no UI account needed |
| DoorBird D1101V | Yes, RTSP on port 8557 | DoorBird integration, doorbell event | Supported, reported unreliable | DoorBird app |
| Dahua VTO door stations | Yes, RTSP | rroller/dahua from HACS | Yes, after an audio codec change | No |
| Wyze Video Doorbell v2 | Local P2P through go2rtc after a one-time Wyze login, on current firmware | No local integration | Through the go2rtc Wyze source | Yes, account and API key |
| Ring, Nest, eufy | No local stream | Cloud integrations only | Cloud tokens or none | Yes |
Buy the Reolink Video Doorbell PoE if you can run a cable
The Reolink PoE is the doorbell this article recommends to most readers, at roughly $110 to $130 from ReolinkDirect on Amazon. It streams 5MP at 2560×1920 in a 4:3 frame (3:4 portrait on the white model), runs from an 802.3af PoE port or from 12 to 24 VAC doorbell wiring, and ships with a plug-in Chime V2. The Reolink integration in Home Assistant is rated Platinum and pushes events locally, so the press arrives as a visitor binary sensor without polling, named binary_sensor.front_door_visitor if the camera is called Front Door.
Setup doesn’t need a Reolink account:
- Plug the doorbell’s LAN port into your network and open its web page.
- Set an admin password, then switch on RTSP, RTMP, ONVIF and HTTP.
- Add it to Home Assistant with the Reolink integration, using its IP, username and password.
- Add the streams to Frigate using the talk-back layout below.
Some current firmware ships with those protocols switched off, which is why step 2 matters. If the Reolink app already registered it as an Account device rather than a Local device, Home Assistant can’t connect. The fix is Restore under Device Settings, Advanced in the Reolink app, which resets the doorbell, then add it again as a Local device.
It doesn’t ring an existing mechanical chime, which matters if you are replacing a Ring. Reolink’s Home Assistant integration has no talk-back of its own. The answer button lives in Frigate or a Frigate-backed dashboard card.
Use the Reolink WiFi model when only chime wires reach the door
The WiFi version has the same camera and the same integration, but takes power from 12 to 24 VAC or a 24 VDC adapter and joins over Wi-Fi. It sells for about $140 to $160 from ReolinkDirect. First setup can still run over its Ethernet port on the bench, which avoids the app entirely.
Frigate’s hardware guide warns that Wi-Fi cameras give less reliable streams, and Home Assistant forum users have reported disconnects after enabling RTSP. If the access point nearest the door is weak, fix that first or the doorbell will drop out of Frigate at the worst moment.
Pick the Aqara G400 for a cheap HomeKit doorbell
The G400 is the cheapest standalone PoE pick here at roughly $90 to $110 from AqaraDirect, and it runs on 802.3af or 8 to 24V wiring. Its button reaches Home Assistant through HomeKit Controller as an event entity with the doorbell device class. A HomeKit accessory takes only one controller, though, so you unpair it from Apple Home first and lose native Apple Home and HomeKit Secure Video, unless you pass it back through the HomeKit Bridge without Secure Video.
Two things hold it back. Aqara documents RTSP only as a feature name, so the stream address of port 8554 and the paths /ch1, /ch2 and /ch3 come from the Aqara forum, and you enable it in the Aqara Home app. There is also no supported local two-way audio, so you hear the visitor in the Aqara app or not at all.
Accept a battery doorbell only where no wires reach
Battery doorbells sleep between events, so they can’t feed Frigate a continuous stream. The Reolink Battery Video Doorbell 2nd Gen, about $140 to $160, gets around that with a wired power mode on 16 to 24 VAC that Reolink says enables RTSP and ONVIF on current firmware. Reolink’s own pages disagree on whether that works without a Home Hub, and we found no owner confirming it, so it is unproven.
On battery, Reolink says the doorbell connects to Home Assistant directly, while the Home Assistant docs list a Home Hub or NVR for battery cameras. Either way, Reolink says hub RTSP sessions to battery cameras drop after five minutes. Buy this one only if the door has no doorbell wiring at all: you’ll get the button and alerts, but not continuous Frigate recording.
Stay with UniFi if Protect already runs your cameras
The UniFi Doorbell Lite lists at $99 from Ubiquiti, and the white model on Amazon runs about $140 to $150 from a third-party seller; check the current price. It streams 5MP in a 3:4 frame over PoE, and the UniFi Protect integration in Home Assistant turns the press into a ring event with no cloud account if you use a local Protect user. Frigate pulls the video from the Protect console with an rtspx:// address on port 7441.
Talk-back stays inside the Protect app, and you need a UniFi console in the first place. That makes it the right pick only when Protect is already on your network.
Spend on a DoorBird or Dahua station for a door release
If the doorbell also has to open a gate or a door strike, an intercom station fits better than a consumer doorbell. The DoorBird D1101V streams RTSP on port 8557, has a documented LAN API, and on new installs the DoorBird integration creates the doorbell and motion events in Home Assistant on its own. It costs roughly $900 to $1,100 on Amazon through third-party sellers, and go2rtc users report silent talk-back on this model in an open issue.
The cheaper route for tinkerers is a Dahua VTO door station such as the EmpireTech DB02F, about $160 from EmpireTech’s own store. It runs from a local web page with no app, exposes RTSP, and the community rroller/dahua integration handles the button. Its default L16 audio doesn’t work over WebRTC, so you will change the codec before talk-back works.
Wire up talk-back in Frigate
Frigate’s live view docs list the conditions for two-way talk, and the last one applies to Reolink doorbells:
- Run go2rtc with WebRTC enabled.
- Open Frigate over HTTPS, which may mean exposing port 8971.
- On a Reolink doorbell, use the recommended Reolink stream layout.
For a Reolink doorbell at 10.0.1.60, that layout pairs the http-flv video with an RTSP stream. The RTSP stream is the one that carries the talk-back channel:
go2rtc:
streams:
front_door:
- "ffmpeg:http://10.0.1.60/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=username&password=password#video=copy#audio=copy#audio=opus"
- "rtsp://username:[email protected]/Preview_01_sub"
front_door_sub:
- "ffmpeg:http://10.0.1.60/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=username&password=password"
- "rtsp://username:[email protected]/Preview_01_sub"
Don’t prefix the RTSP line with ffmpeg:, because go2rtc has to own that stream to send audio back. Frigate then records and detects from the restreamed copies, and the camera name has to match the go2rtc stream that carries the backchannel, front_door here:
cameras:
front_door:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/front_door
input_args: preset-rtsp-restream
roles:
- record
- path: rtsp://127.0.0.1:8554/front_door_sub
input_args: preset-rtsp-restream
roles:
- detect
Unless Frigate runs as the Home Assistant app, WebRTC also needs a candidate address on your LAN, so add the host running Frigate. The docs add stun:8555 as a second entry for access from outside, which queries a public STUN server; leave it out if the doorbell is only answered at home:
go2rtc:
webrtc:
candidates:
- 10.0.1.10:8555
In Docker bridge mode, publish port 8555 over both TCP and UDP. On Dahua and Amcrest doorbells, add #backchannel=0 to every stream except the one you talk on, because a held backchannel stops the physical call button from working.
Make a wall tablet ring when someone presses the button
The Advanced Camera Card has a doorbell profile that turns a dashboard into a phone: a press shows Answer and Reject buttons, and answering unmutes the visitor. Your microphone stays muted until you tap the mic button, so talking is push-to-talk by default. Talk-back works only with Frigate cameras on the go2rtc live provider, with Home Assistant itself opened over HTTPS, and the Frigate integration at 5.12.0 or newer.
The card looks for doorbell events only on the same device as the camera entity, and a Frigate camera lives on the Frigate device, so it won’t find any vendor’s button on its own. List the doorbell entity under triggers by hand for every pick, the visitor binary sensor for Reolink or the event entity for Aqara, UniFi and DoorBird, as the card’s examples show:
type: custom:advanced-camera-card
cameras:
- camera_entity: camera.front_door
live_provider: go2rtc
go2rtc:
modes:
- webrtc
triggers:
entities:
- binary_sensor.front_door_visitor
profiles:
- doorbell
Put this card on the tablet by the door from our Home Assistant dashboard tablet guide, and power the doorbell from a switch in our PoE switch picks. Frigate itself can run on the box from our Frigate NVR build.
Skip these doorbells for a local setup
Every doorbell below needs a vendor cloud for video or for the button, which defeats the point of Frigate:
| Doorbell | Why it doesn’t fit |
|---|---|
| Ring Wired 2K and 4K Pro | Home Assistant’s Ring integration is cloud-only and has no two-way audio in live view; recording needs a Ring Protect plan |
| Google Nest Doorbell (Wired, 3rd Gen) | Video arrives through Google’s cloud API after a one-time $5 Device Access fee; beyond short free event previews, recording needs Google Home Premium |
| eufy E340 and C31 | No RTSP; the community integration logs in to the eufy cloud |
| Wyze Video Doorbell v2 | Video can stream locally through go2rtc after a Wyze login, but the button has no local Home Assistant path |
Two former community favourites are hard to buy now. The Amcrest AD410 and AD110 were sold out at Amcrest and unavailable on Amazon on October 21, and Lorex now sells its doorbells only through its own sales team. If you were hoping to wait for a Matter doorbell instead, our Matter cameras and Frigate comparison explains why Home Assistant can’t use one yet.




