core: Ring Ding does not change state
The problem
The binary_sensor.ding entity does not change state (from clear to on) when the ring doorbell button is pressed. A reload of the Ring integration would temporarily solve this issue in 2023.1.7 but a reload does not solve the problem in 2023.2.5.
The sensor.last_ding does update correctly.
What version of Home Assistant Core has the issue?
2023.2.5
What was the last working version of Home Assistant Core?
2023.1.7
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Ring
Link to integration documentation on our website
https://www.home-assistant.io/integrations/ring/
Diagnostics information
None
Example YAML snippet
No response
Anything in the logs that might be useful for us?
Logger: homeassistant.components.ring
Source: components/ring/__init__.py:219
Integration: Ring (documentation, issues)
First occurred: 12:09:17 PM (2 occurrences)
Last logged: 2:23:07 PM
Error fetching Ring active dings data: 502 Server Error: Bad Gateway for url: https://api.ring.com/clients_api/dings/active?api_version=9
Error fetching Ring active dings data: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
Additional information
No response
About this issue
- Original URL
- State: open
- Created a year ago
- Reactions: 13
- Comments: 53 (6 by maintainers)
Hi, so I’ve been looking at this and I think I’ve gotten to the cause. If the doorbell starts off recording motion and then receives a ding, the ring cloud api doesn’t return the ding in its standard ding query (depending on how long the motion goes on for before the ding). This seems to be a change on the ring api side as nothing changed between HA 2023.1.7 and 2023.2.5 to impact this.
I tried a fix to query the device immediately after receiving a motion alert to get the ding alert but it didn’t really work because the ding alert is only returned from the cloud api once the motion recording has finished which is no good. 🙁
I’m now working on a fix to get realtime ding alerts from Firebase cloud messaging (the thing that sends to your phone) instead of the ring cloud api. This is non-trivial but I seem to have finally got it working, so with a bit more testing and some other stuff that needs to happen, I may have a proper fix soon. Fingers crossed.
It’s sad but still it doesn’t update the ding sensor, so its main functionality is broken.
Considering it seems to be so since several months ago, I think it would be honest to advertise it on the main integration page.
Same issue here.
Running HA 2023.2.5
Unfortunately 2023.3.0 hasn’t changed anything for me - my wired doorbell reports the dings correctly, whereas the battery powered one does not.
Interestingly the “last ding” updates itself just fine with the battery powered doorbell - but seeing as it updates a few minutes after the ding it’s not suitable for use in an automation.
I will start looking at it. I might need some help from people affected if I can’t reproduce it on my own doorbell. Will let you know.
I worked around this by exposing a button to Alexa and then having an Alexa routine press the button when the doorbell is pressed. Bit backwards but at least home assistant now knows when the doorbell has been pressed.
Still not fixed 😦
I couldn’t get it to work, the suggestions above also didn’t work for me.
So I tried switching to ring-mqtt, initially to check if Ring stopped providing dings through the API.
I’ve been using ring-mqtt for weeks now (almost 3 months), and it’s working perfectly. Setup is also really straight forward - especially if you’re already using MQTT in HASS. If you need the dings, this is the fastest/easiest way to get them working for now, I think.
Hey Everyone,
Just to follow this one up - so far I seem to have had quite a bit of success in clearing out my list of authorised devices - https://account.ring.com/account/control-center/authorized-devices and then deleting and re-enabling the ring integration. My “authorised devices” list had hundreds of logins from the Python/Android user agent that home assistant reports as.
So far so good - all of my dings are back to reporting instantly - I wonder if there is some limit on the authorised devices that was causing this ? Would be great if others could see if it works for them !
I can confirm that for the “Ring Video Doorbell Wired” the binary_sensor.ding does work again in the Home Assistant 2023.3.0.
Edit:
Some times it did work after a restart of home assistant
I would love to help test this prior to release but I am not familiar with running HA from source code. I will test it when it is released.
Thank you very much!!!
So I now have a PR in draft to pickup changes to the ring-doorbell library that HA uses for this component. Those changes get realtime alerts from Google/Firebase Cloud Messaging (same as our phones). It works with my doorbell but I would appreciate if some others having the issue could spend a bit of time testing the fix with their devices. The PR is here https://github.com/home-assistant/core/pull/103134.
To get and test the fix you will need to be familiar with running HA from source code. To get the code after you have forked and cloned:
Please bear in mind if testing that this fix specifically addresses dings not firing if they are preceded by a motion alert. It may or may not fix other issues with getting alerts. Also if alerts aren’t reaching your phone you can assume the issues is elsewhere rather than with HA.
Another thing that might help with testing is to use the ring-doorbell cli to see what it’s getting from ring. Preferably in a virtual environment run:
You should then see alerts being printed to the screen as they happen.
Fingers crossed and many thanks in advance to anyone who’s able help with testing!
I can confirm this is the case as well on 2023.8.2.
@amiranees as @LouisMT mentioned above - ring-mqtt is a perfect replacement. I’ve been using this for few days - works like a charm.
Same issue here. Tried deleting authorized devices.
This did not work for me, I cleared all of them and tried and
binary_sensor.front_door_ding
never changed the state 😦Home Assistant 2023.3.4 - issue with binary sensor of wired Ring doorbell
@LouisMT I think you saw the same error message as in the original post above.