Ring wants $100 a year just to save your doorbell clips. Nest wants even more. Meanwhile, a Reolink doorbell with Home Assistant gives you local recording, smart notifications, and automations that actually make sense. No subscriptions. No cloud dependency. This guide covers the best doorbells, how to set them up, and automations that turn a simple button press into something powerful.
Jump to a section
Cloud doorbells have three problems: they stop working when your internet goes down, they charge monthly fees for basic features like video history, and they send your footage to someone else's servers. A locally controlled doorbell fixes all of that.
Ring charges $40-100/year. Nest charges $60-120/year. With local recording via Frigate or an NVR, you pay once and own your footage forever.
Your doorbell keeps recording even when the internet drops. RTSP streams go straight to your local server. No cloud required.
Turn on porch lights, announce visitors on speakers, unlock the door for expected guests, send snapshots to your phone. All triggered by a single button press.
Your video stays on your network. No company mining your footage. No police partnerships sharing your data without consent.
Not every doorbell plays nice with Home Assistant. The ones below all support local video streaming, work with Frigate for AI detection, and integrate directly without cloud workarounds.
$80-130 (PoE or Wi-Fi)
The Reolink doorbell is the most recommended doorbell in the Home Assistant community for good reason. The PoE version is rock solid. The Wi-Fi version works well too if you can not run ethernet to your door. Native HA integration plus RTSP for Frigate makes setup straightforward.
$70-90
The Amcrest AD410 has been a Home Assistant favorite for years. Reliable RTSP streaming, solid build quality, and a lower price than Reolink. The main downside is Wi-Fi only, so you need a strong signal at your front door. Some users report occasional Wi-Fi disconnects.
$300+
If you already run UniFi Protect for your cameras, the G4 Doorbell Pro is a natural fit. The HACS integration brings doorbell events, camera feeds, and smart detections into Home Assistant. Expensive upfront, but the build quality and feature set are top tier. The built-in LCD screen is a unique touch.
$100-250
Already have a Ring? The Home Assistant integration works for automations and notifications. But if you are buying new, we would not recommend Ring. It depends entirely on Amazon's cloud, charges for video history, and does not support local streaming. You are paying a subscription to access your own front door.
$130-180
Similar story to Ring: it works with Home Assistant, but you are locked into Google's cloud. The HA integration uses Google's SDM API, which has been unreliable historically. With Google scaling back their smart home efforts, investing in Nest hardware is risky.
$15-40 (parts)
The ultimate tinkerer project. An ESP32-S3 with a camera module, a physical button, an I2S microphone, and a small speaker gives you a fully custom doorbell. ESPHome handles the integration. You will need to build or print an outdoor enclosure. Fun project, but not for everyone.
| Doorbell | Price | Local Video | Frigate | PoE | Subscription | Two-Way Audio |
|---|---|---|---|---|---|---|
| Reolink PoE | $100-130 | โ | โ | โ | None | โ |
| Reolink Wi-Fi | $80-100 | โ | โ | โ | None | โ |
| Amcrest AD410 | $70-90 | โ | โ | โ | None | โ |
| UniFi G4 Pro | $300+ | โ | โ ๏ธ | โ | None | โ |
| Ring | $100-250 | โ | โ | โ | $40-100/yr | โ |
| Nest | $130-180 | โ | โ | โ | $60-120/yr | โ |
| ESP32 DIY | $15-40 | โ | โ ๏ธ | โ | None | โ ๏ธ |
โ ๏ธ = Possible with extra setup. UniFi Frigate needs RTSP re-stream. ESP32 two-way audio requires I2S hardware.
The setup depends on your doorbell, but the general flow is the same: get the video stream into HA, configure doorbell press events, and optionally add Frigate for AI detection.
Mount the doorbell, connect power (PoE or existing doorbell wiring), and complete the initial setup via the manufacturer's app. For Reolink and Amcrest, find the camera's IP address on your router. You will need this for RTSP configuration.
In Home Assistant, go to Settings > Devices & Services > Add Integration:
After adding the integration, check that you have a camera entity (for the live feed), a binary sensor for the doorbell button press, and motion detection sensors. Go to Developer Tools > States and search for your doorbell name to see all available entities.
Add a Picture Entity card or Picture Glance card to your dashboard with the camera entity. This gives you a live view of your front door. You can also add the doorbell button state and motion sensor as badges or conditional cards.
A basic doorbell setup sends you every motion alert. A cat walks by? Notification. Tree branch sways? Notification. Frigate fixes this by using AI to detect what triggered the motion. Only notify when it is actually a person, a car, a package, or an animal.
For a single doorbell camera, you do not need much:
Check out our full camera guide for detailed Frigate setup instructions.
These are the automations that make a smart doorbell worth having. Copy the YAML or build them in the visual editor.
Get a push notification with a photo of who is at the door. Actionable buttons let you respond without getting up.
automation:
- alias: "Doorbell pressed - notify with snapshot"
trigger:
- platform: state
entity_id: binary_sensor.doorbell_button
to: "on"
action:
- service: camera.snapshot
target:
entity_id: camera.front_door
data:
filename: /config/www/doorbell_snap.jpg
- service: notify.mobile_app_your_phone
data:
title: "Someone is at the door"
message: "Doorbell pressed at {{ now().strftime('%H:%M') }}"
data:
image: /local/doorbell_snap.jpg
actions:
- action: UNLOCK_DOOR
title: "Unlock Door"
- action: IGNORE
title: "Ignore"Your speakers announce "Someone is at the front door" throughout the house. Way better than a traditional chime.
automation:
- alias: "Doorbell - announce on speakers"
trigger:
- platform: state
entity_id: binary_sensor.doorbell_button
to: "on"
condition:
- condition: time
after: "08:00:00"
before: "22:00:00"
action:
- service: tts.speak
target:
entity_id: tts.piper
data:
media_player_entity_id: media_player.living_room
message: "Someone is at the front door."When someone approaches after dark, flip the porch light on so the camera gets a clear shot and the visitor can see.
automation:
- alias: "Porch light on when motion at night"
trigger:
- platform: state
entity_id: binary_sensor.doorbell_motion
to: "on"
condition:
- condition: sun
after: sunset
after_offset: "-00:30:00"
action:
- service: light.turn_on
target:
entity_id: light.front_porch
data:
brightness_pct: 100
- delay: "00:05:00"
- service: light.turn_off
target:
entity_id: light.front_porchFrigate detects when a package appears in the doorbell's view. You get notified even if the delivery person does not ring.
automation:
- alias: "Package detected at front door"
trigger:
- platform: mqtt
topic: frigate/events
condition:
- condition: template
value_template: >
{{ trigger.payload_json['after']['label'] == 'package'
and trigger.payload_json['after']['camera'] == 'front_door'
and trigger.payload_json['type'] == 'new' }}
action:
- service: notify.mobile_app_your_phone
data:
title: "๐ฆ Package delivered!"
message: "A package was spotted at your front door."
data:
image: >
http://your-ha:8123/api/frigate/notifications/
{{ trigger.payload_json['after']['id'] }}/thumbnail.jpgWhen the doorbell rings, your TV automatically switches to the camera feed. See who it is without reaching for your phone.
automation:
- alias: "Show doorbell on TV"
trigger:
- platform: state
entity_id: binary_sensor.doorbell_button
to: "on"
condition:
- condition: state
entity_id: media_player.living_room_tv
state: "on"
action:
- service: camera.play_stream
target:
entity_id: camera.front_door
data:
media_player: media_player.living_room_tvIf you want full control and enjoy tinkering, an ESP32 doorbell is a fun weekend project. Here is what you need and how it all fits together.
Total: roughly $35-45 for everything.
The video quality will not match a Reolink, but for a budget build with total local control, it is hard to beat.
It depends on your situation. Here is the quick decision guide:
Get the Reolink PoE Doorbell. Most reliable option, no battery worries, best video quality. One ethernet cable handles power and data.
The Amcrest AD410 or Reolink Wi-Fi Doorbell. Both under $100, both support RTSP and Frigate. Make sure your Wi-Fi reaches the front door.
Use the Home Assistant integration for now. You get doorbell events and basic automations. When it is time to replace it, switch to a local option.
The UniFi G4 Doorbell Pro integrates perfectly. Expensive, but the best experience if you are already in the UniFi ecosystem.
Run our free compatibility scan. Tell us what devices you have, and we will show you exactly what works with Home Assistant, including doorbells, cameras, locks, and everything else.
Run Free Scan