Current Release: 1.6.4 - December 29, 2019
HubConnect 1.x End of Life Notice
With version 2.0 about to be released, there will be no further updates to the 1.x codebase and all official support will end on 4-30-2020.
HubConnect - A new and improved way to connect and share devices across multiple Hubitat and SmartThings hubs to a central Hubitat hub. HubConnect replaces HubLink/Link to Hub and supports true bi-directional device linkages no matter where the device is physically located; SmartThings <--> Hubitat AND Hubitat <--> SmartThings.
Installation Instruction (New Installs)
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.
- Bi-Directional Mode Support - Remote hubs can send mode changes to the server, which then pushes them out to all remote hubs.
- From the server hub web UI, reboot and shutdown Hubitat hubs that are located on the same LAN.
- HomeBridge Support! - HomeBridge (HomeKit) users can now connect directly to HubConnect without installing any additional apps.
- Mode Report that generates a single view that queries all hubs and displays the available system modes and whether which direction that mode changes.
- System Version Report queries all hubs for all app and driver versions to made updating easier. This report displays the currently available versions of all HubConnect modules.
[] Hubitat Event Socket support eliminates slow http calls and is ideal for high volume, rapid movement of remote device events between hubs on the same LAN.
[] Bi-directional Hubitat Safety Monitor (HSM) and Smart Home Monitor (SHM) allows HSM to share arming states between hubs, including SmartThings Smart Home Monitor.
HubConnect is built on a foundation of a parent-child server app connecting to a single remote app using oAuth endpoints. This means that hubs can be connected within the local lan AND across the internet! HubConnect virtualizes devices using lightweight driver stubs. These "stubs" are essentially stripped down drivers that contain no logic but expose virtually all attributes and commands that each class of device woudl typically support on the physical device. For locks, this attribute and command support is so complete that a single Lock Code Manger app can be used to centrally manage locks and codes across multiple Hubitat hubs!
Connecting a remote hub is easy! Start by creating a server instance on the coordinator hub, grab the connection key and paste it to the remote hub. The remote hub will handshake with the coordinator and complete configuration.
The following device classes are supported natively in HubConnect with the attributes listed next to each one.
- Arlo Pro Camera: ["switch", "motion", "sound", "rssi", "battery"]
- Arlo Q Camera: ["switch", "motion", "sound", "rssi", "battery"]
- Arrival Sensor: ["presence", "tone", "battery"]
- Button: ["numberOfButtons", "pushed", "held", "doubleTapped", "temperature", "battery"]
- Contact Sensor: ["contact", "temperature", "battery"]
- Dimmer: ["switch", "level"]
- Dome Motion Sensor: ["motion", "temperature", "illuminance", "battery"]
- DomeAeon Plug: ["switch", "power", "voltage", "current", "energy", "acceleration"]
- Garage Door: ["door", "contact"]
- Iris Smart Plug: ["switch", "power", "voltage", "ACFrequency"]
- IrisV3 Motion Sensor: ["motion", "temperature", "humidity", "battery"]
- Iris Z-Wave Repeater: ["status", "lastRefresh", "deviceMSR", "lastMsgRcvd"]
- Keypad: ["motion", "temperature", "battery", "tamper", "alarm"]
- Lock: ["lock", "lockCodes", "codeChanged", "codeLength", "maxCodes", "battery"]
- Moisture Sensor: ["water", "temperature", "battery"]
- Motion Sensor: ["motion", "temperature", "battery"]
- Multipurpose Sensor: ["contact", "temperature", "battery", "acceleration", "threeAxis"]
- Omnipurpose Sensor: ["motion", "temperature", "humidity", "illuminance", "ultravioletIndex", "tamper", "battery"]
- Pocket Socket: ["switch", "power"]
- Power Meter: ["power"]
- Presence Sensor: ["presence", "battery"]
- Ring Doorbell: ["numberOfButtons", "pushed", "motion"]
- RGB Bulb: ["switch", "level", "hue", "saturation", "RGB", "color", "colorMode", "colorTemperature"]
- Shock Sensor: ["shock", "battery"]
- Siren: ["switch", "alarm", "battery"]
- Smart Smoke/CO: ["smoke", "carbonMonoxide", "battery", "temperature", "humidity", "switch", "level", "hue", "saturation", "pressure"]
- Smoke/CO Detector: ["smoke", "carbonMonoxide", "battery"]
- Switch: ["switch"]
- Thermostat: ["coolingSetpoint", "heatingSetpoint", "schedule", "supportedThermostatFanModes", "supportedThermostatModes", "temperature", "thermostatFanMode", "thermostatMode", "thermostatOperatingState", "thermostatSetpoint"]
- Valve: ["valve"]
- Window Shade: ["switch", "position", "windowShade"]
Note: Lock-code support is available only for locks connected to Hubitat.
HubConnect supports user-defined drivers! Have a unique device that does not fit any of the native devices? Add your own supported drivers without modifying any of the app code... Custom drivers are automatically synchronized with all connected hubs so they only have to be defined once.
HubConnect organizes device selection for effecient device management. Device counts are provided for troubleshooting and bragging rights!
Get up your hubs connected running fast... Save time by NOT installing drivers until they are needed. Select the devices you wish to connect to the remote hub and HubConnect will instruct you which drivers to install.
HubConnect Server is available for Hubitat hubs.
HubConnect Remote Client is available for both Hubitat and SmartThings hubs.
HubConnect 1.4 has been RELEASED to the Community Repository!
https://github.com/HubitatCommunity/HubConnect/blob/master/readme.txt
Please read the Installation Instructions and BACK UP YOUR HUBS before installing!!
Enjoy!