diff --git a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter index 5315783fa1ec2a..f8b457ff6d42fd 100644 --- a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter +++ b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter @@ -720,12 +720,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1215,7 +1215,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1268,6 +1268,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1275,7 +1284,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1302,13 +1311,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1332,14 +1342,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter index 913ebf77abda41..e667f24cc71e4e 100644 --- a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter +++ b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1098,7 +1098,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1151,6 +1151,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1158,7 +1167,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1185,13 +1194,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1215,14 +1225,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/air-quality-sensor-app/air-quality-sensor-common/icd-lit-air-quality-sensor-app.matter b/examples/air-quality-sensor-app/air-quality-sensor-common/icd-lit-air-quality-sensor-app.matter index d44f1245d4ae83..336b9b932aca46 100644 --- a/examples/air-quality-sensor-app/air-quality-sensor-common/icd-lit-air-quality-sensor-app.matter +++ b/examples/air-quality-sensor-app/air-quality-sensor-common/icd-lit-air-quality-sensor-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1098,7 +1098,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1151,6 +1151,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1158,7 +1167,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1185,13 +1194,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1215,14 +1225,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 371807ab699a33..d49595968d9cce 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 @@ -1186,12 +1186,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -2036,7 +2036,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -2089,6 +2089,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -2096,7 +2105,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -2123,13 +2132,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -2153,14 +2163,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/all-clusters-app/realtek/data_model/all-clusters-app.matter b/examples/all-clusters-app/realtek/data_model/all-clusters-app.matter index 468a7df37b4e4f..117fa2f3d84b58 100644 --- a/examples/all-clusters-app/realtek/data_model/all-clusters-app.matter +++ b/examples/all-clusters-app/realtek/data_model/all-clusters-app.matter @@ -1186,12 +1186,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -2036,7 +2036,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -2089,6 +2089,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -2096,7 +2105,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -2123,13 +2132,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -2153,14 +2163,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 f32cc65c6b7bfb..cb7eb538bbdddf 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 @@ -1115,12 +1115,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1953,7 +1953,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -2006,6 +2006,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -2013,7 +2022,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -2040,13 +2049,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -2070,14 +2080,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index 797eeddd3ae36f..08354691a92936 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -1019,12 +1019,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1447,7 +1447,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1500,6 +1500,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1507,7 +1516,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1534,13 +1543,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1564,14 +1574,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/camera-app/camera-common/camera-app.matter b/examples/camera-app/camera-common/camera-app.matter index 58c3715b37ced9..3e3baeccab2147 100644 --- a/examples/camera-app/camera-common/camera-app.matter +++ b/examples/camera-app/camera-common/camera-app.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1514,7 +1514,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1567,6 +1567,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1574,7 +1583,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1601,13 +1610,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1631,14 +1641,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/icd_rootnode_contactsensor_ed3b19ec55.matter b/examples/chef/devices/icd_rootnode_contactsensor_ed3b19ec55.matter index 81d91eb62f7096..6fbacab387c28f 100644 --- a/examples/chef/devices/icd_rootnode_contactsensor_ed3b19ec55.matter +++ b/examples/chef/devices/icd_rootnode_contactsensor_ed3b19ec55.matter @@ -669,12 +669,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1012,7 +1012,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1065,6 +1065,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1072,7 +1081,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1099,13 +1108,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1129,14 +1139,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter index 462c557daa4eed..fc505c9467f724 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter @@ -939,12 +939,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1255,7 +1255,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1308,6 +1308,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1315,7 +1324,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1342,13 +1351,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1372,14 +1382,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter index f99197d633371b..1a7f31b7c35503 100644 --- a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter +++ b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter @@ -720,12 +720,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1215,7 +1215,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1268,6 +1268,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1275,7 +1284,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1302,13 +1311,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1332,14 +1342,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter index 37865399a79fc2..870201334bbe8d 100644 --- a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter +++ b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1068,7 +1068,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1121,6 +1121,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1128,7 +1137,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1155,13 +1164,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1185,14 +1195,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter index 1b806cb5af450d..d440a260efb323 100644 --- a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter +++ b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1402,7 +1402,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1455,6 +1455,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1462,7 +1471,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1489,13 +1498,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1519,14 +1529,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter index bb216657780e59..bf5b4a98f252c4 100644 --- a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter +++ b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter @@ -843,12 +843,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1338,7 +1338,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1391,6 +1391,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1398,7 +1407,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1425,13 +1434,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1455,14 +1465,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter index 2232458774b8fe..b7b4391167fb6d 100644 --- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter +++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1414,7 +1414,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1467,6 +1467,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1474,7 +1483,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1501,13 +1510,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1531,14 +1541,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter index a87fdf31582867..a01484bb7a7077 100644 --- a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter +++ b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1402,7 +1402,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1455,6 +1455,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1462,7 +1471,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1489,13 +1498,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1519,14 +1529,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter index 0570480a740690..ac2ca1a881e2fb 100644 --- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter +++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1498,7 +1498,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1551,6 +1551,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1558,7 +1567,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1585,13 +1594,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1615,14 +1625,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_contactsensor_lightsensor_occupancysensor_temperaturesensor_pressuresensor_flowsensor_humiditysensor_airqualitysensor_powersource_367e7cea91.matter b/examples/chef/devices/rootnode_contactsensor_lightsensor_occupancysensor_temperaturesensor_pressuresensor_flowsensor_humiditysensor_airqualitysensor_powersource_367e7cea91.matter index 1c87f207a061fe..d6bdf1b7759e32 100644 --- a/examples/chef/devices/rootnode_contactsensor_lightsensor_occupancysensor_temperaturesensor_pressuresensor_flowsensor_humiditysensor_airqualitysensor_powersource_367e7cea91.matter +++ b/examples/chef/devices/rootnode_contactsensor_lightsensor_occupancysensor_temperaturesensor_pressuresensor_flowsensor_humiditysensor_airqualitysensor_powersource_367e7cea91.matter @@ -669,12 +669,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1270,7 +1270,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1323,6 +1323,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1330,7 +1339,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1357,13 +1366,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1387,14 +1397,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_cooktop_cooksurface_d3c174cc88.matter b/examples/chef/devices/rootnode_cooktop_cooksurface_d3c174cc88.matter index 12c83c1142113e..701e7399da6fd7 100644 --- a/examples/chef/devices/rootnode_cooktop_cooksurface_d3c174cc88.matter +++ b/examples/chef/devices/rootnode_cooktop_cooksurface_d3c174cc88.matter @@ -720,12 +720,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1059,7 +1059,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1112,6 +1112,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1119,7 +1128,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1146,13 +1155,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1176,14 +1186,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter index 9dcbecee0edcd3..24218dad93a0c1 100644 --- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter @@ -939,12 +939,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1434,7 +1434,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1487,6 +1487,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1494,7 +1503,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1521,13 +1530,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1551,14 +1561,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter index c0be0872d3097c..63703a04d8f441 100644 --- a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter +++ b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter @@ -939,12 +939,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1434,7 +1434,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1487,6 +1487,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1494,7 +1503,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1521,13 +1530,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1551,14 +1561,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter index 10970cf767db4f..8dca4f427b4614 100644 --- a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter +++ b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter @@ -720,12 +720,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1059,7 +1059,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1112,6 +1112,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1119,7 +1128,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1146,13 +1155,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1176,14 +1186,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter index 55b591f635d3c5..c34f8cefbf6830 100644 --- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter +++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1402,7 +1402,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1455,6 +1455,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1462,7 +1471,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1489,13 +1498,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1519,14 +1529,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter index d0fa55fd8d0eab..dda2c412f164db 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter @@ -939,12 +939,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1434,7 +1434,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1487,6 +1487,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1494,7 +1503,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1521,13 +1530,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1551,14 +1561,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_extractorhood_0359bf807d.matter b/examples/chef/devices/rootnode_extractorhood_0359bf807d.matter index b1b4e4bad08b63..bdf2fc3002266d 100644 --- a/examples/chef/devices/rootnode_extractorhood_0359bf807d.matter +++ b/examples/chef/devices/rootnode_extractorhood_0359bf807d.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1083,7 +1083,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1136,6 +1136,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1143,7 +1152,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1170,13 +1179,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1200,14 +1210,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter index 4a182bd0eddde1..bafc7ad53310f3 100644 --- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter +++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter @@ -796,12 +796,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1291,7 +1291,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1344,6 +1344,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1351,7 +1360,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1378,13 +1387,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1408,14 +1418,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter index 88c62d2bccf547..872c8a535d8668 100644 --- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter +++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1240,7 +1240,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1293,6 +1293,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1300,7 +1309,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1327,13 +1336,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1357,14 +1367,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter index f00b9db8504676..ae710d7caf7363 100644 --- a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter +++ b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1250,7 +1250,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1303,6 +1303,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1310,7 +1319,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1337,13 +1346,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1367,14 +1377,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter index 198da40a9f694f..a6d85ecf8e1bae 100644 --- a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter +++ b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1250,7 +1250,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1303,6 +1303,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1310,7 +1319,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1337,13 +1346,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1367,14 +1377,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_heatpump_87ivjRAECh.matter b/examples/chef/devices/rootnode_heatpump_87ivjRAECh.matter index 0f66d29c1be21e..16a76938b04736 100644 --- a/examples/chef/devices/rootnode_heatpump_87ivjRAECh.matter +++ b/examples/chef/devices/rootnode_heatpump_87ivjRAECh.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1250,7 +1250,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1303,6 +1303,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1310,7 +1319,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1337,13 +1346,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1367,14 +1377,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter index 7fe19a9a926452..8cf586d7e5d77e 100644 --- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter +++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1240,7 +1240,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1293,6 +1293,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1300,7 +1309,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1327,13 +1336,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1357,14 +1367,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_laundrydryer_01796fe396.matter b/examples/chef/devices/rootnode_laundrydryer_01796fe396.matter index 06814e67abac4e..9eb534672b5a57 100644 --- a/examples/chef/devices/rootnode_laundrydryer_01796fe396.matter +++ b/examples/chef/devices/rootnode_laundrydryer_01796fe396.matter @@ -720,12 +720,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1059,7 +1059,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1112,6 +1112,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1119,7 +1128,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1146,13 +1155,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1176,14 +1186,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter index ddc9a4e322679b..8241fddb72f2be 100644 --- a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter +++ b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter @@ -671,12 +671,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -994,7 +994,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1047,6 +1047,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1054,7 +1063,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1081,13 +1090,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1111,14 +1121,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter index 813ba90dc48619..1aaa5d2517717e 100644 --- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter +++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1240,7 +1240,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1293,6 +1293,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1300,7 +1309,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1327,13 +1336,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1357,14 +1367,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_microwaveoven_37420684d3.matter b/examples/chef/devices/rootnode_microwaveoven_37420684d3.matter index 1f5f76f24aa5d5..4e54667a8a32d9 100644 --- a/examples/chef/devices/rootnode_microwaveoven_37420684d3.matter +++ b/examples/chef/devices/rootnode_microwaveoven_37420684d3.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1067,7 +1067,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1120,6 +1120,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1127,7 +1136,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1154,13 +1163,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1184,14 +1194,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_mounteddimmableloadcontrol_a9a1a87f2d.matter b/examples/chef/devices/rootnode_mounteddimmableloadcontrol_a9a1a87f2d.matter index 27bedcacb7a8db..ea0b2032c8c1ba 100644 --- a/examples/chef/devices/rootnode_mounteddimmableloadcontrol_a9a1a87f2d.matter +++ b/examples/chef/devices/rootnode_mounteddimmableloadcontrol_a9a1a87f2d.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1337,7 +1337,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1390,6 +1390,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1397,7 +1406,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1424,13 +1433,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1454,14 +1464,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_mountedonoffcontrol_ec30c757a6.matter b/examples/chef/devices/rootnode_mountedonoffcontrol_ec30c757a6.matter index 0b4f0e79ecc963..ce2c989ad4613f 100644 --- a/examples/chef/devices/rootnode_mountedonoffcontrol_ec30c757a6.matter +++ b/examples/chef/devices/rootnode_mountedonoffcontrol_ec30c757a6.matter @@ -796,12 +796,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1214,7 +1214,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1267,6 +1267,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1274,7 +1283,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1301,13 +1310,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1331,14 +1341,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter index 8ded3931796587..7db1eeafe2fa82 100644 --- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter +++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1240,7 +1240,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1293,6 +1293,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1300,7 +1309,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1327,13 +1336,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1357,14 +1367,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter index 2832491f5314de..3a4e474652d5ba 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter @@ -939,12 +939,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1434,7 +1434,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1487,6 +1487,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1494,7 +1503,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1521,13 +1530,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1551,14 +1561,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.matter b/examples/chef/devices/rootnode_onofflight_samplemei.matter index 4f5ae633795cde..664df3f2fa2a9b 100644 --- a/examples/chef/devices/rootnode_onofflight_samplemei.matter +++ b/examples/chef/devices/rootnode_onofflight_samplemei.matter @@ -939,12 +939,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1434,7 +1434,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1487,6 +1487,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1494,7 +1503,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1521,13 +1530,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1551,14 +1561,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter index c80f80baf86c13..010a4fab7dcff3 100644 --- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter +++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter @@ -816,12 +816,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1311,7 +1311,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1364,6 +1364,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1371,7 +1380,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1398,13 +1407,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1428,14 +1438,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter index b7ec2129e87a94..abb3738d5dd90e 100644 --- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter +++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter @@ -816,12 +816,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1311,7 +1311,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1364,6 +1364,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1371,7 +1380,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1398,13 +1407,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1428,14 +1438,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_oven_temperaturecontrolledcabinet_cooktop_cooksurface_738dd18832.matter b/examples/chef/devices/rootnode_oven_temperaturecontrolledcabinet_cooktop_cooksurface_738dd18832.matter index ebdaff4fef37bc..5264119fa32e67 100644 --- a/examples/chef/devices/rootnode_oven_temperaturecontrolledcabinet_cooktop_cooksurface_738dd18832.matter +++ b/examples/chef/devices/rootnode_oven_temperaturecontrolledcabinet_cooktop_cooksurface_738dd18832.matter @@ -720,12 +720,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1059,7 +1059,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1112,6 +1112,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1119,7 +1128,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1146,13 +1155,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1176,14 +1186,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter index 88c7f097107885..25c02ef7b0b9cd 100644 --- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter +++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1240,7 +1240,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1293,6 +1293,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1300,7 +1309,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1327,13 +1336,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1357,14 +1367,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_pump_5f904818cc.matter b/examples/chef/devices/rootnode_pump_5f904818cc.matter index 52beb64949dfe0..2d6173877f272f 100644 --- a/examples/chef/devices/rootnode_pump_5f904818cc.matter +++ b/examples/chef/devices/rootnode_pump_5f904818cc.matter @@ -843,12 +843,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1166,7 +1166,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1219,6 +1219,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1226,7 +1235,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1253,13 +1262,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1283,14 +1293,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_rainsensor_a7aa5d7738.matter b/examples/chef/devices/rootnode_rainsensor_a7aa5d7738.matter index 17c5f3d16f3ffe..03bcac7a073ef5 100644 --- a/examples/chef/devices/rootnode_rainsensor_a7aa5d7738.matter +++ b/examples/chef/devices/rootnode_rainsensor_a7aa5d7738.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1250,7 +1250,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1303,6 +1303,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1310,7 +1319,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1337,13 +1346,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1367,14 +1377,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter index ce74c840492f10..b5641a4ef6256a 100644 --- a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter +++ b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter @@ -600,12 +600,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -923,7 +923,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -976,6 +976,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -983,7 +992,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1010,13 +1019,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1040,14 +1050,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter index 7837c38c96f13c..afae4ed497dcf5 100644 --- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter +++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1326,7 +1326,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1379,6 +1379,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1386,7 +1395,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1413,13 +1422,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1443,14 +1453,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter index 67555c119c2d80..b3338a132e3f36 100644 --- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter +++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter @@ -796,12 +796,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1139,7 +1139,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1192,6 +1192,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1199,7 +1208,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1226,13 +1235,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1256,14 +1266,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter index 8f74e098018b6d..a9a43328536f21 100644 --- a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter +++ b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1326,7 +1326,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1379,6 +1379,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1386,7 +1395,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1413,13 +1422,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1443,14 +1453,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter index 87b9e24e42801c..7b94d8f9768d3e 100644 --- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter +++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter @@ -863,12 +863,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1358,7 +1358,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1411,6 +1411,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1418,7 +1427,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1445,13 +1454,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1475,14 +1485,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter index 56d995b6df135f..880cacd091b311 100644 --- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter +++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1240,7 +1240,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1293,6 +1293,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1300,7 +1309,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1327,13 +1336,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1357,14 +1367,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index be780950915f58..f8a1b265255343 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1256,7 +1256,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1309,6 +1309,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1316,7 +1325,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1343,13 +1352,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1373,14 +1383,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_waterfreezedetector_dd94a13a16.matter b/examples/chef/devices/rootnode_waterfreezedetector_dd94a13a16.matter index dd76eb654c1c72..0fc928557ee050 100644 --- a/examples/chef/devices/rootnode_waterfreezedetector_dd94a13a16.matter +++ b/examples/chef/devices/rootnode_waterfreezedetector_dd94a13a16.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1250,7 +1250,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1303,6 +1303,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1310,7 +1319,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1337,13 +1346,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1367,14 +1377,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter index 6e31b84eec95a7..34f6e5f5a3a490 100644 --- a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter +++ b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1326,7 +1326,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1379,6 +1379,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1386,7 +1395,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1413,13 +1422,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1443,14 +1453,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_watervalve_6bb39f1f67.matter b/examples/chef/devices/rootnode_watervalve_6bb39f1f67.matter index 1b7efe781efdc3..1e15ebab25c444 100644 --- a/examples/chef/devices/rootnode_watervalve_6bb39f1f67.matter +++ b/examples/chef/devices/rootnode_watervalve_6bb39f1f67.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1250,7 +1250,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1303,6 +1303,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1310,7 +1319,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1337,13 +1346,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1367,14 +1377,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter index 6daf248b6a81a8..4fc1eb7928edf5 100644 --- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter +++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1240,7 +1240,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1293,6 +1293,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1300,7 +1309,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1327,13 +1336,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1357,14 +1367,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/closure-app/closure-common/closure-app.matter b/examples/closure-app/closure-common/closure-app.matter index 1fc6c059bb85b7..59c243f29cb085 100644 --- a/examples/closure-app/closure-common/closure-app.matter +++ b/examples/closure-app/closure-common/closure-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1021,7 +1021,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1074,6 +1074,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1081,7 +1090,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1108,13 +1117,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1138,14 +1148,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/closure-app/silabs/data_model/closure-thread-app.matter b/examples/closure-app/silabs/data_model/closure-thread-app.matter index f436ed7598d9ec..b04d8e7d4ac0f9 100644 --- a/examples/closure-app/silabs/data_model/closure-thread-app.matter +++ b/examples/closure-app/silabs/data_model/closure-thread-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1021,7 +1021,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1074,6 +1074,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1081,7 +1090,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1108,13 +1117,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1138,14 +1148,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/closure-app/silabs/data_model/closure-wifi-app.matter b/examples/closure-app/silabs/data_model/closure-wifi-app.matter index dc7c2ed239a964..3151eaec9bd4c5 100644 --- a/examples/closure-app/silabs/data_model/closure-wifi-app.matter +++ b/examples/closure-app/silabs/data_model/closure-wifi-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1021,7 +1021,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1074,6 +1074,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1081,7 +1090,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1108,13 +1117,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1138,14 +1148,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.matter b/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.matter index 6eef5c337b70e5..d1afe7a045d35f 100644 --- a/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.matter +++ b/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1220,7 +1220,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1273,6 +1273,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1280,7 +1289,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1307,13 +1316,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1337,14 +1347,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 19e3d793515089..bbcf38360ff9ba 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 @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1144,7 +1144,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1197,6 +1197,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1204,7 +1213,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1231,13 +1240,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1261,14 +1271,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter index 0b423d911f2b90..b74a180ea28353 100644 --- a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter +++ b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1144,7 +1144,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1197,6 +1197,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1204,7 +1213,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1231,13 +1240,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1261,14 +1271,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter index 070158c2b5cd77..5015fd8a37a706 100644 --- a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter +++ b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1144,7 +1144,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1197,6 +1197,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1204,7 +1213,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1231,13 +1240,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1261,14 +1271,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter index f262f711949e03..fe29d967c530f9 100644 --- a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter +++ b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter @@ -745,12 +745,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1068,7 +1068,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1121,6 +1121,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1128,7 +1137,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1155,13 +1164,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1185,14 +1195,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/dishwasher-app/silabs/data_model/dishwasher-thread-app.matter b/examples/dishwasher-app/silabs/data_model/dishwasher-thread-app.matter index aa3358baced0a8..da55a86f243ba2 100644 --- a/examples/dishwasher-app/silabs/data_model/dishwasher-thread-app.matter +++ b/examples/dishwasher-app/silabs/data_model/dishwasher-thread-app.matter @@ -669,12 +669,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1206,7 +1206,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1259,6 +1259,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1266,7 +1275,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1293,13 +1302,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1323,14 +1333,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/dishwasher-app/silabs/data_model/dishwasher-wifi-app.matter b/examples/dishwasher-app/silabs/data_model/dishwasher-wifi-app.matter index d52aaebb02e9fa..0e9c5cd85f5636 100644 --- a/examples/dishwasher-app/silabs/data_model/dishwasher-wifi-app.matter +++ b/examples/dishwasher-app/silabs/data_model/dishwasher-wifi-app.matter @@ -669,12 +669,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1206,7 +1206,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1259,6 +1259,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1266,7 +1275,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1293,13 +1302,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1323,14 +1333,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/energy-gateway-app/energy-gateway-common/energy-gateway-app.matter b/examples/energy-gateway-app/energy-gateway-common/energy-gateway-app.matter index 1b1dc0cbe509ed..1608fc84bdbf80 100644 --- a/examples/energy-gateway-app/energy-gateway-common/energy-gateway-app.matter +++ b/examples/energy-gateway-app/energy-gateway-common/energy-gateway-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1140,7 +1140,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1193,6 +1193,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1200,7 +1209,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1227,13 +1236,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1257,14 +1267,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/energy-management-app/energy-management-common/energy-management-app.matter b/examples/energy-management-app/energy-management-common/energy-management-app.matter index 8c48905eef7ca4..32ae5c50335327 100644 --- a/examples/energy-management-app/energy-management-common/energy-management-app.matter +++ b/examples/energy-management-app/energy-management-common/energy-management-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1398,7 +1398,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1451,6 +1451,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1458,7 +1467,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1485,13 +1494,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1515,14 +1525,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter b/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter index f62d29cbca4d47..5dfe57a5837d33 100644 --- a/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter +++ b/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter @@ -786,12 +786,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1129,7 +1129,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1182,6 +1182,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1189,7 +1198,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1216,13 +1225,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1246,14 +1256,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/jf-admin-app/jfa-common/jfa-app.matter b/examples/jf-admin-app/jfa-common/jfa-app.matter index 3757c6b818d386..2b9b7ba4ac7ca5 100644 --- a/examples/jf-admin-app/jfa-common/jfa-app.matter +++ b/examples/jf-admin-app/jfa-common/jfa-app.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1430,7 +1430,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1483,6 +1483,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1490,7 +1499,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1517,13 +1526,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1547,14 +1557,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter b/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter index d7c078a8ba18c4..917f44e7ccba09 100644 --- a/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter +++ b/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter @@ -816,12 +816,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1353,7 +1353,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1406,6 +1406,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1413,7 +1422,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1440,13 +1449,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1470,14 +1480,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/light-switch-app/light-switch-common/icd-lit-light-switch-app.matter b/examples/light-switch-app/light-switch-common/icd-lit-light-switch-app.matter index 4fab472a272449..37f4f6e5da452c 100644 --- a/examples/light-switch-app/light-switch-common/icd-lit-light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/icd-lit-light-switch-app.matter @@ -865,12 +865,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1360,7 +1360,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1413,6 +1413,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1420,7 +1429,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1447,13 +1456,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1477,14 +1487,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 d05eb71f103ed9..2aba25d10891f9 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 @@ -988,12 +988,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1483,7 +1483,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1536,6 +1536,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1543,7 +1552,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1570,13 +1579,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1600,14 +1610,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/light-switch-app/qpg/zap/switch.matter b/examples/light-switch-app/qpg/zap/switch.matter index 10325c3125bcc6..3ae5787e8a63b4 100644 --- a/examples/light-switch-app/qpg/zap/switch.matter +++ b/examples/light-switch-app/qpg/zap/switch.matter @@ -988,12 +988,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1741,7 +1741,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1794,6 +1794,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1801,7 +1810,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1828,13 +1837,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1858,14 +1868,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_11.matter b/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_11.matter index 2f9e613bd20916..5f47994a997193 100644 --- a/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_11.matter +++ b/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_11.matter @@ -789,12 +789,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1284,7 +1284,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1337,6 +1337,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1344,7 +1353,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1371,13 +1380,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1401,14 +1411,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_2.matter b/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_2.matter index 5b50074ec20a7b..3145d5136b16e2 100644 --- a/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_2.matter +++ b/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_2.matter @@ -789,12 +789,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1284,7 +1284,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1337,6 +1337,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1344,7 +1353,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1371,13 +1380,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1401,14 +1411,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_8.matter b/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_8.matter index 6097edd3853e3d..5891314214964e 100644 --- a/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_8.matter +++ b/examples/light-switch-app/realtek/data_model/light-switch-app-1_to_8.matter @@ -789,12 +789,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1284,7 +1284,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1337,6 +1337,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1344,7 +1353,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1371,13 +1380,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1401,14 +1411,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/light-switch-app/realtek/data_model/light-switch-app.matter b/examples/light-switch-app/realtek/data_model/light-switch-app.matter index 51dbb991f81de3..a81f09464e06ea 100644 --- a/examples/light-switch-app/realtek/data_model/light-switch-app.matter +++ b/examples/light-switch-app/realtek/data_model/light-switch-app.matter @@ -912,12 +912,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1361,7 +1361,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1414,6 +1414,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1421,7 +1430,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1448,13 +1457,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1478,14 +1488,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter index 3065dd6f95db87..6b65ff5e9785da 100644 --- a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter +++ b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1414,7 +1414,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1467,6 +1467,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1474,7 +1483,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1501,13 +1510,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1531,14 +1541,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter index 02e5a3b1fbc839..eab339ae18c1cb 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1414,7 +1414,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1467,6 +1467,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1474,7 +1483,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1501,13 +1510,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1531,14 +1541,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 ce081ed39b9e3b..2dab878d3452ae 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1414,7 +1414,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1467,6 +1467,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1474,7 +1483,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1501,13 +1510,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1531,14 +1541,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 c096a91c88dc6c..6882ca5bf3caf8 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1414,7 +1414,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1467,6 +1467,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1474,7 +1483,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1501,13 +1510,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1531,14 +1541,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lighting-app/esp32/data_model/lighting-app.matter b/examples/lighting-app/esp32/data_model/lighting-app.matter index 55520b6a5f913d..f1310b69c5258f 100644 --- a/examples/lighting-app/esp32/data_model/lighting-app.matter +++ b/examples/lighting-app/esp32/data_model/lighting-app.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1414,7 +1414,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1467,6 +1467,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1474,7 +1483,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1501,13 +1510,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1531,14 +1541,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index 83ad55ec71d8e6..7e784bbf639dbd 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1414,7 +1414,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1467,6 +1467,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1474,7 +1483,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1501,13 +1510,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1531,14 +1541,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter index c32d988fe6ef6d..6b9b1b43c6be56 100644 --- a/examples/lighting-app/nxp/zap/lighting-on-off.matter +++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1368,7 +1368,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1421,6 +1421,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1428,7 +1437,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1455,13 +1464,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1485,14 +1495,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter index d60589d257b88d..c6f9bf237d9e04 100644 --- a/examples/lighting-app/qpg/zap/light.matter +++ b/examples/lighting-app/qpg/zap/light.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1672,7 +1672,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1725,6 +1725,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1732,7 +1741,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1759,13 +1768,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1789,14 +1799,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lighting-app/realtek/data_model/lighting-app.matter b/examples/lighting-app/realtek/data_model/lighting-app.matter index 6a6b6d0845fc46..155504a2b6aad7 100644 --- a/examples/lighting-app/realtek/data_model/lighting-app.matter +++ b/examples/lighting-app/realtek/data_model/lighting-app.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1368,7 +1368,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1421,6 +1421,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1428,7 +1437,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1455,13 +1464,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1485,14 +1495,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter index bb3fc2893a24f8..be018e7959dc16 100644 --- a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter +++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1368,7 +1368,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1421,6 +1421,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1428,7 +1437,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1455,13 +1464,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1485,14 +1495,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter index 87c17f3f8e8511..395f1c30da412b 100644 --- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter +++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter @@ -919,12 +919,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1672,7 +1672,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1725,6 +1725,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1732,7 +1741,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1759,13 +1768,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1789,14 +1799,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter index 0d5125e4e23e60..57cd4b27debbb3 100644 --- a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter +++ b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1279,7 +1279,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1332,6 +1332,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1339,7 +1348,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1366,13 +1375,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1396,14 +1406,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter index 30d0a17eaa8c47..3b6db8fc12a1de 100644 --- a/examples/lock-app/lock-common/lock-app.matter +++ b/examples/lock-app/lock-common/lock-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1402,7 +1402,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1455,6 +1455,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1462,7 +1471,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1489,13 +1498,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1519,14 +1529,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lock-app/nxp/zap/lock-app.matter b/examples/lock-app/nxp/zap/lock-app.matter index ea0f8e9b511a39..07c10e04962210 100644 --- a/examples/lock-app/nxp/zap/lock-app.matter +++ b/examples/lock-app/nxp/zap/lock-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1160,7 +1160,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1213,6 +1213,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1220,7 +1229,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1247,13 +1256,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1277,14 +1287,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lock-app/qpg/zap/lock.matter b/examples/lock-app/qpg/zap/lock.matter index dbfd1cff9f0a34..37620f556ec8aa 100644 --- a/examples/lock-app/qpg/zap/lock.matter +++ b/examples/lock-app/qpg/zap/lock.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1478,7 +1478,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1531,6 +1531,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1538,7 +1547,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1565,13 +1574,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1595,14 +1605,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lock-app/realtek/data_model/lock-app.matter b/examples/lock-app/realtek/data_model/lock-app.matter index 83e88c2f42e1ad..c324e5e9e960ad 100644 --- a/examples/lock-app/realtek/data_model/lock-app.matter +++ b/examples/lock-app/realtek/data_model/lock-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1098,7 +1098,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1151,6 +1151,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1158,7 +1167,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1185,13 +1194,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1215,14 +1225,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/lock-app/silabs/data_model/lock-app.matter b/examples/lock-app/silabs/data_model/lock-app.matter index 061c6e7153ce02..79359c2f2f8684 100644 --- a/examples/lock-app/silabs/data_model/lock-app.matter +++ b/examples/lock-app/silabs/data_model/lock-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1402,7 +1402,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1455,6 +1455,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1462,7 +1471,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1489,13 +1498,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1519,14 +1529,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter b/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter index a9453169679840..fddfc2a8ddb0c4 100644 --- a/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter +++ b/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -946,7 +946,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -999,6 +999,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1006,7 +1015,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1033,13 +1042,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1063,14 +1073,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/network-manager-app/network-manager-common/network-manager-app.matter b/examples/network-manager-app/network-manager-common/network-manager-app.matter index 7707c810f593c7..dc96b1b8bb53e5 100644 --- a/examples/network-manager-app/network-manager-common/network-manager-app.matter +++ b/examples/network-manager-app/network-manager-common/network-manager-app.matter @@ -600,12 +600,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -897,7 +897,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -950,6 +950,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -957,7 +966,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -984,13 +993,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1014,14 +1024,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 4a4872f91b08fc..40c97ca748e790 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 @@ -737,12 +737,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1109,7 +1109,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1162,6 +1162,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1169,7 +1178,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1196,13 +1205,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1226,14 +1236,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 8fc6463000c065..e0be3339bb49ba 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 @@ -796,12 +796,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1245,7 +1245,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1298,6 +1298,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1305,7 +1314,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1332,13 +1341,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1362,14 +1372,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index 86341b28c6975f..76ac4285933d7f 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -1338,12 +1338,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1994,7 +1994,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -2047,6 +2047,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -2054,7 +2063,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -2081,13 +2090,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -2111,14 +2121,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } @@ -2691,7 +2701,7 @@ cluster BridgedDeviceBasicInformation = 57 { readonly attribute optional char_string<64> productLabel = 14; readonly attribute optional char_string<32> serialNumber = 15; readonly attribute boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute optional ProductAppearanceStruct productAppearance = 20; readonly attribute optional int32u configurationVersion = 24; 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 1dd351fbca5f2c..a3848e89ac330a 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -1338,12 +1338,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1994,7 +1994,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -2047,6 +2047,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -2054,7 +2063,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -2081,13 +2090,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -2111,14 +2121,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } @@ -2691,7 +2701,7 @@ cluster BridgedDeviceBasicInformation = 57 { readonly attribute optional char_string<64> productLabel = 14; readonly attribute optional char_string<32> serialNumber = 15; readonly attribute boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute optional ProductAppearanceStruct productAppearance = 20; readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter index c1b16ccf348f93..3f337adb347a92 100644 --- a/examples/pump-app/pump-common/pump-app.matter +++ b/examples/pump-app/pump-common/pump-app.matter @@ -863,12 +863,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1312,7 +1312,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1365,6 +1365,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1372,7 +1381,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1399,13 +1408,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1429,14 +1439,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/pump-app/silabs/data_model/pump-thread-app.matter b/examples/pump-app/silabs/data_model/pump-thread-app.matter index 98f771db820f15..a958c7e283b26e 100644 --- a/examples/pump-app/silabs/data_model/pump-thread-app.matter +++ b/examples/pump-app/silabs/data_model/pump-thread-app.matter @@ -863,12 +863,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1312,7 +1312,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1365,6 +1365,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1372,7 +1381,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1399,13 +1408,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1429,14 +1439,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/pump-app/silabs/data_model/pump-wifi-app.matter b/examples/pump-app/silabs/data_model/pump-wifi-app.matter index 98f771db820f15..a958c7e283b26e 100644 --- a/examples/pump-app/silabs/data_model/pump-wifi-app.matter +++ b/examples/pump-app/silabs/data_model/pump-wifi-app.matter @@ -863,12 +863,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1312,7 +1312,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1365,6 +1365,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1372,7 +1381,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1399,13 +1408,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1429,14 +1439,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 3dec9ccf4d7407..5297c17d47fe63 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 @@ -740,12 +740,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1189,7 +1189,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1242,6 +1242,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1249,7 +1258,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1276,13 +1285,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1306,14 +1316,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter index cf36720b9d2227..d0569856fd48aa 100644 --- a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter +++ b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter @@ -600,12 +600,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -923,7 +923,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -976,6 +976,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -983,7 +992,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1010,13 +1019,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1040,14 +1050,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/refrigerator-app/silabs/data_model/refrigerator-thread-app.matter b/examples/refrigerator-app/silabs/data_model/refrigerator-thread-app.matter index fe5f02d2234b49..efb9d921b8902c 100644 --- a/examples/refrigerator-app/silabs/data_model/refrigerator-thread-app.matter +++ b/examples/refrigerator-app/silabs/data_model/refrigerator-thread-app.matter @@ -720,12 +720,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1169,7 +1169,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1222,6 +1222,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1229,7 +1238,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1256,13 +1265,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1286,14 +1296,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/refrigerator-app/silabs/data_model/refrigerator-wifi-app.matter b/examples/refrigerator-app/silabs/data_model/refrigerator-wifi-app.matter index d9d49ab72b56b4..d9660fd11eede6 100644 --- a/examples/refrigerator-app/silabs/data_model/refrigerator-wifi-app.matter +++ b/examples/refrigerator-app/silabs/data_model/refrigerator-wifi-app.matter @@ -720,12 +720,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1169,7 +1169,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1222,6 +1222,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1229,7 +1238,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1256,13 +1265,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1286,14 +1296,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/rvc-app/rvc-common/rvc-app.matter b/examples/rvc-app/rvc-common/rvc-app.matter index 430157df6498c3..3c025da050397a 100644 --- a/examples/rvc-app/rvc-common/rvc-app.matter +++ b/examples/rvc-app/rvc-common/rvc-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1008,7 +1008,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1061,6 +1061,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1068,7 +1077,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1095,13 +1104,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1125,14 +1135,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter index ad5951897533c6..707cfae2fd6240 100644 --- a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter +++ b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1478,7 +1478,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1531,6 +1531,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1538,7 +1547,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1565,13 +1574,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1595,14 +1605,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 5ba27becc8ce35..2e8059d661d5bd 100644 --- a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter +++ b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter @@ -600,12 +600,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1121,7 +1121,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1174,6 +1174,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1181,7 +1190,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1208,13 +1217,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1238,14 +1248,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/terms-and-conditions-app/terms-and-conditions-common/terms-and-conditions-app.matter b/examples/terms-and-conditions-app/terms-and-conditions-common/terms-and-conditions-app.matter index 39eac6bc902f61..055259077a740f 100644 --- a/examples/terms-and-conditions-app/terms-and-conditions-common/terms-and-conditions-app.matter +++ b/examples/terms-and-conditions-app/terms-and-conditions-common/terms-and-conditions-app.matter @@ -796,12 +796,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1093,7 +1093,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1146,6 +1146,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1153,7 +1162,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1180,13 +1189,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1210,14 +1220,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/thermostat/nxp/zap/thermostat_matter_br.matter b/examples/thermostat/nxp/zap/thermostat_matter_br.matter index 1904dcbc1f1a05..6166b761ae5a18 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_br.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_br.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1220,7 +1220,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1273,6 +1273,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1280,7 +1289,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1307,13 +1316,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1337,14 +1347,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/thermostat/nxp/zap/thermostat_matter_eth.matter b/examples/thermostat/nxp/zap/thermostat_matter_eth.matter index 4d40d68d09daf3..c3447449a54e55 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_eth.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_eth.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1220,7 +1220,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1273,6 +1273,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1280,7 +1289,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1307,13 +1316,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1337,14 +1347,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter index e91bcf288b3e74..412ba552ed8c20 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1220,7 +1220,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1273,6 +1273,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1280,7 +1289,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1307,13 +1316,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1337,14 +1347,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter index c983c743538c84..d6e547d4bbea63 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1220,7 +1220,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1273,6 +1273,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1280,7 +1289,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1307,13 +1316,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1337,14 +1347,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter index f7a851b338f665..7cf44381ca0e6f 100644 --- a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter +++ b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1478,7 +1478,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1531,6 +1531,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1538,7 +1547,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1565,13 +1574,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1595,14 +1605,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index d72aa53bd92fb0..9c01fc37d24aea 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -794,12 +794,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1331,7 +1331,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1384,6 +1384,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1391,7 +1400,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1418,13 +1427,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1448,14 +1458,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/thread-br-app/thread-br-common/thread-br-app.matter b/examples/thread-br-app/thread-br-common/thread-br-app.matter index 5225cf5052fa36..df200d46aaabcb 100644 --- a/examples/thread-br-app/thread-br-common/thread-br-app.matter +++ b/examples/thread-br-app/thread-br-common/thread-br-app.matter @@ -600,12 +600,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1049,7 +1049,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1102,6 +1102,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1109,7 +1118,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1136,13 +1145,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1166,14 +1176,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter index 54254ea74d3272..440c10ac454a23 100644 --- a/examples/tv-app/tv-common/tv-app.matter +++ b/examples/tv-app/tv-common/tv-app.matter @@ -834,12 +834,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1617,7 +1617,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1670,6 +1670,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1677,7 +1686,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1704,13 +1713,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1734,14 +1744,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } 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 9b58ed21a61922..05674ffe1195e4 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 @@ -965,12 +965,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1347,7 +1347,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1400,6 +1400,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1407,7 +1416,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1434,13 +1443,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1464,14 +1474,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter index 34ce358fdb7cd6..0cb832ad392810 100644 --- a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter +++ b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter @@ -816,12 +816,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1577,7 +1577,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1630,6 +1630,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1637,7 +1646,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1664,13 +1673,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1694,14 +1704,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/water-leak-detector-app/water-leak-detector-common/water-leak-detector-app.matter b/examples/water-leak-detector-app/water-leak-detector-common/water-leak-detector-app.matter index 8b320d327986fc..8ba3c633fd385d 100644 --- a/examples/water-leak-detector-app/water-leak-detector-common/water-leak-detector-app.matter +++ b/examples/water-leak-detector-app/water-leak-detector-common/water-leak-detector-app.matter @@ -649,12 +649,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1250,7 +1250,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1303,6 +1303,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1310,7 +1319,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1337,13 +1346,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1367,14 +1377,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter index 1d9c64b5982860..f2035c50488773 100644 --- a/examples/window-app/common/window-app.matter +++ b/examples/window-app/common/window-app.matter @@ -725,12 +725,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1432,7 +1432,7 @@ cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -1485,6 +1485,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -1492,7 +1501,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -1519,13 +1528,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1549,14 +1559,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } diff --git a/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml index 3e1dbe795a05f6..59e0303c2f1f2f 100644 --- a/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml @@ -17,8 +17,9 @@ limitations under the License. @@ -65,8 +66,8 @@ Git: 0.7-summer-2025-ncr-23-g816a9defd - - + + @@ -117,17 +118,51 @@ Git: 0.7-summer-2025-ncr-23-g816a9defd - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - - - + - + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information-cluster.xml index 1bd5522f3bb328..8608c3ee6360dc 100644 --- a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information-cluster.xml @@ -17,8 +17,9 @@ limitations under the License. @@ -59,8 +60,8 @@ Git: 0.7-summer-2025-ncr-23-g816a9defd - - + + @@ -77,7 +78,12 @@ Git: 0.7-summer-2025-ncr-23-g816a9defd - + + + + + + @@ -124,14 +130,34 @@ Git: 0.7-summer-2025-ncr-23-g816a9defd - + + + + + + + + + + + - + + + + + + - + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml index ac628ffcede887..e18e00165449dc 100644 --- a/src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml @@ -1,6 +1,6 @@ - + + - @@ -31,6 +37,7 @@ limitations under the License. + @@ -41,6 +48,7 @@ limitations under the License. + @@ -48,6 +56,7 @@ limitations under the License. + @@ -58,6 +67,7 @@ limitations under the License. + @@ -66,60 +76,75 @@ limitations under the License. + + + + + + + + + + - - - - + + + + - - - - + + + + + General General Diagnostics 0x0033 GENERAL_DIAGNOSTICS_CLUSTER The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. - - + true + true + - + + + + - - - - - - - + + - - + + + - + - + - + - + - - + + + + + + - - - Provide a means for certification tests to trigger some test-plan-specific events - - + + This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. + + - - - Take a snapshot of system time and epoch time. - + + This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. - - Response for the TimeSnapshot command. - - - + + This command SHALL be generated in response to a TimeSnapshot command. + + - Request a variable length payload response. - - - + This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. + + + + - - - Response for the PayloadTestRequest command. - + + This command is sent by the server on receipt of the PayloadTestRequest command. + - Indicate a change in the set of hardware faults currently detected by the Node. - - + The HardwareFaultChange Event SHALL indicate a change in the set of hardware faults currently detected by the Node. + + + - Indicate a change in the set of radio faults currently detected by the Node. - - + The RadioFaultChange Event SHALL indicate a change in the set of radio faults currently detected by the Node. + + + - Indicate a change in the set of network faults currently detected by the Node. - - + The NetworkFaultChange Event SHALL indicate a change in the set of network faults currently detected by the Node. + + - - Indicate the reason that caused the device to start-up. - - + + + The BootReason Event SHALL indicate the reason that caused the device to start-up. + + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 42226a36fbd1a1..96b042bd29a987 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -1126,12 +1126,12 @@ cluster BasicInformation = 40 { readonly attribute optional char_string<32> serialNumber = 15; attribute access(write: manage) optional boolean localConfigDisabled = 16; readonly attribute optional boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute CapabilityMinimaStruct capabilityMinima = 19; readonly attribute optional ProductAppearanceStruct productAppearance = 20; - readonly attribute int32u specificationVersion = 21; - readonly attribute int16u maxPathsPerInvoke = 22; - readonly attribute int32u configurationVersion = 24; + readonly attribute optional int32u specificationVersion = 21; + readonly attribute optional int16u maxPathsPerInvoke = 22; + readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -1976,7 +1976,7 @@ cluster DiagnosticLogs = 50 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide 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. */ cluster GeneralDiagnostics = 51 { - revision 2; + revision 3; enum BootReasonEnum : enum8 { kUnspecified = 0; @@ -2029,6 +2029,15 @@ cluster GeneralDiagnostics = 51 { bitmap Feature : bitmap32 { kDataModelTest = 0x1; + kDeviceLoad = 0x2; + } + + struct DeviceLoadStruct { + int16u currentSubscriptions = 0; + int16u currentSubscriptionsForFabric = 1; + int32u totalSubscriptionsEstablished = 2; + int32u totalInteractionModelMessagesSent = 3; + int32u totalInteractionModelMessagesReceived = 4; } struct NetworkInterface { @@ -2036,7 +2045,7 @@ cluster GeneralDiagnostics = 51 { boolean isOperational = 1; nullable boolean offPremiseServicesReachableIPv4 = 2; nullable boolean offPremiseServicesReachableIPv6 = 3; - octet_string<8> hardwareAddress = 4; + octet_string hardwareAddress = 4; octet_string IPv4Addresses[] = 5; octet_string IPv6Addresses[] = 6; InterfaceTypeEnum type = 7; @@ -2063,13 +2072,14 @@ cluster GeneralDiagnostics = 51 { readonly attribute NetworkInterface networkInterfaces[] = 0; readonly attribute int16u rebootCount = 1; - readonly attribute optional int64u upTime = 2; + readonly attribute int64u upTime = 2; readonly attribute optional int32u totalOperationalHours = 3; readonly attribute optional BootReasonEnum bootReason = 4; readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute optional DeviceLoadStruct deviceLoadStatus = 10; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute attrib_id attributeList[] = 65531; @@ -2093,14 +2103,14 @@ cluster GeneralDiagnostics = 51 { } response struct PayloadTestResponse = 4 { - octet_string payload = 0; + long_octet_string<2048> payload = 0; } - /** Provide a means for certification tests to trigger some test-plan-specific events */ + /** This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; - /** Take a snapshot of system time and epoch time. */ + /** This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ command TimeSnapshot(): TimeSnapshotResponse = 1; - /** Request a variable length payload response. */ + /** This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ command access(invoke: manage) PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; } @@ -2653,7 +2663,7 @@ cluster BridgedDeviceBasicInformation = 57 { readonly attribute optional char_string<64> productLabel = 14; readonly attribute optional char_string<32> serialNumber = 15; readonly attribute boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; + readonly attribute optional char_string<32> uniqueID = 18; readonly attribute optional ProductAppearanceStruct productAppearance = 20; readonly attribute optional int32u configurationVersion = 24; readonly attribute command_id generatedCommandList[] = 65528; diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java index 4922fbd409a6ae..55695fd89a7c9a 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java @@ -9425,6 +9425,7 @@ public static class GeneralDiagnosticsCluster extends BaseChipCluster { private static final long ACTIVE_RADIO_FAULTS_ATTRIBUTE_ID = 6L; private static final long ACTIVE_NETWORK_FAULTS_ATTRIBUTE_ID = 7L; private static final long TEST_EVENT_TRIGGERS_ENABLED_ATTRIBUTE_ID = 8L; + private static final long DEVICE_LOAD_STATUS_ATTRIBUTE_ID = 10L; private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L; private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L; private static final long ATTRIBUTE_LIST_ATTRIBUTE_ID = 65531L; @@ -9560,6 +9561,10 @@ public interface ActiveNetworkFaultsAttributeCallback extends BaseAttributeCallb void onSuccess(List value); } + public interface DeviceLoadStatusAttributeCallback extends BaseAttributeCallback { + void onSuccess(ChipStructs.GeneralDiagnosticsClusterDeviceLoadStruct value); + } + public interface GeneratedCommandListAttributeCallback extends BaseAttributeCallback { void onSuccess(List value); } @@ -9806,6 +9811,32 @@ public void onSuccess(byte[] tlv) { }, TEST_EVENT_TRIGGERS_ENABLED_ATTRIBUTE_ID, minInterval, maxInterval); } + public void readDeviceLoadStatusAttribute( + DeviceLoadStatusAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, DEVICE_LOAD_STATUS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.GeneralDiagnosticsClusterDeviceLoadStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, DEVICE_LOAD_STATUS_ATTRIBUTE_ID, true); + } + + public void subscribeDeviceLoadStatusAttribute( + DeviceLoadStatusAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, DEVICE_LOAD_STATUS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.GeneralDiagnosticsClusterDeviceLoadStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, DEVICE_LOAD_STATUS_ATTRIBUTE_ID, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback) { ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java b/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java index d274068a748a35..5b308ea3e83a2e 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java @@ -1785,6 +1785,112 @@ public String toString() { return output.toString(); } } +public static class GeneralDiagnosticsClusterDeviceLoadStruct { + public Integer currentSubscriptions; + public Integer currentSubscriptionsForFabric; + public Long totalSubscriptionsEstablished; + public Long totalInteractionModelMessagesSent; + public Long totalInteractionModelMessagesReceived; + private static final long CURRENT_SUBSCRIPTIONS_ID = 0L; + private static final long CURRENT_SUBSCRIPTIONS_FOR_FABRIC_ID = 1L; + private static final long TOTAL_SUBSCRIPTIONS_ESTABLISHED_ID = 2L; + private static final long TOTAL_INTERACTION_MODEL_MESSAGES_SENT_ID = 3L; + private static final long TOTAL_INTERACTION_MODEL_MESSAGES_RECEIVED_ID = 4L; + + public GeneralDiagnosticsClusterDeviceLoadStruct( + Integer currentSubscriptions, + Integer currentSubscriptionsForFabric, + Long totalSubscriptionsEstablished, + Long totalInteractionModelMessagesSent, + Long totalInteractionModelMessagesReceived + ) { + this.currentSubscriptions = currentSubscriptions; + this.currentSubscriptionsForFabric = currentSubscriptionsForFabric; + this.totalSubscriptionsEstablished = totalSubscriptionsEstablished; + this.totalInteractionModelMessagesSent = totalInteractionModelMessagesSent; + this.totalInteractionModelMessagesReceived = totalInteractionModelMessagesReceived; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(CURRENT_SUBSCRIPTIONS_ID, new UIntType(currentSubscriptions))); + values.add(new StructElement(CURRENT_SUBSCRIPTIONS_FOR_FABRIC_ID, new UIntType(currentSubscriptionsForFabric))); + values.add(new StructElement(TOTAL_SUBSCRIPTIONS_ESTABLISHED_ID, new UIntType(totalSubscriptionsEstablished))); + values.add(new StructElement(TOTAL_INTERACTION_MODEL_MESSAGES_SENT_ID, new UIntType(totalInteractionModelMessagesSent))); + values.add(new StructElement(TOTAL_INTERACTION_MODEL_MESSAGES_RECEIVED_ID, new UIntType(totalInteractionModelMessagesReceived))); + + return new StructType(values); + } + + public static GeneralDiagnosticsClusterDeviceLoadStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer currentSubscriptions = null; + Integer currentSubscriptionsForFabric = null; + Long totalSubscriptionsEstablished = null; + Long totalInteractionModelMessagesSent = null; + Long totalInteractionModelMessagesReceived = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == CURRENT_SUBSCRIPTIONS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + currentSubscriptions = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == CURRENT_SUBSCRIPTIONS_FOR_FABRIC_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + currentSubscriptionsForFabric = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == TOTAL_SUBSCRIPTIONS_ESTABLISHED_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + totalSubscriptionsEstablished = castingValue.value(Long.class); + } + } else if (element.contextTagNum() == TOTAL_INTERACTION_MODEL_MESSAGES_SENT_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + totalInteractionModelMessagesSent = castingValue.value(Long.class); + } + } else if (element.contextTagNum() == TOTAL_INTERACTION_MODEL_MESSAGES_RECEIVED_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + totalInteractionModelMessagesReceived = castingValue.value(Long.class); + } + } + } + return new GeneralDiagnosticsClusterDeviceLoadStruct( + currentSubscriptions, + currentSubscriptionsForFabric, + totalSubscriptionsEstablished, + totalInteractionModelMessagesSent, + totalInteractionModelMessagesReceived + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("GeneralDiagnosticsClusterDeviceLoadStruct {\n"); + output.append("\tcurrentSubscriptions: "); + output.append(currentSubscriptions); + output.append("\n"); + output.append("\tcurrentSubscriptionsForFabric: "); + output.append(currentSubscriptionsForFabric); + output.append("\n"); + output.append("\ttotalSubscriptionsEstablished: "); + output.append(totalSubscriptionsEstablished); + output.append("\n"); + output.append("\ttotalInteractionModelMessagesSent: "); + output.append(totalInteractionModelMessagesSent); + output.append("\n"); + output.append("\ttotalInteractionModelMessagesReceived: "); + output.append(totalInteractionModelMessagesReceived); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} public static class GeneralDiagnosticsClusterNetworkInterface { public String name; public Boolean isOperational; diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java index 532f2c7f33d600..b802f081cbcc14 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java @@ -3431,6 +3431,7 @@ public enum Attribute { ActiveRadioFaults(6L), ActiveNetworkFaults(7L), TestEventTriggersEnabled(8L), + DeviceLoadStatus(10L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), AttributeList(65531L), diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java index 25baedc263049d..46ae89eae653c2 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java @@ -3024,6 +3024,27 @@ public void onError(Exception ex) { } } + public static class DelegatedGeneralDiagnosticsClusterDeviceLoadStatusAttributeCallback implements ChipClusters.GeneralDiagnosticsCluster.DeviceLoadStatusAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(ChipStructs.GeneralDiagnosticsClusterDeviceLoadStruct value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.GeneralDiagnosticsClusterDeviceLoadStruct"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } + public static class DelegatedGeneralDiagnosticsClusterGeneratedCommandListAttributeCallback implements ChipClusters.GeneralDiagnosticsCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override diff --git a/src/controller/java/generated/java/chip/devicecontroller/cluster/files.gni b/src/controller/java/generated/java/chip/devicecontroller/cluster/files.gni index bdf83adc5cb5e3..30242288567781 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/cluster/files.gni +++ b/src/controller/java/generated/java/chip/devicecontroller/cluster/files.gni @@ -110,6 +110,7 @@ structs_sources = [ "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/EnergyPreferenceClusterBalanceStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/FixedLabelClusterLabelStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/GeneralCommissioningClusterBasicCommissioningInfo.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/GeneralDiagnosticsClusterDeviceLoadStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/GeneralDiagnosticsClusterNetworkInterface.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/GroupcastClusterMembershipStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/GroupKeyManagementClusterGroupInfoMapStruct.kt", diff --git a/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/GeneralDiagnosticsClusterDeviceLoadStruct.kt b/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/GeneralDiagnosticsClusterDeviceLoadStruct.kt new file mode 100644 index 00000000000000..788adcd77af36a --- /dev/null +++ b/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/GeneralDiagnosticsClusterDeviceLoadStruct.kt @@ -0,0 +1,90 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package chip.devicecontroller.cluster.structs + +import chip.devicecontroller.cluster.* +import matter.tlv.ContextSpecificTag +import matter.tlv.Tag +import matter.tlv.TlvReader +import matter.tlv.TlvWriter + +class GeneralDiagnosticsClusterDeviceLoadStruct( + val currentSubscriptions: UInt, + val currentSubscriptionsForFabric: UInt, + val totalSubscriptionsEstablished: ULong, + val totalInteractionModelMessagesSent: ULong, + val totalInteractionModelMessagesReceived: ULong, +) { + override fun toString(): String = buildString { + append("GeneralDiagnosticsClusterDeviceLoadStruct {\n") + append("\tcurrentSubscriptions : $currentSubscriptions\n") + append("\tcurrentSubscriptionsForFabric : $currentSubscriptionsForFabric\n") + append("\ttotalSubscriptionsEstablished : $totalSubscriptionsEstablished\n") + append("\ttotalInteractionModelMessagesSent : $totalInteractionModelMessagesSent\n") + append("\ttotalInteractionModelMessagesReceived : $totalInteractionModelMessagesReceived\n") + append("}\n") + } + + fun toTlv(tlvTag: Tag, tlvWriter: TlvWriter) { + tlvWriter.apply { + startStructure(tlvTag) + put(ContextSpecificTag(TAG_CURRENT_SUBSCRIPTIONS), currentSubscriptions) + put(ContextSpecificTag(TAG_CURRENT_SUBSCRIPTIONS_FOR_FABRIC), currentSubscriptionsForFabric) + put(ContextSpecificTag(TAG_TOTAL_SUBSCRIPTIONS_ESTABLISHED), totalSubscriptionsEstablished) + put( + ContextSpecificTag(TAG_TOTAL_INTERACTION_MODEL_MESSAGES_SENT), + totalInteractionModelMessagesSent, + ) + put( + ContextSpecificTag(TAG_TOTAL_INTERACTION_MODEL_MESSAGES_RECEIVED), + totalInteractionModelMessagesReceived, + ) + endStructure() + } + } + + companion object { + private const val TAG_CURRENT_SUBSCRIPTIONS = 0 + private const val TAG_CURRENT_SUBSCRIPTIONS_FOR_FABRIC = 1 + private const val TAG_TOTAL_SUBSCRIPTIONS_ESTABLISHED = 2 + private const val TAG_TOTAL_INTERACTION_MODEL_MESSAGES_SENT = 3 + private const val TAG_TOTAL_INTERACTION_MODEL_MESSAGES_RECEIVED = 4 + + fun fromTlv(tlvTag: Tag, tlvReader: TlvReader): GeneralDiagnosticsClusterDeviceLoadStruct { + tlvReader.enterStructure(tlvTag) + val currentSubscriptions = tlvReader.getUInt(ContextSpecificTag(TAG_CURRENT_SUBSCRIPTIONS)) + val currentSubscriptionsForFabric = + tlvReader.getUInt(ContextSpecificTag(TAG_CURRENT_SUBSCRIPTIONS_FOR_FABRIC)) + val totalSubscriptionsEstablished = + tlvReader.getULong(ContextSpecificTag(TAG_TOTAL_SUBSCRIPTIONS_ESTABLISHED)) + val totalInteractionModelMessagesSent = + tlvReader.getULong(ContextSpecificTag(TAG_TOTAL_INTERACTION_MODEL_MESSAGES_SENT)) + val totalInteractionModelMessagesReceived = + tlvReader.getULong(ContextSpecificTag(TAG_TOTAL_INTERACTION_MODEL_MESSAGES_RECEIVED)) + + tlvReader.exitContainer() + + return GeneralDiagnosticsClusterDeviceLoadStruct( + currentSubscriptions, + currentSubscriptionsForFabric, + totalSubscriptionsEstablished, + totalInteractionModelMessagesSent, + totalInteractionModelMessagesReceived, + ) + } + } +} diff --git a/src/controller/java/generated/java/matter/controller/cluster/clusters/BasicInformationCluster.kt b/src/controller/java/generated/java/matter/controller/cluster/clusters/BasicInformationCluster.kt index 5ce44975610a1e..26bd29a5292307 100644 --- a/src/controller/java/generated/java/matter/controller/cluster/clusters/BasicInformationCluster.kt +++ b/src/controller/java/generated/java/matter/controller/cluster/clusters/BasicInformationCluster.kt @@ -1782,7 +1782,7 @@ class BasicInformationCluster( } } - suspend fun readUniqueIDAttribute(): String { + suspend fun readUniqueIDAttribute(): String? { val ATTRIBUTE_ID: UInt = 18u val attributePath = @@ -1808,7 +1808,12 @@ class BasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: String = tlvReader.getString(AnonymousTag) + val decodedValue: String? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getString(AnonymousTag) + } else { + null + } return decodedValue } @@ -1852,9 +1857,14 @@ class BasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: String = tlvReader.getString(AnonymousTag) + val decodedValue: String? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getString(AnonymousTag) + } else { + null + } - emit(StringSubscriptionState.Success(decodedValue)) + decodedValue?.let { emit(StringSubscriptionState.Success(it)) } } SubscriptionState.SubscriptionEstablished -> { emit(StringSubscriptionState.SubscriptionEstablished) @@ -2041,7 +2051,7 @@ class BasicInformationCluster( } } - suspend fun readSpecificationVersionAttribute(): UInt { + suspend fun readSpecificationVersionAttribute(): UInt? { val ATTRIBUTE_ID: UInt = 21u val attributePath = @@ -2067,7 +2077,12 @@ class BasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: UInt = tlvReader.getUInt(AnonymousTag) + val decodedValue: UInt? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getUInt(AnonymousTag) + } else { + null + } return decodedValue } @@ -2113,9 +2128,14 @@ class BasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: UInt = tlvReader.getUInt(AnonymousTag) + val decodedValue: UInt? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getUInt(AnonymousTag) + } else { + null + } - emit(UIntSubscriptionState.Success(decodedValue)) + decodedValue?.let { emit(UIntSubscriptionState.Success(it)) } } SubscriptionState.SubscriptionEstablished -> { emit(UIntSubscriptionState.SubscriptionEstablished) @@ -2124,7 +2144,7 @@ class BasicInformationCluster( } } - suspend fun readMaxPathsPerInvokeAttribute(): UShort { + suspend fun readMaxPathsPerInvokeAttribute(): UShort? { val ATTRIBUTE_ID: UInt = 22u val attributePath = @@ -2150,7 +2170,12 @@ class BasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: UShort = tlvReader.getUShort(AnonymousTag) + val decodedValue: UShort? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getUShort(AnonymousTag) + } else { + null + } return decodedValue } @@ -2196,9 +2221,14 @@ class BasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: UShort = tlvReader.getUShort(AnonymousTag) + val decodedValue: UShort? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getUShort(AnonymousTag) + } else { + null + } - emit(UShortSubscriptionState.Success(decodedValue)) + decodedValue?.let { emit(UShortSubscriptionState.Success(it)) } } SubscriptionState.SubscriptionEstablished -> { emit(UShortSubscriptionState.SubscriptionEstablished) @@ -2207,7 +2237,7 @@ class BasicInformationCluster( } } - suspend fun readConfigurationVersionAttribute(): UInt { + suspend fun readConfigurationVersionAttribute(): UInt? { val ATTRIBUTE_ID: UInt = 24u val attributePath = @@ -2233,7 +2263,12 @@ class BasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: UInt = tlvReader.getUInt(AnonymousTag) + val decodedValue: UInt? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getUInt(AnonymousTag) + } else { + null + } return decodedValue } @@ -2279,9 +2314,14 @@ class BasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: UInt = tlvReader.getUInt(AnonymousTag) + val decodedValue: UInt? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getUInt(AnonymousTag) + } else { + null + } - emit(UIntSubscriptionState.Success(decodedValue)) + decodedValue?.let { emit(UIntSubscriptionState.Success(it)) } } SubscriptionState.SubscriptionEstablished -> { emit(UIntSubscriptionState.SubscriptionEstablished) diff --git a/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt b/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt index a7a111da58b5f0..8c05e505eb2454 100644 --- a/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt +++ b/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt @@ -1524,7 +1524,7 @@ class BridgedDeviceBasicInformationCluster( } } - suspend fun readUniqueIDAttribute(): String { + suspend fun readUniqueIDAttribute(): String? { val ATTRIBUTE_ID: UInt = 18u val attributePath = @@ -1550,7 +1550,12 @@ class BridgedDeviceBasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: String = tlvReader.getString(AnonymousTag) + val decodedValue: String? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getString(AnonymousTag) + } else { + null + } return decodedValue } @@ -1594,9 +1599,14 @@ class BridgedDeviceBasicInformationCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: String = tlvReader.getString(AnonymousTag) + val decodedValue: String? = + if (tlvReader.isNextTag(AnonymousTag)) { + tlvReader.getString(AnonymousTag) + } else { + null + } - emit(StringSubscriptionState.Success(decodedValue)) + decodedValue?.let { emit(StringSubscriptionState.Success(it)) } } SubscriptionState.SubscriptionEstablished -> { emit(StringSubscriptionState.SubscriptionEstablished) diff --git a/src/controller/java/generated/java/matter/controller/cluster/clusters/GeneralDiagnosticsCluster.kt b/src/controller/java/generated/java/matter/controller/cluster/clusters/GeneralDiagnosticsCluster.kt index 4a1a2486969ef9..02835e12a4c9a5 100644 --- a/src/controller/java/generated/java/matter/controller/cluster/clusters/GeneralDiagnosticsCluster.kt +++ b/src/controller/java/generated/java/matter/controller/cluster/clusters/GeneralDiagnosticsCluster.kt @@ -91,6 +91,17 @@ class GeneralDiagnosticsCluster( object SubscriptionEstablished : ActiveNetworkFaultsAttributeSubscriptionState() } + class DeviceLoadStatusAttribute(val value: GeneralDiagnosticsClusterDeviceLoadStruct?) + + sealed class DeviceLoadStatusAttributeSubscriptionState { + data class Success(val value: GeneralDiagnosticsClusterDeviceLoadStruct?) : + DeviceLoadStatusAttributeSubscriptionState() + + data class Error(val exception: Exception) : DeviceLoadStatusAttributeSubscriptionState() + + object SubscriptionEstablished : DeviceLoadStatusAttributeSubscriptionState() + } + class GeneratedCommandListAttribute(val value: List) sealed class GeneratedCommandListAttributeSubscriptionState { @@ -441,7 +452,7 @@ class GeneralDiagnosticsCluster( } } - suspend fun readUpTimeAttribute(): ULong? { + suspend fun readUpTimeAttribute(): ULong { val ATTRIBUTE_ID: UInt = 2u val attributePath = @@ -467,12 +478,7 @@ class GeneralDiagnosticsCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: ULong? = - if (tlvReader.isNextTag(AnonymousTag)) { - tlvReader.getULong(AnonymousTag) - } else { - null - } + val decodedValue: ULong = tlvReader.getULong(AnonymousTag) return decodedValue } @@ -516,14 +522,9 @@ class GeneralDiagnosticsCluster( // Decode the TLV data into the appropriate type val tlvReader = TlvReader(attributeData.data) - val decodedValue: ULong? = - if (tlvReader.isNextTag(AnonymousTag)) { - tlvReader.getULong(AnonymousTag) - } else { - null - } + val decodedValue: ULong = tlvReader.getULong(AnonymousTag) - decodedValue?.let { emit(ULongSubscriptionState.Success(it)) } + emit(ULongSubscriptionState.Success(decodedValue)) } SubscriptionState.SubscriptionEstablished -> { emit(ULongSubscriptionState.SubscriptionEstablished) @@ -1114,6 +1115,99 @@ class GeneralDiagnosticsCluster( } } + suspend fun readDeviceLoadStatusAttribute(): DeviceLoadStatusAttribute { + val ATTRIBUTE_ID: UInt = 10u + + val attributePath = + AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID) + + val readRequest = ReadRequest(eventPaths = emptyList(), attributePaths = listOf(attributePath)) + + val response = controller.read(readRequest) + + if (response.successes.isEmpty()) { + logger.log(Level.WARNING, "Read command failed") + throw IllegalStateException("Read command failed with failures: ${response.failures}") + } + + logger.log(Level.FINE, "Read command succeeded") + + val attributeData = + response.successes.filterIsInstance().firstOrNull { + it.path.attributeId == ATTRIBUTE_ID + } + + requireNotNull(attributeData) { "Deviceloadstatus attribute not found in response" } + + // Decode the TLV data into the appropriate type + val tlvReader = TlvReader(attributeData.data) + val decodedValue: GeneralDiagnosticsClusterDeviceLoadStruct? = + if (tlvReader.isNextTag(AnonymousTag)) { + GeneralDiagnosticsClusterDeviceLoadStruct.fromTlv(AnonymousTag, tlvReader) + } else { + null + } + + return DeviceLoadStatusAttribute(decodedValue) + } + + suspend fun subscribeDeviceLoadStatusAttribute( + minInterval: Int, + maxInterval: Int, + ): Flow { + val ATTRIBUTE_ID: UInt = 10u + val attributePaths = + listOf( + AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID) + ) + + val subscribeRequest: SubscribeRequest = + SubscribeRequest( + eventPaths = emptyList(), + attributePaths = attributePaths, + minInterval = Duration.ofSeconds(minInterval.toLong()), + maxInterval = Duration.ofSeconds(maxInterval.toLong()), + ) + + return controller.subscribe(subscribeRequest).transform { subscriptionState -> + when (subscriptionState) { + is SubscriptionState.SubscriptionErrorNotification -> { + emit( + DeviceLoadStatusAttributeSubscriptionState.Error( + Exception( + "Subscription terminated with error code: ${subscriptionState.terminationCause}" + ) + ) + ) + } + is SubscriptionState.NodeStateUpdate -> { + val attributeData = + subscriptionState.updateState.successes + .filterIsInstance() + .firstOrNull { it.path.attributeId == ATTRIBUTE_ID } + + requireNotNull(attributeData) { + "Deviceloadstatus attribute not found in Node State update" + } + + // Decode the TLV data into the appropriate type + val tlvReader = TlvReader(attributeData.data) + val decodedValue: GeneralDiagnosticsClusterDeviceLoadStruct? = + if (tlvReader.isNextTag(AnonymousTag)) { + GeneralDiagnosticsClusterDeviceLoadStruct.fromTlv(AnonymousTag, tlvReader) + } else { + null + } + + decodedValue?.let { emit(DeviceLoadStatusAttributeSubscriptionState.Success(it)) } + } + SubscriptionState.SubscriptionEstablished -> { + emit(DeviceLoadStatusAttributeSubscriptionState.SubscriptionEstablished) + } + } + } + } + suspend fun readGeneratedCommandListAttribute(): GeneratedCommandListAttribute { val ATTRIBUTE_ID: UInt = 65528u diff --git a/src/controller/java/generated/java/matter/controller/cluster/files.gni b/src/controller/java/generated/java/matter/controller/cluster/files.gni index 022e8b68bce9fb..bf16a22c225fa5 100644 --- a/src/controller/java/generated/java/matter/controller/cluster/files.gni +++ b/src/controller/java/generated/java/matter/controller/cluster/files.gni @@ -110,6 +110,7 @@ matter_structs_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/EnergyPreferenceClusterBalanceStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/FixedLabelClusterLabelStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/GeneralCommissioningClusterBasicCommissioningInfo.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/GeneralDiagnosticsClusterDeviceLoadStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/GeneralDiagnosticsClusterNetworkInterface.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/GroupcastClusterMembershipStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/GroupKeyManagementClusterGroupInfoMapStruct.kt", diff --git a/src/controller/java/generated/java/matter/controller/cluster/structs/GeneralDiagnosticsClusterDeviceLoadStruct.kt b/src/controller/java/generated/java/matter/controller/cluster/structs/GeneralDiagnosticsClusterDeviceLoadStruct.kt new file mode 100644 index 00000000000000..8a7877b65cd350 --- /dev/null +++ b/src/controller/java/generated/java/matter/controller/cluster/structs/GeneralDiagnosticsClusterDeviceLoadStruct.kt @@ -0,0 +1,90 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package matter.controller.cluster.structs + +import matter.controller.cluster.* +import matter.tlv.ContextSpecificTag +import matter.tlv.Tag +import matter.tlv.TlvReader +import matter.tlv.TlvWriter + +class GeneralDiagnosticsClusterDeviceLoadStruct( + val currentSubscriptions: UShort, + val currentSubscriptionsForFabric: UShort, + val totalSubscriptionsEstablished: UInt, + val totalInteractionModelMessagesSent: UInt, + val totalInteractionModelMessagesReceived: UInt, +) { + override fun toString(): String = buildString { + append("GeneralDiagnosticsClusterDeviceLoadStruct {\n") + append("\tcurrentSubscriptions : $currentSubscriptions\n") + append("\tcurrentSubscriptionsForFabric : $currentSubscriptionsForFabric\n") + append("\ttotalSubscriptionsEstablished : $totalSubscriptionsEstablished\n") + append("\ttotalInteractionModelMessagesSent : $totalInteractionModelMessagesSent\n") + append("\ttotalInteractionModelMessagesReceived : $totalInteractionModelMessagesReceived\n") + append("}\n") + } + + fun toTlv(tlvTag: Tag, tlvWriter: TlvWriter) { + tlvWriter.apply { + startStructure(tlvTag) + put(ContextSpecificTag(TAG_CURRENT_SUBSCRIPTIONS), currentSubscriptions) + put(ContextSpecificTag(TAG_CURRENT_SUBSCRIPTIONS_FOR_FABRIC), currentSubscriptionsForFabric) + put(ContextSpecificTag(TAG_TOTAL_SUBSCRIPTIONS_ESTABLISHED), totalSubscriptionsEstablished) + put( + ContextSpecificTag(TAG_TOTAL_INTERACTION_MODEL_MESSAGES_SENT), + totalInteractionModelMessagesSent, + ) + put( + ContextSpecificTag(TAG_TOTAL_INTERACTION_MODEL_MESSAGES_RECEIVED), + totalInteractionModelMessagesReceived, + ) + endStructure() + } + } + + companion object { + private const val TAG_CURRENT_SUBSCRIPTIONS = 0 + private const val TAG_CURRENT_SUBSCRIPTIONS_FOR_FABRIC = 1 + private const val TAG_TOTAL_SUBSCRIPTIONS_ESTABLISHED = 2 + private const val TAG_TOTAL_INTERACTION_MODEL_MESSAGES_SENT = 3 + private const val TAG_TOTAL_INTERACTION_MODEL_MESSAGES_RECEIVED = 4 + + fun fromTlv(tlvTag: Tag, tlvReader: TlvReader): GeneralDiagnosticsClusterDeviceLoadStruct { + tlvReader.enterStructure(tlvTag) + val currentSubscriptions = tlvReader.getUShort(ContextSpecificTag(TAG_CURRENT_SUBSCRIPTIONS)) + val currentSubscriptionsForFabric = + tlvReader.getUShort(ContextSpecificTag(TAG_CURRENT_SUBSCRIPTIONS_FOR_FABRIC)) + val totalSubscriptionsEstablished = + tlvReader.getUInt(ContextSpecificTag(TAG_TOTAL_SUBSCRIPTIONS_ESTABLISHED)) + val totalInteractionModelMessagesSent = + tlvReader.getUInt(ContextSpecificTag(TAG_TOTAL_INTERACTION_MODEL_MESSAGES_SENT)) + val totalInteractionModelMessagesReceived = + tlvReader.getUInt(ContextSpecificTag(TAG_TOTAL_INTERACTION_MODEL_MESSAGES_RECEIVED)) + + tlvReader.exitContainer() + + return GeneralDiagnosticsClusterDeviceLoadStruct( + currentSubscriptions, + currentSubscriptionsForFabric, + totalSubscriptionsEstablished, + totalInteractionModelMessagesSent, + totalInteractionModelMessagesReceived, + ) + } + } +} diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp index 6c792d746f039e..5fd9527ec5d575 100644 --- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp +++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp @@ -6168,6 +6168,82 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR jnivalue, value); return value; } + case Attributes::DeviceLoadStatus::Id: { + using TypeInfo = Attributes::DeviceLoadStatus::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + jobject value_currentSubscriptions; + std::string value_currentSubscriptionsClassName = "java/lang/Integer"; + std::string value_currentSubscriptionsCtorSignature = "(I)V"; + jint jnivalue_currentSubscriptions = static_cast(cppValue.currentSubscriptions); + chip::JniReferences::GetInstance().CreateBoxedObject(value_currentSubscriptionsClassName.c_str(), + value_currentSubscriptionsCtorSignature.c_str(), + jnivalue_currentSubscriptions, value_currentSubscriptions); + jobject value_currentSubscriptionsForFabric; + std::string value_currentSubscriptionsForFabricClassName = "java/lang/Integer"; + std::string value_currentSubscriptionsForFabricCtorSignature = "(I)V"; + jint jnivalue_currentSubscriptionsForFabric = static_cast(cppValue.currentSubscriptionsForFabric); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_currentSubscriptionsForFabricClassName.c_str(), value_currentSubscriptionsForFabricCtorSignature.c_str(), + jnivalue_currentSubscriptionsForFabric, value_currentSubscriptionsForFabric); + jobject value_totalSubscriptionsEstablished; + std::string value_totalSubscriptionsEstablishedClassName = "java/lang/Long"; + std::string value_totalSubscriptionsEstablishedCtorSignature = "(J)V"; + jlong jnivalue_totalSubscriptionsEstablished = static_cast(cppValue.totalSubscriptionsEstablished); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_totalSubscriptionsEstablishedClassName.c_str(), value_totalSubscriptionsEstablishedCtorSignature.c_str(), + jnivalue_totalSubscriptionsEstablished, value_totalSubscriptionsEstablished); + jobject value_totalInteractionModelMessagesSent; + std::string value_totalInteractionModelMessagesSentClassName = "java/lang/Long"; + std::string value_totalInteractionModelMessagesSentCtorSignature = "(J)V"; + jlong jnivalue_totalInteractionModelMessagesSent = static_cast(cppValue.totalInteractionModelMessagesSent); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_totalInteractionModelMessagesSentClassName.c_str(), + value_totalInteractionModelMessagesSentCtorSignature.c_str(), jnivalue_totalInteractionModelMessagesSent, + value_totalInteractionModelMessagesSent); + jobject value_totalInteractionModelMessagesReceived; + std::string value_totalInteractionModelMessagesReceivedClassName = "java/lang/Long"; + std::string value_totalInteractionModelMessagesReceivedCtorSignature = "(J)V"; + jlong jnivalue_totalInteractionModelMessagesReceived = + static_cast(cppValue.totalInteractionModelMessagesReceived); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_totalInteractionModelMessagesReceivedClassName.c_str(), + value_totalInteractionModelMessagesReceivedCtorSignature.c_str(), jnivalue_totalInteractionModelMessagesReceived, + value_totalInteractionModelMessagesReceived); + + { + jclass deviceLoadStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$GeneralDiagnosticsClusterDeviceLoadStruct", + deviceLoadStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$GeneralDiagnosticsClusterDeviceLoadStruct"); + return nullptr; + } + + jmethodID deviceLoadStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod( + env, deviceLoadStructStructClass_0, "", + "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;)V", + &deviceLoadStructStructCtor_0); + if (err != CHIP_NO_ERROR || deviceLoadStructStructCtor_0 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$GeneralDiagnosticsClusterDeviceLoadStruct constructor"); + return nullptr; + } + + value = env->NewObject(deviceLoadStructStructClass_0, deviceLoadStructStructCtor_0, value_currentSubscriptions, + value_currentSubscriptionsForFabric, value_totalSubscriptionsEstablished, + value_totalInteractionModelMessagesSent, value_totalInteractionModelMessagesReceived); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; diff --git a/src/controller/python/matter/clusters/CHIPClusters.py b/src/controller/python/matter/clusters/CHIPClusters.py index 15b06bef00fa26..d4814d98a0adcf 100644 --- a/src/controller/python/matter/clusters/CHIPClusters.py +++ b/src/controller/python/matter/clusters/CHIPClusters.py @@ -2129,6 +2129,12 @@ class ChipClusters: "type": "bool", "reportable": True, }, + 0x0000000A: { + "attributeName": "DeviceLoadStatus", + "attributeId": 0x0000000A, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, diff --git a/src/controller/python/matter/clusters/Objects.py b/src/controller/python/matter/clusters/Objects.py index 58e9e5b7ad51bf..102a2f59f555ee 100644 --- a/src/controller/python/matter/clusters/Objects.py +++ b/src/controller/python/matter/clusters/Objects.py @@ -3705,12 +3705,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="serialNumber", Tag=0x0000000F, Type=typing.Optional[str]), ClusterObjectFieldDescriptor(Label="localConfigDisabled", Tag=0x00000010, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="reachable", Tag=0x00000011, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=str), + ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=typing.Optional[str]), ClusterObjectFieldDescriptor(Label="capabilityMinima", Tag=0x00000013, Type=BasicInformation.Structs.CapabilityMinimaStruct), ClusterObjectFieldDescriptor(Label="productAppearance", Tag=0x00000014, Type=typing.Optional[BasicInformation.Structs.ProductAppearanceStruct]), - ClusterObjectFieldDescriptor(Label="specificationVersion", Tag=0x00000015, Type=uint), - ClusterObjectFieldDescriptor(Label="maxPathsPerInvoke", Tag=0x00000016, Type=uint), - ClusterObjectFieldDescriptor(Label="configurationVersion", Tag=0x00000018, Type=uint), + ClusterObjectFieldDescriptor(Label="specificationVersion", Tag=0x00000015, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="maxPathsPerInvoke", Tag=0x00000016, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="configurationVersion", Tag=0x00000018, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -3736,12 +3736,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: serialNumber: typing.Optional[str] = None localConfigDisabled: typing.Optional[bool] = None reachable: typing.Optional[bool] = None - uniqueID: str = "" + uniqueID: typing.Optional[str] = None capabilityMinima: BasicInformation.Structs.CapabilityMinimaStruct = field(default_factory=lambda: BasicInformation.Structs.CapabilityMinimaStruct()) productAppearance: typing.Optional[BasicInformation.Structs.ProductAppearanceStruct] = None - specificationVersion: uint = 0 - maxPathsPerInvoke: uint = 0 - configurationVersion: uint = 0 + specificationVersion: typing.Optional[uint] = None + maxPathsPerInvoke: typing.Optional[uint] = None + configurationVersion: typing.Optional[uint] = None generatedCommandList: typing.List[uint] = field(default_factory=lambda: []) acceptedCommandList: typing.List[uint] = field(default_factory=lambda: []) attributeList: typing.List[uint] = field(default_factory=lambda: []) @@ -4132,9 +4132,9 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: str = "" + value: typing.Optional[str] = None @dataclass class CapabilityMinima(ClusterAttributeDescriptor): @@ -4180,9 +4180,9 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: uint = 0 + value: typing.Optional[uint] = None @dataclass class MaxPathsPerInvoke(ClusterAttributeDescriptor): @@ -4196,9 +4196,9 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: uint = 0 + value: typing.Optional[uint] = None @dataclass class ConfigurationVersion(ClusterAttributeDescriptor): @@ -4212,9 +4212,9 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: uint = 0 + value: typing.Optional[uint] = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @@ -7926,13 +7926,14 @@ def descriptor(cls) -> ClusterObjectDescriptor: Fields=[ ClusterObjectFieldDescriptor(Label="networkInterfaces", Tag=0x00000000, Type=typing.List[GeneralDiagnostics.Structs.NetworkInterface]), ClusterObjectFieldDescriptor(Label="rebootCount", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="upTime", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="upTime", Tag=0x00000002, Type=uint), ClusterObjectFieldDescriptor(Label="totalOperationalHours", Tag=0x00000003, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="bootReason", Tag=0x00000004, Type=typing.Optional[GeneralDiagnostics.Enums.BootReasonEnum]), ClusterObjectFieldDescriptor(Label="activeHardwareFaults", Tag=0x00000005, Type=typing.Optional[typing.List[GeneralDiagnostics.Enums.HardwareFaultEnum]]), ClusterObjectFieldDescriptor(Label="activeRadioFaults", Tag=0x00000006, Type=typing.Optional[typing.List[GeneralDiagnostics.Enums.RadioFaultEnum]]), ClusterObjectFieldDescriptor(Label="activeNetworkFaults", Tag=0x00000007, Type=typing.Optional[typing.List[GeneralDiagnostics.Enums.NetworkFaultEnum]]), ClusterObjectFieldDescriptor(Label="testEventTriggersEnabled", Tag=0x00000008, Type=bool), + ClusterObjectFieldDescriptor(Label="deviceLoadStatus", Tag=0x0000000A, Type=typing.Optional[GeneralDiagnostics.Structs.DeviceLoadStruct]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -7942,13 +7943,14 @@ def descriptor(cls) -> ClusterObjectDescriptor: networkInterfaces: typing.List[GeneralDiagnostics.Structs.NetworkInterface] = field(default_factory=lambda: []) rebootCount: uint = 0 - upTime: typing.Optional[uint] = None + upTime: uint = 0 totalOperationalHours: typing.Optional[uint] = None bootReason: typing.Optional[GeneralDiagnostics.Enums.BootReasonEnum] = None activeHardwareFaults: typing.Optional[typing.List[GeneralDiagnostics.Enums.HardwareFaultEnum]] = None activeRadioFaults: typing.Optional[typing.List[GeneralDiagnostics.Enums.RadioFaultEnum]] = None activeNetworkFaults: typing.Optional[typing.List[GeneralDiagnostics.Enums.NetworkFaultEnum]] = None testEventTriggersEnabled: bool = False + deviceLoadStatus: typing.Optional[GeneralDiagnostics.Structs.DeviceLoadStruct] = None generatedCommandList: typing.List[uint] = field(default_factory=lambda: []) acceptedCommandList: typing.List[uint] = field(default_factory=lambda: []) attributeList: typing.List[uint] = field(default_factory=lambda: []) @@ -8028,8 +8030,28 @@ class RadioFaultEnum(MatterIntEnum): class Bitmaps: class Feature(IntFlag): kDataModelTest = 0x1 + kDeviceLoad = 0x2 class Structs: + @dataclass + class DeviceLoadStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="currentSubscriptions", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="currentSubscriptionsForFabric", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="totalSubscriptionsEstablished", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="totalInteractionModelMessagesSent", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="totalInteractionModelMessagesReceived", Tag=4, Type=uint), + ]) + + currentSubscriptions: 'uint' = 0 + currentSubscriptionsForFabric: 'uint' = 0 + totalSubscriptionsEstablished: 'uint' = 0 + totalInteractionModelMessagesSent: 'uint' = 0 + totalInteractionModelMessagesReceived: 'uint' = 0 + @dataclass class NetworkInterface(ClusterObject): @ChipUtility.classproperty @@ -8186,9 +8208,9 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: typing.Optional[uint] = None + value: uint = 0 @dataclass class TotalOperationalHours(ClusterAttributeDescriptor): @@ -8286,6 +8308,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: bool = False + @dataclass + class DeviceLoadStatus(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000033 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000A + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[GeneralDiagnostics.Structs.DeviceLoadStruct]) + + value: typing.Optional[GeneralDiagnostics.Structs.DeviceLoadStruct] = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11607,7 +11645,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="productLabel", Tag=0x0000000E, Type=typing.Optional[str]), ClusterObjectFieldDescriptor(Label="serialNumber", Tag=0x0000000F, Type=typing.Optional[str]), ClusterObjectFieldDescriptor(Label="reachable", Tag=0x00000011, Type=bool), - ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=str), + ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=typing.Optional[str]), ClusterObjectFieldDescriptor(Label="productAppearance", Tag=0x00000014, Type=typing.Optional[BridgedDeviceBasicInformation.Structs.ProductAppearanceStruct]), ClusterObjectFieldDescriptor(Label="configurationVersion", Tag=0x00000018, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), @@ -11632,7 +11670,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: productLabel: typing.Optional[str] = None serialNumber: typing.Optional[str] = None reachable: bool = False - uniqueID: str = "" + uniqueID: typing.Optional[str] = None productAppearance: typing.Optional[BridgedDeviceBasicInformation.Structs.ProductAppearanceStruct] = None configurationVersion: typing.Optional[uint] = None generatedCommandList: typing.List[uint] = field(default_factory=lambda: []) @@ -11973,9 +12011,9 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: str = "" + value: typing.Optional[str] = None @dataclass class ProductAppearance(ClusterAttributeDescriptor): diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm index ac3c4257420f5e..69d2aee29ddeb9 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm @@ -950,6 +950,9 @@ static BOOL AttributeIsSpecifiedInGeneralDiagnosticsCluster(AttributeId aAttribu case Attributes::TestEventTriggersEnabled::Id: { return YES; } + case Attributes::DeviceLoadStatus::Id: { + return YES; + } case Attributes::GeneratedCommandList::Id: { return YES; } diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm index 886a072ea4b841..201d244aee429b 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm @@ -2904,6 +2904,22 @@ static id _Nullable DecodeAttributeValueForGeneralDiagnosticsCluster(AttributeId value = [NSNumber numberWithBool:cppValue]; return value; } + case Attributes::DeviceLoadStatus::Id: { + using TypeInfo = Attributes::DeviceLoadStatus::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + MTRGeneralDiagnosticsClusterDeviceLoadStruct * _Nonnull value; + value = [MTRGeneralDiagnosticsClusterDeviceLoadStruct new]; + value.currentSubscriptions = [NSNumber numberWithUnsignedShort:cppValue.currentSubscriptions]; + value.currentSubscriptionsForFabric = [NSNumber numberWithUnsignedShort:cppValue.currentSubscriptionsForFabric]; + value.totalSubscriptionsEstablished = [NSNumber numberWithUnsignedInt:cppValue.totalSubscriptionsEstablished]; + value.totalInteractionModelMessagesSent = [NSNumber numberWithUnsignedInt:cppValue.totalInteractionModelMessagesSent]; + value.totalInteractionModelMessagesReceived = [NSNumber numberWithUnsignedInt:cppValue.totalInteractionModelMessagesReceived]; + return value; + } default: { // Not a known GeneralDiagnostics attribute. break; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index 4ed25245b101d3..5720afc102c05d 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -2324,13 +2324,13 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) /** * Command TestEventTrigger * - * Provide a means for certification tests to trigger some test-plan-specific events + * This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases. */ - (void)testEventTriggerWithParams:(MTRGeneralDiagnosticsClusterTestEventTriggerParams *)params completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Command TimeSnapshot * - * Take a snapshot of system time and epoch time. + * This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. */ - (void)timeSnapshotWithParams:(MTRGeneralDiagnosticsClusterTimeSnapshotParams * _Nullable)params completion:(void (^)(MTRGeneralDiagnosticsClusterTimeSnapshotResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(18.4), macos(15.4), watchos(11.4), tvos(18.4)); - (void)timeSnapshotWithCompletion:(void (^)(MTRGeneralDiagnosticsClusterTimeSnapshotResponseParams * _Nullable data, NSError * _Nullable error))completion @@ -2338,7 +2338,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) /** * Command PayloadTestRequest * - * Request a variable length payload response. + * This command provides a means for certification tests or manufacturer's internal tests to validate particular command handling and encoding constraints by generating a response of a given size. */ - (void)payloadTestRequestWithParams:(MTRGeneralDiagnosticsClusterPayloadTestRequestParams *)params completion:(void (^)(MTRGeneralDiagnosticsClusterPayloadTestResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(18.4), macos(15.4), watchos(11.4), tvos(18.4)); @@ -2396,6 +2396,12 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + (void)readAttributeTestEventTriggersEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +- (void)readAttributeDeviceLoadStatusWithCompletion:(void (^)(MTRGeneralDiagnosticsClusterDeviceLoadStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeDeviceLoadStatusWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRGeneralDiagnosticsClusterDeviceLoadStruct * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeDeviceLoadStatusWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRGeneralDiagnosticsClusterDeviceLoadStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + - (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished @@ -18786,6 +18792,7 @@ typedef NS_ENUM(uint8_t, MTRGeneralDiagnosticsRadioFaultType) { typedef NS_OPTIONS(uint32_t, MTRGeneralDiagnosticsFeature) { MTRGeneralDiagnosticsFeatureDataModelTest MTR_AVAILABLE(ios(18.4), macos(15.4), watchos(11.4), tvos(18.4)) = 0x1, + MTRGeneralDiagnosticsFeatureDeviceLoad MTR_PROVISIONALLY_AVAILABLE = 0x2, } MTR_AVAILABLE(ios(18.4), macos(15.4), watchos(11.4), tvos(18.4)); typedef NS_OPTIONS(uint32_t, MTRSoftwareDiagnosticsFeature) { diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm index 818ebb55601291..518b0ce6110842 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm @@ -19022,6 +19022,42 @@ + (void)readAttributeTestEventTriggersEnabledWithClusterStateCache:(MTRClusterSt completion:completion]; } +- (void)readAttributeDeviceLoadStatusWithCompletion:(void (^)(MTRGeneralDiagnosticsClusterDeviceLoadStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = GeneralDiagnostics::Attributes::DeviceLoadStatus::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeDeviceLoadStatusWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRGeneralDiagnosticsClusterDeviceLoadStruct * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = GeneralDiagnostics::Attributes::DeviceLoadStatus::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeDeviceLoadStatusWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRGeneralDiagnosticsClusterDeviceLoadStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = GeneralDiagnostics::Attributes::DeviceLoadStatus::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + - (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = GeneralDiagnostics::Attributes::GeneratedCommandList::TypeInfo; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h index 194e5c8420de72..075e2cc276997c 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h @@ -1257,6 +1257,7 @@ typedef NS_ENUM(uint32_t, MTRAttributeIDType) { MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeActiveRadioFaultsID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000006, MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeActiveNetworkFaultsID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000007, MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeTestEventTriggersEnabledID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000008, + MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeDeviceLoadStatusID MTR_PROVISIONALLY_AVAILABLE = 0x0000000A, MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeGeneratedCommandListID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID, MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeAcceptedCommandListID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID, MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeAttributeListID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = MTRAttributeIDTypeGlobalAttributeAttributeListID, diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm index bf3735072faada..73c4c4e33081b1 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm @@ -1664,6 +1664,10 @@ result = @"TestEventTriggersEnabled"; break; + case MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeDeviceLoadStatusID: + result = @"DeviceLoadStatus"; + break; + case MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeGeneratedCommandListID: result = @"GeneratedCommandList"; break; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h index 9f91d5754226e9..f4cfc82b9d8bf5 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h @@ -1137,6 +1137,8 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) - (NSDictionary * _Nullable)readAttributeTestEventTriggersEnabledWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +- (NSDictionary * _Nullable)readAttributeDeviceLoadStatusWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + - (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm index f1d7111d0f9fe2..af7d4f69cdd41b 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm @@ -3671,6 +3671,11 @@ - (void)payloadTestRequestWithParams:(MTRGeneralDiagnosticsClusterPayloadTestReq return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeGeneralDiagnosticsID) attributeID:@(MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeTestEventTriggersEnabledID) params:params]; } +- (NSDictionary * _Nullable)readAttributeDeviceLoadStatusWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeGeneralDiagnosticsID) attributeID:@(MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeDeviceLoadStatusID) params:params]; +} + - (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeGeneralDiagnosticsID) attributeID:@(MTRAttributeIDTypeClusterGeneralDiagnosticsAttributeGeneratedCommandListID) params:params]; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h index 6755f64644d296..b29d3229cbdace 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h @@ -488,6 +488,15 @@ MTR_DEPRECATED("Please use MTRNetworkCommissioningClusterWiFiInterfaceScanResult @property (nonatomic, copy) NSNumber * _Nonnull rssi MTR_DEPRECATED("Please use MTRNetworkCommissioningClusterWiFiInterfaceScanResultStruct", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0)); @end +MTR_PROVISIONALLY_AVAILABLE +@interface MTRGeneralDiagnosticsClusterDeviceLoadStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull currentSubscriptions MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull currentSubscriptionsForFabric MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull totalSubscriptionsEstablished MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull totalInteractionModelMessagesSent MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull totalInteractionModelMessagesReceived MTR_PROVISIONALLY_AVAILABLE; +@end + MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRGeneralDiagnosticsClusterNetworkInterface : NSObject @property (nonatomic, copy) NSString * _Nonnull name MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm index f9d5d654aa824a..641b97be7c3558 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm @@ -1786,6 +1786,45 @@ @implementation MTRNetworkCommissioningClusterWiFiInterfaceScanResult : MTRNetwo @dynamic rssi; @end +@implementation MTRGeneralDiagnosticsClusterDeviceLoadStruct +- (instancetype)init +{ + if (self = [super init]) { + + _currentSubscriptions = @(0); + + _currentSubscriptionsForFabric = @(0); + + _totalSubscriptionsEstablished = @(0); + + _totalInteractionModelMessagesSent = @(0); + + _totalInteractionModelMessagesReceived = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRGeneralDiagnosticsClusterDeviceLoadStruct alloc] init]; + + other.currentSubscriptions = self.currentSubscriptions; + other.currentSubscriptionsForFabric = self.currentSubscriptionsForFabric; + other.totalSubscriptionsEstablished = self.totalSubscriptionsEstablished; + other.totalInteractionModelMessagesSent = self.totalInteractionModelMessagesSent; + other.totalInteractionModelMessagesReceived = self.totalInteractionModelMessagesReceived; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: currentSubscriptions:%@; currentSubscriptionsForFabric:%@; totalSubscriptionsEstablished:%@; totalInteractionModelMessagesSent:%@; totalInteractionModelMessagesReceived:%@; >", NSStringFromClass([self class]), _currentSubscriptions, _currentSubscriptionsForFabric, _totalSubscriptionsEstablished, _totalInteractionModelMessagesSent, _totalInteractionModelMessagesReceived]; + return descriptionString; +} + +@end + @implementation MTRGeneralDiagnosticsClusterNetworkInterface - (instancetype)init { diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp index 8139bb0153103c..e5fdca7c99b9bb 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp @@ -4930,6 +4930,58 @@ Protocols::InteractionModel::Status Set(EndpointId endpoint, bool value) } // namespace TestEventTriggersEnabled +#error Attribute "DeviceLoadStatus" in cluster "General Diagnostics" is struct-typed and must be added to the attributeAccessInterfaceAttributes object in src/app/zap-templates/zcl/zcl.json and src/app/zap-templates/zcl/zcl-with-test-extensions.json +namespace DeviceLoadStatus { + +Protocols::InteractionModel::Status Get(EndpointId endpoint, + chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(EndpointId endpoint, + chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type value, + MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(ConcreteAttributePath(endpoint, Clusters::GeneralDiagnostics::Id, Id), + EmberAfWriteDataInput(writable, ZCL__ATTRIBUTE_TYPE).SetMarkDirty(markDirty)); +} + +Protocols::InteractionModel::Status Set(EndpointId endpoint, + chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL__ATTRIBUTE_TYPE); +} + +} // namespace DeviceLoadStatus + } // namespace Attributes } // namespace GeneralDiagnostics diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h index 9c8f43161e3c87..a509f52de8e6e1 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h @@ -782,6 +782,16 @@ Protocols::InteractionModel::Status Set(EndpointId endpoint, bool value); Protocols::InteractionModel::Status Set(EndpointId endpoint, bool value, MarkAttributeDirty markDirty); } // namespace TestEventTriggersEnabled +namespace DeviceLoadStatus { +Protocols::InteractionModel::Status +Get(EndpointId endpoint, chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type * value); // DeviceLoadStruct +Protocols::InteractionModel::Status Set(EndpointId endpoint, + chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type value); +Protocols::InteractionModel::Status Set(EndpointId endpoint, + chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type value, + MarkAttributeDirty markDirty); +} // namespace DeviceLoadStatus + } // namespace Attributes } // namespace GeneralDiagnostics diff --git a/zzz_generated/app-common/clusters/BasicInformation/Metadata.h b/zzz_generated/app-common/clusters/BasicInformation/Metadata.h index 8aa976d3e02980..9846ee0ffb6014 100644 --- a/zzz_generated/app-common/clusters/BasicInformation/Metadata.h +++ b/zzz_generated/app-common/clusters/BasicInformation/Metadata.h @@ -117,7 +117,7 @@ namespace ConfigurationVersion { inline constexpr DataModel::AttributeEntry kMetadataEntry(ConfigurationVersion::Id, BitFlags(), Access::Privilege::kView, std::nullopt); } // namespace ConfigurationVersion -constexpr std::array kMandatoryMetadata = { +constexpr std::array kMandatoryMetadata = { DataModelRevision::kMetadataEntry, VendorName::kMetadataEntry, VendorID::kMetadataEntry, @@ -129,11 +129,7 @@ constexpr std::array kMandatoryMetadata = { HardwareVersionString::kMetadataEntry, SoftwareVersion::kMetadataEntry, SoftwareVersionString::kMetadataEntry, - UniqueID::kMetadataEntry, CapabilityMinima::kMetadataEntry, - SpecificationVersion::kMetadataEntry, - MaxPathsPerInvoke::kMetadataEntry, - ConfigurationVersion::kMetadataEntry, }; diff --git a/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/Metadata.h b/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/Metadata.h index cb2e14fc196d8b..97d22aa381870b 100644 --- a/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/Metadata.h +++ b/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/Metadata.h @@ -93,9 +93,8 @@ namespace ConfigurationVersion { inline constexpr DataModel::AttributeEntry kMetadataEntry(ConfigurationVersion::Id, BitFlags(), Access::Privilege::kView, std::nullopt); } // namespace ConfigurationVersion -constexpr std::array kMandatoryMetadata = { +constexpr std::array kMandatoryMetadata = { Reachable::kMetadataEntry, - UniqueID::kMetadataEntry, }; diff --git a/zzz_generated/app-common/clusters/GeneralDiagnostics/AttributeIds.h b/zzz_generated/app-common/clusters/GeneralDiagnostics/AttributeIds.h index 108743064210b9..3d9a841ef6fc91 100644 --- a/zzz_generated/app-common/clusters/GeneralDiagnostics/AttributeIds.h +++ b/zzz_generated/app-common/clusters/GeneralDiagnostics/AttributeIds.h @@ -14,7 +14,7 @@ namespace GeneralDiagnostics { namespace Attributes { // Total number of attributes supported by the cluster, including global attributes -inline constexpr uint32_t kAttributesCount = 14; +inline constexpr uint32_t kAttributesCount = 15; namespace NetworkInterfaces { inline constexpr AttributeId Id = 0x00000000; @@ -52,6 +52,10 @@ namespace TestEventTriggersEnabled { inline constexpr AttributeId Id = 0x00000008; } // namespace TestEventTriggersEnabled +namespace DeviceLoadStatus { +inline constexpr AttributeId Id = 0x0000000A; +} // namespace DeviceLoadStatus + namespace GeneratedCommandList { inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList diff --git a/zzz_generated/app-common/clusters/GeneralDiagnostics/Attributes.h b/zzz_generated/app-common/clusters/GeneralDiagnostics/Attributes.h index 8389a29e10e9ae..2123c6dcab360d 100644 --- a/zzz_generated/app-common/clusters/GeneralDiagnostics/Attributes.h +++ b/zzz_generated/app-common/clusters/GeneralDiagnostics/Attributes.h @@ -154,6 +154,18 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace TestEventTriggersEnabled +namespace DeviceLoadStatus { +struct TypeInfo +{ + using Type = chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type; + using DecodableType = chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::DecodableType &; + + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DeviceLoadStatus::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace DeviceLoadStatus namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -203,6 +215,7 @@ struct TypeInfo Attributes::ActiveRadioFaults::TypeInfo::DecodableType activeRadioFaults; Attributes::ActiveNetworkFaults::TypeInfo::DecodableType activeNetworkFaults; Attributes::TestEventTriggersEnabled::TypeInfo::DecodableType testEventTriggersEnabled = static_cast(0); + Attributes::DeviceLoadStatus::TypeInfo::DecodableType deviceLoadStatus; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; diff --git a/zzz_generated/app-common/clusters/GeneralDiagnostics/Attributes.ipp b/zzz_generated/app-common/clusters/GeneralDiagnostics/Attributes.ipp index cc947c5ff5e66b..b861bf42322a28 100644 --- a/zzz_generated/app-common/clusters/GeneralDiagnostics/Attributes.ipp +++ b/zzz_generated/app-common/clusters/GeneralDiagnostics/Attributes.ipp @@ -50,6 +50,8 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre return DataModel::Decode(reader, activeNetworkFaults); case Attributes::TestEventTriggersEnabled::TypeInfo::GetAttributeId(): return DataModel::Decode(reader, testEventTriggersEnabled); + case Attributes::DeviceLoadStatus::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, deviceLoadStatus); case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): return DataModel::Decode(reader, generatedCommandList); case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): diff --git a/zzz_generated/app-common/clusters/GeneralDiagnostics/Enums.h b/zzz_generated/app-common/clusters/GeneralDiagnostics/Enums.h index 39b45b368412fb..5243ace6819b1e 100644 --- a/zzz_generated/app-common/clusters/GeneralDiagnostics/Enums.h +++ b/zzz_generated/app-common/clusters/GeneralDiagnostics/Enums.h @@ -116,6 +116,7 @@ enum class RadioFaultEnum : uint8_t enum class Feature : uint32_t { kDataModelTest = 0x1, + kDeviceLoad = 0x2, }; } // namespace GeneralDiagnostics } // namespace Clusters diff --git a/zzz_generated/app-common/clusters/GeneralDiagnostics/Metadata.h b/zzz_generated/app-common/clusters/GeneralDiagnostics/Metadata.h index 81e1b45492a311..b221a7a3dc4f5d 100644 --- a/zzz_generated/app-common/clusters/GeneralDiagnostics/Metadata.h +++ b/zzz_generated/app-common/clusters/GeneralDiagnostics/Metadata.h @@ -17,7 +17,7 @@ namespace app { namespace Clusters { namespace GeneralDiagnostics { -inline constexpr uint32_t kRevision = 2; +inline constexpr uint32_t kRevision = 3; namespace Attributes { @@ -66,9 +66,14 @@ inline constexpr DataModel::AttributeEntry kMetadataEntry(TestEventTriggersEnabl BitFlags(), Access::Privilege::kView, std::nullopt); } // namespace TestEventTriggersEnabled -constexpr std::array kMandatoryMetadata = { +namespace DeviceLoadStatus { +inline constexpr DataModel::AttributeEntry kMetadataEntry(DeviceLoadStatus::Id, BitFlags(), + Access::Privilege::kView, std::nullopt); +} // namespace DeviceLoadStatus +constexpr std::array kMandatoryMetadata = { NetworkInterfaces::kMetadataEntry, RebootCount::kMetadataEntry, + UpTime::kMetadataEntry, TestEventTriggersEnabled::kMetadataEntry, }; diff --git a/zzz_generated/app-common/clusters/GeneralDiagnostics/MetadataProvider.h b/zzz_generated/app-common/clusters/GeneralDiagnostics/MetadataProvider.h index b76cfd6ecfcc66..d9b22f9bb2e509 100644 --- a/zzz_generated/app-common/clusters/GeneralDiagnostics/MetadataProvider.h +++ b/zzz_generated/app-common/clusters/GeneralDiagnostics/MetadataProvider.h @@ -41,6 +41,8 @@ struct ClusterMetadataProvider(0); + uint16_t currentSubscriptionsForFabric = static_cast(0); + uint32_t totalSubscriptionsEstablished = static_cast(0); + uint32_t totalInteractionModelMessagesSent = static_cast(0); + uint32_t totalInteractionModelMessagesReceived = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace DeviceLoadStruct namespace NetworkInterface { enum class Fields : uint8_t { diff --git a/zzz_generated/app-common/clusters/GeneralDiagnostics/Structs.ipp b/zzz_generated/app-common/clusters/GeneralDiagnostics/Structs.ipp index 18cf60aefcd4f5..de7449523cf25b 100644 --- a/zzz_generated/app-common/clusters/GeneralDiagnostics/Structs.ipp +++ b/zzz_generated/app-common/clusters/GeneralDiagnostics/Structs.ipp @@ -29,6 +29,55 @@ namespace Clusters { namespace GeneralDiagnostics { namespace Structs { +namespace DeviceLoadStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kCurrentSubscriptions), currentSubscriptions); + encoder.Encode(to_underlying(Fields::kCurrentSubscriptionsForFabric), currentSubscriptionsForFabric); + encoder.Encode(to_underlying(Fields::kTotalSubscriptionsEstablished), totalSubscriptionsEstablished); + encoder.Encode(to_underlying(Fields::kTotalInteractionModelMessagesSent), totalInteractionModelMessagesSent); + encoder.Encode(to_underlying(Fields::kTotalInteractionModelMessagesReceived), totalInteractionModelMessagesReceived); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + uint8_t __context_tag = 0; + CHIP_ERROR err = __iterator.Next(__context_tag); + VerifyOrReturnError(err != CHIP_ERROR_END_OF_TLV, CHIP_NO_ERROR); + ReturnErrorOnFailure(err); + + if (__context_tag == to_underlying(Fields::kCurrentSubscriptions)) + { + err = DataModel::Decode(reader, currentSubscriptions); + } + else if (__context_tag == to_underlying(Fields::kCurrentSubscriptionsForFabric)) + { + err = DataModel::Decode(reader, currentSubscriptionsForFabric); + } + else if (__context_tag == to_underlying(Fields::kTotalSubscriptionsEstablished)) + { + err = DataModel::Decode(reader, totalSubscriptionsEstablished); + } + else if (__context_tag == to_underlying(Fields::kTotalInteractionModelMessagesSent)) + { + err = DataModel::Decode(reader, totalInteractionModelMessagesSent); + } + else if (__context_tag == to_underlying(Fields::kTotalInteractionModelMessagesReceived)) + { + err = DataModel::Decode(reader, totalInteractionModelMessagesReceived); + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace DeviceLoadStruct + namespace NetworkInterface { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index eea2cd614b16cc..b41df167e01c0c 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -2761,6 +2761,7 @@ class DiagnosticLogsRetrieveLogsRequest : public ClusterCommand | * ActiveRadioFaults | 0x0006 | | * ActiveNetworkFaults | 0x0007 | | * TestEventTriggersEnabled | 0x0008 | +| * DeviceLoadStatus | 0x000A | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -21027,6 +21028,7 @@ void registerClusterGeneralDiagnostics(Commands & commands, CredentialIssuerComm make_unique(Id, "active-network-faults", Attributes::ActiveNetworkFaults::Id, credsIssuerConfig), // make_unique(Id, "test-event-triggers-enabled", Attributes::TestEventTriggersEnabled::Id, credsIssuerConfig), // + make_unique(Id, "device-load-status", Attributes::DeviceLoadStatus::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -21056,6 +21058,8 @@ void registerClusterGeneralDiagnostics(Commands & commands, CredentialIssuerComm Id, "active-network-faults", Attributes::ActiveNetworkFaults::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "test-event-triggers-enabled", 0, 1, Attributes::TestEventTriggersEnabled::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "device-load-status", Attributes::DeviceLoadStatus::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -21078,6 +21082,7 @@ void registerClusterGeneralDiagnostics(Commands & commands, CredentialIssuerComm make_unique(Id, "active-network-faults", Attributes::ActiveNetworkFaults::Id, credsIssuerConfig), // make_unique(Id, "test-event-triggers-enabled", Attributes::TestEventTriggersEnabled::Id, credsIssuerConfig), // + make_unique(Id, "device-load-status", Attributes::DeviceLoadStatus::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp index d16ff18e109a89..38f9270d334241 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp @@ -1776,6 +1776,68 @@ void ComplexArgumentParser::Finalize( ComplexArgumentParser::Finalize(request.rssi); } +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DeviceLoadStruct.currentSubscriptions", "currentSubscriptions", + value.isMember("currentSubscriptions"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DeviceLoadStruct.currentSubscriptionsForFabric", + "currentSubscriptionsForFabric", + value.isMember("currentSubscriptionsForFabric"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DeviceLoadStruct.totalSubscriptionsEstablished", + "totalSubscriptionsEstablished", + value.isMember("totalSubscriptionsEstablished"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DeviceLoadStruct.totalInteractionModelMessagesSent", + "totalInteractionModelMessagesSent", + value.isMember("totalInteractionModelMessagesSent"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DeviceLoadStruct.totalInteractionModelMessagesReceived", + "totalInteractionModelMessagesReceived", + value.isMember("totalInteractionModelMessagesReceived"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "currentSubscriptions"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.currentSubscriptions, value["currentSubscriptions"])); + valueCopy.removeMember("currentSubscriptions"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "currentSubscriptionsForFabric"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.currentSubscriptionsForFabric, + value["currentSubscriptionsForFabric"])); + valueCopy.removeMember("currentSubscriptionsForFabric"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "totalSubscriptionsEstablished"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.totalSubscriptionsEstablished, + value["totalSubscriptionsEstablished"])); + valueCopy.removeMember("totalSubscriptionsEstablished"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "totalInteractionModelMessagesSent"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.totalInteractionModelMessagesSent, + value["totalInteractionModelMessagesSent"])); + valueCopy.removeMember("totalInteractionModelMessagesSent"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "totalInteractionModelMessagesReceived"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.totalInteractionModelMessagesReceived, + value["totalInteractionModelMessagesReceived"])); + valueCopy.removeMember("totalInteractionModelMessagesReceived"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.currentSubscriptions); + ComplexArgumentParser::Finalize(request.currentSubscriptionsForFabric); + ComplexArgumentParser::Finalize(request.totalSubscriptionsEstablished); + ComplexArgumentParser::Finalize(request.totalInteractionModelMessagesSent); + ComplexArgumentParser::Finalize(request.totalInteractionModelMessagesReceived); +} + CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterface::Type & request, Json::Value & value) diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h index 26f0d9c4edee5b..f38b9401d4e294 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h @@ -228,6 +228,11 @@ static CHIP_ERROR Setup(const char * label, static void Finalize(chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResultStruct::Type & request); +static CHIP_ERROR Setup(const char * label, chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::Type & request); + static CHIP_ERROR Setup(const char * label, chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterface::Type & request, Json::Value & value); diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp index d9f05f64032c9b..d5a41137a1ae21 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -1571,6 +1571,57 @@ CHIP_ERROR DataModelLogger::LogValue( return CHIP_NO_ERROR; } +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("CurrentSubscriptions", indent + 1, value.currentSubscriptions); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CurrentSubscriptions'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("CurrentSubscriptionsForFabric", indent + 1, value.currentSubscriptionsForFabric); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CurrentSubscriptionsForFabric'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("TotalSubscriptionsEstablished", indent + 1, value.totalSubscriptionsEstablished); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'TotalSubscriptionsEstablished'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("TotalInteractionModelMessagesSent", indent + 1, value.totalInteractionModelMessagesSent); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'TotalInteractionModelMessagesSent'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("TotalInteractionModelMessagesReceived", indent + 1, value.totalInteractionModelMessagesReceived); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, + "Struct truncated due to invalid value for 'TotalInteractionModelMessagesReceived'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterface::DecodableType & value) @@ -13913,6 +13964,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("TestEventTriggersEnabled", 1, value); } + case GeneralDiagnostics::Attributes::DeviceLoadStatus::Id: { + chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DeviceLoadStatus", 1, value); + } case GeneralDiagnostics::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h index 658d7d69b8a880..2768a901d6a16d 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h @@ -143,6 +143,9 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResultStruct::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::GeneralDiagnostics::Structs::DeviceLoadStruct::DecodableType & value); + static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterface::DecodableType & value); diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp index dc0702df054400..57dc83b34c20b2 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp @@ -941,6 +941,8 @@ char const * AttributeIdToText(chip::ClusterId cluster, chip::AttributeId id) return "ActiveNetworkFaults"; case chip::app::Clusters::GeneralDiagnostics::Attributes::TestEventTriggersEnabled::Id: return "TestEventTriggersEnabled"; + case chip::app::Clusters::GeneralDiagnostics::Attributes::DeviceLoadStatus::Id: + return "DeviceLoadStatus"; case chip::app::Clusters::GeneralDiagnostics::Attributes::GeneratedCommandList::Id: return "GeneratedCommandList"; case chip::app::Clusters::GeneralDiagnostics::Attributes::AcceptedCommandList::Id: diff --git a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h index 912b53e6aff389..5a7c96a8c13262 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h @@ -23846,6 +23846,7 @@ class SubscribeAttributeDiagnosticLogsClusterRevision : public SubscribeAttribut | * ActiveRadioFaults | 0x0006 | | * ActiveNetworkFaults | 0x0007 | | * TestEventTriggersEnabled | 0x0008 | +| * DeviceLoadStatus | 0x000A | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -24753,6 +24754,92 @@ class SubscribeAttributeGeneralDiagnosticsTestEventTriggersEnabled : public Subs } }; +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute DeviceLoadStatus + */ +class ReadGeneralDiagnosticsDeviceLoadStatus : public ReadAttribute { +public: + ReadGeneralDiagnosticsDeviceLoadStatus() + : ReadAttribute("device-load-status") + { + } + + ~ReadGeneralDiagnosticsDeviceLoadStatus() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::GeneralDiagnostics::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::GeneralDiagnostics::Attributes::DeviceLoadStatus::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL); + __auto_type * cluster = [[MTRBaseClusterGeneralDiagnostics alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeDeviceLoadStatusWithCompletion:^(MTRGeneralDiagnosticsClusterDeviceLoadStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"GeneralDiagnostics.DeviceLoadStatus response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("GeneralDiagnostics DeviceLoadStatus read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeGeneralDiagnosticsDeviceLoadStatus : public SubscribeAttribute { +public: + SubscribeAttributeGeneralDiagnosticsDeviceLoadStatus() + : SubscribeAttribute("device-load-status") + { + } + + ~SubscribeAttributeGeneralDiagnosticsDeviceLoadStatus() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::GeneralDiagnostics::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::GeneralDiagnostics::Attributes::DeviceLoadStatus::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL); + __auto_type * cluster = [[MTRBaseClusterGeneralDiagnostics alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeDeviceLoadStatusWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(MTRGeneralDiagnosticsClusterDeviceLoadStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"GeneralDiagnostics.DeviceLoadStatus response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL + /* * Attribute GeneratedCommandList */ @@ -192741,6 +192828,10 @@ void registerClusterGeneralDiagnostics(Commands & commands) make_unique(), // make_unique(), // make_unique(), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL make_unique(), // make_unique(), // make_unique(), //