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

I think maybe I don't have something setup right, The report would not show anything for the ST client while it was offline so I went back and redid the key like I did earlier to get it to show back online. Here is the report when ST client was offline, and then below that once I got it to show online again.

It still shows nothing but right after getting this typed out and posting the reports I went back and the client shows offline again.

This is the revision line from the groovy code for the ST smartapp remote client

Map getAppVersion() {[platform: "SmartThings", major: 2, minor: 0, build: 9700]}

This is the report after I got ST client to show back online

Should I see this slider to send connection key with my ST hub, because I do not. I finally saw it as my remote HE hub had a warning listed under apps on the HE server hub apps page. I clicked the HE remote and saw the slider to send the connection key and that fixed the warning. I do not have this slider on my ST remote hub.

No, the server hub has the option to send the connection keys to other Hubitat hubs.

I noticed that you are using outdated drivers from the github repo. (Most) All drivers should be version 2.0.0 and can be downloaded from HubConnect.to. You can simply hit the import button and copy/paste the address for each driver into the box. This will update the driver without creating chaos.

Finally; did you select “enable Oauth” when you installed the app on SmartThings?


It should be this version “ getAppVersion() {[platform: "SmartThings", major: 2, minor: 0, build: 9700]” in the code.

1 Like

Started a new project at work today so won't be at my computer much during the day for a bit, that is why it has taken me so long to answer.

Under apps on my server HE hub I see this for my remote HE hub, but I do not see it for my remote ST hub.

I did select “enable Oauth” and I checked the smartapp file to verify it was the right version. I also updated all the driver files to to 2.0

I am not sure I probably clicked the slider since there was a ST hub connected. Where can I look to see.

I am right now back up and online. I tried all the other stuff removing the ST remote device and rebuilding but it always showed offline. I then clicked on connect a hub, it scanned and said it couldn't find any new hubs, I then went back to the apps page and my ST remote was back online. Even though it shows online right now it shows no version number in the report for the ST remote hub.

You were RIGHT. Props.

1 Like

ST remote hub still online, so maybe it was having the old drivers loaded. I thought I had read somewhere that the drivers didn't change but apparently that was incorrect. Anyway, Thanks for the help.

1 Like

v2.0 has features that required adding "uninstall" to all the drivers.

1 Like

I'm running the beta TVOS 14 on my appleTV and on my Iphone and iPad as well. All of a sudden, Home app is not matching Hubitat anymore unless I restart Homebridge. I will stay in since for a little bit and then out of sync again. I can still get Siri to turn things on and off but the Home app is still out of sync.

So decided to just start all over again. I can not get a new server to add to Hubconnect. It says connected, but it doesn't show up when I go to the app list. I can see my Home Modes under accessories, but it's missing the area that says Online so I can go in and configure adding other items.

dev:1032020-06-24 10:42:10.537 pm errorjava.lang.IllegalArgumentException: null on line 267 (initialize)

dev:1032020-06-24 10:42:10.202 pm traceInitialize virtual Hub device...

All I can say is Thank You, for such a great app.

Fianally read thru all the posts, and discovered my flaw in the installation.
Use the original SmartThings App, I had used the new one and it did not work.

Hubitat to Hubitat works flawlessly.
Hubitat to SmartThings, great.

SmartThings to Hubitat not so much, I am not able to see any available devices in the HubConnect Client app in ST. Even though I have 4 Thermostats, I am not able to share them.

Are we able to share thermostats?

Thanks.

@srwhite
Thank you so much for making the SmartThings-Hubitat connection possible! It is so useful and everything runs smoothly so far.
I wonder if you will consider adding a new device type for smart vents such as Keen Home smart vents? Both SmartThings and Hubitat have existing device types for keen vents.
I am currently exporting my vents as "dimmers." It works ok mostly, but it would be nice to see other attributes, such as temperature measurement and battery, synced across hubs.
Again thank you for your amazing contribution to the Hubitat community!

Have you explored the features of Custom Drivers? It been there from the earliest days because it's always been clear that devices would come along "between releases" so to speak. You identify the Capability and Attributes and then build a 'stub' driver for it. In v2.0 there's even a tool to help build the stub driver for you.

@csteele curious about your thoughts of the future of the smart things integration for hbconnect? Has there been any talk of supporting the platform once the old ide goes away (or whatever is happening exactly)

1 Like

Thank you @csteele
That's actually what I was thinking. I tried to create a custom driver but the Hub Instance doesn't see any when I chose the "customer drivers" option to sync devices to SmartThings. I created customer drivers on both Hubitat and SmartThings, and used "shackrat" in namespace. Any idea how can I make it visible to Hub Instance?
Thanks!

For me, it's up to Steve to decide. It's his product. I've looked at the scale and scope of ST's new offering and I'm convinced Steve would do 30x better than I would. :slight_smile: ( ok, really 100x, but 30x is embarrassing enough! :smiley: )

Last year about this time I got a bright idea to offload some work HubConnect has to do to a NodeJS server. I built a WebSocket to WebSocket proxy and was quite enjoying it's potential. A couple months later Steve returned from Camping and said he'd been thinking of... what we now know as the HubConnect NodeJS Server (proxy) complete with caching of Events to do the de-duplication and list of devices filtering. I don't know how he does it so fast. :smiley:

Thus when, this year I thought about prototyping a new ST I reminded myself of last year and decided to jump on the wait-and-see-ride. :smiley:

1 Like

I'm not sure what steps you've taken... but I just created a new Custom Driver and it transfers the customization to the other Hub.

I defined the Custom, then clicked Save and got:

Screen Shot 2020-06-26 at 10.33.55 AM

When I looked in (classic) ST App, the customs were there.

From @ogiewon: SmartThings has announced they intend to completely shut down their classic Groovy developer platform. No word on timing.

I read this to mean SmartThings integration will cease to exist when this happens. Am I reading this right? If so, I’ll finally have to buy another HE for my Echo Speaks integration :joy:

Looks like they're planning for sometime in 2021 to shut down the Legacy Groovy IDE.

Most likely, in its current form, HubConnect will no longer work with SmartThings once the Legacy Groovy IDE is shutdown.

However, SmartThings does have a new API to allow integrations. So, if a developer wanted to rewrite the integration with ST, it may be possible. I have no idea how much effort this would take, nor if all of the same functionality would still be available.

2 Likes

Thanks for the information. I kind of hope to have a reason to abandon SmartThings entirely. It’s been the least reliable part of my HA.

@srwhite Any advice on customizing your drivers? I am running a virtual valve driver and would like to pass a value to the open command. It looks like sendDeviceEvent will take a parameter list, but since this is argument to the command, I'm not sure this will work. I tried this as well as The example below didn't error out but didn't work; setting the param to this ["value": mins] errored out. If there is an example of someone customizing a Hubconnect driver for passing arguments to commands, that might help me. Thanks!

def open(mins)
{
// The server will update open/close status
    if (mins) {
        parent.sendDeviceEvent(device.deviceNetworkId, "open", [mins])
    } else {
        parent.sendDeviceEvent(device.deviceNetworkId, "open")
    }
}