diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index 464416e0943658..bca32307a85592 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -253,6 +253,12 @@ client cluster AccessControl = 31 { kRemoved = 2; } + struct Target { + nullable cluster_id cluster = 0; + nullable endpoint_no endpoint = 1; + nullable devtype_id deviceType = 2; + } + fabric_scoped struct AccessControlEntryStruct { fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1; fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2; @@ -261,12 +267,6 @@ client cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - struct Target { - nullable cluster_id cluster = 0; - nullable endpoint_no endpoint = 1; - nullable devtype_id deviceType = 2; - } - fabric_scoped struct AccessControlExtensionStruct { fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter index 9d30700dab65f1..8bfe255db605df 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter @@ -1295,6 +1295,12 @@ client cluster Thermostat = 513 { kAutoMode = 0x20; } + struct ThermostatScheduleTransition { + int16u transitionTime = 0; + nullable int16s heatSetpoint = 1; + nullable int16s coolSetpoint = 2; + } + readonly attribute nullable int16s localTemperature = 0; readonly attribute nullable int16s outdoorTemperature = 1; readonly attribute bitmap8 occupancy = 2; diff --git a/examples/dynamic-bridge-app/bridge-common/bridge-app.matter b/examples/dynamic-bridge-app/bridge-common/bridge-app.matter index b84898e28a475f..3712d03cc89685 100644 --- a/examples/dynamic-bridge-app/bridge-common/bridge-app.matter +++ b/examples/dynamic-bridge-app/bridge-common/bridge-app.matter @@ -253,6 +253,12 @@ client cluster AccessControl = 31 { kRemoved = 2; } + struct Target { + nullable cluster_id cluster = 0; + nullable endpoint_no endpoint = 1; + nullable devtype_id deviceType = 2; + } + fabric_scoped struct AccessControlEntryStruct { fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1; fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2; @@ -261,12 +267,6 @@ client cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - struct Target { - nullable cluster_id cluster = 0; - nullable endpoint_no endpoint = 1; - nullable devtype_id deviceType = 2; - } - fabric_scoped struct AccessControlExtensionStruct { fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; 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 81d3c89077291d..8c609e0e857717 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 @@ -157,16 +157,16 @@ client cluster Scenes = 5 { kCopyAllScenes = 0x1; } - struct ExtensionFieldSet { - cluster_id clusterID = 0; - AttributeValuePair attributeValueList[] = 1; - } - struct AttributeValuePair { optional attrib_id attributeID = 0; int8u attributeValue[] = 1; } + struct ExtensionFieldSet { + cluster_id clusterID = 0; + AttributeValuePair attributeValueList[] = 1; + } + readonly attribute int8u sceneCount = 0; readonly attribute int8u currentScene = 1; readonly attribute group_id currentGroup = 2; 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 2bb77fc4bd7a03..8fa58b8d08a544 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 @@ -45,6 +45,12 @@ client cluster AccessControl = 31 { kRemoved = 2; } + struct Target { + nullable cluster_id cluster = 0; + nullable endpoint_no endpoint = 1; + nullable devtype_id deviceType = 2; + } + fabric_scoped struct AccessControlEntryStruct { fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1; fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2; @@ -53,12 +59,6 @@ client cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - struct Target { - nullable cluster_id cluster = 0; - nullable endpoint_no endpoint = 1; - nullable devtype_id deviceType = 2; - } - fabric_scoped struct AccessControlExtensionStruct { fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index 57b7d1cc115cfc..e7951c4c0ac5d6 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -1673,6 +1673,12 @@ client cluster OperationalCredentials = 62 { fabric_idx fabricIndex = 254; } + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; + fabric_idx fabricIndex = 254; + } + readonly attribute access(read: administer) NOCStruct NOCs[] = 0; readonly attribute FabricDescriptorStruct fabrics[] = 1; readonly attribute int8u supportedFabrics = 2; @@ -1843,6 +1849,11 @@ server cluster OperationalCredentials = 62 { } client cluster FixedLabel = 64 { + struct LabelStruct { + char_string<16> label = 0; + char_string<16> value = 1; + } + readonly attribute LabelStruct labelList[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -1891,17 +1902,17 @@ client cluster ModeSelect = 80 { kDeponoff = 0x1; } + struct SemanticTagStruct { + vendor_id mfgCode = 0; + enum16 value = 1; + } + struct ModeOptionStruct { char_string<64> label = 0; int8u mode = 1; SemanticTagStruct semanticTags[] = 2; } - struct SemanticTagStruct { - vendor_id mfgCode = 0; - enum16 value = 1; - } - readonly attribute char_string<32> description = 0; readonly attribute nullable enum16 standardNamespace = 1; readonly attribute ModeOptionStruct supportedModes[] = 2; @@ -2931,8 +2942,15 @@ client cluster ContentLauncher = 1290 { kHls = 0x2; } - struct ContentSearchStruct { - ParameterStruct parameterList[] = 0; + struct DimensionStruct { + double width = 0; + double height = 1; + MetricTypeEnum metric = 2; + } + + struct AdditionalInfoStruct { + char_string name = 0; + char_string value = 1; } struct ParameterStruct { @@ -2941,9 +2959,14 @@ client cluster ContentLauncher = 1290 { optional AdditionalInfoStruct externalIDList[] = 2; } - struct AdditionalInfoStruct { - char_string name = 0; - char_string value = 1; + struct ContentSearchStruct { + ParameterStruct parameterList[] = 0; + } + + struct StyleInformationStruct { + optional char_string imageURL = 0; + optional char_string color = 1; + optional DimensionStruct size = 2; } struct BrandingInformationStruct { @@ -2955,18 +2978,6 @@ client cluster ContentLauncher = 1290 { optional StyleInformationStruct waterMark = 5; } - struct StyleInformationStruct { - optional char_string imageURL = 0; - optional char_string color = 1; - optional DimensionStruct size = 2; - } - - struct DimensionStruct { - double width = 0; - double height = 1; - MetricTypeEnum metric = 2; - } - readonly attribute CHAR_STRING acceptHeader[] = 0; attribute bitmap32 supportedStreamingProtocols = 1; readonly attribute command_id generatedCommandList[] = 65528; diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index 24cf414ac711f7..4027d5b05c70a8 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -1642,6 +1642,12 @@ client cluster OperationalCredentials = 62 { fabric_idx fabricIndex = 254; } + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; + fabric_idx fabricIndex = 254; + } + readonly attribute access(read: administer) NOCStruct NOCs[] = 0; readonly attribute FabricDescriptorStruct fabrics[] = 1; readonly attribute int8u supportedFabrics = 2; @@ -1812,6 +1818,11 @@ server cluster OperationalCredentials = 62 { } client cluster FixedLabel = 64 { + struct LabelStruct { + char_string<16> label = 0; + char_string<16> value = 1; + } + readonly attribute LabelStruct labelList[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -1860,17 +1871,17 @@ client cluster ModeSelect = 80 { kDeponoff = 0x1; } + struct SemanticTagStruct { + vendor_id mfgCode = 0; + enum16 value = 1; + } + struct ModeOptionStruct { char_string<64> label = 0; int8u mode = 1; SemanticTagStruct semanticTags[] = 2; } - struct SemanticTagStruct { - vendor_id mfgCode = 0; - enum16 value = 1; - } - readonly attribute char_string<32> description = 0; readonly attribute nullable enum16 standardNamespace = 1; readonly attribute ModeOptionStruct supportedModes[] = 2; @@ -2900,8 +2911,15 @@ client cluster ContentLauncher = 1290 { kHls = 0x2; } - struct ContentSearchStruct { - ParameterStruct parameterList[] = 0; + struct DimensionStruct { + double width = 0; + double height = 1; + MetricTypeEnum metric = 2; + } + + struct AdditionalInfoStruct { + char_string name = 0; + char_string value = 1; } struct ParameterStruct { @@ -2910,9 +2928,14 @@ client cluster ContentLauncher = 1290 { optional AdditionalInfoStruct externalIDList[] = 2; } - struct AdditionalInfoStruct { - char_string name = 0; - char_string value = 1; + struct ContentSearchStruct { + ParameterStruct parameterList[] = 0; + } + + struct StyleInformationStruct { + optional char_string imageURL = 0; + optional char_string color = 1; + optional DimensionStruct size = 2; } struct BrandingInformationStruct { @@ -2924,18 +2947,6 @@ client cluster ContentLauncher = 1290 { optional StyleInformationStruct waterMark = 5; } - struct StyleInformationStruct { - optional char_string imageURL = 0; - optional char_string color = 1; - optional DimensionStruct size = 2; - } - - struct DimensionStruct { - double width = 0; - double height = 1; - MetricTypeEnum metric = 2; - } - readonly attribute CHAR_STRING acceptHeader[] = 0; attribute bitmap32 supportedStreamingProtocols = 1; readonly attribute command_id generatedCommandList[] = 65528; diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter index ad38b6dca1023b..27726bd2435045 100644 --- a/examples/tv-app/tv-common/tv-app.matter +++ b/examples/tv-app/tv-common/tv-app.matter @@ -636,15 +636,6 @@ client cluster NetworkCommissioning = 49 { boolean connected = 1; } - struct WiFiInterfaceScanResult { - WiFiSecurity security = 0; - octet_string<32> ssid = 1; - octet_string<6> bssid = 2; - int16u channel = 3; - WiFiBand wiFiBand = 4; - int8s rssi = 5; - } - struct ThreadInterfaceScanResult { int16u panId = 0; int64u extendedPanId = 1; @@ -656,6 +647,15 @@ client cluster NetworkCommissioning = 49 { int8u lqi = 7; } + struct WiFiInterfaceScanResult { + WiFiSecurity security = 0; + octet_string<32> ssid = 1; + octet_string<6> bssid = 2; + int16u channel = 3; + WiFiBand wiFiBand = 4; + int8s rssi = 5; + } + readonly attribute access(read: administer) int8u maxNetworks = 0; readonly attribute access(read: administer) NetworkInfo networks[] = 1; readonly attribute int8u scanMaxTimeSeconds = 2; @@ -1366,12 +1366,6 @@ client cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - fabric_scoped struct NOCStruct { - fabric_sensitive octet_string noc = 1; - nullable fabric_sensitive octet_string icac = 2; - fabric_idx fabricIndex = 254; - } - fabric_scoped struct FabricDescriptorStruct { octet_string<65> rootPublicKey = 1; vendor_id vendorID = 2; @@ -1381,6 +1375,12 @@ client cluster OperationalCredentials = 62 { fabric_idx fabricIndex = 254; } + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; + fabric_idx fabricIndex = 254; + } + readonly attribute access(read: administer) NOCStruct NOCs[] = 0; readonly attribute FabricDescriptorStruct fabrics[] = 1; readonly attribute int8u supportedFabrics = 2; 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 7404eab8dddd41..5407e91327de6e 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 @@ -1917,6 +1917,11 @@ client cluster MediaPlayback = 1286 { kVariableSpeed = 0x2; } + struct PlaybackPositionStruct { + epoch_us updatedAt = 0; + nullable int64u position = 1; + } + readonly attribute PlaybackStateEnum currentState = 0; readonly attribute nullable epoch_us startTime = 1; readonly attribute nullable int64u duration = 2; @@ -2162,8 +2167,15 @@ client cluster ContentLauncher = 1290 { kHls = 0x2; } - struct ContentSearchStruct { - ParameterStruct parameterList[] = 0; + struct DimensionStruct { + double width = 0; + double height = 1; + MetricTypeEnum metric = 2; + } + + struct AdditionalInfoStruct { + char_string name = 0; + char_string value = 1; } struct ParameterStruct { @@ -2172,9 +2184,14 @@ client cluster ContentLauncher = 1290 { optional AdditionalInfoStruct externalIDList[] = 2; } - struct AdditionalInfoStruct { - char_string name = 0; - char_string value = 1; + struct ContentSearchStruct { + ParameterStruct parameterList[] = 0; + } + + struct StyleInformationStruct { + optional char_string imageURL = 0; + optional char_string color = 1; + optional DimensionStruct size = 2; } struct BrandingInformationStruct { @@ -2186,18 +2203,6 @@ client cluster ContentLauncher = 1290 { optional StyleInformationStruct waterMark = 5; } - struct StyleInformationStruct { - optional char_string imageURL = 0; - optional char_string color = 1; - optional DimensionStruct size = 2; - } - - struct DimensionStruct { - double width = 0; - double height = 1; - MetricTypeEnum metric = 2; - } - readonly attribute CHAR_STRING acceptHeader[] = 0; attribute bitmap32 supportedStreamingProtocols = 1; readonly attribute command_id generatedCommandList[] = 65528; @@ -2281,6 +2286,11 @@ client cluster ApplicationLauncher = 1292 { char_string applicationID = 1; } + struct ApplicationEPStruct { + ApplicationStruct application = 0; + optional endpoint_no endpoint = 1; + } + readonly attribute INT16U catalogList[] = 0; attribute nullable ApplicationEPStruct currentApp = 1; readonly attribute command_id generatedCommandList[] = 65528; @@ -2316,6 +2326,11 @@ client cluster ApplicationBasic = 1293 { kActiveVisibleNotFocus = 3; } + struct ApplicationStruct { + int16u catalogVendorID = 0; + char_string applicationID = 1; + } + readonly attribute char_string<32> vendorName = 0; readonly attribute vendor_id vendorID = 1; readonly attribute char_string<32> applicationName = 2; diff --git a/src/app/zap-templates/templates/app/MatterIDL.zapt b/src/app/zap-templates/templates/app/MatterIDL.zapt index 6dffbb4c64e4c4..875b1fb3f562e5 100644 --- a/src/app/zap-templates/templates/app/MatterIDL.zapt +++ b/src/app/zap-templates/templates/app/MatterIDL.zapt @@ -25,10 +25,17 @@ } {{/zcl_bitmaps}} - {{#chip_cluster_specific_structs}} + {{#if (is_client side)~}} + {{#zcl_structs}} {{~>idl_structure_definition extraIndent=1}} - {{/chip_cluster_specific_structs}} + {{/zcl_structs}} + {{~else~}} + {{#chip_cluster_specific_structs}} + {{~>idl_structure_definition extraIndent=1}} + + {{/chip_cluster_specific_structs}} + {{/if}} {{#zcl_events}} {{#if isFabricSensitive}}fabric_sensitive {{/if~}} {{priority}} event {{!ensure space}} {{~#chip_access_elements entity="event"~}} diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index e482a876d9f7c9..0779181c512f58 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -129,16 +129,16 @@ client cluster Scenes = 5 { kCopyAllScenes = 0x1; } - struct ExtensionFieldSet { - cluster_id clusterID = 0; - AttributeValuePair attributeValueList[] = 1; - } - struct AttributeValuePair { optional attrib_id attributeID = 0; int8u attributeValue[] = 1; } + struct ExtensionFieldSet { + cluster_id clusterID = 0; + AttributeValuePair attributeValueList[] = 1; + } + readonly attribute int8u sceneCount = 0; readonly attribute int8u currentScene = 1; readonly attribute group_id currentGroup = 2; @@ -491,6 +491,12 @@ client cluster AccessControl = 31 { kRemoved = 2; } + struct Target { + nullable cluster_id cluster = 0; + nullable endpoint_no endpoint = 1; + nullable devtype_id deviceType = 2; + } + fabric_scoped struct AccessControlEntryStruct { fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1; fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2; @@ -499,12 +505,6 @@ client cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - struct Target { - nullable cluster_id cluster = 0; - nullable endpoint_no endpoint = 1; - nullable devtype_id deviceType = 2; - } - fabric_scoped struct AccessControlExtensionStruct { fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; @@ -1153,6 +1153,21 @@ client cluster PowerSource = 47 { kReplaceable = 0x8; } + struct BatChargeFaultChangeType { + BatChargeFaultEnum current[] = 0; + BatChargeFaultEnum previous[] = 1; + } + + struct BatFaultChangeType { + BatFaultEnum current[] = 0; + BatFaultEnum previous[] = 1; + } + + struct WiredFaultChangeType { + WiredFaultEnum current[] = 0; + WiredFaultEnum previous[] = 1; + } + info event WiredFaultChange = 0 { WiredFaultEnum current[] = 0; WiredFaultEnum previous[] = 1; @@ -1314,15 +1329,6 @@ client cluster NetworkCommissioning = 49 { boolean connected = 1; } - struct WiFiInterfaceScanResult { - WiFiSecurity security = 0; - octet_string<32> ssid = 1; - octet_string<6> bssid = 2; - int16u channel = 3; - WiFiBand wiFiBand = 4; - int8s rssi = 5; - } - struct ThreadInterfaceScanResult { int16u panId = 0; int64u extendedPanId = 1; @@ -1334,6 +1340,15 @@ client cluster NetworkCommissioning = 49 { int8u lqi = 7; } + struct WiFiInterfaceScanResult { + WiFiSecurity security = 0; + octet_string<32> ssid = 1; + octet_string<6> bssid = 2; + int16u channel = 3; + WiFiBand wiFiBand = 4; + int8s rssi = 5; + } + readonly attribute access(read: administer) int8u maxNetworks = 0; readonly attribute access(read: administer) NetworkInfo networks[] = 1; readonly attribute int8u scanMaxTimeSeconds = 2; @@ -1635,6 +1650,21 @@ client cluster ThreadNetworkDiagnostics = 53 { boolean isChild = 13; } + struct OperationalDatasetComponents { + boolean activeTimestampPresent = 0; + boolean pendingTimestampPresent = 1; + boolean masterKeyPresent = 2; + boolean networkNamePresent = 3; + boolean extendedPanIdPresent = 4; + boolean meshLocalPrefixPresent = 5; + boolean delayPresent = 6; + boolean panIdPresent = 7; + boolean channelPresent = 8; + boolean pskcPresent = 9; + boolean securityPolicyPresent = 10; + boolean channelMaskPresent = 11; + } + struct RouteTable { int64u extAddress = 0; int16u rloc16 = 1; @@ -1653,21 +1683,6 @@ client cluster ThreadNetworkDiagnostics = 53 { int16u flags = 1; } - struct OperationalDatasetComponents { - boolean activeTimestampPresent = 0; - boolean pendingTimestampPresent = 1; - boolean masterKeyPresent = 2; - boolean networkNamePresent = 3; - boolean extendedPanIdPresent = 4; - boolean meshLocalPrefixPresent = 5; - boolean delayPresent = 6; - boolean panIdPresent = 7; - boolean channelPresent = 8; - boolean pskcPresent = 9; - boolean securityPolicyPresent = 10; - boolean channelMaskPresent = 11; - } - info event ConnectionStatus = 0 { ConnectionStatusEnum connectionStatus = 0; } @@ -2007,12 +2022,6 @@ client cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - fabric_scoped struct NOCStruct { - fabric_sensitive octet_string noc = 1; - nullable fabric_sensitive octet_string icac = 2; - fabric_idx fabricIndex = 254; - } - fabric_scoped struct FabricDescriptorStruct { octet_string<65> rootPublicKey = 1; vendor_id vendorID = 2; @@ -2022,6 +2031,12 @@ client cluster OperationalCredentials = 62 { fabric_idx fabricIndex = 254; } + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; + fabric_idx fabricIndex = 254; + } + readonly attribute access(read: administer) NOCStruct NOCs[] = 0; readonly attribute FabricDescriptorStruct fabrics[] = 1; readonly attribute int8u supportedFabrics = 2; @@ -2109,16 +2124,16 @@ client cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - fabric_scoped struct GroupKeyMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; - int16u groupKeySetID = 2; + endpoint_no endpoints[] = 2; + optional char_string<16> groupName = 3; fabric_idx fabricIndex = 254; } - fabric_scoped struct GroupInfoMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; - endpoint_no endpoints[] = 2; - optional char_string<16> groupName = 3; + int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } @@ -2175,6 +2190,11 @@ client cluster GroupKeyManagement = 63 { } client cluster FixedLabel = 64 { + struct LabelStruct { + char_string<16> label = 0; + char_string<16> value = 1; + } + readonly attribute LabelStruct labelList[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -2185,6 +2205,11 @@ client cluster FixedLabel = 64 { } client cluster UserLabel = 65 { + struct LabelStruct { + char_string<16> label = 0; + char_string<16> value = 1; + } + attribute access(write: manage) LabelStruct labelList[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -2213,17 +2238,17 @@ client cluster ModeSelect = 80 { kDeponoff = 0x1; } + struct SemanticTagStruct { + vendor_id mfgCode = 0; + enum16 value = 1; + } + struct ModeOptionStruct { char_string<64> label = 0; int8u mode = 1; SemanticTagStruct semanticTags[] = 2; } - struct SemanticTagStruct { - vendor_id mfgCode = 0; - enum16 value = 1; - } - readonly attribute char_string<32> description = 0; readonly attribute nullable enum16 standardNamespace = 1; readonly attribute ModeOptionStruct supportedModes[] = 2; @@ -4189,8 +4214,15 @@ client cluster ContentLauncher = 1290 { kHls = 0x2; } - struct ContentSearchStruct { - ParameterStruct parameterList[] = 0; + struct DimensionStruct { + double width = 0; + double height = 1; + MetricTypeEnum metric = 2; + } + + struct AdditionalInfoStruct { + char_string name = 0; + char_string value = 1; } struct ParameterStruct { @@ -4199,9 +4231,14 @@ client cluster ContentLauncher = 1290 { optional AdditionalInfoStruct externalIDList[] = 2; } - struct AdditionalInfoStruct { - char_string name = 0; - char_string value = 1; + struct ContentSearchStruct { + ParameterStruct parameterList[] = 0; + } + + struct StyleInformationStruct { + optional char_string imageURL = 0; + optional char_string color = 1; + optional DimensionStruct size = 2; } struct BrandingInformationStruct { @@ -4213,18 +4250,6 @@ client cluster ContentLauncher = 1290 { optional StyleInformationStruct waterMark = 5; } - struct StyleInformationStruct { - optional char_string imageURL = 0; - optional char_string color = 1; - optional DimensionStruct size = 2; - } - - struct DimensionStruct { - double width = 0; - double height = 1; - MetricTypeEnum metric = 2; - } - readonly attribute CHAR_STRING acceptHeader[] = 0; attribute bitmap32 supportedStreamingProtocols = 1; readonly attribute command_id generatedCommandList[] = 65528; @@ -4308,6 +4333,11 @@ client cluster ApplicationLauncher = 1292 { kApplicationPlatform = 0x1; } + struct ApplicationStruct { + int16u catalogVendorID = 0; + char_string applicationID = 1; + } + struct ApplicationEPStruct { ApplicationStruct application = 0; optional endpoint_no endpoint = 1; @@ -4353,6 +4383,11 @@ client cluster ApplicationBasic = 1293 { kActiveVisibleNotFocus = 3; } + struct ApplicationStruct { + int16u catalogVendorID = 0; + char_string applicationID = 1; + } + readonly attribute char_string<32> vendorName = 0; readonly attribute vendor_id vendorID = 1; readonly attribute char_string<32> applicationName = 2; @@ -4606,26 +4641,6 @@ client cluster UnitTesting = 4294048773 { kValueC = 0x4; } - struct TestListStructOctet { - int64u member1 = 0; - octet_string<32> member2 = 1; - } - - struct NullablesAndOptionalsStruct { - nullable int16u nullableInt = 0; - optional int16u optionalInt = 1; - optional nullable int16u nullableOptionalInt = 2; - nullable char_string nullableString = 3; - optional char_string optionalString = 4; - optional nullable char_string nullableOptionalString = 5; - nullable SimpleStruct nullableStruct = 6; - optional SimpleStruct optionalStruct = 7; - optional nullable SimpleStruct nullableOptionalStruct = 8; - nullable SimpleEnum nullableList[] = 9; - optional SimpleEnum optionalList[] = 10; - optional nullable SimpleEnum nullableOptionalList[] = 11; - } - struct SimpleStruct { int8u a = 0; boolean b = 1; @@ -4648,6 +4663,21 @@ client cluster UnitTesting = 4294048773 { fabric_idx fabricIndex = 254; } + struct NullablesAndOptionalsStruct { + nullable int16u nullableInt = 0; + optional int16u optionalInt = 1; + optional nullable int16u nullableOptionalInt = 2; + nullable char_string nullableString = 3; + optional char_string optionalString = 4; + optional nullable char_string nullableOptionalString = 5; + nullable SimpleStruct nullableStruct = 6; + optional SimpleStruct optionalStruct = 7; + optional nullable SimpleStruct nullableOptionalStruct = 8; + nullable SimpleEnum nullableList[] = 9; + optional SimpleEnum optionalList[] = 10; + optional nullable SimpleEnum nullableOptionalList[] = 11; + } + struct NestedStruct { int8u a = 0; boolean b = 1; @@ -4664,6 +4694,15 @@ client cluster UnitTesting = 4294048773 { int8u g[] = 6; } + struct DoubleNestedStructList { + NestedStructList a[] = 0; + } + + struct TestListStructOctet { + int64u member1 = 0; + octet_string<32> member2 = 1; + } + info event TestEvent = 1 { INT8U arg1 = 1; SimpleEnum arg2 = 2;