Ring


The ring implementation allows you to integrate your Ring.com devices in Home Assistant.

There is currently support for the following device types within Home Assistant:

Currently only doorbells are supported by this sensor.

This component does NOT allow for live viewing of your Ring camera within Home Assistant.

Configuration

To enable device linked in your Ring.com account, add the following to your configuration.yaml file:

# Example configuration.yaml entry
ring:
  username: YOUR_USERNAME
  password: YOUR_PASSWORD

Configuration Variables

username

(string)(Required)The username for accessing your Ring account.

password

(string)(Required)The password for accessing your Ring account.

Binary Sensor

Once you have enabled the Ring component, you can start using a binary sensor. Add the following to your configuration.yaml file:

# Example configuration.yaml entry
binary_sensor:
  - platform: ring

Configuration Variables

monitored_conditions

(list)(Optional)Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled.

ding

Return a boolean value when the doorbell button was pressed.

motion

Return a boolean value when a movement was detected by the Ring doorbell.

Currently it supports doorbell, external chimes and stickup cameras.

Camera

Please note that downloading and playing Ring video will require a Ring Protect plan.

Once you have enabled the Ring component, you can start using the camera platform. Add the following to your configuration.yaml file:

# Example configuration.yaml entry
camera:
  - platform: ring

Configuration Variables

ffmpeg_arguments

(string)(Optional)Extra options to pass to ffmpeg, e.g., image quality or video filter options.

scan_interval

(integer)(Optional)How frequently to query for new video in seconds.

Default value: 90

Note: To be able to playback the last capture, it is required to install the ffmpeg component. Make sure to follow the steps mentioned at FFMPEG documentation.

Currently it supports doorbell and stickup cameras.

Saving the videos captured by your Ring Door Bell

You can save locally the latest video captured by your Ring Door Bell using the downloader along with either an automation or python_script. First, enable the downloader integration in your configuration by adding the following to your configuration.yaml.

downloader:
  download_dir: downloads

Then you can use the following action in your automation (this will save the video file under <config>/downloads/ring_<camera_name>/):

action:
  - service: downloader.download_file
    data_template:
      url: "{{ state_attr('camera.front_door', 'video_url') }}"
      subdir: "{{state_attr('camera.front_door', 'friendly_name')}}"
      filename: "{{state_attr('camera.front_door', 'friendly_name')}}"

If you want to use python_script, enable it your configuration.yaml file first:

python_script:

You can then use the following python_script to save the video file:

# obtain ring doorbell camera object
# replace the camera.front_door by your camera entity
ring_cam = hass.states.get('camera.front_door')

subdir_name = 'ring_{}'.format(ring_cam.attributes.get('friendly_name'))

# get video URL
data = {
    'url': ring_cam.attributes.get('video_url'),
    'subdir': subdir_name,
    'filename': ring_cam.attributes.get('friendly_name')
}

# call downloader integration to save the video
hass.services.call('downloader', 'download_file', data)

Sensor

Once you have enabled the Ring component, you can start using the sensor platform. Add the following to your configuration.yaml file:

# Example configuration.yaml entry
sensor:
  - platform: ring

Configuration Variables

monitored_conditions

(list)(Optional)Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled.

battery

Return the battery level from device.

last_activity

Return the timestamp from the last event captured (ding/motion/on demand) by the Ring doorbell camera.

last_ding

Return the timestamp from the last time the Ring doorbell button was pressed.

last_motion

Return the timestamp from the last motion event captured by the Ring doorbell camera.

volume

Return the volume level from the device.

wifi_signal_category

Return the WiFi signal level from the device.

wifi_signal_strength

Return the WiFi signal strength (dBm) from the device.

Currently it supports doorbell, external chimes and stickup cameras.