2.2.1. Active Schedule Command Class, version 1 [NEVER CERTIFIED]¶
Warning
THIS COMMAND CLASS VERSION HAS NEVER BEEN CERTIFIED
This command class version has never been implemented and certified by a Z-Wave product. Therefore, this Command Class definition MAY be updated in a non-backwards compatible manner, or even removed.
Consult with the Z-Wave Alliance Application Work Group if you consider implementing this Command Class.
2.2.1.1. Terminology¶
The Active Schedule Command Class, version 1 provides multiple scheduling types that can be tied to a number of constructs within the Z-Wave ecosystem.
The Active Schedule Command Class, version 1 also introduces the concept of Targets. Many things in the Z-Wave ecosystem could conceptually utilize scheduling, such as Door Locks, Thermostats, Lights, Sensors, and so forth - in addition to more abstract constructs such as Users or Credentials, or even other Schedules. A Target CC and Target Identifier (used interchangeably with Target ID in this document), together, identify which of the aforementioned construct an Active Schedule is attached to, and a unique combination of a Target CC and Target ID are collectively known simply as a Target.
The Schedule is defined as either a ‘time fence’ consisting of a start point and later stop point, or is provided as a start point and duration, depending on the type.
The start point and stop point on the time fence are time stamps at the supporting node’s Local Time, which in the context of this CC is assumed to always be accurate. Management of local time is out of the scope of this CC beyond the requirements mentioned in the Compatibility Considerations section.
Schedules are not inherently created or deleted - Rather, each Target has a set number of schedule slots for use, and the data in these slots can be modified or cleared.
Each Schedule slot of any type also has up to seven (7) bytes of additional Schedule Metadata that can be used by the managing command classes to trigger events, define additional setpoints, and so forth.
When the time is inside of these schedule parameters, the Schedule is said to be ‘active’ (hence the title of Active Schedule).
This command class does not control these constructs directly; rather, it simply applies a logical state to the construct based on the current network time.
How this state affects the construct in question is defined within the respective Target CC.
2.2.1.1.1. Targets¶
A Target CC is a one byte identifier that corresponds to a particular Z-Wave Command Class containing information on how to schedule a particular construct within that CC, or even the CC itself.
A Target CC is determined to be valid, and can be scheduled, if the following statements are true:
\requirement{CC:00A4.01.00.11.001}{0}
The Active Schedule Command Class, version 1 [NEVER CERTIFIED] is explicitly referred to as the scheduling paradigm for that particular CC within its respective specification.
\requirement{CC:00A4.01.00.11.002}{0}
The Target CC is advertised as supported in the NIF with a version equal to or greater than the Target CC version in which the Active Schedule CC is first referenced.
\requirement{CC:00A4.01.00.11.003}{0}
The Target CC defines how the Target ID is used or interpreted in context.
The practical value of the Target ID can vary, and depends entirely on the Target CC. In some cases, such as the User Credential Command Class, version 2 [NEVER CERTIFIED], a User is defined as the Target for scheduling, so the Target ID corresponds to the User Unique Identifier. Other CCs may not have identifiable constructs such as this and are wholly affected by the schedule, such as a Binary Switch or Thermostat Setpoint, and may not use the Target ID at all.
\requirement{CC:00A4.01.00.11.004}{0}
The Target CC must explicitly declare if the Target ID is unused in scheduling.
\requirement{CC:00A4.01.00.11.005}{0}
If the Target ID is used by the Target CC, then the following MUST be defined by the Target CC:
Which construct that the Target ID refers to within the Target CC
How many Target IDs are supported on the node by the CC
Valid values that the Target ID can take
\requirement{CC:00A4.01.00.11.006}{0}
If a supporting node receives any command from a controlling node with an invalid provided Target, the command MUST be ignored unless otherwise specified.
A Target MUST be considered invalid if one (or more) of the following scenarios apply:
\requirement{CC:00A4.01.03.11.007}{0}
The Target CC is set to 0 or points to a command class that is otherwise invalid.
\requirement{CC:00A4.01.03.11.008}{0}
The Target CC version on the node is not a valid version for scheduling.
\requirement{CC:00A4.01.03.11.009}{0}
The Target CC is not advertised as supported in the NIF by either the sending or the receiving node.
\requirement{CC:00A4.01.00.11.010}{0}
The Target, in its corresponding Target CC, is explicitly unable to be scheduled. For example, the User Credential Command Class, version 2 [NEVER CERTIFIED] is a valid Target CC, but a Programming User explicitly is unable to be scheduled by requirement CC:0083.01.05.11.023.
\requirement{CC:00A4.01.00.11.011}{0}
The Target is otherwise valid but does not exist or is empty. If a target is deleted or otherwise removed from the network while it has Schedules attached, those Schedules MUST be cleared.
\requirement{CC:00A4.01.00.11.012}{0}
Any other requirement elsewhere in this document that would otherwise invalidate a Target.
\requirement{CC:00A4.01.00.11.013}{0}
The Target ID MUST always be represented as a 16 bit value in the context of this CC. Target IDs with a length n of less than 16 bits MUST be cast into 16 bits such that the value uses the least significant n bits.
2.2.1.1.2. Schedules¶
The schedule types are as follows:
Index |
Schedule Type Name |
Description |
|---|---|---|
0 |
Year Day |
This type of Schedule uses a Start Point and Stop Point (both defined as DD/MM/YY HH:mm) to create a time fence, inside of which the schedule is Active. This is used for single-instance schedules that can take place over days or months. |
1 |
Daily Repeating |
This type of Schedule uses a Start Time (HH:mm) and duration (HH:mm) less than 24 hours, and the mask with the days of the week that this schedule applies. This is usually used for daily routines such as ‘Working Hours’. |
Schedule Type Indices are used for querying the state of a particular Schedule.
2.2.1.1.3. Schedule Enabled Definitions¶
How each Target behaves when an attached Schedule is Enabled or Disabled, or Enabled and Active/Inactive, can differ.
\requirement{CC:00A4.01.00.11.014}{0}
The Target’s corresponding CC MUST describe how the supporting node’s behavior changes when a Target’s schedules are:
Active and Enabled
Inactive and Enabled
Disabled
\requirement{CC:00A4.01.00.11.017}{0}
The Target’s corresponding CC MUST also define how a Target is affected by 2 or more attached schedules of any type.
2.2.1.1.4. Schedule Metadata¶
Schedule Metadata is a way for Targets to store control information in the Schedule itself.
\requirement{CC:00A4.01.00.11.018}{0}
Schedule Metadata MUST be less than or equal to seven (7) bytes in length.
\requirement{CC:00A4.01.00.13.019}{0}
The contents of this data MAY change at any time and it is up to the application to manage the data stored in the Schedule construct.
\requirement{CC:00A4.01.00.11.023}{0}
If a given Target uses Schedule Metadata, then its use case(s), structure and conditions for use MUST be specified in the Target CC.
\requirement{CC:00A4.01.00.11.024}{0}
If a given Target CC does NOT use Schedule Metadata, the Target CC MUST explicitly specify that Schedule Metadata is unused.
2.2.1.2. Compatibility Considerations¶
\requirement{CC:00A4.01.00.11.025}{0}
If a node supports the Active Schedule Command Class, version 1 [NEVER CERTIFIED], the supporting node MUST advertise support for all command classes listed in its Active Schedule Capabilities Report Command.
\requirement{CC:00A4.01.00.11.026}{0}
Supporting nodes MUST also support either Time Command Class, version 3 or both Time Command Class, version 2 and Time Parameters Command Class, version 1 to set the local time and date on the node.
2.2.1.3. Active Schedule Capabilities Get Command¶
This command requests a report of the Target CCs that are allowed by a supporting node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_CAPABILITIES_GET (0x01) |
|||||||
2.2.1.4. Active Schedule Capabilities Report Command¶
This command reports how many schedules of each type, and which Target CCs are supported by a supporting node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_CAPABILITIES_REPORT (0x02) |
|||||||
Number of Supported Target CCs |
|||||||
Supported Target CC N |
|||||||
… |
|||||||
Supported Target CC M |
|||||||
Number of Supported Targets (MSB) N |
|||||||
Number of Supported Targets (LSB) N |
|||||||
… |
|||||||
Number of Supported Targets (MSB) M |
|||||||
Number of Supported Targets (LSB) M |
|||||||
Number of Supported Year Day Schedules Per Target N (MSB) |
|||||||
Number of Supported Year Day Schedules Per Target N (LSB) |
|||||||
… |
|||||||
Number of Supported Year Day Schedules Per Target M (MSB) |
|||||||
Number of Supported Year Day Schedules Per Target M (LSB) |
|||||||
No. of Supported Daily Repeating Schedules Per Target N (MSB) |
|||||||
No. of Supported Daily Repeating Schedules Per Target N (LSB) |
|||||||
… |
|||||||
No. of Supported Daily Repeating Schedules Per Target M (MSB) |
|||||||
No. of Supported Daily Repeating Schedules Per Target M (LSB) |
|||||||
Number of Supported Target CCs
This is the number of valid Target CCs that this node advertises support for.
\requirement{CC:00A4.01.02.11.001}{0}
A node advertising support for this CC MUST support at least one (1) valid Target CC.
Supported Target CCs
This is a list of the Target CCs that the node can schedule.
\requirement{CC:00A4.01.02.11.002}{0}
The length of this field MUST be equivalent to the Number of Supported Target CCs field above.
Number of Supported Targets
This field is the number of Targets supported by Target CC n.
\requirement{CC:00A4.01.02.11.003}{0}
The length of this field MUST be equivalent to the Number of Supported Target CCs field above.
\requirement{CC:00A4.01.02.11.004}{0}
If the number of Targets is also reported using Target CC n, the value of this field MUST be equivalent to the value within the corresponding report in Target CC n.
Number of Supported Year Day Schedules
This field is the maximum number of Year Day schedules each Target of Target CC n supports on the sending node.
\requirement{CC:00A4.01.02.11.005}{0}
The length of this field MUST be equivalent to the Number of Supported Target CCs field above.
Number of Supported Daily Repeating Schedules
This field is the maximum number of Daily Repeating schedules each Target of Target CC n supports on the sending node.
\requirement{CC:00A4.01.02.11.006}{0}
The length of this field MUST be equivalent to the Number of Supported Target CCs field above.
\requirement{CC:00A4.01.02.11.007}{0}
All Targets from all supported Command Classes must support at least one (1) Year Day or Daily Repeating schedule slot.
\requirement{CC:00A4.01.02.11.008}{0}
If any of the numeric values above are not in the respective provided ranges, the command MUST be ignored by the receiving node.
2.2.1.5. Active Schedule Enable Set Command¶
This command enables or disables all schedules for a specified Target. The Terminology section contains requirements on Schedule data on set operations that may apply.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_ENABLE_SET (0x03) |
|||||||
Target CC |
|||||||
Target ID (MSB) |
|||||||
Target ID (LSB) |
|||||||
Reserved |
Enabled |
||||||
Target CC (8 bits)
The Target CC corresponds to the CC defining the specific Z-Wave construct to which scheduling can be attached. See Terminology for more information.
Target ID (16 bits)
The Target ID (Target Identifier) is used to identify a particular Target of the provided Target CC.
Enabled (1 bit)
Value |
Description |
|---|---|
0 |
All Schedules for the Target identified are disabled. |
1 |
All Schedules for the Target identified are enabled. |
\requirement{CC:00A4.01.03.11.001}{0} All other bits are reserved and MUST be set low (0) by the sending node. If any of the reserved bits are high (1), they MUST be ignored by the receiving node.
\requirement{CC:00A4.01.03.11.002}{0}
If any of the numeric values above are not in the respective provided ranges, the command MUST be ignored by the receiving node.
2.2.1.6. Active Schedule Enable Get Command¶
This command requests the schedule status of a particular Target.
\requirement{CC:00A4.01.04.11.001}{0}
The Active Schedule Enable Report Command MUST be returned as a response to this command.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_ENABLE_GET (0x04) |
|||||||
Target CC |
|||||||
Target ID (MSB) |
|||||||
Target ID (LSB) |
|||||||
Target CC (8 bits)
The Target CC corresponds to the CC defining the specific Z-Wave construct that can be scheduled. See Terminology for more information.
Target ID (16 bits)
The Target ID (Target Identifier) is used to identify a particular Target of the provided Target CC.
2.2.1.7. Active Schedule Enable Report Command¶
This command reports whether or not Schedules attached to a particular Target are currently enabled or disabled.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_ENABLE_REPORT (0x05) |
|||||||
Target CC |
|||||||
Target ID (MSB) |
|||||||
Target ID (LSB) |
|||||||
Reserved |
Report Code (3 Bits) |
Enabled |
|||||
Unless otherwise specified, refer to Active Schedule Enable Set Command above for field definitions and requirements.
Report Code (3 bits)
The value of this field enumerates the reason the report was sent by the supporting node.
\requirement{CC:00A4.01.05.11.001}{0}
The value of this field MUST comply with Table 2.16.
Value |
Name |
Description |
|---|---|---|
0x00 |
Response to Get |
This report is being sent in response to a GET request. Reports of this type MUST be returned to the node that originated the GET request, and MUST NOT be sent to the lifeline. |
0x01 |
Schedule(s) Modified (External) |
The data in the specified applicable schedule slot(s) was/were overwritten with the provided data from an external source. Reports of this type MUST be sent to the lifeline. |
0x02 |
Schedule(s) Modified (Z-Wave) |
The data in the specified applicable schedule slot(s) was/were overwritten with a SET request from a Z-Wave controlling node. Reports of this type MUST be sent to the lifeline. |
\requirement{CC:00A4.01.05.11.002}{0}
All other values are reserved and MUST be ignored by a receiving node.
2.2.1.8. Active Schedule Year Day Schedule Set Command¶
This command modifies or erases a schedule slot for an existing, valid Target.
Terminology contains requirements on Schedule data on set operations that may apply.
The year day schedule represents two days, any time apart, between which the schedule is Active.
\requirement{CC:00A4.01.06.11.001}{0}
When set successfully, scheduling as reported in Active Schedule Enable Report Command MUST be automatically enabled for the identified Target.
\requirement{CC:00A4.01.06.11.002}{0}
The stop parameters of the time fence MUST occur after the start parameters.
\requirement{CC:00A4.01.06.13.001}{0}
An Active Schedule Year Day Schedule Report Command MAY be required to be sent in response to this command. Relevant requirements are listed in Table 2.16.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_YEAR_DAY_SCHEDULE_SET (0x06) |
|||||||
Reserved (6 Bits) |
Set Action |
||||||
Target CC |
|||||||
Target ID (MSB) |
|||||||
Target ID (LSB) |
|||||||
Schedule Slot ID (MSB) |
|||||||
Schedule Slot ID (LSB) |
|||||||
Start Year (MSB) |
|||||||
Start Year (LSB) |
|||||||
Start Month |
|||||||
Start Day |
|||||||
Start Hour |
|||||||
Start Minute |
|||||||
Stop Year (MSB) |
|||||||
Stop Year (LSB) |
|||||||
Stop Month |
|||||||
Stop Day |
|||||||
Stop Hour |
|||||||
Stop Minute |
|||||||
Reserved (5 bits) |
Metadata Length |
||||||
Metadata 1 |
|||||||
… |
|||||||
Metadata N |
|||||||
Reserved (6 bits)
\requirement{CC:00A4.01.06.11.003}{0}
These bits MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Set Action (2 bits)
Value |
Description |
|---|---|
0x00 |
Erase the schedule slot. |
0x01 |
Modify the schedule slot for the identified Target. |
\requirement{CC:00A4.01.06.11.004}{0}
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
\requirement{CC:00A4.01.06.13.005}{0}
During an Erase Operation, all other fields with the exception of the Target and Schedule Slot fields are not required and MAY be set to zero or omitted.
Target CC (8 bits)
The Target CC corresponds to the CC defining the specific Z-Wave construct to which scheduling can be attached. See Terminology for more information.
Target ID (16 bits)
The Target ID (Target Identifier) is used to identify a particular Target of the provided Target CC.
Schedule Slot ID (16 bits)
A value from 1 to Number of Slots Year Day Supported.
\requirement{CC:00A4.01.06.13.006}{0}
This value MAY be equal to zero ONLY when coupled with an Erase Set Action.
\requirement{CC:00A4.01.06.11.007}{0}
A Schedule Slot ID value of zero during an Erase Set Action signifies a batch erase operation. Assuming that the target is otherwise valid, the operation MUST execute based on the target values outlined in Table 2.18:
Schedule Slot Value |
Target ID Value |
Target CC Value |
Operation |
|---|---|---|---|
Zero |
Valid (Can be zero) |
Non-Zero |
Erase all schedules of this type attached to the Target. |
Zero |
Zero |
Non-Zero |
Erase all schedules of this type attached to all Targets from the specified Target CC. |
Zero |
Zero |
Zero |
Erase all schedules of this type on the node. |
Start Year (16 bits)
A value that represents the common-era year in which the time fence starts. For example, 2025 CE is simply 2025.
Start Month (8 bits)
A value from 1 to 12 that represents the month in a year.
Start Day (8 bits)
A value from 1 to 31 that represents the date of the month.
Start Hour (8 bits)
A value from 0 to 23 representing the starting hour of the time fence.
Start Minute (8 bits)
A value from 0 to 59 representing the starting minute of the time fence.
Stop Year (16 bits)
A value that represents the common-era year in which the time fence stops.
Stop Month (8 bits)
A value from 1 to 12 that represents the month in a year.
Stop Day (8 bits)
A value from 1 to 31 that represents the date of the month.
Stop Hour (8 bits)
A value from 0 to 23 representing the stop hour of the time fence.
Stop Minute (8 bits)
A value from 0 to 59 representing the stop minute of the time fence.
\requirement{CC:00A4.01.06.11.008}{0}
If any of the values above are not in the respective provided ranges, the command MUST be ignored.
Reserved (5 bits)
\requirement{CC:00A4.01.06.11.009}{0}
These bits MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Metadata Length (3 bits)
This field defines the length in bytes of the Metadata field.
\requirement{CC:00A4.01.06.11.010}{0}
If this value is NOT set to zero (0), it MUST align with the length values specified for Metadata Length defined in the given Target CC.
\requirement{CC:00A4.01.06.11.011}{0}
If this value is equal to ‘0’ and there is existing Schedule Metadata on the receiving node, the existing Metadata MUST be cleared.
Metadata (N Bytes)
This field contains the Metadata included in the schedule.
2.2.1.9. Active Schedule Year Day Schedule Get Command¶
This command gets the information stored in a specified Year Day schedule slot ID.
\requirement{CC:00A4.01.07.11.001}{0}
The Active Schedule Year Day Schedule Report Command MUST be returned in response to this command.
\requirement{CC:00A4.01.07.11.002}{0}
This command MUST NOT be issued via multicast addressing.
\requirement{CC:00A4.01.07.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_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_YEAR_DAY_SCHEDULE_GET (0x07) |
|||||||
Target CC |
|||||||
Target ID (MSB) |
|||||||
Target ID (LSB) |
|||||||
Schedule Slot ID (MSB) |
|||||||
Schedule Slot ID (LSB) |
|||||||
Target CC (8 bits)
The Target CC corresponds to the CC defining the specific Z-Wave construct to which scheduling can be attached. See Terminology for more information.
Target ID (16 bits)
The Target ID (Target Identifier) is used to identify a particular Target of the provided Target CC.
Schedule Slot ID (16 bits)
A value from 1 to Number of Slots Year Day Supported Per Target for the provided Target CC.
\requirement{CC:00A4.01.07.11.004}{0}
A Schedule Slot ID of zero MUST signify to the receiving node that the first occupied Schedule Slot for the given Target is to be returned the report.
\requirement{CC:00A4.01.07.11.005}{0}
If any of the numeric values above are not in the respective provided ranges, the command MUST be ignored by the receiving node.
2.2.1.10. Active Schedule Year Day Schedule Report Command¶
This command returns year/day schedule report for the requested schedule slot ID for the identified Target.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_YEAR_DAY_SCHEDULE_REPORT (0x08) |
|||||||
Reserved (5 Bits) |
Report Code |
||||||
Target CC |
|||||||
Target ID (MSB) |
|||||||
Target ID (LSB) |
|||||||
Schedule Slot ID (MSB) |
|||||||
Schedule Slot ID (LSB) |
|||||||
Next Schedule Slot ID (MSB) |
|||||||
Next Schedule Slot ID (LSB) |
|||||||
Start Year (MSB) |
|||||||
Start Year (LSB) |
|||||||
Start Month |
|||||||
Start Day |
|||||||
Start Hour |
|||||||
Start Minute |
|||||||
Stop Year (MSB) |
|||||||
Stop Year (LSB) |
|||||||
Stop Month |
|||||||
Stop Day |
|||||||
Stop Hour |
|||||||
Stop Minute |
|||||||
Reserved (5 bits) |
Metadata Length |
||||||
Metadata 1 |
|||||||
… |
|||||||
Metadata N |
|||||||
Unless otherwise specified, field definitions and requirements in this command mirror Active Schedule Year Day Schedule Set Command.
Reserved (5 bits)
\requirement{CC:00A4.01.08.11.001}{0}
These bits MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Report Code (3 bits)
The value of this field enumerates the reason the report was sent by the supporting node.
\requirement{CC:00A4.01.08.11.002}{0}
The value of this field MUST comply with Table 2.16.
Next Schedule Slot ID (16 bits)
This value contains the next occupied schedule slot index for the provided Target, or zero (0) if there are no subsequent occupied schedule slots for a given target.
\requirement{CC:00A4.01.08.11.004}{0}
If a requested schedule slot is erased/empty the time fields MUST be set to 0x00.
2.2.1.11. Active Schedule Daily Repeating Schedule Set Command¶
This command is used to set or erase a daily repeating schedule for a valid Target.
Terminology contains requirements on Schedule data on set operations that may apply.
\requirement{CC:00A4.01.09.13.001}{0}
An Active Schedule Daily Repeating Schedule Report Command MAY be required to be sent in response to this command. Relevant requirements are listed in Table 2.16.
\requirement{CC:00A4.01.09.11.001}{0}
When set successfully, scheduling as reported in Active Schedule Enable Report Command MUST be automatically enabled for the identified Target.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_DAILY_REPEATING_SET (0x09) |
|||||||
Reserved (6 bytes) |
Set Action |
||||||
Target CC |
|||||||
Target ID (MSB) |
|||||||
Target ID (LSB) |
|||||||
Schedule Slot ID (MSB) |
|||||||
Schedule Slot ID (LSB) |
|||||||
Week Day Bitmask |
|||||||
Start Hour |
|||||||
Start Minute |
|||||||
Duration Hour |
|||||||
Duration Minute |
|||||||
Reserved (5 bits) |
Metadata Length |
||||||
Metadata 1 |
|||||||
… |
|||||||
Metadata N |
|||||||
Reserved (6 bits)
\requirement{CC:00A4.01.09.11.003}{0}
These bits MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Set Action (2 bits)
Value |
Description |
|---|---|
0x00 |
Erase the schedule slot. |
0x01 |
Modify the schedule slot for the identified Target. |
\requirement{CC:00A4.01.09.11.004}{0}
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
\requirement{CC:00A4.01.09.13.002}{0}
During an Erase Operation, all other fields with the exception of the Target and Schedule Slot fields are not required and MAY be set to zero or omitted.
Target CC (8 bits)
The Target CC corresponds to the CC defining the specific Z-Wave construct to which scheduling can be attached. See Terminology for more information.
Target ID (16 bits)
The Target ID (Target Identifier) is used to identify a particular Target of the provided Target CC.
Schedule Slot ID (16 bits)
A value from 1 to Number of Supported Daily Repeating Slots for each Target of the provided Target CC.
\requirement{CC:00A4.01.09.11.005}{0}
This field is to be subject to the same requirements regarding valid values and batch delete operations as the corresponding field in the Active Schedule Year Day Schedule Set Command. The field also MUST also use the same logic described in Table 2.18 for deleting multiple schedules.
Week Day Bitmask (8 bits)
A bitmask of the days of the week for which this schedule entry is active.
\requirement{CC:00A4.01.09.11.006}{0}
The schedule MUST be interpreted such that the start of the schedule occurs on the days marked active by the bitmask. The schedule is allowed to extend into the next day if required by the length of the schedule.
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|---|
Value |
Res |
Sat |
Fri |
Thr |
Wed |
Tue |
Mon |
Sun |
\requirement{CC:00A4.01.09.11.007}{0}
The ‘Res’ bit is reserved and MUST be set to zero by a sending node.
\requirement{CC:00A4.01.09.11.008}{0}
Reserved bits MUST be ignored by a receiving node.
Start Hour (8 bits)
A value from 0 to 23 representing the starting hour of the time fence.
Start Minute (8 bits)
A value from 0 to 59 representing the starting minute of the time fence.
Duration Hour (8 bits)
A value from 0 to 23 representing how many hours the time fence will last.
Duration Minute (8 bits)
A value from 0 to 59 representing how many minutes the time fence will last past the Duration Hour field.
\requirement{CC:00A4.01.09.11.009}{0}
If any of the numeric values above are not in the respective provided ranges, the command MUST be ignored by the receiving node.
See Active Schedule Year Day Schedule Set Command for all definitions and requirements regarding Schedule Metadata.
\requirement{CC:00A4.01.09.11.010}{0}
Any Daily Repeating Schedule that is active when the local time on the node changes (e.g., Daylight Savings Time) MUST still deactivate at the same local time it otherwise would have without the time change, regardless of the duration length.
For example, a Daily Repeating Schedule that is active every night from 8 PM (20:00) for 12 hours, until 8:00 the next morning, is attached to a Target. On the night that Daylight Savings Time falls back an hour, the Target’s schedule MUST still be active until 8:00, even though this would constitute a duration of 13 hours.
2.2.1.12. Active Schedule Daily Repeating Schedule Get Command¶
This command is used to request information contained within a specified Daily Repeating Schedule slot.
\requirement{CC:00A4.01.0A.11.001}{0}
The Active Schedule Daily Repeating Report Command MUST be returned in response to this command.
\requirement{CC:00A4.01.0A.11.002}{0}
This command MUST NOT be issued via multicast addressing.
\requirement{CC:00A4.01.0A.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_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_DAILY_REPEATING_GET (0x0A) |
|||||||
Target CC |
|||||||
Target ID (MSB) |
|||||||
Target ID (LSB) |
|||||||
Schedule Slot ID (MSB) |
|||||||
Schedule Slot ID (LSB) |
|||||||
Target CC (8 bits)
The Target CC corresponds to the CC defining the specific Z-Wave construct to which scheduling can be attached. See Terminology for more information.
Target ID (16 bits)
The Target ID (Target Identifier) is used to identify a particular Target of the provided Target CC.
Schedule Slot ID (16 bits)
A value from 1 to Number of Supported Daily Repeating Slots.
\requirement{CC:00A4.01.0A.11.004}{0}
A Schedule Slot ID of zero MUST signify to the receiving node that the first occupied Schedule Slot for the given Target is to be returned the report.
\requirement{CC:00A4.01.0A.11.005}{0}
If any of the numeric values above are not in the respective provided ranges, the command MUST be ignored by the receiving node.
2.2.1.13. Active Schedule Daily Repeating Schedule Report Command¶
This command is used to return the requested schedule information for the identified Target and schedule slot ID.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ACTIVE_SCHEDULE (0xA4) |
|||||||
Command = ACTIVE_SCHEDULE_DAILY_REPEATING_REPORT (0x0B) |
|||||||
Reserved (5 Bits) |
Report Code |
||||||
Target CC |
|||||||
Target ID (MSB) |
|||||||
Target ID (LSB) |
|||||||
Schedule Slot ID (MSB) |
|||||||
Schedule Slot ID (LSB) |
|||||||
Next Schedule Slot ID (MSB) |
|||||||
Next Schedule Slot ID (LSB) |
|||||||
Week Day Bitmask |
|||||||
Start Hour |
|||||||
Start Minute |
|||||||
Duration Hour |
|||||||
Duration Minute |
|||||||
Reserved (5 bits) |
Metadata Length |
||||||
Metadata 1 |
|||||||
… |
|||||||
Metadata N |
|||||||
Unless otherwise specified, field definitions and requirements in this command mirror Active Schedule Year Day Schedule Set Command.
Reserved (5 bits)
\requirement{CC:00A4.01.0B.11.001}{0}
These bits MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Report Code (3 bits)
\requirement{CC:00A4.01.0B.11.002}{0}
This field mirrors the definition and requirements for the Report Code in the Active Schedule Year Day Schedule Report Command.
Next Schedule Slot ID (16 bits)
This value contains the next occupied schedule slot index for the provided Target, or zero (0) if there are no subsequent occupied schedule slots for a given target.
\requirement{CC:00A4.01.0B.11.003}{0}
If a requested schedule slot is erased/empty the time fields MUST be set to 0x00.