dgreif / ring

Unofficial packages for Ring Doorbells, Cameras, Alarm System, and Smart Lighting
MIT License
1.23k stars 162 forks source link

Push notifications stop after ~24 hours #1218

Closed dgreif closed 1 year ago

dgreif commented 1 year ago

In #1212, we confirmed that clearing existing devices and re-authenticating seems to fix Push Notifications. However, some users are finding that the notifications only work for ~24 hours before they need to do the process again. The native apps don't seem to have this issue, so they must be sending some update to keep notifications working long term. We should investigate this further and find a way to avoid the daily bug.

See https://github.com/dgreif/ring/issues/1212#issuecomment-1546755943 for more details.

MoTechnicalities commented 1 year ago

Confirmed. 2 Authorized Devices for the job of one. image

dgreif commented 1 year ago

I've released 11.7.7 with some attempted fixes.

Thanks for all the insight @tsightler! My guess at this point is that there is something going on with the session, and that the bug with restarts has to do with the fact that a session is now being created (even if one already exists) immediately when the rest-client starts up. I'm also creating a new session every 12 hours after the pervious update, but that doesn't seem to have the same negative effect for some reason šŸ˜•.

As an attempted work around, I'm updating the camera class to watch for when new sessions are created and automatically re-subscribe to ding/motion regardless of the current subscriptions. I'm hoping this will fix the restart issues in the current version, but I can't reliably reproduce the issue to confirm this fixes anything šŸ˜….

Regarding the double device issue I was able to get to the bottom of that! The problem stems from differing systemIds at the time of generating the initial refresh token, and the systemId used by homebridge at runtime. For homebridge-ui in particular, this meant ensuring that we use the same logic to generate a consistent systemId for both the initial setup via the homebridge-ui and when homebridge actually runs. Note, users creating their refresh token using ring-client-api auth cli or via HOOBS UI will still end up seeing two devices. I've released a fix for homebridge-ui users only. Authors for other libraries will need to look at how their systemId is being set both for initial refresh token and their main runtime to make sure it's consistent.

On a personal note, I have family in town this weekend and would very much like to focus on spending time with them. I understand this is a frustrating issue and want to get it resolved quickly, but I have to balance with real life šŸ˜„. If the latest release does not fix the issue, then I suggest users turn on notifications from the official Ring app in the mean time. I understand this doesn't help with automations via homebridge/mqtt, but it's the best I can recommend at this point. Ring broke something and it will take time for us to find a perfect fix. Thank you for you patience ā¤ļø.

tsightler commented 1 year ago

Fully understand @dgreif. I'm personally spending some time with family after long weeks of travel for work, so not a ton of time myself, just kind of poking at it here and there.

stodla123 commented 1 year ago

Hello - since i had the same issue (#1229) here is what i experienced: after updating to version homebridge-ring v11.7.7 and then following the instructions stated in https://github.com/dgreif/ring/issues/1218 (re-login / re-auth) i can report now that push-notifications are working for me again! THANK YOU!

When did you notice the problem? ->can't remember Did you remove all device and re-authenticate, if so, did this work and for how long? ->yes and now it works thank you What devices do you have? ->intercom What region/country are you located in? i'm european (austria) Do you have a ring subscription? ->no

rodjager commented 1 year ago

@dgreif, thank you for the recent patch.

This has removed the double-ups I was seeing in the Ring web portal and I can confirm my Ring notifications are working again through Homebridge.

I will post an update after a few days too to report on what appeared to be a 24 hour bug.

Thanks again for making this plug-in a reality and I hope that you were able to have a great weekend.

daneedk commented 1 year ago

@dgreif, many thanks for your great work!

Here are my findings in relation to using the ring-client-api in the Ring Doorbell and Camera app for Homey:

I've collected information from several users, this is the overall result:

When did you notice the problem? 1st to 2nd week of May Did you remove all device and re-authenticate, if so, did this work and for how long? Yes, between 24 - 36 hours (I think it's 24 as most users don't immediately notice it not working) What devices do you have? Miscellaneous Ring Doorbell types, Miscellaneous Camera types What region/country are you located in? UK, Belgium, Netherlands, Norway, Sweden, Germany, France, Spain, Italy, Poland, Australia Do you have a ring subscription? Several have, others don't. (I can't see a connection having a subscription or not)


Here's some results from test I've done with my Ring Doorbell and Camera app for Homey using the ring-client-api

I've been running v11.7.6 since Friday evening on a 2 Homeys, one with node v12.22.11 and another with V18.16.0, they both behave the same, notifications are still working since then (almost 48 hours right now)

I've also installed v11.7.6 on another Homey with node v12.22.11. On that one I stopped and started the app after 24 hours, this resulted in notifications no longer working. Next I deleted the Homey entry from the Authorised Client Devices in the official Ring app and restarted the app on my Homey. This re-created the Homey entry plus the notifications started to work again, so that confirms @tsightler observation. After that I updated my app to ring-client-api v11.7.7 and performed the same test (though not waiting 24 hours before restarting the app) and experienced the same, notifications stop but get working again after deleting Homey from the Authorised Client Devices list and restarting the app.

I've also done some other testing, I've removed both the Homey and Device name not found entries and temporarily disabled the actual connecting to the Ring API after authenticating (The app has a builtin UI for authenticating at Ring)

When I authenticated in the app, the Device name not found entry was created, the Homey entry was not. Next I enabled the code that actually connects tot the Ring API and when running that the Homey entry was immediately created and operation was as desired. Next I deleted the Device name not found entry and restarted the Homey app, this resulted in a 401 and required me to authenticate again. As far as I can see the Device name not found device is created at both grant_type: "password" and grant_type: "refresh_token" at https://oauth.ring.com/oauth/token. In my code I'm using the same hardware_id for both the authentication requests as the systemId I use when setting up the RingApi connection. What I don't do in the authentication request is using (the equivalent of) controlCenterDisplayName which I use when setting up the RingApi (as I don't know how to integrate that in the authentication request) So I think that's connected to the fact 2 entries are created and not just one.

tsightler commented 1 year ago

I spent some time comparing the behavior to traces of ring-client-api with the official Ring app taken with mitmproxy and I just can't figure out why it's impossible to get push notifications working again after a restart. It feels like Ring has perhaps changed the behavior of the API call to register the FCM token to not accept updated tokens for a given hardware device once it has been set initially (or perhaps doesn't allow it frequently).

I've noticed that both my real hardware device, and the emulated android device use the same FCM token every time they startup.

On the other hand, ring-client-api does not provide any method of storing and reusing existing GCM/FCM registration and effectively generalates a new device registration, keys and FCM token on every startup and tries to push this to Ring. I hacked up my local copy of ring-client-api to use the same saved GCM credentials/keys/FCM token, and indeed that works for surviving a restart. Note that push-receiver actually suggest that GCM credentials should be stored/preserved for re-use.

This also seems to be why removing the authorized device works, because that also removes the FCM token. When the new authorized device is created the property "has_push_notification_token" is set to false. Calling the client_devices API with the hardware ID and the updated push_notification_token changes this to "true", but, after that, it doesn't seem possible to call this API to set a new token.

Really strange, and I could be somehow wrong, but the code is pretty straightforward, just a single call to an API to update the FCM token. I see the call happen, but, after the first time the client is registered, it just seems like this call is silently ignored.

Dernheart commented 1 year ago

I may be a little late with this but I am not receiving any notification no matter what I do. Last 2 updates since this issue started have made no difference.

When did you notice the problem? 2023-05-18 Did you remove all device and re-authenticate, if so, did this work and for how long? Yes. No notification at all since 2023-05-17. Events are showing in Ring iOS App What devices do you have? Video Doorbell Pro 2 What region/country are you located in? Australia Do you have a ring subscription? No

Homebridge.log from last notification: [17/05/2023, 22:50:00] [Ring] Front Door Detected Motion. Loading snapshot before sending event to HomeKit [18/05/2023, 06:31:17] [Ring] Request to https://app.ring.com/api/v1/mode/location/ failed with status 500. Response body: [18/05/2023, 06:31:50] Registering platform 'homebridge-ring.Ringā€™ [18/05/2023, 06:31:59] [Ring] Initializing Ring platformā€¦ [18/05/2023, 06:32:01] [Ring] Configuring cached accessory Front Door [18/05/2023, 06:32:06] [Ring] Found the following locations: [18/05/2023, 06:32:06] [Ring] locationId: [18/05/2023, 06:32:07] [Ring] Request to https://app.ring.com/api/v1/mode/location/ failed with status 503. Response body: {"errors":[4007]} [18/05/2023, 06:32:07] [Ring] Error connecting to API [18/05/2023, 06:32:07] [Ring] HTTPError: Response code 503 (Service Unavailable) [18/05/2023, 06:32:07] [Ring] Request to https://app.ring.com/api/v1/mode/location/ failed with status 503. Response body: {"errors":[4007]} [18/05/2023, 06:32:07] [Ring] HTTPError: Response code 503 (Service Unavailable) [18/05/2023, 06:32:33] [Ring] Request to https://app.ring.com/api/v1/mode/location/ failed with status 500. Response body: [18/05/2023, 06:33:05] Registering platform 'homebridge-ring.Ring' [18/05/2023, 06:33:15] [Ring] Initializing Ring platform... [18/05/2023, 06:33:16] [Ring] Configuring cached accessory Front Door [18/05/2023, 06:33:21] [Ring] Found the following locations: [18/05/2023, 06:33:21] [Ring] locationId: [18/05/2023, 06:33:22] [Ring] Configuring 1 cameras and 1 devices for location "" - locationId:

Times are Australian central time (UTC +9:30). From this point no further motion detections or door bell notification are in the log.

rodjager commented 1 year ago

@dgreif, just confirming the update is working for me.

It has removed the duplicate entry in the Ring web portal and notifications have been working through homebridge for the last few days without any issues. There is no lag either as I get a Ring motion alert from both the Ring app and Apple devices at the same time.

The API errors connecting to Ring servers via Homebridge have also cleared up.

Thanks again for your efforts on this.

MoTechnicalities commented 1 year ago

My Steps: 1) Installed homebridge-ring v11.7.7 2) In the Ring App, delete the Authenticated Device associated with Homebridge. 3) Refresh Token in the Plugin. 4) Restart Server Motion Detect is all good for a while. But then: 5) Restart Server No more Motion Detect again.šŸ˜• image

eightball011854 commented 1 year ago

My Steps: 1) Installed homebridge-ring v11.7.7 2) In the Ring App, delete the Authenticated Device associated with Homebridge. 3) Refresh Token in the Plugin. 4) Restart Server Motion Detect is all good for a while. But then: 5) Restart Server No more Motion Detect again.šŸ˜• image

Same on my end

stodla123 commented 1 year ago

Hello,

Hello - since i had the same issue (#1229) here is what i experienced: after updating to version homebridge-ring v11.7.7 and then following the instructions stated in #1218 (re-login / re-auth) i can report now that push-notifications are working for me again! THANK YOU!

When did you notice the problem? ->can't remember Did you remove all device and re-authenticate, if so, did this work and for how long? ->yes and now it works thank you What devices do you have? ->intercom What region/country are you located in? i'm european (austria) Do you have a ring subscription? ->no

Hello,

unfortunatelly i have to tell you that push notifications (and automations for exposed doorbell switch device) have stopped working again.

Two days ago i updated to version homebridge-ring v11.7.7 and re-authenticated + removed 2 devices in ring app then it worked.

Now it isn't working again.

If you need any further information or logs or anything please dont hesitate to ask, i will try to provide as good as possible.

thanks for your efforts in advance.

TNOTA commented 1 year ago

Same here. I removed and re-tokened the plugin again this morning and it worked for a couple of hours and then stopped. No motion triggers or doorbell events are being reported.

saltyzoo commented 1 year ago

I just started playing with this library a couple days ago and I haven't been able to get notifications except immediately after getting a new token. It doesn't seem to work for me at all after a token is refreshed. Everything else seems to work, even push notifications for settings updates, but motion or doorbell notifications don't work. I'm assuming my problem is the same as everyone else?

saltyzoo commented 1 year ago

Now I'm not getting motion or doorbell notifications even with a new token, so maybe I'm just doing something wrong. onData works fine, but nothing else ever gets called.

McJohnPi commented 1 year ago

We have installed version 11.7.7 at May 28 in the (European) morning. Without a restart it's running flawless for 4 days now. All the push notifications are working perfect.

[5/31/2023, 3:37:09ā€ÆPM] [Ring] Front Door Detected Motion. Loading snapshot before sending event to HomeKit [5/31/2023, 3:38:14ā€ÆPM] [Ring] Front Door Detected Motion. Loading snapshot before sending event to HomeKit [5/31/2023, 3:54:31ā€ÆPM] [Ring] Front Door Detected Motion. Loading snapshot before sending event to HomeKit

tsightler commented 1 year ago

I think it's abundantly clear at this point that a restart will commonly break push notifications. For whatever reason, the Ring API seems to not update the FCM push token even though the API appears to be called correctly, it only works the first time. I have some ideas why this might be the case, but need to continue to experiment to attempt to prove them.

However, for now, the only way I've been able to get push notifications to survive a restart is to save the FCM token generated immediately after initial authentication. For ring-mqtt I've hacked up ring-client-api to expose the GCM/FCM authentication information and store in the state file and also to accept re-use of previous authentication during restart instead of generating an entirely new FCM token. This at least allows ring-mqtt to survive restarts.

For ring-mqtt users, if you want to test this code, you can use the dev branch right now (set "branch" option to "dev" on the configuration settings). Note that you will almost certainly need to remove the device from authorized client devices and re-authenticate one more time to generate a fresh FCM token but, after that, ring-mqtt will just re-use this token.

Note that I'm not saying this is a final fix, actually I'm quite sure it is not, but it should at least buy more time between needing to re-authenticate vs having to constantly do so for every restart.

dariosun commented 1 year ago

Thank you so much tsightler, just installed your addon using the dev branch and it immediately started working for me again. Experienced the same issues as all the others through homebridge plugin; and for some reason haven't been able to successfully get it back running even with all the steps explained above. But with ring-mqtt addon at least I have my dings back now. Will report when there's any news.

dgreif commented 1 year ago

Thanks for the updates @tsightler. I've been thinking through how we can do this globally and I think I have a potential path forward. Basically, we need to ensure we use the same value across restarts for:

Given the variety of systems that consume ring-client-api, I'd prefer to have a solution that does not require storage to a specific file/location. Instead, I'm thinking about extending the information stored in the refreshToken string given consumers of ring-client-api already need to have a mechanism for subscribing to refresh token updates and storing that string somewhere. Basically, I'm thinking about changing the refresh token to be a string with structured data, allowing it to store the actual auth refresh token, the hardware id, and the push notification token. We should be able to do this in a backward compatible way so that we can transparently make this change without impacting existing usage patterns. Storing the hardware id in here would have the added bonus of fixing the double-device issue for all consumers as well, regardless of how the initial refresh token is created.

Not positive on the exact format yet, but it will probably be something like

{
  "rt": "e*** auth refresh token",
  "hid": "123***",
  "pnt": "gcm/fcm token"
}

All of that can be stringified and probably base64 encoded just to make it less likely to be tinkered with by users. WDYT @tsightler?

tsightler commented 1 year ago

@dgrief I think that approach could potentially work. I've already coded up fixes for the duplicate device issue using your examples, so that's not a huge issue for ring-mqtt, but I'm open to however you'd like to handle it. One thing to note, I'm pretty sure you will need to store the entire push-receiver credentials object, not just the FCM token.

I still have lots of question marks around the entire GCM/FCM token issue. I don't understand if Ring is simply limiting the frequency at which it can be updated, or if they are doing something like immediately pushing a message and invalidating the token if the get back an UNREGISTERED error.

I'm assuming the GCM credentials and the FCM push token are not valid forever, so what will happen when they need to somehow be updated? What will happen if I pass GCM credentials that don't work? Right now push-receiver appears to just fail in that case, so I guess ring-client-api would need to detect this and retry with empty credentials again. There doesn't appear to be any method in push-receiver to get an updated FCM token after the initial GCM/FCM registration process as the only place I can find the onCredentialsChange is called is during initial login when no credentials initially provided. Maybe they don't change?

dgreif commented 1 year ago

All good questions! I think it's worth experimenting on and I'll dig through the code for push receiver some more to understand it better. Hopefully I can get a working prototype by this weekend šŸ¤ž

tsightler commented 1 year ago

I've also been digging a little bit with the Ring web based client since it basically just does the same thing. However, it appears to use an entirely different method to get an FCM token, registering with a Firebase application. The push-receiver code is using a very old (and seemingly largely undocumented) method that is still dependent on the long since deprecated C2DM registration process. However, I spend a little bit of time digging at the Chromium source code, and it's GCM support, and it still uses the same method as push-receiver, which is what it appears to have been reversed engineered from.

Maybe these token/credentials really don't expire. Looking at some old documentation, it seems to indicate that the tokens can change, but only for things like removing/reinstalling the app, deleting app data, or restoring a backup on a new device. There doesn't seem to be an expire, so maybe just reusing these forever is OK.

For now I've just hacked up ring-mqtt/ring-client-api so that people can easily test some code that re-uses the existing GCM/FCM credentials and, so far so good, but we'll see how it goes for a few days.

saltyzoo commented 1 year ago

Please let me know if this is the wrong place to ask this, but as a brand new user of ring-client-api, I can't tell if I'm doing something wrong or if I'm having the same problem as described by others here.

If I delete the client device and re-authenticate, my app (a simple nodejs application using ring-client-api) gets motion notifications just fine until I restart the app (and create a new RingApi). It doesn't matter if I pass the same refreshToken to the constructor that I got from the original auth request, or if I subscribe to onRefreshTokenUpdated and use the latest token returned.

Am I doing something wrong, or am I having the same issue as the others?

tsightler commented 1 year ago

@saltyzoo Yes, this is the same issue as reported here.

MoTechnicalities commented 1 year ago

Just reporting back that homebridge-ring v11.7.7 has been working fine for the past 4 days (since installation) with no visible troubles, except that (and I have to, out of spite, mention it) each Ring Light Bulb still to this day and age adds a fake Motion Sensor in HomeKit. I have not Restarted the Server, yet, trying to see what comes first, the need for a Restart and Token Refresh or a new homebridge-ring version to try out. Good thing homebridge-lutron-caseta-leap v2.4.5-beta1 is working great now or I probably would have been forced to Restart by now!

Also in the news today: Amazon Fined $30.8 Million Over Alexa and Ring Data Privacy Issues.

dgreif commented 1 year ago

Ok, here we go šŸ¤ž. 11.8.0-beta.0 is released with a number of changes that should hopefully tackle all the notifications issues and the double device issue across all platforms.

For anyone updating, please follow the Notification Troubleshooting steps after updating - namely removing existing devices and creating a new Refresh Token

Per my previous comment, I updated the "refreshToken" to actually be a wrapper around an object, which includes the original refresh token needed for auth, the hardware id so that it stays consistent across refreshes (fix for double devices), and the entire Credentials object generated/used by the push notifications client. That last bit should be the ticket for preventing notification breakage after a restart.

I ran into some fun stuff with this change, in particular the fact that Ring will re-send recent push notifications when you reconnect if you don't set persistentIds in the push notification config. Rather than storing those ids, I'm just ignoring push notifications for the first two seconds after connecting. In local testing, I saw those come through on the scale of 15ms after connecting, so 2s should be plenty.

I kept this backward compatible with existing refresh tokens, so you don't technically have to create a new one, but it's a good idea to do so to avoid any push notification token overlap with the existing device session. Note, I did not make the backward compatible for downgrading, so if you try this beta and want to revert to the previous version, you will need to create another new refresh token after you downgrade. If all goes well, I'll probably release a breaking change in the near future which forces users to create a new refresh token to update.

Let me know how it goes!

tammotheus commented 1 year ago

IMG_2786 IMG_2788

Thank you so much @dgreif! Just installed 11.8.0-beta.0. Strange behavior so far: Homebridge shows functional Ring devices, button presses open the door (intercom), but HomeKit only shows inactive Ring devices. Will uninstall and install again. Maybe this is just a random thing. All other Homebridge devices show up as active.

daneedk commented 1 year ago

Thanks @dgreif

I've just tested the new version in my Ring app for Homey but something is going wrong. Everything is Ok at the first start of the app (after deleting the devices and logging on at Ring) but when I restart the Homey app I get the following error in my method to get a new refresh-token:

[log] 2023-06-03 12:12:51 [Api] Error: invalid_refresh 401 {"error":"invalid_grant","error_description":"The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client."}
    at IncomingMessage.<anonymous> (/lib/Api.js:408:29)
    at IncomingMessage.emit (node:events:538:35)
    at endReadableNT (node:internal/streams/readable:1345:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)

This error originates from a method in my app, not the ring-client-api, I will look into that further and report back.

I don't think the error I'm getting is exemplary for the behaviour of the ring-client-api on other platforms though.

jchristianj commented 1 year ago

First reboot after generating new token and deleting devices on Ring.com brings up the following log entries:

[6/3/2023, 1:10:51 PM] [homebridge-ring] Found the following locations:
[6/3/2023, 1:10:51 PM] [homebridge-ring]   locationId: [edited] - Rheinberg Zuhause
[6/3/2023, 1:10:52 PM] [homebridge-ring] 404 from endpoint https://api.ring.com/clients_api/doorbots/57832924/motions_subscribe
[6/3/2023, 1:10:52 PM] [homebridge-ring] Session hardware_id not found.  Creating a new session and trying again.
[6/3/2023, 1:10:52 PM] [homebridge-ring] 404 from endpoint https://api.ring.com/clients_api/doorbots/151854300/motions_subscribe
[6/3/2023, 1:10:52 PM] [homebridge-ring] Session hardware_id not found.  Creating a new session and trying again.
[6/3/2023, 1:10:52 PM] [homebridge-ring] 404 from endpoint https://api.ring.com/clients_api/doorbots/151854300/subscribe
[6/3/2023, 1:10:52 PM] [homebridge-ring] Session hardware_id not found.  Creating a new session and trying again.
[6/3/2023, 1:10:52 PM] [homebridge-ring] 404 from endpoint https://api.ring.com/clients_api/doorbots/57832924/subscribe
[6/3/2023, 1:10:52 PM] [homebridge-ring] Session hardware_id not found.  Creating a new session and trying again.
[6/3/2023, 1:10:52 PM] [homebridge-ring] Configuring 2 cameras and 3 devices for location "Rheinberg Zuhause" - locationId: [edited]

Maybe it is intended, I am not sure? Consecutive reboots of my Homebridge do not produce these entries. Will report back if I have collected information about the functionality of dings and motions sensors.

dgreif commented 1 year ago

Thanks for reporting in!

@jchristianj thanks for pointing it out, those 404 logs are normal after you create a new refresh token. Nothing to worry about there.

@daneek that error definitely seems related to the refresh token as that's what you would get if you had an invalid refresh token. I'm not able to reproduce any issues with it, so hopefully you can find something while debugging on your end šŸ¤ž.

@tammotheus that's an odd one, but likely some issue with communication between homebridge and homekit. I'd try rebooting all the things šŸ˜„

Side note, I'll be AFK much of the weekend so unfortunately I can't promise a quick turnaround on fixing anything with this beta. A few negative reports so far, but hopefully others are able to upgrade with less issues and try out the changes in regard to double devices and notifications after 24 hours/restarts.

stodla123 commented 1 year ago

@dgreif many thanks for this fast solution. :-) after updating to beta and reauth the intercom push is working again for me!! i will keep an eye on it in the next days and report back if anything happens.

regards and have a good weekend

TNOTA commented 1 year ago

The beta is rock solid so far.

saltyzoo commented 1 year ago

It appears to be working for me as well on initial testing. Thanks so much. Great job!

benjackson1111 commented 1 year ago

Is there anything else I can try? I have updated to the latest beta, removed the camera in the home app, re-added it, refreshed the token in the homebridge config....and its worse than before. At least I'd get it working for 24 hours, now the button on the doorbell doesn't trigger anything, even after following the instructions as above.

What could I be missing when everyone else is having success?! Sorry to the bearer of bad news!

tsightler commented 1 year ago

@benjackson1111 I would suggest simply following the staps again very carefully. As you state, others have shown that this method works, so my guess is that you likely did something out-of-order without realizing it. I'd suggest making sure that no ring-homebridge connection is made and don't try to re-authenticate until you are sure there are no devices listed in the Ring Control Center Authorized devices list. Some users have had to remove all devices to get it working, not just the ones associated with ring-homebridge/ring-client-api/ring-mqtt/etc. It's very critical that the authorized device created is 100% a new device or the push notifications will not be enabled.

benjackson1111 commented 1 year ago

ok thanks Iā€™ll try again I appreciate the confidence kick!!Ā On Jun 3, 2023, at 9:37 PM, tsightler @.***> wrote:ļ»æ @benjackson1111 I would suggest simply following the staps again very carefully. As you state, others have shown that this method works, so my guess is that you likely didn't something out-of-order without realizing it. I'd suggest making sure that no ring-homebridge connection is made and don't try to re-authenticate until you are sure there are no devices listed in the Ring Control Center Authorized devices list. Some users have had to remove all devices to get it working, not just the ones associated with ring-homebridge/ring-client-api/ring-mqtt/etc. It's very critical that the authorized device created is 100% a new device or the push notifications will not be enabled.

ā€”Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

CooperCGN commented 1 year ago

@benjackson1111 I couldnā€™t get it to work at first so hereā€™s the steps I took

  1. Removed Ring child bridge from HomeKit
  2. Deinstalled the plug-in in Homebridge and did a full restart of my raspberry pi
  3. Removed every device in the ring control center, even the associated iOS devices so list was completely empty
  4. Installed beta plugin in Homebridge, linked it to my ring account and set it as child bridge
  5. Restart Homebridge via config interface
  6. Added child bridge and its devices to HomeKit again
  7. working now
  8. logging into ring app on my iPhone and iPad again
benjackson1111 commented 1 year ago

Thank you Cooper. I did something similar and it worked! The notification was faster than ever too. Like the moment I pressed the button and before the sound effect ended the gate was buzzing (what I have the button press do is ā€œturn onā€ a sonoff ewelink relay that buzzes my security gate to let delivery people in). Used to take a second or two.Ā Iā€™ll test and see if it keeps working after homebridge restart.Ā Thank you all!On Jun 4, 2023, at 4:21 AM, CooperCGN @.***> wrote:ļ»æ @benjackson1111 I couldnā€™t get it to work at first so hereā€™s the steps I took

Removed Ring child bridge from HomeKit Deinstalled the plug-in in Homebridge and did a full restart of my raspberry pi Removed every device in the ring control center, even the associated iOS devices so list was completely empty Installed beta plugin in Homebridge, linked it to my ring account and set it as child bridge Restart Homebridge via config interface Added child bridge and its devices to HomeKit again working now logging into ring app on my iPhone and iPad again

ā€”Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

tsightler commented 1 year ago

@dgreif I pushed out an update to ring-mqtt that uses the beta ring-client-api and, so far, things seem pretty good. Of course, it's not even been a full 24 hours yet, but at least I'm not flooded with issues from upgrade problems so far.

eightball011854 commented 1 year ago

Working great on this end @dgreif thank you tons! Been over 24-hours and restarted server multiple times with no issues

richardgetz commented 1 year ago

@tsightler I can confirm your latest ring-mqtt update has fixed my notifications issue and I have yet to see any other issue arise yet.

daneedk commented 1 year ago

@dgreif I've been able to make some changes to my Ring Doorbell and Cameras app for Homey to make it work with the 11.8.0-beta.0 version and it's behaving as it should šŸ‘

I've just got one minor issue left, the authorisation (which is part of my app) still results in a device with the Device name not found name but it doesn't influence the workings of the app so I'll look into that later.

For now I've published a test version of my app to the Homey App Store and instructed my users in the Ring Doorbell and Camera topic on the Homey Community Forum on how to proceed. I expect to see no problems as I thoroughly tested the new API over some days and multiple Homeys, if anything should arise I'll post it here.

Thanks again for your great work!

jchristianj commented 1 year ago

For me it's working flawless, notifications (ding and motion) survived multiple homebridge reboots during the last days.

arolnick1 commented 1 year ago

Running 11.7.7

When did you notice the problem? 1st week of may Did you remove all device and re-authenticate, if so, did this work and for how long? Yes, also removed the child bridge and connect directly to each camera; stopped working after about 48 hours. What devices do you have? Floodlight Cam and Doorbell What region/country are you located in? USA Do you have a ring subscription? Yes

salemsayed commented 1 year ago

Latest beta looks to be working fine here, passed the 24H with no issues, will keep testing and report back.

tammotheus commented 1 year ago

@dgreif Thanks again! 11.8.0-beta.0 works fine so far after resetting/reinstalling the child bridge. Notifications come through over the past 3 days after daily reboots.

dgreif commented 1 year ago

Given the positive results so far, I feel confident we have a working solution. I've released 11.8.0 with the changes. I'll keep this issue open for a few more days for additional feedback in case users have continued notifications issues after updating.

benjackson1111 commented 1 year ago

Same here - iā€™ve been testing rigorously and it hasnā€™t faulted since the beta

On Jun 8, 2023, at 8:57 PM, Dusty Greif @.***> wrote:

Given the positive results so far, I feel confident we have a working solution. I've released 11.8.0 with the changes. I'll keep this issue open for a few more days for additional feedback in case users have continued notifications issues after updating.

ā€” Reply to this email directly, view it on GitHub https://github.com/dgreif/ring/issues/1218#issuecomment-1583934801, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANIPG4VXAQ7EHSZ74OD7AGLXKKNKRANCNFSM6AAAAAAYFHZSUU. You are receiving this because you were mentioned.

dariosun commented 1 year ago

Same, flawless since 11.8.0 beta - no notification issues for 5 days including multiple restarts. Thank you so much.

daneedk commented 1 year ago

Same, Iā€™ve published a stable version of the Ring Doorbell and Camera app for Homey that uses 11.8.0-beta.0 so all users could benefit from it and no problems have been reported. Just reports how happy users are itā€™s working again.

Thanks for your effort!