Read the IoT class before you read the spec sheet
Every Home Assistant integration page carries one line most buyers never see: its IoT class. It is the honest summary of where the intelligence lives, and for a doorbell it maps directly onto how the thing will feel to use.
Local Push means the device tells your server the instant something happens, over your own network. A press lands in an automation in real time, and nothing depends on a company’s cloud being up. Local Polling means your server asks the device on a timer — still local, still private, but events arrive on the next poll rather than the moment they occur. Cloud Polling means Home Assistant asks the manufacturer’s servers, which is fine for a lamp and poor for a doorbell: the thing you want instantly is the one thing a round trip through someone else’s data centre delays.
That is the ranking order on this page. It is also why two of the biggest doorbell brands in America are not picks here at all.
Why the Reolink is first
Home Assistant’s Reolink integration page is unusually generous about what it supports, and the list reads like a spec sheet for a doorbell automation: camera streams at Fluent, Balanced and Clear, binary sensors for motion and for AI person, vehicle and pet detection, a doorbell-press sensor, PTZ buttons, siren and floodlight controls, battery and storage sensors, and a media browser you can scroll to play back recordings. Two requirements are worth knowing before you buy: the integration needs a camera user account with admin privileges, and the HTTP or HTTPS port on the camera has to be enabled.
Two honest limits. Home Assistant lists two-way audio and text-to-speech as not available through this integration, so answering the door from a Home Assistant dashboard is not on the table — you do that in the Reolink app. And Reolink’s LTE models are listed as incompatible, which does not affect this doorbell but matters if you were planning a cellular camera elsewhere on the property.
The hardware suits the job too. Reolink states “No Monthly Fees for Local Storage” and publishes four places the footage can go — a microSD card up to 512GB, a Reolink Home Hub, an NVR or your own FTP server. It is the only pick here on dual-band 2.4/5GHz Wi-Fi, it is rated IP65, and Reolink quotes up to 300 days of battery based on five minutes of recording a day. The 2048 x 2048 square sensor is the other reason to like it: a 1:1 frame shows a visitor head to toe and the parcel on the step, where a 16:9 doorbell crops one or the other. Reolink lists it at 15fps, and Alexa support as “Coming Soon” rather than available — buy it for Home Assistant, not for an Echo.
The Aqara is the Matter answer, with a caveat we are not hiding
Aqara’s position in Home Assistant is genuinely strong at brand level. Home Assistant says Aqara “is a member of the Works with Home Assistant partner program for their Matter products”, that Aqara Matter devices “work locally and integrate seamlessly with the Matter integration”, and that because all the connectivity is local, “status updates and controlling your devices happen instantly”. Home Assistant’s own Matter integration page backs that up: Matter is Local Push, and “Matter products run locally and always allow local control, with device control done without the need for any internet connection or cloud services”.
Here is the caveat. The Works-with certified list on that page names the Aqara Hub M3, the Valve Controller T1, LED Bulb T2, Smart Locks U200, U300 and U400, the Motion and Light Sensor P2, the Door and Window Sensor P2, the FP1E and FP300 presence sensors, the Climate Sensor and the H2 light switches. No Aqara camera or doorbell appears on it. What we have instead is Aqara’s own product documentation for the G410, which lists Home Assistant alongside Apple Home, Google Home, Alexa and SmartThings and describes the route as RTSP and Matter bridging. That is a first-party claim from the maker rather than a certification from the Home Assistant project, and those are different things.
What makes the G410 worth the second slot anyway is the box itself. The microSD slot — up to 512GB — is inside the indoor chime, not in the unit outside that a thief can unscrew, which is the single smartest design decision in this category and one we wrote a whole guide around in do video doorbells get stolen? That chime also contains a Matter controller, a Thread border router and an Aqara Zigbee hub, so it earns its place on the shelf twice. Aqara publishes full HomeKit Secure Video support with a stated 1200p ceiling over HSV, below the camera’s own 2K, and no IP rating for this model at all — a real gap for an outdoor device, and one we cover in are security cameras waterproof?
The Tapo D225: cheapest, conditional, and worth understanding
There are two ways to get a Tapo doorbell into Home Assistant, and they behave differently. The first is the TP-Link integration, which Home Assistant documents as covering “your TP-Link Kasa Smart Home Devices and TP-Link Tapo Devices such as cameras, doorbells, chimes, lights, plugs, wall switches, robot vacuums, hubs, and hub-attached devices” with an IoT class of Local Polling on a five-second cycle. It connects locally “without going via the TP-Link cloud” — but Home Assistant also states that newer Kasa and all Tapo devices “require your TP-Link cloud username and password to authenticate for local access”. Local, with a cloud credential in the loop.
The second route is ONVIF, which Home Assistant classes as Local Push for any ONVIF Profile S device and which exposes motion, field, cell and human-shape events through ONVIF’s pullpoint subscription. Two gotchas are on that page: it needs the ffmpeg integration, and many newer cameras default to H.265 while the integration looks for H.264, so the camera must be set to output at least one H.264 stream.
And then the condition that decides it. TP-Link’s own RTSP/ONVIF instructions state that RTSP streaming is generally not supported on battery- or solar-powered cameras, with the hardwired D235, D225 and TD25 named as exceptions when continuously powered. So the D225 can feed Home Assistant — as a wired doorbell. TP-Link also warns that Tapo Care cloud storage, local card storage and NAS/NVR/ONVIF recording cannot all run at once because of limited stream resources, and that RTSP needs a separate camera account distinct from your Tapo login.
Hardwired, it is a lot of doorbell for the money: 2K 4MP, a 170.6° horizontal view, microSD to 512GB, 24/7 continuous recording, IP66, an indoor chime in the box, and person, pet, vehicle and package detection that TP-Link lists as free AI detection rather than a plan feature. On battery it is event-only and out of this ranking.
The three picks against Home Assistant’s own documentation
Every row is read from Home Assistant's own integration documentation or from the maker's published specs, on the dates in the sources below. 'Not published' means we found no first-party statement — it is not a claim the feature is absent. Integrations change release to release; check the current integration page before you buy if one row is the deciding factor. | Reolink Doorbell 2nd Gen | Aqara G410 | Tapo D225 |
|---|
| Home Assistant route | Native Reolink integration | Matter, plus RTSP per Aqara | TP-Link integration, or ONVIF |
|---|
| IoT class Home Assistant publishes | Local Push | Local Push (Matter) | Local Polling (TP-Link); Local Push (ONVIF) |
|---|
| On Home Assistant's certified list | Not applicable — native integration | No camera or doorbell listed | Not applicable — native integration |
|---|
| Doorbell-press entity documented | Yes, doorbell-press sensors | Via Matter / RTSP, per Aqara | Not published separately |
|---|
| Works with the internet blocked | Yes, stated on the integration page | Matter control is local by design | Local, but needs a cloud credential to authenticate |
|---|
| Two-way audio in Home Assistant | Listed as not available | Not published | Not published |
|---|
| Battery operation and local access together | Yes | Yes (Matter path) | No — RTSP needs continuous power |
|---|
| Local storage with no fee | microSD, Home Hub, NVR or FTP | microSD in the indoor chime | microSD to 512GB |
|---|
| Wi-Fi band | 2.4 / 5GHz dual-band | 2.4 / 5GHz dual-band | 2.4GHz only |
|---|
| Published IP rating | IP65 | None published | IP66 |
|---|
| Resolution | 2048 x 2048 at 15fps | 2K (1200p over HomeKit Secure Video) | 2K 4MP |
|---|
Read it top to bottom and the order falls out of the first two rows. The Reolink is the only doorbell here with a native, Local Push integration that names a doorbell-press entity. The Aqara gets to Local Push through Matter, which is the most future-proof path on the page, but the certified list does not yet include a camera. The Tapo gets there cheapest and gives up battery operation to do it.
The brands that are not on this page, and why
Ring. Home Assistant documents the Ring integration as Cloud Polling, with live view and last-recording camera entities and event entities for rings, motion and intercom unlocking — and states that “downloading and playing Ring video from the last_recording camera will require a Ring Protect plan”, that two-way audio in live view is not currently supported, and that real-time events need outbound access to TCP port 5228. A doorbell whose recordings need a subscription to replay inside your own server is not a local doorbell. Our guide to doorbell subscriptions covers what that plan does and does not buy.
Blink. Also Cloud Polling, and the integration page says it outright: “This integration does NOT allow for live viewing of your Blink camera within Home Assistant.” Home Assistant also advises against relying on its sensors for timely data, because they are only polled when new images are requested.
eufy. This one surprises people, because eufy is the brand this site most often recommends for no-fee storage. Home Assistant’s only first-party eufy integration is EufyHome, IoT class Local Polling, and the page documents support for exactly two device types: Light and Switch. No camera, doorbell or alarm entity appears on it, and it is configured by hand in configuration.yaml with your eufy account credentials. Community add-ons for eufy security hardware exist; we do not rank products on add-ons, for the same reason we gave about Wyze on our Home Assistant smart plug page. If the eufy E340 is the doorbell you want, buy it for the eufy app and its 8GB of on-device storage, not for your server.
Wyze. Checked again for this page: no Wyze entry appears on Home Assistant’s integrations index, and /integrations/wyze/ returns HTTP 404. That is evidence of absence from the project’s documentation, not proof no community bridge exists.
What to buy, in one paragraph
Running Home Assistant as your main interface and want the press, the motion and the playback inside it, with no internet dependency? Buy the Reolink. Live in an Apple household that also runs Home Assistant, and want the storage indoors and a Thread border router thrown in? Buy the Aqara G410, and accept that the Home Assistant route comes from Aqara’s documentation rather than a Works-with certification. Already hardwiring a doorbell and want the cheapest ONVIF feed you can get? Buy the D225 and run power to it. If none of those describe you, the honest answer is that you do not need a Home Assistant doorbell at all — start from our main doorbell ranking or from the no-subscription doorbell picks instead.