Smart Home Enthusiast's Guide to ZigBee
What is Zigbee?
Zigbee is a low power, low data rate Wireless Personal Area Network (WPAN) protocol designed to streamline communication between connected devices regardless of manufacturer. Zigbee, like it’s competitors, aims to be a single communications standard that ties the Internet of Things together, simplifying the dizzying array of proprietary APIs and wireless technologies used by device makers over the years.
The specification and certification process is administered by the Zigbee Alliance, now rebranded as the Connectivity Standards Alliance, an industry group composed of over 500 companies. Not all of these members are involved in the development of Zigbee technologies as there are differing levels of membership. While Adopter members have access to the specification and standards, only Participant members have a say in ongoing changes to the program.
The alliance came into being in 2002, ratifying the first version of Zigbee in 2004. 2006 saw a significant improvement to the specification with the addition of an application layer called Cluster Library which provides standardized sets of commands for different device classes. This library was renamed in 2017 to Dotdot.
The network layer was enhanced in 2007 with the addition of Zigbee PRO, which provides greater interoperability between network protocols such as the IP and Thread. This change was fully unified with application layer enhancements in 2014 under the label of ZigBee 3.0, which is the current specification for the protocol.
How Does It Work?
Zigbee, like other communication protocols, is actually composed of a number of layers that for what is known as a protocol stack. Each layer adds a level of abstraction and functionality to the ones below, ultimately simplifying the use of the stack for developers by taking care of the lower layers of communication functionality without the need to explicitly write those functions themselves.
In the case of Zigbee there are four recognized layers; The radio communication layer, which is based on the IEEE standard 802.15.4, the network layer provided by Zigbee PRO, the application layer Dotdot, and the certification layer which governs compliance with the Zigbee Alliance standards
The physical radio layer, 802.15.4, is a global standard for Low Rate Wireless Personal Area Networks, or LR-WPAN, and is actually used by a number of similar communication technologies including Z-Wave and Google’s Thread. Using a common hardware standard at this layer enables device makers to leverage commodity hardware components knowing they will be broadly compatible, and cost effective.
The combined Zigbee stack offers a number of substantial benefits to device makers and consumers. Among these are very lower power requirements, self-healing mesh networking, and standardized application command libraries.
The latter is significant as it’s not a feature of all communication protocols on the market, but is essential to enabling full device interoperability. While devices may be using the same network protocol and technically be able to send data between one another, without a common application layer they have no way of actually ‘talking’ in a meaningful way.
The use of mesh networking enables more reliable operation of Zigbee networks over point-to-point protocols like WiFi and Bluetooth. Each device on the network can automatically acts as a repeater, and the loss of any given device can be routed around by other devices in the same mesh.
Devices fall under three defined types. A Zigbee Coordinator, a Zigbee Router, or a Zigbee End Device.
The Coordinator type is the central coordination point of a given Zigbee network. It’s typically the device the creates the network in the first place, and stores all the security keys. This will usually be a hub, bridge, or smart home controller of some kind.
The Router is a typical Zigbee device, and is able to extend the network further from the Controller. These devices typically have access to more reliable power, as they need to be more active to perform their role. A good example of a Router would be a powered light bulb.
Finally, a Zigbee End Device is the simplest type, requiring the least power and memory to perform only basic functions. This types exists to support devices like smart switches and sensors that need only send a notification when a specific event occurs. This ensures very long battery life in a compact form factor as the device can be asleep most of the time.
The low power requirement is a key certification goal of the Zigbee standard, which requires battery powered devices to demonstrate a 2 year battery life. Further than this ZigBee now supports Green Power, which enables the use of a variety of energy harvesting technologies to deliver battery-less devices such as light switches powered only by the mechanical force of pressing the switch itself.
Communication between devices is enabled by the use of the standardized commands sets defined in the application profiles. These profiles are part of the application layer (Dotdot), and can be added to independently of the overall protocol version. Each device can use the defined command sets to send and receive instructions and notifications over the network with other devices. Complementary data flows are matched using the cluster identifiers unique to each profile, and these matchings are stored in binding tables held by the Zigbee Coordinator to be used by all devices on the network to lookup available devices for any given operation.
ZigBee PRO provides for communication over both 2.4 GHz and sub-GHz ISM bands. This provides for flexibility in the deployment of networks in differing commercial environments. In the smart home, though, Zigbee typically utilizes only the 2.4 Ghz band giving it a practical range of up to 100m.
Secure communication has always been a key objective of the Zigbee Alliance, and the security features of the protocol have evolved over time. Communication between devices is secured via 128 bit AES keys, and administered by a trust center. The trust center role is typically performed by a Zigbee Coordinator device.
There are three types of keys used in the protocol stack. A master key used to protect key exchange between two devices, a link key used to secure general communication between two specific devices, and a network key used to secure broadcast messages on the network.
The broad use of encryption through the stack ensures fairly robust security, but only between devices. The communication between layers in the stack on a given device are not encrypted. There is also a moment of vulnerability in a typical residential network on adding a new device.
In many cases a new device won’t have a means to be provided a network key manually, in which case the trust center will send it one unencrypted as part of the initial association process. The exposure is brief, so the risk is low considering an attacker would have to be in range, and listening for the key message during a window of only a few seconds.
There are a handful of comparable communication protocols with significant adoption or making inroads. All have the same goal of providing a single network medium for smart devices to communicate effectively.
A common feature of these protocols is mesh networking, with Thread, Z-Wave and Insteon touting the same capabilities. Z-Wave and Insteon both operate on the 900 Mhz ISM band, which creates some complexity in that the legal frequency allocation for this band varies by country. Z-Wave supports 4 different frequency blocks, which can create compatibility issues when sourcing devices from other countries.
Insteon has the unique feature of coupling wireless communication with powerline repeaters. This allows you to extend the network to dead zones in the house by plugging in a repeater to a power socket and using the electrical wiring in the house as a network. Powerline network technology is not new, but it’s use in this way is interesting.
How To Get ZigBee
ZigBee is well deployed in the smart home industry, with devices available from many brands. The key component to get started is a Zigbee certified controller which will provide a network for other devices you choose to add. The controller will also normally serve as a bridge onto your normal home network, so that you can access and control your Zigbee devices through apps and voice assistants.
The controller you choose will likely also determine other aspects of your smart home setup, although in some cases it can be used effectively in conjunction with other hubs. Good options for a full smart home controller include:
Amazon Echo Plus or Echo 4th Gen
Some products require offer bridges tailored to their specific product range, these types of hub only offer some application protocols and not the full range of device options, but may also provide functionality that you wouldn’t get from a generic controller. Add-on hubs and bridges to extend your smart home with Zigbee include:
Zigbee has been around for a good number of years and continues to be actively developed by a large group of invested stakeholders. It’s also been endorsed as the protocol of choice by the Connected Lighting Alliance, composed of most major lighting vendors.
While the goal of standardizing communications between smart devices is a noble one, the presence of stiff industry competition trying to achieve the same outcome continues to hamper the alignment of device makers under one approach. Nonetheless, Zigbee is a comprehensive and proven technology that continues to see wide adoption both in the home and commercially.
The simplicity of deployment, coupled with the enhanced reliability of a low power mesh networking solution is a boon to smart home enthusiasts. Long battery life (or indeed no batteries), reliable connectivity, and decent security all contribute to a more flexible and adaptable smart home experience in the long run.