Z Wave or WiFi for Home Automation Devices

I’m moving to a new home and have the opportunity (and associated financial burden) to start from scratch with a lot of my home automation devices. I’m trying to figure out what connection protocol I should go after, Z Wave or WiFi. I’m talking for things like locks, switches, sensors etc.

I’m thinking I’d like to centralize it all in a home assistant hub. We are an Alexa family but have all Apple devices so the ability to integrate with HomeKit is appealing but not a game changer either way.

Appreciate any inputs.

I’m curious why neither Zigbee nor Thread/Matter are on your list here. (Acknowledging that Thread is barely available, and Matter was literally released days ago. But given your “green field” opportunity, they’re worth at least thinking about how they might impact the future.) I ask not because it’s essential, but because not having them on your list suggests there might be important details for your use cases or preferences that aren’t in the conversation yet.

That aside, I’d suggest starting with this video covering exactly this question (pre-Thread, but Zigbee is a useful proxy): Z-Wave vs. Zigbee vs. Wi-Fi! Smart Home Basics: How To Pick The Right Protocol - YouTube. Rob’s a science teacher, and his videos are very detailed and fast paced.

My personal preference is for Wi-Fi connected devices. You’ll find a lot of advice about keeping smart home stuff off of Wi-Fi, because it’s chatty, takes up bandwidth you’d rather use for your Netflix streaming, etc. If you’re using consumer-grade Wi-Fi equipment, that’s probably good advice. BUT.

The single best upgrade you can make to your smart home, especially given a brand new house, is to not use consumer-grade Wi-Fi. I use and recommend Ubiquity (UniFi). I’m on my third generation of UniFi equipment, over almost a decade of use. The difference between the Apple AirPort and ASUS something-or-other is night and day.

It is more complicated to set up and maintain, and it’s certainly more expensive than an all-in-one router/wireless AP. For the complexity, Rob has a bunch of videos about his Wi-Fi setup, using UniFi equipment. Another great resource (if you’re going with UniFi) is Crosstalk Solutions, also on YouTube.

As for the price, well, it’s cheaper than your new house. :wink: If you think of it as just part of the purchase price, it won’t hurt as much.

The downside of Wi-Fi is that there are very few battery-powered smart devices that use Wi-Fi, because Wi-Fi is expensive in terms of power use. Wi-Fi-connected devices that are tied into power, like switches, etc., work great, but if you need wireless e.g. motion sensors, you’ve got very limited options, and you’ll be recharging or replacing batteries pretty frequently.

For this reason, I was originally going to add in some selected Z-Wave devices, where I wanted sensors but don’t have power, or don’t want to run a cable. I liked the idea of Z-Wave because (a) it doesn’t overlap the Wi-Fi radio spectrum, and (b) it is managed by a company that insists on standards compliance if you want Z-Wave branding (kind of like Apple’s MFi program). But before I got around to buying things, Thread/Matter came along, and it feels like that’s going to kill Z-Wave first. So I’m hesitant to invest…

In the meantime, I think that Zigbee devices are generally cheaper than Z-Wave, and feel better supported in Home Assistant. (Yeah, yeah, ZHA. There’s three different ways to get Zigbee devices into Home Assistant, and the range of devices supported by Zigbee2MQTT is the longest list I know of.) So, while I wait for the Thread/Matter ecosystem to develop, I’m holding my nose and picking up a few selected Zigbee devices. (Mostly driven by my smart electricity meter, which is accessible only via Zigbee-based interfaces.)

Here’s how I’ve approached this:

  1. Home Assistant is the brains of my home automations. Everything connects to Home Assistant, even the Home Kit devices. No devices connect directly to Home Kit.
  2. Home Assistant connects as a “bridge” to Home Kit, and then Home Assistant “exports” the devices I want Home Kit to know about. I have to explicitly add items to a YAML configuration list for this to happen.
  3. I use Home Kit as a user interface only. (A lousy one at that.) That makes those devices accessible to Shortcuts, etc., if needed, though I can’t think of anything I’m doing there.
  4. All automations run on Home Assistant (with one exception detailed below).
  5. Even the Shortcuts-based automations I’ve created (mostly NFC tags that toggle lights on and off) run through Home Assistant, by making a callout to Home Assistant web hooks that trigger the real automation. (A better way would be to use the Home Assistant mobile app’s actions, that’s “on the list”…)

Why this avoidance of Home Kit? Once burned, twice shy.

I originally started with Home Kit only, and then added Homebridge / HOOBS for a few non-Home Kit devices. Then I got PO’ed at Home Kit for not having any kind of logging, debugging, or inspection tools, and simplistic automations, and abandoned it for Home Assistant. I simply could not figure out what was going wrong when there was a problem, and Home Kit made it impossible to investigate. Turning everything off and on, unpairing and re-pairing, etc. is not troubleshooting, it’s voodoo.

Home Assistant isn’t for everyone. It has a steep learning curve, is super-nerdy, is under active development with constant change, and just requires you to do more, for pretty much everything. But it’s so much more capable than Home Kit that, if you’ve outgrown Home Kit, it’s like an oasis in the desert. If home automation is an enjoyable hobby, then Home Assistant is like graduating from a circular saw to a table saw in your workshop. It’s that big a jump up. But you have to want a table saw, and find room for it. It’s not for everyone.

The one area where I’ve made use of Home Kit directly is to toggle a home/away switch when I or my wife leave or arrive. I created a virtual switch (what Home Assistant calls an input_boolean helper) that’s exported to Home Kit. Then in a Home Kit automation, for arrivals and departures, Home Kit turns the switch on or off appropriately. This tells Home Assistant that an arrival or departure has happened, triggering actual automations on the Home Assistant side.

Why do this, when Home Assistant actually has a pretty good idea of where I am (via the mobile app)?

Because my wife has zero interest in smart home anything, doesn’t use the mobile app, turns off location permissions for it, and so there’s no way to track when she’s home or away directly in Home Assistant. The virtual switch + simple automation works around it.

There’s a third-party integration for iCloud and Home Assistant, but it’s fiddly if you’ve got two-factor auth enabled, and I haven’t gotten it to work for me. And I don’t really need to know where my wife is all the time, just whether she’s home or not. I just want the house to know if it’s occupied when setting the thermostat, turn on a light when we come home at night, etc. The arrive/leave automation is dead simple, works 100% of the time, and is unlikely to break with iOS updates, changes in privacy tech, etc.

1 Like

Great info and insights @Alderete . As for waiting for thread/matter, I see you point but I just don’t want to wait that long. It seems like support and devices will take time and I don’t want to wait that long.

I’m leaning mostly towards Z-wave for the battery-life improvements and decreased RF congestion.

UniFi is on my list but there are plenty of things that I’ve lumped into the cost of the new house so a new WiFi system just isn’t in the cards. I don’t have UniFI but I am running Eero Pros so the mesh is decent…though not UniFi level.

I feel like Zigbee is the least common/hardest to find devices in my initial searches. Do you not find that to be true? I’m looking at Security based devices (locks, sensors, etc) and lighting mostly for now though I would like to expand into more things (blinds someday…talk about expensive, appliances, etc). So what are the “three different ways” you can get Zigbee into HA?

I feel like your HomeKit assessment is a common-sentiment and exactly my main reasons for not really planning to use much of it. HA really seems to be the best option out there for a Home Automation brain. What hardware do you run it on? My plan was to start on a Pi with a Z-Wave dongle since I have everything I need for that.

Those are the right reasons to look at Z-Wave, I’m sure. I seem to remember reading some crazy long battery life estimates (like, five years?) for some types of sensors. IIRC, they also have the best range. But no hands-on experience here.

I’ve heard great things about Inovelli Red switches, but they’ve been unobtainable for months (“legacy nodes”). I ended up going with Wi-Fi switches, and that ended my interest in Z-Wave. (Switches make the very best mesh devices, being constantly connected to power, and evenly distributed throughout a house. Z-Wave and Zigbee both benefit from that.)

Home Assistant has a built-in Zigbee integration, Zigbee Home Automation or ZHA, which is officially supported and worked on as part of the core Home Assistant package. (Z-Wave has a similar integration, Z-Wave JS.) But the best device support is via Zigbee2MQTT; supported devices here. I haven’t installed it yet, but this is the way I’m going to go. Numerous great videos on YT for doing it; I recommend Everything Smart Home and Mark Watt Tech as good places to start (they both cover tons of HA topics, including all the different wireless protocol options).

The “third” option for Zigbee is using some kind of bridge device + service, like the Aqara Hub and that kind of thing. Since I’m trying to eliminate bridges, rather than adding them, I’ve not researched it much.

Starting with hardware you already have is a solid plan. It lets you experiment and learn what works for you, and what doesn’t, without worrying about cost. Do make sure that you use a high quality SD card in the Pi, and take regular backups. I’ve read too many stories about SD cards getting corrupted and people losing their installs. There’s a pretty good automatic backup that can save to GDrive, Drop Box, or other remote storage.

I’m running HA on, of all things, an old (2011) Mac mini, inside a VirtualBox virtual machine (installation instructions). It’s been working well enough for ~two years, but not recommended. (It was free, but I don’t trust VirtualBox very much.) I bought an old Dell OptiPlex mini off eBay for $200, and hope to put together enough time over the Thanksgiving holiday to migrate to a “real” installation. (I picked the old Dell after watching this great hardware survey by Everything Smart Home.)

Thanks! Great resources and info. I have a 2015 MBP that I was considering re-purposing as well if my pi doesn’t prove to be up to the job.

Well I finally had some time to get HA setup and quickly realized why Zigbee or Z Wave is my preferred protocol. I have several WiFi devices (Wyze and Treatlife) for example that don’t have integrations for HA so I have no way to connect to them or automate them. Whereas Z Wave devices always talk to my HA thru my ZWave dongle.

Surprising that in research this issue never came up. You don’t run into private API access issues with Z Wave

Hope this is helpful for someone else.