3.2.48. Wake Up Command Class, version 1¶
The Wake Up Command Class allows a battery-powered device to notify another device (always listening), that it is awake and ready to receive any queued commands.
Figure 3.29 Wake Up Sequence¶
\requirement{CC:0084.01.00.12.001}{0}
This Command Class SHOULD be implemented by battery powered devices. Wake Up Notification commands SHOULD be handled immediately by the destination node in order to minimize battery consumption.
3.2.48.1. Terminology¶
The Wake Up period is defined as the period during which a Wake Up node is supposed to be awake after issuing a Wake Up Notification Command to its Wake Up destination.
The Wake Up period starts when the supporting node issues a Wake Up Notification and it ends either 10 seconds after the last received/transmitted frame or at the reception of a Wake Up No More Information Command by the Wake Up destination.
3.2.48.2. Interoperability considerations¶
\requirement{CC:0084.01.00.31.001}{0}
The Wake Up Notification Command Class MUST NOT be covered by any association group. This also means that the Wake Up Notification Command Class MUST NOT be covered by the Lifeline association group.
\requirement{CC:0084.01.00.32.001}{0}
A node sending periodical or triggered unsolicited commands at the same time it wakes up SHOULD send the unsolicited commands before the Wake Up Notification Command.
\requirement{CC:0084.01.00.32.002}{0}
A supporting node SHOULD NOT send unsolicited commands during the Wake Up period.
\requirement{CC:0084.01.00.32.003}{0}
A supporting node having no Wake-Up destination set SHOULD fall back on the SIS NodeID (if any present in the network) to issue Wake-Up Notifications.
3.2.48.3. Wake Up Interval Set Command¶
This command is used to configure the Wake Up interval and destination of a node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_WAKE_UP (0x84) |
|||||||
Command = WAKE_UP_INTERVAL_SET (0x04) |
|||||||
Seconds 1 (MSB) |
|||||||
Seconds 2 |
|||||||
Seconds 3 (LSB) |
|||||||
NodeID |
|||||||
Seconds (24 bits)
This field is used to specify the time in seconds between Wake Up periods for the receiving node.
\requirement{CC:0084.01.04.11.001}{0}
The first byte MUST be the most significant byte.
\requirement{CC:0084.01.04.11.002}{0}
Values in the range 1..16777215 MUST indicate the time between Wake Up periods.
The value 0 MUST indicate that the receiving node MUST Wake Up when initiated by an event determined by the application e.g. a pushbutton activation.
NodeID (8 bits)
This field is used to specify the Wake Up destination NodeID.
\requirement{CC:0084.01.04.11.003}{0}
A receiving node MUST assume the indicated NodeID as Wake Up destination. i.e. the Wake Up Notification Command MUST be sent to the NodeID specified in this field.
3.2.48.4. Wake Up Interval Get Command¶
This command is used to request the Wake Up Interval and destination of a node.
\requirement{CC:0084.01.05.11.001}{0}
The Wake Up Interval Report Command MUST be returned in response to this command.
\requirement{CC:0084.01.05.11.002}{0}
This command MUST NOT be issued via multicast addressing.
\requirement{CC:0084.01.05.11.003}{0}
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_WAKE_UP (0x84) |
|||||||
Command = WAKE_UP_INTERVAL_GET (0x05) |
|||||||
3.2.48.5. Wake Up Interval Report Command¶
This command is used to advertise the current Wake Up interval and destination.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_WAKE_UP (0x84) |
|||||||
Command = WAKE_UP_INTERVAL_REPORT (0x06) |
|||||||
Seconds 1 (MSB) |
|||||||
Seconds 2 |
|||||||
Seconds 3 (LSB) |
|||||||
NodeID |
|||||||
Seconds (24 bits)
This field is used to advertise the time in seconds between Wake Up periods at the sending node.
\requirement{CC:0084.01.06.11.001}{0}
The first byte MUST be the most significant byte.
\requirement{CC:0084.01.06.11.002}{0}
Values in the range 1..16777215 MUST indicate the time between Wake Up periods.
The value 0 MUST indicate that the receiving node MUST Wake Up when initiated by an event determined by the application e.g. a pushbutton activation.
NodeID (8 bits)
This field is used to advertise the Wake Up destination NodeID configured at the sending node.
\requirement{CC:0084.01.06.11.003}{0}
The sending node MUST send the Wake Up Notification Commands to the advertised NodeID in this field.
3.2.48.6. Wake Up Notification Command¶
This command allows a node to notify its Wake Up destination that it is awake.
\requirement{CC:0084.01.07.12.001}{0} \requirement{CC:0084.01.07.11.001}{4}
The sending node SHOULD start a timer allowing it power down again in case no Wake Up No More Information Command is received. If implemented, the timer MUST comply with the timing requirements defined in the Z-Wave Plus Device Types Specification (Section 8, Section 7).
\requirement{CC:0084.01.07.13.001}{0}
A non-securely included node MAY send this command as broadcast if no Wake Up destination NodeID is configured.
\requirement{CC:0084.01.07.11.002}{0} \requirement{CC:0084.01.07.12.002}{4}
A receiving node MUST NOT return a Wake Up No More Information Command in response to this command issued via broadcast. Upon receiving this command via broadcast, a receiving node SHOULD configure a relevant Wake Up destination issuing a Wake Up Interval Set Command to the node that issued this command via broadcast.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_WAKE_UP (0x84) |
|||||||
Command = WAKE_UP_NOTIFICATION (0x07) |
|||||||
3.2.48.7. Wake Up No More Information Command¶
\requirement{CC:0084.01.08.13.001}{0}
This command is used to notify a supporting node that it MAY return to sleep to minimize power consumption.
\requirement{CC:0084.01.08.12.001}{0}
A node receiving the Wake Up No More Information Command SHOULD return a MAC layer Ack frame for the Wake Up No More Information Command before returning to sleep. Not acknowledging the command will cause a number of retransmissions.
\requirement{CC:0084.01.08.12.002}{0}
It is RECOMMENDED that the handling of the Wake Up No More Information Command and the associated time window for MAC layer acknowledgement is left to the protocol layer in order to simplify application design.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_WAKE_UP (0x84) |
|||||||
Command = WAKE_UP_NO_MORE_INFORMATION (0x08) |
|||||||