-
-
Notifications
You must be signed in to change notification settings - Fork 170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error 500 in Ring API on Homebridge #1431
Comments
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
Based on the http error code, it seems to be a Ring server-side issue. I researched and saw that this endpoint helps establish a socket connection. Maybe it'll fix itself over time. This probably isn't an issue with homebridge-ring, especially since @Bro-Rocket12 mentioned his other location works. |
This comment was marked as duplicate.
This comment was marked as duplicate.
Yeah it's definitely something sever side. Rolling back to previous version does not fix it unfortunately. Nor does setting it up as a child bridge. It is weird that my other location id works though, not sure why one works and the other does not. Hopefully whatever the issue is gets fixed soon. |
Please don't post a lot of "me too" post here, that does nothing but fill the maintainers inbox with lots of messages while providing no additional value. If you are having the same issue and feel the need to express yourself, a "thumbs up" on the initial post is enough. Of course if you have details to add beyond what has already been posted, feel free to do so. It's quite clear that this is a change in behavior of the Ring server side, what is not clear is if it is a permanent change, or a temporary issue. The ring-client-api code is using The official Ring app appears to use We're likely in for a bumpy ride with the Ring API for the next few weeks as, due the the deprecation and imminent disabling of the legacy FCM APIs (not directly related to Ring, but used for push notifications), we're also in the middle of migrating to FCM v1 to be able to continue to receive push notifications. Unfortunately, this work has been challenging as it depends on upstream packages which had several limitations in the implementation that made it unsuitable for use with ring-client-api. I finally managed to get this working last night, but upgrading will require upstream to accept a small PR I've submitted, a complete re-authentication cycle will have to be completed, and perhaps more. This work is ongoing, but it's a race against the clock since the official disable data for the legacy FCM API is June 20th. I've also noticed there are other changes happening, lots of backend APIs failing even in the official Ring app, my guess is they are doing some backend optimization and consolidation. We'll do our best to keep up with the changes, at least so far I've not seen any intentional attempt to block 3rd-party access, something I have long feared could happen, but providing 100% reliability for a reverse engineered API is simply not possible. |
I have confirmed that replacing If any of you know what you are doing and are interested in manually working around the issue, you can edit node_modules/ring-client-api/lib/rest-client.js and replace |
Just manually did the change. All statuses of all devices are back, camera streams work and Alarm status change including PIN challenge work. Awesome! |
Thanks for the confirmation, if someone out there happens to have a setup that uses modes, and can verify that the change doesn't break that, it would go a long way as I don't have an easy way to test this at the moment as I have an alarm at my location and I don't have any spare camera to setup a second site with no alarm. |
Hi, I made the change to update 'appApiBaseUrl' and it also worked for me. @tsightler - By modes, do you mean just switching my alarm to Home/Away modes, using the buttons as shown in the screenshot? |
Just going to add that I did worry about the US in that domain name and wondered if this was US specific but just checking DNS logs I can see that app in UK is still connecting to |
This comment was marked as duplicate.
This comment was marked as duplicate.
I am using ring-mqtt with docker and this is what I did.
|
Just in case it helps anyone, I am using the ring-mqtt docker image and was able to modify the URL as follow. First I had to access the container's shell on my home assistant server: Then I searched for the rest-client.js file and found it at this location So I used vi to modify the file and then proceeded to modify the |
Confirmed the change to |
|
Is it possible to have a new version of component with URL fixed? I’m not confident to make manually this edit with Advanced SSH in my HAOS |
I am pretty sure that this will come soon once confirmed that this change really has no negative side effects. It is clearly just a workaround to do this manually as a re-pull of the container image will undo this change anyway every time. |
node_modules not mode_modules. |
Spent a fair while doing the usual troubleshooting on this before I came across this thread a few hours ago. And having seen the comments thought I’d leave. Since all the traffic of you guys making changes etc, I figured I’d do a full server reboot. As it looks like a DNS change on ring’a end, rather than anything else. (Server OS reboot not just service/app) This appears to have fixed the issue for me. Using raspberry pi running homebridge OS |
Folks, if you don't know how to edit files, then the manual solution is not for you, newbies will have to wait for an official fix, having everybody post here about how to edit files will just add confusion. I will be deleting messages asking for help editing files, Google can help you, or you can go and talk about it in the discussions groups, but this is not the place for that, this issue is about researching and solving the problem. |
Home Assistant: Confirmed working in the UK, using a Ring account that is not the "master" either. On HAOS, I made the edits and restarted the docker container.
If you're new to
If you screw it up, just restart the ring-mqtt add-on from the Home Assistant GUI and it will revert the damage and go back to its original state. |
Thanks, I had this concern too, but I scoured the app source code and could not find any other reference to a non-US URL so I suspected it was not a problem. |
THANK YOU, it works |
Proposal: |
this worked - tsightler/ring-mqtt#861 (comment) changing the volume only on the base station |
I made another workaround without changing the source code, I changed the
Restarted the complement and all is working fine for me. Alarm, sensor, etc.. |
I appreciate the suggestion, but the Ring API is complex, it's not just a single URL, there are at least a dozen different URLs listed in the code, it makes zero sense to try to expose them all. Many times when they change the API itself also changes, what headers are needed, what authentication they use, etc. |
Good idea and nice workaround for the interim. |
If your running Pihole can change the CNAME record to redirect until a better solution is found |
Everything is working again, with no modifications. I just restarted the addon in Home Assistant |
No change in the hosts file or in the code? Maybe ring recover the previous url? |
yep works for me again too, just restarted the addon and it's good again |
Yes, I think so |
Yup, I reverted my change, restarted the addon and it's working! No change in the code needed I guess |
As I stated earlier, it was quite likely the problem was temporary on the Ring side, the service errored with a message indicating a backend problem, not that it didn't exist or anything like that, it seemed likely to be temporary. That being said, it doesn't mean we shouldn't update the URL at some point to use the same one the Ring app leverages, otherwise it creates issues like this where the Ring app works while the projects depending on ring-client-api do not and people go crazy like they did here. |
Rollling Back To v 11.8.1 solve the issue |
No it won't, it's just that the outage is over and Ring has corrected the issue. |
Here we go again! It does not work anymore... (without the modification) |
I did the modification to the file and everything works perfectly, in fact my Ring cameras come up instantly in HomeKit now. BUT I tried going back to the pre modified rest-client.js file when others said it was working again, and I am still getting error 500. So I went back again to the modified file and it all works. So this issue may not be cleared on Rings end of things. |
Yes, there have been several periods of time where it worked or didn't work throughout the day. I guess we'll see if it stabilizes and, if not, we'll have to push out an update. |
Just fyi for anyone else not back yet, I'm now getting a "Response code 503 (Service Unavailable)" I'm in Ireland, so presumably Ring/DNS are slowly propogating a fix. |
I restarted HB plugin, disabled and re-enabled it... no go still here. Am i supposed to do something else? thanks in advance! |
There is nothing to do until Ring either fixes the issue, or we push out a new version to work around the problem, unless you are able to implement one of the workarounds already posted in this thread. |
which workaround is the "goto" atm? thank ya @tsightler ! this is an easy one: |
Yes, that is probably the easiest and has no negative side effects, setting a DNS alias for app.ring.com to resolve to prd-api-us.prd.rings.solutions is probably the easiest, using either /etc/hosts or perhaps DNS on your local router, etc. |
/etc/hosts is easy enough, ill give that a shot! Thanks @tsightler Update: Worked like a charm (for now) ... thanks again! |
12.1.1 has been released with a fix for this issue. |
Is there an existing issue for this?
Describe The Bug
Error 500 in Ring API. Ring plugin no longer works for this location. The entire homebridge crashed while I was viewing cams and not the ring plugin is stuck on this error for this location only. My other location id works fine.
To Reproduce
No response
Expected behavior
it should work
Relevant log output
Screenshots
No response
Additional context
No response
OS
Homebridge/ Synology
Node.js Version
v20.9.0
NPM Version
n/a
ring-client-api
n/a
Operating System
n/a
The text was updated successfully, but these errors were encountered: