Overview #

Z-Wave is a proprietary Protocol wireless communications protocol designed for home Building Automation, specifically to remote control applications in residential and light commercial environments.

Z-Wave is a Constrained-Node Network Protocol

The technology uses a low-power RF radio embedded or retrofitted into home electronics devices and systems, such as lighting, home Access Control, entertainment systems and household appliances.[3]

Z-Wave Mesh Network is a medium for 2-way communication between devices on the Z-Wave Network. Instead of a central controller commanding devices around the house, each Z-Wave Node is capable of sending and receiving commands from other devices and controllers. Commands can be routed from one Z-Wave Node to another throughout the house, around common household obstacles that would block other wireless systems.

Z-Wave Protocol#

The Z-Wave protocol is a low bandwidth half duplex protocol designed for reliable wireless communication in a low cost control network. The protocols main purpose is to communicate short control messages in a reliable manner from a control unit to one or more nodes in the network.

The protocol is not designed to transfer large amounts of data or to transfer any kind of streaming or timing critical data.

The protocol consist of 4 layers, the MAC layer that controls the Wireless media, the Transfer Layer that controls the transmitting and receiving of frames, the Routing Layer that controls the routing of frames in the network, and finally the application layer controls the payload in the transmitted and received frames.

A node is addressed by using two IDs:

A node is addressed by using two IDs: a Z-Wave Home ID and a Z-Wave Node ID. The Z-Wave Home ID is like a network address and the node ID is the node on the newtork address.

The Z-Wave Home ID is 32-bits wide and is unique to the network. The node ID is 8 bits wide. Both are assigned by the Z-Wave Primary Controller when it joins the node to the network.

There are four types of frames in Z-Wave: Unicast, Multicast, Broadcast, and ACK.

Physical Layer#

The Physical Layer defines the way a signal is exchanged between a transmitter and a receiver. This includes issues like frequency, encoding, hardware access, etc.

The Physical Layer consists of radio technology that is proprietary to Zensys. It uses either 868 MHz (Europe) or 908 MHZ (US) frequencies, both of which are ISM bands and are free for public usage. In both of these frequencies, the data rate is 40 kbps using a single channel with FSK (frequency shift keying) modulation. In their next generation chips, Zensys mentioned that they will also be supporting 2.4 GHz operation, although the details are not yet public.

Media Access Control Communication Layers#

The MAC layer supports Acknowledgement and retransmissions, however they seem to be application level ACKs and retries versus MAC Address level.

The Z-Wave MAC layer controls the radio Interface Layer frequency medium. The data stream is Manchester coded and consists of a preamble, start of frame (SOF), frame data and an end of frame (EOF) symbol. The frame data is the part of the frame that is passed on to the Transport Layer.

All data is transmissted in

All frames use a similar structure, consisting of header, payload, and checksum. They are sent using a simple collision avoidance mechanism that just listens for traffic. If traffic is detected, then it will do a random backoff and try again similar to Ethernet.

Network Layer#

The Z-Wave Primary Controller controls the routing table and builds it based on the devices that it joins to the network. Upon being joined to the network, the Z-Wave Primary Controller will request the node's neighbor list which consist of all node's within broadcast range. The Z-Wave Primary Controller uses this information to build the routing table.

The routing table is maintained as a binary bitmap. This means that it is a table with all joined device IDs on the row and column header. If a device A is part of device B's neighbor list, then there will be a 1 in row A, column B. Otherwise it will be a zero.

The good thing about a binary bitmap is that it is simple and also easily compressible. Thus it requires little RAM to hold the routing table. Even if the maximum table size of 232 x 232 nodes is reached, the routing table will be what's called a sparse matrix so various methods of compression can be used on it to make it small.

To send the frame, the Z-Wave Controller accesses its routing table and calculates a path from it to the destination. The Z-Wave Controller then embeds this path into the frame and sends out the frame to the first hop in the path. The Z-Wave Node then successively forward the frame based on the path embedded inside it. This method of routing is called source routing, as opposed to table-based routing methods.

Transport Layer#

The Transport Layer function is to make sure that a message can be exchanged free of error between two wireless nodes. The end user cannot influence functions of this layer but the results of this layer are visible.

Application Layer#

The Application Layer is responsible for decoding and executing commands in a network.

The Application Layer accomplishes this using command classes and application frames. They are a group of related commands for a certain application.

Some examples are: advanced light control, thermostat, or garage control. They mostly consist of GET/SET/REPORT functions.

Application frames are embedded inside the Z-Wave frames and are decoded to send commands to the application layer. These frames carry information about the command class, the command, and the command parameters.

There is also a special frame called the node information frame. It carries all the information about the node and is used for the node discovery process.

More Information#

There might be more information for this subject on one of the following: