Reolink E1 Zoom (and probably Pro) in HA

Tags: #<Tag:0x00007fc42c593858>

I took advantage of an online offer to replace my 720p cameras (documented in their own saga 2 years ago ( Fun had with Vstarcam C7837WIP ) with 3 x 5MP Reolink E1 Zoom cameras.

Reolink seem like a good option in Europe because of their decent pricing, lack of availability of the Amcrest cameras the US users seem crazy about and pretty good online guides available. While those guides on Reolink’s website were very useful in plugging in some gaps, I could not find one place on the Internet which would teach me to:

  • have cloud-free control over the cameras
  • have full pan-tilt controls working in HA
  • have access to the position presets in order to use them in automations

I initially tried to use Blue Iris, but that did NOT go well (the cameras would be added and then appear disconnected after a few mins, even though they worked fine in their web UI, the local Reolink apps, HA, etc.), so I tried to have everything I needed in HA, which did ultimately go perfectly.

  1. After connecting the cameras to WiFi via the Reolink mobile app, assign static IPs to the cameras, either via DHCP reservations on your router or from the Reolink Windows app
  2. Add the ONVIF integration to HA, with the camera settings being their allocated IPs, port 8000, user “admin” and password whatever you set in the initial app-based setup
  3. Add whatever position presets you need in the Reolink app (in the list of positions 1 in Reolink = ‘000’ in HA, 2 = ‘001’ in HA and so on) - this only worked in Windows or the web UI, on my Galaxy S20 the mobile app had a bug which made the preset editor disappear every time I tried to add a preset)
  4. Create a Lovelace card:
type: picture-glance
title: Living Room
camera_image: camera.living_room_new_camera_profile000_mainstream
camera_view: live
entities:
  - entity: camera.living_room_new_camera_profile000_mainstream
    icon: 'mdi:arrow-down-drop-circle-outline'
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.living_room_new_camera_profile000_mainstream
        tilt: DOWN
        move_mode: ContinuousMove
  - entity: camera.living_room_new_camera_profile000_mainstream
    icon: 'mdi:arrow-up-drop-circle-outline'
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.living_room_new_camera_profile000_mainstream
        tilt: UP
        move_mode: ContinuousMove
  - entity: camera.living_room_new_camera_profile000_mainstream
    icon: 'mdi:arrow-left-drop-circle-outline'
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.living_room_new_camera_profile000_mainstream
        pan: LEFT
        move_mode: ContinuousMove
  - entity: camera.living_room_new_camera_profile000_mainstream
    icon: 'mdi:arrow-right-drop-circle-outline'
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.living_room_new_camera_profile000_mainstream
        pan: RIGHT
        move_mode: ContinuousMove
  - entity: camera.living_room_new_camera_profile000_mainstream
    icon: 'mdi:wall'
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.living_room_new_camera_profile000_mainstream
        preset: '000'
        move_mode: GotoPreset
  - entity: camera.living_room_new_camera_profile000_mainstream
    icon: 'mdi:sofa'
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.living_room_new_camera_profile000_mainstream
        preset: '001'
        move_mode: GotoPreset

  1. Create scripts that access the presets if you want automations like “Turn the cameras to the wall when I get home”
living_room_camera_back_to_wall:
  alias: Living Room Camera Back To Wall
  sequence:
  - service: onvif.ptz
    data:
      entity_id: camera.living_room_new_camera_profile000_mainstream
      preset: '000'
      move_mode: GotoPreset
living_room_camera_room_view:
  alias: Living Room Camera Room View
  sequence:
  - service: onvif.ptz
    data:
      entity_id: camera.living_room_new_camera_profile000_mainstream
      preset: '001'
      move_mode: GotoPreset
  1. If you need the camera live jpeg snapshot, its format is this:

http://192.168.x.x/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=YOURPASSWORD

  1. Enjoy!

**P.S. It has in the meantime come to my attention that Reolink cameras use some weird P2P network thing for access outside the house. Thus, even if you only assign an internal IP and never sign up for any account with them, their app allows you access to the cameras from outside the house via a process described at http://www.nozominetworks.com/blog/new-reolink-p2p-vulnerabilities-show-iot-security-camera-risks/ - I highly recommend blocking their Internet access at router level and using HA’s NTP addon for time sync + a VPN (like the HA Wireguard addon) to get to them from outside the house.

This approach does not work with their official phone app (killing their Internet access makes them only work via the webUI and Windows app from within the LAN from what I can see), but works fine on the phone with a VPN and apps like tinyCam.**

7 Likes

Thanks for the write up!

I’m just setting up an E1 Pro. I have the ptz working following your guide, but not the presets so far. They are working in the Reolink app, but from HA nothing happens so far. Will keep digging.

This guide worked great! Thank you very much!
By any change do you use homekit? Would be a great addition to this tutorial.

All my attempts at configuring this in homekit, results in snapshots working successfully and updated every 10 seconds, but live stream never works :frowning:

@Bold, I can only imagine that the Preset IDs must be an issue…if you edited several in the Reolink app, their IDs are not too clear, like I saw that if I had 3 presets and deleted Preset 1, the next one I created had Preset 1’s ID internally or smthn, so just try several numbers there until you hit upon the one you want.

@sergio_pt, sorry, not a Homekit house…no idea what limitations exist in Homekit for non-official cameras.

OOOHHHH MYYY GAWWWDD
I’ve been trying to integrate my E1Pro for about a year.
I’ve even moved 2 apartments in the process.
This worked flawlessly! (I mean, as you’d except from HA and PRC made products)
Once I figured the correct spell words, bish bash bosh, and PTZ is alive!

1 Like

Thanks a lot for the guideline. Really works well with the ONVIF integration. However since I have the E1 pro I can confirm that

  1. the motion detection url and the snapshot url do not work
  2. the presets are not discovered/exposed
    Hope that´s getting fixed in some future firmware upgrades by Reolink.
    BR

Hi,

I just integrated with a E1 Zoom and also the presents don’t work.

I created them on the app but for example on the logs of homeassistant is seems empty

  • PTZ preset ‘000’ does not exist on device ‘realink cam 1’. Available Presets:
  • PTZ preset ‘001’ does not exist on device ‘realink cam 1’. Available Presets:
  • PTZ preset ‘002’ does not exist on device ‘realink cam 1’. Available Presets:

Ha, that’s strange…in my case it said Available Presets: 002, 003 or smthn. Do the presets work in non-Reolink apps like TinyCam?

You probably already figured this out, but for the sake of new people who are having the same error:

Reload the ONVIF integration after creating presets in the app, then the code will work.

Not working on standard E1. the process stop on first step with the onvif integration.
I put the IP address, port 8000 and when it ask me for user and password after I write it I receive and unknown error…
Any idea?

Look at what the main HA log says when you get the error and maybe we can help…

I thought the standard E1 doesn’t have onvif.