Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align thermostat cluster better with the spec. #18594

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3328,7 +3328,13 @@ server cluster Thermostat = 513 {
kAutomode = 0x20;
}

readonly attribute int16s localTemperature = 0;
struct ThermostatScheduleTransition {
int16u transitionTime = 0;
nullable int16s heatSetpoint = 1;
nullable int16s coolSetpoint = 2;
}

readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMaxHeatSetpointLimit = 4;
readonly attribute int16s absMinCoolSetpointLimit = 5;
Expand Down
8 changes: 7 additions & 1 deletion examples/placeholder/linux/apps/app1/config.matter
Original file line number Diff line number Diff line change
Expand Up @@ -2282,7 +2282,13 @@ server cluster Thermostat = 513 {
kAutomode = 0x20;
}

readonly attribute int16s localTemperature = 0;
struct ThermostatScheduleTransition {
int16u transitionTime = 0;
nullable int16s heatSetpoint = 1;
nullable int16s coolSetpoint = 2;
}

readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMinCoolSetpointLimit = 5;
readonly attribute int16s absMaxCoolSetpointLimit = 6;
Expand Down
8 changes: 7 additions & 1 deletion examples/placeholder/linux/apps/app2/config.matter
Original file line number Diff line number Diff line change
Expand Up @@ -2282,7 +2282,13 @@ server cluster Thermostat = 513 {
kAutomode = 0x20;
}

readonly attribute int16s localTemperature = 0;
struct ThermostatScheduleTransition {
int16u transitionTime = 0;
nullable int16s heatSetpoint = 1;
nullable int16s coolSetpoint = 2;
}

readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMinCoolSetpointLimit = 5;
readonly attribute int16s absMaxCoolSetpointLimit = 6;
Expand Down
18 changes: 12 additions & 6 deletions examples/thermostat/thermostat-common/thermostat.matter
Original file line number Diff line number Diff line change
Expand Up @@ -1039,7 +1039,13 @@ server cluster Thermostat = 513 {
kAutomode = 0x20;
}

readonly attribute int16s localTemperature = 0;
struct ThermostatScheduleTransition {
int16u transitionTime = 0;
nullable int16s heatSetpoint = 1;
nullable int16s coolSetpoint = 2;
}

readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMaxHeatSetpointLimit = 4;
readonly attribute int16s absMinCoolSetpointLimit = 5;
Expand All @@ -1065,10 +1071,10 @@ server cluster Thermostat = 513 {
}

request struct SetWeeklyScheduleRequest {
ENUM8 numberOfTransitionsForSequence = 0;
INT8U numberOfTransitionsForSequence = 0;
DayOfWeek dayOfWeekForSequence = 1;
ModeForSequence modeForSequence = 2;
INT8U payload[] = 3;
ThermostatScheduleTransition transitions[] = 3;
}

request struct GetWeeklyScheduleRequest {
Expand All @@ -1077,15 +1083,15 @@ server cluster Thermostat = 513 {
}

response struct GetWeeklyScheduleResponse = 0 {
ENUM8 numberOfTransitionsForSequence = 0;
INT8U numberOfTransitionsForSequence = 0;
DayOfWeek dayOfWeekForSequence = 1;
ModeForSequence modeForSequence = 2;
INT8U payload[] = 3;
ThermostatScheduleTransition transitions[] = 3;
}

response struct GetRelayStatusLogResponse = 1 {
INT16U timeOfDay = 0;
BITMAP16 relayStatus = 1;
BITMAP8 relayStatus = 1;
INT16S localTemperature = 2;
INT8U humidityInPercentage = 3;
INT16S setpoint = 4;
Expand Down
34 changes: 17 additions & 17 deletions src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ tests:
- label:
"Reads constraints of mandatory attributes from DUT: LocalTemperature"
command: "readAttribute"
attribute: "local temperature"
attribute: "LocalTemperature"
response:
constraints:
type: int16
Expand All @@ -42,7 +42,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
AbsMinHeatSetpointLimit"
command: "readAttribute"
attribute: "abs min heat setpoint limit"
attribute: "AbsMinHeatSetpointLimit"
response:
constraints:
type: int16
Expand All @@ -53,7 +53,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
AbsMaxHeatSetpointLimit"
command: "readAttribute"
attribute: "abs max heat setpoint limit"
attribute: "AbsMaxHeatSetpointLimit"
response:
constraints:
type: int16
Expand All @@ -65,7 +65,7 @@ tests:
AbsMinCoolSetpointLimit"
optional: true
command: "readAttribute"
attribute: "abs min cool setpoint limit"
attribute: "AbsMinCoolSetpointLimit"
response:
constraints:
type: int16
Expand All @@ -77,7 +77,7 @@ tests:
AbsMaxCoolSetpointLimit"
optional: true
command: "readAttribute"
attribute: "abs max cool setpoint limit"
attribute: "AbsMaxCoolSetpointLimit"
response:
constraints:
type: int16
Expand Down Expand Up @@ -111,7 +111,7 @@ tests:
OccupiedCoolingSetpoint"
optional: true
command: "readAttribute"
attribute: "occupied cooling setpoint"
attribute: "OccupiedCoolingSetpoint"
response:
constraints:
type: int16
Expand All @@ -122,7 +122,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
OccupiedHeatingSetpoint"
command: "readAttribute"
attribute: "occupied heating setpoint"
attribute: "OccupiedHeatingSetpoint"
response:
constraints:
type: int16
Expand Down Expand Up @@ -157,7 +157,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
MinHeatSetpointLimit"
command: "readAttribute"
attribute: "min heat setpoint limit"
attribute: "MinHeatSetpointLimit"
response:
constraints:
type: int16
Expand All @@ -168,7 +168,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
MaxHeatSetpointLimit"
command: "readAttribute"
attribute: "max heat setpoint limit"
attribute: "MaxHeatSetpointLimit"
response:
constraints:
type: int16
Expand All @@ -180,7 +180,7 @@ tests:
MinCoolSetpointLimit"
optional: true
command: "readAttribute"
attribute: "min cool setpoint limit"
attribute: "MinCoolSetpointLimit"
response:
constraints:
type: int16
Expand All @@ -192,7 +192,7 @@ tests:
MaxCoolSetpointLimit"
optional: true
command: "readAttribute"
attribute: "max cool setpoint limit"
attribute: "MaxCoolSetpointLimit"
response:
constraints:
type: int16
Expand All @@ -203,7 +203,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
ControlSequenceOfOperation"
command: "readAttribute"
attribute: "control sequence of operation"
attribute: "ControlSequenceOfOperation"
response:
constraints:
type: enum8
Expand All @@ -212,7 +212,7 @@ tests:

- label: "Reads constraints of mandatory attributes from DUT: SystemMode"
command: "readAttribute"
attribute: "system mode"
attribute: "SystemMode"
response:
constraints:
type: enum8
Expand Down Expand Up @@ -267,7 +267,7 @@ tests:
MinSetpointDeadBand"
optional: true
command: "readAttribute"
attribute: "min setpoint dead band"
attribute: "MinSetpointDeadBand"
response:
constraints:
type: int8
Expand Down Expand Up @@ -309,7 +309,7 @@ tests:
- label: "Reads constraints of optional attributes from DUT: StartOfWeek"
optional: true
command: "readAttribute"
attribute: "start of week"
attribute: "StartOfWeek"
response:
constraints:
type: enum8
Expand All @@ -321,7 +321,7 @@ tests:
NumberOfWeeklyTransitions"
optional: true
command: "readAttribute"
attribute: "number of weekly transitions"
attribute: "NumberOfWeeklyTransitions"
response:
constraints:
type: uint8
Expand All @@ -331,7 +331,7 @@ tests:
NumberOfDailyTransitions"
optional: true
command: "readAttribute"
attribute: "number of daily transitions"
attribute: "NumberOfDailyTransitions"
response:
constraints:
type: uint8
Expand Down
Loading