3.2.11. Battery Command Class, version 1¶
The Battery Command Class is used to request and report battery levels for a given device.
3.2.11.1. Battery Get Command¶
The Battery Get Command is used to request the level of a battery.
\requirement{CC:0080.01.02.11.001}{0}
The Battery Report Command MUST be returned in response to this command.
\requirement{CC:0080.01.02.11.002}{0}
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_BATTERY (0x80) |
|||||||
Command = BATTERY_GET (0x02) |
|||||||
3.2.11.2. Battery Report Command¶
This command is used to report the battery level of a battery operated device.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_BATTERY (0x80) |
|||||||
Command = BATTERY_REPORT (0x03) |
|||||||
Battery Level |
|||||||
Battery Level (8 bits)
This field is used to report the percentage indicating the battery level.
\requirement{CC:0080.01.03.11.001}{0}
This field MUST be in the range 0x00..0x64 or set to 0xFF.
\requirement{CC:0080.01.03.11.002}{0}
Values in the range 0x00..0x64 MUST indicate the battery percentage level from 0 to 100%.
\requirement{CC:0080.01.03.11.003}{0}
The value 0xFF MUST indicate a low-battery warning which MUST only be sent unsolicited. When a controller requests the battery level using a BATTERY_GET command, the actual battery level (0-100) MUST be returned. Recommendation is to send the low-battery value (0xFF) when the device battery level indicates the battery should be replaced or recharged within a few days or weeks. The low-battery warning SHOULD be sent no more than once per day. The device manufacturer knows the chemistry and discharge characteristics of the battery but the controller does not. Thus the controller cannot use a simple battery percentage threshold to decide when to inform the user the battery need to be replaced. For example, the device manufacturer may choose a battery level of 20% for the low-battery warning point for a lithium battery which has a steep discharge curve at end-of-life or 5% for alkaline cells which has a more linear discharge curve. The point where the low-battery warning is sent is at the discretion of the device manufacturer. Controllers SHOULD inform the user that the battery needs replacement or recharging each time the low-battery warning (0xFF) is received.