Ring recording URL

Posted on
Sun Nov 19, 2017 1:18 pm
Shutter offline
Posts: 345
Joined: Mar 07, 2014
Location: London, UK

Ring recording URL

Whenever I try to load the last recoding in my browser, but copying and pasting the URL, I get the following error (private info redacted):

Code: Select all
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Request has expired</Message>
<X-Amz-Expires>3600</X-Amz-Expires>
<Expires>2017-11-19T03:05:14Z</Expires>
<ServerTime>2017-11-19T19:07:46Z</ServerTime>
<RequestId>xxxxxxxxxxxxxxxxxxxx</RequestId>
<HostId>
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
</HostId>
</Error>

I do have a valid subscription, and the plug does appear to be updating on motion or button press. Am I doing something wrong?

Thanks

Simon

Posted on
Sun Nov 19, 2017 4:28 pm
FlyingDiver offline
User avatar
Posts: 7184
Joined: Jun 07, 2014
Location: Southwest Florida, USA

Re: Ring recording URL

The URL that the plugin reports from the doorbell is not for a web page. It's for a video stream resource that could be embedded in a web page. But I think it's only Ring's servers and apps that have access to that resource. Or some authentication is required to be added to the URL.

The short answer is, the server reports that URL, but only the Ring clients know how to use it.

joe (aka FlyingDiver)
my plugins: http://forums.indigodomo.com/viewforum.php?f=177

Posted on
Mon Nov 20, 2017 12:05 pm
Shutter offline
Posts: 345
Joined: Mar 07, 2014
Location: London, UK

Re: Ring recording URL

So is it of any use?

Posted on
Mon Nov 20, 2017 12:15 pm
FlyingDiver offline
User avatar
Posts: 7184
Joined: Jun 07, 2014
Location: Southwest Florida, USA

Re: Ring recording URL

Shutter wrote:
So is it of any use?


Maybe. This project on GitHub can download the video: https://github.com/tchellomello/python-ring-doorbell

So there's probably a way to add that functionality to the plugin.

joe (aka FlyingDiver)
my plugins: http://forums.indigodomo.com/viewforum.php?f=177

Posted on
Mon Jan 15, 2018 9:26 pm
ZachBenz offline
Posts: 163
Joined: Feb 08, 2014

Re: Ring recording URL

The recordingUrl state of your ring device in Indigo includes an authentication token to Amazon AWS where the video is stored, but it expires after 1 hour. Thus, anyone who has the full URL in recordingUrl can see your video, provided they follow the link within an hour of it being generated.

If you want to be alerted to motion by receiving a video emailed to you, you can use the python library FlyingDiver pointed out, as follows:

1. Follow the instructions at https://github.com/tchellomello/python-ring-doorbell to install the ring_doorbell python library on the mac that runs your Indigo server
2. Set up a Ring doorbell device, per the Indigo Ring plugin's instructions
3. Set up a trigger that triggers when lastMotionTime of your Ring doorbell device Has Any Change, and then have it run two actions when triggered:
3a. Run a Server Action->Execute Script to run the following Python script (change the login credentials, save location, and doorbell id as necessary):

Code: Select all
from ring_doorbell import Ring
myring = Ring('yourRingAccountEmailHere@somewhere.com', 'yourRingAccountPasswordHere')
doorbell = myring.doorbells[0]
doorbell.recording_download(
    doorbell.history(limit=100, kind='motion')[0]['id'],
                     filename='/Users/yourLocalUserName/Documents/IndigoLastRingVideo/doorbellVideo.mp4',
                     override=True)


3b. Use the Better Email Plugin (get it from the Plugin Store) to send yourself an email with the video attached (copy paste the path from the script to the attachments setting)

ZachBenz's Plugins: RingForIndigo

Posted on
Wed Aug 15, 2018 2:40 pm
blysik offline
Posts: 213
Joined: Jan 06, 2015

Re: Ring recording URL

Hi, I'm trying to use your trigger + download video script. The problem I get is that the download takes longer than 10 seconds, so Indigo kills the action:

Code: Select all
   Error                           because embedded scripts execute sequentially they must complete their execution within 10 seconds.
   Error                           modify the script to exit quickly or convert it to an external file (not embedded).
   Stopping embedded script executor host (pid 14200)
   Error                           process (pid 14200) failed to quit after polite request -- forcing it to quit now
   Stopped "embedded script executor host"


Is there a workaround for this? I've tested the python snipped locally, and it works fine. Just potentially takes longer than 10 seconds.

Posted on
Wed Aug 15, 2018 2:44 pm
blysik offline
Posts: 213
Joined: Jan 06, 2015

Re: Ring recording URL

I guess I could just read the error, and use the suggestion of converting it to an external script file.

Posted on
Wed Aug 15, 2018 4:01 pm
jay (support) offline
Site Admin
User avatar
Posts: 18185
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Ring recording URL

blysik wrote:
I guess I could just read the error, and use the suggestion of converting it to an external script file.


:wink:

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Mon Dec 24, 2018 6:21 am
Shutter offline
Posts: 345
Joined: Mar 07, 2014
Location: London, UK

Re: Ring recording URL

Wanted to take another look at this when I noticed there is no longer a URL state saved via this plugin. Has this been removed?

Thanks,

Simon

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 1 guest