From 33911931b1095ceb0f34b37ea3bda616f80277bf Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Thu, 30 Mar 2023 15:01:58 -0400 Subject: [PATCH] Standardise feature names (#25896) * Standardize feature flags name into CLUSTERFeature * Zap regen * Fix group cluster feature naming * Correct Darwin availability annotations for feature bitmap renames. * Fix usage of pump configuration and control feature naming * Fix window covering feature usage * Fix one more use of WindowCoveringFeature --------- Co-authored-by: Boris Zbarsky --- .../all-clusters-app.matter | 30 +++---- .../all-clusters-minimal-app.matter | 30 +++---- ...p_rootnode_dimmablelight_bCwGYSDpoe.matter | 2 +- ...de_colortemperaturelight_hbUnzYVeyn.matter | 2 +- .../rootnode_contactsensor_lFAGG1bfRO.matter | 2 +- .../rootnode_dimmablelight_bCwGYSDpoe.matter | 2 +- .../rootnode_doorlock_aNKYAreMXE.matter | 2 +- ...tnode_extendedcolorlight_8lcaaYJVAa.matter | 2 +- .../devices/rootnode_fan_7N2TobIlOX.matter | 2 +- .../rootnode_flowsensor_1zVxHedlaV.matter | 4 +- ...tnode_heatingcoolingunit_ncdGai1E5a.matter | 2 +- .../rootnode_humiditysensor_Xyj4gda6Hb.matter | 4 +- .../rootnode_lightsensor_lZQycTFcJK.matter | 4 +- ...rootnode_occupancysensor_iHyVgifZuo.matter | 4 +- .../rootnode_onofflight_bbs1b7IaOV.matter | 2 +- ...ootnode_onofflightswitch_FsPlMr090Q.matter | 2 +- ...rootnode_onoffpluginunit_Wtf8ss5EBY.matter | 2 +- .../rootnode_pressuresensor_s0qC9wLH4k.matter | 6 +- .../rootnode_speaker_RpzeXdimqA.matter | 2 +- ...otnode_temperaturesensor_Qy1zkNW7c3.matter | 4 +- .../rootnode_thermostat_bm3fb8dhYi.matter | 2 +- .../rootnode_windowcovering_RLCxaGi9Yx.matter | 18 ++-- .../contact-sensor-app.matter | 2 +- .../light-switch-app.matter | 10 +-- .../lighting-common/lighting-app.matter | 2 +- .../nxp/zap/lighting-on-off.matter | 2 +- examples/lighting-app/qpg/zap/light.matter | 2 +- .../data_model/lighting-wifi-app.matter | 2 +- .../data_model/lighting-thread-app.matter | 2 +- .../efr32/data_model/lighting-wifi-app.matter | 2 +- examples/lock-app/qpg/zap/lock.matter | 2 +- .../ota-requestor-app.matter | 2 +- .../placeholder/linux/apps/app1/config.matter | 30 +++---- .../placeholder/linux/apps/app2/config.matter | 30 +++---- examples/pump-app/pump-common/pump-app.matter | 4 +- .../pump-controller-app.matter | 4 +- .../thermostat-common/thermostat.matter | 10 +-- .../tv-casting-common/tv-casting-app.matter | 10 +-- examples/window-app/common/window-app.matter | 26 +++--- .../clusters/groups-server/groups-server.cpp | 2 +- .../pump-configuration-and-control-server.cpp | 20 ++--- .../window-covering-server.cpp | 26 +++--- .../window-covering-server.h | 2 +- .../zcl/data-model/chip/groups-cluster.xml | 2 +- .../chip/pressure-measurement-cluster.xml | 2 +- ...pump-configuration-and-control-cluster.xml | 2 +- .../zcl/data-model/chip/scene.xml | 2 +- .../zcl/data-model/chip/window-covering.xml | 2 +- .../data_model/controller-clusters.matter | 30 +++---- .../python/chip/clusters/Objects.py | 26 +++--- .../CHIP/templates/availability.yaml | 62 ++++++++++++-- .../CHIP/zap-generated/MTRBaseClusters.h | 84 ++++++++++++++----- .../app-common/zap-generated/cluster-enums.h | 44 +++++----- 53 files changed, 330 insertions(+), 248 deletions(-) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index 15952f97027fef..fe1dbda788f2e5 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -116,14 +116,14 @@ server cluster Groups = 4 { } server cluster Scenes = 5 { - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - bitmap ScenesCopyMode : BITMAP8 { kCopyAllScenes = 0x1; } + bitmap ScenesFeature : BITMAP32 { + kSceneNames = 0x1; + } + struct ExtensionFieldSet { cluster_id clusterID = 0; AttributeValuePair attributeValueList[] = 1; @@ -2734,14 +2734,6 @@ server cluster WindowCovering = 258 { kTiltEncoderControlled = 0x40; } - bitmap Feature : BITMAP32 { - kLift = 0x1; - kTilt = 0x2; - kPositionAwareLift = 0x4; - kAbsolutePosition = 0x8; - kPositionAwareTilt = 0x10; - } - bitmap Mode : BITMAP8 { kMotorDirectionReversed = 0x1; kCalibrationMode = 0x2; @@ -2770,6 +2762,14 @@ server cluster WindowCovering = 258 { kProtection = 0x800; } + bitmap WindowCoveringFeature : BITMAP32 { + kLift = 0x1; + kTilt = 0x2; + kPositionAwareLift = 0x4; + kAbsolutePosition = 0x8; + kPositionAwareTilt = 0x10; + } + readonly attribute Type type = 0; readonly attribute int16u physicalClosedLimitLift = 1; readonly attribute int16u physicalClosedLimitTilt = 2; @@ -2861,7 +2861,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpFeature : BITMAP32 { + bitmap PumpConfigurationAndControlFeature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -3487,7 +3487,7 @@ server cluster TemperatureMeasurement = 1026 { } server cluster PressureMeasurement = 1027 { - bitmap PressureFeature : BITMAP32 { + bitmap PressureMeasurementFeature : BITMAP32 { kExtended = 0x1; } diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter index 1239b9e94b7be8..787fb24461fbfa 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter @@ -51,7 +51,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -115,14 +115,14 @@ server cluster Groups = 4 { } server cluster Scenes = 5 { - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - bitmap ScenesCopyMode : BITMAP8 { kCopyAllScenes = 0x1; } + bitmap ScenesFeature : BITMAP32 { + kSceneNames = 0x1; + } + struct ExtensionFieldSet { cluster_id clusterID = 0; AttributeValuePair attributeValueList[] = 1; @@ -2376,14 +2376,6 @@ server cluster WindowCovering = 258 { kTiltEncoderControlled = 0x40; } - bitmap Feature : BITMAP32 { - kLift = 0x1; - kTilt = 0x2; - kPositionAwareLift = 0x4; - kAbsolutePosition = 0x8; - kPositionAwareTilt = 0x10; - } - bitmap Mode : BITMAP8 { kMotorDirectionReversed = 0x1; kCalibrationMode = 0x2; @@ -2412,6 +2404,14 @@ server cluster WindowCovering = 258 { kProtection = 0x800; } + bitmap WindowCoveringFeature : BITMAP32 { + kLift = 0x1; + kTilt = 0x2; + kPositionAwareLift = 0x4; + kAbsolutePosition = 0x8; + kPositionAwareTilt = 0x10; + } + readonly attribute Type type = 0; readonly attribute ConfigStatus configStatus = 7; readonly attribute OperationalStatus operationalStatus = 10; @@ -2446,7 +2446,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpFeature : BITMAP32 { + bitmap PumpConfigurationAndControlFeature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -2813,7 +2813,7 @@ server cluster TemperatureMeasurement = 1026 { } server cluster PressureMeasurement = 1027 { - bitmap PressureFeature : BITMAP32 { + bitmap PressureMeasurementFeature : BITMAP32 { kExtended = 0x1; } diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter index 445c03d26ec6f9..05590c49a6695b 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter index 7e502f5b82b5f9..ad25f3b21e4742 100644 --- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter +++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter @@ -47,7 +47,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter index a8e012b68e2b8a..c60351adeee680 100644 --- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter +++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter index 8ebc417d54a189..ed19aca324266f 100644 --- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter index e0605669e54629..22bed1d47e5dfa 100644 --- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter +++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter index 1f87452815d8d8..87c6777a034286 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter index c3ec45249a26a4..df183b5da64ce7 100644 --- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter +++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter @@ -47,7 +47,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter index 2d15955cae04fd..3c3b8490088998 100644 --- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter +++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } client cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -105,7 +105,7 @@ client cluster Groups = 4 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter index 38d19b3fa41916..26346c09b705cd 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter index 590522e2fc585a..49a0eff6defa3a 100644 --- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter +++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } client cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -105,7 +105,7 @@ client cluster Groups = 4 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter index 3dcf17d48c7ff0..f6f65ef0ff587f 100644 --- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter +++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } client cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -105,7 +105,7 @@ client cluster Groups = 4 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter index 065f90ec06ecb0..c1aab8aec19882 100644 --- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter +++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } client cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -105,7 +105,7 @@ client cluster Groups = 4 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter index 6d18c741e0aad5..638c8780e1c41e 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter index 3c9508c676353e..9e7eae345884d0 100644 --- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter +++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter index 0276bf5ae756a8..443772a2765045 100644 --- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter +++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter index 5ed77f2bbce450..ea6a8a8f3e27f1 100644 --- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter +++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter @@ -46,7 +46,7 @@ server cluster Identify = 3 { } client cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -110,7 +110,7 @@ client cluster Groups = 4 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -1171,7 +1171,7 @@ server cluster UserLabel = 65 { } server cluster PressureMeasurement = 1027 { - bitmap PressureFeature : BITMAP32 { + bitmap PressureMeasurementFeature : BITMAP32 { kExtended = 0x1; } diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter index 743bd76be3c33f..5af8c0eed82184 100644 --- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter +++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter index 457122418c3c17..3b59085c857913 100644 --- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter +++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } client cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -105,7 +105,7 @@ client cluster Groups = 4 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index 19e12b4c59cd30..97070b29dad9ab 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter index 0964ab1c480122..e7cb6df02019c6 100644 --- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter +++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter @@ -41,7 +41,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -1149,14 +1149,6 @@ server cluster WindowCovering = 258 { kTiltEncoderControlled = 0x40; } - bitmap Feature : BITMAP32 { - kLift = 0x1; - kTilt = 0x2; - kPositionAwareLift = 0x4; - kAbsolutePosition = 0x8; - kPositionAwareTilt = 0x10; - } - bitmap Mode : BITMAP8 { kMotorDirectionReversed = 0x1; kCalibrationMode = 0x2; @@ -1185,6 +1177,14 @@ server cluster WindowCovering = 258 { kProtection = 0x800; } + bitmap WindowCoveringFeature : BITMAP32 { + kLift = 0x1; + kTilt = 0x2; + kPositionAwareLift = 0x4; + kAbsolutePosition = 0x8; + kPositionAwareTilt = 0x10; + } + readonly attribute Type type = 0; readonly attribute int16u physicalClosedLimitLift = 1; readonly attribute int16u physicalClosedLimitTilt = 2; diff --git a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter index 8d5733d7027a5f..0459c94cebed1d 100644 --- a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter +++ b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index 0e76a36aae3e85..eaf55d4cf6225e 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -97,7 +97,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -161,14 +161,14 @@ server cluster Groups = 4 { } client cluster Scenes = 5 { - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - bitmap ScenesCopyMode : BITMAP8 { kCopyAllScenes = 0x1; } + bitmap ScenesFeature : BITMAP32 { + kSceneNames = 0x1; + } + struct AttributeValuePair { optional attrib_id attributeID = 0; int8u attributeValue[] = 1; diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index 1e161ac23a4dd4..4dbfe34441b0bd 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter index 3500e8495eeea3..6a8f1d36e92e4f 100644 --- a/examples/lighting-app/nxp/zap/lighting-on-off.matter +++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter @@ -47,7 +47,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter index 9d834376448eef..a46f0d2e62766a 100644 --- a/examples/lighting-app/qpg/zap/light.matter +++ b/examples/lighting-app/qpg/zap/light.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/lighting-app/silabs/SiWx917/data_model/lighting-wifi-app.matter b/examples/lighting-app/silabs/SiWx917/data_model/lighting-wifi-app.matter index 6a42b154aac475..459b5794ea20be 100644 --- a/examples/lighting-app/silabs/SiWx917/data_model/lighting-wifi-app.matter +++ b/examples/lighting-app/silabs/SiWx917/data_model/lighting-wifi-app.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/lighting-app/silabs/efr32/data_model/lighting-thread-app.matter b/examples/lighting-app/silabs/efr32/data_model/lighting-thread-app.matter index 4d385620740e39..49407ddbda3dd3 100644 --- a/examples/lighting-app/silabs/efr32/data_model/lighting-thread-app.matter +++ b/examples/lighting-app/silabs/efr32/data_model/lighting-thread-app.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/lighting-app/silabs/efr32/data_model/lighting-wifi-app.matter b/examples/lighting-app/silabs/efr32/data_model/lighting-wifi-app.matter index 6a42b154aac475..459b5794ea20be 100644 --- a/examples/lighting-app/silabs/efr32/data_model/lighting-wifi-app.matter +++ b/examples/lighting-app/silabs/efr32/data_model/lighting-wifi-app.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/lock-app/qpg/zap/lock.matter b/examples/lock-app/qpg/zap/lock.matter index 4ddc5031fcbd35..0eacb34b0e8e1c 100644 --- a/examples/lock-app/qpg/zap/lock.matter +++ b/examples/lock-app/qpg/zap/lock.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter index 7703e5868d8de9..d0bc7cec022fe6 100644 --- a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter +++ b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index 431355947c74b7..fc68a9c2e6df03 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -116,14 +116,14 @@ server cluster Groups = 4 { } server cluster Scenes = 5 { - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - bitmap ScenesCopyMode : BITMAP8 { kCopyAllScenes = 0x1; } + bitmap ScenesFeature : BITMAP32 { + kSceneNames = 0x1; + } + struct ExtensionFieldSet { cluster_id clusterID = 0; AttributeValuePair attributeValueList[] = 1; @@ -2056,14 +2056,6 @@ server cluster WindowCovering = 258 { kTiltEncoderControlled = 0x40; } - bitmap Feature : BITMAP32 { - kLift = 0x1; - kTilt = 0x2; - kPositionAwareLift = 0x4; - kAbsolutePosition = 0x8; - kPositionAwareTilt = 0x10; - } - bitmap Mode : BITMAP8 { kMotorDirectionReversed = 0x1; kCalibrationMode = 0x2; @@ -2092,6 +2084,14 @@ server cluster WindowCovering = 258 { kProtection = 0x800; } + bitmap WindowCoveringFeature : BITMAP32 { + kLift = 0x1; + kTilt = 0x2; + kPositionAwareLift = 0x4; + kAbsolutePosition = 0x8; + kPositionAwareTilt = 0x10; + } + readonly attribute Type type = 0; readonly attribute nullable int16u currentPositionLift = 3; readonly attribute nullable int16u currentPositionTilt = 4; @@ -2159,7 +2159,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpFeature : BITMAP32 { + bitmap PumpConfigurationAndControlFeature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -2532,7 +2532,7 @@ server cluster TemperatureMeasurement = 1026 { } server cluster PressureMeasurement = 1027 { - bitmap PressureFeature : BITMAP32 { + bitmap PressureMeasurementFeature : BITMAP32 { kExtended = 0x1; } diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index 83e613404cf957..905ce603b474a0 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -116,14 +116,14 @@ server cluster Groups = 4 { } server cluster Scenes = 5 { - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - bitmap ScenesCopyMode : BITMAP8 { kCopyAllScenes = 0x1; } + bitmap ScenesFeature : BITMAP32 { + kSceneNames = 0x1; + } + struct ExtensionFieldSet { cluster_id clusterID = 0; AttributeValuePair attributeValueList[] = 1; @@ -2025,14 +2025,6 @@ server cluster WindowCovering = 258 { kTiltEncoderControlled = 0x40; } - bitmap Feature : BITMAP32 { - kLift = 0x1; - kTilt = 0x2; - kPositionAwareLift = 0x4; - kAbsolutePosition = 0x8; - kPositionAwareTilt = 0x10; - } - bitmap Mode : BITMAP8 { kMotorDirectionReversed = 0x1; kCalibrationMode = 0x2; @@ -2061,6 +2053,14 @@ server cluster WindowCovering = 258 { kProtection = 0x800; } + bitmap WindowCoveringFeature : BITMAP32 { + kLift = 0x1; + kTilt = 0x2; + kPositionAwareLift = 0x4; + kAbsolutePosition = 0x8; + kPositionAwareTilt = 0x10; + } + readonly attribute Type type = 0; readonly attribute nullable int16u currentPositionLift = 3; readonly attribute nullable int16u currentPositionTilt = 4; @@ -2128,7 +2128,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpFeature : BITMAP32 { + bitmap PumpConfigurationAndControlFeature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -2501,7 +2501,7 @@ server cluster TemperatureMeasurement = 1026 { } server cluster PressureMeasurement = 1027 { - bitmap PressureFeature : BITMAP32 { + bitmap PressureMeasurementFeature : BITMAP32 { kExtended = 0x1; } diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter index 373f97b9009088..7845d40f82df6c 100644 --- a/examples/pump-app/pump-common/pump-app.matter +++ b/examples/pump-app/pump-common/pump-app.matter @@ -1127,7 +1127,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpFeature : BITMAP32 { + bitmap PumpConfigurationAndControlFeature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -1245,7 +1245,7 @@ server cluster TemperatureMeasurement = 1026 { } server cluster PressureMeasurement = 1027 { - bitmap PressureFeature : BITMAP32 { + bitmap PressureMeasurementFeature : BITMAP32 { kExtended = 0x1; } diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter index b946e34e98496c..5e17389817e1f1 100644 --- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter +++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter @@ -1047,7 +1047,7 @@ client cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpFeature : BITMAP32 { + bitmap PumpConfigurationAndControlFeature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -1165,7 +1165,7 @@ client cluster TemperatureMeasurement = 1026 { } client cluster PressureMeasurement = 1027 { - bitmap PressureFeature : BITMAP32 { + bitmap PressureMeasurementFeature : BITMAP32 { kExtended = 0x1; } diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index 22f2349c5bbab4..eb2d6302c0cedd 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -97,7 +97,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -161,14 +161,14 @@ server cluster Groups = 4 { } server cluster Scenes = 5 { - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - bitmap ScenesCopyMode : BITMAP8 { kCopyAllScenes = 0x1; } + bitmap ScenesFeature : BITMAP32 { + kSceneNames = 0x1; + } + struct ExtensionFieldSet { cluster_id clusterID = 0; AttributeValuePair attributeValueList[] = 1; diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index 6a6265db98c4b4..4366a98ca254e2 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -46,7 +46,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -110,14 +110,14 @@ server cluster Groups = 4 { } server cluster Scenes = 5 { - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - bitmap ScenesCopyMode : BITMAP8 { kCopyAllScenes = 0x1; } + bitmap ScenesFeature : BITMAP32 { + kSceneNames = 0x1; + } + struct ExtensionFieldSet { cluster_id clusterID = 0; AttributeValuePair attributeValueList[] = 1; diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter index 533148aa5ea7f2..37dc324e34fe76 100644 --- a/examples/window-app/common/window-app.matter +++ b/examples/window-app/common/window-app.matter @@ -52,7 +52,7 @@ server cluster Identify = 3 { } server cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -116,14 +116,14 @@ server cluster Groups = 4 { } server cluster Scenes = 5 { - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - bitmap ScenesCopyMode : BITMAP8 { kCopyAllScenes = 0x1; } + bitmap ScenesFeature : BITMAP32 { + kSceneNames = 0x1; + } + struct ExtensionFieldSet { cluster_id clusterID = 0; AttributeValuePair attributeValueList[] = 1; @@ -1696,14 +1696,6 @@ server cluster WindowCovering = 258 { kTiltEncoderControlled = 0x40; } - bitmap Feature : BITMAP32 { - kLift = 0x1; - kTilt = 0x2; - kPositionAwareLift = 0x4; - kAbsolutePosition = 0x8; - kPositionAwareTilt = 0x10; - } - bitmap Mode : BITMAP8 { kMotorDirectionReversed = 0x1; kCalibrationMode = 0x2; @@ -1732,6 +1724,14 @@ server cluster WindowCovering = 258 { kProtection = 0x800; } + bitmap WindowCoveringFeature : BITMAP32 { + kLift = 0x1; + kTilt = 0x2; + kPositionAwareLift = 0x4; + kAbsolutePosition = 0x8; + kPositionAwareTilt = 0x10; + } + readonly attribute Type type = 0; readonly attribute int16u physicalClosedLimitLift = 1; readonly attribute int16u physicalClosedLimitTilt = 2; diff --git a/src/app/clusters/groups-server/groups-server.cpp b/src/app/clusters/groups-server/groups-server.cpp index cba769fdc45284..20bca62bde156b 100644 --- a/src/app/clusters/groups-server/groups-server.cpp +++ b/src/app/clusters/groups-server/groups-server.cpp @@ -129,7 +129,7 @@ void emberAfGroupsClusterServerInitCallback(EndpointId endpointId) ChipLogDetail(Zcl, "ERR: writing NameSupport %x", status); } - status = Attributes::FeatureMap::Set(endpointId, static_cast(GroupClusterFeature::kGroupNames)); + status = Attributes::FeatureMap::Set(endpointId, static_cast(GroupsFeature::kGroupNames)); if (status != EMBER_ZCL_STATUS_SUCCESS) { ChipLogDetail(Zcl, "ERR: writing group feature map %x", status); diff --git a/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp b/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp index 147b1dcd2c55c3..59d62bc3a80f01 100644 --- a/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp +++ b/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp @@ -228,7 +228,7 @@ static void setEffectiveModes(EndpointId endpoint) } } -bool HasFeature(EndpointId endpoint, PumpFeature feature) +bool HasFeature(EndpointId endpoint, PumpConfigurationAndControlFeature feature) { bool hasFeature; uint32_t featureMap; @@ -267,37 +267,37 @@ chip::Protocols::InteractionModel::Status MatterPumpConfigurationAndControlClust switch (controlMode) { case ControlModeEnum::kConstantFlow: - if (!HasFeature(attributePath.mEndpointId, PumpFeature::kConstantFlow)) + if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantFlow)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kConstantPressure: - if (!HasFeature(attributePath.mEndpointId, PumpFeature::kConstantPressure)) + if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantPressure)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kConstantSpeed: - if (!HasFeature(attributePath.mEndpointId, PumpFeature::kConstantSpeed)) + if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantSpeed)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kConstantTemperature: - if (!HasFeature(attributePath.mEndpointId, PumpFeature::kConstantTemperature)) + if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantTemperature)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kProportionalPressure: - if (!HasFeature(attributePath.mEndpointId, PumpFeature::kCompensatedPressure)) + if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kCompensatedPressure)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kAutomatic: - if (!HasFeature(attributePath.mEndpointId, PumpFeature::kAutomatic)) + if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kAutomatic)) { status = Protocols::InteractionModel::Status::ConstraintError; } @@ -318,19 +318,19 @@ chip::Protocols::InteractionModel::Status MatterPumpConfigurationAndControlClust switch (operationMode) { case OperationModeEnum::kMinimum: - if (!HasFeature(attributePath.mEndpointId, PumpFeature::kConstantSpeed)) + if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantSpeed)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case OperationModeEnum::kMaximum: - if (!HasFeature(attributePath.mEndpointId, PumpFeature::kConstantSpeed)) + if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantSpeed)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case OperationModeEnum::kLocal: - if (!HasFeature(attributePath.mEndpointId, PumpFeature::kLocalOperation)) + if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kLocalOperation)) { status = Protocols::InteractionModel::Status::ConstraintError; } diff --git a/src/app/clusters/window-covering-server/window-covering-server.cpp b/src/app/clusters/window-covering-server/window-covering-server.cpp index b9f9a4b0f37499..29e8b7070ad5b9 100644 --- a/src/app/clusters/window-covering-server/window-covering-server.cpp +++ b/src/app/clusters/window-covering-server/window-covering-server.cpp @@ -113,7 +113,7 @@ namespace app { namespace Clusters { namespace WindowCovering { -bool HasFeature(chip::EndpointId endpoint, Feature feature) +bool HasFeature(chip::EndpointId endpoint, WindowCoveringFeature feature) { bool hasFeature = false; uint32_t featureMap = 0; @@ -129,12 +129,12 @@ bool HasFeature(chip::EndpointId endpoint, Feature feature) bool HasFeaturePaLift(chip::EndpointId endpoint) { - return (HasFeature(endpoint, Feature::kLift) && HasFeature(endpoint, Feature::kPositionAwareLift)); + return (HasFeature(endpoint, WindowCoveringFeature::kLift) && HasFeature(endpoint, WindowCoveringFeature::kPositionAwareLift)); } bool HasFeaturePaTilt(chip::EndpointId endpoint) { - return (HasFeature(endpoint, Feature::kTilt) && HasFeature(endpoint, Feature::kPositionAwareTilt)); + return (HasFeature(endpoint, WindowCoveringFeature::kTilt) && HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)); } void TypeSet(chip::EndpointId endpoint, Type type) @@ -635,11 +635,11 @@ bool emberAfWindowCoveringClusterUpOrOpenCallback(app::CommandHandler * commandO return true; } - if (HasFeature(endpoint, Feature::kPositionAwareLift)) + if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareLift)) { Attributes::TargetPositionLiftPercent100ths::Set(endpoint, WC_PERCENT100THS_MIN_OPEN); } - if (HasFeature(endpoint, Feature::kPositionAwareTilt)) + if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)) { Attributes::TargetPositionTiltPercent100ths::Set(endpoint, WC_PERCENT100THS_MIN_OPEN); } @@ -647,12 +647,12 @@ bool emberAfWindowCoveringClusterUpOrOpenCallback(app::CommandHandler * commandO Delegate * delegate = GetDelegate(endpoint); if (delegate) { - if (HasFeature(endpoint, Feature::kPositionAwareLift)) + if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareLift)) { LogErrorOnFailure(delegate->HandleMovement(WindowCoveringType::Lift)); } - if (HasFeature(endpoint, Feature::kPositionAwareTilt)) + if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)) { LogErrorOnFailure(delegate->HandleMovement(WindowCoveringType::Tilt)); } @@ -685,11 +685,11 @@ bool emberAfWindowCoveringClusterDownOrCloseCallback(app::CommandHandler * comma return true; } - if (HasFeature(endpoint, Feature::kPositionAwareLift)) + if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareLift)) { Attributes::TargetPositionLiftPercent100ths::Set(endpoint, WC_PERCENT100THS_MAX_CLOSED); } - if (HasFeature(endpoint, Feature::kPositionAwareTilt)) + if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)) { Attributes::TargetPositionTiltPercent100ths::Set(endpoint, WC_PERCENT100THS_MAX_CLOSED); } @@ -698,12 +698,12 @@ bool emberAfWindowCoveringClusterDownOrCloseCallback(app::CommandHandler * comma Delegate * delegate = GetDelegate(endpoint); if (delegate) { - if (HasFeature(endpoint, Feature::kPositionAwareLift)) + if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareLift)) { LogErrorOnFailure(delegate->HandleMovement(WindowCoveringType::Lift)); } - if (HasFeature(endpoint, Feature::kPositionAwareTilt)) + if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)) { LogErrorOnFailure(delegate->HandleMovement(WindowCoveringType::Tilt)); } @@ -781,7 +781,7 @@ bool emberAfWindowCoveringClusterGoToLiftValueCallback(app::CommandHandler * com return true; } - if (HasFeature(endpoint, Feature::kAbsolutePosition) && HasFeaturePaLift(endpoint)) + if (HasFeature(endpoint, WindowCoveringFeature::kAbsolutePosition) && HasFeaturePaLift(endpoint)) { Attributes::TargetPositionLiftPercent100ths::Set(endpoint, LiftToPercent100ths(endpoint, liftValue)); Delegate * delegate = GetDelegate(endpoint); @@ -873,7 +873,7 @@ bool emberAfWindowCoveringClusterGoToTiltValueCallback(app::CommandHandler * com return true; } - if (HasFeature(endpoint, Feature::kAbsolutePosition) && HasFeaturePaTilt(endpoint)) + if (HasFeature(endpoint, WindowCoveringFeature::kAbsolutePosition) && HasFeaturePaTilt(endpoint)) { Attributes::TargetPositionTiltPercent100ths::Set(endpoint, TiltToPercent100ths(endpoint, tiltValue)); Delegate * delegate = GetDelegate(endpoint); diff --git a/src/app/clusters/window-covering-server/window-covering-server.h b/src/app/clusters/window-covering-server/window-covering-server.h index b1d21d8bb750bf..7d1514acd64884 100644 --- a/src/app/clusters/window-covering-server/window-covering-server.h +++ b/src/app/clusters/window-covering-server/window-covering-server.h @@ -69,7 +69,7 @@ struct AbsoluteLimits uint16_t closed; }; -bool HasFeature(chip::EndpointId endpoint, Feature feature); +bool HasFeature(chip::EndpointId endpoint, WindowCoveringFeature feature); bool HasFeaturePaLift(chip::EndpointId endpoint); bool HasFeaturePaTilt(chip::EndpointId endpoint); diff --git a/src/app/zap-templates/zcl/data-model/chip/groups-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/groups-cluster.xml index cff10b2cfa4c93..1e9b215d6e5c15 100644 --- a/src/app/zap-templates/zcl/data-model/chip/groups-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/groups-cluster.xml @@ -17,7 +17,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml index ddace88b155a92..b353bb628e0141 100644 --- a/src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml @@ -36,7 +36,7 @@ limitations under the License. Scale - + diff --git a/src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml index 02d92c554feb23..3083e7e828fc99 100644 --- a/src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml @@ -149,7 +149,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/scene.xml b/src/app/zap-templates/zcl/data-model/chip/scene.xml index e8e899b1bd54d7..1cc60a956483f9 100644 --- a/src/app/zap-templates/zcl/data-model/chip/scene.xml +++ b/src/app/zap-templates/zcl/data-model/chip/scene.xml @@ -230,7 +230,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/window-covering.xml b/src/app/zap-templates/zcl/data-model/chip/window-covering.xml index 1af4eeb21aa438..59907b9817f434 100644 --- a/src/app/zap-templates/zcl/data-model/chip/window-covering.xml +++ b/src/app/zap-templates/zcl/data-model/chip/window-covering.xml @@ -211,7 +211,7 @@ limitations under the License. - + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 0e313ecd0b564b..840e4fb3be5a60 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -57,7 +57,7 @@ client cluster Identify = 3 { } client cluster Groups = 4 { - bitmap GroupClusterFeature : BITMAP32 { + bitmap GroupsFeature : BITMAP32 { kGroupNames = 0x1; } @@ -121,14 +121,14 @@ client cluster Groups = 4 { } client cluster Scenes = 5 { - bitmap SceneFeatures : BITMAP32 { - kSceneNames = 0x1; - } - bitmap ScenesCopyMode : BITMAP8 { kCopyAllScenes = 0x1; } + bitmap ScenesFeature : BITMAP32 { + kSceneNames = 0x1; + } + struct AttributeValuePair { optional attrib_id attributeID = 0; int8u attributeValue[] = 1; @@ -2965,14 +2965,6 @@ client cluster WindowCovering = 258 { kTiltEncoderControlled = 0x40; } - bitmap Feature : BITMAP32 { - kLift = 0x1; - kTilt = 0x2; - kPositionAwareLift = 0x4; - kAbsolutePosition = 0x8; - kPositionAwareTilt = 0x10; - } - bitmap Mode : BITMAP8 { kMotorDirectionReversed = 0x1; kCalibrationMode = 0x2; @@ -3001,6 +2993,14 @@ client cluster WindowCovering = 258 { kProtection = 0x800; } + bitmap WindowCoveringFeature : BITMAP32 { + kLift = 0x1; + kTilt = 0x2; + kPositionAwareLift = 0x4; + kAbsolutePosition = 0x8; + kPositionAwareTilt = 0x10; + } + readonly attribute Type type = 0; readonly attribute int16u physicalClosedLimitLift = 1; readonly attribute int16u physicalClosedLimitTilt = 2; @@ -3098,7 +3098,7 @@ client cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpFeature : BITMAP32 { + bitmap PumpConfigurationAndControlFeature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -3781,7 +3781,7 @@ client cluster TemperatureMeasurement = 1026 { } client cluster PressureMeasurement = 1027 { - bitmap PressureFeature : BITMAP32 { + bitmap PressureMeasurementFeature : BITMAP32 { kExtended = 0x1; } diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 61079f4c51d42f..951c635ea4ebfa 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -290,7 +290,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Bitmaps: - class GroupClusterFeature(IntFlag): + class GroupsFeature(IntFlag): kGroupNames = 0x1 class Commands: @@ -615,12 +615,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Bitmaps: - class SceneFeatures(IntFlag): - kSceneNames = 0x1 - class ScenesCopyMode(IntFlag): kCopyAllScenes = 0x1 + class ScenesFeature(IntFlag): + kSceneNames = 0x1 + class Structs: @dataclass class AttributeValuePair(ClusterObject): @@ -16325,13 +16325,6 @@ class ConfigStatus(IntFlag): kLiftEncoderControlled = 0x20 kTiltEncoderControlled = 0x40 - class Feature(IntFlag): - kLift = 0x1 - kTilt = 0x2 - kPositionAwareLift = 0x4 - kAbsolutePosition = 0x8 - kPositionAwareTilt = 0x10 - class Mode(IntFlag): kMotorDirectionReversed = 0x1 kCalibrationMode = 0x2 @@ -16357,6 +16350,13 @@ class SafetyStatus(IntFlag): kManualOperation = 0x400 kProtection = 0x800 + class WindowCoveringFeature(IntFlag): + kLift = 0x1 + kTilt = 0x2 + kPositionAwareLift = 0x4 + kAbsolutePosition = 0x8 + kPositionAwareTilt = 0x10 + class Commands: @dataclass class UpOrOpen(ClusterCommand): @@ -17337,7 +17337,7 @@ class OperationModeEnum(MatterIntEnum): kUnknownEnumValue = 4, class Bitmaps: - class PumpFeature(IntFlag): + class PumpConfigurationAndControlFeature(IntFlag): kConstantPressure = 0x1 kCompensatedPressure = 0x2 kConstantFlow = 0x4 @@ -22259,7 +22259,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Bitmaps: - class PressureFeature(IntFlag): + class PressureMeasurementFeature(IntFlag): kExtended = 0x1 class Attributes: diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml index 433bb488bac265..fea814e6066845 100644 --- a/src/darwin/Framework/CHIP/templates/availability.yaml +++ b/src/darwin/Framework/CHIP/templates/availability.yaml @@ -4126,7 +4126,10 @@ - DoorLockFeature WindowCovering: - ConfigStatus - - Feature + # WindowCoveringFeature was originally just named Feature, but we + # generate the same API for both of those names, so the name can + # just change here. + - WindowCoveringFeature - Mode - OperationalStatus - SafetyStatus @@ -4349,7 +4352,10 @@ - TiltPositionAware - LiftEncoderControlled - TiltEncoderControlled - Feature: + # WindowCoveringFeature was originally just named Feature, but we + # generate the same API for both of those names, so the name can + # just change here. + WindowCoveringFeature: - Lift - Tilt - PositionAwareLift @@ -6192,13 +6198,6 @@ - Dual CredentialRuleEnum: - Double - bitmaps: - Scenes: - # All the other feature map bitmaps have names ending in - # "Feature", so let's not ship this one until it aligns - # with the others. - # See https://github.com/project-chip/connectedhomeip/issues/24681 - - SceneFeatures renames: clusters: UnitTesting: TestCluster @@ -7004,3 +7003,48 @@ - release: "TBD" versions: "future" + introduced: + bitmaps: + Groups: + - GroupsFeature + PressureMeasurement: + - PressureMeasurementFeature + PumpConfigurationAndControl: + - PumpConfigurationAndControlFeature + Scenes: + - ScenesFeature + bitmap values: + Groups: + GroupsFeature: + - GroupNames + PressureMeasurement: + PressureMeasurementFeature: + - Extended + PumpConfigurationAndControl: + PumpConfigurationAndControlFeature: + - ConstantPressure + - CompensatedPressure + - ConstantFlow + - ConstantSpeed + - ConstantTemperature + - Automatic + - LocalOperation + Scenes: + ScenesFeature: + - SceneNames + deprecated: + bitmaps: + Groups: + - GroupClusterFeature + PressureMeasurement: + - PressureFeature + PumpConfigurationAndControl: + - PumpFeature + renames: + bitmaps: + Groups: + GroupsFeature: GroupClusterFeature + PressureMeasurement: + PressureMeasurementFeature: PressureFeature + PumpConfigurationAndControl: + PumpConfigurationAndControlFeature: PumpFeature diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index 3c5f21561ffae6..c2960dafd0aad1 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -18818,14 +18818,24 @@ typedef NS_ENUM(uint8_t, MTRIdentifyType) { MTRIdentifyTypeActuator API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x05, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +typedef NS_OPTIONS(uint32_t, MTRGroupsFeature) { + MTRGroupsFeatureGroupNames MTR_NEWLY_AVAILABLE = 0x1, +} MTR_NEWLY_AVAILABLE; + typedef NS_OPTIONS(uint32_t, MTRGroupsGroupClusterFeature) { - MTRGroupsGroupClusterFeatureGroupNames API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, -} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); + MTRGroupsGroupClusterFeatureGroupNames API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRGroupsFeatureGroupNames") + = 0x1, +} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) MTR_NEWLY_DEPRECATED("Please use MTRGroupsFeature"); typedef NS_OPTIONS(uint8_t, MTRScenesCopyMode) { MTRScenesCopyModeCopyAllScenes API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +typedef NS_OPTIONS(uint32_t, MTRScenesFeature) { + MTRScenesFeatureSceneNames MTR_NEWLY_AVAILABLE = 0x1, +} MTR_NEWLY_AVAILABLE; + typedef NS_ENUM(uint8_t, MTROnOffDelayedAllOffEffectVariant) { MTROnOffDelayedAllOffEffectVariantFadeToOffIn0p8Seconds API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x00, MTROnOffDelayedAllOffEffectVariantNoFade API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01, @@ -20780,14 +20790,6 @@ typedef NS_OPTIONS(uint8_t, MTRWindowCoveringConfigStatus) { MTRWindowCoveringConfigStatusTiltEncoderControlled API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x40, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); -typedef NS_OPTIONS(uint32_t, MTRWindowCoveringFeature) { - MTRWindowCoveringFeatureLift API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, - MTRWindowCoveringFeatureTilt API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, - MTRWindowCoveringFeaturePositionAwareLift API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x4, - MTRWindowCoveringFeatureAbsolutePosition API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x8, - MTRWindowCoveringFeaturePositionAwareTilt API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x10, -} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - typedef NS_OPTIONS(uint8_t, MTRWindowCoveringMode) { MTRWindowCoveringModeMotorDirectionReversed API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, MTRWindowCoveringModeCalibrationMode API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, @@ -20816,6 +20818,14 @@ typedef NS_OPTIONS(uint16_t, MTRWindowCoveringSafetyStatus) { MTRWindowCoveringSafetyStatusProtection API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x800, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +typedef NS_OPTIONS(uint32_t, MTRWindowCoveringFeature) { + MTRWindowCoveringFeatureLift API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, + MTRWindowCoveringFeatureTilt API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, + MTRWindowCoveringFeaturePositionAwareLift API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x4, + MTRWindowCoveringFeatureAbsolutePosition API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x8, + MTRWindowCoveringFeaturePositionAwareTilt API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x10, +} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); + typedef NS_ENUM(uint8_t, MTRPumpConfigurationAndControlControlMode) { MTRPumpConfigurationAndControlControlModeConstantSpeed API_AVAILABLE(ios(16.5), macos(13.4), watchos(9.5), tvos(16.5)) = 0x00, MTRPumpConfigurationAndControlControlModeConstantPressure API_AVAILABLE(ios(16.5), macos(13.4), watchos(9.5), tvos(16.5)) @@ -20883,21 +20893,43 @@ typedef NS_ENUM(uint8_t, MTRPumpConfigurationAndControlPumpOperationMode) { } MTR_DEPRECATED("Please use MTRPumpConfigurationAndControlOperationMode", ios(16.1, 16.5), macos(13.0, 13.4), watchos(9.1, 9.5), tvos(16.1, 16.5)); +typedef NS_OPTIONS(uint32_t, MTRPumpConfigurationAndControlFeature) { + MTRPumpConfigurationAndControlFeatureConstantPressure MTR_NEWLY_AVAILABLE = 0x1, + MTRPumpConfigurationAndControlFeatureCompensatedPressure MTR_NEWLY_AVAILABLE = 0x2, + MTRPumpConfigurationAndControlFeatureConstantFlow MTR_NEWLY_AVAILABLE = 0x4, + MTRPumpConfigurationAndControlFeatureConstantSpeed MTR_NEWLY_AVAILABLE = 0x8, + MTRPumpConfigurationAndControlFeatureConstantTemperature MTR_NEWLY_AVAILABLE = 0x10, + MTRPumpConfigurationAndControlFeatureAutomatic MTR_NEWLY_AVAILABLE = 0x20, + MTRPumpConfigurationAndControlFeatureLocalOperation MTR_NEWLY_AVAILABLE = 0x40, +} MTR_NEWLY_AVAILABLE; + typedef NS_OPTIONS(uint32_t, MTRPumpConfigurationAndControlPumpFeature) { - MTRPumpConfigurationAndControlPumpFeatureConstantPressure API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x1, + MTRPumpConfigurationAndControlPumpFeatureConstantPressure API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) + MTR_NEWLY_DEPRECATED("Please use MTRPumpConfigurationAndControlFeatureConstantPressure") + = 0x1, MTRPumpConfigurationAndControlPumpFeatureCompensatedPressure API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) + MTR_NEWLY_DEPRECATED("Please use MTRPumpConfigurationAndControlFeatureCompensatedPressure") = 0x2, - MTRPumpConfigurationAndControlPumpFeatureConstantFlow API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x4, - MTRPumpConfigurationAndControlPumpFeatureConstantSpeed API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x8, + MTRPumpConfigurationAndControlPumpFeatureConstantFlow API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) + MTR_NEWLY_DEPRECATED("Please use MTRPumpConfigurationAndControlFeatureConstantFlow") + = 0x4, + MTRPumpConfigurationAndControlPumpFeatureConstantSpeed API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) + MTR_NEWLY_DEPRECATED("Please use MTRPumpConfigurationAndControlFeatureConstantSpeed") + = 0x8, MTRPumpConfigurationAndControlPumpFeatureConstantTemperature API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) + MTR_NEWLY_DEPRECATED("Please use MTRPumpConfigurationAndControlFeatureConstantTemperature") = 0x10, - MTRPumpConfigurationAndControlPumpFeatureAutomatic API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x20, - MTRPumpConfigurationAndControlPumpFeatureLocalOperation API_AVAILABLE(ios(16.5), macos(13.4), watchos(9.5), tvos(16.5)) = 0x40, - MTRPumpConfigurationAndControlPumpFeatureLocal MTR_DEPRECATED( - "Please use MTRPumpConfigurationAndControlPumpFeatureLocalOperation", ios(16.4, 16.5), macos(13.3, 13.4), watchos(9.4, 9.5), - tvos(16.4, 16.5)) + MTRPumpConfigurationAndControlPumpFeatureAutomatic API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) + MTR_NEWLY_DEPRECATED("Please use MTRPumpConfigurationAndControlFeatureAutomatic") + = 0x20, + MTRPumpConfigurationAndControlPumpFeatureLocalOperation API_AVAILABLE(ios(16.5), macos(13.4), watchos(9.5), tvos(16.5)) + MTR_NEWLY_DEPRECATED("Please use MTRPumpConfigurationAndControlFeatureLocalOperation") = 0x40, -} API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + MTRPumpConfigurationAndControlPumpFeatureLocal MTR_DEPRECATED("Please use MTRPumpConfigurationAndControlFeatureLocalOperation", + ios(16.4, 16.5), macos(13.3, 13.4), watchos(9.4, 9.5), tvos(16.4, 16.5)) + = 0x40, +} API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) + MTR_NEWLY_DEPRECATED("Please use MTRPumpConfigurationAndControlFeature"); typedef NS_OPTIONS(uint16_t, MTRPumpConfigurationAndControlPumpStatusBitmap) { MTRPumpConfigurationAndControlPumpStatusBitmapDeviceFault API_AVAILABLE(ios(16.5), macos(13.4), watchos(9.5), tvos(16.5)) = 0x1, @@ -21161,12 +21193,18 @@ typedef NS_ENUM(uint8_t, MTRIlluminanceMeasurementLightSensorType) { MTRIlluminanceMeasurementLightSensorTypeCMOS API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +typedef NS_OPTIONS(uint32_t, MTRPressureMeasurementFeature) { + MTRPressureMeasurementFeatureExtended MTR_NEWLY_AVAILABLE = 0x1, +} MTR_NEWLY_AVAILABLE; + typedef NS_OPTIONS(uint32_t, MTRPressureMeasurementPressureFeature) { - MTRPressureMeasurementPressureFeatureExtended API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x1, - MTRPressureMeasurementPressureFeatureEXT MTR_DEPRECATED("Please use MTRPressureMeasurementPressureFeatureExtended", - ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) + MTRPressureMeasurementPressureFeatureExtended API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) + MTR_NEWLY_DEPRECATED("Please use MTRPressureMeasurementFeatureExtended") = 0x1, -} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); + MTRPressureMeasurementPressureFeatureEXT MTR_DEPRECATED( + "Please use MTRPressureMeasurementFeatureExtended", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) + = 0x1, +} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) MTR_NEWLY_DEPRECATED("Please use MTRPressureMeasurementFeature"); typedef NS_ENUM(uint8_t, MTROccupancySensingOccupancySensorType) { MTROccupancySensingOccupancySensorTypePIR API_AVAILABLE(ios(16.5), macos(13.4), watchos(9.5), tvos(16.5)) = 0x00, diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h index 2f6c245d6bf508..d9f35548eedd69 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h @@ -98,8 +98,8 @@ static IdentifyIdentifyType __attribute__((unused)) kIdentifyIdentifyTypekUnknow namespace Groups { -// Bitmap for GroupClusterFeature -enum class GroupClusterFeature : uint32_t +// Bitmap for GroupsFeature +enum class GroupsFeature : uint32_t { kGroupNames = 0x1, }; @@ -107,17 +107,17 @@ enum class GroupClusterFeature : uint32_t namespace Scenes { -// Bitmap for SceneFeatures -enum class SceneFeatures : uint32_t -{ - kSceneNames = 0x1, -}; - // Bitmap for ScenesCopyMode enum class ScenesCopyMode : uint8_t { kCopyAllScenes = 0x1, }; + +// Bitmap for ScenesFeature +enum class ScenesFeature : uint32_t +{ + kSceneNames = 0x1, +}; } // namespace Scenes namespace OnOff { @@ -1940,16 +1940,6 @@ enum class ConfigStatus : uint8_t kTiltEncoderControlled = 0x40, }; -// Bitmap for Feature -enum class Feature : uint32_t -{ - kLift = 0x1, - kTilt = 0x2, - kPositionAwareLift = 0x4, - kAbsolutePosition = 0x8, - kPositionAwareTilt = 0x10, -}; - // Bitmap for Mode enum class Mode : uint8_t { @@ -1983,6 +1973,16 @@ enum class SafetyStatus : uint16_t kManualOperation = 0x400, kProtection = 0x800, }; + +// Bitmap for WindowCoveringFeature +enum class WindowCoveringFeature : uint32_t +{ + kLift = 0x1, + kTilt = 0x2, + kPositionAwareLift = 0x4, + kAbsolutePosition = 0x8, + kPositionAwareTilt = 0x10, +}; } // namespace WindowCovering namespace BarrierControl {} // namespace BarrierControl @@ -2019,8 +2019,8 @@ enum class OperationModeEnum : uint8_t kUnknownEnumValue = 4, }; -// Bitmap for PumpFeature -enum class PumpFeature : uint32_t +// Bitmap for PumpConfigurationAndControlFeature +enum class PumpConfigurationAndControlFeature : uint32_t { kConstantPressure = 0x1, kCompensatedPressure = 0x2, @@ -2372,8 +2372,8 @@ namespace TemperatureMeasurement {} // namespace TemperatureMeasurement namespace PressureMeasurement { -// Bitmap for PressureFeature -enum class PressureFeature : uint32_t +// Bitmap for PressureMeasurementFeature +enum class PressureMeasurementFeature : uint32_t { kExtended = 0x1, };