python-ring-doorbell
python-ring-doorbell copied to clipboard
Feature Request: Ring Security System Support
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.
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
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.
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.
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
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?
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
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.
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?
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.
I was going to take a look myself. Perhaps this helps with the auth issues homespun/ring-alarm
I found this as well, maybe it will be helpful?
https://github.com/acolytec3/ring-alarm-HA-plugin
(nearly 3 years later) For anyone still interested, see #250
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.