espressif / esp-matter

Espressif's SDK for Matter
Apache License 2.0
685 stars 155 forks source link

problem in TC-TSTAT-2.1 (CON-1241) #997

Closed FMistrorigo closed 3 months ago

FMistrorigo commented 3 months ago

Description I'm trying to test my device that imlements a thermostat cluster, in the PICS i added the "Thermostat Cluster Test Plan.xml" file and this implemented the test case TSTAT.

The problem is in the step 18a in my case, the test tryes to "Read attribute MaxHeatSetpointLimit from the DUT" but i get the error "Test Failure: The response value (3500) should be lower or equal to the constraint but 3500 > 3000.". image

I thougt that maybe I didn't initialized correctly the values of the attributes of the thermostat but it was not the case, in fact everything seems fine and I don't have any attribute with value 3000.

In the previous steps (Step 1) it reads all the attribute values and in both AbsMaxHeatSetpointLimit and MaxHeatSetpointLimit the value is 3500. image I can't figure out why in the test is used 3000 and not the 3500 value readed before.

The problem is only in the Heating Attributes and i don't know why.

These are my values: image

Environment ESP-IDF Commit Id: a322e6bdad4b6675d4597fb2722eea2851ba88cb (HEAD, tag: v5.2.1) ESP-Matter Commit Id: https://github.com/espressif/esp-matter/commit/1a35c738dff33e5e988d92d0028ed7a60d4336f6 (HEAD -> release/v1.2, origin/release/v1.2) connectedhomeip Commit Id: 46e1ad8478c55ec20273da9d40a9c6fecf5c6b38 SoC: ESP32-S3 Host Machine OS: Ubuntu 22.04.3 (WSL)

FMistrorigo commented 3 months ago

This problem affect the TC-TSTAT-2.2, in the step 7c "Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit attribute", in this test it's checked that MinHeatSetpointLimit <= MaxHeatSetpointLimit <= AbsMaxHeatSetpointLimit, but if the AbsmaxHeatSetpointLimit is wrong the test fails. (In my case 300<=3500<=3000)

It seeems that the test can't save the right value of AbsmaxHeatSetpointLimit or in the test is used 3000 as default value.

VaishaliAvhale commented 3 months ago

User configurable limits must be within device limits:

image

The test case failed because the absolute min/max heat/cool setpoint limit attribute was set to the default value. If you want to self-configure that attribute, please follow the attached condition.

Note: If you only want to test the thermostat, use the default value as the test steps are designed accordingly. Otherwise, you need to adjust the test steps according to the attribute limits.

FMistrorigo commented 3 months ago

Why is the test using 3000 as value to check if the MaxHeatSetpointLimit is valid?

VaishaliAvhale commented 3 months ago

Hi @FMistrorigo, 3000 is the default value of the MaxHeatSetpointLimit attribute. As I mentioned earlier, the certification test cases are designed based on the default value. If you want to test the changes you have made, please update the test suite, otherwise, set the attribute value to the default. To update the existing YAML Test Script, follow the steps shown in the attached screenshot: Screenshot from 2024-07-15 17-58-50

FMistrorigo commented 3 months ago

Thanks, it solved the problem, I still can't understand why the test was created like this, it was possible to make it fully automatic and without hardcoded values, but maybe you have your reasons.