z-wave
Not open proprietary protocol from Sigma Designs outside NDA.
Chips are only avaible from Sigma Designs and the partner Mistumi.
Z-Wave (PHY Layer) is a sub-1Ghz protocol.
Controller devices and slave devices with a reliable power source participate in message forwarding up to four hops and they are always listening.
Application Layer
Header[1B] – Cmd. class[1B] – cmd.[1B] – Command class data [xB]
COMMAND_CLASS_BASIC
COMMAND_CLASS_BATTERY
COMMAND_CLASS_WAKE_UP
COMMAND_CLASS_CONTROLLER_REPLICATION
COMMAND_CLASS_SWITCH_MULTILEVEL
COMMAND_CLASS_SWITCH_ALL
COMMAND_CLASS_SENSOR_BINARY
COMMAND_CLASS_ALARM
COMMAND_CLASS_MULTI_CMD
COMMAND_CLASS_CLIMATE_CONTROL_SCHEDULE
COMMAND_CLASS_CLOCK
COMMAND_CLASS_ASSOCIATION
COMMAND_CLASS_CONFIGURATION
COMMAND_CLASS_MANUFACTURER_SPECIFIC
COMMAND_CLASS_SCENE_ACTIVATION
COMMAND_CLASS_SCENE_ACTUATOR_CONF 0x2C
COMMAND_CLASS_MANUFACTURER_SPECIFIC 0x72
COMMAND_CLASS_VERSION 0x86
COMMAND_CLASS_MANUFACTURER_PROPRIETARY 0x91
COMMAND_CLASS_NODE_NAMING
COMMAND_CLASS_POWERLEVEL
COMMAND_CLASS_MARK 0xEF
COMMAND_CLASS_HAIL 0x82
COMMAND_CLASS_MULTI_INSTANCE 0x60
COMMAND_CLASS_SENSOR_MULTILEVEL 0x31
COMMAND_CLASS_SWITCH_BINARY 0x25
General Device classes:
Hex Value | Value | Description | Key |
---|---|---|---|
0x01 | 1 | General controller | BASIC TYPE CONTROLLER |
0x02 | 2 | Static cont roller | STATIC CONTROLLER |
0x03 | 3 | BASIC TYPE SLAVE | |
0x04 | 4 | BASIC TYPE ROUTING SLAVE | |
0x08 | 8 | Thermostat | GENERIC TYPE THERMOSTAT |
0x10 | 16 | Binary switch | BINARY SWITCH |
0x11 | 17 | Multi level switch | MULTI LEVEL SWITCH |
0x12 | 18 | GENERIC TYPE SWITCH REMOTE | |
0x13 | 19 | GENERIC TYPE SWITCH TOGGLE | |
0x17 | 23 | GENERIC TYPE SECURITY PANEL | |
0x20 | 32 | Binary sensor | BINARY SENSOR |
0x21 | 33 | Multilevel-Sensor | MULTILEVEL SENSOR |
0x31 | 49 | Meter | METER |
64 | GENERIC TYPE ENTRY CONTROL |
ZWave Protocol Commands
Name | Hex | Dec |
---|---|---|
NO OPERATION | 0x00 | 0 |
NODE INFO | 0x01 | 1 |
REQUEST NODE INFO | 0x02 | 2 |
ASSIGN IDS | 0x03 | 3 |
FIND NODES IN RANGE | 0x04 | 4 |
GET NODES IN RANGE | 0x05 | 5 |
RANGE INFO | 0x06 | 6 |
CMD COMPLETE | 0x07 | 7 |
TRANSFER PRESENTATION | 0x08 | 8 |
TRANSFER NODE INFO | 0x09 | 9 |
TRANSFER RANGE INFO | 0x0A | 10 |
TRANSFER END | 0x0B | 11 |
ASSIGN RETURN ROUTE | 0x0C | 12 |
NEW NODE REGISTERED | 0x0D | 13 |
NEW RANGE REGISTERED | 0x0E | 14 |
TRANSFER NEW PRIMARY COMPLETE | 0x0F | 15 |
AUTOMATIC CONTROLLER UPDATE START | 0x10 | 16 |
SUC NODE ID | 0x11 | 17 |
SET SUC | 0x12 | 18 |
SET SUC ACK | 0x13 | 19 |
ASSIGN SUC RETURN ROUTE | 0x14 | 20 |
STATIC ROUTE REQUEST | 0x15 | 21 |
LOST | 0x16 | 22 |
ACCEPT LOST | 0x17 | 23 |
NOP POWER | 0x18 | 24 |
RESERVE NODE IDS | 0x19 | 25 |
RESERVED IDS | 0x1A | 26 |
UNKNOWN | 0x1B-0x1F | 27-31 |
Devices declare the supported command classes during the inclusion process, as part of the node information frame that is sent as a broadcast any time the node action button is pressed or as a response to a controller “get node information” command.