DEV Community

JF Gagnon
JF Gagnon

Posted on

Home Automation: Choosing Wireless Protocol

I’m somewhat a professional in wireless, but I also wanna make it short.
Home Assistant gives you the luxury to pick your devices from any vendor that uses any wireless technologies. So before you pick between Wiz’s Wi-Fi, Philip’s Zigbee or Jasco’s Z-Wave, read this!

Without talking OSI layers, communication works in 3 stages: Frequencies, Protocol and Format. OK, I made up these term, please don’t sue me.

Frequencies

Here’s the frequencies your devices can use: 315MHz, 433MHz, 815MHz, 2.4 GHz, 5GHz. The protocol will dictate which frequency you will be using. This is important because if you have unreliable Zigbee connection, maybe switching to Bluetooth will not help you.
Frequencies are like walkie talkie. After many active users on the same frequencies, it becomes hard to find a silence to talk. Your neighbor and companies may use these channels, so you have no control over that. Keep in mind most technologies are fine co-existing on the same frequencies, as long as it’s not too crowded.

Lower frequency: Higher range, Worse wall penetration.

Higher frequency: Lower range, better wall penetration.

Protocol

Zigbee: Operates in 2.4GHz. All channels overlap a with Wi-Fi, some of them less. Forces the Zigbee Format. Some Zigbee devices acts as a relay, usually battery-less devices. Quite Secure. Good for battery.

Z-Wave: Operate in 815MHz. Only two channels but very few devices uses these frequencies. Also forces Z-Wave format. Some Z-Wave devices acts as a relay. Secure. Good for battery.

Wi-Fi: Operates in 2.4GHz, 5GHz. You already have a router/AP, so no need for a hub. Many format (all based on IP but still). No relay, but multi-access-points Wi-Fi system exists. Quite secure. Terrible for batteries.

RF: Operates in 315 or 433 MHz. One channel. Technically has many format. No relay. Not secure. Good for batteries. High range, low wall penetration.

Bluetooth: Operates in all 2.4GHz channels, therefore quite resistant to interference. Many format, except for speakers/headphone. Some manufacturer made Bluetooth relays. Secure. Good for batteries.

Obscure: Some devices, like Wyze sensors uses their own RF technologies with unknown channel and technologies.

Infrared: Requires line of sight. Used in TV remotes. Your neighbor cannot mess with this one! Not secure. Good for batteries.

Wired: Great for applications where failure is not acceptable, such as a security system. Secure (even if unencrypted). No batteries required.

Format

Once the data is sent over the air and received, it’s still a bunch of 0 and 1. To do something with it, we must understand which 1 means what. This is important because we know a Zigbee light bulb will play nicely with your hub because it talks the same language. In contrast, Wi-Fi light bulb will speak in “IP”, but will requires HA to have an appropriate code to interact with it. There are no standard for Wi-Fi light bulb (that is, until Thread saves the day)

Local Network/IP: Some devices, like Wiz, allow local devices to discover light bulb and control them directly. Some other devices, requires a Wireless-To-Network hub, but this hub is locally controllable too. All brands have their own format, requiring their own software module to interact with it (that is, until Thread saves the day)

Cloud: If your vendor have a cloud and makes it accessible to you, check if Home Assistant have a module for it! All vendors have their own API (format)!

Zigbee/Z-Wave: Standard protocol, although some brands may use proprietary action ID to do some things. Philips Hue “power on behaviour” requires such thing, and thus, very hard to make it work.

RF: For remotes, very standard. For other applications, it is very non-standard and will requires special software module or even RF Radio receiver.

Bluetooth: Unless I’m wrong, they are all non-standard, requiring a software module (or a vendor-specific hub) (that is, until Thread saves the day)

Obscure: Non-Standard.

Infrared: I only know of remotes, and remotes have their own codes (ie 0x813b = ON, 0x1333 = OFF). However, you can just read the code and replicate it. So in this way, very standard.

Wired Relay: Why bothering with Bluetooth & Hubs for motion sensor when you can use very reliable wired motion sensor? Oh yeah I remember why. There are no devices that does general input for such devices. I will make a post about how to DIY one. Until then, at least, you can use one of the many ESPHome relay/plug to power on and off things.

Do not buy in bulk

Wireless if finicky. It may not work where you are. I have trouble with Bluetooth and Zigbee at my apartment, and replacing all the devices I bought was painful.

Instead, buy a few, install the hub, relays and motion sensors at expected distances. Then monitor it. Does the connection drop? Does the motion sensor trigger when nobody’s home? Is the battery drained in 2 weeks? Once you thoroughly tested, then you should consider expending!

Winners

🥇 If you can, locally controllable wired devices will offer reliability and security.

🥈 If wireless if mandatory, Z-Wave is expensive but seems to be very reliable. The frequency is quite isolated from other tech and the protocol seems fast.

🥉 My third choice go to ESPHome over Wi-Fi. If my Wi-Fi is unreliable, I will want to fix that reguardless. ESPHome is local only (secure), static (vendor cannot push changes) and hackable (advanced users can do whatever). You can go on esphome-devices if you have the skills. If you are a beginner, simply order ESPHome Athom devices. All you need to do is to connect to it, enter your home Wi-Fi credentials, then Home Assistant will be able to detect it and interact with it. I am not paid by them, just a big fan.

Top comments (0)