The only spec that matters here
Before the picks, the test. Open the Home Assistant documentation page for any integration and look for the IoT class. There are two answers you care about for a camera.
Local Push — the camera and Home Assistant are on the same network and the camera reports events as they happen. Motion arrives in milliseconds, automations fire reliably, and nothing depends on a company’s servers being up or a subscription being current. Reolink and ONVIF are both documented as Local Push.
Cloud Polling — Home Assistant asks a remote server for the state on a timer. It works, but it is slower, it stops when your internet does, and the quality of what you get is whatever the vendor’s API chooses to expose. Both the official Ring and Blink integrations are documented as Cloud Polling, and in Blink’s case the documentation is blunter than any review would dare to be: see further down this page.
If you are deciding between Home Assistant and a commercial hub in the first place, our Hubitat vs Home Assistant comparison frames that choice, and our Home Assistant Green review covers the easiest box to run it on.
Why Reolink wins
Reolink is the only brand here whose integration is both first-party documented and genuinely local, and the entity list is the evidence. Home Assistant documents camera streams at Fluent, Balanced and Clear quality; binary sensors for motion detection and for AI person, vehicle and pet detection; visitor and doorbell-press sensors; number entities for optical zoom, brightness and sensitivity; buttons for pan, tilt and zoom; siren and floodlight entities; battery, storage and firmware-update entities; and a media browser for playing back recordings. That is not a camera feed bolted into a dashboard, it is a camera fully represented as devices you can automate.
The clause worth the most is the smallest: Home Assistant notes the devices operate fully locally, and that blocking their internet access does not prevent them from working. A camera that keeps doing its job with the WAN unplugged is the whole reason people run Home Assistant.
The Argus PT Ultra is the Reolink we cover, and Reolink publishes 4K at 15fps, two 6500K spotlights rated to 33 feet plus two 850nm infrared LEDs, 355 degrees of pan and 140 of tilt, a microSD slot up to 512GB, dual-band Wi-Fi, IP65 sealing and a solar panel option. One camera that physically turns covers ground that would otherwise need three.
The honest cons. Home Assistant lists two-way audio and text-to-speech as not available through this integration, so you cannot talk through the camera from a dashboard. It warns that H.265-encoded 4K streams have very limited browser support and recommends H.264 streams for compatibility — which means you may be watching the sub-stream rather than the headline 4K in your browser. LTE-based Reolink models are incompatible with the integration entirely. Setup needs a camera user account with admin privileges and the HTTP or HTTPS port enabled, and the password can only contain a restricted character set, so generate it carefully. And this is a battery camera with a solar panel: Home Assistant exposes battery sensors for exactly that reason, but a camera running on a battery will not hold a continuous stream the way a wired one does — if you want always-on, wire it or buy a wired Reolink. Reolink’s app is also functional rather than lovely, which matters less when Home Assistant is the interface.
The ONVIF route, and the catch with Tapo
The second way into Home Assistant is the open one. Home Assistant ships an ONVIF integration, also documented as Local Push, which works with any ONVIF Profile S conformant device. It adds entities for compatible profiles whose video encoding is set to H.264, exposes motion, field, cell and human-shape detection plus sound, tamper and image-quality events through ONVIF’s pullpoint subscription API, and provides infrared-lamp, autofocus and wiper switches and a PTZ action. It requires the ffmpeg integration to be configured first.
Its documented gotcha is the one that catches everyone: many newer cameras default to H.265 while the integration looks for H.264, so you must configure the camera to output at least one H.264 stream. If an ONVIF camera shows up with no video, that is almost always why.
TP-Link’s Tapo line is the cheapest sensible way onto that road, and the C120 is the model we cover: TP-Link publishes 2K QHD, a starlight sensor, 850nm and 940nm infrared rated to 30 feet, IP66 sealing and a microSD slot to 512GB. TP-Link documents the RTSP and ONVIF path itself — a dedicated camera account of 6 to 32 characters, separate from your Tapo login, and an rtsp://username:password@IP/stream1 URL on port 554, with stream2 for the lower-quality feed.
The honest cons, and they are real. TP-Link states that Tapo Care cloud storage, local card or hub storage and NAS/NVR/ONVIF recording cannot all be used at once because of limited stream resources — so pulling the camera into Home Assistant may cost you the microSD recording you bought it for. Pick one. TP-Link also states that RTSP streaming is generally not supported on battery-powered or solar-powered Tapo cameras, with only the hardwired D235, D225 and TD25 doorbells excepted while continuously powered: if you want Tapo in Home Assistant, buy a wired Tapo. The C120 is 2.4GHz only, and ONVIF gives you a stream and events rather than the deep entity list Reolink gets. Wyze vs Tapo covers how the C120 compares on the hardware itself.
The doorbell that joins in — and brings a hub
Most no-fee doorbells are a dead end for Home Assistant. The Aqara Doorbell Camera Hub G410 is the exception we can document: Aqara lists Home Assistant support over RTSP and Matter bridging, alongside Apple Home, Google Home, Alexa and SmartThings.
It is on this page for a second reason, though. Aqara publishes a built-in Matter controller, Thread border router support and an Aqara Zigbee hub inside the indoor chime — so the doorbell is also the thing that gets Thread and Zigbee sensors into your setup. For a Home Assistant build that is currently all Wi-Fi, that is a bigger upgrade than the camera. Aqara also publishes 2K on a 175-degree lens, a built-in mmWave radar presence sensor, a 95dB chime speaker, and a microSD slot up to 512GB located in the chime rather than in the doorbell, which is the right place for it.
The honest cons. 24/7 continuous recording is wired-mode only; on the replaceable batteries, rated up to five months, it is event-based. Aqara publishes a 1200p ceiling when recording through HomeKit Secure Video, below the camera’s own 2K. Aqara publishes no IP rating for this model, which for an outdoor device is the gap we would most like filled. And Matter bridging exposes a device, not necessarily every feature of it — expect the camera stream over RTSP and the extras through Aqara’s own app. It is the top pick on our no-subscription doorbell ranking for Apple households, and the same caveats apply there.
What the official Ring and Blink integrations really give you
Both brands have first-party Home Assistant integrations, and both are documented as Cloud Polling. Neither is a reason to buy the hardware, but if you already own it, here is what you get — in Home Assistant’s own words rather than ours.
Blink. The documentation states plainly that the integration “does NOT allow for live viewing of your Blink camera within Home Assistant.” You get an alarm control panel, a camera entity per device, temperature and Wi-Fi-strength sensors and motion, armed and battery binary sensors — and the docs add that relying on those sensors for timely, accurate data is not recommended, because they are only polled when new images are requested. Blink Mini cameras support none of the sensors at all. If live video in Home Assistant is the point of the exercise, Blink cannot do it. Ring vs Blink has the full story on the hardware.
Ring. Better, with a sting. You get camera entities with live view and last recording, event entities for doorbell rings, motion alerts and intercom unlocking, plus sirens, lights, switches and volume controls. But the documentation states that downloading and playing Ring video from the last-recording camera requires a Ring Protect plan — so the subscription follows you into Home Assistant. Two-way audio in live view is not currently supported, and real-time events need outbound TCP access on port 5228, which is worth knowing if you run a restrictive firewall.
That is the pattern across this whole category and the reason this site keeps returning to it: the brands that charge a monthly fee keep charging it no matter which app you look at the camera in. Our no-subscription camera ranking is the money version of this page.
The brands we could not place
We looked for a documented Home Assistant path for Wyze and for eufy cameras and did not find one published by either Home Assistant or the manufacturer, which is why neither is ranked here. That is a statement about what we could verify, not a claim that nothing exists — both brands have active community projects, and community bridges are a legitimate choice for people who enjoy maintaining them. They are not something we will recommend to a buyer as a product feature, because the vendor has not committed to it and can remove it in a firmware update. If you are weighing those two brands on their own merits, Wyze vs eufy is the comparison.
The comparison
Home Assistant integration facts are from Home Assistant's own documentation pages; hardware figures are from each maker's published specs. Both were read on the date at the top of this page. | Reolink Argus PT Ultra | Tapo C120 | Aqara G410 |
|---|
| Home Assistant route | Official Reolink integration | ONVIF / RTSP integration | RTSP + Matter bridging (Aqara's listing) |
|---|
| Documented IoT class | Local Push | Local Push (ONVIF) | Local (RTSP); Matter is local |
|---|
| Live stream in Home Assistant | Yes — Fluent / Balanced / Clear | Yes — H.264 profile required | Yes, over RTSP |
|---|
| Detection entities | Motion + AI person, vehicle, pet | ONVIF motion, field, cell, human shape, sound, tamper | mmWave presence (via Aqara) |
|---|
| Extra control entities | PTZ, siren, floodlight, zoom, sensitivity | IR lamp, autofocus, wiper, PTZ action | Chime, hub functions via Aqara |
|---|
| Recorded playback | Media browser for recordings | Not provided by the integration | Not published |
|---|
| Works with internet blocked | Yes — documented by Home Assistant | Yes, ONVIF is local | RTSP is local |
|---|
| Also a hub | No | No | Yes — Matter controller, Thread border router, Zigbee hub |
|---|
| Local recording on device | microSD up to 512GB | microSD up to 512GB | microSD up to 512GB, in the chime |
|---|
| Monthly fee | None — Reolink cloud is optional | None — Tapo Care is optional | None from Aqara |
|---|
| Power | Battery + optional solar | Wired | Replaceable batteries or 12-24V wired |
|---|
| Documented limitations | No two-way audio/TTS; H.265 4K browser support limited; LTE models unsupported | Card, cloud and ONVIF recording cannot all run at once; battery Tapo models generally unsupported for RTSP | 24/7 recording wired-only; 1200p over HomeKit Secure Video; no IP rating published |
|---|
Three things to check before you buy
Can the camera emit H.264? If you are going the ONVIF route, this is the difference between a working camera and a black rectangle. Home Assistant looks for H.264; many modern cameras ship H.265 by default. The setting exists on most of them — confirm it does on yours.
Is it wired? Every documented limitation above gets easier with a cable. A battery camera sleeps, which is the correct behavior for a battery camera and the wrong behavior for a 24/7 stream. TP-Link rules out RTSP on its battery models almost entirely. If always-on is the requirement, buy wired — our wired vs wireless guide works through the trade properly.
Does it need an account on the camera? Reolink wants an admin-privileged user and an open HTTP or HTTPS port; Tapo wants a separate camera account distinct from your Tapo login. Both are two-minute jobs you should do before you mount anything at height. And while you are in there, our guide to securing smart home devices covers the passwords and network segmentation that matter most once a camera is talking locally.
So which one
Reolink for almost everyone. A documented first-party Local Push integration, the richest entity list of any brand here, local operation with the internet blocked, and no fee anywhere in the plan. If you are starting a Home Assistant camera setup from nothing, start here.
Tapo if the budget is tight — and buy the wired model, accept the stream-resource trade, and set an H.264 profile before you mount it.
Aqara for the front door, especially if you also want a Matter controller, a Thread border router and a Zigbee hub out of the same purchase.
For the hardware-first view of these cameras rather than the integration-first one, start with our overall camera ranking, and if local control across the whole house is the project, Zigbee vs Z-Wave vs Thread explains the radios you will be choosing between next.