For those who own Hubitat, or who may be contemplating Hubitat, I have released HubConnect which is an app that links multiple hubs together and virtualizes remote devices on a single, master hub. HubConnect can even link devices on SmartThings to Hubitat making them available for local automations, dashboard access, etc.
HubConnect replaces the native HubLink/Link to Hub apps and includes the following enhancements:
Support for multiple device attributes (i.e switch, power, voltage for a Zigbee Plug).
Battery status is available for any device that supports it.
Switches, Dimmers, RGB Bulbs, and Buttons are 2-way devices which can be controlled from the coordinator hub as well as the remote hub in which they are connected to.
Fully bi-directional. Connect physical devices from remote hubs to the coordinator AND devices on the coordinator to remote hubs!
When a remote device is controlled from master, status updates (i.e. switch) are instantly sent by the remote device to ensure the device actually responded to the command.
Full bi-directional SmartThings support including 2-way devices.
Hub Health ensures each remote hub checks in with the coordinator every minute. If a hub fails to respond for 5 minutes it is declared offline.
A virtual "hub presence" device is created for every linked remote hub. If the remote hub is responding, the status is "present", if it's offline the status is "not present".
This uses the "HubConnect Remote Hub" driver and is done so rules can be created to notify when a hub is not responding.
The virtual Remote Hub device also acts as a switch; when on the remote hub sends device events to the server, when off, communication is stopped. This is useful when installing hub updates to avoid errors being written to the hubs logs.
Flexible oAuth endpoints; Hubs do not need to be on the same LAN or even same location.
Remote hubs can be located anywhere with an internet connection.
Communications between the master and remote hubs can be suspended for maintenance. (i.e. rebooting the master hub as it prevents the remotes from logging http errors)
Publish user-defined device drivers without modifying HubConnect source code.
Mode changes can be pushed from the Server to Remote hubs, including SmartThings.
Remote hub "Reboot-Recovery" checks-in with the Server hub to set the current system mode anytime a remote hub is rebooted.
More information on HubConnect is available on the Hubitat Community Forum.