Home Assistant Camera Integration | Connect Any IP Camera

Home Assistant connects IP cameras through RTSP, ONVIF, or HTTP streams using the Generic Camera integration — no subscription required.

Most security cameras ship with RTSP disabled by default — that one toggle is why they show up blank in Home Assistant. The fix takes about thirty seconds once you know where to look, and the same process works across Reolink, Aqara, Amcrest, and dozens of other brands. Setting up Home Assistant camera integration comes down to three steps: enable streaming on the camera, add it through the Generic Camera or ONVIF integration, and place the feed on your dashboard. No cloud subscription, no proprietary hub, and no limit on how many cameras you connect.

Setting Up Cameras in Home Assistant: What You Need First

Before touching any settings, confirm your camera supports one of three protocols Home Assistant recognizes natively. RTSP (Real-Time Streaming Protocol) is the most common — it sends a continuous video feed your Home Assistant server can consume. ONVIF Profile S covers discovery, PTZ control, and motion events. HTTP snapshot mode works for cameras that can serve a single still image but no live stream. Home Assistant’s Generic Camera integration documentation lists every supported stream format. If the camera offers none of these, it will need a local NVR like Frigate to bridge the gap.

You also need Home Assistant running on any supported OS — Core, Container, Supervised, or the full Home Assistant OS. Network-wise, keep your cameras and Home Assistant server on the same local subnet. RTSP traffic is unencrypted on most consumer cameras, so exposing the stream directly to the public internet carries real risk.

Enabling RTSP on Your Camera

RTSP is almost always turned off at the factory — that’s the single biggest reason a new camera won’t appear in Home Assistant. The setting lives inside the camera’s own mobile app or web interface, not in Home Assistant itself.

  • Open the camera’s app (Reolink uses the E-link app; most others use their brand-specific app).
  • Navigate to SettingsMore SettingsRTSP.
  • Toggle Enable RTSP to on.
  • Copy this link — you will paste it into Home Assistant.

If the camera supports ONVIF instead, enable ONVIF in the same settings area. Home Assistant’s ONVIF integration will auto-discover the device on your network.

Adding a Camera Through the Generic Camera Integration

With the RTSP link in hand, the actual setup inside Home Assistant takes under two minutes.

  1. Go to SettingsDevices & Services → click Add Integration (bottom right).
  2. Search for Generic Camera and select it.
  3. Paste your RTSP link into the Stream Source URL field.
  4. Set Protocol to tcp for RTSP streams (tcp is more reliable than udp). Use http only for snapshot-only cameras.
  5. Enter the Username and Password if they were not embedded in the URL — without them you will see a “401 Unauthorized” error.
  6. Set Authentication to basic or digest to match your camera’s setting.
  7. Click Submit, then Finish. Rename the camera something clear like “Front Door” or “Garage.”

After submission, the camera entity appears in Home Assistant. If the feed stays black, the camera is now listed and you can move to the dashboard step.

Which Cameras Work Best With Home Assistant?

Not every camera integrates equally — some brands offer plug-and-play ONVIF support while others need workarounds. For a full list of hands-on tested options, see our tested camera recommendations for Home Assistant.

Camera Model Integration Method Key Consideration
Reolink Argus 3 Pro ONVIF / Generic Camera Requires Home Hub Pro for battery-powered models
Aqara G3 Indoor ONVIF / Generic Camera Low latency, excellent HA support, includes PTZ
Amcrest ONVIF / Generic Camera Solid performance with or without Scrypted
SwitchBot Pan/Tilt Cam Generic Camera Fully compatible via RTSP stream
Wyze V3 RTSP Beta (2025) Native RTSP expected late 2025; older models lack it entirely
Ubiquiti ONVIF Requires local network access; not cloud-dependent
Reolink MagiCam ONVIF Local-only option keeps footage off the internet

Adding the Camera Feed to Your Dashboard

Home Assistant offers two dashboard cards for live camera feeds. The Picture Glance card is the better choice for most setups because it supports live video, PTZ controls, and hides timestamp overlays. The built-in Image element is simpler but shows only snapshots by default — you have to switch it to “live” mode manually.

To add the Picture Glance card:

  1. Open your dashboard and click the Edit pencil icon (top right).
  2. Click Add Section (the plus icon), then Add Card.
  3. Search for Picture Glance and select it.
  4. Give it a Title matching the camera name.
  5. Set Camera Entity to the camera you just added.
  6. Set Camera View to live.
  7. Remove any auto-added entities like timestamps — they clutter the feed.
  8. Click Save.

Your camera feed should appear on the dashboard within a few seconds. If it stays blank, check that the RTSP link is correct and that the protocol is set to tcp rather than http.

Taking It Further With Frigate NVR

For motion detection, object recognition, and recorded clips, Frigate NVR is the standard open-source add-on. It consumes RTSP feeds from your cameras and runs AI-based detection locally — no cloud service needed.

Install Frigate from the Home Assistant Add-ons Store (SettingsAdd-ons Store → search Frigate). After installation, go to SettingsDevices & ServicesAdd IntegrationFrigate. The critical step is matching the MQTT server between Frigate and Home Assistant — if the two use different brokers, Frigate entities will never appear.

Common Setup Mistakes and How to Fix Them

Problem Cause Fix
Black feed / no video RTSP disabled on camera Enable RTSP in the camera’s own app, not in Home Assistant
401 Unauthorized error Missing or wrong username/password Embed credentials in the RTSP URL or enter them separately
Feed lags or drops Protocol set to http instead of tcp Change Stream Protocol to tcp
Frigate entities missing MQTT server mismatch Point both Frigate and HA to the same MQTT broker
PTZ controls don’t appear Camera uses Generic Camera, not ONVIF Switch to the ONVIF integration for PTZ support

The most common pattern across all five problems: the camera side is misconfigured, not Home Assistant. Double-check the camera’s own RTSP or ONVIF settings before digging into HA logs.

What To Do When the Camera Still Won’t Connect

If you have enabled RTSP, used the correct protocol, entered the right credentials, and the feed remains blank, the camera may not support the stream format Home Assistant expects. Some budget cameras use proprietary streaming that only works with their own app. In that case, the most reliable path is to route the camera through a local NVR — Frigate or Scrypted — that can translate the stream into an RTSP feed Home Assistant understands. Battery-powered cameras (like the Reolink Argus 3 Pro without the Home Hub Pro) are another common blocker: they wake on motion and sleep between events, so they cannot maintain a persistent RTSP stream. A wired USB or PoE camera avoids that limitation entirely.

FAQs

Can I use any IP camera with Home Assistant?

Any camera that supports RTSP, ONVIF Profile S, or an HTTP snapshot URL can connect directly through the Generic Camera or ONVIF integration. Cameras using proprietary streaming protocols require a local NVR like Frigate to translate the feed before Home Assistant can use it.

Does Home Assistant camera integration require a paid subscription?

No. The core Generic Camera and ONVIF integrations are included free with every Home Assistant installation. Frigate NVR is also free and open-source. Some cloud-dependent camera brands may charge for RTSP access, but the Home Assistant side has no subscription cost.

How do I find my camera’s RTSP URL?

Enable RTSP in the camera’s own mobile app or web interface. The app will display the complete RTSP link after you toggle the setting on. It typically looks like rtsp://username:password@camera-ip:554/stream1. If the app does not show it, check the camera’s documentation or online support page for the default RTSP path.

Why does my camera feed say “401 Unauthorized”?

The RTSP URL or integration settings are missing the correct username and password. Either embed them in the URL (rtsp://user:pass@ip:554/...) or enter them in the Authentication fields when configuring the Generic Camera integration. The credentials must match the camera’s own user settings.

Can I get motion detection without using Frigate?

Yes. The ONVIF integration supports motion events natively for cameras that advertise ONVIF Profile S. Some camera brands also send motion alerts through their own integrations. Frigate is only necessary if you want AI-based object detection (person, car, animal) rather than simple pixel-change motion sensing.

References & Sources

Please use a real email you check. If it's fake or mistyped, your message won't reach us and we can't reply — wrong addresses are rejected automatically.