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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions