What is it?
- Mira is a SmartThings Edge driver that allows devices on a local Hubitat Elevation hub to be “mirrored” back to SmartThings.
- Communication between the two hubs is completely local, the cloud is not used.
- Mira will create a virtual device in SmartThings for each Hubitat device “mirrored” to it. These virtual devices can be operated on just like real devices and will sync bidirectionally in real time.
Device types supported
- Switch
- Dimmer Switch
- Thermostat
- eTRV
- Button
- Lock
- Smart Bulb
- Shade/Blind
And Sensors:
- Motion Sensor
- Motion / Illuminance Sensor
- Motion / Temperature / Humidity / Illuminance Sensor (4 in 1)
- 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:
- Fan Controller
- Garage Door Controller
- Sound Sensor
- Power/energy monitoring for outlets
- RGB Color for Smart Bulbs
Use cases:
- Migrating between SmartThings and Hubitat, allows HE devices to be mirrored back during the transition.
- Use the SmartThings app as a dashboard for your Hubitat devices.
- Combine the best of both SmartThings and Hubitat’s worlds
Installing the Mira driver on SmartThings
- Sign up using the CStup Edge Driver Invitation link.
- Click ACCEPT.
- Add the Mira driver to your hub.
To setup Hubitat:
- I suggest creating a separate instance of the Maker API to use with Mira. From the main screen: Apps → Add Built In App → Maker API
- Label this Maker API instance whatever you’d like. I chose “Maker API for SmartThings Mira”
- Select devices you wish to mirror. Only supported device types will be created on the ST side. Try to just do one or two devices to start with. You can always add more later.
- Click DONE to save the new instance of the Maker API.
- Go back into the instance you just created, your URL and your access token are needed from this screen. Scroll down to the LOCAL URL section.
- Make a note of your URL prefix (yellow) and access token (green), you’ll need those to enter into the Mira driver.
To setup SmartThings/Mira:
-
After you’ve installed the driver, do a “+” → Add device → Scan for nearby devices. The UI should show Hubitat Mira created after a few seconds. It will be created in the same room as your main ST Hub is in.
-
Go to your new Hubitat Mira device, click it to view its details. It will display “Not Connected” and offline.
-
Select the 3 dot menu, Settings.
-
In the “Hubitat Maker API URL” field, input your URL displayed by Hubitat. Example is shown in yellow above. Pattern should be
http://xxx.xxx.xxx.xxx/apps/api/zzz
where xxx is your IP address and zzz is a numeric instance of the Maker API. -
In the “Hubitat Maker API Access Token” field, input your access token displayed by Hubitat. Example is shown in green above. Fill in using hyphens as shown. I’m not sure if its case sensitive, for now make it match what Hubitat displayed.
-
Exit from Settings. The status should change to “Connected” and any supported devices you mirrored will be created.
To use:
- Refreshing the mirrored devices (swipe down on the virtual device detail page) will fetch the current values from Hubitat.
- Refreshing the Hubitat Mira device (swipe down on detail page) will refresh the current devices the Maker API instance has mirrored, updating or creating new ones as needed. Use this if you add devices to Hubitat later.
- You should be able to create routines and logic similar as you would with any other virtual device.
- Updates to the mirrored device will sync to Hubitat. When Hubitat completes the update it will notify Mira of the new state.
Some notes:
- Error handling is good but not perfect yet.
- It’s possible that some devices you try to mirror won’t be picked up correctly or will be missing attributes.
- If you change a device type in Hubitat after its been mirrored, Mira will try and convert it to the new type. Note that the name won’t change. You’ll need to update the name manually. Any routines that relied on the old attributes will be removed.
- If this driver was useful to you, maybe you’d like to buy me a coffee.. Thanks!
Please let me know any questions or issues.