Ring Binding [3.2.0.0;5.0.0.0)

A little update, the event works fine was my fault.
So the only problem is the log (but is just a warn) and the battery report.
The intercom has a battery and 2 days ago the battery was 67 now is 65 so also if item change only when the % change i should have something.
In the week end i will try the jar that you linked

Thanks!

Unfortunately i get several errors:
Everything in online… But battery is still NULL

2026-05-20 10:28:20.380 [ERROR] [ing.ring.internal.RingHandlerFactory] - bundle org.openhab.binding.ring:5.2.0.202605150959 (327)[org.openhab.binding.ring.internal.RingHandlerFactory(469)] : Error during instantiation of the implementation object
java.lang.IllegalArgumentException: argument type mismatch
        at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:65)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
        at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1001)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:974)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:919)
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:220)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:217)
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:118)
        at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:547)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:534)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:660)
        at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)
        at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:669)
        at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)
        at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2091)
        at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2074)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:442)
        at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:337)
        at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304)
        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232)
        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152)
        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959)
        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895)
        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184)
        at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:118)
        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:931)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:917)
        at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:986)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:754)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:676)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:439)
        at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671)
        at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341)
        at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:610)
        at org.apache.felix.scr.impl.Activator.access$200(Activator.java:75)
        at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:477)
        at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196)
        at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169)
        at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
        at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229)
        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138)
        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130)
        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217)
        at org.eclipse.osgi.container.Module.publishEvent(Module.java:499)
        at org.eclipse.osgi.container.Module.start(Module.java:486)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847)
        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
Caused by: java.lang.ClassCastException: Cannot cast org.openhab.binding.ring.internal.RingVideoServlet to org.openhab.binding.ring.internal.RingVideoServlet
        at java.base/java.lang.Class.cast(Class.java:4069)
        at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
        ... 76 more
2026-05-20 10:28:20.495 [WARN ] [g.discovery.internal.PersistentInbox] - bundle org.openhab.core.config.discovery:5.2.0.M4 (170)[org.openhab.core.config.discovery.internal.PersistentInbox(143)] : Could not get service from ref {org.openhab.core.thing.binding.ThingHandlerFactory, org.openhab.binding.ring.internal.RingHandlerFactory}={service.id=856, service.bundleid=327, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), component.name=org.openhab.binding.ring.internal.RingHandlerFactory, component.id=469}
2026-05-20 10:28:20.509 [WARN ] [g.discovery.internal.PersistentInbox] - bundle org.openhab.core.config.discovery:5.2.0.M4 (170)[org.openhab.core.config.discovery.internal.PersistentInbox(143)] : DependencyManager : invokeBindMethod : Service not available from service registry for ServiceReference {org.openhab.core.thing.binding.ThingHandlerFactory, org.openhab.binding.ring.internal.RingHandlerFactory}={service.id=856, service.bundleid=327, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), component.name=org.openhab.binding.ring.internal.RingHandlerFactory, component.id=469} for reference ThingHandlerFactory
2026-05-20 10:28:20.536 [ERROR] [ing.ring.internal.RingHandlerFactory] - bundle org.openhab.binding.ring:5.2.0.202605150959 (327)[org.openhab.binding.ring.internal.RingHandlerFactory(469)] : Error during instantiation of the implementation object
java.lang.IllegalArgumentException: argument type mismatch
        at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:65)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
        at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1001)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:974)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:919)
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:220)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:217)
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:118)
        at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:547)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:534)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:660)
        at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)
        at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:669)
        at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)
        at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2091)
        at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2074)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:442)
        at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:337)
        at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304)
        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232)
        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152)
        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959)
        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895)
        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184)
        at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:118)
        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:931)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:917)
        at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:986)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:754)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:676)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:439)
        at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671)
        at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341)
        at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:610)
        at org.apache.felix.scr.impl.Activator.access$200(Activator.java:75)
        at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:477)
        at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196)
        at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169)
        at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
        at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229)
        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138)
        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130)
        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217)
        at org.eclipse.osgi.container.Module.publishEvent(Module.java:499)
        at org.eclipse.osgi.container.Module.start(Module.java:486)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847)
        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
Caused by: java.lang.ClassCastException: Cannot cast org.openhab.binding.ring.internal.RingVideoServlet to org.openhab.binding.ring.internal.RingVideoServlet
        at java.base/java.lang.Class.cast(Class.java:4069)
        at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
        ... 76 more

you did remove the existing build before installing the jar?

Sorry my fault!
I was thinking that the jar had more priority!
Now i can read battery! Thank you so much!!!

[ring] Fix intercom battery level by psmedley · Pull Request #20797 · openhab/openhab-addons · GitHub raised for this.

FWIW - I implemented firebase cloud messaging event driven notifications, instead of relying on polling…

More testing and debugging required, BUT…

For an event timestamped at: 21 June 2026 at 17:22:36

Previous polling method detected it at: 2026-06-21 17:23:03.710 (27 second lag)

New GCM method detected it at: 2026-06-21 17:22:37.640 (1.5 second lag)

preview build at https://smedley.id.au/tmp/org.openhab.binding.ring-5.2.0-SNAPSHOT.jar

If some others can validate this ASAP, I’ll see if I can get this enhancement into 5.2.0

[ring] Use Firebase Cloud Messaging instead of polling to receive new events by psmedley · Pull Request #21019 · openhab/openhab-addons · GitHub is in draft

Some more data points:

2026-06-22 07:40:15.510 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item ‘Ring_Account_Binding_Thing_When_the_event_was_created’ changed from 2026-06-21T18:33:39.829+0930 to 2026-06-22T07:40:14.000+0930 (source: org.openhab.core.thing$ring:account:8dfaa7ae05:event#createdAt)
~1.5 seconds between event and notification

2026-06-22 08:36:13.865 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item ‘Ring_Account_Binding_Thing_When_the_event_was_created’ changed from 2026-06-22T07:40:14.000+0930 to 2026-06-22T08:36:13.000+0930 (source: org.openhab.core.thing$ring:account:8dfaa7ae05:event#createdAt)
~0.9 seconds between event and notification

2026-06-22 09:01:48.274 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item ‘Ring_Account_Binding_Thing_When_the_event_was_created’ changed from 2026-06-22T08:36:13.000+0930 to 2026-06-22T09:01:47.000+0930 (source: org.openhab.core.thing$ring:account:8dfaa7ae05:event#createdAt)

~1.3 seconds between event and notification.

I’m still running into issues.
I noticed from the debug log that getRingDevices gets called every 15s. Is that intended behaviour?

| 09:26:20.731\[DEBUG\] \[org.openhab.binding.ring.internal.handler.AccountHandler\] - **RestClient reported AuthenticationException from api.ring.com when retrying refreshRegistry for the second time: Account rate-limited** |
|----|
| 09:26:20.731\[INFO\] \[openhab.event.ThingStatusInfoChangedEvent\] - **Thing 'ring:account:ringBridge' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): AuthenticationException response from ring.com** |
| 09:26:20.731\[INFO\] \[openhab.event.ThingStatusInfoChangedEvent\] - **Thing 'ring:doorbell:bridge:doorcamMC' changed from ONLINE to OFFLINE (BRIDGE_OFFLINE)** |
| 09:26:22.093\[DEBUG\] \[org.openhab.binding.ring.internal.handler.AbstractRingHandler\] - **DoorbellHandler - minuteTick - device doorcamMC** |
| 09:26:22.094\[DEBUG\] \[org.openhab.binding.ring.internal.handler.AbstractRingHandler\] - **Battery Level Unchanged for doorcamMC - 55 vs 55** |
| 09:26:22.361\[DEBUG\] \[org.openhab.binding.ring.internal.handler.AccountHandler\] - **AccountHandler - refreshRegistry** |
| 09:26:22.361\[DEBUG\] \[org.openhab.binding.ring.internal.RestClient\] - **RestClient - getRingDevices** |
| 09:26:22.963\[DEBUG\] \[org.openhab.binding.ring.internal.RingDeviceRegistry\] - **RingDeviceRegistry - addRingDevices - Ring device with duplicate id xxxx1 ignored. Updating Json.** |
| 09:26:22.963\[DEBUG\] \[org.openhab.binding.ring.internal.RingDeviceRegistry\] - **RingDeviceRegistry - addRingDevices - Ring device with duplicate id xxxx2 ignored. Updating Json.** |
| 09:26:22.963\[INFO\] \[openhab.event.ThingStatusInfoChangedEvent\] - **Thing 'ring:account:ringBridge' changed from OFFLINE (COMMUNICATION_ERROR): AuthenticationException response from ring.com to ONLINE** |
| 09:26:22.963\[INFO\] \[openhab.event.ThingStatusInfoChangedEvent\] - **Thing 'ring:doorbell:bridge:doorcamMC' changed from OFFLINE (BRIDGE_OFFLINE) to ONLINE** |
| 09:26:28.901\[DEBUG\] \[org.openhab.binding.ring.internal.handler.AccountHandler\] - **RestClient reported AuthenticationException from api.ring.com when retrying refreshRegistry for the second time: Account rate-limited** |
| 09:26:28.901\[INFO\] \[openhab.event.ThingStatusInfoChangedEvent\] - **Thing 'ring:account:ringBridge' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): AuthenticationException response from ring.com** |
| 09:26:28.901\[INFO\] \[openhab.event.ThingStatusInfoChangedEvent\] - **Thing 'ring:doorbell:bridge:doorcamMC' changed from ONLINE to OFFLINE (BRIDGE_OFFLINE)** |
| 09:26:29.722\[INFO\] \[openhab.event.ThingStatusInfoChangedEvent\] - **Thing 'ring:doorbell:bridge:doorcamMC' changed from OFFLINE (BRIDGE_OFFLINE) to UNINITIALIZED** |
| 09:26:29.726\[INFO\] \[openhab.event.ThingStatusInfoChangedEvent\] - **Thing 'ring:doorbell:bridge:doorcamMC' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)** |
| 09:26:29.726\[INFO\] \[openhab.event.ThingStatusInfoChangedEvent\] - **Thing 'ring:account:ringBridge' changed from OFFLINE (COMMUNICATION_ERROR): AuthenticationException response from ring.com to UNINITIALIZED** |
| 09:26:29.731\[INFO\] \[openhab.event.InboxRemovedEvent\] - **Discovery Result with UID 'ring:doorbell:ringBridge:718265091' has been removed.** |
| 09:26:29.731\[INFO\] \[openhab.event.InboxRemovedEvent\] - **Discovery Result with UID 'ring:stickupcam:ringBridge:716628123' has been removed.** |
| 09:26:29.732\[DEBUG\] \[org.openhab.binding.ring.internal.discovery.RingDiscoveryService\] - **bundle org.openhab.binding.ring:5.2.0 (388)\[org.openhab.binding.ring.internal.discovery.RingDiscoveryService(584)\] : ServiceFactory.ungetService()** |
| 09:26:29.732\[DEBUG\] \[org.openhab.binding.ring.internal.discovery.RingDiscoveryService\] - **bundle org.openhab.binding.ring:5.2.0 (388)\[org.openhab.binding.ring.internal.discovery.RingDiscoveryService(584)\] : invoking deactivate: deactivate: parameters \[\]** |
| 09:26:29.732\[DEBUG\] \[org.openhab.binding.ring.internal.discovery.RingDiscoveryService\] - **bundle org.openhab.binding.ring:5.2.0 (388)\[org.openhab.binding.ring.internal.discovery.RingDiscoveryService(584)\] : invoked deactivate: deactivate** |
| 09:26:29.733\[DEBUG\] \[org.openhab.binding.ring.internal.discovery.RingDiscoveryService\] - **bundle org.openhab.binding.ring:5.2.0 (388)\[org.openhab.binding.ring.internal.discovery.RingDiscoveryService(584)\] : DependencyManager: osgi.ds.satisfying.condition close component unbinding from org.apache.felix.scr.impl.manager.ComponentContextImpl@555ebfb2 at tracking count 1 refpairs: \[\[RefPair: ref: \[{org.osgi.service.condition.Condition}={service.id=6, service.bundleid=0, service.scope=singleton, service.pid=0.org.osgi.service.condition.ConditionImpl, osgi.condition.id=true}\] service: \[null\]\]\]** |
| 09:26:29.733\[DEBUG\] \[org.openhab.binding.ring.internal.discovery.RingDiscoveryService\] - **bundle org.openhab.binding.ring:5.2.0 (388)\[org.openhab.binding.ring.internal.discovery.RingDiscoveryService(584)\] : Changed state from active to satisfied** |

Cheers

Please remind me which build you’re running.

It’s the official 5.2.0 one from the add-on store.

OK I’ll need to look at this when I get a chance. I’m in hospital for the next couple of weeks, and going through some medication changes, so my brain isn’t that functional to look into this right now.

No worries - get well soon!

OK the short answer is that you are rate-limited due to a bug introduced with the camera snapshot support in 5.2.0. Due to my illness, I didn’t get a chance to get the fix into 5.2.1; I’ll try to get it ready for 5.2.2. Another solution is to install the 5.3.0 snapshot build from https://smedley.id.au/tmp/org.openhab.binding.ring-5.3.0-SNAPSHOT.jar

https://smedley.id.au/tmp/org.openhab.binding.ring-5.2.2-SNAPSHOT.jar should fix the 429’s on 5.2 - it back ports part of the 5.3 changes to 5.2.

I gave it a shot! So far, no issues! Thanks a bunch!