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 e5c88e10a5e5e3..453ccbeb43063e 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 @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,12 +124,12 @@ server cluster Groups = 4 { /** Attributes and commands for scene configuration and manipulation. */ server cluster Scenes = 5 { - bitmap ScenesCopyMode : BITMAP8 { - kCopyAllScenes = 0x1; + bitmap Feature : BITMAP32 { + kSceneNames = 0x1; } - bitmap ScenesFeature : BITMAP32 { - kSceneNames = 0x1; + bitmap ScenesCopyMode : BITMAP8 { + kCopyAllScenes = 0x1; } struct AttributeValuePair { @@ -262,12 +262,12 @@ client cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -330,12 +330,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -393,7 +393,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -999,7 +999,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -1203,7 +1203,7 @@ server cluster PowerSource = 47 { kUnderVoltage = 2; } - bitmap PowerSourceFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -1344,7 +1344,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1601,7 +1601,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1657,7 +1657,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1828,7 +1828,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1884,7 +1884,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1912,7 +1912,7 @@ server cluster EthernetNetworkDiagnostics = 55 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -2240,7 +2240,7 @@ server cluster BooleanState = 69 { /** Allows servers to ensure that listed clients are notified when a server is available for communication. */ server cluster IcdManagement = 70 { - bitmap ICDManagementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kCheckInProtocolSupport = 0x1; } @@ -2287,7 +2287,7 @@ server cluster IcdManagement = 70 { /** Attributes and commands for selecting a mode from a list of supported options. */ server cluster ModeSelect = 80 { - bitmap ModeSelectFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kDeponoff = 0x1; } @@ -2644,7 +2644,7 @@ server cluster DoorLock = 257 { kSaturday = 0x40; } - bitmap DoorLockFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPinCredential = 0x1; kRfidCredential = 0x2; kFingerCredentials = 0x4; @@ -2917,6 +2917,14 @@ 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; @@ -2945,14 +2953,6 @@ 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; @@ -3046,7 +3046,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpConfigurationAndControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -3196,12 +3196,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap ModeForSequence : BITMAP8 { - kHeatSetpointPresent = 0x1; - kCoolSetpointPresent = 0x2; - } - - bitmap ThermostatFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -3210,6 +3205,11 @@ server cluster Thermostat = 513 { kAutoMode = 0x20; } + bitmap ModeForSequence : BITMAP8 { + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; + } + struct ThermostatScheduleTransition { int16u transitionTime = 0; nullable int16s heatSetpoint = 1; @@ -3266,7 +3266,7 @@ server cluster FanControl = 514 { kSmart = 6; } - bitmap FanControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; kRocking = 0x4; @@ -3377,14 +3377,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -3392,6 +3384,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int8u currentHue = 0; readonly attribute int8u currentSaturation = 1; readonly attribute int16u remainingTime = 2; @@ -3680,7 +3680,7 @@ server cluster TemperatureMeasurement = 1026 { /** Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */ server cluster PressureMeasurement = 1027 { - bitmap PressureMeasurementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kExtended = 0x1; } @@ -3776,7 +3776,7 @@ server cluster Channel = 1284 { kMso = 0; } - bitmap ChannelFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kChannelList = 0x1; kLineupInfo = 0x2; } @@ -3858,7 +3858,7 @@ server cluster MediaPlayback = 1286 { kBuffering = 3; } - bitmap MediaPlaybackFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kAdvancedSeek = 0x1; kVariableSpeed = 0x2; } @@ -3899,7 +3899,7 @@ server cluster MediaInput = 1287 { kOther = 11; } - bitmap MediaInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -4043,7 +4043,7 @@ server cluster KeypadInput = 1289 { kInvalidKeyInCurrentState = 2; } - bitmap KeypadInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNavigationKeyCodes = 0x1; kLocationKeys = 0x2; kNumberKeys = 0x4; @@ -4097,7 +4097,7 @@ server cluster ContentLauncher = 1290 { kVideo = 13; } - bitmap ContentLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kContentSearch = 0x1; kURLPlayback = 0x2; } @@ -4164,7 +4164,7 @@ server cluster AudioOutput = 1291 { kOther = 5; } - bitmap AudioOutputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -4192,7 +4192,7 @@ server cluster ApplicationLauncher = 1292 { kSystemBusy = 2; } - bitmap ApplicationLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kApplicationPlatform = 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 8069d0f4e2f665..e2d103ea7bd982 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 @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -118,12 +118,12 @@ server cluster Groups = 4 { /** Attributes and commands for scene configuration and manipulation. */ server cluster Scenes = 5 { - bitmap ScenesCopyMode : BITMAP8 { - kCopyAllScenes = 0x1; + bitmap Feature : BITMAP32 { + kSceneNames = 0x1; } - bitmap ScenesFeature : BITMAP32 { - kSceneNames = 0x1; + bitmap ScenesCopyMode : BITMAP8 { + kCopyAllScenes = 0x1; } struct AttributeValuePair { @@ -256,12 +256,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -289,7 +289,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -859,7 +859,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -1062,7 +1062,7 @@ server cluster PowerSource = 47 { kUnderVoltage = 2; } - bitmap PowerSourceFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -1200,7 +1200,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1451,7 +1451,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1501,7 +1501,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1624,7 +1624,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1670,7 +1670,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1698,7 +1698,7 @@ server cluster EthernetNetworkDiagnostics = 55 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -2020,7 +2020,7 @@ server cluster BooleanState = 69 { /** Attributes and commands for selecting a mode from a list of supported options. */ server cluster ModeSelect = 80 { - bitmap ModeSelectFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kDeponoff = 0x1; } @@ -2374,7 +2374,7 @@ server cluster DoorLock = 257 { kSaturday = 0x40; } - bitmap DoorLockFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPinCredential = 0x1; kRfidCredential = 0x2; kFingerCredentials = 0x4; @@ -2511,6 +2511,14 @@ 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; @@ -2539,14 +2547,6 @@ 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; @@ -2582,7 +2582,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpConfigurationAndControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -2718,12 +2718,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap ModeForSequence : BITMAP8 { - kHeatSetpointPresent = 0x1; - kCoolSetpointPresent = 0x2; - } - - bitmap ThermostatFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -2732,6 +2727,11 @@ server cluster Thermostat = 513 { kAutoMode = 0x20; } + bitmap ModeForSequence : BITMAP8 { + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; + } + struct ThermostatScheduleTransition { int16u transitionTime = 0; nullable int16s heatSetpoint = 1; @@ -2778,7 +2778,7 @@ server cluster FanControl = 514 { kSmart = 6; } - bitmap FanControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; kRocking = 0x4; @@ -2881,14 +2881,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -2896,6 +2888,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute enum8 colorMode = 8; attribute bitmap8 options = 15; readonly attribute nullable int8u numberOfPrimaries = 16; @@ -2957,7 +2957,7 @@ server cluster TemperatureMeasurement = 1026 { /** Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */ server cluster PressureMeasurement = 1027 { - bitmap PressureMeasurementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kExtended = 0x1; } @@ -3050,7 +3050,7 @@ server cluster Channel = 1284 { kMso = 0; } - bitmap ChannelFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kChannelList = 0x1; kLineupInfo = 0x2; } @@ -3142,7 +3142,7 @@ server cluster MediaPlayback = 1286 { kBuffering = 3; } - bitmap MediaPlaybackFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kAdvancedSeek = 0x1; kVariableSpeed = 0x2; } @@ -3187,7 +3187,7 @@ server cluster MediaInput = 1287 { kOther = 11; } - bitmap MediaInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -3325,7 +3325,7 @@ server cluster KeypadInput = 1289 { kInvalidKeyInCurrentState = 2; } - bitmap KeypadInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNavigationKeyCodes = 0x1; kLocationKeys = 0x2; kNumberKeys = 0x4; @@ -3379,7 +3379,7 @@ server cluster ContentLauncher = 1290 { kVideo = 13; } - bitmap ContentLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kContentSearch = 0x1; kURLPlayback = 0x2; } @@ -3444,7 +3444,7 @@ server cluster AudioOutput = 1291 { kOther = 5; } - bitmap AudioOutputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -3478,7 +3478,7 @@ server cluster ApplicationLauncher = 1292 { kSystemBusy = 2; } - bitmap ApplicationLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kApplicationPlatform = 0x1; } diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index 6a7d96dd7752aa..d558ae34047de1 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -80,12 +80,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -113,7 +113,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -636,7 +636,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -739,7 +739,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -996,7 +996,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1050,7 +1050,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1219,7 +1219,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1273,7 +1273,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1301,7 +1301,7 @@ server cluster EthernetNetworkDiagnostics = 55 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/bridge-app/linux/include/Device.h b/examples/bridge-app/linux/include/Device.h index 8fb55101917381..2b1c110c1b1ab3 100644 --- a/examples/bridge-app/linux/include/Device.h +++ b/examples/bridge-app/linux/include/Device.h @@ -180,7 +180,7 @@ class DevicePowerSource : public Device } Changed; DevicePowerSource(const char * szDeviceName, std::string szLocation, - chip::BitFlags aFeatureMap) : + chip::BitFlags aFeatureMap) : Device(szDeviceName, szLocation), mFeatureMap(aFeatureMap){}; @@ -204,7 +204,7 @@ class DevicePowerSource : public Device uint8_t mOrder = 0; uint8_t mStatus = 0; std::string mDescription = "Primary Battery"; - chip::BitFlags mFeatureMap; + chip::BitFlags mFeatureMap; DeviceCallback_fn mChanged_CB; }; diff --git a/examples/bridge-app/linux/main.cpp b/examples/bridge-app/linux/main.cpp index 314036a83c5dcd..c589800547d076 100644 --- a/examples/bridge-app/linux/main.cpp +++ b/examples/bridge-app/linux/main.cpp @@ -992,7 +992,7 @@ int main(int argc, char * argv[]) // Setup composed device with two temperature sensors and a power source ComposedDevice ComposedDevice("Composed Device", "Bedroom"); - DevicePowerSource ComposedPowerSource("Composed Power Source", "Bedroom", PowerSource::PowerSourceFeature::kBattery); + DevicePowerSource ComposedPowerSource("Composed Power Source", "Bedroom", PowerSource::Feature::kBattery); ComposedDevice.SetReachable(true); ComposedTempSensor1.SetReachable(true); diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter index 71b16a0f2d6fef..8ff93234ef2895 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -139,12 +139,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -176,7 +176,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -873,7 +873,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -929,7 +929,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1100,7 +1100,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1156,7 +1156,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1184,7 +1184,7 @@ server cluster EthernetNetworkDiagnostics = 55 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter index 7f83d419ed05bb..ef9a4d53af6fe5 100644 --- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter +++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -703,7 +703,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -960,7 +960,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1277,14 +1277,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1292,6 +1284,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int16u remainingTime = 2; readonly attribute int16u colorTemperatureMireds = 7; readonly attribute enum8 colorMode = 8; diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter index ded5178c5ee201..a356d411099d0d 100644 --- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter +++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -606,7 +606,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -863,7 +863,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -899,7 +899,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter index 8f64d3a3c765dc..f486c7bfa6bcae 100644 --- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -139,12 +139,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -176,7 +176,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -755,7 +755,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1012,7 +1012,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1048,7 +1048,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter index fc73fb38ad1729..ab8a6a47db56a8 100644 --- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter +++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -606,7 +606,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -863,7 +863,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -899,7 +899,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1514,7 +1514,7 @@ server cluster DoorLock = 257 { kSaturday = 0x40; } - bitmap DoorLockFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPinCredential = 0x1; kRfidCredential = 0x2; kFingerCredentials = 0x4; diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter index 0d59a951762910..6e8ea74316488d 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -139,12 +139,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -176,7 +176,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -755,7 +755,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1012,7 +1012,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1048,7 +1048,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1398,14 +1398,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1413,6 +1405,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int8u currentHue = 0; readonly attribute int8u currentSaturation = 1; readonly attribute int16u remainingTime = 2; diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter index 806546549a9f6f..851b45db1b8f32 100644 --- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter +++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -593,7 +593,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -850,7 +850,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -886,7 +886,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1201,7 +1201,7 @@ server cluster FanControl = 514 { kSmart = 6; } - bitmap FanControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; kRocking = 0x4; diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter index 86996b5ed6e777..53d445c699253c 100644 --- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter +++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ client cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,7 +124,7 @@ client cluster Groups = 4 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -677,7 +677,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -934,7 +934,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -970,7 +970,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter index 1d6715ca7bf6f9..165dcef3ba859e 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -139,12 +139,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -172,7 +172,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -749,7 +749,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1006,7 +1006,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1042,7 +1042,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1382,12 +1382,7 @@ client cluster Thermostat = 513 { kAway = 0x80; } - bitmap ModeForSequence : BITMAP8 { - kHeatSetpointPresent = 0x1; - kCoolSetpointPresent = 0x2; - } - - bitmap ThermostatFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -1396,6 +1391,11 @@ client cluster Thermostat = 513 { kAutoMode = 0x20; } + bitmap ModeForSequence : BITMAP8 { + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; + } + struct ThermostatScheduleTransition { int16u transitionTime = 0; nullable int16s heatSetpoint = 1; @@ -1513,7 +1513,7 @@ server cluster FanControl = 514 { kSmart = 6; } - bitmap FanControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; kRocking = 0x4; diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter index 8dc61f017adcea..27382f831a45e9 100644 --- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter +++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ client cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,7 +124,7 @@ client cluster Groups = 4 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -677,7 +677,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -934,7 +934,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -970,7 +970,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter index 1eabc4a86d3d96..16743eba1d7914 100644 --- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter +++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ client cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,7 +124,7 @@ client cluster Groups = 4 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -677,7 +677,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -934,7 +934,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -970,7 +970,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter index bb44cd84394001..1fefc725bc8028 100644 --- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter +++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ client cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,7 +124,7 @@ client cluster Groups = 4 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -677,7 +677,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -934,7 +934,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -970,7 +970,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter index 549e69d48576e0..bfe31a8d7e6690 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -139,12 +139,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -176,7 +176,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -755,7 +755,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1012,7 +1012,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1048,7 +1048,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter index 4a0f3b6496df09..d4931fcbc21ef0 100644 --- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter +++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -139,12 +139,12 @@ client cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -207,12 +207,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -718,7 +718,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -975,7 +975,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1011,7 +1011,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter index abed57a9256e33..5650ccf8855554 100644 --- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter +++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -139,12 +139,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -654,7 +654,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -911,7 +911,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -947,7 +947,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter index dba7298c1a33d8..a4029fc04c28c1 100644 --- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter +++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ client cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,7 +124,7 @@ client cluster Groups = 4 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -677,7 +677,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -934,7 +934,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -970,7 +970,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1282,7 +1282,7 @@ server cluster UserLabel = 65 { /** Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */ server cluster PressureMeasurement = 1027 { - bitmap PressureMeasurementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kExtended = 0x1; } diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter index b4842483068952..aa1a118d2b0c16 100644 --- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter +++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -139,12 +139,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -172,7 +172,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -749,7 +749,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1006,7 +1006,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1042,7 +1042,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter index 5a608865b67404..828375a4f5324d 100644 --- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter +++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ client cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,7 +124,7 @@ client cluster Groups = 4 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -677,7 +677,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -934,7 +934,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -970,7 +970,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index 661c82ffcda78f..8953a2ccc3ea2a 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -606,7 +606,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -863,7 +863,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -899,7 +899,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1239,12 +1239,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap ModeForSequence : BITMAP8 { - kHeatSetpointPresent = 0x1; - kCoolSetpointPresent = 0x2; - } - - bitmap ThermostatFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -1253,6 +1248,11 @@ server cluster Thermostat = 513 { kAutoMode = 0x20; } + bitmap ModeForSequence : BITMAP8 { + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; + } + struct ThermostatScheduleTransition { int16u transitionTime = 0; nullable int16s heatSetpoint = 1; @@ -1322,7 +1322,7 @@ client cluster FanControl = 514 { kSmart = 6; } - bitmap FanControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; kRocking = 0x4; diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter index 753344467092fb..62168a4c7a5ff1 100644 --- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter +++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -606,7 +606,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -863,7 +863,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -899,7 +899,7 @@ server cluster SoftwareDiagnostics = 52 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1247,6 +1247,14 @@ 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; @@ -1275,14 +1283,6 @@ 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 2392eae700b844..0da59f91f3d219 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 @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -593,7 +593,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -850,7 +850,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -906,7 +906,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1077,7 +1077,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1133,7 +1133,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } diff --git a/examples/dynamic-bridge-app/bridge-common/bridge-app.matter b/examples/dynamic-bridge-app/bridge-common/bridge-app.matter index e388939cfa02a4..658114c33da5b4 100644 --- a/examples/dynamic-bridge-app/bridge-common/bridge-app.matter +++ b/examples/dynamic-bridge-app/bridge-common/bridge-app.matter @@ -80,12 +80,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -113,7 +113,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -636,7 +636,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -739,7 +739,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -996,7 +996,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1050,7 +1050,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1219,7 +1219,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1273,7 +1273,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1301,7 +1301,7 @@ server cluster EthernetNetworkDiagnostics = 55 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; 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 b05ef0db02b8a3..6b68c5f8367c9f 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 @@ -107,7 +107,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -172,12 +172,12 @@ server cluster Groups = 4 { /** Attributes and commands for scene configuration and manipulation. */ client cluster Scenes = 5 { - bitmap ScenesCopyMode : BITMAP8 { - kCopyAllScenes = 0x1; + bitmap Feature : BITMAP32 { + kSceneNames = 0x1; } - bitmap ScenesFeature : BITMAP32 { - kSceneNames = 0x1; + bitmap ScenesCopyMode : BITMAP8 { + kCopyAllScenes = 0x1; } struct AttributeValuePair { @@ -366,12 +366,12 @@ client cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -901,7 +901,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1158,7 +1158,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1214,7 +1214,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1385,7 +1385,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1441,7 +1441,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1469,7 +1469,7 @@ server cluster EthernetNetworkDiagnostics = 55 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1835,14 +1835,6 @@ client cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1850,6 +1842,14 @@ client cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute optional int8u currentHue = 0; readonly attribute optional int8u currentSaturation = 1; readonly attribute optional int16u remainingTime = 2; diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter index e7ee0a37995e04..998de0fd9c685c 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -763,7 +763,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1020,7 +1020,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1076,7 +1076,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1217,7 +1217,7 @@ server cluster ThreadNetworkDiagnostics = 53 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1583,14 +1583,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1598,6 +1590,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int8u currentHue = 0; readonly attribute int8u currentSaturation = 1; readonly attribute int16u remainingTime = 2; diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter index 357b26a4b301f6..9b29c95ad74972 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -763,7 +763,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1020,7 +1020,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1083,7 +1083,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1126,7 +1126,7 @@ server cluster WiFiNetworkDiagnostics = 54 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1492,14 +1492,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1507,6 +1499,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int8u currentHue = 0; readonly attribute int8u currentSaturation = 1; readonly attribute int16u remainingTime = 2; diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index d3569ce26c1874..4b936d4078c212 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -763,7 +763,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1020,7 +1020,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1076,7 +1076,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1247,7 +1247,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1303,7 +1303,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1331,7 +1331,7 @@ server cluster EthernetNetworkDiagnostics = 55 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1697,14 +1697,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1712,6 +1704,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int8u currentHue = 0; readonly attribute int8u currentSaturation = 1; readonly attribute int16u remainingTime = 2; diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter index b3228bd4b1f59c..fc34993bb6a99f 100644 --- a/examples/lighting-app/nxp/zap/lighting-on-off.matter +++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -697,7 +697,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -904,7 +904,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -960,7 +960,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter index 8ecceae4110b58..8b57da10b365cf 100644 --- a/examples/lighting-app/qpg/zap/light.matter +++ b/examples/lighting-app/qpg/zap/light.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -707,7 +707,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -964,7 +964,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1020,7 +1020,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1474,14 +1474,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1489,6 +1481,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int8u currentHue = 0; readonly attribute int8u currentSaturation = 1; readonly attribute int16u remainingTime = 2; 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 aacd7361c3fe2c..5678a95a50c440 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 @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -763,7 +763,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1020,7 +1020,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1084,7 +1084,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1443,14 +1443,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1458,6 +1450,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int8u currentHue = 0; readonly attribute int8u currentSaturation = 1; readonly attribute int16u remainingTime = 2; 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 2bf7df26909899..1807e3174d5ca9 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 @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -763,7 +763,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1020,7 +1020,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1076,7 +1076,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1479,7 +1479,7 @@ server cluster UserLabel = 65 { /** Allows servers to ensure that listed clients are notified when a server is available for communication. */ server cluster IcdManagement = 70 { - bitmap ICDManagementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kCheckInProtocolSupport = 0x1; } @@ -1580,14 +1580,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1595,6 +1587,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int8u currentHue = 0; readonly attribute int8u currentSaturation = 1; readonly attribute int16u remainingTime = 2; 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 aacd7361c3fe2c..5678a95a50c440 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 @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -763,7 +763,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1020,7 +1020,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1084,7 +1084,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1443,14 +1443,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -1458,6 +1450,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int8u currentHue = 0; readonly attribute int8u currentSaturation = 1; readonly attribute int16u remainingTime = 2; diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter index 6711806aa657cf..5fd26c2a019a9b 100644 --- a/examples/lock-app/lock-common/lock-app.matter +++ b/examples/lock-app/lock-common/lock-app.matter @@ -74,12 +74,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -671,7 +671,7 @@ server cluster PowerSource = 47 { kUnderVoltage = 2; } - bitmap PowerSourceFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -814,7 +814,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1071,7 +1071,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1127,7 +1127,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1298,7 +1298,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1354,7 +1354,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1961,7 +1961,7 @@ server cluster DoorLock = 257 { kSaturday = 0x40; } - bitmap DoorLockFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPinCredential = 0x1; kRfidCredential = 0x2; kFingerCredentials = 0x4; diff --git a/examples/lock-app/nxp/zap/lock-app.matter b/examples/lock-app/nxp/zap/lock-app.matter index a68dac1f00fab9..ea66c465e17a39 100644 --- a/examples/lock-app/nxp/zap/lock-app.matter +++ b/examples/lock-app/nxp/zap/lock-app.matter @@ -320,7 +320,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -527,7 +527,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -583,7 +583,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1264,7 +1264,7 @@ server cluster DoorLock = 257 { kSaturday = 0x40; } - bitmap DoorLockFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPinCredential = 0x1; kRfidCredential = 0x2; kFingerCredentials = 0x4; diff --git a/examples/lock-app/qpg/zap/lock.matter b/examples/lock-app/qpg/zap/lock.matter index 9bad58cf0a9894..be43704a7ffebb 100644 --- a/examples/lock-app/qpg/zap/lock.matter +++ b/examples/lock-app/qpg/zap/lock.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -541,7 +541,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -798,7 +798,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -854,7 +854,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1573,7 +1573,7 @@ server cluster DoorLock = 257 { kSaturday = 0x40; } - bitmap DoorLockFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPinCredential = 0x1; kRfidCredential = 0x2; kFingerCredentials = 0x4; diff --git a/examples/log-source-app/log-source-common/log-source-app.matter b/examples/log-source-app/log-source-common/log-source-app.matter index 2ba2b4be9cf231..8d2cdf1ede6d19 100644 --- a/examples/log-source-app/log-source-common/log-source-app.matter +++ b/examples/log-source-app/log-source-common/log-source-app.matter @@ -172,7 +172,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; diff --git a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter index 60ba29378fb02a..ad45ed456c163f 100644 --- a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter +++ b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter @@ -477,7 +477,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; 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 c71b13938be727..80cfa9376dfabb 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 @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -145,12 +145,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -655,7 +655,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index eefd492aea1e31..fe00f39babd7ea 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,12 +124,12 @@ server cluster Groups = 4 { /** Attributes and commands for scene configuration and manipulation. */ server cluster Scenes = 5 { - bitmap ScenesCopyMode : BITMAP8 { - kCopyAllScenes = 0x1; + bitmap Feature : BITMAP32 { + kSceneNames = 0x1; } - bitmap ScenesFeature : BITMAP32 { - kSceneNames = 0x1; + bitmap ScenesCopyMode : BITMAP8 { + kCopyAllScenes = 0x1; } struct AttributeValuePair { @@ -262,12 +262,12 @@ client cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -330,12 +330,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -381,7 +381,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -811,7 +811,7 @@ client cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -835,7 +835,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -1039,7 +1039,7 @@ server cluster PowerSource = 47 { kUnderVoltage = 2; } - bitmap PowerSourceFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -1272,7 +1272,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1492,7 +1492,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1556,7 +1556,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1612,7 +1612,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1640,7 +1640,7 @@ server cluster EthernetNetworkDiagnostics = 55 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ client cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1693,7 +1693,7 @@ client cluster Switch = 59 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -2089,7 +2089,7 @@ server cluster BooleanState = 69 { /** Attributes and commands for selecting a mode from a list of supported options. */ client cluster ModeSelect = 80 { - bitmap ModeSelectFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kDeponoff = 0x1; } @@ -2127,7 +2127,7 @@ client cluster ModeSelect = 80 { /** Attributes and commands for selecting a mode from a list of supported options. */ server cluster ModeSelect = 80 { - bitmap ModeSelectFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kDeponoff = 0x1; } @@ -2215,6 +2215,14 @@ 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; @@ -2243,14 +2251,6 @@ 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; @@ -2319,7 +2319,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpConfigurationAndControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -2469,12 +2469,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap ModeForSequence : BITMAP8 { - kHeatSetpointPresent = 0x1; - kCoolSetpointPresent = 0x2; - } - - bitmap ThermostatFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -2483,6 +2478,11 @@ server cluster Thermostat = 513 { kAutoMode = 0x20; } + bitmap ModeForSequence : BITMAP8 { + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; + } + struct ThermostatScheduleTransition { int16u transitionTime = 0; nullable int16s heatSetpoint = 1; @@ -2595,14 +2595,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -2610,6 +2602,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int16u currentX = 3; readonly attribute int16u currentY = 4; attribute bitmap8 options = 15; @@ -2700,7 +2700,7 @@ server cluster TemperatureMeasurement = 1026 { /** Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */ server cluster PressureMeasurement = 1027 { - bitmap PressureMeasurementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kExtended = 0x1; } @@ -2970,7 +2970,7 @@ client cluster KeypadInput = 1289 { kInvalidKeyInCurrentState = 2; } - bitmap KeypadInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNavigationKeyCodes = 0x1; kLocationKeys = 0x2; kNumberKeys = 0x4; @@ -3092,7 +3092,7 @@ server cluster KeypadInput = 1289 { kInvalidKeyInCurrentState = 2; } - bitmap KeypadInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNavigationKeyCodes = 0x1; kLocationKeys = 0x2; kNumberKeys = 0x4; @@ -3146,7 +3146,7 @@ client cluster ContentLauncher = 1290 { kVideo = 13; } - bitmap ContentLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kContentSearch = 0x1; kURLPlayback = 0x2; } @@ -3254,7 +3254,7 @@ server cluster ContentLauncher = 1290 { kVideo = 13; } - bitmap ContentLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kContentSearch = 0x1; kURLPlayback = 0x2; } diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index 4fc58eb00c4dc4..06a656a0bf8432 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,12 +124,12 @@ server cluster Groups = 4 { /** Attributes and commands for scene configuration and manipulation. */ server cluster Scenes = 5 { - bitmap ScenesCopyMode : BITMAP8 { - kCopyAllScenes = 0x1; + bitmap Feature : BITMAP32 { + kSceneNames = 0x1; } - bitmap ScenesFeature : BITMAP32 { - kSceneNames = 0x1; + bitmap ScenesCopyMode : BITMAP8 { + kCopyAllScenes = 0x1; } struct AttributeValuePair { @@ -262,12 +262,12 @@ client cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -330,12 +330,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -381,7 +381,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -796,7 +796,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -1000,7 +1000,7 @@ server cluster PowerSource = 47 { kUnderVoltage = 2; } - bitmap PowerSourceFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -1233,7 +1233,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1453,7 +1453,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1517,7 +1517,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1573,7 +1573,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1601,7 +1601,7 @@ server cluster EthernetNetworkDiagnostics = 55 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ client cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -1654,7 +1654,7 @@ client cluster Switch = 59 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ server cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -2050,7 +2050,7 @@ server cluster BooleanState = 69 { /** Attributes and commands for selecting a mode from a list of supported options. */ client cluster ModeSelect = 80 { - bitmap ModeSelectFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kDeponoff = 0x1; } @@ -2088,7 +2088,7 @@ client cluster ModeSelect = 80 { /** Attributes and commands for selecting a mode from a list of supported options. */ server cluster ModeSelect = 80 { - bitmap ModeSelectFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kDeponoff = 0x1; } @@ -2176,6 +2176,14 @@ 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; @@ -2204,14 +2212,6 @@ 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; @@ -2280,7 +2280,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpConfigurationAndControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -2430,12 +2430,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap ModeForSequence : BITMAP8 { - kHeatSetpointPresent = 0x1; - kCoolSetpointPresent = 0x2; - } - - bitmap ThermostatFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -2444,6 +2439,11 @@ server cluster Thermostat = 513 { kAutoMode = 0x20; } + bitmap ModeForSequence : BITMAP8 { + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; + } + struct ThermostatScheduleTransition { int16u transitionTime = 0; nullable int16s heatSetpoint = 1; @@ -2556,14 +2556,6 @@ server cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -2571,6 +2563,14 @@ server cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute int16u currentX = 3; readonly attribute int16u currentY = 4; attribute bitmap8 options = 15; @@ -2661,7 +2661,7 @@ server cluster TemperatureMeasurement = 1026 { /** Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */ server cluster PressureMeasurement = 1027 { - bitmap PressureMeasurementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kExtended = 0x1; } @@ -2931,7 +2931,7 @@ client cluster KeypadInput = 1289 { kInvalidKeyInCurrentState = 2; } - bitmap KeypadInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNavigationKeyCodes = 0x1; kLocationKeys = 0x2; kNumberKeys = 0x4; @@ -3053,7 +3053,7 @@ server cluster KeypadInput = 1289 { kInvalidKeyInCurrentState = 2; } - bitmap KeypadInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNavigationKeyCodes = 0x1; kLocationKeys = 0x2; kNumberKeys = 0x4; @@ -3107,7 +3107,7 @@ client cluster ContentLauncher = 1290 { kVideo = 13; } - bitmap ContentLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kContentSearch = 0x1; kURLPlayback = 0x2; } @@ -3215,7 +3215,7 @@ server cluster ContentLauncher = 1290 { kVideo = 13; } - bitmap ContentLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kContentSearch = 0x1; kURLPlayback = 0x2; } diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter index 0f01768c57a550..47bd66c357f9c9 100644 --- a/examples/pump-app/pump-common/pump-app.matter +++ b/examples/pump-app/pump-common/pump-app.matter @@ -74,12 +74,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -107,7 +107,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -631,7 +631,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -860,7 +860,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1200,7 +1200,7 @@ server cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpConfigurationAndControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -1320,7 +1320,7 @@ server cluster TemperatureMeasurement = 1026 { /** Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */ server cluster PressureMeasurement = 1027 { - bitmap PressureMeasurementFeature : BITMAP32 { + bitmap Feature : 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 197a8f44784a43..5c3920bcca5318 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 @@ -74,12 +74,12 @@ client cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -556,7 +556,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -785,7 +785,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1125,7 +1125,7 @@ client cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpConfigurationAndControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -1245,7 +1245,7 @@ client cluster TemperatureMeasurement = 1026 { /** Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */ client cluster PressureMeasurement = 1027 { - bitmap PressureMeasurementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kExtended = 0x1; } diff --git a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter index d5baf418af4728..c2a700b182f560 100644 --- a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter +++ b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter @@ -254,7 +254,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -357,7 +357,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -608,7 +608,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -667,7 +667,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -721,7 +721,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index a4190214247cd9..85fd54ea0e540a 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -107,7 +107,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -172,12 +172,12 @@ server cluster Groups = 4 { /** Attributes and commands for scene configuration and manipulation. */ server cluster Scenes = 5 { - bitmap ScenesCopyMode : BITMAP8 { - kCopyAllScenes = 0x1; + bitmap Feature : BITMAP32 { + kSceneNames = 0x1; } - bitmap ScenesFeature : BITMAP32 { - kSceneNames = 0x1; + bitmap ScenesCopyMode : BITMAP8 { + kCopyAllScenes = 0x1; } struct AttributeValuePair { @@ -698,7 +698,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -801,7 +801,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1058,7 +1058,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1112,7 +1112,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1283,7 +1283,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1339,7 +1339,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1669,12 +1669,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap ModeForSequence : BITMAP8 { - kHeatSetpointPresent = 0x1; - kCoolSetpointPresent = 0x2; - } - - bitmap ThermostatFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -1683,6 +1678,11 @@ server cluster Thermostat = 513 { kAutoMode = 0x20; } + bitmap ModeForSequence : BITMAP8 { + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; + } + struct ThermostatScheduleTransition { int16u transitionTime = 0; nullable int16s heatSetpoint = 1; diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter index 378d4d0aa81ff7..0f5a0b997709ec 100644 --- a/examples/tv-app/tv-common/tv-app.matter +++ b/examples/tv-app/tv-common/tv-app.matter @@ -34,12 +34,12 @@ server cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -67,7 +67,7 @@ server cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -515,7 +515,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -685,7 +685,7 @@ client cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -830,7 +830,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1087,7 +1087,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1141,7 +1141,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1310,7 +1310,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1364,7 +1364,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1810,7 +1810,7 @@ server cluster Channel = 1284 { kMso = 0; } - bitmap ChannelFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kChannelList = 0x1; kLineupInfo = 0x2; } @@ -1916,7 +1916,7 @@ server cluster MediaPlayback = 1286 { kBuffering = 3; } - bitmap MediaPlaybackFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kAdvancedSeek = 0x1; kVariableSpeed = 0x2; } @@ -1987,7 +1987,7 @@ server cluster MediaInput = 1287 { kOther = 11; } - bitmap MediaInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -2131,7 +2131,7 @@ server cluster KeypadInput = 1289 { kInvalidKeyInCurrentState = 2; } - bitmap KeypadInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNavigationKeyCodes = 0x1; kLocationKeys = 0x2; kNumberKeys = 0x4; @@ -2185,7 +2185,7 @@ server cluster ContentLauncher = 1290 { kVideo = 13; } - bitmap ContentLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kContentSearch = 0x1; kURLPlayback = 0x2; } @@ -2272,7 +2272,7 @@ server cluster AudioOutput = 1291 { kOther = 5; } - bitmap AudioOutputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -2312,7 +2312,7 @@ server cluster ApplicationLauncher = 1292 { kSystemBusy = 2; } - bitmap ApplicationLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kApplicationPlatform = 0x1; } 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 c66b0783124e69..5042f6d3dbad94 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 @@ -53,7 +53,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -139,12 +139,12 @@ client cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -196,7 +196,7 @@ client cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -601,7 +601,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -704,7 +704,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -924,7 +924,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -986,7 +986,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1040,7 +1040,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1325,7 +1325,7 @@ client cluster Channel = 1284 { kMso = 0; } - bitmap ChannelFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kChannelList = 0x1; kLineupInfo = 0x2; } @@ -1435,7 +1435,7 @@ client cluster MediaPlayback = 1286 { kBuffering = 3; } - bitmap MediaPlaybackFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kAdvancedSeek = 0x1; kVariableSpeed = 0x2; } @@ -1517,7 +1517,7 @@ client cluster MediaInput = 1287 { kOther = 11; } - bitmap MediaInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -1666,7 +1666,7 @@ client cluster KeypadInput = 1289 { kInvalidKeyInCurrentState = 2; } - bitmap KeypadInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNavigationKeyCodes = 0x1; kLocationKeys = 0x2; kNumberKeys = 0x4; @@ -1721,7 +1721,7 @@ client cluster ContentLauncher = 1290 { kVideo = 13; } - bitmap ContentLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kContentSearch = 0x1; kURLPlayback = 0x2; } @@ -1810,7 +1810,7 @@ client cluster AudioOutput = 1291 { kOther = 5; } - bitmap AudioOutputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -1852,7 +1852,7 @@ client cluster ApplicationLauncher = 1292 { kSystemBusy = 2; } - bitmap ApplicationLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kApplicationPlatform = 0x1; } diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter index e48d6d2d0f87f3..88211bcee71282 100644 --- a/examples/window-app/common/window-app.matter +++ b/examples/window-app/common/window-app.matter @@ -59,7 +59,7 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -124,12 +124,12 @@ server cluster Groups = 4 { /** Attributes and commands for scene configuration and manipulation. */ server cluster Scenes = 5 { - bitmap ScenesCopyMode : BITMAP8 { - kCopyAllScenes = 0x1; + bitmap Feature : BITMAP32 { + kSceneNames = 0x1; } - bitmap ScenesFeature : BITMAP32 { - kSceneNames = 0x1; + bitmap ScenesCopyMode : BITMAP8 { + kCopyAllScenes = 0x1; } struct AttributeValuePair { @@ -631,7 +631,7 @@ server cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -823,7 +823,7 @@ server cluster PowerSource = 47 { kUnderVoltage = 2; } - bitmap PowerSourceFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -967,7 +967,7 @@ server cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1187,7 +1187,7 @@ server cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1243,7 +1243,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1414,7 +1414,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1470,7 +1470,7 @@ server cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -1808,6 +1808,14 @@ 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; @@ -1836,14 +1844,6 @@ 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/application-launcher-server/application-launcher-delegate.h b/src/app/clusters/application-launcher-server/application-launcher-delegate.h index d8b15c4673d4f9..1a945e8714db71 100644 --- a/src/app/clusters/application-launcher-server/application-launcher-delegate.h +++ b/src/app/clusters/application-launcher-server/application-launcher-delegate.h @@ -43,9 +43,9 @@ class Delegate Delegate() : Delegate(false){}; Delegate(bool featureMapContentPlatform) { mFeatureMapContentPlatform = featureMapContentPlatform; }; - inline bool HasFeature(ApplicationLauncherFeature feature) + inline bool HasFeature(Feature feature) { - if (feature == ApplicationLauncherFeature::kApplicationPlatform) + if (feature == Feature::kApplicationPlatform) { return mFeatureMapContentPlatform; } diff --git a/src/app/clusters/application-launcher-server/application-launcher-server.cpp b/src/app/clusters/application-launcher-server/application-launcher-server.cpp index 24ac02589babd9..e3ed24e0ad39ea 100644 --- a/src/app/clusters/application-launcher-server/application-launcher-server.cpp +++ b/src/app/clusters/application-launcher-server/application-launcher-server.cpp @@ -107,7 +107,7 @@ void SetDefaultDelegate(EndpointId endpoint, Delegate * delegate) } } -bool HasFeature(chip::EndpointId endpoint, ApplicationLauncherFeature feature) +bool HasFeature(chip::EndpointId endpoint, Feature feature) { bool hasFeature = false; uint32_t featureMap = 0; @@ -125,7 +125,7 @@ bool HasFeature(chip::EndpointId endpoint, ApplicationLauncherFeature feature) CHIP_ERROR Delegate::HandleGetCurrentApp(app::AttributeValueEncoder & aEncoder) { #if CHIP_DEVICE_CONFIG_APP_PLATFORM_ENABLED - if (HasFeature(ApplicationLauncherFeature::kApplicationPlatform)) + if (HasFeature(Feature::kApplicationPlatform)) { auto & platform = ContentAppPlatform::GetInstance(); if (platform.HasCurrentApp()) @@ -246,7 +246,7 @@ bool emberAfApplicationLauncherClusterLaunchAppCallback(app::CommandHandler * co // 2. Set current app to Content App // 3. Set Content App status (basic cluster) to ACTIVE_VISIBLE_FOCUS // 4. Call launch app command on Content App - if (delegate->HasFeature(ApplicationLauncherFeature::kApplicationPlatform)) + if (delegate->HasFeature(Feature::kApplicationPlatform)) { ChipLogError(Zcl, "ApplicationLauncher has content platform feature"); ContentApp * app = ContentAppPlatform::GetInstance().LoadContentApp(&vendorApp); @@ -340,7 +340,7 @@ bool emberAfApplicationLauncherClusterStopAppCallback(app::CommandHandler * comm // 3. If this was the current app then stop it // 2. Set Content App status (basic cluster) to ACTIVE_STOPPED // 4. Call stop app command on Content App - if (delegate->HasFeature(ApplicationLauncherFeature::kApplicationPlatform)) + if (delegate->HasFeature(Feature::kApplicationPlatform)) { ChipLogError(Zcl, "ApplicationLauncher has content platform feature"); ContentApp * app = ContentAppPlatform::GetInstance().LoadContentApp(&vendorApp); @@ -429,7 +429,7 @@ bool emberAfApplicationLauncherClusterHideAppCallback(app::CommandHandler * comm // 3. If this was the current app then hide it // 2. Set Content App status (basic cluster) to ACTIVE_VISIBLE_NOT_FOCUS // 4. Call stop app command on Content App - if (delegate->HasFeature(ApplicationLauncherFeature::kApplicationPlatform)) + if (delegate->HasFeature(Feature::kApplicationPlatform)) { ChipLogError(Zcl, "ApplicationLauncher has content platform feature"); ContentApp * app = ContentAppPlatform::GetInstance().GetContentApp(&vendorApp); diff --git a/src/app/clusters/audio-output-server/audio-output-server.cpp b/src/app/clusters/audio-output-server/audio-output-server.cpp index 4e3b329289df86..81b94192fbb2d7 100644 --- a/src/app/clusters/audio-output-server/audio-output-server.cpp +++ b/src/app/clusters/audio-output-server/audio-output-server.cpp @@ -84,7 +84,7 @@ void SetDefaultDelegate(EndpointId endpoint, Delegate * delegate) } } -bool HasFeature(chip::EndpointId endpoint, AudioOutputFeature feature) +bool HasFeature(chip::EndpointId endpoint, Feature feature) { bool hasFeature = false; uint32_t featureMap = 0; @@ -181,7 +181,7 @@ bool emberAfAudioOutputClusterRenameOutputCallback(app::CommandHandler * command Delegate * delegate = GetDelegate(endpoint); VerifyOrExit(isDelegateNull(delegate, endpoint) != true, err = CHIP_ERROR_INCORRECT_STATE); - if (!HasFeature(endpoint, AudioOutputFeature::kNameUpdates)) + if (!HasFeature(endpoint, Feature::kNameUpdates)) { ChipLogError(Zcl, "AudioOutput no name updates feature"); err = CHIP_ERROR_INCORRECT_STATE; diff --git a/src/app/clusters/channel-server/channel-delegate.h b/src/app/clusters/channel-server/channel-delegate.h index bf2326dfe51aa4..f5fbbadda7ae16 100644 --- a/src/app/clusters/channel-server/channel-delegate.h +++ b/src/app/clusters/channel-server/channel-delegate.h @@ -44,7 +44,7 @@ class Delegate virtual bool HandleChangeChannelByNumber(const uint16_t & majorNumber, const uint16_t & minorNumber) = 0; virtual bool HandleSkipChannel(const int16_t & count) = 0; - bool HasFeature(chip::EndpointId endpoint, ChannelFeature feature); + bool HasFeature(chip::EndpointId endpoint, Feature feature); virtual uint32_t GetFeatureMap(chip::EndpointId endpoint) = 0; virtual ~Delegate() = default; diff --git a/src/app/clusters/channel-server/channel-server.cpp b/src/app/clusters/channel-server/channel-server.cpp index a5c5a9f28995e0..72c0f59b06a66d 100644 --- a/src/app/clusters/channel-server/channel-server.cpp +++ b/src/app/clusters/channel-server/channel-server.cpp @@ -94,7 +94,7 @@ void SetDefaultDelegate(EndpointId endpoint, Delegate * delegate) } } -bool Delegate::HasFeature(chip::EndpointId endpoint, ChannelFeature feature) +bool Delegate::HasFeature(chip::EndpointId endpoint, Feature feature) { uint32_t featureMap = GetFeatureMap(endpoint); return (featureMap & chip::to_underlying(feature)); @@ -134,7 +134,7 @@ CHIP_ERROR ChannelAttrAccess::Read(const app::ConcreteReadAttributePath & aPath, switch (aPath.mAttributeId) { case app::Clusters::Channel::Attributes::ChannelList::Id: { - if (isDelegateNull(delegate, endpoint) || !delegate->HasFeature(endpoint, ChannelFeature::kChannelList)) + if (isDelegateNull(delegate, endpoint) || !delegate->HasFeature(endpoint, Feature::kChannelList)) { return aEncoder.EncodeEmptyList(); } @@ -142,7 +142,7 @@ CHIP_ERROR ChannelAttrAccess::Read(const app::ConcreteReadAttributePath & aPath, return ReadChannelListAttribute(aEncoder, delegate); } case app::Clusters::Channel::Attributes::Lineup::Id: { - if (isDelegateNull(delegate, endpoint) || !delegate->HasFeature(endpoint, ChannelFeature::kLineupInfo)) + if (isDelegateNull(delegate, endpoint) || !delegate->HasFeature(endpoint, Feature::kLineupInfo)) { return CHIP_NO_ERROR; } diff --git a/src/app/clusters/color-control-server/color-control-server.cpp b/src/app/clusters/color-control-server/color-control-server.cpp index 6247cd3c03770d..e80e87b0ea9440 100644 --- a/src/app/clusters/color-control-server/color-control-server.cpp +++ b/src/app/clusters/color-control-server/color-control-server.cpp @@ -79,7 +79,7 @@ ColorControlServer & ColorControlServer::Instance() return instance; } -bool ColorControlServer::HasFeature(chip::EndpointId endpoint, ColorControlFeature feature) +bool ColorControlServer::HasFeature(chip::EndpointId endpoint, Feature feature) { bool success; uint32_t featureMap; diff --git a/src/app/clusters/color-control-server/color-control-server.h b/src/app/clusters/color-control-server/color-control-server.h index d82fabc88fb8e2..e9a87182770fb8 100644 --- a/src/app/clusters/color-control-server/color-control-server.h +++ b/src/app/clusters/color-control-server/color-control-server.h @@ -55,8 +55,6 @@ #define REPORT_FAILED 0xFF -using chip::app::Clusters::ColorControl::ColorControlFeature; - /** * @brief color-control-server class */ @@ -69,6 +67,7 @@ class ColorControlServer using HueStepMode = chip::app::Clusters::ColorControl::HueStepMode; using HueMoveMode = chip::app::Clusters::ColorControl::HueMoveMode; using HueDirection = chip::app::Clusters::ColorControl::HueDirection; + using Feature = chip::app::Clusters::ColorControl::Feature; enum ColorMode { @@ -128,7 +127,7 @@ class ColorControlServer *********************************************************/ static ColorControlServer & Instance(); - bool HasFeature(chip::EndpointId endpoint, ColorControlFeature feature); + bool HasFeature(chip::EndpointId endpoint, Feature feature); chip::Protocols::InteractionModel::Status stopAllColorTransitions(chip::EndpointId endpoint); bool stopMoveStepCommand(chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, uint8_t optionsMask, uint8_t optionsOverride); diff --git a/src/app/clusters/content-launch-server/content-launch-delegate.h b/src/app/clusters/content-launch-server/content-launch-delegate.h index ef8afc5dd92627..5f189861164088 100644 --- a/src/app/clusters/content-launch-server/content-launch-delegate.h +++ b/src/app/clusters/content-launch-server/content-launch-delegate.h @@ -50,7 +50,7 @@ class Delegate virtual uint32_t HandleGetSupportedStreamingProtocols() = 0; - bool HasFeature(chip::EndpointId endpoint, ContentLauncherFeature feature); + bool HasFeature(chip::EndpointId endpoint, Feature feature); virtual uint32_t GetFeatureMap(chip::EndpointId endpoint) = 0; virtual ~Delegate() = default; diff --git a/src/app/clusters/content-launch-server/content-launch-server.cpp b/src/app/clusters/content-launch-server/content-launch-server.cpp index 25d6987cd1ed02..f5a700ff8a972d 100644 --- a/src/app/clusters/content-launch-server/content-launch-server.cpp +++ b/src/app/clusters/content-launch-server/content-launch-server.cpp @@ -99,7 +99,7 @@ void SetDefaultDelegate(EndpointId endpoint, Delegate * delegate) } } -bool Delegate::HasFeature(chip::EndpointId endpoint, ContentLauncherFeature feature) +bool Delegate::HasFeature(chip::EndpointId endpoint, Feature feature) { uint32_t featureMap = GetFeatureMap(endpoint); return (featureMap & chip::to_underlying(feature)); @@ -207,8 +207,7 @@ bool emberAfContentLauncherClusterLaunchContentCallback(CommandHandler * command Delegate * delegate = GetDelegate(endpoint); - VerifyOrExit(isDelegateNull(delegate, endpoint) != true && - delegate->HasFeature(endpoint, ContentLauncherFeature::kContentSearch), + VerifyOrExit(isDelegateNull(delegate, endpoint) != true && delegate->HasFeature(endpoint, Feature::kContentSearch), err = CHIP_ERROR_INCORRECT_STATE); delegate->HandleLaunchContent(responder, decodableParameterList, autoplay, data.HasValue() ? data.Value() : CharSpan()); @@ -241,7 +240,7 @@ bool emberAfContentLauncherClusterLaunchURLCallback(CommandHandler * commandObj, app::CommandResponseHelper responder(commandObj, commandPath); Delegate * delegate = GetDelegate(endpoint); - VerifyOrExit(isDelegateNull(delegate, endpoint) != true && delegate->HasFeature(endpoint, ContentLauncherFeature::kURLPlayback), + VerifyOrExit(isDelegateNull(delegate, endpoint) != true && delegate->HasFeature(endpoint, Feature::kURLPlayback), err = CHIP_ERROR_INCORRECT_STATE); { delegate->HandleLaunchUrl(responder, contentUrl, displayString.HasValue() ? displayString.Value() : CharSpan(), diff --git a/src/app/clusters/door-lock-server/door-lock-server.cpp b/src/app/clusters/door-lock-server/door-lock-server.cpp index c363ada6d4c30f..757063b5f173af 100644 --- a/src/app/clusters/door-lock-server/door-lock-server.cpp +++ b/src/app/clusters/door-lock-server/door-lock-server.cpp @@ -1313,9 +1313,9 @@ void DoorLockServer::clearYearDayScheduleCommandHandler(chip::app::CommandHandle commandObj->AddStatus(commandPath, Status::Success); } -chip::BitFlags DoorLockServer::GetFeatures(chip::EndpointId endpointId) +chip::BitFlags DoorLockServer::GetFeatures(chip::EndpointId endpointId) { - chip::BitFlags featureMap; + chip::BitFlags featureMap; if (!GetAttribute(endpointId, Attributes::FeatureMap::Id, Attributes::FeatureMap::Get, *featureMap.RawStorage())) { ChipLogError(Zcl, "Unable to get the door lock feature map: attribute read error"); diff --git a/src/app/clusters/door-lock-server/door-lock-server.h b/src/app/clusters/door-lock-server/door-lock-server.h index 2fca20ddfdc628..5728a4a891c559 100644 --- a/src/app/clusters/door-lock-server/door-lock-server.h +++ b/src/app/clusters/door-lock-server/door-lock-server.h @@ -43,7 +43,6 @@ using chip::app::Clusters::DoorLock::DataOperationTypeEnum; using chip::app::Clusters::DoorLock::DaysMaskMap; using chip::app::Clusters::DoorLock::DlLockState; using chip::app::Clusters::DoorLock::DlStatus; -using chip::app::Clusters::DoorLock::DoorLockFeature; using chip::app::Clusters::DoorLock::DoorStateEnum; using chip::app::Clusters::DoorLock::LockDataTypeEnum; using chip::app::Clusters::DoorLock::LockOperationTypeEnum; @@ -83,6 +82,8 @@ class DoorLockServer public: static DoorLockServer & Instance(); + using Feature = chip::app::Clusters::DoorLock::Feature; + void InitServer(chip::EndpointId endpointId); /** @@ -142,50 +143,46 @@ class DoorLockServer bool SendLockAlarmEvent(chip::EndpointId endpointId, AlarmCodeEnum alarmCode); - chip::BitFlags GetFeatures(chip::EndpointId endpointId); + chip::BitFlags GetFeatures(chip::EndpointId endpointId); - inline bool SupportsPIN(chip::EndpointId endpointId) { return GetFeatures(endpointId).Has(DoorLockFeature::kPinCredential); } + inline bool SupportsPIN(chip::EndpointId endpointId) { return GetFeatures(endpointId).Has(Feature::kPinCredential); } - inline bool SupportsRFID(chip::EndpointId endpointId) { return GetFeatures(endpointId).Has(DoorLockFeature::kRfidCredential); } + inline bool SupportsRFID(chip::EndpointId endpointId) { return GetFeatures(endpointId).Has(Feature::kRfidCredential); } - inline bool SupportsFingers(chip::EndpointId endpointId) - { - return GetFeatures(endpointId).Has(DoorLockFeature::kFingerCredentials); - } + inline bool SupportsFingers(chip::EndpointId endpointId) { return GetFeatures(endpointId).Has(Feature::kFingerCredentials); } - inline bool SupportsFace(chip::EndpointId endpointId) { return GetFeatures(endpointId).Has(DoorLockFeature::kFaceCredentials); } + inline bool SupportsFace(chip::EndpointId endpointId) { return GetFeatures(endpointId).Has(Feature::kFaceCredentials); } inline bool SupportsWeekDaySchedules(chip::EndpointId endpointId) { - return GetFeatures(endpointId).Has(DoorLockFeature::kWeekDayAccessSchedules); + return GetFeatures(endpointId).Has(Feature::kWeekDayAccessSchedules); } inline bool SupportsYearDaySchedules(chip::EndpointId endpointId) { - return GetFeatures(endpointId).Has(DoorLockFeature::kYearDayAccessSchedules); + return GetFeatures(endpointId).Has(Feature::kYearDayAccessSchedules); } inline bool SupportsHolidaySchedules(chip::EndpointId endpointId) { - return GetFeatures(endpointId).Has(DoorLockFeature::kHolidaySchedules); + return GetFeatures(endpointId).Has(Feature::kHolidaySchedules); } inline bool SupportsAnyCredential(chip::EndpointId endpointId) { return GetFeatures(endpointId) - .HasAny(DoorLockFeature::kPinCredential, DoorLockFeature::kRfidCredential, DoorLockFeature::kFingerCredentials, - DoorLockFeature::kFaceCredentials); + .HasAny(Feature::kPinCredential, Feature::kRfidCredential, Feature::kFingerCredentials, Feature::kFaceCredentials); } inline bool SupportsCredentialsOTA(chip::EndpointId endpointId) { - return GetFeatures(endpointId).Has(DoorLockFeature::kCredentialsOverTheAirAccess); + return GetFeatures(endpointId).Has(Feature::kCredentialsOverTheAirAccess); } inline bool SupportsUSR(chip::EndpointId endpointId) { // appclusters, 5.2.2: USR feature has conformance [PIN | RID | FGP | FACE] - return GetFeatures(endpointId).Has(DoorLockFeature::kUser) && SupportsAnyCredential(endpointId); + return GetFeatures(endpointId).Has(Feature::kUser) && SupportsAnyCredential(endpointId); } bool OnFabricRemoved(chip::EndpointId endpointId, chip::FabricIndex fabricIndex); diff --git a/src/app/clusters/fan-control-server/fan-control-server.cpp b/src/app/clusters/fan-control-server/fan-control-server.cpp index 9d3a36e1f6a9f2..25b593bbf9ce2f 100644 --- a/src/app/clusters/fan-control-server/fan-control-server.cpp +++ b/src/app/clusters/fan-control-server/fan-control-server.cpp @@ -140,7 +140,7 @@ void MatterFanControlClusterServerAttributeChangedCallback(const app::ConcreteAt uint32_t ourFeatureMap; if (FeatureMap::Get(attributePath.mEndpointId, &ourFeatureMap) == EMBER_ZCL_STATUS_SUCCESS) { - if (ourFeatureMap & to_underlying(FanControlFeature::kMultiSpeed)) + if (ourFeatureMap & to_underlying(Feature::kMultiSpeed)) multiSpeedSupported = true; } } diff --git a/src/app/clusters/groups-server/groups-server.cpp b/src/app/clusters/groups-server/groups-server.cpp index 9a5604dd3b6838..f9d2fb6d8ec672 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(GroupsFeature::kGroupNames)); + status = Attributes::FeatureMap::Set(endpointId, static_cast(Feature::kGroupNames)); if (status != EMBER_ZCL_STATUS_SUCCESS) { ChipLogDetail(Zcl, "ERR: writing group feature map %x", status); diff --git a/src/app/clusters/keypad-input-server/keypad-input-delegate.h b/src/app/clusters/keypad-input-server/keypad-input-delegate.h index 65e217bb1a84c9..608b45f0b896e4 100644 --- a/src/app/clusters/keypad-input-server/keypad-input-delegate.h +++ b/src/app/clusters/keypad-input-server/keypad-input-delegate.h @@ -36,7 +36,7 @@ class Delegate public: virtual void HandleSendKey(CommandResponseHelper & helper, const CecKeyCode & keyCode) = 0; - bool HasFeature(chip::EndpointId endpoint, KeypadInputFeature feature); + bool HasFeature(chip::EndpointId endpoint, Feature feature); virtual uint32_t GetFeatureMap(chip::EndpointId endpoint) = 0; diff --git a/src/app/clusters/keypad-input-server/keypad-input-server.cpp b/src/app/clusters/keypad-input-server/keypad-input-server.cpp index 25e8dad47c674e..9790e2f5a6b6ab 100644 --- a/src/app/clusters/keypad-input-server/keypad-input-server.cpp +++ b/src/app/clusters/keypad-input-server/keypad-input-server.cpp @@ -102,7 +102,7 @@ void SetDefaultDelegate(EndpointId endpoint, Delegate * delegate) } } -bool Delegate::HasFeature(chip::EndpointId endpoint, KeypadInputFeature feature) +bool Delegate::HasFeature(EndpointId endpoint, Feature feature) { uint32_t featureMap = GetFeatureMap(endpoint); return (featureMap & chip::to_underlying(feature)); diff --git a/src/app/clusters/level-control/level-control.cpp b/src/app/clusters/level-control/level-control.cpp index 77242ea554f39d..5a732074dd0851 100644 --- a/src/app/clusters/level-control/level-control.cpp +++ b/src/app/clusters/level-control/level-control.cpp @@ -1223,7 +1223,7 @@ void emberAfLevelControlClusterServerInitCallback(EndpointId endpoint) Attributes::MinLevel::Get(endpoint, &state->minLevel); Attributes::MaxLevel::Get(endpoint, &state->maxLevel); - if (LevelControlHasFeature(endpoint, LevelControlFeature::kLighting)) + if (LevelControlHasFeature(endpoint, Feature::kLighting)) { if (state->minLevel < LEVEL_CONTROL_LIGHTING_MIN_LEVEL) { @@ -1322,7 +1322,7 @@ static bool areStartUpLevelControlServerAttributesNonVolatile(EndpointId endpoin void emberAfPluginLevelControlClusterServerPostInitCallback(EndpointId endpoint) {} -bool LevelControlHasFeature(EndpointId endpoint, LevelControlFeature feature) +bool LevelControlHasFeature(EndpointId endpoint, Feature feature) { bool success; uint32_t featureMap; diff --git a/src/app/clusters/level-control/level-control.h b/src/app/clusters/level-control/level-control.h index e4d2c6593ada22..402c30de3048d5 100644 --- a/src/app/clusters/level-control/level-control.h +++ b/src/app/clusters/level-control/level-control.h @@ -44,7 +44,7 @@ void emberAfPluginLevelControlClusterServerPostInitCallback(chip::EndpointId end * has the given feature. The implementation is allowed to assume there is in * fact an instance of Level Control on the given endpoint. */ -bool LevelControlHasFeature(chip::EndpointId endpoint, chip::app::Clusters::LevelControl::LevelControlFeature feature); +bool LevelControlHasFeature(chip::EndpointId endpoint, chip::app::Clusters::LevelControl::Feature feature); namespace LevelControlServer { diff --git a/src/app/clusters/media-input-server/media-input-server.cpp b/src/app/clusters/media-input-server/media-input-server.cpp index 53d368b62fb29f..7c19ec264f12a7 100644 --- a/src/app/clusters/media-input-server/media-input-server.cpp +++ b/src/app/clusters/media-input-server/media-input-server.cpp @@ -84,7 +84,7 @@ void SetDefaultDelegate(EndpointId endpoint, Delegate * delegate) } } -bool HasFeature(chip::EndpointId endpoint, MediaInputFeature feature) +bool HasFeature(chip::EndpointId endpoint, Feature feature) { bool hasFeature = false; uint32_t featureMap = 0; @@ -258,7 +258,7 @@ bool emberAfMediaInputClusterRenameInputCallback(app::CommandHandler * command, Delegate * delegate = GetDelegate(endpoint); VerifyOrExit(isDelegateNull(delegate, endpoint) != true, err = CHIP_ERROR_INCORRECT_STATE); - if (!HasFeature(endpoint, MediaInputFeature::kNameUpdates)) + if (!HasFeature(endpoint, Feature::kNameUpdates)) { ChipLogError(Zcl, "MediaInput no name updates feature"); err = CHIP_ERROR_INCORRECT_STATE; diff --git a/src/app/clusters/network-commissioning/network-commissioning.cpp b/src/app/clusters/network-commissioning/network-commissioning.cpp index c8c9a4c117c7cf..3a18a094a69360 100644 --- a/src/app/clusters/network-commissioning/network-commissioning.cpp +++ b/src/app/clusters/network-commissioning/network-commissioning.cpp @@ -94,41 +94,37 @@ void Instance::InvokeCommand(HandlerContext & ctxt) switch (ctxt.mRequestPath.mCommandId) { case Commands::ScanNetworks::Id: - VerifyOrReturn(mFeatureFlags.Has(NetworkCommissioningFeature::kWiFiNetworkInterface) || - mFeatureFlags.Has(NetworkCommissioningFeature::kThreadNetworkInterface)); + VerifyOrReturn(mFeatureFlags.Has(Feature::kWiFiNetworkInterface) || mFeatureFlags.Has(Feature::kThreadNetworkInterface)); HandleCommand( ctxt, [this](HandlerContext & ctx, const auto & req) { HandleScanNetworks(ctx, req); }); return; case Commands::AddOrUpdateWiFiNetwork::Id: - VerifyOrReturn(mFeatureFlags.Has(NetworkCommissioningFeature::kWiFiNetworkInterface)); + VerifyOrReturn(mFeatureFlags.Has(Feature::kWiFiNetworkInterface)); HandleCommand( ctxt, [this](HandlerContext & ctx, const auto & req) { HandleAddOrUpdateWiFiNetwork(ctx, req); }); return; case Commands::AddOrUpdateThreadNetwork::Id: - VerifyOrReturn(mFeatureFlags.Has(NetworkCommissioningFeature::kThreadNetworkInterface)); + VerifyOrReturn(mFeatureFlags.Has(Feature::kThreadNetworkInterface)); HandleCommand( ctxt, [this](HandlerContext & ctx, const auto & req) { HandleAddOrUpdateThreadNetwork(ctx, req); }); return; case Commands::RemoveNetwork::Id: - VerifyOrReturn(mFeatureFlags.Has(NetworkCommissioningFeature::kWiFiNetworkInterface) || - mFeatureFlags.Has(NetworkCommissioningFeature::kThreadNetworkInterface)); + VerifyOrReturn(mFeatureFlags.Has(Feature::kWiFiNetworkInterface) || mFeatureFlags.Has(Feature::kThreadNetworkInterface)); HandleCommand( ctxt, [this](HandlerContext & ctx, const auto & req) { HandleRemoveNetwork(ctx, req); }); return; case Commands::ConnectNetwork::Id: - VerifyOrReturn(mFeatureFlags.Has(NetworkCommissioningFeature::kWiFiNetworkInterface) || - mFeatureFlags.Has(NetworkCommissioningFeature::kThreadNetworkInterface)); + VerifyOrReturn(mFeatureFlags.Has(Feature::kWiFiNetworkInterface) || mFeatureFlags.Has(Feature::kThreadNetworkInterface)); HandleCommand( ctxt, [this](HandlerContext & ctx, const auto & req) { HandleConnectNetwork(ctx, req); }); return; case Commands::ReorderNetwork::Id: - VerifyOrReturn(mFeatureFlags.Has(NetworkCommissioningFeature::kWiFiNetworkInterface) || - mFeatureFlags.Has(NetworkCommissioningFeature::kThreadNetworkInterface)); + VerifyOrReturn(mFeatureFlags.Has(Feature::kWiFiNetworkInterface) || mFeatureFlags.Has(Feature::kThreadNetworkInterface)); HandleCommand( ctxt, [this](HandlerContext & ctx, const auto & req) { HandleReorderNetwork(ctx, req); }); return; @@ -248,7 +244,7 @@ void Instance::OnNetworkingStatusChange(NetworkCommissioning::Status aCommission void Instance::HandleScanNetworks(HandlerContext & ctx, const Commands::ScanNetworks::DecodableType & req) { MATTER_TRACE_EVENT_SCOPE("HandleScanNetwork", "NetworkCommissioning"); - if (mFeatureFlags.Has(NetworkCommissioningFeature::kWiFiNetworkInterface)) + if (mFeatureFlags.Has(Feature::kWiFiNetworkInterface)) { ByteSpan ssid; if (req.ssid.HasValue()) @@ -275,7 +271,7 @@ void Instance::HandleScanNetworks(HandlerContext & ctx, const Commands::ScanNetw ctx.mCommandHandler.FlushAcksRightAwayOnSlowCommand(); mpDriver.Get()->ScanNetworks(ssid, this); } - else if (mFeatureFlags.Has(NetworkCommissioningFeature::kThreadNetworkInterface)) + else if (mFeatureFlags.Has(Feature::kThreadNetworkInterface)) { mCurrentOperationBreadcrumb = req.breadcrumb; mAsyncCommandHandle = CommandHandler::Handle(&ctx.mCommandHandler); @@ -725,7 +721,7 @@ CHIP_ERROR Instance::EnumerateAcceptedCommands(const ConcreteClusterPath & clust ScanNetworks::Id, AddOrUpdateThreadNetwork::Id, RemoveNetwork::Id, ConnectNetwork::Id, ReorderNetwork::Id, }; - if (mFeatureFlags.Has(NetworkCommissioningFeature::kThreadNetworkInterface)) + if (mFeatureFlags.Has(Feature::kThreadNetworkInterface)) { for (const auto & cmd : acceptedCommandsListThread) { @@ -738,7 +734,7 @@ CHIP_ERROR Instance::EnumerateAcceptedCommands(const ConcreteClusterPath & clust return CHIP_NO_ERROR; } - if (mFeatureFlags.Has(NetworkCommissioningFeature::kWiFiNetworkInterface)) + if (mFeatureFlags.Has(Feature::kWiFiNetworkInterface)) { for (const auto & cmd : acceptedCommandsListWiFi) { @@ -761,8 +757,7 @@ CHIP_ERROR Instance::EnumerateGeneratedCommands(const ConcreteClusterPath & clus constexpr CommandId generatedCommandsListWireless[] = { ScanNetworksResponse::Id, NetworkConfigResponse::Id, ConnectNetworkResponse::Id }; - if (mFeatureFlags.HasAny(NetworkCommissioningFeature::kWiFiNetworkInterface, - NetworkCommissioningFeature::kThreadNetworkInterface)) + if (mFeatureFlags.HasAny(Feature::kWiFiNetworkInterface, Feature::kThreadNetworkInterface)) { for (const auto & cmd : generatedCommandsListWireless) { diff --git a/src/app/clusters/network-commissioning/network-commissioning.h b/src/app/clusters/network-commissioning/network-commissioning.h index 5ec03e2b8a1309..a103c41511e9c4 100644 --- a/src/app/clusters/network-commissioning/network-commissioning.h +++ b/src/app/clusters/network-commissioning/network-commissioning.h @@ -78,7 +78,7 @@ class Instance : public CommandHandlerInterface, void OnCommissioningComplete(); void OnFailSafeTimerExpired(); - const BitFlags mFeatureFlags; + const BitFlags mFeatureFlags; DeviceLayer::NetworkCommissioning::Internal::WirelessDriver * const mpWirelessDriver; DeviceLayer::NetworkCommissioning::Internal::BaseDriver * const mpBaseDriver; @@ -120,24 +120,24 @@ class Instance : public CommandHandlerInterface, public: Instance(EndpointId aEndpointId, DeviceLayer::NetworkCommissioning::WiFiDriver * apDelegate) : CommandHandlerInterface(Optional(aEndpointId), Id), - AttributeAccessInterface(Optional(aEndpointId), Id), - mFeatureFlags(NetworkCommissioningFeature::kWiFiNetworkInterface), mpWirelessDriver(apDelegate), mpBaseDriver(apDelegate) + AttributeAccessInterface(Optional(aEndpointId), Id), mFeatureFlags(Feature::kWiFiNetworkInterface), + mpWirelessDriver(apDelegate), mpBaseDriver(apDelegate) { mpDriver.Set(apDelegate); } Instance(EndpointId aEndpointId, DeviceLayer::NetworkCommissioning::ThreadDriver * apDelegate) : CommandHandlerInterface(Optional(aEndpointId), Id), - AttributeAccessInterface(Optional(aEndpointId), Id), - mFeatureFlags(NetworkCommissioningFeature::kThreadNetworkInterface), mpWirelessDriver(apDelegate), mpBaseDriver(apDelegate) + AttributeAccessInterface(Optional(aEndpointId), Id), mFeatureFlags(Feature::kThreadNetworkInterface), + mpWirelessDriver(apDelegate), mpBaseDriver(apDelegate) { mpDriver.Set(apDelegate); } Instance(EndpointId aEndpointId, DeviceLayer::NetworkCommissioning::EthernetDriver * apDelegate) : CommandHandlerInterface(Optional(aEndpointId), Id), - AttributeAccessInterface(Optional(aEndpointId), Id), - mFeatureFlags(NetworkCommissioningFeature::kEthernetNetworkInterface), mpWirelessDriver(nullptr), mpBaseDriver(apDelegate) + AttributeAccessInterface(Optional(aEndpointId), Id), mFeatureFlags(Feature::kEthernetNetworkInterface), + mpWirelessDriver(nullptr), mpBaseDriver(apDelegate) {} virtual ~Instance() = default; diff --git a/src/app/clusters/on-off-server/on-off-server.cpp b/src/app/clusters/on-off-server/on-off-server.cpp index c79b9d592cdca8..b201c022326a0d 100644 --- a/src/app/clusters/on-off-server/on-off-server.cpp +++ b/src/app/clusters/on-off-server/on-off-server.cpp @@ -107,7 +107,7 @@ OnOffServer & OnOffServer::Instance() return instance; } -bool OnOffServer::HasFeature(chip::EndpointId endpoint, OnOffFeature feature) +bool OnOffServer::HasFeature(chip::EndpointId endpoint, Feature feature) { bool success; uint32_t featureMap; @@ -138,7 +138,7 @@ static bool LevelControlWithOnOffFeaturePresent(EndpointId endpoint) return false; } - return LevelControlHasFeature(endpoint, LevelControl::LevelControlFeature::kOnOff); + return LevelControlHasFeature(endpoint, LevelControl::Feature::kOnOff); } #endif // EMBER_AF_PLUGIN_LEVEL_CONTROL diff --git a/src/app/clusters/on-off-server/on-off-server.h b/src/app/clusters/on-off-server/on-off-server.h index 46f4eb4154675f..4b9da3d89cdfdc 100644 --- a/src/app/clusters/on-off-server/on-off-server.h +++ b/src/app/clusters/on-off-server/on-off-server.h @@ -24,8 +24,6 @@ #include #include -using chip::app::Clusters::OnOff::OnOffFeature; - /********************************************************** * Defines and Macros *********************************************************/ @@ -43,6 +41,8 @@ static constexpr uint8_t MIN_TIME_VALUE = 1; class OnOffServer { public: + using Feature = chip::app::Clusters::OnOff::Feature; + /********************************************************** * Functions Definitions *********************************************************/ @@ -63,11 +63,8 @@ class OnOffServer EmberAfStatus setOnOffValue(chip::EndpointId endpoint, chip::CommandId command, bool initiatedByLevelChange); EmberAfStatus getOnOffValueForStartUp(chip::EndpointId endpoint, bool & onOffValueForStartUp); - bool HasFeature(chip::EndpointId endpoint, OnOffFeature feature); - inline bool SupportsLightingApplications(chip::EndpointId endpointId) - { - return HasFeature(endpointId, OnOffFeature::kLighting); - } + bool HasFeature(chip::EndpointId endpoint, Feature feature); + inline bool SupportsLightingApplications(chip::EndpointId endpointId) { return HasFeature(endpointId, Feature::kLighting); } void cancelEndpointTimerCallback(chip::EndpointId endpoint); 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 59d62bc3a80f01..cb369f6b2f23fd 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, PumpConfigurationAndControlFeature feature) +bool HasFeature(EndpointId endpoint, Feature feature) { bool hasFeature; uint32_t featureMap; @@ -267,37 +267,37 @@ chip::Protocols::InteractionModel::Status MatterPumpConfigurationAndControlClust switch (controlMode) { case ControlModeEnum::kConstantFlow: - if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantFlow)) + if (!HasFeature(attributePath.mEndpointId, Feature::kConstantFlow)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kConstantPressure: - if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantPressure)) + if (!HasFeature(attributePath.mEndpointId, Feature::kConstantPressure)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kConstantSpeed: - if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantSpeed)) + if (!HasFeature(attributePath.mEndpointId, Feature::kConstantSpeed)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kConstantTemperature: - if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantTemperature)) + if (!HasFeature(attributePath.mEndpointId, Feature::kConstantTemperature)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kProportionalPressure: - if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kCompensatedPressure)) + if (!HasFeature(attributePath.mEndpointId, Feature::kCompensatedPressure)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case ControlModeEnum::kAutomatic: - if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kAutomatic)) + if (!HasFeature(attributePath.mEndpointId, Feature::kAutomatic)) { status = Protocols::InteractionModel::Status::ConstraintError; } @@ -318,19 +318,19 @@ chip::Protocols::InteractionModel::Status MatterPumpConfigurationAndControlClust switch (operationMode) { case OperationModeEnum::kMinimum: - if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantSpeed)) + if (!HasFeature(attributePath.mEndpointId, Feature::kConstantSpeed)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case OperationModeEnum::kMaximum: - if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kConstantSpeed)) + if (!HasFeature(attributePath.mEndpointId, Feature::kConstantSpeed)) { status = Protocols::InteractionModel::Status::ConstraintError; } break; case OperationModeEnum::kLocal: - if (!HasFeature(attributePath.mEndpointId, PumpConfigurationAndControlFeature::kLocalOperation)) + if (!HasFeature(attributePath.mEndpointId, Feature::kLocalOperation)) { status = Protocols::InteractionModel::Status::ConstraintError; } diff --git a/src/app/clusters/software-diagnostics-server/software-diagnostics-server.cpp b/src/app/clusters/software-diagnostics-server/software-diagnostics-server.cpp index 1436025f6377b0..3ddbe55b157f16 100644 --- a/src/app/clusters/software-diagnostics-server/software-diagnostics-server.cpp +++ b/src/app/clusters/software-diagnostics-server/software-diagnostics-server.cpp @@ -88,11 +88,11 @@ CHIP_ERROR SoftwareDiagosticsAttrAccess::Read(const ConcreteReadAttributePath & case ThreadMetrics::Id: return ReadThreadMetrics(aEncoder); case Clusters::Globals::Attributes::FeatureMap::Id: { - BitFlags features; + BitFlags features; if (DeviceLayer::GetDiagnosticDataProvider().SupportsWatermarks()) { - features.Set(SoftwareDiagnosticsFeature::kWaterMarks); + features.Set(Feature::kWaterMarks); } return aEncoder.Encode(features); 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 7e9661f6fecd46..d01f2fac668746 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, WindowCoveringFeature feature) +bool HasFeature(chip::EndpointId endpoint, Feature feature) { bool hasFeature = false; uint32_t featureMap = 0; @@ -129,12 +129,12 @@ bool HasFeature(chip::EndpointId endpoint, WindowCoveringFeature feature) bool HasFeaturePaLift(chip::EndpointId endpoint) { - return (HasFeature(endpoint, WindowCoveringFeature::kLift) && HasFeature(endpoint, WindowCoveringFeature::kPositionAwareLift)); + return (HasFeature(endpoint, Feature::kLift) && HasFeature(endpoint, Feature::kPositionAwareLift)); } bool HasFeaturePaTilt(chip::EndpointId endpoint) { - return (HasFeature(endpoint, WindowCoveringFeature::kTilt) && HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)); + return (HasFeature(endpoint, Feature::kTilt) && HasFeature(endpoint, Feature::kPositionAwareTilt)); } void TypeSet(chip::EndpointId endpoint, Type type) @@ -635,11 +635,11 @@ bool emberAfWindowCoveringClusterUpOrOpenCallback(app::CommandHandler * commandO return true; } - if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareLift)) + if (HasFeature(endpoint, Feature::kPositionAwareLift)) { Attributes::TargetPositionLiftPercent100ths::Set(endpoint, WC_PERCENT100THS_MIN_OPEN); } - if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)) + if (HasFeature(endpoint, Feature::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, WindowCoveringFeature::kPositionAwareLift)) + if (HasFeature(endpoint, Feature::kPositionAwareLift)) { LogErrorOnFailure(delegate->HandleMovement(WindowCoveringType::Lift)); } - if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)) + if (HasFeature(endpoint, Feature::kPositionAwareTilt)) { LogErrorOnFailure(delegate->HandleMovement(WindowCoveringType::Tilt)); } @@ -685,11 +685,11 @@ bool emberAfWindowCoveringClusterDownOrCloseCallback(app::CommandHandler * comma return true; } - if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareLift)) + if (HasFeature(endpoint, Feature::kPositionAwareLift)) { Attributes::TargetPositionLiftPercent100ths::Set(endpoint, WC_PERCENT100THS_MAX_CLOSED); } - if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)) + if (HasFeature(endpoint, Feature::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, WindowCoveringFeature::kPositionAwareLift)) + if (HasFeature(endpoint, Feature::kPositionAwareLift)) { LogErrorOnFailure(delegate->HandleMovement(WindowCoveringType::Lift)); } - if (HasFeature(endpoint, WindowCoveringFeature::kPositionAwareTilt)) + if (HasFeature(endpoint, Feature::kPositionAwareTilt)) { LogErrorOnFailure(delegate->HandleMovement(WindowCoveringType::Tilt)); } @@ -794,7 +794,7 @@ bool emberAfWindowCoveringClusterGoToLiftValueCallback(app::CommandHandler * com return true; } - if (HasFeature(endpoint, WindowCoveringFeature::kAbsolutePosition) && HasFeaturePaLift(endpoint)) + if (HasFeature(endpoint, Feature::kAbsolutePosition) && HasFeaturePaLift(endpoint)) { Attributes::TargetPositionLiftPercent100ths::Set(endpoint, LiftToPercent100ths(endpoint, liftValue)); Delegate * delegate = GetDelegate(endpoint); @@ -886,7 +886,7 @@ bool emberAfWindowCoveringClusterGoToTiltValueCallback(app::CommandHandler * com return true; } - if (HasFeature(endpoint, WindowCoveringFeature::kAbsolutePosition) && HasFeaturePaTilt(endpoint)) + if (HasFeature(endpoint, Feature::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 7d1514acd64884..b1d21d8bb750bf 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, WindowCoveringFeature feature); +bool HasFeature(chip::EndpointId endpoint, Feature feature); bool HasFeaturePaLift(chip::EndpointId endpoint); bool HasFeaturePaTilt(chip::EndpointId endpoint); diff --git a/src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml index 41f08d8a1123c5..901de42f9525f0 100644 --- a/src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml @@ -76,7 +76,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml index f36befbcdce637..b3ba1b927e02f6 100644 --- a/src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml @@ -57,7 +57,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml index 97ffeefe64b424..ab70f9c93b5e1a 100644 --- a/src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml @@ -81,7 +81,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml index af32bca3ebea24..99040f85a16982 100644 --- a/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> - + diff --git a/src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml index c568bf9d79e652..738c885b7a7ce0 100644 --- a/src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml @@ -130,7 +130,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml index 99712be31d3a29..554426b035ac19 100644 --- a/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml @@ -754,7 +754,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml index b6ef9124da5970..54c590efa83c7f 100644 --- a/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml @@ -29,7 +29,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml index 53d7b4c107c483..ce9ef44851b6e9 100644 --- a/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml @@ -17,7 +17,7 @@ limitations under the License. - + 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 1e9b215d6e5c15..b5f5288c164d73 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/icd-management-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/icd-management-cluster.xml index e4be4a7b8745b4..f0fcc662285de9 100644 --- a/src/app/zap-templates/zcl/data-model/chip/icd-management-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/icd-management-cluster.xml @@ -18,7 +18,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml index 56bf296516f376..68ea66b62e8e5f 100644 --- a/src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml @@ -140,7 +140,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml index f021ee151a0bf1..85bfb6100d6f99 100644 --- a/src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml @@ -17,7 +17,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml index f69ea234fe7d64..d390e793cff781 100644 --- a/src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml @@ -73,7 +73,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml index 952e9d71e48f86..4a6be6d3345b42 100644 --- a/src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml @@ -114,7 +114,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml index b4ff95c8bf6587..9cdf36f0149f5f 100644 --- a/src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml @@ -56,7 +56,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml index 299a9b3f57960c..7ea62f31ddac2d 100644 --- a/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml @@ -169,7 +169,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml index 1389de212bdd2d..305e82aaca0c52 100644 --- a/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml @@ -95,7 +95,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml index 5a256ae97abd75..89d1c42a8c7bf3 100644 --- a/src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml @@ -79,7 +79,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 b353bb628e0141..7a783e45d6df3d 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 3083e7e828fc99..ee29a6b66d5463 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 ee0e60b4fc41d6..d8efbe52c7ae35 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/smoke-co-alarm-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/smoke-co-alarm-cluster.xml index 7401708aae91c4..d38ed4774409b4 100644 --- a/src/app/zap-templates/zcl/data-model/chip/smoke-co-alarm-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/smoke-co-alarm-cluster.xml @@ -34,7 +34,7 @@ limitations under the License. - + ExpressedState @@ -145,7 +145,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml index 84ff1c9ad321da..0f1570465195f2 100644 --- a/src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml @@ -44,7 +44,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml index d8ef3ec5c09bf9..2199b908577049 100644 --- a/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml @@ -66,7 +66,7 @@ Interactions with the switch device are exposed as attributes (for the latching - + diff --git a/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml index 39ae4188a84df6..bf5e90a5ca8859 100644 --- a/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml @@ -17,7 +17,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml index 40c9d1c3f53d97..dc97fab3cea554 100644 --- a/src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml @@ -167,7 +167,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml index d93f1f47dadc0e..c3c6ca2a2bfdb4 100644 --- a/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml @@ -17,7 +17,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml index 3c4cde3bf3e159..9c9f1ba1dfffd3 100644 --- a/src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml @@ -37,7 +37,7 @@ limitations under the License. TemperatureUnit - + diff --git a/src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml index f1e81dd925b897..c66640ff224a1c 100644 --- a/src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml @@ -46,7 +46,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 59907b9817f434..1af4eeb21aa438 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/CHIPDeviceController.cpp b/src/controller/CHIPDeviceController.cpp index 8fd93b36d28559..f9cc5a282d8737 100644 --- a/src/controller/CHIPDeviceController.cpp +++ b/src/controller/CHIPDeviceController.cpp @@ -1980,24 +1980,22 @@ void DeviceCommissioner::OnDone(app::ReadClient *) TLV::TLVReader reader; if (this->mAttributeCache->Get(path, reader) == CHIP_NO_ERROR) { - BitFlags features; + BitFlags features; if (app::DataModel::Decode(reader, features) == CHIP_NO_ERROR) { - if (features.Has(app::Clusters::NetworkCommissioning::NetworkCommissioningFeature::kWiFiNetworkInterface)) + if (features.Has(app::Clusters::NetworkCommissioning::Feature::kWiFiNetworkInterface)) { ChipLogProgress(Controller, "----- NetworkCommissioning Features: has WiFi. endpointid = %u", path.mEndpointId); info.network.wifi.endpoint = path.mEndpointId; } - else if (features.Has( - app::Clusters::NetworkCommissioning::NetworkCommissioningFeature::kThreadNetworkInterface)) + else if (features.Has(app::Clusters::NetworkCommissioning::Feature::kThreadNetworkInterface)) { ChipLogProgress(Controller, "----- NetworkCommissioning Features: has Thread. endpointid = %u", path.mEndpointId); info.network.thread.endpoint = path.mEndpointId; } - else if (features.Has( - app::Clusters::NetworkCommissioning::NetworkCommissioningFeature::kEthernetNetworkInterface)) + else if (features.Has(app::Clusters::NetworkCommissioning::Feature::kEthernetNetworkInterface)) { ChipLogProgress(Controller, "----- NetworkCommissioning Features: has Ethernet. endpointid = %u", path.mEndpointId); diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 86d336bbaa0226..562f33d567771d 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -61,7 +61,7 @@ client cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ client cluster Groups = 4 { - bitmap GroupsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kGroupNames = 0x1; } @@ -132,12 +132,12 @@ client cluster Groups = 4 { /** Attributes and commands for scene configuration and manipulation. */ client cluster Scenes = 5 { - bitmap ScenesCopyMode : BITMAP8 { - kCopyAllScenes = 0x1; + bitmap Feature : BITMAP32 { + kSceneNames = 0x1; } - bitmap ScenesFeature : BITMAP32 { - kSceneNames = 0x1; + bitmap ScenesCopyMode : BITMAP8 { + kCopyAllScenes = 0x1; } struct AttributeValuePair { @@ -326,12 +326,12 @@ client cluster OnOff = 6 { kTogglePreviousOnOff = 2; } - bitmap OnOffControl : BITMAP8 { - kAcceptOnlyWhenOn = 0x1; + bitmap Feature : BITMAP32 { + kLighting = 0x1; } - bitmap OnOffFeature : BITMAP32 { - kLighting = 0x1; + bitmap OnOffControl : BITMAP8 { + kAcceptOnlyWhenOn = 0x1; } readonly attribute boolean onOff = 0; @@ -395,7 +395,7 @@ client cluster LevelControl = 8 { kDown = 1; } - bitmap LevelControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kOnOff = 0x1; kLighting = 0x2; kFrequency = 0x4; @@ -1126,7 +1126,7 @@ client cluster UnitLocalization = 45 { kKelvin = 2; } - bitmap UnitLocalizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTemperatureUnit = 0x1; } @@ -1330,7 +1330,7 @@ client cluster PowerSource = 47 { kUnderVoltage = 2; } - bitmap PowerSourceFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -1499,7 +1499,7 @@ client cluster NetworkCommissioning = 49 { k60g = 4; } - bitmap NetworkCommissioningFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; @@ -1771,7 +1771,7 @@ client cluster GeneralDiagnostics = 51 { /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ client cluster SoftwareDiagnostics = 52 { - bitmap SoftwareDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kWaterMarks = 0x1; } @@ -1828,7 +1828,7 @@ client cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -2000,7 +2000,7 @@ client cluster WiFiNetworkDiagnostics = 54 { kAx = 5; } - bitmap WiFiNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -2057,7 +2057,7 @@ client cluster EthernetNetworkDiagnostics = 55 { kRate400G = 9; } - bitmap EthernetNetworkDiagnosticsFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } @@ -2122,7 +2122,7 @@ client cluster TimeSynchronization = 56 { kNone = 2; } - bitmap TimeSynchronizationFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kTimeZone = 0x1; kNTPClient = 0x2; kNTPServer = 0x4; @@ -2313,7 +2313,7 @@ client cluster BridgedDeviceBasicInformation = 57 { Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ client cluster Switch = 59 { - bitmap SwitchFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kLatchingSwitch = 0x1; kMomentarySwitch = 0x2; kMomentarySwitchRelease = 0x4; @@ -2686,7 +2686,7 @@ client cluster BooleanState = 69 { /** Allows servers to ensure that listed clients are notified when a server is available for communication. */ client cluster IcdManagement = 70 { - bitmap ICDManagementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kCheckInProtocolSupport = 0x1; } @@ -2736,7 +2736,7 @@ client cluster IcdManagement = 70 { /** Attributes and commands for selecting a mode from a list of supported options. */ client cluster ModeSelect = 80 { - bitmap ModeSelectFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kDeponoff = 0x1; } @@ -2881,7 +2881,7 @@ client cluster SmokeCoAlarm = 92 { kLow = 2; } - bitmap SmokeCOAlarmFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kSmokeAlarm = 0x1; kCoAlarm = 0x2; } @@ -3659,7 +3659,7 @@ client cluster DoorLock = 257 { kSaturday = 0x40; } - bitmap DoorLockFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kPinCredential = 0x1; kRfidCredential = 0x2; kFingerCredentials = 0x4; @@ -4012,6 +4012,14 @@ 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; @@ -4040,14 +4048,6 @@ 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 optional int16u physicalClosedLimitLift = 1; readonly attribute optional int16u physicalClosedLimitTilt = 2; @@ -4156,7 +4156,7 @@ client cluster PumpConfigurationAndControl = 512 { kLocal = 3; } - bitmap PumpConfigurationAndControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kConstantPressure = 0x1; kCompensatedPressure = 0x2; kConstantFlow = 0x4; @@ -4306,12 +4306,7 @@ client cluster Thermostat = 513 { kAway = 0x80; } - bitmap ModeForSequence : BITMAP8 { - kHeatSetpointPresent = 0x1; - kCoolSetpointPresent = 0x2; - } - - bitmap ThermostatFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -4320,6 +4315,11 @@ client cluster Thermostat = 513 { kAutoMode = 0x20; } + bitmap ModeForSequence : BITMAP8 { + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; + } + struct ThermostatScheduleTransition { int16u transitionTime = 0; nullable int16s heatSetpoint = 1; @@ -4437,7 +4437,7 @@ client cluster FanControl = 514 { kSmart = 6; } - bitmap FanControlFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; kRocking = 0x4; @@ -4548,14 +4548,6 @@ client cluster ColorControl = 768 { kColorTemperatureSupported = 0x10; } - bitmap ColorControlFeature : BITMAP32 { - kHueAndSaturation = 0x1; - kEnhancedHue = 0x2; - kColorLoop = 0x4; - kXy = 0x8; - kColorTemperature = 0x10; - } - bitmap ColorLoopUpdateFlags : BITMAP8 { kUpdateAction = 0x1; kUpdateDirection = 0x2; @@ -4563,6 +4555,14 @@ client cluster ColorControl = 768 { kUpdateStartHue = 0x8; } + bitmap Feature : BITMAP32 { + kHueAndSaturation = 0x1; + kEnhancedHue = 0x2; + kColorLoop = 0x4; + kXy = 0x8; + kColorTemperature = 0x10; + } + readonly attribute optional int8u currentHue = 0; readonly attribute optional int8u currentSaturation = 1; readonly attribute optional int16u remainingTime = 2; @@ -4870,7 +4870,7 @@ client cluster TemperatureMeasurement = 1026 { /** Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */ client cluster PressureMeasurement = 1027 { - bitmap PressureMeasurementFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kExtended = 0x1; } @@ -4981,7 +4981,7 @@ client cluster Channel = 1284 { kMso = 0; } - bitmap ChannelFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kChannelList = 0x1; kLineupInfo = 0x2; } @@ -5091,7 +5091,7 @@ client cluster MediaPlayback = 1286 { kBuffering = 3; } - bitmap MediaPlaybackFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kAdvancedSeek = 0x1; kVariableSpeed = 0x2; } @@ -5173,7 +5173,7 @@ client cluster MediaInput = 1287 { kOther = 11; } - bitmap MediaInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -5322,7 +5322,7 @@ client cluster KeypadInput = 1289 { kInvalidKeyInCurrentState = 2; } - bitmap KeypadInputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNavigationKeyCodes = 0x1; kLocationKeys = 0x2; kNumberKeys = 0x4; @@ -5377,7 +5377,7 @@ client cluster ContentLauncher = 1290 { kVideo = 13; } - bitmap ContentLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kContentSearch = 0x1; kURLPlayback = 0x2; } @@ -5466,7 +5466,7 @@ client cluster AudioOutput = 1291 { kOther = 5; } - bitmap AudioOutputFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kNameUpdates = 0x1; } @@ -5508,7 +5508,7 @@ client cluster ApplicationLauncher = 1292 { kSystemBusy = 2; } - bitmap ApplicationLauncherFeature : BITMAP32 { + bitmap Feature : BITMAP32 { kApplicationPlatform = 0x1; } diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 709c549fce833c..490236cf3bef1a 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 GroupsFeature(IntFlag): + class Feature(IntFlag): kGroupNames = 0x1 class Commands: @@ -615,12 +615,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Bitmaps: + class Feature(IntFlag): + kSceneNames = 0x1 + class ScenesCopyMode(IntFlag): kCopyAllScenes = 0x1 - class ScenesFeature(IntFlag): - kSceneNames = 0x1 - class Structs: @dataclass class AttributeValuePair(ClusterObject): @@ -1303,12 +1303,12 @@ class OnOffStartUpOnOff(MatterIntEnum): kUnknownEnumValue = 3, class Bitmaps: + class Feature(IntFlag): + kLighting = 0x1 + class OnOffControl(IntFlag): kAcceptOnlyWhenOn = 0x1 - class OnOffFeature(IntFlag): - kLighting = 0x1 - class Commands: @dataclass class Off(ClusterCommand): @@ -1806,7 +1806,7 @@ class StepMode(MatterIntEnum): kUnknownEnumValue = 2, class Bitmaps: - class LevelControlFeature(IntFlag): + class Feature(IntFlag): kOnOff = 0x1 kLighting = 0x2 kFrequency = 0x4 @@ -5661,7 +5661,7 @@ class TempUnitEnum(MatterIntEnum): kUnknownEnumValue = 3, class Bitmaps: - class UnitLocalizationFeature(IntFlag): + class Feature(IntFlag): kTemperatureUnit = 0x1 class Attributes: @@ -6222,7 +6222,7 @@ class WiredFaultEnum(MatterIntEnum): kUnknownEnumValue = 3, class Bitmaps: - class PowerSourceFeature(IntFlag): + class Feature(IntFlag): kWired = 0x1 kBattery = 0x2 kRechargeable = 0x4 @@ -7353,7 +7353,7 @@ class WiFiBand(MatterIntEnum): kUnknownEnumValue = 5, class Bitmaps: - class NetworkCommissioningFeature(IntFlag): + class Feature(IntFlag): kWiFiNetworkInterface = 0x1 kThreadNetworkInterface = 0x2 kEthernetNetworkInterface = 0x4 @@ -8535,7 +8535,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Bitmaps: - class SoftwareDiagnosticsFeature(IntFlag): + class Feature(IntFlag): kWaterMarks = 0x1 class Structs: @@ -8943,7 +8943,7 @@ class RoutingRole(MatterIntEnum): kUnknownEnumValue = 7, class Bitmaps: - class ThreadNetworkDiagnosticsFeature(IntFlag): + class Feature(IntFlag): kPacketCounts = 0x1 kErrorCounts = 0x2 kMLECounts = 0x4 @@ -10320,7 +10320,7 @@ class WiFiVersionEnum(MatterIntEnum): kUnknownEnumValue = 6, class Bitmaps: - class WiFiNetworkDiagnosticsFeature(IntFlag): + class Feature(IntFlag): kPacketCounts = 0x1 kErrorCounts = 0x2 @@ -10764,7 +10764,7 @@ class PHYRateEnum(MatterIntEnum): kUnknownEnumValue = 10, class Bitmaps: - class EthernetNetworkDiagnosticsFeature(IntFlag): + class Feature(IntFlag): kPacketCounts = 0x1 kErrorCounts = 0x2 @@ -11129,7 +11129,7 @@ class TimeZoneDatabaseEnum(MatterIntEnum): kUnknownEnumValue = 3, class Bitmaps: - class TimeSynchronizationFeature(IntFlag): + class Feature(IntFlag): kTimeZone = 0x1 kNTPClient = 0x2 kNTPServer = 0x4 @@ -12256,7 +12256,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Bitmaps: - class SwitchFeature(IntFlag): + class Feature(IntFlag): kLatchingSwitch = 0x1 kMomentarySwitch = 0x2 kMomentarySwitchRelease = 0x4 @@ -14537,7 +14537,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Bitmaps: - class ICDManagementFeature(IntFlag): + class Feature(IntFlag): kCheckInProtocolSupport = 0x1 class Structs: @@ -14858,7 +14858,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Bitmaps: - class ModeSelectFeature(IntFlag): + class Feature(IntFlag): kDeponoff = 0x1 class Structs: @@ -15647,7 +15647,7 @@ class SensitivityEnum(MatterIntEnum): kUnknownEnumValue = 3, class Bitmaps: - class SmokeCOAlarmFeature(IntFlag): + class Feature(IntFlag): kSmokeAlarm = 0x1 kCoAlarm = 0x2 @@ -19398,7 +19398,7 @@ class DoorLockDayOfWeek(IntFlag): kFriday = 0x20 kSaturday = 0x40 - class DoorLockFeature(IntFlag): + class Feature(IntFlag): kPinCredential = 0x1 kRfidCredential = 0x2 kFingerCredentials = 0x4 @@ -20908,6 +20908,13 @@ 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 @@ -20933,13 +20940,6 @@ 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): @@ -21920,7 +21920,7 @@ class OperationModeEnum(MatterIntEnum): kUnknownEnumValue = 4, class Bitmaps: - class PumpConfigurationAndControlFeature(IntFlag): + class Feature(IntFlag): kConstantPressure = 0x1 kCompensatedPressure = 0x2 kConstantFlow = 0x4 @@ -22861,11 +22861,7 @@ class DayOfWeek(IntFlag): kSaturday = 0x40 kAway = 0x80 - class ModeForSequence(IntFlag): - kHeatSetpointPresent = 0x1 - kCoolSetpointPresent = 0x2 - - class ThermostatFeature(IntFlag): + class Feature(IntFlag): kHeating = 0x1 kCooling = 0x2 kOccupancy = 0x4 @@ -22873,6 +22869,10 @@ class ThermostatFeature(IntFlag): kSetback = 0x10 kAutoMode = 0x20 + class ModeForSequence(IntFlag): + kHeatSetpointPresent = 0x1 + kCoolSetpointPresent = 0x2 + class Structs: @dataclass class ThermostatScheduleTransition(ClusterObject): @@ -23939,7 +23939,7 @@ class FanModeType(MatterIntEnum): kUnknownEnumValue = 7, class Bitmaps: - class FanControlFeature(IntFlag): + class Feature(IntFlag): kMultiSpeed = 0x1 kAuto = 0x2 kRocking = 0x4 @@ -24621,19 +24621,19 @@ class ColorCapabilities(IntFlag): kXYAttributesSupported = 0x8 kColorTemperatureSupported = 0x10 - class ColorControlFeature(IntFlag): - kHueAndSaturation = 0x1 - kEnhancedHue = 0x2 - kColorLoop = 0x4 - kXy = 0x8 - kColorTemperature = 0x10 - class ColorLoopUpdateFlags(IntFlag): kUpdateAction = 0x1 kUpdateDirection = 0x2 kUpdateTime = 0x4 kUpdateStartHue = 0x8 + class Feature(IntFlag): + kHueAndSaturation = 0x1 + kEnhancedHue = 0x2 + kColorLoop = 0x4 + kXy = 0x8 + kColorTemperature = 0x10 + class Commands: @dataclass class MoveToHue(ClusterCommand): @@ -26842,7 +26842,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Bitmaps: - class PressureMeasurementFeature(IntFlag): + class Feature(IntFlag): kExtended = 0x1 class Attributes: @@ -28019,7 +28019,7 @@ class LineupInfoTypeEnum(MatterIntEnum): kUnknownEnumValue = 1, class Bitmaps: - class ChannelFeature(IntFlag): + class Feature(IntFlag): kChannelList = 0x1 kLineupInfo = 0x2 @@ -28557,7 +28557,7 @@ class PlaybackStateEnum(MatterIntEnum): kUnknownEnumValue = 4, class Bitmaps: - class MediaPlaybackFeature(IntFlag): + class Feature(IntFlag): kAdvancedSeek = 0x1 kVariableSpeed = 0x2 @@ -29004,7 +29004,7 @@ class InputTypeEnum(MatterIntEnum): kUnknownEnumValue = 12, class Bitmaps: - class MediaInputFeature(IntFlag): + class Feature(IntFlag): kNameUpdates = 0x1 class Structs: @@ -29479,7 +29479,7 @@ class KeypadInputStatusEnum(MatterIntEnum): kUnknownEnumValue = 3, class Bitmaps: - class KeypadInputFeature(IntFlag): + class Feature(IntFlag): kNavigationKeyCodes = 0x1 kLocationKeys = 0x2 kNumberKeys = 0x4 @@ -29684,7 +29684,7 @@ class ParameterEnum(MatterIntEnum): kUnknownEnumValue = 14, class Bitmaps: - class ContentLauncherFeature(IntFlag): + class Feature(IntFlag): kContentSearch = 0x1 kURLPlayback = 0x2 @@ -30014,7 +30014,7 @@ class OutputTypeEnum(MatterIntEnum): kUnknownEnumValue = 6, class Bitmaps: - class AudioOutputFeature(IntFlag): + class Feature(IntFlag): kNameUpdates = 0x1 class Structs: @@ -30237,7 +30237,7 @@ class ApplicationLauncherStatusEnum(MatterIntEnum): kUnknownEnumValue = 3, class Bitmaps: - class ApplicationLauncherFeature(IntFlag): + class Feature(IntFlag): kApplicationPlatform = 0x1 class Structs: diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml index 54ef9f23474070..702619f23b37d5 100644 --- a/src/darwin/Framework/CHIP/templates/availability.yaml +++ b/src/darwin/Framework/CHIP/templates/availability.yaml @@ -4101,24 +4101,48 @@ - ScenesCopyMode OnOff: - OnOffControl - - OnOffFeature + # Feature was originally named OnOffFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature LevelControl: - - LevelControlFeature + # Feature was originally named LevelControlFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature Actions: - CommandBits UnitLocalization: - - UnitLocalizationFeature + # Feature was originally named UnitLocalizationFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature PowerSource: - - PowerSourceFeature + # Feature was originally named PowerSourceFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature NetworkCommissioning: - - NetworkCommissioningFeature + # Feature was originally named NetworkCommissioningFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature - WiFiSecurity SoftwareDiagnostics: - - SoftwareDiagnosticsFeature + # Feature was originally named SoftwareDiagnosticsFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature ThreadNetworkDiagnostics: - - ThreadNetworkDiagnosticsFeature + # Feature was originally named ThreadNetworkDiagnosticsFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature ModeSelect: - - ModeSelectFeature + # Feature was originally named ModeSelectFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature DoorLock: - DlCredentialRuleMask - DlCredentialRulesSupport @@ -4134,13 +4158,13 @@ - DlRemoteProgrammingEventMask - DlSupportedOperatingModes - DoorLockDayOfWeek - - DoorLockFeature + # Feature was originally named DoorLockFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature WindowCovering: - ConfigStatus - # 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 + - Feature - Mode - OperationalStatus - SafetyStatus @@ -4149,31 +4173,58 @@ Thermostat: - DayOfWeek - ModeForSequence - - ThermostatFeature + # Feature was originally named ThermostatFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature FanControl: - - FanControlFeature + # Feature was originally named FanControlFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + - Feature - RockSupportMask - WindSettingMask - WindSupportMask ColorControl: - ColorCapabilities - - ColorControlFeature + # Feature was originally named ColorControlFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature - ColorLoopUpdateFlags PressureMeasurement: - PressureFeature Channel: - - ChannelFeature + # Feature was originally named ChannelFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature MediaInput: - - MediaInputFeature + # Feature was originally named MediaInputFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature KeypadInput: - - KeypadInputFeature + # Feature was originally named KeypadInputFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature ContentLauncher: - - ContentLauncherFeature + # Feature was originally named ContentLauncherFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature - SupportedStreamingProtocol AudioOutput: - - AudioOutputFeature + # Feature was originally named AudioOutputFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + - Feature ApplicationLauncher: - - ApplicationLauncherFeature + # Feature was originally named ApplicationLauncherFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + - Feature TestCluster: - Bitmap16MaskMap - Bitmap32MaskMap @@ -4190,10 +4241,16 @@ OnOff: OnOffControl: - AcceptOnlyWhenOn - OnOffFeature: + # Feature was originally named OnOffFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - Lighting LevelControl: - LevelControlFeature: + # Feature was originally named LevelControlFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - OnOff - Lighting - Frequency @@ -4212,16 +4269,25 @@ - DisableAction - DisableActionWithDuration UnitLocalization: - UnitLocalizationFeature: + # Feature was originally named UnitLocalizationFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - TemperatureUnit PowerSource: - PowerSourceFeature: + # Feature was originally named PowerSourceFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - Wired - Battery - Rechargeable - Replaceable NetworkCommissioning: - NetworkCommissioningFeature: + # Feature was originally named NetworkCommissioningFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - WiFiNetworkInterface - ThreadNetworkInterface - EthernetNetworkInterface @@ -4232,16 +4298,25 @@ - Wpa2Personal - Wpa3Personal SoftwareDiagnostics: - SoftwareDiagnosticsFeature: + # Feature was originally named SoftwareDiagnosticsFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - WaterMarks ThreadNetworkDiagnostics: - ThreadNetworkDiagnosticsFeature: + # Feature was originally named ThreadNetworkDiagnosticsFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - PacketCounts - ErrorCounts - MLECounts - MACCounts ModeSelect: - ModeSelectFeature: + # Feature was originally named ModeSelectFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - DEPONOFF DoorLock: DlCredentialRuleMask: @@ -4341,7 +4416,10 @@ - Thursday - Friday - Saturday - DoorLockFeature: + # Feature was originally named DoorLockFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - PINCredentials - RFIDCredentials - FingerCredentials @@ -4363,10 +4441,7 @@ - TiltPositionAware - LiftEncoderControlled - TiltEncoderControlled - # 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: + Feature: - Lift - Tilt - PositionAwareLift @@ -4418,7 +4493,10 @@ ModeForSequence: - HeatSetpointFieldPresent - CoolSetpointFieldPresent - ThermostatFeature: + # Feature was originally named ThermostatFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - Heating - Cooling - Occupancy @@ -4426,7 +4504,10 @@ - Setback - Automode FanControl: - FanControlFeature: + # Feature was originally named FanControlFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + Feature: - MultiSpeed - Auto - Rocking @@ -4448,7 +4529,10 @@ - ColorLoopSupported - XYAttributesSupported - ColorTemperatureSupported - ColorControlFeature: + # Feature was originally named ColorControlFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - HueAndSaturation - EnhancedHue - ColorLoop @@ -4463,29 +4547,47 @@ PressureFeature: - EXT Channel: - ChannelFeature: + # Feature was originally named ChannelFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - ChannelList - LineupInfo MediaInput: - MediaInputFeature: + # Feature was originally named MediaInputFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - NameUpdates KeypadInput: - KeypadInputFeature: + # Feature was originally named KeypadInputFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - NavigationKeyCodes - LocationKeys - NumberKeys ContentLauncher: - ContentLauncherFeature: + # Feature was originally named ContentLauncherFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - ContentSearch - URLPlayback SupportedStreamingProtocol: - DASH - HLS AudioOutput: - AudioOutputFeature: + # Feature was originally named AudioOutputFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + Feature: - NameUpdates ApplicationLauncher: - ApplicationLauncherFeature: + # Feature was originally named ApplicationLauncherFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + Feature: - ApplicationPlatform TestCluster: Bitmap16MaskMap: @@ -4617,19 +4719,31 @@ - revision bitmaps: Switch: - - SwitchFeature + # Feature was originally named SwitchFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature MediaPlayback: - - MediaPlaybackFeature + # Feature was originally named MediaPlaybackFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + - Feature bitmap values: Switch: - SwitchFeature: + # Feature was originally named SwitchFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - LatchingSwitch - MomentarySwitch - MomentarySwitchRelease - MomentarySwitchLongPress - MomentarySwitchMultiPress MediaPlayback: - MediaPlaybackFeature: + # Feature was originally named MediaPlaybackFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - AdvancedSeek - VariableSpeed ids: @@ -5744,9 +5858,15 @@ PumpConfigurationAndControl: - PumpFeature WiFiNetworkDiagnostics: - - WiFiNetworkDiagnosticsFeature + # Feature was originally named WiFiNetworkDiagnosticsFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + - Feature EthernetNetworkDiagnostics: - - EthernetNetworkDiagnosticsFeature + # Feature was originally named EthernetNetworkDiagnosticsFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + - Feature bitmap values: UnitTesting: Bitmap8MaskMap: @@ -5795,7 +5915,10 @@ - Thursday - Friday - Saturday - DoorLockFeature: + # Feature was originally named DoorLockFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - PINCredential - RFIDCredential - WeekDayAccessSchedules @@ -5813,7 +5936,10 @@ - Automatic - Local Thermostat: - ThermostatFeature: + # Feature was originally named ThermostatFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - ScheduleConfiguration - AutoMode DayOfWeek: @@ -5822,11 +5948,17 @@ - HeatSetpointPresent - CoolSetpointPresent WiFiNetworkDiagnostics: - WiFiNetworkDiagnosticsFeature: + # Feature was originally named WiFiNetworkDiagnosticsFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + Feature: - PacketCounts - ErrorCounts EthernetNetworkDiagnostics: - EthernetNetworkDiagnosticsFeature: + # Feature was originally named EthernetNetworkDiagnosticsFeature, but + # we generate the same API for both of those names, so the name + # can just change here. + Feature: - PacketCounts - ErrorCounts deprecated: @@ -6140,7 +6272,10 @@ PressureFeature: - EXT DoorLock: - DoorLockFeature: + # Feature was originally named DoorLockFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - PINCredentials - RFIDCredentials - WeekDaySchedules @@ -6149,7 +6284,10 @@ - Notifications - YearDaySchedules Thermostat: - ThermostatFeature: + # Feature was originally named ThermostatFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - Schedule - Automode DayOfWeek: @@ -6519,7 +6657,10 @@ PressureFeature: Extended: EXT DoorLock: - DoorLockFeature: + # Feature was originally named DoorLockFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: PINCredential: PINCredentials RFIDCredential: RFIDCredentials WeekDayAccessSchedules: WeekDaySchedules @@ -6528,7 +6669,10 @@ Notification: Notifications YearDayAccessSchedules: YearDaySchedules Thermostat: - ThermostatFeature: + # Feature was originally named ThermostatFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: ScheduleConfiguration: Schedule AutoMode: Automode DayOfWeek: @@ -7490,13 +7634,13 @@ AirQuality: - Feature Groups: - - GroupsFeature + - Feature PressureMeasurement: - - PressureMeasurementFeature + - Feature PumpConfigurationAndControl: - - PumpConfigurationAndControlFeature + - Feature Scenes: - - ScenesFeature + - Feature HEPAFilterMonitoring: - Feature ActivatedCarbonFilterMonitoring: @@ -7522,7 +7666,7 @@ TonerCartridgeMonitoring: - Feature SmokeCOAlarm: - - SmokeCOAlarmFeature + - Feature bitmap values: AirQuality: Feature: @@ -7531,13 +7675,13 @@ - VeryPoor - ExtremelyPoor Groups: - GroupsFeature: + Feature: - GroupNames PressureMeasurement: - PressureMeasurementFeature: + Feature: - Extended PumpConfigurationAndControl: - PumpConfigurationAndControlFeature: + Feature: - ConstantPressure - CompensatedPressure - ConstantFlow @@ -7546,7 +7690,7 @@ - Automatic - LocalOperation Scenes: - ScenesFeature: + Feature: - SceneNames HEPAFilterMonitoring: Feature: @@ -7597,10 +7741,13 @@ - Condition - Warning DoorLock: - DoorLockFeature: + # Feature was originally named DoorLockFeature, but we generate the + # same API for both of those names, so the name can just change + # here. + Feature: - Unbolt SmokeCOAlarm: - SmokeCOAlarmFeature: + Feature: - SmokeAlarm - COAlarm ids: @@ -7649,11 +7796,11 @@ GNSS: Gnss bitmaps: Groups: - GroupsFeature: GroupClusterFeature + Feature: GroupClusterFeature PressureMeasurement: - PressureMeasurementFeature: PressureFeature + Feature: PressureFeature PumpConfigurationAndControl: - PumpConfigurationAndControlFeature: PumpFeature + Feature: PumpFeature provisional: clusters: # Not ready to be public API yet. diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index d5be57d1067fc0..5c48e403c30ec4 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -21918,14 +21918,14 @@ typedef NS_OPTIONS(uint32_t, MTRGroupsGroupClusterFeature) { = 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_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_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, @@ -21951,14 +21951,14 @@ typedef NS_ENUM(uint8_t, MTROnOffStartUpOnOff) { MTROnOffStartUpOnOffTogglePreviousOnOff API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x02, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); -typedef NS_OPTIONS(uint8_t, MTROnOffControl) { - MTROnOffControlAcceptOnlyWhenOn 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, MTROnOffFeature) { MTROnOffFeatureLighting 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(uint8_t, MTROnOffControl) { + MTROnOffControlAcceptOnlyWhenOn 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_ENUM(uint8_t, MTRLevelControlMoveMode) { MTRLevelControlMoveModeUp API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x00, MTRLevelControlMoveModeDown API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01, @@ -24214,6 +24214,14 @@ 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, @@ -24242,14 +24250,6 @@ 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)) @@ -24469,19 +24469,6 @@ typedef NS_OPTIONS(uint8_t, MTRThermostatDayOfWeek) { = 0x80, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); -typedef NS_OPTIONS(uint8_t, MTRThermostatModeForSequence) { - MTRThermostatModeForSequenceHeatSetpointPresent API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x1, - MTRThermostatModeForSequenceHeatSetpointFieldPresent MTR_DEPRECATED( - "Please use MTRThermostatModeForSequenceHeatSetpointPresent", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), - tvos(16.1, 16.4)) - = 0x1, - MTRThermostatModeForSequenceCoolSetpointPresent API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x2, - MTRThermostatModeForSequenceCoolSetpointFieldPresent MTR_DEPRECATED( - "Please use MTRThermostatModeForSequenceCoolSetpointPresent", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), - tvos(16.1, 16.4)) - = 0x2, -} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - typedef NS_OPTIONS(uint32_t, MTRThermostatFeature) { MTRThermostatFeatureHeating API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, MTRThermostatFeatureCooling API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, @@ -24497,6 +24484,19 @@ typedef NS_OPTIONS(uint32_t, MTRThermostatFeature) { = 0x20, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +typedef NS_OPTIONS(uint8_t, MTRThermostatModeForSequence) { + MTRThermostatModeForSequenceHeatSetpointPresent API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x1, + MTRThermostatModeForSequenceHeatSetpointFieldPresent MTR_DEPRECATED( + "Please use MTRThermostatModeForSequenceHeatSetpointPresent", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), + tvos(16.1, 16.4)) + = 0x1, + MTRThermostatModeForSequenceCoolSetpointPresent API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x2, + MTRThermostatModeForSequenceCoolSetpointFieldPresent MTR_DEPRECATED( + "Please use MTRThermostatModeForSequenceCoolSetpointPresent", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), + tvos(16.1, 16.4)) + = 0x2, +} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); + typedef NS_ENUM(uint8_t, MTRFanControlFanModeSequenceType) { MTRFanControlFanModeSequenceTypeOffLowMedHigh API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x00, MTRFanControlFanModeSequenceTypeOffLowHigh API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01, @@ -24597,6 +24597,13 @@ typedef NS_OPTIONS(uint16_t, MTRColorControlColorCapabilities) { = 0x10, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +typedef NS_OPTIONS(uint8_t, MTRColorControlColorLoopUpdateFlags) { + MTRColorControlColorLoopUpdateFlagsUpdateAction API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, + MTRColorControlColorLoopUpdateFlagsUpdateDirection API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, + MTRColorControlColorLoopUpdateFlagsUpdateTime API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x4, + MTRColorControlColorLoopUpdateFlagsUpdateStartHue API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x8, +} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); + typedef NS_OPTIONS(uint32_t, MTRColorControlFeature) { MTRColorControlFeatureHueAndSaturation API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, MTRColorControlFeatureEnhancedHue API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, @@ -24605,13 +24612,6 @@ typedef NS_OPTIONS(uint32_t, MTRColorControlFeature) { MTRColorControlFeatureColorTemperature 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, MTRColorControlColorLoopUpdateFlags) { - MTRColorControlColorLoopUpdateFlagsUpdateAction API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, - MTRColorControlColorLoopUpdateFlagsUpdateDirection API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, - MTRColorControlColorLoopUpdateFlagsUpdateTime API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x4, - MTRColorControlColorLoopUpdateFlagsUpdateStartHue API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x8, -} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - typedef NS_ENUM(uint8_t, MTRIlluminanceMeasurementLightSensorType) { MTRIlluminanceMeasurementLightSensorTypePhotodiode API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x00, MTRIlluminanceMeasurementLightSensorTypeCMOS API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01, 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 baa6af449d6508..671ba9a7f3f8bf 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 GroupsFeature -enum class GroupsFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kGroupNames = 0x1, }; @@ -107,16 +107,16 @@ enum class GroupsFeature : uint32_t namespace Scenes { -// Bitmap for ScenesCopyMode -enum class ScenesCopyMode : uint8_t +// Bitmap for Feature +enum class Feature : uint32_t { - kCopyAllScenes = 0x1, + kSceneNames = 0x1, }; -// Bitmap for ScenesFeature -enum class ScenesFeature : uint32_t +// Bitmap for ScenesCopyMode +enum class ScenesCopyMode : uint8_t { - kSceneNames = 0x1, + kCopyAllScenes = 0x1, }; } // namespace Scenes @@ -171,16 +171,16 @@ enum class OnOffStartUpOnOff : uint8_t kUnknownEnumValue = 3, }; -// Bitmap for OnOffControl -enum class OnOffControl : uint8_t +// Bitmap for Feature +enum class Feature : uint32_t { - kAcceptOnlyWhenOn = 0x1, + kLighting = 0x1, }; -// Bitmap for OnOffFeature -enum class OnOffFeature : uint32_t +// Bitmap for OnOffControl +enum class OnOffControl : uint8_t { - kLighting = 0x1, + kAcceptOnlyWhenOn = 0x1, }; } // namespace OnOff @@ -226,8 +226,8 @@ using StepMode static StepMode __attribute__((unused)) kStepModekUnknownEnumValue = static_cast(2); #endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -// Bitmap for LevelControlFeature -enum class LevelControlFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kOnOff = 0x1, kLighting = 0x2, @@ -568,8 +568,8 @@ enum class TempUnitEnum : uint8_t kUnknownEnumValue = 3, }; -// Bitmap for UnitLocalizationFeature -enum class UnitLocalizationFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kTemperatureUnit = 0x1, }; @@ -827,8 +827,8 @@ enum class WiredFaultEnum : uint8_t kUnknownEnumValue = 3, }; -// Bitmap for PowerSourceFeature -enum class PowerSourceFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kWired = 0x1, kBattery = 0x2, @@ -908,8 +908,8 @@ enum class WiFiBand : uint8_t kUnknownEnumValue = 5, }; -// Bitmap for NetworkCommissioningFeature -enum class NetworkCommissioningFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kWiFiNetworkInterface = 0x1, kThreadNetworkInterface = 0x2, @@ -1080,8 +1080,8 @@ static RadioFaultEnum __attribute__((unused)) kRadioFaultEnumkUnknownEnumValue namespace SoftwareDiagnostics { -// Bitmap for SoftwareDiagnosticsFeature -enum class SoftwareDiagnosticsFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kWaterMarks = 0x1, }; @@ -1139,8 +1139,8 @@ using RoutingRole static RoutingRole __attribute__((unused)) kRoutingRolekUnknownEnumValue = static_cast(7); #endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -// Bitmap for ThreadNetworkDiagnosticsFeature -enum class ThreadNetworkDiagnosticsFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kPacketCounts = 0x1, kErrorCounts = 0x2, @@ -1209,8 +1209,8 @@ enum class WiFiVersionEnum : uint8_t kUnknownEnumValue = 6, }; -// Bitmap for WiFiNetworkDiagnosticsFeature -enum class WiFiNetworkDiagnosticsFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kPacketCounts = 0x1, kErrorCounts = 0x2, @@ -1246,8 +1246,8 @@ using PHYRateEnum static PHYRateEnum __attribute__((unused)) kPHYRateEnumkUnknownEnumValue = static_cast(10); #endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -// Bitmap for EthernetNetworkDiagnosticsFeature -enum class EthernetNetworkDiagnosticsFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kPacketCounts = 0x1, kErrorCounts = 0x2, @@ -1322,8 +1322,8 @@ enum class TimeZoneDatabaseEnum : uint8_t kUnknownEnumValue = 3, }; -// Bitmap for TimeSynchronizationFeature -enum class TimeSynchronizationFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kTimeZone = 0x1, kNTPClient = 0x2, @@ -1384,8 +1384,8 @@ enum class ProductFinishEnum : uint8_t namespace Switch { -// Bitmap for SwitchFeature -enum class SwitchFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kLatchingSwitch = 0x1, kMomentarySwitch = 0x2, @@ -1488,8 +1488,8 @@ namespace BooleanState {} // namespace BooleanState namespace IcdManagement { -// Bitmap for ICDManagementFeature -enum class ICDManagementFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kCheckInProtocolSupport = 0x1, }; @@ -1497,8 +1497,8 @@ enum class ICDManagementFeature : uint32_t namespace ModeSelect { -// Bitmap for ModeSelectFeature -enum class ModeSelectFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kDeponoff = 0x1, }; @@ -1632,8 +1632,8 @@ enum class SensitivityEnum : uint8_t kUnknownEnumValue = 3, }; -// Bitmap for SmokeCOAlarmFeature -enum class SmokeCOAlarmFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kSmokeAlarm = 0x1, kCoAlarm = 0x2, @@ -2549,8 +2549,8 @@ enum class DoorLockDayOfWeek : uint8_t kSaturday = 0x40, }; -// Bitmap for DoorLockFeature -enum class DoorLockFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kPinCredential = 0x1, kRfidCredential = 0x2, @@ -2638,6 +2638,16 @@ 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 { @@ -2671,16 +2681,6 @@ 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 @@ -2717,8 +2717,8 @@ enum class OperationModeEnum : uint8_t kUnknownEnumValue = 4, }; -// Bitmap for PumpConfigurationAndControlFeature -enum class PumpConfigurationAndControlFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kConstantPressure = 0x1, kCompensatedPressure = 0x2, @@ -2820,15 +2820,8 @@ enum class DayOfWeek : uint8_t kAway = 0x80, }; -// Bitmap for ModeForSequence -enum class ModeForSequence : uint8_t -{ - kHeatSetpointPresent = 0x1, - kCoolSetpointPresent = 0x2, -}; - -// Bitmap for ThermostatFeature -enum class ThermostatFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kHeating = 0x1, kCooling = 0x2, @@ -2837,6 +2830,13 @@ enum class ThermostatFeature : uint32_t kSetback = 0x10, kAutoMode = 0x20, }; + +// Bitmap for ModeForSequence +enum class ModeForSequence : uint8_t +{ + kHeatSetpointPresent = 0x1, + kCoolSetpointPresent = 0x2, +}; } // namespace Thermostat namespace FanControl { @@ -2874,8 +2874,8 @@ enum class FanModeType : uint8_t kUnknownEnumValue = 7, }; -// Bitmap for FanControlFeature -enum class FanControlFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kMultiSpeed = 0x1, kAuto = 0x2, @@ -3029,16 +3029,6 @@ enum class ColorCapabilities : uint16_t kColorTemperatureSupported = 0x10, }; -// Bitmap for ColorControlFeature -enum class ColorControlFeature : uint32_t -{ - kHueAndSaturation = 0x1, - kEnhancedHue = 0x2, - kColorLoop = 0x4, - kXy = 0x8, - kColorTemperature = 0x10, -}; - // Bitmap for ColorLoopUpdateFlags enum class ColorLoopUpdateFlags : uint8_t { @@ -3047,6 +3037,16 @@ enum class ColorLoopUpdateFlags : uint8_t kUpdateTime = 0x4, kUpdateStartHue = 0x8, }; + +// Bitmap for Feature +enum class Feature : uint32_t +{ + kHueAndSaturation = 0x1, + kEnhancedHue = 0x2, + kColorLoop = 0x4, + kXy = 0x8, + kColorTemperature = 0x10, +}; } // namespace ColorControl namespace BallastConfiguration {} // namespace BallastConfiguration @@ -3070,8 +3070,8 @@ namespace TemperatureMeasurement {} // namespace TemperatureMeasurement namespace PressureMeasurement { -// Bitmap for PressureMeasurementFeature -enum class PressureMeasurementFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kExtended = 0x1, }; @@ -3140,8 +3140,8 @@ enum class LineupInfoTypeEnum : uint8_t kUnknownEnumValue = 1, }; -// Bitmap for ChannelFeature -enum class ChannelFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kChannelList = 0x1, kLineupInfo = 0x2, @@ -3196,8 +3196,8 @@ enum class PlaybackStateEnum : uint8_t kUnknownEnumValue = 4, }; -// Bitmap for MediaPlaybackFeature -enum class MediaPlaybackFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kAdvancedSeek = 0x1, kVariableSpeed = 0x2, @@ -3228,8 +3228,8 @@ enum class InputTypeEnum : uint8_t kUnknownEnumValue = 12, }; -// Bitmap for MediaInputFeature -enum class MediaInputFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kNameUpdates = 0x1, }; @@ -3348,8 +3348,8 @@ enum class KeypadInputStatusEnum : uint8_t kUnknownEnumValue = 3, }; -// Bitmap for KeypadInputFeature -enum class KeypadInputFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kNavigationKeyCodes = 0x1, kLocationKeys = 0x2, @@ -3408,8 +3408,8 @@ enum class ParameterEnum : uint8_t kUnknownEnumValue = 14, }; -// Bitmap for ContentLauncherFeature -enum class ContentLauncherFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kContentSearch = 0x1, kURLPlayback = 0x2, @@ -3441,8 +3441,8 @@ enum class OutputTypeEnum : uint8_t kUnknownEnumValue = 6, }; -// Bitmap for AudioOutputFeature -enum class AudioOutputFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kNameUpdates = 0x1, }; @@ -3463,8 +3463,8 @@ enum class ApplicationLauncherStatusEnum : uint8_t kUnknownEnumValue = 3, }; -// Bitmap for ApplicationLauncherFeature -enum class ApplicationLauncherFeature : uint32_t +// Bitmap for Feature +enum class Feature : uint32_t { kApplicationPlatform = 0x1, };