Input to the Thermostat setWeeklySchedule command

MatterSpecification.v13.Cluster § 4.3.10.4

interface SetWeeklyScheduleRequest {
    dayOfWeekForSequence: TypeFromPartialBitSchema<{
        away: BitFlag;
        friday: BitFlag;
        monday: BitFlag;
        saturday: BitFlag;
        sunday: BitFlag;
        thursday: BitFlag;
        tuesday: BitFlag;
        wednesday: BitFlag;
    }>;
    modeForSequence: TypeFromPartialBitSchema<{
        coolSetpointPresent: BitFlag;
        heatSetpointPresent: BitFlag;
    }>;
    numberOfTransitionsForSequence: number;
    transitions: TypeFromFields<{
        coolSetpoint: FieldType<null | number>;
        heatSetpoint: FieldType<null | number>;
        transitionTime: FieldType<number>;
    }>[];
}

Hierarchy (view full)

Properties

dayOfWeekForSequence: TypeFromPartialBitSchema<{
    away: BitFlag;
    friday: BitFlag;
    monday: BitFlag;
    saturday: BitFlag;
    sunday: BitFlag;
    thursday: BitFlag;
    tuesday: BitFlag;
    wednesday: BitFlag;
}>

This field shall represent the day of the week at which all the transitions within the payload of the command SHOULD be associated to. This field is a bitmap and therefore the associated setpoint could overlap onto multiple days (you could set one transition time for all “week days” or whatever combination of days the implementation requests).

Each setpoint transition will begin with the day of week for this transition. There can be up to 10 transitions for each command.

Type declaration

MatterSpecification.v13.Cluster § 4.3.10.4.2

modeForSequence: TypeFromPartialBitSchema<{
    coolSetpointPresent: BitFlag;
    heatSetpointPresent: BitFlag;
}>

This field shall indicate how the application decodes the setpoint fields of each transition in the Transitions list.

If the HeatSetpointPresent bit is On, the HeatSetpoint field shall NOT be null in every entry of the Transitions list.

If the HeatSetpointPresent bit is Off, the HeatSetpoint field shall be null in every entry of the Transitions list.

If the CoolSetpointPresent bit is On, the CoolSetpoint field shall NOT be null in every entry of the Transitions list.

If the CoolSetpointPresent bit is Off, the CoolSetpoint field shall be null in every entry of the Transitions list.

At least one of the bits in the Mode For Sequence byte shall be on.

Both bits must be respected, even if the HEAT or COOL feature is not supported, to ensure the command is decoded and handled correctly.

Type declaration

  • coolSetpointPresent: BitFlag

    Adjust Cool Setpoint

  • heatSetpointPresent: BitFlag

    Adjust Heat Setpoint

MatterSpecification.v13.Cluster § 4.3.10.4.3

numberOfTransitionsForSequence: number

This field shall indicate how many individual transitions to expect for this sequence of commands. If a device supports more than 10 transitions in its schedule they can send this by sending more than 1 “Set Weekly Schedule” command, each containing the separate information that the device needs to set.

MatterSpecification.v13.Cluster § 4.3.10.4.1

transitions: TypeFromFields<{
    coolSetpoint: FieldType<null | number>;
    heatSetpoint: FieldType<null | number>;
    transitionTime: FieldType<number>;
}>[]

This field shall contain the list of setpoint transitions used to update the specified daily schedules

MatterSpecification.v13.Cluster § 4.3.10.4.4