Setting Up a Reliable Reolink Integration in Home Assistant
I use Reolink cameras for motion sensors and streams in Home Assistant. The aim here is simple: a stream that stays up, a motion sensor that does not flap, and automations that only fire when there is actual motion.
Getting Started with Reolink Integration
Overview of Reolink Integration
The Reolink integration exposes camera streams and motion events as Home Assistant entities. That gives live video, binary sensors for motion, and attributes such as last motion time. If the official integration does not work, the generic camera (RTSP) or ONVIF integrations are the usual fallback. I use the official integration first when it finds the cameras.
What I want is a stable stream, a motion binary sensor that does not spam, and an automation that only reacts when the camera has actually detected something.
Prerequisites for Setup
Do these before adding anything in Home Assistant:
- Put the camera on the same LAN as Home Assistant, or make sure routing and NAT will not block RTSP or ONVIF.
- Give the camera a DHCP reservation or a static IP so it does not move.
- Note the camera admin username and password. Avoid accounts with special characters that break URLs.
- Update camera firmware when possible. Newer firmware can fix stream stability and API quirks.
- Enable RTSP or ONVIF on the camera if you plan to use those protocols as a fallback.
I test the camera stream locally first. Open the RTSP link in VLC and confirm the video and credentials before touching Home Assistant.
Initial Configuration Steps
- In Home Assistant, go to Settings → Devices & Services → Add Integration. Search for Reolink.
- If discovery finds the camera, follow the prompts and enter the admin credentials. Accept any certificate warnings if you are on a lab network.
- If discovery fails, add the camera manually using the generic camera (RTSP) or ONVIF integration. For RTSP, use a config entry like this in
configuration.yamlor create a camera in the UI:
camera:
- platform: generic
name: FrontDoor
stream_source: rtsp://admin:password@192.168.1.50:554/h264Preview_01_main
- After adding it, check Settings → Devices to confirm entities:
camera.<name>,binary_sensor.<name>_motion, and any event or attribute sensors. - Test the stream from the Home Assistant UI and trigger motion to watch the
binary_sensorflip toon. Use the logbook to verify events.
Verification steps
- Open the live stream in Home Assistant and note latency and frame drops.
- Trigger motion and watch the
binary_sensorchange within a second or two. If it takes longer, the usual cause is network buffering or firmware issues.
Advanced Configuration Options
Customising Automation Settings
Good automation depends on clean triggers and sensible conditions. Here is a tight example that turns a porch light on for two minutes only between dusk and midnight, and only when motion is real:
alias: Porch light on motion (evening)
trigger:
- platform: state
entity_id: binary_sensor.frontdoor_motion
to: 'on'
condition:
- condition: sun
after: sunset
- condition: time
before: '00:00:00'
action:
- service: light.turn_on
target:
entity_id: light.porch
- delay: '00:02:00'
- service: light.turn_off
target:
entity_id: light.porch
mode: single
Practical tweaks I use:
- Debounce short triggers by adding a small template condition that checks motion duration. That avoids strobe triggers from insects.
- Use
for:in triggers where Home Assistant supports it, or keep a timestamp attribute and require motion to be recent. - Limit notifications so they do not become noise. Send a snapshot only when motion is confirmed and a person is likely present, using presence detection or object detection.
Verify the automation:
- Manually trigger it by forcing the
binary_sensortoonfrom Developer Tools and watch the actions. - Check the automation trace to see what fired and which condition failed, if any.
Integrating with Other Devices
Camera events can feed lighting, alarms, and recording. The combinations that work well are:
- Link motion to a dedicated recorder like Frigate or your NAS. Use the camera entity or RTSP string as the source.
- On motion, start a short high-resolution clip and tag it with timestamp and camera name.
- Use a Reolink sensor to trigger a smart siren via MQTT or the native integration. Keep siren actions short and always require manual confirmation for repeated triggers.
Concrete example: start a camera recording on motion.
- Use an automation that calls the
camera.recordservice with filename path, duration, and lookback. Check that the path exists on the Home Assistant host or recorder.
Practical note: keep a small retention policy for recordings. They grow fast. Use a separate storage share for footage.
Troubleshooting Common Issues
No stream or black screen:
- Check RTSP is enabled on the camera and test the RTSP URL in VLC. If VLC fails, Home Assistant will fail too.
- Confirm the credentials are correct. Try a local web UI login.
- If the stream connects but freezes, reduce stream resolution or switch from the main stream to the sub-stream.
Motion sensor fires constantly:
- Increase sensitivity in the Reolink camera settings or enable motion zones.
- Add a short automation condition that ignores motion if
last_motion < 30s. That cuts down the spam.
Discovery fails:
- mDNS and UPnP can be blocked by some routers. Use a static IP and add the camera manually.
- If the integration complains about certificates, add the camera manually as RTSP or accept the local certificate if you understand the risk.
Auth errors:
- Avoid special characters in passwords in automation YAML or URLs. If you must use them, URL-encode them in RTSP strings.
- Create a dedicated account on the camera with limited privileges for Home Assistant access.
Logs and debug:
- Check Home Assistant logs for the integration name. Enable debug logging for the Reolink or camera components when troubleshooting. The integration trace and automation trace are the first places to look.
Final checks
- Use DHCP reservations to keep addresses stable.
- Test streams in VLC before integration.
- Throttle motion automations with short debounce logic.
- Keep storage for recordings separate and governed by retention rules.
- If discovery fails, fall back to RTSP or ONVIF; both are reliable and well supported.
Do the basic tests and an automation trace after setup. If those pass, the Reolink integration will do the job.



