⚡ 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

In This Guide

  1. Installing the Reolink integration
  2. Understanding the motion binary_sensor
  3. Basic motion push notification automation
  4. Saving camera snapshots on motion
  5. Time-based filtering — only alert at night
  6. Cooldown to avoid alert spam
  7. Troubleshooting
  8. FAQ

1. Installing the Reolink Integration

The Reolink integration is built into Home Assistant core — no HACS required. Before adding it, configure your camera:

  1. 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.
  2. 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:

  1. Go to Settings → Devices & Services → Add Integration
  2. Search for Reolink and click it
  3. Enter your camera's IP address, username (default: admin), and password
  4. HA discovers the camera and imports all available entities automatically
Tip: If your Reolink camera doesn't appear in search, check that it's on the same network as HA. HA 2023.2+ includes native Reolink support for most models; very old firmware may need updating first.

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:

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:

YAML — basic motion notification
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:

YAML — motion alert with snapshot
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.

Note: The snapshot and notification happen in sequence. By the time the notification arrives on your phone, the snapshot file is already saved. The /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:

YAML — time condition with offset
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:

YAML — fixed-time condition
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:

YAML — motion alert with 5-minute cooldown
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.

Tip: For even more control, use an 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.