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

Nope, I still have the same issue. I can't import any custom drivers. Option doesn't exist anymore.

The space issue was easily fixed once found. The only hint I can give on recreating is it was a new driver that I cut and past the name. It may have even been a non-printable character that I just backspaced over to fix.

Again thanks for your help.
Great product
Alan

HubConnect...

It's at the end of the chain. It doesn't know what RM Global you've built... til the Event hits. Can't config a driver on the fly so it has "everything" in it.. Probably you'll use just one Capability. Maybe even just one Attribute. The point is, a HubConnect stub driver (universal) will want to be useful for more than ONE physical device... like a Motion Sensor.. some have 6 sensors in one package, others have 3, but not all of them with 3 have the same set of 3... so we can make a driver that has 4 or 5 and let the idle attributes just be idle. The reason we don't make just ONE driver is for the very question you ask.. the device is cluttered with capabilities for which just ONE is used.

The less technical answer is: Yea? So? Is there a shortage of Device Info Space on the page? LOL (facetious, right?) :smiley:

1 Like

Just seemed overkill for a RM Variable, but I understand the idea.

Thanks again,
Alan

Import Issue: Gone! I haven't tried to import any yet to see if I can reproduced. I've updated versions and that reset the page.

Thanks again
Alan

I just got my ST hub connected, going to leave a few automations and devices on it for now. I set the switch in the app to Send mode changes to remote hub. The same thing I did for my remote HE hub and that works great, but the mode changes on my HE hub do not get passed to my ST hub..

The mode names are the same, I carried over the same scheme I used from ST to HE, is there something else I need to do for ST?

{edit]Ok I think it does not do that, so I have implemented mode changes via simulated switches. A little more work, but not too bad. If this is not the case please let me know.

A quick question.
I am using the HubConnect -> Homebridge interface, which seems to be working fine.
However, when I try and send across the following group name:


It comes across with the name "Switch".
Is there a way I can change that?
(This is not a big deal, I can always edit the accessory name on an IPad, but when you have a few of these it becomes tedious.)

When selecting (and therefore sending) devices to Homebridge, you can see logs on Homebridge similar to:

--> Server Hub SENDING: [deviceId: 18, displayName: GarageDoor Opener (Linear), name: contact, value: open]
--> Server Hub SENDING: [deviceId: 18, displayName: GarageDoor Opener (Linear), name: door, value: open]

I believe the "name:" field is used to pick an Apple device. It may be that "group" (or whatever it actually sends) is not a supported Apple device and some translation is needed.

@dan.t will have valuable advice, I'm certain. :slight_smile:

Can you show me once the device page for that device?

1 Like

Nice to see you back! Hope you’re doing well.

4 Likes

Doing well! Thanks, just super busy, which is a good thing I suppose during these times...

7 Likes

What tile templates are people using to control your TV?

Does position control (covers) fully work on this with homebridge?

I have what I presume to be the inverse case. The remote hub device is on and shows the correct subscribed devices, but the corresponding hub device on the server side shows no subscribed devices. I'm not getting events to come across in either direction for those devices that are physically on the remote hub and virtually on the server hub. Any suggestion on how to fix?

can you post a screenshot of your settings on each for hubconnect please?

Thank you, of course. Looking at it, makes me suspicious that the connection type got different somehow? The hub device on the server side shows "http" as the connection type even though event socket was selected.

Here are the settings from the remote side:

Settings

Name Type Value

audioVolume capability.audioVolume Family Room AVR
cleanupDevices bool true
disconnectHub bool false
enableDebug bool false
genericMotions capability.motionSensor EcobeeSensor: Main Floor Lil Bee (LJT6), EcobeeSensor: Upstairs Lil Bee (LLZF), EcobeeSensor: Main Floor (Thermostat), EcobeeSensor: Upstairs (Thermostat)
genericRGBs capability.colorControl Staircase Lightstrip 2, Staircase Lightstrip 1, Staircase Lightstrip 3
genericRGBW capability.colorMode Foyer Inner—Lower Bowl, Foyer Inner—Upper Bowl, Foyer Outer—Lower Bowl, Foyer Outer—Upper Bowl, Caden’s Lamp, Sconce Table, Inner Chandelier, Outer Chandelier, Foyer Chandelier
genericSwitches capability.switch Den TV, Family Room TV, Frog Room TV, Internet Watchdog, Master Bedroom TV, Office TV
genericThermostats capability.thermostat EcobeeTherm: Main Floor, EcobeeTherm: Upstairs
hcnetatmowxBasetations device.NetatmoBasestation Indoor Module
hcnetatmowxOutdoor device.NetatmoOutdoorModule Outdoor Module
pm_EnableVolts bool true
pushHSM bool false
pushModes bool false
receiveHSM bool true
receiveModes bool true
removeDevices bool false
serverIP text 10.0.0.7
serverKey text eyJ1cmkiOiJodHRwOi8vMTAuMC4wLjcvYXBwcy9hcGkvMzAyMSIsInNlcnZlcklQIjoiMTAuMC4wLjciLCJuYW1lIjoiTWFpbiIsInR5cGUiOiJsb2NhbCIsInRva2VuIjoiNzczNDFjMzEtYTJhYS00OTBlLWIxYjAtMTY0OTkyNTc3ZWJhIiwiY29ubmVjdGlvblR5cGUiOiJzb2NrZXQiLCJwcm94eUlQIjpudWxsLCJwcm94eVBvcnQiOm51bGwsInVzZVByb3h5IjpmYWxzZX0=
sp_EnablePower bool true
sp_EnableVolts bool true
syn_netatmoWxBasetations enum synthetic
syn_netatmoWxModule enum physical
syn_netatmoWxOutdoor enum physical
syn_netatmoWxRain enum physical
syn_netatmoWxWind enum physical
thisClientName text Hubitat Elevation Cloud
updateDeviceIPs bool false
Event Subscriptions

No Event Subscriptions are set.

Application State

Name Value

accessToken 99211bf8-bb50-4852-ad27-7476664a3269
clientToken 77341c31-a2aa-490e-b1b0-164992577eba
clientType local
clientURI http://10.0.0.7/apps/api/3021
commDisabled false
connected true
connectionType socket
customDriverDBVersion 0
customDrivers {}
deviceIdList [2019, 2020, 2021, 2024, 2025, 3305, 2986, 2154, 2635, 2891, 2988, 2989, 3533, 399, 400, 2743, 2043, 2557, 2558, 862, 863]
hubDeviceDNI serverhub-10.0.0.7
installedVersion {major=2, minor=0, build=9700, platform=Hubitat}
proxyIP
proxyPort
quickSelectState
saveDevices false
useProxy false
Scheduled Jobs

Handler Next Run Time Prev Run Time Status Schedule

appHealth 2020-06-19 3:17:33 PM CDT 2020-06-19 3:16:33 PM CDT PENDING 33 0/1 * * * ?

And settings from the server side....

Settings

Name Type Value

cleanupDevices bool true
clientIP string 10.0.0.53
clientName string HE Cloud
enableDebug bool true
genericContacts capability.contactSensor Vault Cabinet
genericMotions capability.motionSensor Driveway Virtual Camera Motion, Garage Motion, Garage Virtual Camera Motion, Mudroom Motion, Mudroom Door Virtual Camera Motion, Back Door Exterior Motion, Front Walk Virtual Camera Motion, Vault Virtual Camera Motion, Backyard Virtual Camera Motion, Side Door Virtual Camera Motion
genericSwitches capability.switch TV Door Open, TV Door Close, Virtual Front Doorbell Switch, Virtual Front Doorbell Motion Switch, Driveway Switch Debounced, Override Foyer Chandeliers
localConnectionType enum socket
pm_EnableVolts bool true
pocketSockets capability.switch Kitchen Security Monitor, Xbox Power, Master Bathroom Monitor, Theater Power
receiveHSM bool false
receiveModes bool false
remoteType enum local
removeDevices bool false
updateDeviceIPs bool false
useProxy bool false
Event Subscriptions

No Event Subscriptions are set.

Application State

Name Value

accessToken 77341c31-a2aa-490e-b1b0-164992577eba
clientMac Cloud Hub
clientPort 80
clientToken 99211bf8-bb50-4852-ad27-7476664a3269
clientURI http://10.0.0.53/apps/api/67
commDisabled false
connectStatus online
customDriverDBVersion 0
customDrivers {}
deviceIdList []
hubDeviceDNI hub-10.0.0.53:80
installedVersion {major=2, minor=0, build=9701, platform=Hubitat}
lastCheckIn 1592597913686
lastError
quickSelectState
saveDevices false
Scheduled Jobs

Handler Next Run Time Prev Run Time Status Schedule

appHealth 2020-06-19 3:22:09 PM CDT 2020-06-19 3:17:09 PM CDT PENDING 9 2/5 * * * ?

I see in your screenshots: a Remote that is sending 21 devices to Server and a Server that is sending 0 devices to the remote.

I had removed HubConnect from my Development hubs a couple days ago... so I installed it from scratch a few moments ago.

On the server hub, there's a device with the name of the Remote Client. (Yours would be Hubitat ElevationCloud, I believe) and when I look at Current states I see:

Screen Shot 2020-06-19 at 2.05.38 PM

On the Hub with Remote Client, there's also a Device, usually with the name of the server, and when I look at Current States, I see:

Screen Shot 2020-06-19 at 2.08.19 PM

When I look at those, I verify from the bottom up, that I'm seeing "ON", "HUBITAT" and "SOCKET"

Back on Server hub, the State Variables show a list of devices FROM the Remote:
Screen Shot 2020-06-19 at 2.16.20 PM

On the Remote, the State Variables show a list of devices FROM the Server. Since I'm not sharing anything from the server, my list shows empty:
Screen Shot 2020-06-19 at 2.17.31 PM

I also see no errors... if the hub Driver detects a broken Parent/Child it offers the following:

"DEVICE DISCONNECTED. Please DELETE!" for the Connection Type.

You can try turning the Hub devices (HubConnect Remote Hub <-- name of the Driver) off then on. You'll see the Current States jump around, returning to be what I've shown in my screen caps.

Screen Shot 2020-06-19 at 2.34.59 PM

I just did a variation of that:
Off
(count to 3)
Initialize
(count to 3)
On

and I was able to make changes to a device shared from Remote to Server and see it on the server and them make changes to that device on the server and see it on the Remote. AKA: working correctly. :smiley: Usually Off the On is enough, but I threw in an initialize because I like clicking buttons. :smiley: But remember to do the On after initialize.. I know it LOOKS on, but do it again for good measure.

This is the curious thing. I do have a bunch of devices that the server is sending to the remote. I've deleted and rebuilt the server side app a couple of times and re-added the devices, yet the hub device still shows zero devices, as you point out. Is there a way to refresh this?

EDIT: Also, the hub device on the server side indicates "http" as the connection type, which is highly suspicious. Can't understand how that can be given that I selected Event Socket.

EDIT #2: I did the Off/Initiative/On routine, per your suggestion. On the server side, the hub device remains unchanged, off, and with a connection type of http. Even tried deleting the server hub device and "done-ing" out of the app. The hub device was recreated, but still as an Off, http, with 0 devices. Stumped.

Did you click the Toggle Socket on the Server's Hub Device?

Screen Shot 2020-06-19 at 3.58.04 PM

Hmmm....maybe that's the problem. I don't have a Toggle Socket button on the server hub device (I do on the remote hub device, though). My server hub device details page looks like this:

yes, it is.. you're using the v1.6 vintage driver.

------ Virtual Hub ------
-Attributes-
deviceStatus: Installed
connectionType: http
eventSocketStatus: null
hsmStatus: null
modeStatus: null
presence: present
switch: on
version: v1.6.1

Can you get the latest from HubConnect.to and install it into your Server, please?