Saving the latest Ring Door Bell video locally


#1

You can use this script to automatically save the latest video captured by the Ring Door Bell integrated on your Home Assistant.

# 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,
}

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

The result will be a MP4 file downloaded under <config>/<downloader_dir>/ring_<camera_name>/.

This example will be added to the Ring Camera component documentation too.


Ring Doorbell
#2

I have the script up and running. Thank you.

The file saves to my defined download folder; however the file does not have an MP4 extension. Any thoughts? Do I need to add the filename parameter to the data array?


#3

@mrbiggmd

The support to custom filenames was introduced on PR https://github.com/home-assistant/home-assistant/pull/10059.

See also the PR https://github.com/home-assistant/home-assistant/pull/10298 which allows you to override the filename if already exists.

On both PR there are few examples on how to use the and download the files.

mmello


#4

Thank you for the links. This will help.


#5

Using this you don’t need to subscribe to Ring Cloud service?


#6

Would like to know this as well?


#7

Not anymore. The subscription is now required based on the latest update made by Ring.


#8

I’m confused. There is no way to automatically download your motion/rings without paying the subscription?


#9

Correct. You must have subscription for it now.


#10

Has someone tried working out if you can spoof the Ring API, so that you can locally host the web service and use some local DNS overload to redirect the doorbell to your local service??


#11

I would be interested on this as well, I think we should have the option to save locally.


#12

I’ve rarely regretted a purchase as much as I do the Ring 2 video doorbell. I would really love to see someone find a way to record video locally. It isn’t paying $30 that bothers me, it’s that the latency sucks. We have gigabit fiber connection here and the Ring, while going through a wifi repeater, reports an RSSI or 42 or so, which is an excellent signal and the wifi test shows perfectly reasonable flow and ping times (see below), the RIng often screws up the process of viewing or answering the door. I’ve resigned myself to just using the motion sensor and live video, but would like to have the last video saved, simply because often the video comes up showing no one there while the motion was detected. So I will monitor this and hope someone eventually find a hack for using the device and NOT their service. I’d readily donate to such a project, and I believe other might as well.

A test where the ring is installed on the same wifi:
Doorbell/Cam outside with the door closed:

download: 29.49 Mbps Download
upload: 28.48 Mbps Upload
25 ms ping


#13

I have been curious about this for some time now. I bought some inexpensive wireless cameras (cheap chinese ones probably) that “required” you to use their app for viewing the content (yeah, not going to happen). I dug around with wireshark and discovered that port 81 was sending the video feed unencrypted… so I redirected that to Blue Iris and it works just as good or better than some of my other cameras. I am interested in seeing if a setup as simple as this one is the same with the Ring or if they encrypt the streaming channel or change the video compression from a standard protocol to a proprietary one (those are the two options that immediately come to mind when thinking about how to secure their system down). I haven’t gotten any good answers for this because nobody online has (apparently) decided to take it upon themselves to wireshark a Ring and post a whitepaper about it; but when I come across a Ring I’ll let you know.


#14

@Yakker I have to agree with @randulo. I regret spending the money on the Ring. It has been an extremely disappointing experience.
I live in Dubai and at first the application didnt even work. Argument was the ISP provider was blocking the communication with their severs bla, bla, bla, Funny enough before the Ring I had a cheaper chinese doorbell and it worked without issues.

Bottom line, is not worth the money. Better yet, any money!!


#15

Yeah. I only use Ring for motion sensor.

I learned that what is really needed is a motion sensor and camera. Honestly people rarely ring the bell but the motion always alerts me to presence. I use html5 notification that send image from the ip camera I have in same location. This works great. I may take the ring out and put fake button setup in location that tricks person into position perfectly for IP camera facial shot.

I tried to use ring app when I get motion notification but app was too slow so now I just use my IP cameras in ha


#16

Would it be possible to use ITFFF?
E.g. if motion is detected, then Google Drive starts recording.

For Arlo there is such an applet:
If new Motion detected at Front Door, then Arlo Starts Recording


#17

The problem is still to get the video to record on another place. That’s not possible through ifttt.


#18

Thank you for your answer.
Excuse me for being ignorant. Why is not possible through IFTTT to get the video to record on another place?
This is possible with the Arlo Camera Through IFTTT: Arlo can trigger Google Drive.


#19

Does anybody know of a screen recording app for your smartphone? I know there are a few, but the app should start recording the screen as soon as the screen is switched on or the phone wakes up.
That way you could install the Ring app on a (left over) phone and install that screen recorder app.


#20

I don’t know how the Arlo works, but the Ring Doorbell does only save it’s video directly to it’s own cloud. To get the video to record to some other place this needs to be possible through an api or directly connect something to the camera. No one seems to have found out a way for either of these options yet.