Missing UI for Temperature Level Control in Matter Refrigerator and Freezer (Profile: TL)
What is Wrong:
- For profile (TL), both refrigerator and freezer are configured with
TemperatureLevelControl. - However, no control UI is displayed for adjusting the temperature level for refrigerator (But works well for the freezer) in the SmartThings app.
- This affects the user experience as the temperature levels cannot be selected or modified through the app interface.
Steps to Reproduce:
- Commission a refrigerator or freezer device with profile (TL) on the SmartThings app.
- Open the device controls for
TemperatureLevelControl. - Observe that no UI is available for selecting or modifying temperature levels.
Expected Behavior:
- The UI should provide a slider or selection control for
TemperatureLevelControlto allow users to adjust temperature levels within the supported range.
Additional Information:
- Device Details:
- Controller: ESP32-S3
- Matter Version: 1.4
- IDF Version: 5.2.3
- Logs: Attached below are logs from the ESP-Matter setup and exported JSON attributes from the SmartThings app showing the missing UI issue.
Relevant Logs:
For setting the temp level for the freezer
I (549763) esp_matter_command: Received command 0x00000000 for endpoint 0x0003's cluster 0x00000056
I (549773) esp_matter_attribute: ********** R : Endpoint 0x0003's Cluster 0x00000056's Attribute 0x0000FFFC is 2 **********
AppSupportedTemperatureLevelsDelegate::Size endpoint 3
AppSupportedTemperatureLevelsDelegate::Size Size of endpoint 3 is 11
I (549773) esp_matter_attribute: ********** R : Endpoint 0x0003's Cluster 0x00000056's Attribute 0x00000004 is 6 **********
Exported JSON Attributes: From my.smartthings
[
{
"component": "freezer",
"capability": "mode",
"attribute": "mode",
"value": "Normal",
"timestamp": "2024-12-11T20:19:36.059Z"
},
{
"component": "freezer",
"capability": "mode",
"attribute": "supportedArguments",
"value": [
"Normal",
"Rapid Freeze"
],
"timestamp": "2024-12-11T20:19:35.780Z"
},
{
"component": "freezer",
"capability": "mode",
"attribute": "supportedModes",
"value": [
"Normal",
"Rapid Freeze"
],
"timestamp": "2024-12-11T20:19:35.586Z"
},
{
"component": "freezer",
"capability": "temperatureLevel",
"attribute": "supportedTemperatureLevels",
"value": [
"-14.0°C",
"-15.0°C",
"-16.0°C",
"-17.0°C",
"-18.0°C",
"-19.0°C",
"-20.0°C",
"-21.0°C",
"-22.0°C",
"-23.0°C",
"-24.0°C"
],
"timestamp": "2024-12-11T20:19:34.176Z"
},
{
"component": "freezer",
"capability": "temperatureLevel",
"attribute": "temperatureLevel",
"value": "-20.0°C",
"timestamp": "2024-12-11T20:27:44.825Z"
},
{
"component": "freezer",
"capability": "temperatureMeasurement",
"attribute": "temperature",
"value": 5,
"timestamp": "2024-12-11T20:19:33.529Z"
},
{
"component": "freezer",
"capability": "temperatureMeasurement",
"attribute": "temperatureRange",
"value": null
},
{
"component": "main",
"capability": "contactSensor",
"attribute": "contact",
"value": "closed",
"timestamp": "2024-12-11T20:19:33.834Z"
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "availableVersion",
"value": "v1.0 (1)",
"timestamp": "2024-12-11T20:19:30.167Z"
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "currentVersion",
"value": "v1.0 (1)",
"timestamp": "2024-12-11T20:19:30.203Z"
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "lastUpdateStatus",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "lastUpdateStatusReason",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "lastUpdateTime",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "state",
"value": "normalOperation",
"timestamp": "2024-12-11T20:19:30.172Z"
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "supportedCommands",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "updateAvailable",
"value": false,
"timestamp": "2024-12-11T20:19:30.167Z"
},
{
"component": "main",
"capability": "mode",
"attribute": "mode",
"value": "Normal",
"timestamp": "2024-12-11T20:19:35.416Z"
},
{
"component": "main",
"capability": "mode",
"attribute": "supportedArguments",
"value": [
"Normal",
"Holiday"
],
"timestamp": "2024-12-11T20:19:35.074Z"
},
{
"component": "main",
"capability": "mode",
"attribute": "supportedModes",
"value": [
"Normal",
"Holiday"
],
"timestamp": "2024-12-11T20:19:35.020Z"
},
{
"component": "refrigerator",
"capability": "mode",
"attribute": "mode",
"value": "Normal",
"timestamp": "2024-12-11T20:19:34.583Z"
},
{
"component": "refrigerator",
"capability": "mode",
"attribute": "supportedArguments",
"value": [
"Normal",
"Rapid Cool"
],
"timestamp": "2024-12-11T20:19:34.580Z"
},
{
"component": "refrigerator",
"capability": "mode",
"attribute": "supportedModes",
"value": [
"Normal",
"Rapid Cool"
],
"timestamp": "2024-12-11T20:19:34.581Z"
},
{
"component": "refrigerator",
"capability": "temperatureLevel",
"attribute": "supportedTemperatureLevels",
"value": null
},
{
"component": "refrigerator",
"capability": "temperatureLevel",
"attribute": "temperatureLevel",
"value": null
},
{
"component": "refrigerator",
"capability": "temperatureMeasurement",
"attribute": "temperature",
"value": 5,
"timestamp": "2024-12-11T20:19:33.355Z"
},
{
"component": "refrigerator",
"capability": "temperatureMeasurement",
"attribute": "temperatureRange",
"value": null
}
]
Attachments:
- Screenshots showing the missing UI for
TemperatureLevelControl.
Please let us know how to resolve this issue or if additional information is required. Thank you!
@Mbadra96 Thank you for checking the problem and contacting us. This is a problem caused by mismatching the settings between the profile and the device-configuration. I will solve it as soon as possible.
@HunsupJung Ok thank you
Hello, The step attribute within the Temperature Control Cluster is read correctly by the CHIP stack as it should be 1 degrees but 0.1 degrees interval was assigned. (as evidenced in the logs and feature map), but: UI Rendering: The step value isn’t being displayed in the UI correctly it was set to (0.1 C) JSON Export: The step field is not assigned correctly in the exported attributes JSON.
Step Attribute
[1746888275.811] [92919:3686079:chip] [DMG] {
[1746888275.811] [92919:3686079:chip] [DMG] AttributeReportIBs =
[1746888275.811] [92919:3686079:chip] [DMG] [
[1746888275.811] [92919:3686079:chip] [DMG] AttributeReportIB =
[1746888275.811] [92919:3686079:chip] [DMG] {
[1746888275.811] [92919:3686079:chip] [DMG] AttributeDataIB =
[1746888275.811] [92919:3686079:chip] [DMG] {
[1746888275.811] [92919:3686079:chip] [DMG] DataVersion = 0x7095a8c9,
[1746888275.811] [92919:3686079:chip] [DMG] AttributePathIB =
[1746888275.811] [92919:3686079:chip] [DMG] {
[1746888275.811] [92919:3686079:chip] [DMG] Endpoint = 0x2,
[1746888275.811] [92919:3686079:chip] [DMG] Cluster = 0x56,
[1746888275.811] [92919:3686079:chip] [DMG] Attribute = 0x0000_0003,
[1746888275.811] [92919:3686079:chip] [DMG] }
[1746888275.811] [92919:3686079:chip] [DMG]
[1746888275.811] [92919:3686079:chip] [DMG] Data = 100 (signed),
[1746888275.811] [92919:3686079:chip] [DMG] },
[1746888275.811] [92919:3686079:chip] [DMG]
[1746888275.811] [92919:3686079:chip] [DMG] },
[1746888275.811] [92919:3686079:chip] [DMG]
[1746888275.811] [92919:3686079:chip] [DMG] ],
Feature Map
[1746889255.554] [92919:3686782:chip] [DMG] AttributeReportIBs =
[1746889255.554] [92919:3686782:chip] [DMG] [
[1746889255.554] [92919:3686782:chip] [DMG] AttributeReportIB =
[1746889255.554] [92919:3686782:chip] [DMG] {
[1746889255.554] [92919:3686782:chip] [DMG] AttributeDataIB =
[1746889255.554] [92919:3686782:chip] [DMG] {
[1746889255.554] [92919:3686782:chip] [DMG] DataVersion = 0x7095a8c9,
[1746889255.555] [92919:3686782:chip] [DMG] AttributePathIB =
[1746889255.555] [92919:3686782:chip] [DMG] {
[1746889255.555] [92919:3686782:chip] [DMG] Endpoint = 0x2,
[1746889255.555] [92919:3686782:chip] [DMG] Cluster = 0x56,
[1746889255.555] [92919:3686782:chip] [DMG] Attribute = 0x0000_FFFC,
[1746889255.555] [92919:3686782:chip] [DMG] }
[1746889255.555] [92919:3686782:chip] [DMG]
[1746889255.555] [92919:3686782:chip] [DMG] Data = 5 (unsigned),
[1746889255.555] [92919:3686782:chip] [DMG] },
[1746889255.555] [92919:3686782:chip] [DMG]
[1746889255.555] [92919:3686782:chip] [DMG] },
[1746889255.555] [92919:3686782:chip] [DMG]
[1746889255.555] [92919:3686782:chip] [DMG] ],
[1746889255.555] [92919:3686782:chip] [DMG]
[1746889255.555] [92919:3686782:chip] [DMG] SuppressResponse = true,
[1746889255.555] [92919:3686782:chip] [DMG] InteractionModelRevision = 12
[1746889255.555] [92919:3686782:chip] [DMG] }
[
{
"component": "freezer",
"capability": "mode",
"attribute": "mode",
"value": "Normal",
"timestamp": "2025-05-10T13:50:34.311Z"
},
{
"component": "freezer",
"capability": "mode",
"attribute": "supportedArguments",
"value": [
"Normal",
"Rapid Freeze"
],
"timestamp": "2025-05-10T14:38:51.532Z"
},
{
"component": "freezer",
"capability": "mode",
"attribute": "supportedModes",
"value": [
"Normal",
"Rapid Freeze"
],
"timestamp": "2025-05-10T14:38:51.531Z"
},
{
"component": "freezer",
"capability": "temperatureLevel",
"attribute": "supportedTemperatureLevels",
"value": [
"-14.0°",
"-15.0°",
"-16.0°",
"-17.0°",
"-18.0°",
"-19.0°",
"-20.0°",
"-21.0°",
"-22.0°",
"-23.0°",
"-24.0°"
],
"timestamp": "2025-05-10T14:38:51.354Z"
},
{
"component": "freezer",
"capability": "temperatureLevel",
"attribute": "temperatureLevel",
"value": "-14.0°",
"timestamp": "2025-05-10T14:38:51.384Z"
},
{
"component": "freezer",
"capability": "temperatureMeasurement",
"attribute": "temperature",
"value": 5,
"timestamp": "2025-05-10T14:38:51.350Z"
},
{
"component": "freezer",
"capability": "temperatureMeasurement",
"attribute": "temperatureRange",
"value": null
},
{
"component": "main",
"capability": "contactSensor",
"attribute": "contact",
"value": "closed",
"timestamp": "2025-05-10T14:38:51.350Z"
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "availableVersion",
"value": "1.0 (1)",
"timestamp": "2025-05-07T18:04:39.818Z"
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "currentVersion",
"value": "1.0 (1)",
"timestamp": "2025-05-07T18:04:39.876Z"
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "estimatedTimeRemaining",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "imageTransferProgress",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "lastUpdateStatus",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "lastUpdateStatusReason",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "lastUpdateTime",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "state",
"value": "normalOperation",
"timestamp": "2025-05-07T18:04:39.816Z"
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "supportedCommands",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "supportsProgressReports",
"value": null
},
{
"component": "main",
"capability": "firmwareUpdate",
"attribute": "updateAvailable",
"value": false,
"timestamp": "2025-05-07T18:04:39.816Z"
},
{
"component": "main",
"capability": "mode",
"attribute": "mode",
"value": "Holiday",
"timestamp": "2025-05-10T14:38:51.440Z"
},
{
"component": "main",
"capability": "mode",
"attribute": "supportedArguments",
"value": [
"Normal",
"Holiday"
],
"timestamp": "2025-05-10T14:38:51.419Z"
},
{
"component": "main",
"capability": "mode",
"attribute": "supportedModes",
"value": [
"Normal",
"Holiday"
],
"timestamp": "2025-05-10T14:38:51.420Z"
},
{
"component": "refrigerator",
"capability": "mode",
"attribute": "mode",
"value": "Rapid Cool",
"timestamp": "2025-05-10T14:38:51.443Z"
},
{
"component": "refrigerator",
"capability": "mode",
"attribute": "supportedArguments",
"value": [
"Normal",
"Rapid Cool"
],
"timestamp": "2025-05-10T14:38:51.440Z"
},
{
"component": "refrigerator",
"capability": "mode",
"attribute": "supportedModes",
"value": [
"Normal",
"Rapid Cool"
],
"timestamp": "2025-05-10T14:38:51.439Z"
},
{
"component": "refrigerator",
"capability": "temperatureMeasurement",
"attribute": "temperature",
"value": 5,
"timestamp": "2025-05-10T14:38:51.306Z"
},
{
"component": "refrigerator",
"capability": "temperatureMeasurement",
"attribute": "temperatureRange",
"value": null
},
{
"component": "refrigerator",
"capability": "temperatureSetpoint",
"attribute": "temperatureSetpoint",
"value": 5,
"timestamp": "2025-05-10T14:38:51.419Z"
},
{
"component": "refrigerator",
"capability": "temperatureSetpoint",
"attribute": "temperatureSetpointRange",
"value": {
"minimum": 2,
"maximum": 8,
"step": 0.1
},
"timestamp": "2025-05-10T14:38:51.383Z"
}
]
Any updates
@HunsupJung is this issue getting fixed soon?