ZWave Command Classes
On a ZWave's properties you'll find 2 values to show what the device can do (values in decimal):
Capabilities 209,140,0,4,17,1,L,R,B,RS,|38,39,112,114,115,117,134, Version 6,1,91,3,11
The first six numbers in capabilities are reported by the ZWave ZW_GetNodeProtocolInfo function (0x41):
Capability Security Reserved Basic Device Class Generic Device Class Specific Device Class
These flags are determined by the bit patterns found in the two bytes: Capability and Security:
L : Listens R : Routes B : Beams RS : Routing Slave W1 : Requires beaming
If the Capability is >= 128 then the device listens for commands, otherwise it's a battery operated device that only wakes up occasionally.
The version is what's reported by the COMMAND_CLASS_VERSION command VERSION_REPORT. There are 5 values: Z-Wave Library Type, Z-Wave Protocol Version, Z-Wave Protocol Sub Version, Application Version, Application Sub Version. The Application version is specific to the device and not defined by Z-Wave.
The library types are:
CONTROLLER_STATIC 1 CONTROLLER 2 SLAVE_ENHANCED 3 SLAVE 4 INSTALLER 5 SLAVE_ROUTING 6 CONTROLLER_BRIDGE 7 DUT 8
The protocol version and sub-version are the version of the Z-Wave library, and they are listed here: ZWave Protocol Version
After the '|' in Capabilities are the supported command classes, which are as follows:
Name | Hex | Dec |
---|---|---|
COMMAND_CLASS_NO_OPERATION | 0x00 | 0 |
COMMAND_CLASS_BASIC | 0x20 | 32 |
COMMAND_CLASS_CONTROLLER_REPLICATION | 0x21 | 33 |
COMMAND_CLASS_APPLICATION_STATUS | 0x22 | 34 |
COMMAND_CLASS_ZIP_SERVICES | 0x23 | 35 |
COMMAND_CLASS_ZIP_SERVER | 0x24 | 36 |
COMMAND_CLASS_SWITCH_BINARY | 0x25 | 37 |
COMMAND_CLASS_SWITCH_MULTILEVEL | 0x26 | 38 |
COMMAND_CLASS_SWITCH_MULTILEVEL_V2 | 0x26 | 38 |
COMMAND_CLASS_SWITCH_ALL | 0x27 | 39 |
COMMAND_CLASS_SWITCH_TOGGLE_BINARY | 0x28 | 40 |
COMMAND_CLASS_SWITCH_TOGGLE_MULTILEVEL | 0x29 | 41 |
COMMAND_CLASS_CHIMNEY_FAN | 0x2A | 42 |
COMMAND_CLASS_SCENE_ACTIVATION | 0x2B | 43 |
COMMAND_CLASS_SCENE_ACTUATOR_CONF | 0x2C | 44 |
COMMAND_CLASS_SCENE_CONTROLLER_CONF | 0x2D | 45 |
COMMAND_CLASS_ZIP_CLIENT | 0x2E | 46 |
COMMAND_CLASS_ZIP_ADV_SERVICES | 0x2F | 47 |
COMMAND_CLASS_SENSOR_BINARY | 0x30 | 48 |
COMMAND_CLASS_SENSOR_MULTILEVEL | 0x31 | 49 |
COMMAND_CLASS_SENSOR_MULTILEVEL_V2 | 0x31 | 49 |
COMMAND_CLASS_METER | 0x32 | 50 |
COMMAND_CLASS_ZIP_ADV_SERVER | 0x33 | 51 |
COMMAND_CLASS_ZIP_ADV_CLIENT | 0x34 | 52 |
COMMAND_CLASS_METER_PULSE | 0x35 | 53 |
COMMAND_CLASS_METER_TBL_CONFIG | 0x3C | 60 |
COMMAND_CLASS_METER_TBL_MONITOR | 0x3D | 61 |
COMMAND_CLASS_METER_TBL_PUSH | 0x3E | 62 |
COMMAND_CLASS_THERMOSTAT_HEATING | 0x38 | 56 |
COMMAND_CLASS_THERMOSTAT_MODE | 0x40 | 64 |
COMMAND_CLASS_THERMOSTAT_OPERATING_STATE | 0x42 | 66 |
COMMAND_CLASS_THERMOSTAT_SETPOINT | 0x43 | 67 |
COMMAND_CLASS_THERMOSTAT_FAN_MODE | 0x44 | 68 |
COMMAND_CLASS_THERMOSTAT_FAN_STATE | 0x45 | 69 |
COMMAND_CLASS_CLIMATE_CONTROL_SCHEDULE | 0x46 | 70 |
COMMAND_CLASS_THERMOSTAT_SETBACK | 0x47 | 71 |
COMMAND_CLASS_DOOR_LOCK_LOGGING | 0x4C | 76 |
COMMAND_CLASS_SCHEDULE_ENTRY_LOCK | 0x4E | 78 |
COMMAND_CLASS_BASIC_WINDOW_COVERING | 0x50 | 80 |
COMMAND_CLASS_MTP_WINDOW_COVERING | 0x51 | 81 |
COMMAND_CLASS_ASSOCIATION_GRP_INFO | 0x59 | 89 |
COMMAND_CLASS_DEVICE_RESET_LOCALLY | 0x5A | 90 |
COMMAND_CLASS_CENTRAL_SCENE | 0x5B | 91 |
COMMAND_CLASS_IP_ASSOCIATION | 0x5C | 92 |
COMMAND_CLASS_ANTITHEFT | 0x5D | 93 |
COMMAND_CLASS_ZWAVEPLUS_INFO | 0x5E | 94 |
COMMAND_CLASS_MULTI_CHANNEL_V2 | 0x60 | 96 |
COMMAND_CLASS_MULTI_INSTANCE | 0x60 | 96 |
COMMAND_CLASS_DOOR_LOCK | 0x62 | 98 |
COMMAND_CLASS_USER_CODE | 0x63 | 99 |
COMMAND_CLASS_BARRIER_OPERATOR | 0x66 | 102 |
COMMAND_CLASS_CONFIGURATION | 0x70 | 112 |
COMMAND_CLASS_CONFIGURATION_V2 | 0x70 | 112 |
COMMAND_CLASS_ALARM | 0x71 | 113 |
COMMAND_CLASS_MANUFACTURER_SPECIFIC | 0x72 | 114 |
COMMAND_CLASS_POWERLEVEL | 0x73 | 115 |
COMMAND_CLASS_PROTECTION | 0x75 | 117 |
COMMAND_CLASS_PROTECTION_V2 | 0x75 | 117 |
COMMAND_CLASS_LOCK | 0x76 | 118 |
COMMAND_CLASS_NODE_NAMING | 0x77 | 119 |
COMMAND_CLASS_FIRMWARE_UPDATE_MD | 0x7A | 122 |
COMMAND_CLASS_GROUPING_NAME | 0x7B | 123 |
COMMAND_CLASS_REMOTE_ASSOCIATION_ACTIVATE | 0x7C | 124 |
COMMAND_CLASS_REMOTE_ASSOCIATION | 0x7D | 125 |
COMMAND_CLASS_BATTERY | 0x80 | 128 |
COMMAND_CLASS_CLOCK | 0x81 | 129 |
COMMAND_CLASS_HAIL | 0x82 | 130 |
COMMAND_CLASS_WAKE_UP | 0x84 | 132 |
COMMAND_CLASS_WAKE_UP_V2 | 0x84 | 132 |
COMMAND_CLASS_ASSOCIATION | 0x85 | 133 |
COMMAND_CLASS_ASSOCIATION_V2 | 0x85 | 133 |
COMMAND_CLASS_VERSION | 0x86 | 134 |
COMMAND_CLASS_INDICATOR | 0x87 | 135 |
COMMAND_CLASS_PROPRIETARY | 0x88 | 136 |
COMMAND_CLASS_LANGUAGE | 0x89 | 137 |
COMMAND_CLASS_TIME | 0x8A | 138 |
COMMAND_CLASS_TIME_PARAMETERS | 0x8B | 139 |
COMMAND_CLASS_GEOGRAPHIC_LOCATION | 0x8C | 140 |
COMMAND_CLASS_COMPOSITE | 0x8D | 141 |
COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V2 | 0x8E | 142 |
COMMAND_CLASS_MULTI_INSTANCE_ASSOCIATION | 0x8E | 142 |
COMMAND_CLASS_MULTI_CMD | 0x8F | 143 |
COMMAND_CLASS_ENERGY_PRODUCTION | 0x90 | 144 |
COMMAND_CLASS_MANUFACTURER_PROPRIETARY | 0x91 | 145 |
COMMAND_CLASS_SCREEN_MD | 0x92 | 146 |
COMMAND_CLASS_SCREEN_MD_V2 | 0x92 | 146 |
COMMAND_CLASS_SCREEN_ATTRIBUTES | 0x93 | 147 |
COMMAND_CLASS_SCREEN_ATTRIBUTES_V2 | 0x93 | 147 |
COMMAND_CLASS_SIMPLE_AV_CONTROL | 0x94 | 148 |
COMMAND_CLASS_AV_CONTENT_DIRECTORY_MD | 0x95 | 149 |
COMMAND_CLASS_AV_RENDERER_STATUS | 0x96 | 150 |
COMMAND_CLASS_AV_CONTENT_SEARCH_MD | 0x97 | 151 |
COMMAND_CLASS_SECURITY | 0x98 | 152 |
COMMAND_CLASS_AV_TAGGING_MD | 0x99 | 153 |
COMMAND_CLASS_IP_CONFIGURATION | 0x9A | 154 |
COMMAND_CLASS_ASSOCIATION_COMMAND_CONFIGURATION | 0x9B | 155 |
COMMAND_CLASS_SENSOR_ALARM | 0x9C | 156 |
COMMAND_CLASS_SILENCE_ALARM | 0x9D | 157 |
COMMAND_CLASS_SENSOR_CONFIGURATION | 0x9E | 158 |
COMMAND_CLASS_MARK | 0xEF | 239 |
COMMAND_CLASS_NON_INTEROPERABLE | 0xF0 | 240 |