Z-Wave Protocol Controller#
The Z-Wave Protocol Controller (ZPC) is source-available host software for developing Z-Wave controller products. ZPC runs on a Linux-based host and communicates with a Silicon Labs Z-Wave Network Co-Processor (NCP) through the Z-Wave Serial API. It provides Z-Wave network management, device management, monitoring, and control through MQTT publish/subscribe APIs.
ZPC supports both Z-Wave Classic and Z-Wave Long Range networks. It is a standalone Z-Wave solution with a new architecture and API, and it is not tied to a particular Z-Wave Serial API Controller firmware release.
Important: ZPC 2.0.0 is the first public release and is provided at beta quality. It has known issues and is intended for evaluation and development. Certification is planned for ZPC 2.0.1. See the ZPC 2.0.0 release notes for release-specific information.
Capabilities#
ZPC provides the host-side functionality required by a Z-Wave controller, including:
Z-Wave Classic and Z-Wave Long Range support
Network creation and management, including node inclusion and exclusion
SmartStart provisioning and inclusion
S0 and S2 security
Automatic device and endpoint interview
Z-Wave Command Class control and reporting
Network and node status monitoring
Over-the-air (OTA) device firmware updates
Persistent storage of network and device state
MQTT APIs for integration with a client application
ZPC uses a reported and desired state model. Reported values represent the latest known state of a Z-Wave device, while desired values represent the state requested by the product application. ZPC detects differences between these values and initiates the appropriate Z-Wave communication to synchronize the device state.
By providing these controller services, ZPC reduces the amount of Z-Wave controller infrastructure that product developers must implement.
Accelerated Command Class Implementation#
ZPC significantly reduces development time through code-generation capabilities. By generating standardized Command Class skeletons directly from zwave.xml definitions, ZPC eliminates the need to manually implement complex command logic, frame parsing, and MQTT interfaces. This allows engineers to focus on unique product features rather than standard implementation details.
Development and Deployment Model#
ZPC is intended for smart home hubs, security panels, residential gateways, and other Z-Wave controller products. It is built for Linux-based deployments, with macOS support available for development and testing.
A client application communicates with ZPC through an external MQTT broker. ZPC translates application requests into Z-Wave network and device operations and publishes the resulting state changes and status information over MQTT. An external Silicon Labs Z-Wave NCP provides the radio and lower-level Z-Wave protocol functionality.
For more information about the internal components and their responsibilities, see ZPC Architecture.
Getting Started#
The ZPC repository is the source of truth for current prerequisites, installation, configuration, and first-use instructions:
Links to the main branch track the latest ZPC development documentation. For version-specific behavior, limitations, and known issues, use the documentation associated with the corresponding release tag: