tchellomello / python-ring-doorbell

Python Ring Door Bell is a library written in Python 3 that exposes the Ring.com devices as Python objects.
GNU Lesser General Public License v3.0
543 stars 171 forks source link

FR: Chime play custom tone #101

Open JesseWebDotCom opened 6 years ago

JesseWebDotCom commented 6 years ago

This features would allow you to play a custom tone to individual specific chimes as well as all chimes in a home (I'd be happy with just the latter). This would empower home assistant users to create automations that play certain tone for certain events (ex. left garage open) while not affecting your existing tones for doorbell motion and doorbell ring.

vickyg3 commented 6 years ago

Just documenting whatever i remembered about this so that it may be useful for whoever is going to be working on this. :)

@tchellomello requested a similar feature in PR #46 [1]. But the way i remember it, i don't think there's a simple way to accomplish this. The way ring app worked was this: 1) Send a request to the ring servers to change the chime tone to a new one. 2) Poll for status updates until the message is sent to the ring device (sometimes this took over 10 seconds for my device). 3) Request the device to play the "current" chime tone (as it was changed in step 1 and confirmed in step 2).

So this could mean waiting 10 seconds before playing a custom chime. It would be unusable for realtime events (like garage door was opened etc) since it would take a while to play.

Also, this means changing the chime tone of the device for good. So we will have to spend another 10 seconds reverting it back to what it was before so that the usual doorbell chime isn't changed.

[1] https://github.com/tchellomello/python-ring-doorbell/pull/46#discussion_r139874432

github-actions[bot] commented 3 months ago

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.