I use to save the file in the www folder, which is accessible from the web frontend. So you can play the video from there. I actually don’t do it on my hassio because ffmpeg platform keeps freezing the raspberry pi. Anyway it’s something like this @hastarin :
Excuse my ignorance, however are we required to have a monthly subscription with Ring.com in order to be able to store the latest video on our local HAAS? Or is it possible to use the camera as live feed? Cheers!
Digging up an old thread, here is an AppDaemon version of the automation/app
Doorbell Video:
class: ring_doorbell_video_download
module: ring_doorbell_video_download
ring_camera: camera.front_door
## Custom subdir or use 'dynamic' to use the date (yyyy-mm-dd)
subdir: doorbell
import appdaemon.plugins.hass.hassapi as hass
class ring_doorbell_video_download(hass.Hass):
def initialize(self):
self.ring_camera = self.args["ring_camera"]
self.subdir_name = self.args["subdir"]
self.log("Doorbell Video download setup for {}".format(self.ring_camera))
self.listen_state(self.video_event, self.ring_camera, attribute="video_url")
def video_event(self, entity, attribute, old, new, kwargs):
if old != new:
if self.subdir_name == "dynamic":
subdir_name = "{}".format(self.date())
else:
subdir_name = self.subdir_name
url = self.get_state(self.ring_camera, attribute="video_url")
filename = '{}_{}.mp4'.format(self.ring_camera, self.datetime())
filename = filename.replace(":", "-")
filename = filename.replace(" ", "_")
if url:
self.call_service("downloader/download_file",
url=url,
subdir=subdir_name,
filename=filename)
self.log("Doorbell Video Downloaded", "INFO")
else:
self.log("No URL Provided for Doorbell Video", "WARNING")
def log_notify(self, msg, level):
self.log(msg, level)
self.call_service("notify/notify", message=msg)
@kylerw You said digging up an old thread. Can you point me to that thread or explain what goes where? Do I need to put
python_script:
in my configuration.yaml
and create a python script in the python_scripts folder that contains that script. what is used to trigger that script an automation? And does that automation go in the automation.yaml file?
This documentation from the Ring Integration works! It seems to be the easiest working option to download videos from ring at the moment.
Does anyone know how to use the Delay function properly, so that when motion is triggered, the Downloader process waits 1 or 2 minutes until the motion video is ready?
Simply adding the delay: 60 option to the config makes the config file error out during restart and it does not work.
I too have gotten the downloader working pretty well, and I can see all the processed motion videos in my downloads folder, however I haven’t really figured out how to put it to any significant use from within Home Assistant.
Has anyone done anything significant with this integration?
yeah, I see now that I moved away from downloading the video and playing that back.
The way I have set it up now is that i use the camerastream from the Ring integration. (I dont really use it, since it’s a battery one, so its slow to upload/download to HA, quicker to press the notification from the Ring app and open it there)
Not sure if it’s worth to anyone, but after reading this thread, I’ve combined most of the ideas to come up with the following (thanks everyone for your contributions).
Basically, I download everytime a new video is generated, this way I don’t need to add a delay.
The integration works great I do have a question is there a way to map in the downloader nas storage network drive not my local home assistant drive even with the Python script
is there any way to download the videos to the network storage, now i can use my NAS to save all the footage automagical,
especially after the last release for HA we can now add all the nas locally