2.2.9. Anti-theft Command Class, version 3¶
This Command Class is used to lock (and possibly unlock) a node.
2.2.9.1. Compatibility Considerations¶
2.2.9.1.1. Command Class dependencies¶
A node supporting this Command Class MUST also support the Anti-theft Unlock Command Class, version 1.
2.2.9.1.2. Lock/Unlock requirements¶
The Anti-Theft Command Class is intended for devices operating in public locations such as hotel rooms or a conference center. The purpose of the Anti-theft Command Class is to render a device useless if it is removed from its actual network without being unlocked by the owner or a service provider.
A node can be locked (or protected) or unlocked.
The unlocked state means that the node will operate normally in any Z-Wave network.
The locked state means that the node will restrict usage of most of its command classes after being excluded from a network, so that it cannot be used by any controlling unit. The locked state MUST persist after the following operations:
Network inclusion/exclusion
Factory reset to default.
Firmware upgrade
When a node is locked and either excluded from a network or factory reset to default, it will enter its restricted mode. In the restricted mode, the node will not grant access to its application functionalities. The restricted mode MUST stop when the node is unlocked again.
When a node runs in the restricted mode, the NIF MUST adapt its content to reflect the currently supported Command Classes. The following Command Classes MUST still be supported when a node is running in restricted mode:
Anti-Theft Command Class
Anti-Theft Unlock Command Class
Manufacturer Specific Command Class
Version Command Class
Wake-Up Command Class
All Command Classes that MUST always be supported at the non-secure level, refer to List of defined Z-Wave Command Classes (see “This Command Class MUST always be in the NIF if supported”)
All other supported command classes SHOULD be removed in the restricted mode.
The locked state may be changed back to unlocked with this Command Class or the Anti-Theft Unlock Command Class.
When in restricted mode, a node MUST still be able to enter learn mode and join or leave a Z-Wave Network and support Z-Wave protocol operations.
2.2.9.1.3. Multi Channel Considerations¶
Multi Channel End Points SHOULD NOT support Anti-theft Command Class.
2.2.9.2. Anti-Theft Set Command¶
This command is used to lock or unlock a node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ANTITHEFT (0x5D) |
|||||||
Command = ANTITHEFT_SET (0x01) |
|||||||
State |
Number of Magic Code bytes |
||||||
Magic Code 1 |
|||||||
… |
|||||||
Magic Code N |
|||||||
Manufacturer ID MSB |
|||||||
Manufacturer ID LSB |
|||||||
Anti-theft Hint Length |
|||||||
Anti-theft Hint |
|||||||
… |
|||||||
Anti-theft Hint M |
|||||||
Z-Wave Alliance locking entity ID (MSB) |
|||||||
Z-Wave Alliance locking entity ID (LSB) |
|||||||
State (1 bit)
This field MUST indicate the desired locked/unlocked state for the receiving node.
The value 0 MUST indicate that the supporting node MUST change its state to unlocked.
The value 1 MUST indicate that the supporting node MUST change its state to locked.
If the receiving node is currently locked and this field is set to 0 (unlock), the receiving node MUST change its state to unlocked if the Magic Code field value matches the Magic Code value that was used to lock the node.
If the receiving node is currently locked and this field is set to 1 (lock), the receiving node MUST ignore this command.
If the receiving node is currently unlocked and this field is set to 0 (unlock), the receiving node MUST ignore this command.
If the receiving node is currently unlocked and this field is set to 1 (lock), the receiving node MUST change its state to lock and save the associated Magic code, Manufacturer ID, Anti-Theft Hint and Z-Wave Alliance locking entity ID.
Magic Code Length (7 bit)
This field MUST indicate the length (in byte) of the Magic Code field.
This field MUST be in the range 1..10.
Magic Code (N bytes)
This field contains the Magic Code used to lock or unlock the node.
The length of this field in byte MUST be according to the Magic Code Length field.
The receiving node MUST change its state from locked to unlocked if and only if this field’s value matches the Magic Code that was used to lock the node.
Manufacturer ID (2 bytes)
This field describes the Z-Wave Manufacturer ID of the company’s product that has locked the node.
This field MUST be set to 0x00 by a sending node and ignored by a receiving node if the State field is set to 0.
If a controlling node has a Z-Wave Manufacturer ID assigned, this field MUST be set to its assigned Manufacturer ID in Z-Wave Plus Assigned Manufacturer IDs.
If a controlling node has no Z-Wave Manufacturer ID assigned, this field MUST be set to 0x00.
Anti-theft Hint Length (8 bits)
This field MUST indicate the length (in byte) of the Anti-Theft Hint field.
This field MUST be in the range 0..10.
Anti-theft Hint (N bytes)
This field is used as an identifier or key value to help retriving the Magic Code.
The length of this field in byte MUST be according to the Anti-Theft Hint Length field. This field MUST be omitted if the Anti-Theft Hint Length field is set to 0.
The format of this field is manufacturer/controlling node specific.
Z-Wave Alliance locking entity ID (2 bytes)
This field MUST specify a unique identifier for the entity that has locked the node.
A supporting node MUST NOT change its state to locked if this field is omitted or set to 0x00.
A controlling node MUST NOT lock a device without having a valid Z-Wave Alliance locking entity ID value.
Contact the Z-Wave Alliance to get an ID assigned. With this ID, the Z-Wave alliance will be able to provide the following information:
Name of the organization
Contact Phone for unlock information
Optional website/url
Optional unlock support email address
This field MUST be set to 0x00 if the state field is set to 0.
This field MUST NOT be set to 0x00 if the state field is set to 1.
2.2.9.3. Anti-theft Get Command¶
This command is used to request the locked/unlocked state of a supporting node.
The Anti-Theft Report Command MUST be returned in response to this command.
This command MUST NOT be issued via multicast addressing.
A receiving node MUST NOT return a response if this command is received via multicast addressing. The Z-Wave Multicast frame, the broadcast NodeID and the Multi Channel multi-End Point destination are all considered multicast addressing methods.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ANTITHEFT (0x5D) |
|||||||
Command = ANTITHEFT_GET (0x02) |
|||||||
2.2.9.4. Anti-Theft Report Command¶
This command is used to advertise the lock/unlock state of a supporting node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ANTITHEFT (0x5D) |
|||||||
Command = ANTITHEFT_REPORT (0x03) |
|||||||
Anti-theft Protection Status |
|||||||
Manufacturer ID MSB |
|||||||
Manufacturer ID LSB |
|||||||
Anti-theft Hint Length |
|||||||
Anti-theft Hint 1 |
|||||||
… |
|||||||
Anti-theft Hint N |
|||||||
Z-Wave Alliance locking entity ID (MSB) |
|||||||
Z-Wave Alliance locking entity ID (MSB) |
|||||||
Anti-theft Protection Status (8 bits)
Anti-theft Protection Status specifies the actual status of Z-Wave device in question. Refer to the table below with respect to defined status values.
Value |
Description |
|---|---|
0x00 |
Reserved. |
0x01 |
Anti-Theft Protection is currently disabled, the node is unlocked |
0x02 |
Anti-Theft Protection is currently enabled, the node is locked. However, it did not change network so it is fully functional. |
0x03 |
Anti-Theft Protection is currently enabled, the node is locked. The node was reset and/or changed network and runs in restricted mode. |
0x04..0xFF |
Reserved |
Manufacturer ID (2 bytes)
This field describes the Z-Wave Manufacturer ID of the company’s product that has locked the node.
This field MUST be set to 0x00 if the Anti-theft Protection Status field is set to 0x01.
If the Anti-theft Protection Status field is set to 0x02 or 0x03 and a Z-Wave Manufacturer listed in [33] has locked the node, this field will advertise the Manufacturer ID that was provided in the Anti-theft Set Command.
If the Anti-theft Protection Status field is set to 0x02 or 0x03 and an entity who’s not a Z-Wave Manufacturer listed in [33] has locked the node, this field will be set to 0x00.
Anti-theft Hint Length (8 bits)
This field MUST indicate the length (in byte) of the Anti-Theft Hint field.
This field MUST be in the range 0..10.
If the Anti-theft Protection Status field is set to 0x01, a sending node MUST set this field to 0.
If the Anti-theft Protection Status field is set to 0x02 or 0x03, a sending node MUST advertise the length of the Anti-Theft Hint field that was used to lock the node.
Anti-theft Hint (N bytes)
This field is used as an identifier or key value to help retrieving the Magic Code.
The length of this field in byte MUST be according to the Anti-Theft Hint Length field. This field MUST be omitted if the Anti-Theft Hint Length field is set to 0.
A supporting node MUST advertise the value that was specified in the Anti-Theft Set Command when it got locked.
Z-Wave Alliance locking entity ID (2 bytes)
This field advertises a unique identifier for the entity that has locked the node. Anti-Theft Command Class, list of assigned Locking Entity IDs registry contains the valid assigned IDs with additional information about the entity.
Contact the Z-Wave Alliance to get an ID assigned. With this ID, the Z-Wave alliance will be able to provide the following information:
Name of the organization
Contact phone for unlock information
Optional website/url
Optional unlock support email address
This field MUST be set to 0x00 if the Anti-theft Protection Status field is set to 0x01.