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

Ahem, my apologies, I'll report back later, I must be hallucinating.

It happens. Btw, it’s a common problem with lithium batteries. They maintain a fairly constant voltage until they’re almost dead. It may leave a very short window for warning with a device that only reports weekly like First Alert Zcombo or only when the voltage changes, which may be far less frequent.

I have a few devices on the SmartThings IDE, which don't require the hub to operate (Arlo Cameras, for instance). Do I need to keep the ST hub powered up for HubConnect to control these devices? Or does it communicate through the IDE?

No.. IF you don't have any hub connected devices that, you can power off the hub.

1 Like

Hey Beta team!

HubConnect 2.0 Beta 4 has been released!

This release introduces the new local http hub-to-hub support for SmartThings using HubActions. I consider this to be experimental, but I have been using it for about a week without any issues.

Thanks for participating!

5 Likes

I have it running too and haven't found any problems or issues. But I barely can say I have ST, given my use: assisting HubConnect users with ST questions.

See:

app:582 2020-02-17 12:33:33.403 pm debug Sending event to ZeeSmart: Hank RGBW LED Bulb [switch: on null]
app:3   2020-02-17 12:33:33.287 pm info  Received event from ZeeRadioUpper/Hank RGBW LED Bulb: [switch, on null]
app:3   2020-02-17 12:33:32.913 pm info  Sending on command to HubConnect Server.
app:582 2020-02-17 12:33:32.874 pm info  Received command from client: ["Hank RGBW LED Bulb": on]
app:582 2020-02-17 12:35:47.067 pm debug Sending event to ZeeSmart: Hank RGBW LED Bulb [switch: off null]
app:3   2020-02-17 12:35:47.021 pm info  Received event from ZeeRadioUpper/Hank RGBW LED Bulb: [switch, off null]
app:3   2020-02-17 12:35:46.687 pm info  Sending off command to HubConnect Server.

Mighty impressive, right? :smiley:

1 Like

Thank you for all your hard work! On the site, I only see downloads for Beta 1... Are these the same files or am I missing something?

Yes they are. I’m not bumping the descriptions during the beta. Just reimport using the links you already use.

Got it. :slight_smile: Thank you

1 Like

I have question about upcoming 2.0 server.
What is best platform to run it at?

Previously mentioned raspberry pi computing power is probably about same like another dedicated hubitat hub.

Second option is regular pc, that will be probably power hungry and node has to be on 100%, i have to reboot a lot.

NAS probably best option for me, but for people who don't have NAS already it is expensive choice.

Looks like another dedicated hubitat hub running server looks best to me.

  1. Already implemented backup
  2. Hardware is same if need to be replaced
  3. Energy efficient
  4. Support company by buying another hub

Or does we need something running node.js ?

I also have a question ref the NodeJS server. I currently have a RaspberryPi running NodeJS for Housepannel and as a UPS controller (another shackrat application) integrated into Hubitat. Should I even consider using the same Pi or do I need to run this NodeJS instance somewhere else?

First, there's two places where the word "Server" occurs.

The "HubConnect Server for Hubitat" App on a Hubitat Hub is one. There is no REQUIREMENT for the second, it's an optional feature:

A new "NodeJS Server" that runs on anything that will run NodeJS. Again, it's optional. But certainly it will have to be as always on as the Hubitat Hubs :slight_smile:

I have mine running on an always on Mac Mini. I've run it on a couple versions of RPI. I don't have a NAS, but I bet I could get it to run on my Linux server. :slight_smile:

Will the NodeJS Server help with just two hubs, or it it more for filtering multiple hubs? Is there a point when it's just two hubs? From my reading earlier, I suspect there is little improvement.

nodejs functions = hubitat server functions?
Or nodejs server has something extra that is not implemented in hubitat server.

I'd suspect little improvement too.

The thing it does, that helps, is the De-duplicate and Filter.. meaning EventSocket sends everything it sees... Temp Event of 21.9 to be 21.9 (no change) is two events to BOTH hubs. With the NodeJS server, that duplicate gets filtered.

Additionally, if you have 20 devices on "this hub" mirrored to the other hub and it has 50 devices, none of which are mirrored, then your 20 device hub is going to see everything about all 50 devices and have to discard it. Again the NodeJS server filters those.

So there are extreme cases where it would make sense for two, but I would say it's not a certainty.

For two hubs you won't see any benefit using the nodeJS server, to be completely honest.

Now, the server does have a read-only maker socket that aggregates and emits all events and commands from all connected hubs. So if you're doing any kind of data logging, or using the event socket, you only need to connect to one socket to get events from both hubs.

Thats about the only benefit for a 2 hub environment... Outside of the geek-factor seeing all of your homes events scrolling across the screen. :slight_smile:

2 Likes

Correct.

For people with Multiple Hubs, with many devices on each, the 'firehose' of info in the event socket can be a lot to parse. And since the whole reason for multiple hubs is to reduce the load on any one hub, then a means to 'dial down' the firehose is desirable.. again, not required.

The NodeJS Server will de-duplicate and filter ONLY what each hub needs to see. This exactly what using http(oauth) does BUT without the hub having to manage http connections. So.. gain 1 for using Event socket, lose 1 for having to de-dup and filter. Using the NodeJS server, it's just 'gain 1' :smiley:

So i must run hubitat server and nodejs server is just filter?
Network will look like this

Hubitat server
Node js server
Hubitat remote 1
Hubitat remote 2
Hubitat remote 3

Or this, nodejs is full server + filtering
Nodejs
Hubitat Remote 1
Hubitat Remote 2
Hubitat Remote 3

^ that

There's a video that shows the process of 'inserting' the NodeJS Server between a Remote and Server.

https://hubconnect.hubitatcommunity.com/HubConnect_Install_Videos/HubConnect_ToProxy/

Is there implemented some kind of auto fallback to non proxy regime if nodejs proxy server dies?

Also, did someone measured speed difference between 1 remote hub with 100 devices or 6 hubs with 100 devices, with nodejs proxy and wihout?