3.2.41. Time Command Class, version 2¶
The Time Command Class, version 2 is used to read date and time from a supporting node in a Z-Wave network.
3.2.41.1. Compatibility considerations¶
The Time Command Class, version 2 is backwards compatible with the Time Command Class, version 1.
The Time Command Class, version 2 enables reading and setting Time Zone Offset and Daylight Saving Time parameters. The data formats are based on the International Standard ISO 8601.
\requirement{CC:008A.02.00.21.001}{0}
Commands not described in this version MUST remain unchanged from version 1.
3.2.41.1.1. Node Information Frame (NIF)¶
\requirement{CC:008A.02.00.21.002}{0}
A supporting node MUST always advertise the Time Command Class in its NIF, regardless of the security bootstrapping outcome.
This allows other nodes bootstrapped on any security level to request the current time from a supporting node.
3.2.41.2. Interoperability considerations¶
Nodes supporting this Command Class are time servers for other nodes in a Z-Wave network. Other nodes can learn the current date and time by querying nodes supporting this Command Class.
\requirement{CC:008A.02.00.32.001}{0}
For nodes based on an end node Role Type, it is RECOMMENDED to support a dedicated Association Group which issues the Time Get Command, the Date Get Command and/or the Time Offset Get Command.
\requirement{CC:008A.02.00.32.002}{0}
Controlling nodes SHOULD automatically associate such association groups to a node supporting the Time Command Class, version 2.
\requirement{CC:008A.02.00.33.001}{4}
The purpose of this Command Class is to read the current date and time information from supporting nodes. Hence, supporting nodes MAY ignore the Time Offset Set Command introduced in version 2 if they rely on another source to retrieve the Time Zone Offset and Daylight Saving Time information.
3.2.41.3. Time Offset Get Command¶
This command is used to request the Time Zone Offset (TZO) and Daylight Savings Time (DST) parameters from a supporting node.
\requirement{CC:008A.02.06.11.001}{0}
The Time Offset Report Command MUST be returned in response to this command.
\requirement{CC:008A.02.06.11.002}{0}
This command MUST NOT be issued via multicast addressing.
\requirement{CC:008A.02.06.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_TIME (0x8A) |
|||||||
Command = TIME_OFFSET_GET (0x06) |
|||||||
3.2.41.4. Time Offset Set Command¶
This command is used to set Time Zone Offset (TZO) and Daylight Savings Time (DST) at the supporting node. The TZO is only used in cases where the Current Time is programmed with UTC time instead of Local Time. In most cases the TZO should be zero and Local Time is used.
\requirement{CC:008A.02.05.12.003}{0}
Adjusting for DST is a twice/year operation and is thus difficult to test in the field as it occurs so infrequently. It is RECOMMENDED to have the controller adjust the time rather than relying on properly programming each end device and for the end device to properly adjust the current time. If TZO Offset is used, it is RECOMMENDED for the controller to check the time shortly after the change to ensure it occurred properly. Thus it is likely lower power and less Z-Wave traffic for the controller to simply update the time via an unsolicited Time Report (if controlled by the receiving node) or a Time Set (refer to Time Command Class, version 3).
\requirement{CC:008A.02.05.13.001}{0}
This command MAY be ignored by a supporting node if it relies on another source to retrieve the TZO/DST information.
\requirement{CC:008A.02.05.12.001}{0}
This command SHOULD be ignored if it is not received at the highest granted security level.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_TIME (0x8A) |
|||||||
Command = TIME_OFFSET_SET (0x05) |
|||||||
Sign TZO |
Hour TZO |
||||||
Minute TZO |
|||||||
Sign Offset DST |
Minute Offset DST |
||||||
Month Start DST |
|||||||
Day Start DST |
|||||||
Hour Start DST |
|||||||
Month End DST |
|||||||
Day End DST |
|||||||
Hour End DST |
|||||||
Sign TZO (1 bit)
This field is used to indicate the sign (plus or minus) to apply to the Hour TZO and Minute TZO fields.
\requirement{CC:008A.02.05.11.001}{0}
The value 0 MUST indicate the Plus sign (positive offset from UTC)
\requirement{CC:008A.02.05.11.002}{0}
The value 1 MUST indicate the Minus sign (negative offset from UTC)
Hour TZO (7 bits)
This field is used to indicate the number of hours that the originating time zone deviates from UTC.
\requirement{CC:008A.02.05.12.002}{0}
This field SHOULD be in the range 0..14.
Minute TZO (8 bits)
This field is used to indicate the number of minutes that the originating time zone deviates UTC.
\requirement{CC:008A.02.05.11.003}{0}
This field MUST be in the range 0..59.
Sign Offset DST (1 bit)
This field is used to indicate the sign (plus or minus) for the Minute Offset DST field to apply to the current time while in the Daylight Saving Time. Typically this field should be zero and the Start Date set to the date when the DST change is positive.
\requirement{CC:008A.02.05.11.004}{0}
The value 0 MUST indicate the Plus sign (positive offset from current time),
\requirement{CC:008A.02.05.11.005}{0}
The value 1 MUST indicate the Minus sign (negative offset from current time).
Minute Offset DST (7 bits)
\requirement{CC:008A.02.05.11.006}{0}
This field MUST indicate the number of minutes by which the current time is to be adjusted when Daylight Saving Time starts. The most common value is 60 minutes but in some regions the time change can be 20 minutes or as much as 120 minutes. Note that the increment is likely to change the current Hour and is not limited to just changing the Minute value.
Month Start DST (8 bits)
\requirement{CC:008A.02.05.11.007}{0}
This field MUST indicate the month of the year when Daylight Saving Time starts. In the northern hemisphere DST typically starts in March and in the sourthern hemisphere in October. The exact start/end date and times are dependent on the location of the network.
\requirement{CC:008A.02.05.11.008}{0}
This field MUST be in the range 0..12. 1..12 representing respectively January…December or 0 if Daylight Saving Time is not used.
Day Start DST (8 bits)
\requirement{CC:008A.02.05.11.009}{0}
This field MUST indicate the day of the month when Daylight Saving Time starts.
\requirement{CC:008A.02.05.11.00A}{0}
This field MUST be in the range 0..31. 1..31 representing the day of the month or 0 if Daylight Saving Time is not used.
Hour Start DST (8 bits)
\requirement{CC:008A.02.05.11.00B}{0}
This field MUST indicate the hour of the day when Daylight Saving Time starts.
\requirement{CC:008A.02.05.11.00C}{0}
This field MUST be in the range 0..23 representing minutes or 0 if Daylight Saving Time is not used.
Month End DST (8 bits)
\requirement{CC:008A.02.05.11.00D}{0}
This field MUST indicate the month of the year when Daylight Saving Time ends.
\requirement{CC:008A.02.05.11.00E}{0}
This field MUST be in the range 0..12. 1..12 representing respectively January…December or 0 if Daylight Saving Time is not used.
Day End DST (8 bits)
\requirement{CC:008A.02.05.11.00F}{0}
This field MUST indicate the day of the month when Daylight Saving Time ends.
\requirement{CC:008A.02.05.11.010}{0}
This field MUST be in the range 0..31. 1..31 representing the day of the month or 0 if Daylight Saving Time is not used.
Hour End DST (8 bits)
\requirement{CC:008A.02.05.11.011}{0}
This field MUST indicate the hour of the day when Daylight Saving Time ends.
\requirement{CC:008A.02.05.11.012}{0}
This field MUST be in the range 0..23 representing minutes or 0 if Daylight Saving Time is not used.
3.2.41.5. Time Offset Report Command¶
This command is used to advertise the Time Zone Offset (TZO) and Daylight Savings Time (DST) parameters.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_TIME (0x8A) |
|||||||
Command = TIME_OFFSET_REPORT (0x07) |
|||||||
Sign TZO |
Hour TZO |
||||||
Minute TZO |
|||||||
Sign Offset DST |
Minute Offset DST |
||||||
Month Start DST |
|||||||
Day Start DST |
|||||||
Hour Start DST |
|||||||
Month End DST |
|||||||
Day End DST |
|||||||
Hour End DST |
|||||||
For fields’ description, refer to Section 3.2.41.4 Time Offset Set Command.
\requirement{CC:008A.02.02.11.001}{0}
A sending node MUST comply with fields’ description from Section 3.2.41.4 Time Offset Set Command.