I have been a long time user of Hubitat, and been really happy with it. Having time on my hands, I decided to explore Home Assistant (HA) and thought it might be beneficial to share my experience with other Hubitat users who might consider HA.
Overall, I have been so happy with HA that I have migrated as much as I could to HA while spending as little money as possible. This is everything except voice processing.
I have bought 2 ZigBee interfaces from AliExpress, and initially tried a couple of spare Raspberry Piās to host HA. My network of devices does not include Z-Wave, so did not need a Z-Wave interface. The reason for 2 ZigBee interfaces is that I have some devices that would not work with ZHA and some that did not work with Z2MQTT, so one interface for each.
The Raspberry Pi devices I tried were a 4B and 5, both with 4GB ram. Both worked great for everything except local voice processing, ie far too slow to respond. I have 37 zigbee devices in total. I did also have an old Intel i7 laptop, and this works fast enough doing local voice processing (although not using it for voice processing, but its there for if and when I do). So I use the I7 laptop and this has the added value of still working for a few hours if there is a power cut.
My opinion is that in all respects other than learning curve and voice processing, HA is superior to Hubitat, including support from a broad community of users and developers.
Regarding the learning curve, HA has far more features and options, and with that comes a greater amount of learning.
Iāll go into more depth with voice processing. A strength of Hubitat is itās free integration to both Googleās and Amazonās services (ie buy the Google/Amazon hardware, no ongoing fees after that). In my Hubitat implementation, I had 4 Google Nest Minis dotted around the home for voice processing. This setup worked very well, with the proviso that this did depend on an internet connection. To achieve using these with HA requires using the HA Cloud service with a hefty (NZ$130/year) ongoing cost to pay.
While HA comes with an option for local (ie not dependent on the internet) voice processing, this works nowhere near as well as the Google service with the different esp32 devices I have built or tried. I did all this trial work before the HA Voice Preview Edition came on the market. I have not tried this, because it is beyond my budget to buy 4 of them (total NZ$520) to replace the Google Nest Minis.
So in the end I have opted for a hybrid system for voice processing using my existing Google Nest Minis that interface to the Hubitat, which then interfaces to HA. For me, zero setup costs, zero ongoing costs. I probably need to explain that further, so here goesā¦.
First I emphasise that my solution requires a lot of time to set-up and needs a Hubitat device and Google Nest Mini(s), both of which I already have. I have not tried with Amazon Alexa devices but assume the same approach would apply. I also have implemented only switching on and off of devices. Each device to be controlled requires the following steps (Iāll use the example of a light in my bathroom).
1. In Hubitat set up a virtual switch for the device that is required to be switched on and off in HA. My naming convention is to name this as Proxy Bathroom Light. Add this to the Maker API app in Hubitat.
2. I already had my Google Home linked to my Hubitat, so no extra work for me there. But this is an essential step.
3. In Google Home set up two automations for each device, one to switch on, one to switch off. My naming convention for these is Bathroom Light Off and Bathroom Light On. Each activated by a range of voice commands. To switch on I have used āturn on bathroom lightā, āturn on light in bathroomā and ābathroom light onā. You could choose your own. The action for the switch on is to turn on Proxy Bathroom Light (ie the device name picked up from the Hubitat integration in Google Home). The Bathroom Light Off automation follows a similar pattern.
4. In HA, install the Hubitat integration and configure it to link to the Hubitat server.
5. In HA set up 4 automations for each device.
ā¦ Proxy Bathroom Light Sync Off. Triggered by the HA entity Bathroom Light changing state to on. Action is a conditional block; if the Proxy Bathroom Light device is on, turn it off.
ā¦ Proxy Bathroom Light Sync On. Triggered by the HA entity Bathroom Light changing state to on. Action is a conditional block; if the Proxy Bathroom Light device is off, turn it on.
ā¦ Proxy Bathroom Light Turned Off. Triggered by the Proxy Bathroom Light device turning off. Action is a conditional block; if the HA entity Bathroom Light is on, switch it off.
ā¦ Proxy Bathroom Light Turned On. Triggered by the Proxy Bathroom Light device turning on. Action is a conditional block; if the HA entity Bathroom Light is off, switch it on.
So a lot to do just to control a single light to switch in on and off. Iāve replicated that for a few other devices: a fan, 3 heaters, 5 other lights, a door and to set the burglar alarm on leaving.
Iām happy to answer any question on the above, and to post any code on request, but it is all simple stuff, just repetitive! Iād also welcome any suggestions on doing things better within the framework above, or any other ways I could do things better. As time passes Iāll monitor developments in HA voice offerings and, in time, maybe I will reach my goal of having that work locally and remove dependency on the internet and Google.