⚡ Quick Answer
Add the Reolink integration in Home Assistant (Settings → Integrations → Reolink), enter your camera's IP and credentials, then create an automation that triggers on binary_sensor.reolink_CAMERA_motion changing to "on". Use camera.snapshot to save a still image and notify.mobile_app to push it to your phone — the whole setup takes under 20 minutes.
🛒 What You Need
- Reolink IP camera — any model with motion detection (RLC-810A, E1 Pro, etc.)
- PoE switch (optional) — if using a wired PoE Reolink camera, needed for power + data
- Home Assistant instance — with the Reolink integration (built into HA core since 2023.2)
In This Guide
1. Installing the Reolink Integration
The Reolink integration is built into Home Assistant core — no HACS required. Before adding it, configure your camera:
- Give your Reolink camera a static IP address. Do this either in your router's DHCP reservation settings or in the Reolink app under Device Settings → Network → IP Configuration. A static IP prevents the integration from losing the camera if its IP changes.
- In the Reolink app (or web interface), make sure the camera's ONVIF feature is enabled under network settings. The HA integration uses this for event notifications.
Now add the integration in HA:
- Go to Settings → Devices & Services → Add Integration
- Search for Reolink and click it
- Enter your camera's IP address, username (default:
admin), and password - HA discovers the camera and imports all available entities automatically
2. Understanding the Motion binary_sensor Entity
After adding the integration, find your camera under Settings → Devices & Services → Reolink → [your camera]. You'll see a list of entities that includes:
binary_sensor.reolink_CAMERANAME_motion— the main motion detection sensor (on/off)binary_sensor.reolink_CAMERANAME_person— person detection (if your camera supports AI detection)binary_sensor.reolink_CAMERANAME_vehicle— vehicle detection (on supported models)camera.reolink_CAMERANAME— the camera stream entity for snapshots and viewing
The motion binary_sensor is what you'll use as your automation trigger. Go to Developer Tools → States and find it — walk in front of your camera and watch the state flip between off and on. The sensor should respond within 1–3 seconds of motion starting.
If you have AI detection (person/vehicle), prefer using those over the generic motion sensor — they produce far fewer false alerts from swaying trees, car headlights, and shadows.
3. Basic Motion Push Notification Automation
The simplest version: get a push notification whenever motion is detected, with no time filtering. Create a new automation in Settings → Automations → Create Automation → Edit in YAML:
alias: "Reolink Motion Notification (Basic)"
trigger:
- platform: state
entity_id: binary_sensor.reolink_front_door_motion
to: "on"
action:
- service: notify.mobile_app_my_phone
data:
title: "🎥 Motion Detected"
message: "Motion detected at front door"
mode: single
Replace binary_sensor.reolink_front_door_motion with your actual entity ID, and notify.mobile_app_my_phone with your actual notification service (found in Developer Tools → Services → search "notify").
4. Saving Camera Snapshots on Motion
A snapshot shows you what triggered the alert. The camera.snapshot service captures a still image from the camera stream and saves it to your HA filesystem:
alias: "Reolink Motion Alert with Snapshot"
trigger:
- platform: state
entity_id: binary_sensor.reolink_front_door_motion
to: "on"
condition:
- condition: sun
after: sunset
before: sunrise
action:
- service: camera.snapshot
target:
entity_id: camera.reolink_front_door
data:
filename: /config/www/snapshots/motion_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg
- service: notify.mobile_app_my_phone
data:
title: "🎥 Motion Detected"
message: "Motion detected at front door"
data:
image: /local/snapshots/motion_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg
mode: single
Two important things to know about this setup:
The /config/www/ folder: Files saved here are accessible at /local/ in HA's web interface. This is how you serve the snapshot image to your phone in the notification. Make sure the snapshots subfolder exists — create it via SSH or the File Editor add-on if needed.
Template timestamp: The {{ now().strftime('%Y%m%d_%H%M%S') }} template generates a unique filename for every snapshot (e.g., motion_20260915_224531.jpg). This prevents overwriting and gives you a timestamped archive.
/local/ path in the notification image URL tells the HA Companion app to load the image from your local HA instance.
5. Time-Based Filtering: Only Alert at Night
Getting alerts every time a car passes during the day is exhausting. The sun condition in the automation above already limits alerts to between sunset and sunrise. You can tune this further:
condition:
- condition: sun
after: sunset
after_offset: "-00:30:00"
before: sunrise
before_offset: "00:30:00"
Adding after_offset: "-00:30:00" starts alerting 30 minutes before sunset — useful if you want alerts during late afternoon as well. The before_offset extends alerting 30 minutes past sunrise.
Alternatively, to alert only during specific hours regardless of sun position:
condition:
- condition: time
after: "23:00:00"
before: "06:00:00"
6. Cooldown to Avoid Alert Spam
Motion detection cameras can trigger dozens of times per minute if something is continuously moving in their field of view. mode: single already prevents overlapping runs, but it doesn't impose a minimum cooldown between alerts.
Add a delay before the automation can retrigger:
alias: "Reolink Motion Alert (Cooldown)"
trigger:
- platform: state
entity_id: binary_sensor.reolink_front_door_motion
to: "on"
condition:
- condition: sun
after: sunset
before: sunrise
action:
- service: camera.snapshot
target:
entity_id: camera.reolink_front_door
data:
filename: /config/www/snapshots/motion_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg
- service: notify.mobile_app_my_phone
data:
title: "🎥 Motion Detected"
message: "Motion detected at front door"
data:
image: /local/snapshots/motion_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg
- delay:
minutes: 5
mode: single
The delay: minutes: 5 at the end of the action means the automation won't accept a new trigger until 5 minutes after the last notification was sent. Combined with mode: single (which drops new triggers while the automation is running), this effectively limits you to one alert per 5-minute window.
input_boolean as a cooldown flag — set it to "on" at the start of the automation, add a condition that blocks if it's "on", then use a separate time-triggered automation to reset it after N minutes. This approach is more complex but more flexible.
7. Troubleshooting
Motion entity stays "unavailable"
The camera is likely not reachable from HA. Check the camera has a working static IP, confirm HA can ping it (use the Terminal add-on: ping 192.168.1.XX). Also check that ONVIF is enabled in the camera settings — the motion entity requires ONVIF event push support.
Snapshot saves but the image in the notification is broken
Make sure the /config/www/snapshots/ folder exists. If it doesn't, HA can't save the file. The automation won't error — it just silently fails to write. Create the folder via the File Editor add-on or SSH. Also confirm the /local/ path in the notification matches the subfolder path you used.
Too many false triggers during the day
In the Reolink app, increase the camera's motion sensitivity threshold and enable the motion zone mask to exclude areas like roads and trees. Also consider switching to person/vehicle detection triggers (binary_sensor.reolink_CAMERA_person) instead of the generic motion sensor.
Automation fires but notification never arrives
Check that your notification service is working: go to Developer Tools → Services, call notify.mobile_app_my_phone with a test message manually. If that works, the issue is in the automation condition — run it in trace mode (Automations → [your automation] → Traces) to see which step fails.
8. FAQ
Does this work with Reolink NVRs or only standalone cameras?
Both. The Reolink integration supports individual cameras and NVR systems. For an NVR, enter the NVR's IP — it appears as a single device with channels for each connected camera.
Can I get alerts for specific detection zones?
Zone-based detection filtering is done in the camera firmware, not in HA. Set up detection zones in the Reolink app — only motion in those zones triggers the binary_sensor in HA. This is far more reliable than trying to filter in HA.
Will snapshots fill up my HA storage?
Yes, eventually. Add a maintenance automation that deletes snapshots older than 7 days using a shell command via the shell_command integration: find /config/www/snapshots -name "*.jpg" -mtime +7 -delete, triggered daily at 3am.
Can I send the snapshot to a Telegram bot instead of a phone notification?
Yes. Use the Telegram bot integration in HA. The notify.telegram service supports sending images directly. Replace the notify.mobile_app call with notify.telegram and use the photo field in the data block instead of image.
SmartWired participates in the Amazon Associates Programme. We may earn a commission from qualifying purchases at no extra cost to you.