DeterministicESPAsyncWebServer v6.27.1
Zero-allocation, bounded-execution async HTTP server for ESP32
Loading...
Searching...
No Matches
zwave.h File Reference

Z-Wave Serial API frame codec (DETWS_ENABLE_ZWAVE) - Silicon Labs controller. More...

#include "ServerConfig.h"

Go to the source code of this file.

Detailed Description

Z-Wave Serial API frame codec (DETWS_ENABLE_ZWAVE) - Silicon Labs controller.

The host-side Serial API of a Silicon Labs 500 / 700-series Z-Wave controller reached over UART: a Z-Wave mesh bridged to the web. The host and the controller exchange data frames:

SOF (0x01) | LEN | Type | Command | Data... | Checksum

where LEN counts Type + Command + Data + Checksum, Type is 0x00 (REQ) or 0x01 (RES), and the checksum is 0xFF XOR-folded over LEN through the last Data byte. Each data frame is acknowledged by a single-byte ACK (0x06), or rejected with NAK (0x15) / CAN (0x18).

zwave_build_frame() assembles a data frame carrying a function command, zwave_parse_frame() frames + verifies one, and zwave_is_ack() / zwave_is_nak() / zwave_is_can() / zwave_build_ack() handle the flow-control bytes. The per-command payload (GetVersion, SendData, AddNodeToNetwork, an ApplicationCommandHandler report, ...) is the application's. Pure - you carry the bytes over your UART - so it is fully host-testable.

Author
Douglas Quigg (dstroy0)
Date
2026

Definition in file zwave.h.