From ce5d2e34db200191988aa217a123053d67e6d605 Mon Sep 17 00:00:00 2001 From: Nivedita Sarkar Date: Thu, 8 Aug 2024 11:18:21 -0700 Subject: [PATCH 1/4] Update the cluster revision of the thermostat cluster to 7 (including Presets feature) - Update the YAML file accordingly --- .../all-clusters-common/all-clusters-app.matter | 2 +- .../all-clusters-app/all-clusters-common/all-clusters-app.zap | 2 +- examples/thermostat/thermostat-common/thermostat.matter | 2 +- examples/thermostat/thermostat-common/thermostat.zap | 2 +- src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index 776b241c6ed958..c31a0c8ca9292d 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -9068,7 +9068,7 @@ endpoint 1 { callback attribute eventList; callback attribute attributeList; ram attribute featureMap default = 0x0123; - ram attribute clusterRevision default = 6; + ram attribute clusterRevision default = 7; handle command SetpointRaiseLower; handle command SetActiveScheduleRequest; diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap index f817d147160ef9..9a736eea56fa30 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap @@ -16918,7 +16918,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "7", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index a53e3cdc692952..c53651c537894e 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -2801,7 +2801,7 @@ endpoint 1 { callback attribute acceptedCommandList; callback attribute attributeList; ram attribute featureMap default = 0x123; - ram attribute clusterRevision default = 6; + ram attribute clusterRevision default = 7; handle command SetpointRaiseLower; handle command SetActiveScheduleRequest; diff --git a/examples/thermostat/thermostat-common/thermostat.zap b/examples/thermostat/thermostat-common/thermostat.zap index 8b2fe4f5c82318..ffb9da2b136de9 100644 --- a/examples/thermostat/thermostat-common/thermostat.zap +++ b/examples/thermostat/thermostat-common/thermostat.zap @@ -5088,7 +5088,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "7", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml index fe6b89ae930517..789f477667010b 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml @@ -37,7 +37,7 @@ tests: command: "readAttribute" attribute: "ClusterRevision" response: - value: 6 + value: 7 constraints: type: int16u From 32aaf520ca0304952bc2bdb9adf2297a04aae3ce Mon Sep 17 00:00:00 2001 From: Nivedita Sarkar Date: Thu, 8 Aug 2024 13:32:44 -0700 Subject: [PATCH 2/4] Fix the PICS condition for reading Presets and schedules attribute - Disable the PICS code for Schedules feature and attribute since it is not implemented yet. --- .../tests/suites/certification/Test_TC_TSTAT_4_1.yaml | 10 +++++----- src/app/tests/suites/certification/ci-pics-values | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_4_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_4_1.yaml index aa12c7bec5e6f0..50037d682d9faa 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_4_1.yaml @@ -70,7 +70,7 @@ tests: saveAs: SchedulesValue - label: "Step 2: TH reads the PresetTypes attribute from the DUT" - PICS: TSTAT.S.F08 & TSTAT.S.A0048 + PICS: TSTAT.S.F08 && TSTAT.S.A0048 command: "readAttribute" attribute: "PresetTypes" response: @@ -78,7 +78,7 @@ tests: type: list - label: "Step 3: TH reads the NumberOfPresets attribute from the DUT" - PICS: TSTAT.S.F08 & TSTAT.S.A004a + PICS: TSTAT.S.F08 && TSTAT.S.A004a command: "readAttribute" attribute: "NumberOfPresets" response: @@ -86,7 +86,7 @@ tests: type: int8u - label: "Step 4: TH reads the ActivePresetHandle attribute from the DUT" - PICS: TSTAT.S.F08 & TSTAT.S.A004e + PICS: TSTAT.S.F08 && TSTAT.S.A004e command: "readAttribute" attribute: "ActivePresetHandle" response: @@ -94,7 +94,7 @@ tests: type: octstr - label: "Step 5: TH reads the Presets attribute from the DUT" - PICS: TSTAT.S.F08 & TSTAT.S.A0050 + PICS: TSTAT.S.F08 && TSTAT.S.A0050 command: "readAttribute" attribute: "Presets" response: @@ -102,7 +102,7 @@ tests: type: list - label: "Step 6: TH reads the Schedules attribute from the DUT" - PICS: TSTAT.S.F07 & TSTAT.S.A0051 + PICS: TSTAT.S.F07 && TSTAT.S.A0051 command: "readAttribute" attribute: "Schedules" response: diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 70a0e79760be3a..61c2fb8d4c6b4d 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -1931,6 +1931,7 @@ TSTAT.S.F03=0 TSTAT.S.F04=0 TSTAT.S.F05=1 TSTAT.S.F06=0 +TSTAT.S.F07=0 TSTAT.S.F08=1 TSTAT.S.A0000=1 @@ -1987,7 +1988,7 @@ TSTAT.S.A0048=1 TSTAT.S.A004a=1 TSTAT.S.A004e=1 TSTAT.S.A0050=1 -TSTAT.S.A0051=1 +TSTAT.S.A0051=0 TSTAT.S.M.MinSetpointDeadBandWritable=1 TSTAT.S.M.HVACSystemTypeConfigurationWritable=0 From afce33629ca07e2bc8c86a6117e52b3d48ebb309 Mon Sep 17 00:00:00 2001 From: Nivedita Sarkar Date: Thu, 8 Aug 2024 14:17:06 -0700 Subject: [PATCH 3/4] Add PICS code for schedules feature to PICS.yaml --- src/app/tests/suites/certification/PICS.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index 9d8011ceee2172..a81f2b4bee9195 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -6567,6 +6567,9 @@ PICS: - label: "Supports a local temperature not exposed" id: TSTAT.S.F06 + - label: "Supports enhanced schedules" + id: TSTAT.S.F07 + - label: "Supports setpoint presets" id: TSTAT.S.F08 From 25c10afceaa8b0082d391929c62b96f3d7866bd0 Mon Sep 17 00:00:00 2001 From: Nivedita Sarkar Date: Thu, 8 Aug 2024 15:48:48 -0700 Subject: [PATCH 4/4] Update the PICs code for atomic request from TSTAT.S.CFE.Rsp to TSTAT.S.Cfe.Rsp to follow convention --- src/app/tests/suites/certification/PICS.yaml | 4 ++-- .../tests/suites/certification/ci-pics-values | 4 ++-- src/python_testing/TC_TSTAT_4_2.py | 22 +++++++++---------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index a81f2b4bee9195..a960ed661aea04 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -6525,7 +6525,7 @@ PICS: - label: "Does the device implement receiving the AtomicRequest command for Thermostat?" - id: TSTAT.S.CFE.Rsp + id: TSTAT.S.Cfe.Rsp # # server / commandsGenerated @@ -6619,7 +6619,7 @@ PICS: id: TSTAT.C.C06.Tx - label: "Does the device implement sending the AtomicRequest command?" - id: TSTAT.C.CFE.Tx + id: TSTAT.C.Cfe.Tx # # client / manually diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 61c2fb8d4c6b4d..6763104e376603 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -2000,7 +2000,7 @@ TSTAT.S.C02.Rsp=0 TSTAT.S.C03.Rsp=0 TSTAT.S.C04.Rsp=0 TSTAT.S.C06.Rsp=1 -TSTAT.S.CFE.Rsp=1 +TSTAT.S.Cfe.Rsp=1 TSTAT.S.CFD.Tx=1 # Client @@ -2017,7 +2017,7 @@ TSTAT.C.C03.Tx=0 TSTAT.S.C00.Tx=0 TSTAT.S.C01.Tx=0 TSTAT.C.C06.Tx=1 -TSTAT.C.CFE.Tx=1 +TSTAT.C.Cfe.Tx=1 # Client Commands TSTAT.C.C00.Tx=1 diff --git a/src/python_testing/TC_TSTAT_4_2.py b/src/python_testing/TC_TSTAT_4_2.py index 58d78ef4491a73..90c820ebe07002 100644 --- a/src/python_testing/TC_TSTAT_4_2.py +++ b/src/python_testing/TC_TSTAT_4_2.py @@ -179,7 +179,7 @@ async def test_TC_TSTAT_4_2(self): asserts.assert_true(status_ok, "Presets write did not return InvalidInState as expected") self.step("3") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): await self.send_edit_atomic_request_begin_command() # Write to the presets attribute after calling AtomicRequest command @@ -199,7 +199,7 @@ async def test_TC_TSTAT_4_2(self): asserts.assert_equal(presets, initial_presets, "Presets were updated which is not expected") self.step("4") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the AtomicRequest begin command await self.send_edit_atomic_request_begin_command() @@ -218,7 +218,7 @@ async def test_TC_TSTAT_4_2(self): asserts.assert_equal(presets, new_presets_with_handle, "Presets were not updated which is not expected") self.step("5") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the AtomicRequest begin command await self.send_edit_atomic_request_begin_command() @@ -234,7 +234,7 @@ async def test_TC_TSTAT_4_2(self): await self.send_edit_atomic_request_commit_command(expected_overall_status=Status.Failure, expected_preset_status=Status.ConstraintError) self.step("6") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.C06.Rsp") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.C06.Rsp") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the SetActivePresetRequest command await self.send_set_active_preset_handle_request_command(value=b'\x03') @@ -258,7 +258,7 @@ async def test_TC_TSTAT_4_2(self): await self.send_edit_atomic_request_commit_command(expected_overall_status=Status.Failure, expected_preset_status=Status.InvalidInState) self.step("7") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the AtomicRequest begin command await self.send_edit_atomic_request_begin_command() @@ -275,7 +275,7 @@ async def test_TC_TSTAT_4_2(self): await self.send_edit_atomic_request_rollback_command() self.step("8") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the AtomicRequest begin command await self.send_edit_atomic_request_begin_command() @@ -294,7 +294,7 @@ async def test_TC_TSTAT_4_2(self): await self.send_edit_atomic_request_rollback_command() self.step("9") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the AtomicRequest begin command await self.send_edit_atomic_request_begin_command() @@ -312,7 +312,7 @@ async def test_TC_TSTAT_4_2(self): await self.send_edit_atomic_request_rollback_command() self.step("10") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the AtomicRequest begin command await self.send_edit_atomic_request_begin_command() @@ -330,7 +330,7 @@ async def test_TC_TSTAT_4_2(self): await self.send_edit_atomic_request_rollback_command() self.step("11") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the AtomicRequest begin command await self.send_edit_atomic_request_begin_command() @@ -347,7 +347,7 @@ async def test_TC_TSTAT_4_2(self): await self.send_edit_atomic_request_rollback_command() self.step("12") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the AtomicRequest begin command await self.send_edit_atomic_request_begin_command() @@ -364,7 +364,7 @@ async def test_TC_TSTAT_4_2(self): await self.send_edit_atomic_request_rollback_command() self.step("13") - if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.CFE.Rsp")): + if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")): # Send the AtomicRequest begin command await self.send_edit_atomic_request_begin_command()