Thinking of using Home Assistant for just my Xiaomi Devices - Worth It?

Tags: #<Tag:0x00007f77fc605808>

Hi. I am currently using Hubitat as my main home automation hub. I use a lot of Xiaomi devices and have been having problems for a long time with drop outs. I currently use community built device handlers for integrating the xiaomi devices.
I noticed that Home Assistant has a Mi Gateway connector that allows you to connect xiaomi devices to their native gateway hub and then pass the events on to Home Assistant.
I’m wondering whether it would be worth me putting my Xiaomi devices on a Home Assistant hub and get the events forwarded to my hubitat hub (or to Web Core if thats possible)?
I’m interested to hear whether anyone has done something similar and also how reliable the Mi Gateway connector is in Home Assistant. Don’t want to jump out of the frying pan and into the fire :slight_smile:
Any advice would be appreciated. Thanks.
Ben

Check your 2.4ghz wifi channel and ZigBee channel don’t overlap.

1 Like

There are people that do this to join HA to openhab and other projects so they can use the best of multiple open source packages. Using mqtt is one way to pass the events back and forth.

1 Like

Hi’ @Ben_Iffland

Before shifting to z2m, I’ve used my Xiaomi gateway via HA integration (actually it’s was a custom integration I used)
It worked perfectly, reliable and fast (virtually no lag) for my Xiaomi buttons and window/motion sensors.
But please check that your gateway version is actually supported, before proceeding with this.

Or consider zigbee2mqtt via HA as alternative. That’s what I’m using today.

Ciao !

Thanks htvekov. Are you saying that yours is still working for Xiaomi devices?
I am planning on running Home Assistant via Windows so would I need a zigbee usb dongle? Maybe as I would be forwarding events from the Xiaopmi Gateway to HA I wont need that?

PS: I also was using the xiaomi gateway prior to using zigbee2mqtt and it was also fine.

My HA ‘production’ setup was initially with the Xiaomi Gateway for half a year or so.
I shifted to z2m integration partly to get rid of one more proprietary piece of hardware. But mainly to gather all my zigbee devices in only two networks. z2m for all my sensors, switches and buttons and all my lights on my Hue bridge.

Depending on what amount of devices you have and have planned for in future, you could either keep the Xiaomi Gateway or do the transition to z2m now (before amount of devices hit the roof :wink:)
You can get a cc2531 USB zigbee device for a few dollars. You can even get them preprogrammed today, so you don’t have to get extra programming hardware to get started. Not the best zigbee coordinator hardware, but it will do the job nicely if amount of devices is not that high.

I have no experience on running HA on a PC via Windows. I assume you wan’t to run it via Docker install then ? I’ve personally always used dedicated hw for HA. From RPi2B, RPi3B+ to Intel NUC currently. All with hass.io or Home Assistant Supervised as I believe the official name is today. Easiest HA beginner version, as add-ons is integrated and maintained by the dedicated HA environment.

Thanks for your comments. I agree with you re getting rid of proprietary hardware, although I think theres also something to be said in terms of stability and things like firmware updates for using the proprietary hw. Not sure if xiaomi/aqara issue any/many firmware updates for their sensors as never used their Gateway.
I’m not familiar with z2m at all. Is it simply a zigbee hub on a usb stick? When you mention not having too many devices on it, what are its limitations?
Also, presume that you then just integrate the z2m with HA and have usual access to the devices?
I use WebCore a lot so keen to know if you can use a z2m > integrate with HA > use WebCore?

thanks … and excuse the bombardment of questions :slight_smile:

I’ve never heard of Xiaomi actually improving and updating their sensors fw ?
But eg. Ikea does and you can actually update Ikea fw OTA using z2m :+1:

I can only say that my z2m HA integration with a cc2531 stick is rock solid and I haven’t had any issues at all. I wouldn’t think twice, if I was you :wink: zigbee2mqtt coordinator software is brilliant, has many features and support a lot of different sensors, buttons, switches and bulbs ‘out of the box’. My z2m integration is mainly populated with Xiaomi door contacts and movement sensors (hw hacked to avoid large blind time). Some temperature sensors, a lux sensor and many different buttons. Supplemented with a bunch of Ikea remotes/buttons and power outlets. A few routers and bulbs on top of that. But mainly end devices.

z2m support several hw platforms. So the limitation I mentioned is not on the software but the cc2531 stick. This USB stick is not the right choice for really large networks. For that you simply need more powerfull hw. I’ve some 30+ devices in total connected and my network is really solid. But I probably can’t add many more devices to my network, without updating my coordinator hw.

I would suggest that you read about z2m here: https://www.zigbee2mqtt.io/

And the different firmware versions here (recommendations/limitations): https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator
I personally use the ‘standard’ Z-Stack_Home_1.2 version

And a preprogrammed cc2531 can be bought here: https://www.aliexpress.com/item/4001019333366.html?spm=a2g0o.productlist.0.0.76922692nwn21U&algo_pvid=119dc4d0-a903-4c3b-bf6f-ff082c166c19&algo_expid=119dc4d0-a903-4c3b-bf6f-ff082c166c19-43&btsid=0ab50f4915904800040744143ed68d&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

But if you want to be able to flash your own coordinator/router firmware you have to get a CC debugger or equivalent. Also nice to have if fw needs to be reflashed for some reason or if you just like to tinker :wink:

z2m is integrated with HA via a HA add-on and gives you full control and access to the zigbee devices.

I expect that you can use MQTT to communicate directly with WebCore. Other users will have to comment on that part though :slightly_smiling_face: