6.4 KiB

title, description, logo, ha_category, ha_release, ha_iot_class
title description logo ha_category ha_release ha_iot_class
Ring Instructions on how to integrate your Ring.com devices within Home Assistant. ring.png
Doorbell
Binary Sensor
Camera
Sensor
Switch
Light
0.42 Cloud Polling

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 %} username: description: The username for accessing your Ring account. required: true type: string password: description: The password for accessing your Ring account. required: true type: string scan_interval: description: How frequently to query for new video, or current sensor values in seconds required: false type: integer default: 10 {% endconfiguration %}

Binary Sensor

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

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

{% configuration %} monitored_conditions: description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. required: false type: list keys: ding: description: Return a boolean value when the doorbell button was pressed. motion: description: Return a boolean value when a movement was detected by the Ring doorbell. {% endconfiguration %}

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 integration, you can start using the camera platform. Add the following to your configuration.yaml file:

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

{% configuration %} ffmpeg_arguments: description: Extra options to pass to ffmpeg, e.g., image quality or video filter options. required: false type: string {% endconfiguration %}

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>/):

{% raw %}

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')}}"

{% endraw %}

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 integration, you can start using the sensor platform. Add the following to your configuration.yaml file:

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

{% configuration %} monitored_conditions: type: list required: false description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. keys: battery: description: Return the battery level from device. last_activity: description: Return the timestamp from the last event captured (ding/motion/on demand) by the Ring doorbell camera. last_ding: description: Return the timestamp from the last time the Ring doorbell button was pressed. last_motion: description: Return the timestamp from the last motion event captured by the Ring doorbell camera. volume: description: Return the volume level from the device. wifi_signal_category: description: Return the WiFi signal level from the device. wifi_signal_strength: description: Return the WiFi signal strength (dBm) from the device. {% endconfiguration %}

Currently it supports doorbell, external chimes and stickup cameras.

Switch

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

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

This will add a switch for every camera that supports a siren. Note the siren will only turn on for 30 seconds before automatically turning off.

Light

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

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

This will add a light for every camera that supports a light (such as a flood light).