UPDATE: Mira is now available for public use: See the link here:
What it does
Allows for the mirroring of devices that are owned by Hubitat to be mirrored to virtual devices in SmartThings.
The device creation is only one way (real devices in SmartThings aren’t reflected back in Hubitat) but control and updates are bidirectional.
You can turn on a switch in Hubitat and it will show on in corresponding SmartThings virtual device. And vice-versa. Dimming the virtual switch in SmartThings will request that Hubitat do the dimming and report back its new state.
Sensor data of shared devices is reflected near-time in SmartThings.
Device types supported
Switch
Dimmer Switch
Thermostat
And Sensors:
Motion Sensor
Motion / Illuminance Sensor
Leak Sensor
Leak / Temperature Sensor
Temperature Sensor
Temperature / Humidity Sensor
Contact Sensor
Contact / Temperature Sensor
Carbon Dioxide Sensor
CO2 / Temperature Sensor
CO2 / Temperature / Humidity Sensor
Smoke Detector
CO Detector
CO Detector with Temperature and Humidity
Illuminance Sensor
Presence Sensor
NOT (YET) SUPPORTED:
Button
Fan Controller
Garage Door Controller
Lock
Bulb
Shade/Blind
Sound Sensor
More are possible, these are just the first pass.
How to setup
Requires a Hubitat Hub (any model that supports Maker API) on the same network subnet as SmartThings hub.
Uses the Maker API on Hubitat side (built in app, nothing to install).
In Hubitat, create a new instance of the Maker API selecting the specific devices you want to be shared with SmartThings.
On SmartThings, install Edge driver. After “Scan Nearby…” , a virtual device for the Hubitat Hub will be created. On its Settings page, input the URL of the Hubitat instance and its access token.
For each device shared with SmartThings that matches a supported device type, a separate virtual device will be created on the SmartThings side.
How might I use it
I’m planning on using it for sharing devices that only live on Hubitat with my existing SmartThings ecosystem (app, routines, etc). Looking for input on other ideas here!
Cool, I was wondering if someone would figure this out.
Similar idea to the HA Device bridge, but the other way.
I’d be interested in trying that out.
I’ve been toying with moving some of my lights, etc back over to Hubitat.
Ideally I’d love to be able to use something like this to expose my ST devices to Hubitat to be able to use Hubitat’s rule builders to make more complicated rules (ST Routines aren’t cutting it for some things).
Not sure if something like that would be possible in the future.
Just to be clear, you cannot automatically create a Hubitat device from ST, so you have to do it manually from the Hubitat interface. But a ST device can have a matching virtual Hubitat device mirrors the ST device, and vis-versa? Right?
Real device (call it ST-D1) lives on ST. For example, a switch.
Create a virtual switch device on Hubitat. Call it HE-V1. Add HE-V1 to the list of devices to export to ST.
The interface module will create a corresponding virtual switch on the ST side (call it ST-HE-V1). Changes to ST-HE-V1 will be reflected to HE-V1 and vice versa.
Create routines on ST-HE-V1 for on and off that will update ST-D1’s actual on and off state.
Create routines on ST-D1 for on and off that will update ST-HE-V1’s actual on and off state.
Now if you turn the real device ST-D1 on, the ST-HE-V1 virtual device will request that the Hubitat HE-V1 device turns on.
If you turn the Hubitat HE-V1 virtual device on (manually or with rules), then that state will be reflected first to ST-HE-V1 and then via routines to ST-D1.
Its a bunch of chaining, but its possible…
Device creation (and ownership) is done in Hubitat. They can be zwave, LAN, virtual, doesn’t matter. When you mark that Hubitat device as “shared” in the Maker API control panel, it will be created on the SmartThings side as a mirrored virtual.
Sensor updates (temperature, contact, etc) to the Hubitat device are reflected near time to the SmartThings mirrored virtual device.
Device updates (on/off/level) to either the Hubitat device OR the ST mirrored virtual are reflected in the other.
Currently no, as I don’t have support for momentary button devices. Buttons are a bit of a pain due to all the iterations of pressed, held, etc plus number of buttons. For these first rounds of testing I’m limiting to less complex device types.
I’d love to beta test this. I have a fairly complicated SmartThings configuration and I’m moving off components of it to Hubitat that rely on Smartapps, like my vent automation. If I can expose switches on either side of Smartthings and Hubitat I can sync modes which would be ideal to have them controlled by one hub, like Smarthings.
I’ve been running SmartThings & Hubitat for a while now, and for the Hubitat → SmartThings connection I’ve been using web requests to the SmartThings REST API. Still, I’m watching this thread with interest to see what @csstup has planned.
It there perhaps a tutorial or explanation somewhere that you know of where I can learn how to do this? I’m using @TAustin’s fantastic Envisalink drivers and would like to sync the panel status and motion sensors to Hubitat.
By the way, it would be fantastic if this solution could work both ways. The current hub connection solutions will stop working with the demise of groovy and I’ve noticed many asking for a replacement solution. It seems many people run the Smartthings & Hubitat together.
If you already have Hubitat, go to Apps–>Maker API. Under Local URLS can you find the commands to query and control Hubitat devices using a http get request