Home Assistant Doorbell: Video Doorbells That Work Without the Cloud

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.

Check Your Devices Camera Guide

Why Use Home Assistant for Your Doorbell?

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.

๐Ÿ’ฐ

No Subscriptions

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.

๐Ÿ 

Works Offline

Your doorbell keeps recording even when the internet drops. RTSP streams go straight to your local server. No cloud required.

๐Ÿค–

Real Automations

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.

๐Ÿ”’

Privacy First

Your video stays on your network. No company mining your footage. No police partnerships sharing your data without consent.

Best Video Doorbells for Home Assistant (2026)

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.

BEST OVERALL

Reolink Video Doorbell

$80-130 (PoE or Wi-Fi)

  • 2K+ resolution, 180ยฐ vertical view
  • RTSP + ONVIF for local streaming
  • Two-way audio
  • SD card + NVR recording
  • PoE version needs no battery or Wi-Fi
  • Works great with Frigate

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.

BUDGET PICK

Amcrest AD410

$70-90

  • 2K resolution
  • RTSP + ONVIF
  • Two-way audio
  • SD card recording
  • Wi-Fi only (no PoE option)
  • Proven Frigate compatibility

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.

PREMIUM

UniFi G4 Doorbell Pro

$300+

  • 5MP, package detection
  • PoE powered
  • Built-in display for messages
  • UniFi Protect integration (HACS)
  • Requires UniFi Protect hardware
  • No subscription ever

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.

Ring Video Doorbell

$100-250

  • HA integration available
  • Motion and doorbell events
  • Cloud dependent (no RTSP)
  • Subscription for video history
  • No Frigate support
  • Privacy concerns (Amazon owned)

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.

Google Nest Doorbell

$130-180

  • HA integration via Nest/Google
  • Good object detection
  • Cloud only (no RTSP)
  • Nest Aware subscription for history
  • Google Home ecosystem is fading
  • API access keeps changing

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.

DIY PROJECT

ESP32-CAM Doorbell

$15-40 (parts)

  • Fully local via ESPHome
  • Custom button + camera + speaker
  • Total control over features
  • Lower video quality
  • Needs 3D-printed enclosure
  • Not weather-rated out of the box

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.

Quick Comparison: Doorbell Features at a Glance

DoorbellPriceLocal VideoFrigatePoESubscriptionTwo-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.

Setting Up Your Doorbell with Home Assistant

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.

Step 1: Install Your Doorbell

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.

Step 2: Add the Integration

In Home Assistant, go to Settings > Devices & Services > Add Integration:

  • โ†’Reolink: Search "Reolink" and enter the camera IP. HA auto-discovers most Reolink devices.
  • โ†’Amcrest: Search "Amcrest" and enter IP, username, and password.
  • โ†’UniFi: Install the UniFi Protect integration from HACS. Enter your Protect controller IP.
  • โ†’Ring: Search "Ring" and log in with your Ring account.

Step 3: Verify Entities

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.

Step 4: Add to Your Dashboard

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.

Level Up: Frigate for AI Person Detection

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.

What Frigate Does for Your Doorbell

  • Person detection: Only alert when a human approaches your door
  • Package detection: Know when a delivery arrives (even if they do not ring)
  • Vehicle detection: Catch someone pulling into your driveway
  • Snapshots and clips: Auto-save the best frame and a video clip of each event
  • Object zones: Define areas like "porch" or "walkway" for targeted detection

Frigate Hardware Requirements

For a single doorbell camera, you do not need much:

  • Minimum: Raspberry Pi 4 (4GB) + Google Coral USB ($25)
  • Recommended: Intel N100 mini PC with OpenVINO (no Coral needed)
  • Power user: Proxmox VM with GPU passthrough

Check out our full camera guide for detailed Frigate setup instructions.

5 Doorbell Automations That Actually Matter

These are the automations that make a smart doorbell worth having. Copy the YAML or build them in the visual editor.

1. Snapshot Notification When Someone Rings

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"

2. Announce Visitors on Smart Speakers

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."

3. Auto Turn On Porch Light at Night

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_porch

4. Package Delivery Alert (Frigate)

Frigate 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.jpg

5. Show Doorbell Feed on TV

When 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_tv

DIY: Build Your Own Smart Doorbell with ESP32

If 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.

Parts List

  • ESP32-S3 board with camera (e.g., Freenove ESP32-S3-WROOM) ~ $15
  • INMP441 I2S microphone ~ $3
  • MAX98357A I2S amplifier + small speaker ~ $5
  • Momentary push button (waterproof) ~ $2
  • 5V power supply or USB cable ~ $5
  • 3D printed or waterproof enclosure ~ $5-15

Total: roughly $35-45 for everything.

How It Works

  • 1. Flash ESPHome to the ESP32-S3
  • 2. Configure the camera, button, mic, and speaker in YAML
  • 3. The button press fires a binary sensor in HA
  • 4. The camera streams via ESPHome's native API
  • 5. Two-way audio uses HA's Assist pipeline or direct stream

The video quality will not match a Reolink, but for a budget build with total local control, it is hard to beat.

Which Doorbell Should You Pick?

It depends on your situation. Here is the quick decision guide:

You can run ethernet to your door

Get the Reolink PoE Doorbell. Most reliable option, no battery worries, best video quality. One ethernet cable handles power and data.

Wi-Fi only, on a budget

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.

Already own a Ring or Nest

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.

You run UniFi Protect

The UniFi G4 Doorbell Pro integrates perfectly. Expensive, but the best experience if you are already in the UniFi ecosystem.

Not Sure What Works with Your Setup?

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