project-chip / connectedhomeip

Matter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.
https://buildwithmatter.com
Apache License 2.0
7.5k stars 2.01k forks source link

[1.4] In WaterHeaterManagement Cluster, The Featuremap and ClusterRevision values are Failure instead of Success. #36417

Open Ashwinigrl opened 1 week ago

Ashwinigrl commented 1 week ago

Description

In the WaterHeaterManagement Cluster, When we read the FeatureMap and ClusterRevision attributes from the DUT returns a failure response instead of a success response with the expected values. The sample app(Energy-Management-app) needs to be updated to correct the FeatureMap and ClusterRevision attributes response.

Reproduction steps

  1. Execute the below mentioned command to put DUT into a commissionable state : ./chip-energy-management-app

  2. Once DUT reach the commissionable state sent below mentioned command on TH. ./chip-tool pairing onnetwork 1 20202021

Once after successful pairing provide the below commands:

  1. TH reads FeatureMap value from the DUT.

./chip-tool waterheatermanagement read feature-map 1 1

Actual Outcome:

[1730974880.590] [65803:65805] [DMG] { [1730974880.590] [65803:65805] [DMG] status = 0x01 (FAILURE), [1730974880.590] [65803:65805] [DMG] }, [1730974880.590] [65803:65805] [DMG]
[1730974880.590] [65803:65805] [DMG] }, [1730974880.590] [65803:65805] [DMG]
[1730974880.590] [65803:65805] [DMG] }, [1730974880.590] [65803:65805] [DMG]
[1730974880.590] [65803:65805] [DMG] ], [1730974880.590] [65803:65805] [DMG]
[1730974880.590] [65803:65805] [DMG] SuppressResponse = true, [1730974880.590] [65803:65805] [DMG] InteractionModelRevision = 11 [1730974880.590] [65803:65805] [DMG] }

Expected Outcome:

[1730975412.558] [65847:65849] [DMG] }, [1730975412.558] [65847:65849] [DMG]
[1730975412.558] [65847:65849] [DMG] }, [1730975412.558] [65847:65849] [DMG]
[1730975412.558] [65847:65849] [DMG] ], [1730975412.558] [65847:65849] [DMG]
[1730975412.558] [65847:65849] [DMG] SuppressResponse = true, [1730975412.558] [65847:65849] [DMG] InteractionModelRevision = 11 [1730975412.558] [65847:65849] [DMG] } [1730975412.558] [65847:65849] [TOO] Endpoint: 1 Cluster: 0x0000_0094 Attribute 0x0000_FFFC DataVersion: 3823610553 [1730975412.559] [65847:65849] [TOO] FeatureMap:

  1. TH reads ClusterRevision value from the DUT.

./chip-tool waterheatermanagement read cluster-revision 1 1

Actual Outcome:

[1730978688.118] [66624:66626] [DMG] { [1730978688.118] [66624:66626] [DMG] status = 0x01 (FAILURE), [1730978688.119] [66624:66626] [DMG] }, [1730978688.119] [66624:66626] [DMG]
[1730978688.119] [66624:66626] [DMG] }, [1730978688.119] [66624:66626] [DMG]
[1730978688.119] [66624:66626] [DMG] }, [1730978688.119] [66624:66626] [DMG]
[1730978688.119] [66624:66626] [DMG] ], [1730978688.119] [66624:66626] [DMG]
[1730978688.119] [66624:66626] [DMG] SuppressResponse = true, [1730978688.119] [66624:66626] [DMG] InteractionModelRevision = 11 [1730978688.119] [66624:66626] [DMG] }

Expected Outcome:

[1730978939.117] [66655:66657] [DMG] Data = 2 (unsigned), [1730978939.117] [66655:66657] [DMG] }, [1730978939.117] [66655:66657] [DMG]
[1730978939.117] [66655:66657] [DMG] }, [1730978939.117] [66655:66657] [DMG]
[1730978939.117] [66655:66657] [DMG] ], [1730978939.117] [66655:66657] [DMG]
[1730978939.117] [66655:66657] [DMG] SuppressResponse = true, [1730978939.117] [66655:66657] [DMG] InteractionModelRevision = 11 [1730978939.117] [66655:66657] [DMG] } [1730978939.117] [66655:66657] [TOO] Endpoint: 1 Cluster: 0x0000_0094 Attribute 0x0000_FFFD DataVersion: 2387229930 [1730978939.117] [66655:66657] [TOO] ClusterRevision: 2

Sample App used to read the FeatureMap value: EnergyManagementApp

Bug prevalence

Whenever we do

GitHub hash of the SDK that was being used

9c389ba953caa435d1f1ed34d5b799e9d1a7a4ea

Platform

raspi

Spec References:

Log References: WaterHeaterManagement.txt

bzbarsky-apple commented 1 week ago

@jamesharrow

lboue commented 6 days ago

Did you try against PR #36201?

jamesharrow commented 6 days ago

The issue is that you need to use --application water-heater to enable the Water Heater cluster to respond on EP1 on Linux (or compile this for an embedded target with water heater enabled).

@ashwinigrl - please retest with the extra command line option.

Note that the PR #36201 will move the Water Heater to a different endpoint once merged.