Introduction to Z-Wave Specifications
Specification documents form a constellation in which each document defines the requirements for a given building block of a Z-Wave application.
The diagram shows how the specification documents are set together, down from the physical layers up to the most applicative layers. The dark blue color indicates Z-Wave Plus specific documents.
|Z-Wave Networking Basics Document|
Command Class Specifications
The Command Class specifications define the meaning and usage of Command Classes, for network management, transport or application purposes. A device typically implements a small subset of Command Classes depending on the application and Device Class requirements. It is therefore not recommended to read the specification in whole. It should only be referred to when implementing a Command Class.
|Z-Wave Command Class Specifications|
Device Class Specification
Device Classes are used for defining the minimum set of Command Classes that a given product must implement to ensure interoperability between devices. The Device Class specification defines Generic and Specific Device Classes.
For example, a switch that can only be switched On or Off will have the Generic type: Binary Switch. From this Generic Type, it can have several Specific Types depending on the application: power switch, scene switch, etc.
Device Classes serve as guidance to the developer and define the certification tests to be performed on the device. A device can implement additional Command Classes and they must also comply with the Command Class Specifications to pass the certification tests.
|Z-Wave Device Class Specification|
Z-Wave Plus Device Type and Role Type Specifications
The Device Class Specification is extended with the Device Type and Role Type specifications, which were developed within the Z-Wave Plus framework. The Device Type builds on Generic and Specific Device Classes from the Device Class Specifications and adds requirements to strengthen interoperability.
When creating a Z-Wave Plus product, the developer must choose a Z-Wave Plus Device Type depending on the intended application. The chosen Device Type must reflect Z-Wave functionalities and not physical product appearance. For example if the intended product is a TV, which should be used as a Gateway, the Device Type must be Gateway and not TV. If several Device Types seem to match the product needs, the Device Type must be selected based on the best match and some additional features may be added for the application needs.
Afterwards, the developer must choose a Z-Wave Plus Role Type that is allowed for the actual Z-Wave Plus Device Type. The Role Types Specification defines the networking and battery requirements for a device. Based on the Role Type, nodes can be either Controllers or Slaves.
Controllers must be capable of setting up and performing maintenance operations in a Z-Wave network.
Slaves do not offer any network setup or maintenance function. Slave can only be added or removed from a network by a controller. Slaves can nevertheless send commands to other nodes and “control” others at the application level.
|Role Type & Device Type Specifications|
The protocol API and the Software Developer’s Kit (SDK) is a software implementation running on Silicon Labs chips. It enables developers to use the Z-Wave protocol with API functions and therefore build applications in a fast and cost effective manner.
The SDK contains among others:
- Z-Wave API libraries (both for controllers and slaves)
- Z-Wave Plus sample applications
- PC sample applications
Programming boards and chips are provided with the SDK.
The SDK implementation is compliant with RF and protocol requirements mandated by both Z‑Wave and Z‑Wave Plus specifications. The implementation and sample application intends to show development best practices. For more details about the SDK, visit Z-Wave SDK
There is also a Z-Wave Controller development kit, which aims at creating controlling applications for Smart TVs, PCs, tablets and smart phones. It contains a Z/IP Gateway application, libraries and apps. For more information, visit Controller Devkit.
Z‑Wave over IP (Z/IP)
The Z/IP architecture allows Z‑Wave nodes to be represented as IP hosts, which can be discovered via mDNS, the standard LAN Service Discovery mechanism, and can exchange Z‑Wave application commands via the standard Z‑Wave UDP port assigned by the IANA.
The Z/IP Gateway may operate as a native IPv6 router, presenting the Z‑Wave network as an IPv6 subnet, or it may operate in compatibility mode in existing IPv4 infrastructures, requesting an IPv4 LAN address for each Z‑Wave node.
Thus, a Z/IP client sends IP packets to the IP address of a Z‑Wave light dimmer just as IP packets are sent to a network printer. In the same way, a Z/IP Client discovers a Z‑Wave light dimmer just as it discovers a network printer.