Skip to content

[Thermostat cluster] - OccupiedCoolingSetpoint writes outside limits do not return CONSTRAINT_ERROR (CON-1947) #1677

@aggaddam

Description

@aggaddam

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
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions