python-ring-doorbell icon indicating copy to clipboard operation
python-ring-doorbell copied to clipboard

Feature Request: Ring Security System Support

Open adam-fox opened this issue 6 years ago • 13 comments

Would love to see support for the new Ring Security System (https://shop.ring.com/pages/security-system). Not sure if this is helpful but I came across this in my searching: https://github.com/davglass/doorbot/issues/26

Thanks for all the work you’ve done on this and all the Home Assistant components.

adam-fox avatar Oct 05 '18 02:10 adam-fox

Hello @adam-fox, I don't have plans to implement it myself as I don't own a Ring Security System but any contributions to add support to it would be very welcome.

Thank you for your kind words. :+1:

mmello

tchellomello avatar Oct 07 '18 17:10 tchellomello

I'm receiving my Ring Alarm system in the next few days in the mail. I'm willing to take a stab at trying to put in a simple implementation. Is there any best practices or gotchas we should be aware about?

I'll admit my interest in getting this working is in using this as a component for home-assistant.

litobro avatar Nov 27 '18 17:11 litobro

I am also working on this although having issues monitoring the traffic with the MITM proxy. I it works under the same call for the doorbots/{id}/status. I did get the id from using the query call.

joshfokis avatar Nov 27 '18 18:11 joshfokis

This is awesome to hear! Happy to help test along the way if needed. Not sure if helpful but I've found a few other repositories where they've implemented the Ring Alarm:

  • https://github.com/asishrs/smartthings-ringalarm
  • https://github.com/dgreif/homebridge-ring-alarm
  • https://github.com/homespun/ring-alarm

adam-fox avatar Nov 27 '18 18:11 adam-fox

My quick attempt to MITM proxy my Ring app shows connection errors - indicative that SSL pinning is being used to prevent intercepting traffic. I'm on an Android P device running the latest version of the app. This would explain why @joshfokis is having difficulty intercepting the traffic.

I don't currently have access to a rooted device to bypass the pinning or the ability to recompile the app without the pinning in place. I'll attempt to use the other repos linked to try and port rather than detect some of that data.

@tchellomello did you originally develop this using interception? Were you able to circumvent the SSL pinning?

litobro avatar Nov 28 '18 13:11 litobro

MITM worked originally with the RING app, they only recently in the past few months pinned the SSL certificate. I was able to MITM to identify the snooze/quiet etc. functions when they added them

shadowbq avatar Nov 28 '18 14:11 shadowbq

I was hoping to be consistent and use the API calls and not the websockets that have been used. Only thing I have found out is when calling ring_devices it lists it under base_stations but you get the health call from doorbots but you cannot call history from it.

joshfokis avatar Nov 28 '18 18:11 joshfokis

I agree, I had hoped to use the API calls as well, though based on inspecting the traffic in the web browser, and making some HTTP requests to the API, I can only get the same information as you. Based on the behaviour of the app (it takes additional time to 'connect' to the base station and load), it looks like the new app may be using websockets for that portion as well. Are we sure that there's API exposed for alarms at all?

litobro avatar Nov 28 '18 18:11 litobro

After some experimentation, the authentication from the API is not sufficient authentication for the websockets. This is irritating as it will require quite a substantive rewrite to implement some of the websockets authentication and other code.

litobro avatar Nov 29 '18 00:11 litobro

I was going to take a look myself. Perhaps this helps with the auth issues homespun/ring-alarm

toscano avatar Nov 29 '18 18:11 toscano

I found this as well, maybe it will be helpful?

https://github.com/acolytec3/ring-alarm-HA-plugin

dshokouhi avatar Jan 05 '19 23:01 dshokouhi

(nearly 3 years later) For anyone still interested, see #250

Pixol-WoW avatar Dec 04 '21 16:12 Pixol-WoW

There hasn't been any activity on this issue recently. This issue has been automatically marked as stale because of that. It will be closed if no further activity occurs. Please make sure to update to the latest ring_doorbell version and check if that solves the issue. Thank you for your contributions.

github-actions[bot] avatar Apr 18 '24 18:04 github-actions[bot]