Ring doorbell

I use your addon for couple of days now and it works like a charm. I have a video doorbell, a chime and a spotlight cam. He didn’t find my chime but both my cameras. My question is can you implement to have control of the light on my spotlight camera and also the alarm function? It should be awesome to control this from my openhab.
Thank you very much for you addon.

Kind regards

Thanks! I should be able to implement those things, I’ll look into it. Unfortunately I don’t have any of the cameras so i’ll have to rely on everyone else for testing for now. I’m thinking two switch channels for light and alarm on the camera thing will be the way to go.

I would love to test it :wink: I’m a noob in openhab and java but I’ll do what I can to help implement it.

Great to see the work on this.

Could someone make a guide or point me in the right direction for what to do after I have the .jar installed. I have both Ring account and ring video doorbell showing as online. Can see there is a servlet but not sure what to do with that as quite new to openhab.

What I’m not sure if then how to see the video in HABPanel and what capabilities this has?
- Can I see live video? (from reading back I dont think so)
- How to do something when the doorbell is pressed
- How to then see who is at the door?
- Can it do speech back?

I use the Paper UI and Rule Engine. Similarly to @surfstu I currently have on android tablet and use tasker but find thats a bit hit / miss and would rather be integrated.

Thanks

Now that the account and video doorbell are showing as online, here are the main points to answer your questions:

  • Live video and speech back are both not currently available in the binding. They are things I would like to do but it depends on figuring out the API to do that and how to use it. This binding and projects like it are basically using a reverse engineered API so there is unfortunately no documentation or official support for using it.
  • You can create a rule that is triggered off of one of the events channels when it changes, probably the “When the event was created” channel works best because that one will for sure change. The URL channel will change too, but that will have a delay because it has to wait for the video to be posted and downloaded from ring. I don’t use the rule engine so I can’t give exact instructions on how to do that but it would be a pretty standard “when this item changes, do this” type of rule, where “this item” is the item linked to the “When the event was created” channel (or whatever channel you want to key off of)
  • The “URL to recorded video” channel value can be used in HABPanel, there are others above who have done this. - this channel will become a url like http://192.168.1.2:8080/ring/video/FrontDoor-motion-2020-03-16T17-39-51.mp4 that will be saved also on your openhab system as defined in the “MP4 video download path” configuration (/etc/openhab2/html/ring/video by default). The servlet is just a term for the web server in the binding that makes that video file available to a browser. This is currently the only way to see who is at the door, but since it only works after the event video has been processed by ring and downloaded by the binding, there is a delay - typically up to 10 seconds but may be more (or less) depending on how fast ring posts the video

Hope that clarifies things, if not or you have more questions please ask and I will do my best to answer. My development time has been very limited lately unfortunately due to the pandemic but it is continuing, rest assured.

1 Like

Thanks for taking the time to reply, really appreciate that.

For my use then I think the Tasker approach is probably best until live video / audio is available for the answering the door.
The URL approach is good for motion alerts though so will look into that.

The ‘When the event created’ channel - can that be used for just ‘doorbell presses’ not motion? What I’d like to do with it is have something happen at the press as find if I have my phone then it isn’t very noticeable. Tablets are ok with tasker.

If so then will have a look at what options can be done to a phone after!

You’re welcome. If you wanted to only trigger off of a doorbell press, you would need to also add in a condition to only trigger when the “Kind of event” is “ding” (or “motion” if you only wanted to trigger off of motion events)

1 Like

Short question, (not regarding the binding though).
How long delay is it normally before the video will be posted to a mobilephone? I assume its the same aprox 10 sec?

I believe it is. It usually takes me a few 5-10 seconds to get to my phone, unlock it, and load up the app when I get an alert and sometimes it still takes a bit to start loading the video.

1 Like

Just got a Ring doorbell 2 to try.
I have downloaded the jar file from github, version 2.5.2snapshot. I have added it to the addons folder, and it seems to load just fine…
However, I can not seem to add any thing. When I enter the thing, press the plus sign, chose Ring binding. It doesnt find anything during scan (ofcouse). But when I press the Add manual… Nothing happens… I just get a blank screen.
I´m running openhab 2.5.0 stable.

Then I thought I could add it manually with a .thing file. But I cant seem to find any hardware ID. According to the docs, it says it uses the MAC adresse of the openhab… But why is that? And is that suppose to be this hardware ID, or is it the MAC of the Ring camera which should be used ?

Please help… The docs are not clear on this issue I would say.

EDIT - Seems like I´m stucked on a not updated doc. I have made a manual .thing file. Everything did seem to go well, just untill I ran into the two-factor coder…
I have the code allright… But I can not see how to add it to the thing file… (I still cant add a thing account from paperUI).

Can anyone tell me the syntac for the two factor code using a .thing file?

EDIT again…
Seems like when getting a blank screen in paperUI when trying to add a thing manually is a PaperUI/Refresh issue. I´d hit ctrl-F5 in my browser, and the I get the options to add the thing account allright.
Account added incl two factor… Seems to be running online allright.
So far so good.

Hi @zolakk
Am I right in assuming, that the channels #status are no longer available for the account, doorbell and chime in the binding 2.5.2snapshot? You docs show them in the example, but I do no see those channels in the things in PaperUI.

I cant seem to get any batterylevel status from the doorbell thing… How often is this suppose to update?

What exactly is the switch channels control#enabled for?

@Kim_Andersen,
Sorry for the frustration, unfortunately I have had to put all of my automation projects including binding development on hold for the forseeable future due to the crisis but I have updated the readme in github to address your frustrations. You are correct in that the control#status channel is no longer a channel. The control#enabled channel controls the active polling of the binding, if for whatever reason you wanted to have it stop polling status, you could set the control#enabled channel to off. As far as the doorbell batterylevel, it should update with the polling interval but at the very least it updates on binding startup so if you’re having issues with that, try restarting the binding.

Thats okay… Stay safe whatever you do… There are people needing you, (family first ofcouse)…

Thanks for updating the readme… It´s kinda frustrating having to go through several hundreds of post in this thread for seeking answers :smiley:
I have no reason for stop the polling, (at least not a reason I know of, yet. This is my first try on the Ring doorbell only one day old now :slight_smile: ).

As for the batteri status… It has been updated now… Not sure when it did, but at least it did update. So its working just fine.

Thanks for all your work anyway! When you´re ready again, we´re probably alot of peopple here for more requests and questions :grin:

Thanks :slight_smile: . In the meantime, I welcome any and all pull requests if anyone else has time to contribute. I wanted to look into adding the new “modes” feature they introduced but couldn’t figure out where that gets pulled from.

Unfortunatly I´m no developer… Sometime I wish I could turn back time and start studying :slight_smile:

I have tried this but the Event Created Channel is very slow to update, usually round the 2 to 3 minute mark

How did you try?

I created a rule to turn on a light when the event created channel is updated and it takes 2 to 3 minutes to turn on the light after motion is detected yet if I use IFTTT it’s only a matter of a few seconds.

@zolakk I am not sure what API you’re using and I’m definitely not a JAVA developer, however, you might want to take a look at this API: https://github.com/dgreif/ring (apparently someone already notified you). It might be worth it. The API is advanced and there’s a documentation. I do not know if you are able to implement this though.

I’m creating my own GUI and use the OpenHAB REST API. I’ve also started implementing this API and send commands to my OpenHAB Items. It’s not working that great yet, I just started this ‘project’. But I suspect unnecessary delay will occur by doing it this way. How awesome would it be to have a fully functional Ring Binding for OH.

Anyway, thanks for your work @zolakk. I can’t wait to see what the future holds for this project. Stay safe and take care of yourself and family!

Thanks for the advice @stefan1294, I have actually been using that project as a reference but it’s been kind of challenging translating the .ts code to actual java. There have also been things in there that I couldn’t wrap my head around like what “authorized doorbots” are in the API and there appears to be a subscription method for events there but I can’t figure out if that’s an internal process to the project or a subscription callback in the actual API somehow. It seems there’s a few projects like that on github but I haven’t found anyone who actually documented what their API calls do on the ring side so it was a lot of trial and error with postman on my side to kind of poke it and see how it responds.