[WITHDRAWN] Unofficial Ring Integration

Go to the 'Ring Alarm Hub' under devices and click 'Create Devices'

1 Like

Thanks @JNS !!! Yes, that was it. I wasn't thinking about the difference between creating the Ring devices and the Child devices of my alarm system...

Both devices have now been detected and are available. It's really nice to see the battery level!

Sébastien

1 Like

As I'm going through my log to make sure everything looks fine, I am noticing the following warning... Seems odd to me. Has anyone else seen this?

[dev:185]2020-01-19 21:42:04.285 [warn]No device or type
[dev:185]2020-01-19 21:41:59.733 [warn]42["disconnect"]
[dev:185]2020-01-19 21:41:59.730 [warn]failure message from web socket failure: null
[dev:185]2020-01-19 21:41:59.730 [warn]huh? what's this?

The last message in the log is the one of interest here... Kept the others as reference in case there may be a link between them.

Sébastien

@Sebastien

If you have Ring Smart Lighting (aka Mr Beam). You also need to click on 'Create Devices' in Ring Beams Bridge.

That's been mentioned before as well but not cited with an example from the log. I will go over it again here so that people have something better to search for.

When this integration was written Ring did not disconnect the websocket ever. It stayed connected indefinitely. Now, with their updated security measures, they see fit to disconnect it every three hours or so. Since you can't transfer a websocket and since you can't open one if you aren't authenticated it seems less important to disconnect it to me because they could just disconnect it at password change or show connected devices in a view or something. Regardless, with their new measure of disconnecting it every three hours, if somebody did manage to authenticate as you I guess the longest they would have your websocket connection is three hours after you change your password or whatever.

At any rate, I programmed for the messages I saw at the time. That disconnect message is new to us and I don't handle it in the currently released code. You should see it about every 3 or 4 hours. I've noticed that sometimes we get the disconnect message and sometimes we don't. Sometimes we just get a socket failure.

Also, keep in mind that with reverse engineering or using the private APIs without documentation (whichever you prefer to call it) you have to realize that I have to see it before I can understand it. And sometimes I don't understand it the first time I see it. If I can't reproduce it I might not understand it. Also, there are a lot of things I haven't seen, other messages, maintenance, updating, outages, tons of things, etc. that I haven't handled and don't know how to handle yet; lots of things I don't want to handle. That's why the bit afterwards that says "huh? what's this?" is in there. It is an indication to me that something new isn't handled. It did it's job because I found the disconnects the day they started happening.

It's likely that bit of code has been hit lots of times and we have missed it. I would leave the logging on as verbose as possible on my hub if I could but I have noticed it definitely contributes to hub slowness so I turn it off as often as I can. You should all run with it (debug, trace) completely off and if you want logging just turn on descriptive. The only time you need to turn on debug/trace is if I ask you for something or you are interested in learning or contributing to the code.

I have some minor changes to clean up logging and other things that I'll push soon. Maybe tonight. I don't think I have any new features or functionality though. Just tidying up. I'll let everybody know when I actually look over the changes.

3 Likes

At some point I may rewrite a portion of all of this nonsense to make the websocket devices visible from the app. I did not do it initially because it was a ton of extra work.

The app can't hold a websocket connection. So, it would have to create a device to hold the websocket connection (the api device), that device would then query for devices and then pass that information back up to the app. The user would pick devices and then the app would then have to pass the information back down to the api device so it could create them (so they can be children). Maybe the app could create them. I can't remember. I haven't looked at it in a while.

Either way, that just seems tiresome and I don't really want to do it even though it could help with the flow for people that forget to remember what they've read.

2 Likes

Okay, I looked at making a tilt sensor driver but it looks like they are essentially sending the exact same information for the tilt sensor that they would with the contact sensor. AND since some tilt sensors are implemented as contact sensors I want you to try something. I'll send you a pm.

I didn't realize that this is how it appears in the logs, but it does make sense! :slight_smile:

That's a good way to identify those! Do you want us to let you know when we get those?

You did an awesome reverse-engineering job!!! Overall, this is really a great integration.

Thanks!

I am un able to trigger another light with a ring floodlight cam motion sensor using the motion lighting app. Are the motion sensors fictional in the app yet?

It's working fine for me, is it showing motion events on the device page?

Here's mine showing motion events this morning, not at home so my screenshot from my phone cuts off this page but these are motion events:

1 Like

I have two of these and I am only showing switch events and alarm events from where I tested the alarm with the driver.

Edit: Looks like I had used the wrong driver. Fixing that now.
Edit 2: No that wasn't it.

1 Like

Well, at least you’re willing to admit to human errors, unlike many other newcomers to this forum. :+1:t2:

1 Like

Well that wasn't it. I am using the driver called for in the OP. Generic light with Siren for the Floodlight cam. Should I be using Generic camera with siren driver?

I'm using this and it is detecting motion for me.

I have narrowed the issue down to having not set up polling or IFTTT. I prefer not to use cloud based solutions. Is anyone using polling rather than IFTTT? I see the warning about polling and that IFTTT is preferred.

I would not use polling, it worked very poorly for me and much slower. Ring is already cloud based so you might as well use IFTTT :). It works really good with the IFTTT option.

4 Likes

Good Point. Thanks.

1 Like

I'm using IFTTT and (at the moment anyway) it seems to be quite reliable from looking at the events in the app.
I'm using Ring motion for when we are away to turn on various lights in the house after a small delay.

1 Like

All fixed. Thank you all for your help.

1 Like

This probably me being a dumb newbie.... and I apologize for that... but the box that says "Initialize" here under commands is supposed to be a button.... ?? It does nothing when I click it, in either chrome or IE.... Is that a button or just a list of available commands I can use in a script or rule?

1 Like