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

XML only commit for 1.3 Thermostat spec changes. Cluster xml file #30672

Merged
merged 56 commits into from
Jan 16, 2024
Merged
Show file tree
Hide file tree
Changes from 50 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
4bd98d4
XML only commit for 1.3 Thermostat spec changes. Cluster xml file
drempelg Nov 27, 2023
e1645ba
Fixed Types (going blind here since I'm not sure how to compile these)
drempelg Nov 27, 2023
135ce2d
Restyled by whitespace
restyled-commits Nov 27, 2023
39556b8
Restyled by clang-format
restyled-commits Nov 27, 2023
f84e0cc
manually adjust to the two's compliment since bad code gen was happening
drempelg Nov 27, 2023
bfc140a
fixed copypaste typo
drempelg Nov 27, 2023
259f45b
fixing esp build
drempelg Nov 27, 2023
4e76e34
didn't fix the build after all, reverted, and fixed another typo.
drempelg Nov 28, 2023
6e96a68
Think last commit fixed telink build, lets see if this fixes the rest
drempelg Nov 28, 2023
087be73
more blind changes using pull requests as a compiler...
drempelg Nov 28, 2023
aabebf5
switch is probably better
drempelg Nov 28, 2023
ad15e5f
would help if I used the right variable...
drempelg Nov 28, 2023
874a24f
more type safety to make it build (not doing all of it, since I can't
drempelg Nov 28, 2023
9c4be40
more type fixes
drempelg Nov 28, 2023
0b8ea58
and some more
drempelg Nov 28, 2023
e706f3c
and more
drempelg Nov 28, 2023
a17527b
last one?
drempelg Nov 28, 2023
3cdc17e
on to minimal...
drempelg Nov 28, 2023
7393dd6
regenerated with a new JRE, hopefully will pass the codegen check
drempelg Nov 28, 2023
de94361
Restyled by clang-format
restyled-commits Nov 28, 2023
67613e6
new xml, new regen.
drempelg Nov 28, 2023
94f4565
Merge branch 'master' into feature/presets-xml
drempelg Nov 28, 2023
c628e94
Merge branch 'master' into feature/presets-xml
drempelg Nov 29, 2023
fe50b76
apparently we need a reg after this merge :)
drempelg Nov 29, 2023
2a2cd03
Lets see if this is good enough to get through the chip-repl tests
drempelg Nov 29, 2023
1252807
Added the queued preset encoding
drempelg Nov 29, 2023
f59c140
Set a sane minimum value for LocalTemperatureCalibration
drempelg Nov 29, 2023
29f761e
Restyled by clang-format
restyled-commits Nov 29, 2023
f9cd237
Merge branch 'master' into feature/presets-xml
drempelg Nov 29, 2023
1c5bc94
turned off the new commands for now since the test suite can't handle
drempelg Nov 29, 2023
8b93263
passing all the TSTAT unit tests now locally, lets see if the remote
drempelg Nov 29, 2023
b219209
Fixing ameba target
drempelg Nov 30, 2023
d3ec9d7
Merge branch 'master' into feature/presets-xml
drempelg Dec 8, 2023
5c264fa
missed these in the merge
drempelg Dec 9, 2023
2892b06
After inspecting the bits of the xml that didn't conflict, found some
drempelg Dec 9, 2023
4c311d1
Revert this change back since it was decided in the great renaming to
drempelg Dec 9, 2023
0fe71a7
This should get us past the backward incompat test
drempelg Dec 11, 2023
474a51e
Merge branch 'master' into feature/presets-xml
drempelg Dec 11, 2023
1134093
Fix the bad merge I did using github directly
drempelg Dec 11, 2023
154ee2b
Merge branch 'master' into feature/presets-xml
drempelg Dec 11, 2023
bace8a4
Merge branch 'master' into feature/presets-xml
drempelg Dec 11, 2023
bbf0ec1
XML changes as requested
drempelg Dec 12, 2023
d57c654
Merge branch 'master' into feature/presets-xml
drempelg Dec 12, 2023
9859baa
Merge branch 'master' into feature/presets-xml
drempelg Dec 12, 2023
3950029
Blew away the zap generated dirs and regenerated again.
drempelg Dec 12, 2023
49479b0
missed changing the default response field here
drempelg Dec 12, 2023
3cc1427
Update src/app/clusters/thermostat-server/thermostat-server.cpp
drempelg Dec 13, 2023
c391e39
Update src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml
drempelg Dec 13, 2023
8c2abef
Fixed up the order of the commands and improved the comments.
drempelg Dec 13, 2023
a658907
Merge branch 'master' into feature/presets-xml
drempelg Dec 13, 2023
4982694
Merge branch 'master' into feature/presets-xml
drempelg Dec 18, 2023
46424a9
Merge branch 'master' into feature/presets-xml
drempelg Jan 8, 2024
4d223d2
Merge branch 'project-chip:master' into feature/presets-xml
drempelg Jan 8, 2024
01298fc
Merge branch 'master' into feature/presets-xml
drempelg Jan 8, 2024
2cf0f98
Merge branch 'master' into feature/presets-xml
drempelg Jan 11, 2024
526b521
ran regen
drempelg Jan 11, 2024
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
142 changes: 141 additions & 1 deletion examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
Original file line number Diff line number Diff line change
Expand Up @@ -4083,6 +4083,16 @@ cluster Thermostat = 513 {
kCoolingAndHeatingWithReheat = 5;
}

enum PresetScenarioEnum : enum8 {
kUnspecified = 0;
kOccupied = 1;
kUnoccupied = 2;
kSleep = 3;
kWake = 4;
kVacation = 5;
kUserDefined = 6;
}

enum SetpointChangeSourceEnum : enum8 {
kManual = 0;
kSchedule = 1;
Expand Down Expand Up @@ -4144,6 +4154,10 @@ cluster Thermostat = 513 {
kSetback = 0x10;
kAutoMode = 0x20;
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
kSetpoints = 0x200;
kQueuedPresetsSupported = 0x400;
}

bitmap HVACSystemTypeBitmap : bitmap8 {
Expand All @@ -4153,6 +4167,11 @@ cluster Thermostat = 513 {
kHeatingUsesFuel = 0x20;
}

bitmap PresetTypeFeaturesBitmap : bitmap16 {
kAutomatic = 0x1;
kSupportsNames = 0x2;
}

bitmap ProgrammingOperationModeBitmap : bitmap8 {
kScheduleActive = 0x1;
kAutoRecovery = 0x2;
Expand Down Expand Up @@ -4191,6 +4210,62 @@ cluster Thermostat = 513 {
kCoolSetpointPresent = 0x2;
}

bitmap ScheduleTypeFeaturesBitmap : bitmap16 {
kSupportsPresets = 0x1;
kSupportsSetpoints = 0x2;
kSupportsNames = 0x4;
kSupportsOff = 0x8;
}

bitmap TemperatureSetpointHoldPolicyBitmap : bitmap8 {
kHoldDurationElapsed = 0x1;
kHoldDurationElapsedOrPresetChanged = 0x2;
}

struct ScheduleTransitionStruct {
ScheduleDayOfWeekBitmap dayOfWeek = 0;
int16u transitionTime = 1;
optional octet_string<16> presetHandle = 2;
optional SystemModeEnum systemMode = 3;
optional temperature coolingSetpoint = 4;
optional temperature heatingSetpoint = 5;
}

struct ScheduleStruct {
nullable octet_string<16> scheduleHandle = 0;
SystemModeEnum systemMode = 1;
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
optional nullable boolean builtIn = 5;
}

struct PresetStruct {
nullable octet_string<16> presetHandle = 0;
PresetScenarioEnum presetScenario = 1;
optional nullable char_string<64> name = 2;
optional temperature coolingSetpoint = 3;
optional temperature heatingSetpoint = 4;
nullable boolean builtIn = 5;
}

struct PresetTypeStruct {
PresetScenarioEnum presetScenario = 0;
int8u numberOfPresets = 1;
PresetTypeFeaturesBitmap presetTypeFeatures = 2;
}

struct QueuedPresetStruct {
nullable octet_string<16> presetHandle = 0;
nullable epoch_s transitionTimestamp = 1;
}

struct ScheduleTypeStruct {
SystemModeEnum systemMode = 0;
int8u numberOfSchedules = 1;
ScheduleTypeFeaturesBitmap scheduleTypeFeatures = 2;
}

struct WeeklyScheduleTransitionStruct {
int16u transitionTime = 0;
nullable temperature heatSetpoint = 1;
Expand Down Expand Up @@ -4246,6 +4321,20 @@ cluster Thermostat = 513 {
attribute access(write: manage) optional ACLouverPositionEnum ACLouverPosition = 69;
readonly attribute optional nullable temperature ACCoilTemperature = 70;
attribute access(write: manage) optional ACCapacityFormatEnum ACCapacityformat = 71;
readonly attribute optional PresetTypeStruct presetTypes[] = 72;
readonly attribute optional ScheduleTypeStruct scheduleTypes[] = 73;
readonly attribute optional int8u numberOfPresets = 74;
readonly attribute optional int8u numberOfSchedules = 75;
readonly attribute optional int8u numberOfScheduleTransitions = 76;
readonly attribute optional nullable int8u numberOfScheduleTransitionPerDay = 77;
readonly attribute optional nullable octet_string<16> activePresetHandle = 78;
readonly attribute optional nullable octet_string<16> activeScheduleHandle = 79;
attribute access(write: manage) optional PresetStruct presets[] = 80;
attribute access(write: manage) optional ScheduleStruct schedules[] = 81;
readonly attribute optional boolean presetsSchedulesEditable = 82;
readonly attribute optional TemperatureSetpointHoldPolicyBitmap temperatureSetpointHoldPolicy = 83;
readonly attribute optional nullable epoch_s setpointHoldExpiryTimestamp = 84;
readonly attribute optional nullable QueuedPresetStruct queuedPreset = 85;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -4277,14 +4366,45 @@ cluster Thermostat = 513 {
ScheduleModeBitmap modeToReturn = 1;
}

request struct SetActiveScheduleRequestRequest {
octet_string<16> scheduleHandle = 0;
}

request struct SetActivePresetRequestRequest {
octet_string<16> presetHandle = 0;
optional int16u delayMinutes = 1;
}

request struct StartPresetsSchedulesEditRequestRequest {
int16u timeoutSeconds = 0;
}

request struct SetTemperatureSetpointHoldPolicyRequest {
TemperatureSetpointHoldPolicyBitmap temperatureSetpointHoldPolicy = 0;
}

/** Command description for SetpointRaiseLower */
command SetpointRaiseLower(SetpointRaiseLowerRequest): DefaultSuccess = 0;
/** Command description for SetWeeklySchedule */
command access(invoke: manage) SetWeeklySchedule(SetWeeklyScheduleRequest): DefaultSuccess = 1;
/** Command description for GetWeeklySchedule */
command GetWeeklySchedule(GetWeeklyScheduleRequest): GetWeeklyScheduleResponse = 2;
/** The Clear Weekly Schedule command is used to clear the weekly schedule. */
/** This command is used to clear the weekly schedule. The ClearWeeklySchedule command has no payload. */
command access(invoke: manage) ClearWeeklySchedule(): DefaultSuccess = 3;
/** This command is used to set the active schedule. */
command SetActiveScheduleRequest(SetActiveScheduleRequestRequest): DefaultSuccess = 5;
/** This command is used to set the active preset. */
command SetActivePresetRequest(SetActivePresetRequestRequest): DefaultSuccess = 6;
/** This command is used to start editing the presets and schedules. */
command access(invoke: manage) StartPresetsSchedulesEditRequest(StartPresetsSchedulesEditRequestRequest): DefaultSuccess = 7;
/** This command is used to cancel editing presets and schedules. */
command access(invoke: manage) CancelPresetsSchedulesEditRequest(): DefaultSuccess = 8;
/** This command is used to notify the server that all edits are done and should be committed. */
command access(invoke: manage) CommitPresetsSchedulesRequest(): DefaultSuccess = 9;
/** This command is sent to cancel a queued preset. */
command access(invoke: manage) CancelSetActivePresetRequest(): DefaultSuccess = 10;
/** This command sets the set point hold policy. */
command SetTemperatureSetpointHoldPolicy(SetTemperatureSetpointHoldPolicyRequest): DefaultSuccess = 11;
}

/** An interface for controlling a fan in a heating/cooling system. */
Expand Down Expand Up @@ -7234,6 +7354,19 @@ endpoint 1 {
ram attribute minSetpointDeadBand default = 0x19;
ram attribute controlSequenceOfOperation default = 0x04;
ram attribute systemMode default = 0x01;
callback attribute presetTypes;
callback attribute scheduleTypes;
ram attribute numberOfPresets default = 0;
ram attribute numberOfSchedules default = 0;
ram attribute numberOfScheduleTransitionPerDay default = 0xFF;
ram attribute activePresetHandle;
ram attribute activeScheduleHandle;
callback attribute presets;
callback attribute schedules;
ram attribute presetsSchedulesEditable;
ram attribute temperatureSetpointHoldPolicy default = 0;
ram attribute setpointHoldExpiryTimestamp;
callback attribute queuedPreset;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
Expand All @@ -7242,6 +7375,13 @@ endpoint 1 {
ram attribute clusterRevision default = 6;

handle command SetpointRaiseLower;
handle command SetActiveScheduleRequest;
handle command SetActivePresetRequest;
handle command StartPresetsSchedulesEditRequest;
handle command CancelPresetsSchedulesEditRequest;
handle command CommitPresetsSchedulesRequest;
handle command CancelSetActivePresetRequest;
handle command SetTemperatureSetpointHoldPolicy;
}

server cluster FanControl {
Expand Down
Loading
Loading