[RELEASE] HubConnect - Share Devices across Multiple Hubs (even SmartThings!)



I had ordered 5 of the Hampton Bay Zigbee Fan Controllers from Home Depot and knowing they were about to arrive I got the HubConnect Fan stub driver written for it in hopes of getting it included in v1.4. [Hubitat now supports 'FanControl' which has specific enumerated speed settings vs using a Dimmer and that was my part of my purpose. Dimmers for fans continues to work.]

I have now installed 4 of the 5 Controllers, which by the way, doubles my Zigbee network, :slight_smile: and I've got one of them downstairs, while Zigbee radio is exclusively an Upstairs radio. One of the automations I've been wanting to do for years, while waiting for a ZWave version of a Fan Controller :frowning: and waiting... is to turn on a fan based on temperature of the room. The ZWave temperature sensor is attached to the Downstairs Hub. It will come as no surprise to everyone using HubConnect that I can build a Rule on the downstairs hub that is driving the fan paired to the upstairs hub.. Hub to Coordinator to Hub and it's as instant as the Rules driving the Upstairs fans, where temps and fans are all on one Hub.

It still makes me grin when this tech stuff works as I imagined it would/could. :smiley:


The latest webcore on HE uses significantly less resources.

My experience is it is not problematic either alone or with other complex apps.

Webcore is 100% local for processing unless you are using cloud resources. It has always been this way even prior to my updates.


I'm using webCoRE on my second HE Hub, (Hub_2) and HubConnect.
On my first hub (Hub_1)I have all my physical devices with very few apps installed.
Automations are performed by Hub_2 without any delays at all, webCoRE (around 38 pistons running) is ticking over very nicely.

I'm also running webCoRE on ST for presence which in turn updates and changes modes on Hub_2, which then pushes those changes through to all others.

I've had this running like this for almost two months and have come across issues which @nh.schottfam sorted very quickly. I really like how this is all working out.


I confirm that WebCore runs pistons local.

How do you know what resources are being used on the Hubitat hub? Processor saturation, memory usage, etc. With WebCore and HubConnect running that would be valuable information to know.


Not sure if this is part of my previously reported problem but on the Hubitat hub I am getting a lot of repeating errors with the app claiming the SmartThing hub is offline. However it is in fact online and remote devices are able to be controlled


HE does not provide overall statistics for the entire hub. I do wish they had that.

For individual pistons, webcore can provide execution time when logging is minimal or higher. For individual memory usage, at least for state that is visible for individual pistons also in the HE console. It is this data I used to compare before and after of changes I made.


Can anyone tell me how to create a device on SmartThings to connect to one on the HE hub? I have installed the HubConnect Switch device handler using the IDE and created a device using the IDE using the same name used on the HE hub and filling the Type field with HubConnect Switch.

I don't see any other obvious way to do it. There appears to be no option on the HE app to share specific devices to remote hubs. Maybe I'm missing something.


Real/physical device on Hubitat?? and you want it's virtual on SmartThings?

First, on SmartThings, delete your "created a device using the IDE " -- HubConnect will do that for you.

On Hubitat, Apps: Click on your SmartThings Instance of HubConnect. Then:

Then pick the real device (presumably a switch) and then click Done all the way back out to the Apps list.

HubConnect will send your selection(s) to the SmartThings Remote-Client app and it will create a virtual device and give it the HubConnect driver (assuming it's been added.)

Open the Mobile app and as soon as it refreshes, the new device should appear with the exact same name as was on Hubitat.


That is what I originally thought but when I go to the HubConnect Server Instance on HE which appears to be a child of HubConnect Server for Hubitat.

I am presented the following screen;

I click on "Connect to Client Hub" which takes me to the screen that already has my ST hub info input. I click on DONE and it returns back to the same screen as I showed here.

I don't have any button "Connect local devices to Client Hub" to click on.


That's correct... until you get a connection to the SmartThings hub, there's no option to pick devices to send to... nowhere. :slight_smile:

Check your oAuth options.. make sure you did those steps.


and in the SmartThings IDE:


I checked and OAuth is set. I have something messed up so I will delete everything and reinstall everything from scratch.


Be sure to remove the Virtual ST Hub from Hubitat's device page too.. I always forget that :frowning:


Guess what? I didn't forget to remove the device, I forgot to install it!

It is a matter of operator error coupled with the case of repeating the same behavior expecting a different result. I had deleted everything and seen your message and went to check and there it WASN'T. As subtle as you response was it was enough to break the cycle. THANKS!!


I am no longer getting status between devices on hubs, I have a dedicated hub for OSRAM lamps, and my main hub, both Hubitat. I use a Samsung button on the main hub to toggle a light on the second hub. It will no longer work, only turns the light off. I did notice that on the main hub, status does not change, it says that it is always on. Is there something I could be doing wrong? It was working fine, nothing changed.

Edit - after multiple reboots, it seems to be working again.


HubConnect 'watches' the Event Socket produced by the platform, directly or indirectly* via Subscribing to individual events. Like Dashboard, first check functionality via the Device Info page to be certain it's controllable 'physically'.

  • You control which, Event Sockets or Subscribed, by the Connection Type picked during Remote Hub createion.


Are you using http or Eventsockets to connect to your server hub? I've noticed degraded Eventsocket performance over time. Next time you see this you can try turning toggling the event socket connection to the remote in querstion simply by going to the virtual hub device (located on your server hub) and click the "off" command button. Wait a few seconds then click the "on" command button to re-establish the connection.


Eventsockets... all about speed!


Is event sockets actually faster in all cases?

For instance, if you have 5 devices going between hubs I would think event sockets would have more loading overall (even if faster)?


I don't really know, but I read in other postings that Eventsockets were faster, so I set it up that way. If it isn't, and the other is more reliable and just as fast, I guess I will have a fun afternoon of changing things around!


I believe that to be the case too.. I suggest if at least half of your remote devices are connected to the server hub it probably makes sense to switch to Eventsockets... But that’s just an arbitrary number I picked. It really comes down to how busy your server hub is and how busy you want it to be.