Describe the bug
According to the Matter Thermostat cluster specification, writes to OccupiedCoolingSetpoint outside the range
MinCoolSetpointLimit ≤ OccupiedCoolingSetpoint ≤ MaxCoolSetpointLimit must be rejected with CONSTRAINT_ERROR.
AbsMinCoolSetpointLimit = 1600
AbsMaxCoolSetpointLimit = 3200
MinCoolSetpointLimit = 1600
MaxCoolSetpointLimit = 3000
However, on the ESP Matter implementation, writes outside this range return SUCCESS.
Observed behavior
./chip-tool thermostat write occupied-cooling-setpoint 3400 1 1 → SUCCESS
./chip-tool thermostat write occupied-cooling-setpoint 3200 1 1 → SUCCESS
./chip-tool thermostat write occupied-cooling-setpoint 1500 1 1 → SUCCESS
./chip-tool thermostat write occupied-cooling-setpoint 1400 1 1 → SUCCESS
Expected behavior:
Writes < MinCoolSetpointLimit (1600) or > MaxCoolSetpointLimit (3000) Should be rejected with:
IM Status = CONSTRAINT_ERROR (0x87), and the attribute value should remain unchanged
Environment
-
ESP-Matter Commit Id: 75775c0 (release/v1.5)
-
ESP-IDF Commit Id: 4c2820d377d1375e787bcef612f0c32c1427d183 (v5.4.1)
-
SoC (eg: ESP32 or ESP32-C3): ESP32-C3
-
Device Logs (Please attach the log file):
-
Host Machine OS: Ubuntu
-
Host Machine Python version:
-
Commissioner app and versions if present: chip-tool
-
Home hub app and versions if present: NA
-
Commissioner's logs if present: NA
Any additional details
...