Smarthings bridge excludes other bridges?

Hello,

I have successfully added smartthings binding as shown on this well documented page Samsung Smartthings - Bindings | openHAB The bridge operational and can see my devices reporting data.

The only issue is this bridge throws an error when it encounters my zoneminder bridge. This is a major bummer, my motivation was to trigger alerts for camera’s based on smarthings events.

There is a statement on the page that reads :

" Warning This binding only supports one Bridge. If you try to configure a second bridge it will be ignored."

I assumed because it started with “This binding” it meant smartthings binding specifically, meaning it don’t support multiple smarthing-hubs. Can anyone confirm, this binding supports only ONE bridge?

Regards,
madscientist

I don’t use those bindings. But this seems unlikely, can you explain why it is you believe this to be the case? Is there a log entry that is making you think this? if so it would help if you posted why you believe two bridges are conflicting?

You do not define it in the binding. OH items and rules handle the automation. Please read about the OH concepts of operation.

Hello,

Yes, as I mentioned smartthings is working and reporting information to my devices just fine. The only change made to my files is done in demo.things to comment out the zoneminder binding. You can see the moment when the file is updated & breaks. The logs previously were included to show the smartthings binding is working.

E.g:

2021-01-02 21:11:13.805 [DEBUG] [rtthings.internal.SmartthingsServlet] - Smartthing servlet processing “state” request. data: {“capabilityAttribute”:“temperature”,“deviceDisplayName”:“Motion Sensor basment steps”,“value”:“67.5”}
2021-01-02 21:12:49.223 [DEBUG] [rtthings.internal.SmartthingsServlet] - Smartthing servlet processing “state” request. data: {“capabilityAttribute”:“temperature”,“deviceDisplayName”:“Motion upstair”,“value”:“65.2”}
2021-01-02 21:14:30.979 [DEBUG] [rtthings.internal.SmartthingsServlet] - Smartthing servlet processing “state” request. data: {“capabilityAttribute”:“temperature”,“deviceDisplayName”:“Rack”,“value”:“71.9”}
2021-01-02 21:16:15.444 [DEBUG] [rtthings.internal.SmartthingsServlet] - Smartthing servlet processing “state” request. data: {“capabilityAttribute”:“temperature”,“deviceDisplayName”:“Motion Sensor basment steps”,“value”:“67.7”}
2021-01-02 21:17:51.850 [DEBUG] [rtthings.internal.SmartthingsServlet] - Smartthing servlet processing “state” request. data: {“capabilityAttribute”:“temperature”,“deviceDisplayName”:“Motion upstair”,“value”:“65.5”}
2021-01-02 21:18:35.653 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model ‘demo.things’
2021-01-02 21:18:35.677 [INFO ] [andler.ZoneMinderServerBridgeHandler] - [BRIDGE (KansasCityHome)]: Starting ZoneMinder Server Bridge Handler (Bridge=‘null’)
2021-01-02 21:18:35.730 [WARN ] [s.internal.SmartthingsHandlerFactory] - The Smartthings binding only supports one bridge. Please change your configuration to only use one Bridge. This bridge smartthings:smartthings:KansasCityHome will be ignored.
2021-01-02 21:18:35.735 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while calling thing handler factory ‘org.openhab.binding.smartthings.internal.SmartthingsHandlerFactory@68dfeebe’: SmartthingsHandlerFactory could not create a handler for the thing ‘smartthings:smartthings:KansasCityHome’.
java.lang.IllegalStateException: SmartthingsHandlerFactory could not create a handler for the thing ‘smartthings:smartthings:KansasCityHome’.
at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.registerHandler(BaseThingHandlerFactory.java:128) ~[bundleFile:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.doRegisterHandler(ThingManagerImpl.java:587) [bundleFile:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerHandler(ThingManagerImpl.java:564) [bundleFile:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerAndInitializeHandler(ThingManagerImpl.java:1056) [bundleFile:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.thingAdded(ThingManagerImpl.java:445) [bundleFile:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:211) [bundleFile:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:131) [bundleFile:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:1) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:157) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:1) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:56) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:75) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutAddedElement(AbstractProvider.java:79) [bundleFile:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$25(GenericThingProvider.java:920) [bundleFile:?]
at java.util.ArrayList.forEach(ArrayList.java:1541) [?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModelForThingHandlerFactory(GenericThingProvider.java:923) [bundleFile:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$4(GenericThingProvider.java:300) [bundleFile:?]
at java.lang.Iterable.forEach(Iterable.java:75) [?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModel(GenericThingProvider.java:302) [bundleFile:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:716) [bundleFile:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:311) [bundleFile:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:133) [bundleFile:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:247) [bundleFile:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:310) [bundleFile:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.run(WatchQueueReader.java:240) [bundleFile:?]
at java.lang.Thread.run(Thread.java:834) [?:?]

Bruce,

I’m not sure what your referring to “defining it in the binding”. I’m not sure what “it” is. For further clarification, I followed the instructions provided on the page exactly, and it works. I haven’t made any rules yet, just working on basic functionality & data reporting between smarthings + openhab2 + zoneminder.

When I uncomment out my zoneminder bridge and my demo.things file is updated, I can see the error in the logs and my smartthings devices stop working.

2021-01-02 21:14:30.979 [DEBUG] [rtthings.internal.SmartthingsServlet] - Smartthing servlet processing “state” request. data: {“capabilityAttribute”:“temperature”,“deviceDisplayName”:“Rack”,“value”:“71.9”}
2021-01-02 21:16:15.444 [DEBUG] [rtthings.internal.SmartthingsServlet] - Smartthing servlet processing “state” request. data: {“capabilityAttribute”:“temperature”,“deviceDisplayName”:“Motion Sensor basment steps”,“value”:“67.7”}
2021-01-02 21:17:51.850 [DEBUG] [rtthings.internal.SmartthingsServlet] - Smartthing servlet processing “state” request. data: {“capabilityAttribute”:“temperature”,“deviceDisplayName”:“Motion upstair”,“value”:“65.5”}
2021-01-02 21:18:35.653 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model ‘demo.things’
2021-01-02 21:18:35.677 [INFO ] [andler.ZoneMinderServerBridgeHandler] - [BRIDGE (KansasCityHome)]: Starting ZoneMinder Server Bridge Handler (Bridge=‘null’)
2021-01-02 21:18:35.730 [WARN ] [s.internal.SmartthingsHandlerFactory] - The Smartthings binding only supports one bridge. Please change your configuration to only use one Bridge. This bridge smartthings:smartthings:KansasCityHome will be ignored.
2021-01-02 21:18:35.735 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while calling thing handler factory ‘org.openhab.binding.smartthings.internal.SmartthingsHandlerFactory@68dfeebe’: SmartthingsHandlerFactory could not create a handler for the thing ‘smartthings:smartthings:KansasCityHome’.

If you are trying to use openHAB to control the zoneminder bridge based on smartthings events, the smartthings binding knows nothing about the zoneminder bridge. You use a different binding to integrate that with OH.

You use openHAB Items & rules to set up the control.

I do not use either of those products but this looks like basic openHAB functionality to me.

I’m not controlling zonminder with smartthings bindings or vice versa, I have both bindings installed. Currently I’m just trying to get both bindings functional (each require bridge definitions). They do not seem to work simultaneously. I’m pretty sure updating zoneminder api based on items values reported by the smartthings binding would be an easy task but I could be wrong.

1 Like

OK I had a similar conflict in an early milestone that was resolved by a binding developer. I hope you have similar success.

1 Like