The truth about home automation is, there isn't a perfect hub.
Shocked? You shouldn't be.
Build something from parts designed by committee and you have the indecisive IoT industry. It's not the fault of companies like Hubitat or open source efforts like Home Assistant that have been trying to assemble these disparate bits into one cohesive solution. It's a noble goal to bring it all under a single platform, but industry fragmentation, combined with the rapid Build > Promote > Decommission cycle have continued to make it very difficult for any one company or group to completely get ahead of the curve. The Hubitat team have added an incredible number of compatible devices in just 3 years, but there are still some cloud integrations and Zigbee devices that are not yet compatible with Hubitat Elevation, or the necessary apps and drivers to make them compatible have yet to be created.
Home Assistant has been around for 7 years and in this time, the open source community has built a fairly large list of cloud integrations and support for low cost Zigbee devices like Xiaomi Aqara and Mijia devices. There's no reason not to combine this capacity for cloud integrations and low cost Zigbee devices with Hubitat Elevation’s powerful and easy to use automations. Best of all, you never have to touch YAML
Table of contents
- Building Bridges
- Requirements
- Installation
-
Setup
a. HA Long-Lived Access Token - Advanced options
- Troubleshooting
- Submitting new device support requests
Building Bridges
Fortune smiled upon us all when @ymerj took the initiative and built a fantastic foundation for @ogiewon, @tomw, and @stephack to add their excellent contributions to create Home Assistant Device Bridge. With this driver and optional app combination, Hubitat Elevation owners can now take advantage of the available device integrations from Home Assistant, and combine them with the easier to use automation and powerful capabilities found in Hubitat Elevation.
-
No virtual devices required
-
No Home Assistant automations needed
-
No MQTT broker needed
-
No individual device setup needed
-
No custom firmware flashing
-
Devices from Home Assistant appear in Hubitat Elevation, fully functional and ready for use in automations.
Requirements
-
Hubitat Elevation hub
-
Home Assistant (This isn't difficult to get setup for our goal of simply importing devices).
-
The Home Assistant Device Bridge App (Optional)
-
If you prefer, you can also get the Home Assistant Device Bridge driver and the optional app from the community built Hubitat Package Manager.
NOTE: This driver uses the Generic Component Drivers built into Hubitat Elevation. If the Generic Component Drivers do not exist on Hubitat, you may request a custom driver, but there are no guarantees this will be possible. We therefor must emphasize that specialized or complicated devices may require more direct of an integration than this integration was ever intended for.
Installation
If you've never installed an app, then you're obviously not currently using Hubitat Package Manager. You can either learn to do that first, or you can simply install the Home Assistant Device Bridge Driver and App.
NOTE: The Home Assistant Device Bridge app isn't required, but it offers many benefits that make the simple process of adding the app very worthwhile.
How to install a custom driver in Hubitat Elevation
How to install a custom app in Hubitat Elevation
Setup
Step 1 - Enter the IP address of Home Assistant and the Long-Lived Access Token (see instruction below) |
---|
* How to create a Long-Lived Access Token in Home Assistant
-
Press on your user account in Home Assistant
-
Scroll down to the bottom and select CREATE TOKEN
-
Name your token (This can be any name you want.) and then press OK.
-
Copy the token. It isn't accessible after creating it, so if you forget to record it somewhere and need it again later, just delete the old one and create a new token for use in Home Assistant Device Bridge.
Step 2 - Press Discover and select devices to poll Home Assistant for installed devices. |
---|
Step 3 - If you want to select all devices and then just de-select a few that you don't want to have on Hubitat Elevation, then it's easiest to enable the Select all devices option. The switch will turn on and then back off. This is normal and all the devices available will be selected for import to Hubitat. If you decide that's not what you want, then just enable the De-select all devices option. |
---|
- NOTE: The app will only deselect devices in the list, it will not delete created child devices. You have to delete each manually if needed.
Step 4 - Confirm and adjust which devices should be imported. You can adjust this later if you make a mistake or change your mind. |
---|
Step 5 - Press Done. In your list of Hubitat drivers, you will see the Home Assistant Device Bridge parent device (or the custom name you set in the app) and all the compatible devices from Home Assistant will begin to populate with child devices in Hubitat, upon each device update. |
---|
IMPORTANT: Devices will appear automatically when a change occurs the first time after selecting them for import to Hubitat. A device will not be added to the list of child devices under the Home Assistant Device Bridge parent driver until a change occurs on the device.
- NOTE: Only devices that currently have a Generic Component device driver in Hubitat Elevation, and are also listed in the table below as compatible with Home Assistant Device Bridge will be imported to Hubitat Elevation. The current exceptions are Generic Component Illumination and Generic Component Pressure. These will appear in Hubitat if you added the additional child device driver code linked above in the requirements section.
Example of imported child devices (each will appear on first activity after selecting them for Import to Hubitat)
Device types that can be imported by Home Assistant Device Bridge
NOTE: Color adjustments for RGB bulbs are not available.
Cover
Device Type | Generic Component Driver |
---|---|
Curtain | Generic Component Window Shade |
Garage Door | Generic Component Garage Door Control |
Shade | Generic Component Window Shade |
Devices
Device Type | Generic Component Driver |
---|---|
Climate | Generic Component Thermostat |
Device Tracker | Generic Component Contact Sensor |
Fan | Generic Component Fan Control |
Input Boolean | Generic Component Switch |
Light | Generic Component Dimmer |
Lock | Generic Component Lock |
Switch | Generic Component Switch |
Sensors
Device Type | Generic Component Driver |
---|---|
Battery | Generic Component Battery |
Energy | Generic Component Energy Meter |
Humidity | Generic Component Humidity Sensor |
Illuminance | Generic Component Illuminance Sensor |
Power | Generic Component Power Meter |
Pressure | Generic Component Pressure Sensor |
Temperature | Generic Component Temperature Sensor |
Voltage | Generic Component Voltage Sensor |
Binary Sensors
Device Type | Generic Component Driver |
---|---|
Door | Generic Component Contact Sensor |
Garage Door | Generic Component Contact Sensor |
Lock | Generic Component Contact Sensor |
Moisture | Generic Component Water Sensor |
Motion | Generic Component Motion Sensor |
Moving | Generic Component Acceleration Sensor |
Opening | Generic Component Contact Sensor |
Presence | Generic Component Presence Sensor |
Smoke | Generic Component Smoke Detector |
Vibration | Generic Component Acceleration Sensor |
Window | Generic Component Contact Sensor |
After import, devices joined to Home Assistant will be available for control from Hubitat Elevation, and can be used in Hubitat apps and Rule Machine rules, just as you would any other locally joined device. |
---|
- NOTE: This integration adds devices from Home Assistant using their Entity ID. Button devices do not create Entities in Home Assistant and cannot be imported to Hubitat Elevation. If you want to use a button device that cannot be joined directly to Hubitat, you should check out the Hubitat Integration from @jason0x43. It does the opposite of this integration and imports Hubitat devices to Home Assistant. With Jason's integration, you can create Hubitat virtual switches and share them with HA. Next, you would create an automation for each button in HA, so when a button on the device joined to HA is pressed, that will activate the virtual switch in Hubitat.
Advanced Options
Configure advanced options
- Only pass through user-selected and manually-added entities?
This option disables all filtering of entities, thus passing through all Home Assistant entity updates and is a good way to disable all filtering, either permanently or temporarily for testing. Keep in mind that this will create new child devices for any events from supported entity types.
- Manually add an entity to be included
This section allows you to manually add (or remove) an entity to be filtered by its Entity ID. This may be a quicker option for expert users, compared with scrolling and checking boxes on the main configuration page. You can use either method of adding devices and they have the same end result.
- Remove all child devices that are not currently either user-selected or manually-added
This is a cleanup method. Please use it carefully, as it will remove all child devices that Do Not appear in the filtered lists (The checkboxes on the main configuration page and the manually-added list on the Advanced options page). It will remove child devices regardless of the state of the Only pass through... switch described above.
Troubleshooting
IMPORTANT: Devices will appear automatically when a change occurs the first time after selecting them for import to Hubitat. A device will not be added to the list of child devices under the Home Assistant Device Bridge parent driver, until a change occurs on the device.
Example: A motion sensor will not appear in the list of devices on Hubitat until it is triggered for the first time after selecting it from the list of available devices from Home Assistant.
If you've added a new device to Home Assistant, but you're having trouble setting it up in Home Assistant Device Bridge, the following steps may help.
-
If you know the device Entity ID from Home Assistant, enter it manually.
-
If you do not know what the device's Entity ID is, then you should disable the Only pass through... switch. This will result in creation of new child devices, and hopefully it will include the one you want.
NOTE: Please keep in mind that enabling the Only pass through option... may also result in the inclusion of devices you do not necessarily want.
-
Once you confirm it is working, add the new one you want to one of the filtered lists, either by using the checkbox method on the main device discovery page, or by manually adding it from the advanced options page.
-
Once your lists of devices to pass through us correct, re-enable the Only pass through... switch, and then execute the Remove all child devices that are not... step.
Submitting new device support requests
IMPORTANT: Home Assistant Device Bridge is intended to support very simple devices and sensors. Locks and thermostats have been really painful to get working reliably. We therefor must emphasize that specialized or complicated devices may require more direct of an integration than this integration was ever intended for.
- Please enable logging on the parent virtual device
- Actuate your device (i.e. Open and Close, or Turn ON and Turn OFF, etc.).
- Include these debug logs with your request so we can analyze the information sent by Home Assistant through the Home Assistant Device Bridge driver (This information is essential in determining if your requested device can be added to Home Assistant Device Bridge).