3.2.40. Time Command Class, version 1¶
The Time Command Class, version1 is used to read date and time from a supporting node in a Z-Wave network.
3.2.40.1. Compatibility considerations¶
Any End Device may implement any version of the Time Command Class. It is not mandatory to support the latest version.
3.2.40.1.1. Node Information Frame (NIF)¶
\requirement{CC:008A.01.00.21.001}{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.40.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.01.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 and/or the Date Get Command.
\requirement{CC:008A.01.00.32.002}{0}
Controlling nodes SHOULD automatically associate such association groups to a node supporting the Time Command Class.
3.2.40.3. Time Get Command¶
This command is used to request the current time from a supporting node.
\requirement{CC:008A.01.01.11.001}{0}
The Time Report Command MUST be returned in response to this command.
\requirement{CC:008A.01.01.11.002}{0}
This command MUST NOT be issued via multicast addressing.
\requirement{CC:008A.01.01.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_GET (0x01) |
|||||||
3.2.40.4. Time Report Command¶
This command is used to report the current time.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_TIME (0x8A) |
|||||||
Command = TIME_REPORT (0x02) |
|||||||
RTC failure |
Reserved |
Hour Local Time |
|||||
Minute Local Time |
|||||||
Second Local Time |
|||||||
RTC failure (1 bit)
\requirement{CC:008A.01.02.11.001}{0}
Many RTC chips have a stop bit indicating if the oscillator has been stopped. The RTC failure bit MUST be set to 1 in order to indicate to the receiving node that the RTC has been stopped and that the advertised time might be inaccurate.
\requirement{CC:008A.01.02.11.002}{0}
If the sending node does not support this feature or if the oscillator has not been stopped, it MUST set this field to 0.
\requirement{CC:008A.01.02.11.003}{0}
If the receiving node does not support this feature, it MUST ignore this field.
Reserved
\requirement{CC:008A.01.02.11.004}{0}
This field MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Hour Local Time (8 bits)
This field is used to indicate the number of complete hours that have passed since midnight in local time.
\requirement{CC:008A.01.02.11.005}{0}
This field MUST be in the range 0..23.
Minute Local Time (8 bits)
This field is used to indicate the number of complete minutes that have passed since the start of the hour in local time.
\requirement{CC:008A.01.02.11.006}{0}
This field MUST be in the range 0..59.
Second Local Time (8 bits)
This field is used to indicate the number of complete seconds that have passed since the start of the minute in local time.
\requirement{CC:008A.01.02.11.007}{0}
This field MUST be in the range 0..59.
Note: the time synchronization between nodes may vary by a few seconds due to delays introduced by the wireless communication.
3.2.40.5. Date Get Command¶
This command is used to request the current date adjusted according to the local time zone and Daylight Saving Time from a supporting node.
\requirement{CC:008A.01.03.11.001}{0}
The Date Report Command MUST be returned in response to this command.
\requirement{CC:008A.01.03.11.002}{0}
This command MUST NOT be issued via multicast addressing.
\requirement{CC:008A.01.03.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 = DATE_GET (0x03) |
|||||||
3.2.40.6. Date Report Command¶
This command is used to advertise the current date adjusted according to the local time zone and Daylight Saving Time.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_TIME (0x8A) |
|||||||
Command = DATE_REPORT (0x04) |
|||||||
Year 1 |
|||||||
Year 2 |
|||||||
Month |
|||||||
Day |
|||||||
Year (16 bits)
\requirement{CC:008A.01.04.11.001}{0}
This field MUST specify the current year using the Gregorian calendar. The first byte (Year 1) MUST be the most significant byte.
For example, Year1 = 0x07 and Year2 = 0xD7 MUST indicate year 2007
Month (8 bits)
\requirement{CC:008A.01.04.11.002}{0}
This field MUST specify the current month of the year.
\requirement{CC:008A.01.04.11.003}{0}
This field MUST be in the range 1..12 (representing respectively January…December).
Day (8 bits)
\requirement{CC:008A.01.04.11.004}{0}
This field MUST specify current the day of the month.
\requirement{CC:008A.01.04.11.005}{0}
This field MUST be in the range 1..31.