Add constants for number of attributes and commands (#40234)

* jinja updates to add size constants

* Code regen

* Update comment and ReturnErrorOnFailure statement

* Code regen

* Update comments describing command counts

* Code regen
diff --git a/scripts/py_matter_idl/matter/idl/generators/cpp/sdk/AttributeIds.h.jinja b/scripts/py_matter_idl/matter/idl/generators/cpp/sdk/AttributeIds.h.jinja
index 72d33f6..400e2a5 100644
--- a/scripts/py_matter_idl/matter/idl/generators/cpp/sdk/AttributeIds.h.jinja
+++ b/scripts/py_matter_idl/matter/idl/generators/cpp/sdk/AttributeIds.h.jinja
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace {{cluster.name}} {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = {{cluster.attributes|length}};
+
 {% for attribute in cluster.attributes -%}
 namespace {{attribute.definition.name | name_for_id_usage}} {
    {%- if attribute is global_attribute %}
diff --git a/scripts/py_matter_idl/matter/idl/generators/cpp/sdk/CommandIds.h.jinja b/scripts/py_matter_idl/matter/idl/generators/cpp/sdk/CommandIds.h.jinja
index d073b7e..bb50ecb 100644
--- a/scripts/py_matter_idl/matter/idl/generators/cpp/sdk/CommandIds.h.jinja
+++ b/scripts/py_matter_idl/matter/idl/generators/cpp/sdk/CommandIds.h.jinja
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace {{cluster.name}} {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = {{cluster.commands|length}}; 
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = {{cluster.structs|select("response_struct")|list|length}};
+
 {% for command in cluster.commands -%}
 namespace {{command.name | name_for_id_usage}} {
 inline constexpr CommandId Id = {{ "0x%08X" | format(command.code)}};
diff --git a/zzz_generated/app-common/clusters/AccessControl/AttributeIds.h b/zzz_generated/app-common/clusters/AccessControl/AttributeIds.h
index d779cd5..b54ff2c 100644
--- a/zzz_generated/app-common/clusters/AccessControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/AccessControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace AccessControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 12;
+
 namespace Acl {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Acl
diff --git a/zzz_generated/app-common/clusters/AccessControl/CommandIds.h b/zzz_generated/app-common/clusters/AccessControl/CommandIds.h
index bea37e2..32bde50 100644
--- a/zzz_generated/app-common/clusters/AccessControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/AccessControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace AccessControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ReviewFabricRestrictions {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ReviewFabricRestrictions
diff --git a/zzz_generated/app-common/clusters/AccountLogin/AttributeIds.h b/zzz_generated/app-common/clusters/AccountLogin/AttributeIds.h
index 08aea02..d37038d 100644
--- a/zzz_generated/app-common/clusters/AccountLogin/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/AccountLogin/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace AccountLogin {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/AccountLogin/CommandIds.h b/zzz_generated/app-common/clusters/AccountLogin/CommandIds.h
index ca32fad..c08cd89 100644
--- a/zzz_generated/app-common/clusters/AccountLogin/CommandIds.h
+++ b/zzz_generated/app-common/clusters/AccountLogin/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace AccountLogin {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace GetSetupPIN {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace GetSetupPIN
diff --git a/zzz_generated/app-common/clusters/Actions/AttributeIds.h b/zzz_generated/app-common/clusters/Actions/AttributeIds.h
index 017ab19..ce8ecf0 100644
--- a/zzz_generated/app-common/clusters/Actions/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Actions/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Actions {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace ActionList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace ActionList
diff --git a/zzz_generated/app-common/clusters/Actions/CommandIds.h b/zzz_generated/app-common/clusters/Actions/CommandIds.h
index c1c8c78..b2bf0cc 100644
--- a/zzz_generated/app-common/clusters/Actions/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Actions/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace Actions {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 12;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace InstantAction {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace InstantAction
diff --git a/zzz_generated/app-common/clusters/ActivatedCarbonFilterMonitoring/AttributeIds.h b/zzz_generated/app-common/clusters/ActivatedCarbonFilterMonitoring/AttributeIds.h
index 7c7991b..c302bed 100644
--- a/zzz_generated/app-common/clusters/ActivatedCarbonFilterMonitoring/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ActivatedCarbonFilterMonitoring/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ActivatedCarbonFilterMonitoring {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace Condition {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Condition
diff --git a/zzz_generated/app-common/clusters/ActivatedCarbonFilterMonitoring/CommandIds.h b/zzz_generated/app-common/clusters/ActivatedCarbonFilterMonitoring/CommandIds.h
index 3f6615b..7f248c7 100644
--- a/zzz_generated/app-common/clusters/ActivatedCarbonFilterMonitoring/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ActivatedCarbonFilterMonitoring/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ActivatedCarbonFilterMonitoring {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace ResetCondition {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ResetCondition
diff --git a/zzz_generated/app-common/clusters/AdministratorCommissioning/AttributeIds.h b/zzz_generated/app-common/clusters/AdministratorCommissioning/AttributeIds.h
index 6f53e2e..7c96e66 100644
--- a/zzz_generated/app-common/clusters/AdministratorCommissioning/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/AdministratorCommissioning/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace AdministratorCommissioning {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace WindowStatus {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace WindowStatus
diff --git a/zzz_generated/app-common/clusters/AdministratorCommissioning/CommandIds.h b/zzz_generated/app-common/clusters/AdministratorCommissioning/CommandIds.h
index ab0e52a..3b6d552 100644
--- a/zzz_generated/app-common/clusters/AdministratorCommissioning/CommandIds.h
+++ b/zzz_generated/app-common/clusters/AdministratorCommissioning/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace AdministratorCommissioning {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace OpenCommissioningWindow {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace OpenCommissioningWindow
diff --git a/zzz_generated/app-common/clusters/AirQuality/AttributeIds.h b/zzz_generated/app-common/clusters/AirQuality/AttributeIds.h
index 9a178ff..b6c9233 100644
--- a/zzz_generated/app-common/clusters/AirQuality/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/AirQuality/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace AirQuality {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace AirQuality {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace AirQuality
diff --git a/zzz_generated/app-common/clusters/AirQuality/CommandIds.h b/zzz_generated/app-common/clusters/AirQuality/CommandIds.h
index 0941900..99c9315 100644
--- a/zzz_generated/app-common/clusters/AirQuality/CommandIds.h
+++ b/zzz_generated/app-common/clusters/AirQuality/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace AirQuality {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace AirQuality
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ApplicationBasic/AttributeIds.h b/zzz_generated/app-common/clusters/ApplicationBasic/AttributeIds.h
index 31b09ef..e7eca3a 100644
--- a/zzz_generated/app-common/clusters/ApplicationBasic/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ApplicationBasic/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ApplicationBasic {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 13;
+
 namespace VendorName {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace VendorName
diff --git a/zzz_generated/app-common/clusters/ApplicationBasic/CommandIds.h b/zzz_generated/app-common/clusters/ApplicationBasic/CommandIds.h
index 049d579..86bbf50 100644
--- a/zzz_generated/app-common/clusters/ApplicationBasic/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ApplicationBasic/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace ApplicationBasic {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace ApplicationBasic
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ApplicationLauncher/AttributeIds.h b/zzz_generated/app-common/clusters/ApplicationLauncher/AttributeIds.h
index ecef6ba..e9ce7d6 100644
--- a/zzz_generated/app-common/clusters/ApplicationLauncher/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ApplicationLauncher/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ApplicationLauncher {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace CatalogList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CatalogList
diff --git a/zzz_generated/app-common/clusters/ApplicationLauncher/CommandIds.h b/zzz_generated/app-common/clusters/ApplicationLauncher/CommandIds.h
index 81b645c..a83b88f 100644
--- a/zzz_generated/app-common/clusters/ApplicationLauncher/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ApplicationLauncher/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ApplicationLauncher {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace LaunchApp {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace LaunchApp
diff --git a/zzz_generated/app-common/clusters/AudioOutput/AttributeIds.h b/zzz_generated/app-common/clusters/AudioOutput/AttributeIds.h
index 7600f1e..90ab57b 100644
--- a/zzz_generated/app-common/clusters/AudioOutput/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/AudioOutput/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace AudioOutput {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace OutputList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace OutputList
diff --git a/zzz_generated/app-common/clusters/AudioOutput/CommandIds.h b/zzz_generated/app-common/clusters/AudioOutput/CommandIds.h
index ee068e6..98b4625 100644
--- a/zzz_generated/app-common/clusters/AudioOutput/CommandIds.h
+++ b/zzz_generated/app-common/clusters/AudioOutput/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace AudioOutput {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace SelectOutput {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SelectOutput
diff --git a/zzz_generated/app-common/clusters/BallastConfiguration/AttributeIds.h b/zzz_generated/app-common/clusters/BallastConfiguration/AttributeIds.h
index e7bed9a..c4838cd 100644
--- a/zzz_generated/app-common/clusters/BallastConfiguration/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/BallastConfiguration/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace BallastConfiguration {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 19;
+
 namespace PhysicalMinLevel {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace PhysicalMinLevel
diff --git a/zzz_generated/app-common/clusters/BallastConfiguration/CommandIds.h b/zzz_generated/app-common/clusters/BallastConfiguration/CommandIds.h
index 2cb1f82..9a05056 100644
--- a/zzz_generated/app-common/clusters/BallastConfiguration/CommandIds.h
+++ b/zzz_generated/app-common/clusters/BallastConfiguration/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace BallastConfiguration {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace BallastConfiguration
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/BasicInformation/AttributeIds.h b/zzz_generated/app-common/clusters/BasicInformation/AttributeIds.h
index 03194f5..893a435 100644
--- a/zzz_generated/app-common/clusters/BasicInformation/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/BasicInformation/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace BasicInformation {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 29;
+
 namespace DataModelRevision {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace DataModelRevision
diff --git a/zzz_generated/app-common/clusters/BasicInformation/CommandIds.h b/zzz_generated/app-common/clusters/BasicInformation/CommandIds.h
index 9008215..c9b7133 100644
--- a/zzz_generated/app-common/clusters/BasicInformation/CommandIds.h
+++ b/zzz_generated/app-common/clusters/BasicInformation/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace BasicInformation {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace MfgSpecificPing {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace MfgSpecificPing
diff --git a/zzz_generated/app-common/clusters/Binding/AttributeIds.h b/zzz_generated/app-common/clusters/Binding/AttributeIds.h
index c9adee9..78248b3 100644
--- a/zzz_generated/app-common/clusters/Binding/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Binding/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Binding {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace Binding {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Binding
diff --git a/zzz_generated/app-common/clusters/Binding/CommandIds.h b/zzz_generated/app-common/clusters/Binding/CommandIds.h
index 1074112..60e95ad 100644
--- a/zzz_generated/app-common/clusters/Binding/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Binding/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace Binding {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace Binding
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/BooleanState/AttributeIds.h b/zzz_generated/app-common/clusters/BooleanState/AttributeIds.h
index a63a432..dde6518 100644
--- a/zzz_generated/app-common/clusters/BooleanState/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/BooleanState/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace BooleanState {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace StateValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace StateValue
diff --git a/zzz_generated/app-common/clusters/BooleanState/CommandIds.h b/zzz_generated/app-common/clusters/BooleanState/CommandIds.h
index 73da1f6..ee83b0d 100644
--- a/zzz_generated/app-common/clusters/BooleanState/CommandIds.h
+++ b/zzz_generated/app-common/clusters/BooleanState/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace BooleanState {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace BooleanState
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/BooleanStateConfiguration/AttributeIds.h b/zzz_generated/app-common/clusters/BooleanStateConfiguration/AttributeIds.h
index fda9c61..ba1da3d 100644
--- a/zzz_generated/app-common/clusters/BooleanStateConfiguration/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/BooleanStateConfiguration/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace BooleanStateConfiguration {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 13;
+
 namespace CurrentSensitivityLevel {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CurrentSensitivityLevel
diff --git a/zzz_generated/app-common/clusters/BooleanStateConfiguration/CommandIds.h b/zzz_generated/app-common/clusters/BooleanStateConfiguration/CommandIds.h
index f71e791..8685d4f 100644
--- a/zzz_generated/app-common/clusters/BooleanStateConfiguration/CommandIds.h
+++ b/zzz_generated/app-common/clusters/BooleanStateConfiguration/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace BooleanStateConfiguration {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace SuppressAlarm {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SuppressAlarm
diff --git a/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/AttributeIds.h b/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/AttributeIds.h
index 5e54f73..d82e213 100644
--- a/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace BridgedDeviceBasicInformation {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 23;
+
 namespace VendorName {
 inline constexpr AttributeId Id = 0x00000001;
 } // namespace VendorName
diff --git a/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/CommandIds.h b/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/CommandIds.h
index a9c10c6..c2f7bab 100644
--- a/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/CommandIds.h
+++ b/zzz_generated/app-common/clusters/BridgedDeviceBasicInformation/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace BridgedDeviceBasicInformation {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace KeepActive {
 inline constexpr CommandId Id = 0x00000080;
 } // namespace KeepActive
diff --git a/zzz_generated/app-common/clusters/CameraAvSettingsUserLevelManagement/AttributeIds.h b/zzz_generated/app-common/clusters/CameraAvSettingsUserLevelManagement/AttributeIds.h
index bf855fd..646ac46 100644
--- a/zzz_generated/app-common/clusters/CameraAvSettingsUserLevelManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/CameraAvSettingsUserLevelManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace CameraAvSettingsUserLevelManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 14;
+
 namespace MPTZPosition {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MPTZPosition
diff --git a/zzz_generated/app-common/clusters/CameraAvSettingsUserLevelManagement/CommandIds.h b/zzz_generated/app-common/clusters/CameraAvSettingsUserLevelManagement/CommandIds.h
index 0707878..0ae66db 100644
--- a/zzz_generated/app-common/clusters/CameraAvSettingsUserLevelManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/CameraAvSettingsUserLevelManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace CameraAvSettingsUserLevelManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 7;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace MPTZSetPosition {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace MPTZSetPosition
diff --git a/zzz_generated/app-common/clusters/CameraAvStreamManagement/AttributeIds.h b/zzz_generated/app-common/clusters/CameraAvStreamManagement/AttributeIds.h
index edda084..fbdcc53 100644
--- a/zzz_generated/app-common/clusters/CameraAvStreamManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/CameraAvStreamManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace CameraAvStreamManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 46;
+
 namespace MaxConcurrentEncoders {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MaxConcurrentEncoders
diff --git a/zzz_generated/app-common/clusters/CameraAvStreamManagement/CommandIds.h b/zzz_generated/app-common/clusters/CameraAvStreamManagement/CommandIds.h
index d616b42..6cc33d5 100644
--- a/zzz_generated/app-common/clusters/CameraAvStreamManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/CameraAvStreamManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace CameraAvStreamManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 10;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 4;
+
 namespace AudioStreamAllocate {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace AudioStreamAllocate
diff --git a/zzz_generated/app-common/clusters/CarbonDioxideConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/CarbonDioxideConcentrationMeasurement/AttributeIds.h
index 0c1b1b5..8fcc6b2 100644
--- a/zzz_generated/app-common/clusters/CarbonDioxideConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/CarbonDioxideConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace CarbonDioxideConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/CarbonDioxideConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/CarbonDioxideConcentrationMeasurement/CommandIds.h
index 5672c91..5d73be1 100644
--- a/zzz_generated/app-common/clusters/CarbonDioxideConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/CarbonDioxideConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace CarbonDioxideConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace CarbonDioxideConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/CarbonMonoxideConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/CarbonMonoxideConcentrationMeasurement/AttributeIds.h
index 5fc8591..a5c9e4c 100644
--- a/zzz_generated/app-common/clusters/CarbonMonoxideConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/CarbonMonoxideConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace CarbonMonoxideConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/CarbonMonoxideConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/CarbonMonoxideConcentrationMeasurement/CommandIds.h
index 874d3b0..7b7f26d 100644
--- a/zzz_generated/app-common/clusters/CarbonMonoxideConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/CarbonMonoxideConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace CarbonMonoxideConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace CarbonMonoxideConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/Channel/AttributeIds.h b/zzz_generated/app-common/clusters/Channel/AttributeIds.h
index d6e4b6d..75e3805 100644
--- a/zzz_generated/app-common/clusters/Channel/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Channel/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Channel {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace ChannelList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace ChannelList
diff --git a/zzz_generated/app-common/clusters/Channel/CommandIds.h b/zzz_generated/app-common/clusters/Channel/CommandIds.h
index 53da29e..0f33e92 100644
--- a/zzz_generated/app-common/clusters/Channel/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Channel/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace Channel {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 6;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace ChangeChannel {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeChannel
diff --git a/zzz_generated/app-common/clusters/Chime/AttributeIds.h b/zzz_generated/app-common/clusters/Chime/AttributeIds.h
index 1e39811..5e810fb 100644
--- a/zzz_generated/app-common/clusters/Chime/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Chime/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Chime {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace InstalledChimeSounds {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace InstalledChimeSounds
diff --git a/zzz_generated/app-common/clusters/Chime/CommandIds.h b/zzz_generated/app-common/clusters/Chime/CommandIds.h
index c280975..19ed02a 100644
--- a/zzz_generated/app-common/clusters/Chime/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Chime/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace Chime {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace PlayChimeSound {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace PlayChimeSound
diff --git a/zzz_generated/app-common/clusters/ClosureControl/AttributeIds.h b/zzz_generated/app-common/clusters/ClosureControl/AttributeIds.h
index a0a6761..5801104 100644
--- a/zzz_generated/app-common/clusters/ClosureControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ClosureControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ClosureControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace CountdownTime {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CountdownTime
diff --git a/zzz_generated/app-common/clusters/ClosureControl/CommandIds.h b/zzz_generated/app-common/clusters/ClosureControl/CommandIds.h
index 0a6d1cc..7b2a582 100644
--- a/zzz_generated/app-common/clusters/ClosureControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ClosureControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ClosureControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace Stop {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Stop
diff --git a/zzz_generated/app-common/clusters/ClosureDimension/AttributeIds.h b/zzz_generated/app-common/clusters/ClosureDimension/AttributeIds.h
index 077aa28..a70cd93 100644
--- a/zzz_generated/app-common/clusters/ClosureDimension/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ClosureDimension/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ClosureDimension {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 17;
+
 namespace CurrentState {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CurrentState
diff --git a/zzz_generated/app-common/clusters/ClosureDimension/CommandIds.h b/zzz_generated/app-common/clusters/ClosureDimension/CommandIds.h
index 758b8ea..aefcafd 100644
--- a/zzz_generated/app-common/clusters/ClosureDimension/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ClosureDimension/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ClosureDimension {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace SetTarget {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SetTarget
diff --git a/zzz_generated/app-common/clusters/ColorControl/AttributeIds.h b/zzz_generated/app-common/clusters/ColorControl/AttributeIds.h
index 2902cd4..d5e949b 100644
--- a/zzz_generated/app-common/clusters/ColorControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ColorControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ColorControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 57;
+
 namespace CurrentHue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CurrentHue
diff --git a/zzz_generated/app-common/clusters/ColorControl/CommandIds.h b/zzz_generated/app-common/clusters/ColorControl/CommandIds.h
index 2e1a135..7285713 100644
--- a/zzz_generated/app-common/clusters/ColorControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ColorControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ColorControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 19;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace MoveToHue {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace MoveToHue
diff --git a/zzz_generated/app-common/clusters/CommissionerControl/AttributeIds.h b/zzz_generated/app-common/clusters/CommissionerControl/AttributeIds.h
index 0da51a5..7fe9914 100644
--- a/zzz_generated/app-common/clusters/CommissionerControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/CommissionerControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace CommissionerControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace SupportedDeviceCategories {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedDeviceCategories
diff --git a/zzz_generated/app-common/clusters/CommissionerControl/CommandIds.h b/zzz_generated/app-common/clusters/CommissionerControl/CommandIds.h
index c7d9555..eec6cbd 100644
--- a/zzz_generated/app-common/clusters/CommissionerControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/CommissionerControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace CommissionerControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace RequestCommissioningApproval {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace RequestCommissioningApproval
diff --git a/zzz_generated/app-common/clusters/CommodityMetering/AttributeIds.h b/zzz_generated/app-common/clusters/CommodityMetering/AttributeIds.h
index 0d12fe9..c39223c 100644
--- a/zzz_generated/app-common/clusters/CommodityMetering/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/CommodityMetering/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace CommodityMetering {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace MeteredQuantity {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeteredQuantity
diff --git a/zzz_generated/app-common/clusters/CommodityMetering/CommandIds.h b/zzz_generated/app-common/clusters/CommodityMetering/CommandIds.h
index d3f3f43..835fed4 100644
--- a/zzz_generated/app-common/clusters/CommodityMetering/CommandIds.h
+++ b/zzz_generated/app-common/clusters/CommodityMetering/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace CommodityMetering {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace CommodityMetering
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/CommodityPrice/AttributeIds.h b/zzz_generated/app-common/clusters/CommodityPrice/AttributeIds.h
index 0a38d5f..318d4b7 100644
--- a/zzz_generated/app-common/clusters/CommodityPrice/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/CommodityPrice/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace CommodityPrice {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace TariffUnit {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace TariffUnit
diff --git a/zzz_generated/app-common/clusters/CommodityPrice/CommandIds.h b/zzz_generated/app-common/clusters/CommodityPrice/CommandIds.h
index b8d293d..e64f866 100644
--- a/zzz_generated/app-common/clusters/CommodityPrice/CommandIds.h
+++ b/zzz_generated/app-common/clusters/CommodityPrice/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace CommodityPrice {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace GetDetailedPriceRequest {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace GetDetailedPriceRequest
diff --git a/zzz_generated/app-common/clusters/CommodityTariff/AttributeIds.h b/zzz_generated/app-common/clusters/CommodityTariff/AttributeIds.h
index ed574dc..68632d6 100644
--- a/zzz_generated/app-common/clusters/CommodityTariff/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/CommodityTariff/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace CommodityTariff {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 24;
+
 namespace TariffInfo {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace TariffInfo
diff --git a/zzz_generated/app-common/clusters/CommodityTariff/CommandIds.h b/zzz_generated/app-common/clusters/CommodityTariff/CommandIds.h
index 1865b76..b4bc2fa 100644
--- a/zzz_generated/app-common/clusters/CommodityTariff/CommandIds.h
+++ b/zzz_generated/app-common/clusters/CommodityTariff/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace CommodityTariff {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace GetTariffComponent {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace GetTariffComponent
diff --git a/zzz_generated/app-common/clusters/ContentAppObserver/AttributeIds.h b/zzz_generated/app-common/clusters/ContentAppObserver/AttributeIds.h
index b047445..5916480 100644
--- a/zzz_generated/app-common/clusters/ContentAppObserver/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ContentAppObserver/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ContentAppObserver {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/ContentAppObserver/CommandIds.h b/zzz_generated/app-common/clusters/ContentAppObserver/CommandIds.h
index a3f4cfa..ae6711a 100644
--- a/zzz_generated/app-common/clusters/ContentAppObserver/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ContentAppObserver/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ContentAppObserver {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ContentAppMessage {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ContentAppMessage
diff --git a/zzz_generated/app-common/clusters/ContentControl/AttributeIds.h b/zzz_generated/app-common/clusters/ContentControl/AttributeIds.h
index 971c342..73329ef 100644
--- a/zzz_generated/app-common/clusters/ContentControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ContentControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ContentControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 13;
+
 namespace Enabled {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Enabled
diff --git a/zzz_generated/app-common/clusters/ContentControl/CommandIds.h b/zzz_generated/app-common/clusters/ContentControl/CommandIds.h
index 92f8fb9..94d00d7 100644
--- a/zzz_generated/app-common/clusters/ContentControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ContentControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ContentControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 10;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace UpdatePIN {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace UpdatePIN
diff --git a/zzz_generated/app-common/clusters/ContentLauncher/AttributeIds.h b/zzz_generated/app-common/clusters/ContentLauncher/AttributeIds.h
index 579f638..2d6291b 100644
--- a/zzz_generated/app-common/clusters/ContentLauncher/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ContentLauncher/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ContentLauncher {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace AcceptHeader {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace AcceptHeader
diff --git a/zzz_generated/app-common/clusters/ContentLauncher/CommandIds.h b/zzz_generated/app-common/clusters/ContentLauncher/CommandIds.h
index eccc0ba..f6a357d 100644
--- a/zzz_generated/app-common/clusters/ContentLauncher/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ContentLauncher/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ContentLauncher {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace LaunchContent {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace LaunchContent
diff --git a/zzz_generated/app-common/clusters/Descriptor/AttributeIds.h b/zzz_generated/app-common/clusters/Descriptor/AttributeIds.h
index 7867008..0fb347f 100644
--- a/zzz_generated/app-common/clusters/Descriptor/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Descriptor/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Descriptor {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace DeviceTypeList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace DeviceTypeList
diff --git a/zzz_generated/app-common/clusters/Descriptor/CommandIds.h b/zzz_generated/app-common/clusters/Descriptor/CommandIds.h
index fe4697c..cb52e94 100644
--- a/zzz_generated/app-common/clusters/Descriptor/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Descriptor/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace Descriptor {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace Descriptor
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/DeviceEnergyManagement/AttributeIds.h b/zzz_generated/app-common/clusters/DeviceEnergyManagement/AttributeIds.h
index 7ac8ca7..c21d847 100644
--- a/zzz_generated/app-common/clusters/DeviceEnergyManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/DeviceEnergyManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace DeviceEnergyManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 13;
+
 namespace ESAType {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace ESAType
diff --git a/zzz_generated/app-common/clusters/DeviceEnergyManagement/CommandIds.h b/zzz_generated/app-common/clusters/DeviceEnergyManagement/CommandIds.h
index 77013c8..1bba9b2 100644
--- a/zzz_generated/app-common/clusters/DeviceEnergyManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/DeviceEnergyManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace DeviceEnergyManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 8;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace PowerAdjustRequest {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace PowerAdjustRequest
diff --git a/zzz_generated/app-common/clusters/DeviceEnergyManagementMode/AttributeIds.h b/zzz_generated/app-common/clusters/DeviceEnergyManagementMode/AttributeIds.h
index b31b68d..8959cbe 100644
--- a/zzz_generated/app-common/clusters/DeviceEnergyManagementMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/DeviceEnergyManagementMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace DeviceEnergyManagementMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/DeviceEnergyManagementMode/CommandIds.h b/zzz_generated/app-common/clusters/DeviceEnergyManagementMode/CommandIds.h
index 442be25..1cceae6 100644
--- a/zzz_generated/app-common/clusters/DeviceEnergyManagementMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/DeviceEnergyManagementMode/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace DeviceEnergyManagementMode {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/DiagnosticLogs/AttributeIds.h b/zzz_generated/app-common/clusters/DiagnosticLogs/AttributeIds.h
index 924881f..8705392 100644
--- a/zzz_generated/app-common/clusters/DiagnosticLogs/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/DiagnosticLogs/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace DiagnosticLogs {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/DiagnosticLogs/CommandIds.h b/zzz_generated/app-common/clusters/DiagnosticLogs/CommandIds.h
index f7eac30..d081c41 100644
--- a/zzz_generated/app-common/clusters/DiagnosticLogs/CommandIds.h
+++ b/zzz_generated/app-common/clusters/DiagnosticLogs/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace DiagnosticLogs {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace RetrieveLogsRequest {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace RetrieveLogsRequest
diff --git a/zzz_generated/app-common/clusters/DishwasherAlarm/AttributeIds.h b/zzz_generated/app-common/clusters/DishwasherAlarm/AttributeIds.h
index 1109f24..74113b9 100644
--- a/zzz_generated/app-common/clusters/DishwasherAlarm/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/DishwasherAlarm/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace DishwasherAlarm {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace Mask {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Mask
diff --git a/zzz_generated/app-common/clusters/DishwasherAlarm/CommandIds.h b/zzz_generated/app-common/clusters/DishwasherAlarm/CommandIds.h
index a5263cd..2b591bd 100644
--- a/zzz_generated/app-common/clusters/DishwasherAlarm/CommandIds.h
+++ b/zzz_generated/app-common/clusters/DishwasherAlarm/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace DishwasherAlarm {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace Reset {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Reset
diff --git a/zzz_generated/app-common/clusters/DishwasherMode/AttributeIds.h b/zzz_generated/app-common/clusters/DishwasherMode/AttributeIds.h
index bb73b4f..c6555ae 100644
--- a/zzz_generated/app-common/clusters/DishwasherMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/DishwasherMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace DishwasherMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/DishwasherMode/CommandIds.h b/zzz_generated/app-common/clusters/DishwasherMode/CommandIds.h
index 224a922..061ecd2 100644
--- a/zzz_generated/app-common/clusters/DishwasherMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/DishwasherMode/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace DishwasherMode {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/DoorLock/AttributeIds.h b/zzz_generated/app-common/clusters/DoorLock/AttributeIds.h
index 65d324e..534e68c 100644
--- a/zzz_generated/app-common/clusters/DoorLock/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/DoorLock/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace DoorLock {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 50;
+
 namespace LockState {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace LockState
diff --git a/zzz_generated/app-common/clusters/DoorLock/CommandIds.h b/zzz_generated/app-common/clusters/DoorLock/CommandIds.h
index fdb08fc..8b5d35e 100644
--- a/zzz_generated/app-common/clusters/DoorLock/CommandIds.h
+++ b/zzz_generated/app-common/clusters/DoorLock/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace DoorLock {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 21;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 6;
+
 namespace LockDoor {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace LockDoor
diff --git a/zzz_generated/app-common/clusters/EcosystemInformation/AttributeIds.h b/zzz_generated/app-common/clusters/EcosystemInformation/AttributeIds.h
index ed91bc8..4d002ae 100644
--- a/zzz_generated/app-common/clusters/EcosystemInformation/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/EcosystemInformation/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace EcosystemInformation {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace DeviceDirectory {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace DeviceDirectory
diff --git a/zzz_generated/app-common/clusters/EcosystemInformation/CommandIds.h b/zzz_generated/app-common/clusters/EcosystemInformation/CommandIds.h
index f689ffe..a5c2e9b 100644
--- a/zzz_generated/app-common/clusters/EcosystemInformation/CommandIds.h
+++ b/zzz_generated/app-common/clusters/EcosystemInformation/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace EcosystemInformation {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace EcosystemInformation
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ElectricalEnergyMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/ElectricalEnergyMeasurement/AttributeIds.h
index b9ba087..4e6b740 100644
--- a/zzz_generated/app-common/clusters/ElectricalEnergyMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ElectricalEnergyMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ElectricalEnergyMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace Accuracy {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Accuracy
diff --git a/zzz_generated/app-common/clusters/ElectricalEnergyMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/ElectricalEnergyMeasurement/CommandIds.h
index 621de07..c023116 100644
--- a/zzz_generated/app-common/clusters/ElectricalEnergyMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ElectricalEnergyMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace ElectricalEnergyMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace ElectricalEnergyMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ElectricalGridConditions/AttributeIds.h b/zzz_generated/app-common/clusters/ElectricalGridConditions/AttributeIds.h
index 07f85d0..218bbfd 100644
--- a/zzz_generated/app-common/clusters/ElectricalGridConditions/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ElectricalGridConditions/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ElectricalGridConditions {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace LocalGenerationAvailable {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace LocalGenerationAvailable
diff --git a/zzz_generated/app-common/clusters/ElectricalGridConditions/CommandIds.h b/zzz_generated/app-common/clusters/ElectricalGridConditions/CommandIds.h
index 658a5a8..49068f2 100644
--- a/zzz_generated/app-common/clusters/ElectricalGridConditions/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ElectricalGridConditions/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace ElectricalGridConditions {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace ElectricalGridConditions
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ElectricalPowerMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/ElectricalPowerMeasurement/AttributeIds.h
index dfb56e5..8f95703 100644
--- a/zzz_generated/app-common/clusters/ElectricalPowerMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ElectricalPowerMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ElectricalPowerMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 24;
+
 namespace PowerMode {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace PowerMode
diff --git a/zzz_generated/app-common/clusters/ElectricalPowerMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/ElectricalPowerMeasurement/CommandIds.h
index 14e41e7..5000c04 100644
--- a/zzz_generated/app-common/clusters/ElectricalPowerMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ElectricalPowerMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace ElectricalPowerMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace ElectricalPowerMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/EnergyEvse/AttributeIds.h b/zzz_generated/app-common/clusters/EnergyEvse/AttributeIds.h
index 3dfe0dd..c95d63b 100644
--- a/zzz_generated/app-common/clusters/EnergyEvse/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/EnergyEvse/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace EnergyEvse {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 28;
+
 namespace State {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace State
diff --git a/zzz_generated/app-common/clusters/EnergyEvse/CommandIds.h b/zzz_generated/app-common/clusters/EnergyEvse/CommandIds.h
index d24b249..4428066 100644
--- a/zzz_generated/app-common/clusters/EnergyEvse/CommandIds.h
+++ b/zzz_generated/app-common/clusters/EnergyEvse/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace EnergyEvse {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 7;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace Disable {
 inline constexpr CommandId Id = 0x00000001;
 } // namespace Disable
diff --git a/zzz_generated/app-common/clusters/EnergyEvseMode/AttributeIds.h b/zzz_generated/app-common/clusters/EnergyEvseMode/AttributeIds.h
index 6373c72..5f2a217 100644
--- a/zzz_generated/app-common/clusters/EnergyEvseMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/EnergyEvseMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace EnergyEvseMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/EnergyEvseMode/CommandIds.h b/zzz_generated/app-common/clusters/EnergyEvseMode/CommandIds.h
index 366913a..704e322 100644
--- a/zzz_generated/app-common/clusters/EnergyEvseMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/EnergyEvseMode/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace EnergyEvseMode {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/EnergyPreference/AttributeIds.h b/zzz_generated/app-common/clusters/EnergyPreference/AttributeIds.h
index 4ef449e..72cc615 100644
--- a/zzz_generated/app-common/clusters/EnergyPreference/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/EnergyPreference/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace EnergyPreference {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 10;
+
 namespace EnergyBalances {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace EnergyBalances
diff --git a/zzz_generated/app-common/clusters/EnergyPreference/CommandIds.h b/zzz_generated/app-common/clusters/EnergyPreference/CommandIds.h
index 0fb577a..983eb00 100644
--- a/zzz_generated/app-common/clusters/EnergyPreference/CommandIds.h
+++ b/zzz_generated/app-common/clusters/EnergyPreference/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace EnergyPreference {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace EnergyPreference
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/EthernetNetworkDiagnostics/AttributeIds.h b/zzz_generated/app-common/clusters/EthernetNetworkDiagnostics/AttributeIds.h
index 863b250..6cd9c4f 100644
--- a/zzz_generated/app-common/clusters/EthernetNetworkDiagnostics/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/EthernetNetworkDiagnostics/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace EthernetNetworkDiagnostics {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 14;
+
 namespace PHYRate {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace PHYRate
diff --git a/zzz_generated/app-common/clusters/EthernetNetworkDiagnostics/CommandIds.h b/zzz_generated/app-common/clusters/EthernetNetworkDiagnostics/CommandIds.h
index 68f80b2..34ae517 100644
--- a/zzz_generated/app-common/clusters/EthernetNetworkDiagnostics/CommandIds.h
+++ b/zzz_generated/app-common/clusters/EthernetNetworkDiagnostics/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace EthernetNetworkDiagnostics {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace ResetCounts {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ResetCounts
diff --git a/zzz_generated/app-common/clusters/FanControl/AttributeIds.h b/zzz_generated/app-common/clusters/FanControl/AttributeIds.h
index 73935a6..8be849a 100644
--- a/zzz_generated/app-common/clusters/FanControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/FanControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace FanControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 17;
+
 namespace FanMode {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace FanMode
diff --git a/zzz_generated/app-common/clusters/FanControl/CommandIds.h b/zzz_generated/app-common/clusters/FanControl/CommandIds.h
index c081e17..6369055 100644
--- a/zzz_generated/app-common/clusters/FanControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/FanControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace FanControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace Step {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Step
diff --git a/zzz_generated/app-common/clusters/FaultInjection/AttributeIds.h b/zzz_generated/app-common/clusters/FaultInjection/AttributeIds.h
index edccbbe..ffbaa95 100644
--- a/zzz_generated/app-common/clusters/FaultInjection/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/FaultInjection/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace FaultInjection {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/FaultInjection/CommandIds.h b/zzz_generated/app-common/clusters/FaultInjection/CommandIds.h
index 99dfe16..f0adf0f 100644
--- a/zzz_generated/app-common/clusters/FaultInjection/CommandIds.h
+++ b/zzz_generated/app-common/clusters/FaultInjection/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace FaultInjection {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace FailAtFault {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace FailAtFault
diff --git a/zzz_generated/app-common/clusters/FixedLabel/AttributeIds.h b/zzz_generated/app-common/clusters/FixedLabel/AttributeIds.h
index 8218260..d18d15c 100644
--- a/zzz_generated/app-common/clusters/FixedLabel/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/FixedLabel/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace FixedLabel {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace LabelList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace LabelList
diff --git a/zzz_generated/app-common/clusters/FixedLabel/CommandIds.h b/zzz_generated/app-common/clusters/FixedLabel/CommandIds.h
index f7a676d..0765346 100644
--- a/zzz_generated/app-common/clusters/FixedLabel/CommandIds.h
+++ b/zzz_generated/app-common/clusters/FixedLabel/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace FixedLabel {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace FixedLabel
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/FlowMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/FlowMeasurement/AttributeIds.h
index 8233522..d2e496f 100644
--- a/zzz_generated/app-common/clusters/FlowMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/FlowMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace FlowMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/FlowMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/FlowMeasurement/CommandIds.h
index c20c9e2..8f7b571 100644
--- a/zzz_generated/app-common/clusters/FlowMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/FlowMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace FlowMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace FlowMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/FormaldehydeConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/FormaldehydeConcentrationMeasurement/AttributeIds.h
index f3be342..1513ad5 100644
--- a/zzz_generated/app-common/clusters/FormaldehydeConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/FormaldehydeConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace FormaldehydeConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/FormaldehydeConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/FormaldehydeConcentrationMeasurement/CommandIds.h
index 588370c..462aad5 100644
--- a/zzz_generated/app-common/clusters/FormaldehydeConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/FormaldehydeConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace FormaldehydeConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace FormaldehydeConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/GeneralCommissioning/AttributeIds.h b/zzz_generated/app-common/clusters/GeneralCommissioning/AttributeIds.h
index b7fa22a..d1399b1 100644
--- a/zzz_generated/app-common/clusters/GeneralCommissioning/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/GeneralCommissioning/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace GeneralCommissioning {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 18;
+
 namespace Breadcrumb {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Breadcrumb
diff --git a/zzz_generated/app-common/clusters/GeneralCommissioning/CommandIds.h b/zzz_generated/app-common/clusters/GeneralCommissioning/CommandIds.h
index 08c0b72..3232e8b 100644
--- a/zzz_generated/app-common/clusters/GeneralCommissioning/CommandIds.h
+++ b/zzz_generated/app-common/clusters/GeneralCommissioning/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace GeneralCommissioning {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 4;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 4;
+
 namespace ArmFailSafe {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ArmFailSafe
diff --git a/zzz_generated/app-common/clusters/GeneralDiagnostics/AttributeIds.h b/zzz_generated/app-common/clusters/GeneralDiagnostics/AttributeIds.h
index ec1f3e8..108743064 100644
--- a/zzz_generated/app-common/clusters/GeneralDiagnostics/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/GeneralDiagnostics/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace GeneralDiagnostics {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 14;
+
 namespace NetworkInterfaces {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace NetworkInterfaces
diff --git a/zzz_generated/app-common/clusters/GeneralDiagnostics/CommandIds.h b/zzz_generated/app-common/clusters/GeneralDiagnostics/CommandIds.h
index d4f9ca7..dea269a 100644
--- a/zzz_generated/app-common/clusters/GeneralDiagnostics/CommandIds.h
+++ b/zzz_generated/app-common/clusters/GeneralDiagnostics/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace GeneralDiagnostics {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace TestEventTrigger {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace TestEventTrigger
diff --git a/zzz_generated/app-common/clusters/GroupKeyManagement/AttributeIds.h b/zzz_generated/app-common/clusters/GroupKeyManagement/AttributeIds.h
index 2856f17..6c71927 100644
--- a/zzz_generated/app-common/clusters/GroupKeyManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/GroupKeyManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace GroupKeyManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace GroupKeyMap {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace GroupKeyMap
diff --git a/zzz_generated/app-common/clusters/GroupKeyManagement/CommandIds.h b/zzz_generated/app-common/clusters/GroupKeyManagement/CommandIds.h
index d5e40f2..f10b02f 100644
--- a/zzz_generated/app-common/clusters/GroupKeyManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/GroupKeyManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace GroupKeyManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 4;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace KeySetWrite {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace KeySetWrite
diff --git a/zzz_generated/app-common/clusters/Groups/AttributeIds.h b/zzz_generated/app-common/clusters/Groups/AttributeIds.h
index 193c010..6d7ffda 100644
--- a/zzz_generated/app-common/clusters/Groups/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Groups/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Groups {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace NameSupport {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace NameSupport
diff --git a/zzz_generated/app-common/clusters/Groups/CommandIds.h b/zzz_generated/app-common/clusters/Groups/CommandIds.h
index 2d34781..c07657f 100644
--- a/zzz_generated/app-common/clusters/Groups/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Groups/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace Groups {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 6;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 4;
+
 namespace AddGroup {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace AddGroup
diff --git a/zzz_generated/app-common/clusters/HepaFilterMonitoring/AttributeIds.h b/zzz_generated/app-common/clusters/HepaFilterMonitoring/AttributeIds.h
index 668abae..e34924c 100644
--- a/zzz_generated/app-common/clusters/HepaFilterMonitoring/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/HepaFilterMonitoring/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace HepaFilterMonitoring {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace Condition {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Condition
diff --git a/zzz_generated/app-common/clusters/HepaFilterMonitoring/CommandIds.h b/zzz_generated/app-common/clusters/HepaFilterMonitoring/CommandIds.h
index d78b63f..49c0597 100644
--- a/zzz_generated/app-common/clusters/HepaFilterMonitoring/CommandIds.h
+++ b/zzz_generated/app-common/clusters/HepaFilterMonitoring/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace HepaFilterMonitoring {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace ResetCondition {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ResetCondition
diff --git a/zzz_generated/app-common/clusters/IcdManagement/AttributeIds.h b/zzz_generated/app-common/clusters/IcdManagement/AttributeIds.h
index 5d785a9..84df822 100644
--- a/zzz_generated/app-common/clusters/IcdManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/IcdManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace IcdManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 15;
+
 namespace IdleModeDuration {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace IdleModeDuration
diff --git a/zzz_generated/app-common/clusters/IcdManagement/CommandIds.h b/zzz_generated/app-common/clusters/IcdManagement/CommandIds.h
index 061fce9..2530587 100644
--- a/zzz_generated/app-common/clusters/IcdManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/IcdManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace IcdManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace RegisterClient {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace RegisterClient
diff --git a/zzz_generated/app-common/clusters/Identify/AttributeIds.h b/zzz_generated/app-common/clusters/Identify/AttributeIds.h
index 775ff25..f904be7 100644
--- a/zzz_generated/app-common/clusters/Identify/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Identify/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Identify {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace IdentifyTime {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace IdentifyTime
diff --git a/zzz_generated/app-common/clusters/Identify/CommandIds.h b/zzz_generated/app-common/clusters/Identify/CommandIds.h
index 51860cb..bbfe6b5 100644
--- a/zzz_generated/app-common/clusters/Identify/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Identify/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace Identify {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace Identify {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Identify
diff --git a/zzz_generated/app-common/clusters/IlluminanceMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/IlluminanceMeasurement/AttributeIds.h
index 53db036..16e9fca 100644
--- a/zzz_generated/app-common/clusters/IlluminanceMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/IlluminanceMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace IlluminanceMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 10;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/IlluminanceMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/IlluminanceMeasurement/CommandIds.h
index 2dfe72c..ba96e9d 100644
--- a/zzz_generated/app-common/clusters/IlluminanceMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/IlluminanceMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace IlluminanceMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace IlluminanceMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/JointFabricAdministrator/AttributeIds.h b/zzz_generated/app-common/clusters/JointFabricAdministrator/AttributeIds.h
index 945d83a..932f811 100644
--- a/zzz_generated/app-common/clusters/JointFabricAdministrator/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/JointFabricAdministrator/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace JointFabricAdministrator {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace AdministratorFabricIndex {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace AdministratorFabricIndex
diff --git a/zzz_generated/app-common/clusters/JointFabricAdministrator/CommandIds.h b/zzz_generated/app-common/clusters/JointFabricAdministrator/CommandIds.h
index 41de083..f28e310 100644
--- a/zzz_generated/app-common/clusters/JointFabricAdministrator/CommandIds.h
+++ b/zzz_generated/app-common/clusters/JointFabricAdministrator/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace JointFabricAdministrator {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 6;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 3;
+
 namespace ICACCSRRequest {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ICACCSRRequest
diff --git a/zzz_generated/app-common/clusters/JointFabricDatastore/AttributeIds.h b/zzz_generated/app-common/clusters/JointFabricDatastore/AttributeIds.h
index fe1a567..dc2c867 100644
--- a/zzz_generated/app-common/clusters/JointFabricDatastore/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/JointFabricDatastore/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace JointFabricDatastore {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 19;
+
 namespace AnchorRootCA {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace AnchorRootCA
diff --git a/zzz_generated/app-common/clusters/JointFabricDatastore/CommandIds.h b/zzz_generated/app-common/clusters/JointFabricDatastore/CommandIds.h
index dc81651..ad15454 100644
--- a/zzz_generated/app-common/clusters/JointFabricDatastore/CommandIds.h
+++ b/zzz_generated/app-common/clusters/JointFabricDatastore/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace JointFabricDatastore {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 20;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace AddKeySet {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace AddKeySet
diff --git a/zzz_generated/app-common/clusters/KeypadInput/AttributeIds.h b/zzz_generated/app-common/clusters/KeypadInput/AttributeIds.h
index d543149..ea0df78 100644
--- a/zzz_generated/app-common/clusters/KeypadInput/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/KeypadInput/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace KeypadInput {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/KeypadInput/CommandIds.h b/zzz_generated/app-common/clusters/KeypadInput/CommandIds.h
index 4c964e2..79a9036 100644
--- a/zzz_generated/app-common/clusters/KeypadInput/CommandIds.h
+++ b/zzz_generated/app-common/clusters/KeypadInput/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace KeypadInput {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace SendKey {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SendKey
diff --git a/zzz_generated/app-common/clusters/LaundryDryerControls/AttributeIds.h b/zzz_generated/app-common/clusters/LaundryDryerControls/AttributeIds.h
index 2b82fc1..491609a 100644
--- a/zzz_generated/app-common/clusters/LaundryDryerControls/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/LaundryDryerControls/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace LaundryDryerControls {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedDrynessLevels {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedDrynessLevels
diff --git a/zzz_generated/app-common/clusters/LaundryDryerControls/CommandIds.h b/zzz_generated/app-common/clusters/LaundryDryerControls/CommandIds.h
index 000d32b..adf70a4 100644
--- a/zzz_generated/app-common/clusters/LaundryDryerControls/CommandIds.h
+++ b/zzz_generated/app-common/clusters/LaundryDryerControls/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace LaundryDryerControls {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace LaundryDryerControls
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/LaundryWasherControls/AttributeIds.h b/zzz_generated/app-common/clusters/LaundryWasherControls/AttributeIds.h
index d45867b..72f5985 100644
--- a/zzz_generated/app-common/clusters/LaundryWasherControls/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/LaundryWasherControls/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace LaundryWasherControls {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace SpinSpeeds {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SpinSpeeds
diff --git a/zzz_generated/app-common/clusters/LaundryWasherControls/CommandIds.h b/zzz_generated/app-common/clusters/LaundryWasherControls/CommandIds.h
index fb2d0f1..17b8a1d 100644
--- a/zzz_generated/app-common/clusters/LaundryWasherControls/CommandIds.h
+++ b/zzz_generated/app-common/clusters/LaundryWasherControls/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace LaundryWasherControls {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace LaundryWasherControls
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/LaundryWasherMode/AttributeIds.h b/zzz_generated/app-common/clusters/LaundryWasherMode/AttributeIds.h
index 2a6ee81..4cfa3a6 100644
--- a/zzz_generated/app-common/clusters/LaundryWasherMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/LaundryWasherMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace LaundryWasherMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/LaundryWasherMode/CommandIds.h b/zzz_generated/app-common/clusters/LaundryWasherMode/CommandIds.h
index 0613ea4..de5fbfb 100644
--- a/zzz_generated/app-common/clusters/LaundryWasherMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/LaundryWasherMode/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace LaundryWasherMode {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/LevelControl/AttributeIds.h b/zzz_generated/app-common/clusters/LevelControl/AttributeIds.h
index 11d2308..bfa32f8 100644
--- a/zzz_generated/app-common/clusters/LevelControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/LevelControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace LevelControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 19;
+
 namespace CurrentLevel {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CurrentLevel
diff --git a/zzz_generated/app-common/clusters/LevelControl/CommandIds.h b/zzz_generated/app-common/clusters/LevelControl/CommandIds.h
index c9c50e0..b1858f5 100644
--- a/zzz_generated/app-common/clusters/LevelControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/LevelControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace LevelControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 9;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace MoveToLevel {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace MoveToLevel
diff --git a/zzz_generated/app-common/clusters/LocalizationConfiguration/AttributeIds.h b/zzz_generated/app-common/clusters/LocalizationConfiguration/AttributeIds.h
index 6b35da9..c2fc560 100644
--- a/zzz_generated/app-common/clusters/LocalizationConfiguration/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/LocalizationConfiguration/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace LocalizationConfiguration {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace ActiveLocale {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace ActiveLocale
diff --git a/zzz_generated/app-common/clusters/LocalizationConfiguration/CommandIds.h b/zzz_generated/app-common/clusters/LocalizationConfiguration/CommandIds.h
index 1e31b92..f345ab2 100644
--- a/zzz_generated/app-common/clusters/LocalizationConfiguration/CommandIds.h
+++ b/zzz_generated/app-common/clusters/LocalizationConfiguration/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace LocalizationConfiguration {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace LocalizationConfiguration
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/LowPower/AttributeIds.h b/zzz_generated/app-common/clusters/LowPower/AttributeIds.h
index 417c0ad..d7055fe 100644
--- a/zzz_generated/app-common/clusters/LowPower/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/LowPower/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace LowPower {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/LowPower/CommandIds.h b/zzz_generated/app-common/clusters/LowPower/CommandIds.h
index 3ce32d7..fecbdbb 100644
--- a/zzz_generated/app-common/clusters/LowPower/CommandIds.h
+++ b/zzz_generated/app-common/clusters/LowPower/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace LowPower {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace Sleep {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Sleep
diff --git a/zzz_generated/app-common/clusters/MediaInput/AttributeIds.h b/zzz_generated/app-common/clusters/MediaInput/AttributeIds.h
index d27b3c5..2a8ee16 100644
--- a/zzz_generated/app-common/clusters/MediaInput/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/MediaInput/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace MediaInput {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace InputList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace InputList
diff --git a/zzz_generated/app-common/clusters/MediaInput/CommandIds.h b/zzz_generated/app-common/clusters/MediaInput/CommandIds.h
index 16d75c7..66a671d 100644
--- a/zzz_generated/app-common/clusters/MediaInput/CommandIds.h
+++ b/zzz_generated/app-common/clusters/MediaInput/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace MediaInput {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 4;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace SelectInput {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SelectInput
diff --git a/zzz_generated/app-common/clusters/MediaPlayback/AttributeIds.h b/zzz_generated/app-common/clusters/MediaPlayback/AttributeIds.h
index 41b5e3e..24e01b8 100644
--- a/zzz_generated/app-common/clusters/MediaPlayback/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/MediaPlayback/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace MediaPlayback {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace CurrentState {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CurrentState
diff --git a/zzz_generated/app-common/clusters/MediaPlayback/CommandIds.h b/zzz_generated/app-common/clusters/MediaPlayback/CommandIds.h
index 3ed3f7a..90e34c8 100644
--- a/zzz_generated/app-common/clusters/MediaPlayback/CommandIds.h
+++ b/zzz_generated/app-common/clusters/MediaPlayback/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace MediaPlayback {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 14;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace Play {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Play
diff --git a/zzz_generated/app-common/clusters/Messages/AttributeIds.h b/zzz_generated/app-common/clusters/Messages/AttributeIds.h
index a10d571..5c0390a 100644
--- a/zzz_generated/app-common/clusters/Messages/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Messages/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Messages {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace Messages {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Messages
diff --git a/zzz_generated/app-common/clusters/Messages/CommandIds.h b/zzz_generated/app-common/clusters/Messages/CommandIds.h
index 6e008ce..53e781f 100644
--- a/zzz_generated/app-common/clusters/Messages/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Messages/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace Messages {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace PresentMessagesRequest {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace PresentMessagesRequest
diff --git a/zzz_generated/app-common/clusters/MeterIdentification/AttributeIds.h b/zzz_generated/app-common/clusters/MeterIdentification/AttributeIds.h
index c4b566b..e462d25 100644
--- a/zzz_generated/app-common/clusters/MeterIdentification/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/MeterIdentification/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace MeterIdentification {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 10;
+
 namespace MeterType {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeterType
diff --git a/zzz_generated/app-common/clusters/MeterIdentification/CommandIds.h b/zzz_generated/app-common/clusters/MeterIdentification/CommandIds.h
index f09b2bc..ad4e505 100644
--- a/zzz_generated/app-common/clusters/MeterIdentification/CommandIds.h
+++ b/zzz_generated/app-common/clusters/MeterIdentification/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace MeterIdentification {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace MeterIdentification
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/MicrowaveOvenControl/AttributeIds.h b/zzz_generated/app-common/clusters/MicrowaveOvenControl/AttributeIds.h
index 46784e6..6e8b62c 100644
--- a/zzz_generated/app-common/clusters/MicrowaveOvenControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/MicrowaveOvenControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace MicrowaveOvenControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 14;
+
 namespace CookTime {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CookTime
diff --git a/zzz_generated/app-common/clusters/MicrowaveOvenControl/CommandIds.h b/zzz_generated/app-common/clusters/MicrowaveOvenControl/CommandIds.h
index 6a536f5..a6fc87c 100644
--- a/zzz_generated/app-common/clusters/MicrowaveOvenControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/MicrowaveOvenControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace MicrowaveOvenControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace SetCookingParameters {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SetCookingParameters
diff --git a/zzz_generated/app-common/clusters/MicrowaveOvenMode/AttributeIds.h b/zzz_generated/app-common/clusters/MicrowaveOvenMode/AttributeIds.h
index 96e0466..0ffe0e7 100644
--- a/zzz_generated/app-common/clusters/MicrowaveOvenMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/MicrowaveOvenMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace MicrowaveOvenMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/MicrowaveOvenMode/CommandIds.h b/zzz_generated/app-common/clusters/MicrowaveOvenMode/CommandIds.h
index a32a23a..8e57761 100644
--- a/zzz_generated/app-common/clusters/MicrowaveOvenMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/MicrowaveOvenMode/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace MicrowaveOvenMode {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace MicrowaveOvenMode
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ModeSelect/AttributeIds.h b/zzz_generated/app-common/clusters/ModeSelect/AttributeIds.h
index 60caa19..733b789 100644
--- a/zzz_generated/app-common/clusters/ModeSelect/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ModeSelect/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ModeSelect {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace Description {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Description
diff --git a/zzz_generated/app-common/clusters/ModeSelect/CommandIds.h b/zzz_generated/app-common/clusters/ModeSelect/CommandIds.h
index 8df5d42..784c98f 100644
--- a/zzz_generated/app-common/clusters/ModeSelect/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ModeSelect/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ModeSelect {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/NetworkCommissioning/AttributeIds.h b/zzz_generated/app-common/clusters/NetworkCommissioning/AttributeIds.h
index 250a2b0..fe6bccd 100644
--- a/zzz_generated/app-common/clusters/NetworkCommissioning/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/NetworkCommissioning/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace NetworkCommissioning {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MaxNetworks {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MaxNetworks
diff --git a/zzz_generated/app-common/clusters/NetworkCommissioning/CommandIds.h b/zzz_generated/app-common/clusters/NetworkCommissioning/CommandIds.h
index 1a58261..60776ee 100644
--- a/zzz_generated/app-common/clusters/NetworkCommissioning/CommandIds.h
+++ b/zzz_generated/app-common/clusters/NetworkCommissioning/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace NetworkCommissioning {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 7;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 4;
+
 namespace ScanNetworks {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ScanNetworks
diff --git a/zzz_generated/app-common/clusters/NitrogenDioxideConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/NitrogenDioxideConcentrationMeasurement/AttributeIds.h
index 396c857..62e8601 100644
--- a/zzz_generated/app-common/clusters/NitrogenDioxideConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/NitrogenDioxideConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace NitrogenDioxideConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/NitrogenDioxideConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/NitrogenDioxideConcentrationMeasurement/CommandIds.h
index a07588e..8a04ac2 100644
--- a/zzz_generated/app-common/clusters/NitrogenDioxideConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/NitrogenDioxideConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace NitrogenDioxideConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace NitrogenDioxideConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/OccupancySensing/AttributeIds.h b/zzz_generated/app-common/clusters/OccupancySensing/AttributeIds.h
index 5ee3d2c..8449805 100644
--- a/zzz_generated/app-common/clusters/OccupancySensing/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/OccupancySensing/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace OccupancySensing {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 19;
+
 namespace Occupancy {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Occupancy
diff --git a/zzz_generated/app-common/clusters/OccupancySensing/CommandIds.h b/zzz_generated/app-common/clusters/OccupancySensing/CommandIds.h
index 99a6291..af26476 100644
--- a/zzz_generated/app-common/clusters/OccupancySensing/CommandIds.h
+++ b/zzz_generated/app-common/clusters/OccupancySensing/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace OccupancySensing {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace OccupancySensing
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/OnOff/AttributeIds.h b/zzz_generated/app-common/clusters/OnOff/AttributeIds.h
index df8464d..a643a1c 100644
--- a/zzz_generated/app-common/clusters/OnOff/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/OnOff/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace OnOff {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 10;
+
 namespace OnOff {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace OnOff
diff --git a/zzz_generated/app-common/clusters/OnOff/CommandIds.h b/zzz_generated/app-common/clusters/OnOff/CommandIds.h
index 6777932..e1f76ce 100644
--- a/zzz_generated/app-common/clusters/OnOff/CommandIds.h
+++ b/zzz_generated/app-common/clusters/OnOff/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace OnOff {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 6;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace Off {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Off
diff --git a/zzz_generated/app-common/clusters/OperationalCredentials/AttributeIds.h b/zzz_generated/app-common/clusters/OperationalCredentials/AttributeIds.h
index 8cf432f..f154e75 100644
--- a/zzz_generated/app-common/clusters/OperationalCredentials/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/OperationalCredentials/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace OperationalCredentials {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace NOCs {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace NOCs
diff --git a/zzz_generated/app-common/clusters/OperationalCredentials/CommandIds.h b/zzz_generated/app-common/clusters/OperationalCredentials/CommandIds.h
index 121c9f2..a245919 100644
--- a/zzz_generated/app-common/clusters/OperationalCredentials/CommandIds.h
+++ b/zzz_generated/app-common/clusters/OperationalCredentials/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace OperationalCredentials {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 10;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 5;
+
 namespace AttestationRequest {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace AttestationRequest
diff --git a/zzz_generated/app-common/clusters/OperationalState/AttributeIds.h b/zzz_generated/app-common/clusters/OperationalState/AttributeIds.h
index ef44a3b..32f87b6 100644
--- a/zzz_generated/app-common/clusters/OperationalState/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/OperationalState/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace OperationalState {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace PhaseList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace PhaseList
diff --git a/zzz_generated/app-common/clusters/OperationalState/CommandIds.h b/zzz_generated/app-common/clusters/OperationalState/CommandIds.h
index 060b5b3..1810392 100644
--- a/zzz_generated/app-common/clusters/OperationalState/CommandIds.h
+++ b/zzz_generated/app-common/clusters/OperationalState/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace OperationalState {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 4;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace Pause {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Pause
diff --git a/zzz_generated/app-common/clusters/OtaSoftwareUpdateProvider/AttributeIds.h b/zzz_generated/app-common/clusters/OtaSoftwareUpdateProvider/AttributeIds.h
index b733338..288ba83 100644
--- a/zzz_generated/app-common/clusters/OtaSoftwareUpdateProvider/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/OtaSoftwareUpdateProvider/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace OtaSoftwareUpdateProvider {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/OtaSoftwareUpdateProvider/CommandIds.h b/zzz_generated/app-common/clusters/OtaSoftwareUpdateProvider/CommandIds.h
index 0c447a3..4c3be81 100644
--- a/zzz_generated/app-common/clusters/OtaSoftwareUpdateProvider/CommandIds.h
+++ b/zzz_generated/app-common/clusters/OtaSoftwareUpdateProvider/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace OtaSoftwareUpdateProvider {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace QueryImage {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace QueryImage
diff --git a/zzz_generated/app-common/clusters/OtaSoftwareUpdateRequestor/AttributeIds.h b/zzz_generated/app-common/clusters/OtaSoftwareUpdateRequestor/AttributeIds.h
index e971d51..cf65442 100644
--- a/zzz_generated/app-common/clusters/OtaSoftwareUpdateRequestor/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/OtaSoftwareUpdateRequestor/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace OtaSoftwareUpdateRequestor {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace DefaultOTAProviders {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace DefaultOTAProviders
diff --git a/zzz_generated/app-common/clusters/OtaSoftwareUpdateRequestor/CommandIds.h b/zzz_generated/app-common/clusters/OtaSoftwareUpdateRequestor/CommandIds.h
index e08fbd5..785fc46 100644
--- a/zzz_generated/app-common/clusters/OtaSoftwareUpdateRequestor/CommandIds.h
+++ b/zzz_generated/app-common/clusters/OtaSoftwareUpdateRequestor/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace OtaSoftwareUpdateRequestor {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace AnnounceOTAProvider {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace AnnounceOTAProvider
diff --git a/zzz_generated/app-common/clusters/OvenCavityOperationalState/AttributeIds.h b/zzz_generated/app-common/clusters/OvenCavityOperationalState/AttributeIds.h
index 22d1371..87466d4 100644
--- a/zzz_generated/app-common/clusters/OvenCavityOperationalState/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/OvenCavityOperationalState/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace OvenCavityOperationalState {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace PhaseList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace PhaseList
diff --git a/zzz_generated/app-common/clusters/OvenCavityOperationalState/CommandIds.h b/zzz_generated/app-common/clusters/OvenCavityOperationalState/CommandIds.h
index 0d18a0f..d038173 100644
--- a/zzz_generated/app-common/clusters/OvenCavityOperationalState/CommandIds.h
+++ b/zzz_generated/app-common/clusters/OvenCavityOperationalState/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace OvenCavityOperationalState {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace Stop {
 inline constexpr CommandId Id = 0x00000001;
 } // namespace Stop
diff --git a/zzz_generated/app-common/clusters/OvenMode/AttributeIds.h b/zzz_generated/app-common/clusters/OvenMode/AttributeIds.h
index ba80770..034f15a 100644
--- a/zzz_generated/app-common/clusters/OvenMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/OvenMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace OvenMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/OvenMode/CommandIds.h b/zzz_generated/app-common/clusters/OvenMode/CommandIds.h
index 088489a..a4e3ca2 100644
--- a/zzz_generated/app-common/clusters/OvenMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/OvenMode/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace OvenMode {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/OzoneConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/OzoneConcentrationMeasurement/AttributeIds.h
index c1af72b..c1ad8b0 100644
--- a/zzz_generated/app-common/clusters/OzoneConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/OzoneConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace OzoneConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/OzoneConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/OzoneConcentrationMeasurement/CommandIds.h
index acb6d26..c48a66c 100644
--- a/zzz_generated/app-common/clusters/OzoneConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/OzoneConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace OzoneConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace OzoneConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/Pm10ConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/Pm10ConcentrationMeasurement/AttributeIds.h
index a3aad74..8bdddfc 100644
--- a/zzz_generated/app-common/clusters/Pm10ConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Pm10ConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Pm10ConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/Pm10ConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/Pm10ConcentrationMeasurement/CommandIds.h
index e073c75..29e1bd4 100644
--- a/zzz_generated/app-common/clusters/Pm10ConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Pm10ConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace Pm10ConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace Pm10ConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/Pm1ConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/Pm1ConcentrationMeasurement/AttributeIds.h
index 20825bb..ccbcbfa 100644
--- a/zzz_generated/app-common/clusters/Pm1ConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Pm1ConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Pm1ConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/Pm1ConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/Pm1ConcentrationMeasurement/CommandIds.h
index e841427..ab96b2a 100644
--- a/zzz_generated/app-common/clusters/Pm1ConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Pm1ConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace Pm1ConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace Pm1ConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/Pm25ConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/Pm25ConcentrationMeasurement/AttributeIds.h
index a2f7a4a..5682e50 100644
--- a/zzz_generated/app-common/clusters/Pm25ConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Pm25ConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Pm25ConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/Pm25ConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/Pm25ConcentrationMeasurement/CommandIds.h
index 0c46213..f558317 100644
--- a/zzz_generated/app-common/clusters/Pm25ConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Pm25ConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace Pm25ConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace Pm25ConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/PowerSource/AttributeIds.h b/zzz_generated/app-common/clusters/PowerSource/AttributeIds.h
index 2fe1d76..1d734a6 100644
--- a/zzz_generated/app-common/clusters/PowerSource/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/PowerSource/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace PowerSource {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 37;
+
 namespace Status {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Status
diff --git a/zzz_generated/app-common/clusters/PowerSource/CommandIds.h b/zzz_generated/app-common/clusters/PowerSource/CommandIds.h
index 60a961a..0579104 100644
--- a/zzz_generated/app-common/clusters/PowerSource/CommandIds.h
+++ b/zzz_generated/app-common/clusters/PowerSource/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace PowerSource {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace PowerSource
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/PowerSourceConfiguration/AttributeIds.h b/zzz_generated/app-common/clusters/PowerSourceConfiguration/AttributeIds.h
index a06c17b..571d3ef 100644
--- a/zzz_generated/app-common/clusters/PowerSourceConfiguration/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/PowerSourceConfiguration/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace PowerSourceConfiguration {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace Sources {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Sources
diff --git a/zzz_generated/app-common/clusters/PowerSourceConfiguration/CommandIds.h b/zzz_generated/app-common/clusters/PowerSourceConfiguration/CommandIds.h
index cead872..30f5a9c 100644
--- a/zzz_generated/app-common/clusters/PowerSourceConfiguration/CommandIds.h
+++ b/zzz_generated/app-common/clusters/PowerSourceConfiguration/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace PowerSourceConfiguration {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace PowerSourceConfiguration
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/PowerTopology/AttributeIds.h b/zzz_generated/app-common/clusters/PowerTopology/AttributeIds.h
index 6a39c5b..fe2895b 100644
--- a/zzz_generated/app-common/clusters/PowerTopology/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/PowerTopology/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace PowerTopology {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace AvailableEndpoints {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace AvailableEndpoints
diff --git a/zzz_generated/app-common/clusters/PowerTopology/CommandIds.h b/zzz_generated/app-common/clusters/PowerTopology/CommandIds.h
index 66f7172..342ded6 100644
--- a/zzz_generated/app-common/clusters/PowerTopology/CommandIds.h
+++ b/zzz_generated/app-common/clusters/PowerTopology/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace PowerTopology {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace PowerTopology
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/PressureMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/PressureMeasurement/AttributeIds.h
index 8ebf1a8..485326c 100644
--- a/zzz_generated/app-common/clusters/PressureMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/PressureMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace PressureMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 14;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/PressureMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/PressureMeasurement/CommandIds.h
index d4a9988..15b49c7 100644
--- a/zzz_generated/app-common/clusters/PressureMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/PressureMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace PressureMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace PressureMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ProxyConfiguration/AttributeIds.h b/zzz_generated/app-common/clusters/ProxyConfiguration/AttributeIds.h
index 6bae064..3d0b72a 100644
--- a/zzz_generated/app-common/clusters/ProxyConfiguration/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ProxyConfiguration/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ProxyConfiguration {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/ProxyConfiguration/CommandIds.h b/zzz_generated/app-common/clusters/ProxyConfiguration/CommandIds.h
index 6e39c00..ae9d6fc 100644
--- a/zzz_generated/app-common/clusters/ProxyConfiguration/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ProxyConfiguration/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace ProxyConfiguration {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace ProxyConfiguration
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ProxyDiscovery/AttributeIds.h b/zzz_generated/app-common/clusters/ProxyDiscovery/AttributeIds.h
index 4761762..7e09e59 100644
--- a/zzz_generated/app-common/clusters/ProxyDiscovery/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ProxyDiscovery/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ProxyDiscovery {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/ProxyDiscovery/CommandIds.h b/zzz_generated/app-common/clusters/ProxyDiscovery/CommandIds.h
index 8e1f3d0..8354bbc 100644
--- a/zzz_generated/app-common/clusters/ProxyDiscovery/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ProxyDiscovery/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace ProxyDiscovery {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace ProxyDiscovery
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ProxyValid/AttributeIds.h b/zzz_generated/app-common/clusters/ProxyValid/AttributeIds.h
index fc738b4..75b9659 100644
--- a/zzz_generated/app-common/clusters/ProxyValid/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ProxyValid/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ProxyValid {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/ProxyValid/CommandIds.h b/zzz_generated/app-common/clusters/ProxyValid/CommandIds.h
index c02906d..b0de381 100644
--- a/zzz_generated/app-common/clusters/ProxyValid/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ProxyValid/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace ProxyValid {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace ProxyValid
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/PulseWidthModulation/AttributeIds.h b/zzz_generated/app-common/clusters/PulseWidthModulation/AttributeIds.h
index a940af3..9785830 100644
--- a/zzz_generated/app-common/clusters/PulseWidthModulation/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/PulseWidthModulation/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace PulseWidthModulation {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 5;
+
 namespace GeneratedCommandList {
 inline constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
 } // namespace GeneratedCommandList
diff --git a/zzz_generated/app-common/clusters/PulseWidthModulation/CommandIds.h b/zzz_generated/app-common/clusters/PulseWidthModulation/CommandIds.h
index 3e4c7be..0063ad8 100644
--- a/zzz_generated/app-common/clusters/PulseWidthModulation/CommandIds.h
+++ b/zzz_generated/app-common/clusters/PulseWidthModulation/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace PulseWidthModulation {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace PulseWidthModulation
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/PumpConfigurationAndControl/AttributeIds.h b/zzz_generated/app-common/clusters/PumpConfigurationAndControl/AttributeIds.h
index d2aa63b..aefe173 100644
--- a/zzz_generated/app-common/clusters/PumpConfigurationAndControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/PumpConfigurationAndControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace PumpConfigurationAndControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 28;
+
 namespace MaxPressure {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MaxPressure
diff --git a/zzz_generated/app-common/clusters/PumpConfigurationAndControl/CommandIds.h b/zzz_generated/app-common/clusters/PumpConfigurationAndControl/CommandIds.h
index 4de739e..7b3fcf2 100644
--- a/zzz_generated/app-common/clusters/PumpConfigurationAndControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/PumpConfigurationAndControl/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace PumpConfigurationAndControl {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace PumpConfigurationAndControl
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/PushAvStreamTransport/AttributeIds.h b/zzz_generated/app-common/clusters/PushAvStreamTransport/AttributeIds.h
index 82c57bc..c857a68 100644
--- a/zzz_generated/app-common/clusters/PushAvStreamTransport/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/PushAvStreamTransport/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace PushAvStreamTransport {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedFormats {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedFormats
diff --git a/zzz_generated/app-common/clusters/PushAvStreamTransport/CommandIds.h b/zzz_generated/app-common/clusters/PushAvStreamTransport/CommandIds.h
index b48dfa3..fbcdd80 100644
--- a/zzz_generated/app-common/clusters/PushAvStreamTransport/CommandIds.h
+++ b/zzz_generated/app-common/clusters/PushAvStreamTransport/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace PushAvStreamTransport {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 6;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace AllocatePushTransport {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace AllocatePushTransport
diff --git a/zzz_generated/app-common/clusters/RadonConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/RadonConcentrationMeasurement/AttributeIds.h
index 40be196..18c52d8 100644
--- a/zzz_generated/app-common/clusters/RadonConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/RadonConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace RadonConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/RadonConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/RadonConcentrationMeasurement/CommandIds.h
index 711d61d..2d8dc01 100644
--- a/zzz_generated/app-common/clusters/RadonConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/RadonConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace RadonConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace RadonConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/RefrigeratorAlarm/AttributeIds.h b/zzz_generated/app-common/clusters/RefrigeratorAlarm/AttributeIds.h
index 2ad1dab..50cb2d1 100644
--- a/zzz_generated/app-common/clusters/RefrigeratorAlarm/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/RefrigeratorAlarm/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace RefrigeratorAlarm {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace Mask {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Mask
diff --git a/zzz_generated/app-common/clusters/RefrigeratorAlarm/CommandIds.h b/zzz_generated/app-common/clusters/RefrigeratorAlarm/CommandIds.h
index 2bd6a10..1f4e6e9 100644
--- a/zzz_generated/app-common/clusters/RefrigeratorAlarm/CommandIds.h
+++ b/zzz_generated/app-common/clusters/RefrigeratorAlarm/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace RefrigeratorAlarm {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace RefrigeratorAlarm
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/RefrigeratorAndTemperatureControlledCabinetMode/AttributeIds.h b/zzz_generated/app-common/clusters/RefrigeratorAndTemperatureControlledCabinetMode/AttributeIds.h
index 6010d75..b3f849c 100644
--- a/zzz_generated/app-common/clusters/RefrigeratorAndTemperatureControlledCabinetMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/RefrigeratorAndTemperatureControlledCabinetMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace RefrigeratorAndTemperatureControlledCabinetMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/RefrigeratorAndTemperatureControlledCabinetMode/CommandIds.h b/zzz_generated/app-common/clusters/RefrigeratorAndTemperatureControlledCabinetMode/CommandIds.h
index eff4172..0608e78 100644
--- a/zzz_generated/app-common/clusters/RefrigeratorAndTemperatureControlledCabinetMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/RefrigeratorAndTemperatureControlledCabinetMode/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace RefrigeratorAndTemperatureControlledCabinetMode {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/RelativeHumidityMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/RelativeHumidityMeasurement/AttributeIds.h
index 6ab8661..6ef3142 100644
--- a/zzz_generated/app-common/clusters/RelativeHumidityMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/RelativeHumidityMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace RelativeHumidityMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/RelativeHumidityMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/RelativeHumidityMeasurement/CommandIds.h
index 99db09c..8791b9d 100644
--- a/zzz_generated/app-common/clusters/RelativeHumidityMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/RelativeHumidityMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace RelativeHumidityMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace RelativeHumidityMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/RvcCleanMode/AttributeIds.h b/zzz_generated/app-common/clusters/RvcCleanMode/AttributeIds.h
index 126b620..c2f2fbb 100644
--- a/zzz_generated/app-common/clusters/RvcCleanMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/RvcCleanMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace RvcCleanMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/RvcCleanMode/CommandIds.h b/zzz_generated/app-common/clusters/RvcCleanMode/CommandIds.h
index a83ec9f..76c2c26 100644
--- a/zzz_generated/app-common/clusters/RvcCleanMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/RvcCleanMode/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace RvcCleanMode {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/RvcOperationalState/AttributeIds.h b/zzz_generated/app-common/clusters/RvcOperationalState/AttributeIds.h
index 74c8614..8c49e94 100644
--- a/zzz_generated/app-common/clusters/RvcOperationalState/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/RvcOperationalState/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace RvcOperationalState {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace PhaseList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace PhaseList
diff --git a/zzz_generated/app-common/clusters/RvcOperationalState/CommandIds.h b/zzz_generated/app-common/clusters/RvcOperationalState/CommandIds.h
index 6a86d1b..6c4d564 100644
--- a/zzz_generated/app-common/clusters/RvcOperationalState/CommandIds.h
+++ b/zzz_generated/app-common/clusters/RvcOperationalState/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace RvcOperationalState {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace Pause {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Pause
diff --git a/zzz_generated/app-common/clusters/RvcRunMode/AttributeIds.h b/zzz_generated/app-common/clusters/RvcRunMode/AttributeIds.h
index 84048ff..1adc313 100644
--- a/zzz_generated/app-common/clusters/RvcRunMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/RvcRunMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace RvcRunMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/RvcRunMode/CommandIds.h b/zzz_generated/app-common/clusters/RvcRunMode/CommandIds.h
index e5b7152..5d43cf9 100644
--- a/zzz_generated/app-common/clusters/RvcRunMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/RvcRunMode/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace RvcRunMode {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/SampleMei/AttributeIds.h b/zzz_generated/app-common/clusters/SampleMei/AttributeIds.h
index 04ef9e3..0618199 100644
--- a/zzz_generated/app-common/clusters/SampleMei/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/SampleMei/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace SampleMei {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace FlipFlop {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace FlipFlop
diff --git a/zzz_generated/app-common/clusters/SampleMei/CommandIds.h b/zzz_generated/app-common/clusters/SampleMei/CommandIds.h
index 91d3ba3..2bb3c8d 100644
--- a/zzz_generated/app-common/clusters/SampleMei/CommandIds.h
+++ b/zzz_generated/app-common/clusters/SampleMei/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace SampleMei {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace Ping {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Ping
diff --git a/zzz_generated/app-common/clusters/ScenesManagement/AttributeIds.h b/zzz_generated/app-common/clusters/ScenesManagement/AttributeIds.h
index 82cca4a..1c48fa5 100644
--- a/zzz_generated/app-common/clusters/ScenesManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ScenesManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ScenesManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SceneTableSize {
 inline constexpr AttributeId Id = 0x00000001;
 } // namespace SceneTableSize
diff --git a/zzz_generated/app-common/clusters/ScenesManagement/CommandIds.h b/zzz_generated/app-common/clusters/ScenesManagement/CommandIds.h
index 3992148..85dab6d 100644
--- a/zzz_generated/app-common/clusters/ScenesManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ScenesManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ScenesManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 8;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 7;
+
 namespace AddScene {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace AddScene
diff --git a/zzz_generated/app-common/clusters/ServiceArea/AttributeIds.h b/zzz_generated/app-common/clusters/ServiceArea/AttributeIds.h
index 0e96db7..eb583ac 100644
--- a/zzz_generated/app-common/clusters/ServiceArea/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ServiceArea/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ServiceArea {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace SupportedAreas {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedAreas
diff --git a/zzz_generated/app-common/clusters/ServiceArea/CommandIds.h b/zzz_generated/app-common/clusters/ServiceArea/CommandIds.h
index 1793802..47ad01c 100644
--- a/zzz_generated/app-common/clusters/ServiceArea/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ServiceArea/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ServiceArea {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace SelectAreas {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SelectAreas
diff --git a/zzz_generated/app-common/clusters/SmokeCoAlarm/AttributeIds.h b/zzz_generated/app-common/clusters/SmokeCoAlarm/AttributeIds.h
index b65ef8b..7cb9a8f 100644
--- a/zzz_generated/app-common/clusters/SmokeCoAlarm/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/SmokeCoAlarm/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace SmokeCoAlarm {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 18;
+
 namespace ExpressedState {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace ExpressedState
diff --git a/zzz_generated/app-common/clusters/SmokeCoAlarm/CommandIds.h b/zzz_generated/app-common/clusters/SmokeCoAlarm/CommandIds.h
index d54e46b..7eebb05 100644
--- a/zzz_generated/app-common/clusters/SmokeCoAlarm/CommandIds.h
+++ b/zzz_generated/app-common/clusters/SmokeCoAlarm/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace SmokeCoAlarm {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace SelfTestRequest {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SelfTestRequest
diff --git a/zzz_generated/app-common/clusters/SoftwareDiagnostics/AttributeIds.h b/zzz_generated/app-common/clusters/SoftwareDiagnostics/AttributeIds.h
index 2b54507..10fbafd 100644
--- a/zzz_generated/app-common/clusters/SoftwareDiagnostics/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/SoftwareDiagnostics/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace SoftwareDiagnostics {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace ThreadMetrics {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace ThreadMetrics
diff --git a/zzz_generated/app-common/clusters/SoftwareDiagnostics/CommandIds.h b/zzz_generated/app-common/clusters/SoftwareDiagnostics/CommandIds.h
index 5445885..71fe6b2 100644
--- a/zzz_generated/app-common/clusters/SoftwareDiagnostics/CommandIds.h
+++ b/zzz_generated/app-common/clusters/SoftwareDiagnostics/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace SoftwareDiagnostics {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace ResetWatermarks {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ResetWatermarks
diff --git a/zzz_generated/app-common/clusters/SoilMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/SoilMeasurement/AttributeIds.h
index 20f9294..c1a119c 100644
--- a/zzz_generated/app-common/clusters/SoilMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/SoilMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace SoilMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SoilMoistureMeasurementLimits {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SoilMoistureMeasurementLimits
diff --git a/zzz_generated/app-common/clusters/SoilMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/SoilMeasurement/CommandIds.h
index 8ed567d..06ce0e0 100644
--- a/zzz_generated/app-common/clusters/SoilMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/SoilMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace SoilMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace SoilMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/Switch/AttributeIds.h b/zzz_generated/app-common/clusters/Switch/AttributeIds.h
index bfd2119..85e0abf 100644
--- a/zzz_generated/app-common/clusters/Switch/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Switch/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Switch {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace NumberOfPositions {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace NumberOfPositions
diff --git a/zzz_generated/app-common/clusters/Switch/CommandIds.h b/zzz_generated/app-common/clusters/Switch/CommandIds.h
index f73524f..cec010a 100644
--- a/zzz_generated/app-common/clusters/Switch/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Switch/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace Switch {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace Switch
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/TargetNavigator/AttributeIds.h b/zzz_generated/app-common/clusters/TargetNavigator/AttributeIds.h
index bcff41d..52bfa28 100644
--- a/zzz_generated/app-common/clusters/TargetNavigator/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/TargetNavigator/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace TargetNavigator {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace TargetList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace TargetList
diff --git a/zzz_generated/app-common/clusters/TargetNavigator/CommandIds.h b/zzz_generated/app-common/clusters/TargetNavigator/CommandIds.h
index 916a1ac..db6d909 100644
--- a/zzz_generated/app-common/clusters/TargetNavigator/CommandIds.h
+++ b/zzz_generated/app-common/clusters/TargetNavigator/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace TargetNavigator {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace NavigateTarget {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace NavigateTarget
diff --git a/zzz_generated/app-common/clusters/TemperatureControl/AttributeIds.h b/zzz_generated/app-common/clusters/TemperatureControl/AttributeIds.h
index 7d5c1af..a441887 100644
--- a/zzz_generated/app-common/clusters/TemperatureControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/TemperatureControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace TemperatureControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace TemperatureSetpoint {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace TemperatureSetpoint
diff --git a/zzz_generated/app-common/clusters/TemperatureControl/CommandIds.h b/zzz_generated/app-common/clusters/TemperatureControl/CommandIds.h
index 43703d7..f0a51d9 100644
--- a/zzz_generated/app-common/clusters/TemperatureControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/TemperatureControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace TemperatureControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace SetTemperature {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SetTemperature
diff --git a/zzz_generated/app-common/clusters/TemperatureMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/TemperatureMeasurement/AttributeIds.h
index 5e067f7..2eb08e4 100644
--- a/zzz_generated/app-common/clusters/TemperatureMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/TemperatureMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace TemperatureMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/TemperatureMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/TemperatureMeasurement/CommandIds.h
index d54fef2..f440db6 100644
--- a/zzz_generated/app-common/clusters/TemperatureMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/TemperatureMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace TemperatureMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace TemperatureMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/Thermostat/AttributeIds.h b/zzz_generated/app-common/clusters/Thermostat/AttributeIds.h
index 7dfd044..9769d5e 100644
--- a/zzz_generated/app-common/clusters/Thermostat/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Thermostat/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Thermostat {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 69;
+
 namespace LocalTemperature {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace LocalTemperature
diff --git a/zzz_generated/app-common/clusters/Thermostat/CommandIds.h b/zzz_generated/app-common/clusters/Thermostat/CommandIds.h
index de20383..6423f54 100644
--- a/zzz_generated/app-common/clusters/Thermostat/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Thermostat/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace Thermostat {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 9;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 3;
+
 namespace SetpointRaiseLower {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SetpointRaiseLower
diff --git a/zzz_generated/app-common/clusters/ThermostatUserInterfaceConfiguration/AttributeIds.h b/zzz_generated/app-common/clusters/ThermostatUserInterfaceConfiguration/AttributeIds.h
index 1208722..487a7f0 100644
--- a/zzz_generated/app-common/clusters/ThermostatUserInterfaceConfiguration/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ThermostatUserInterfaceConfiguration/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ThermostatUserInterfaceConfiguration {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace TemperatureDisplayMode {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace TemperatureDisplayMode
diff --git a/zzz_generated/app-common/clusters/ThermostatUserInterfaceConfiguration/CommandIds.h b/zzz_generated/app-common/clusters/ThermostatUserInterfaceConfiguration/CommandIds.h
index a86a646..bc2a8f4 100644
--- a/zzz_generated/app-common/clusters/ThermostatUserInterfaceConfiguration/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ThermostatUserInterfaceConfiguration/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace ThermostatUserInterfaceConfiguration {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace ThermostatUserInterfaceConfiguration
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ThreadBorderRouterManagement/AttributeIds.h b/zzz_generated/app-common/clusters/ThreadBorderRouterManagement/AttributeIds.h
index ff06b47..8c6d615 100644
--- a/zzz_generated/app-common/clusters/ThreadBorderRouterManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ThreadBorderRouterManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ThreadBorderRouterManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace BorderRouterName {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace BorderRouterName
diff --git a/zzz_generated/app-common/clusters/ThreadBorderRouterManagement/CommandIds.h b/zzz_generated/app-common/clusters/ThreadBorderRouterManagement/CommandIds.h
index 93c74ae..6353678 100644
--- a/zzz_generated/app-common/clusters/ThreadBorderRouterManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ThreadBorderRouterManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ThreadBorderRouterManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 4;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace GetActiveDatasetRequest {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace GetActiveDatasetRequest
diff --git a/zzz_generated/app-common/clusters/ThreadNetworkDiagnostics/AttributeIds.h b/zzz_generated/app-common/clusters/ThreadNetworkDiagnostics/AttributeIds.h
index 91c35db..f2275aa 100644
--- a/zzz_generated/app-common/clusters/ThreadNetworkDiagnostics/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ThreadNetworkDiagnostics/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ThreadNetworkDiagnostics {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 70;
+
 namespace Channel {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Channel
diff --git a/zzz_generated/app-common/clusters/ThreadNetworkDiagnostics/CommandIds.h b/zzz_generated/app-common/clusters/ThreadNetworkDiagnostics/CommandIds.h
index 6926622..97b2a53 100644
--- a/zzz_generated/app-common/clusters/ThreadNetworkDiagnostics/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ThreadNetworkDiagnostics/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ThreadNetworkDiagnostics {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace ResetCounts {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ResetCounts
diff --git a/zzz_generated/app-common/clusters/ThreadNetworkDirectory/AttributeIds.h b/zzz_generated/app-common/clusters/ThreadNetworkDirectory/AttributeIds.h
index 43d447a..4484612 100644
--- a/zzz_generated/app-common/clusters/ThreadNetworkDirectory/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ThreadNetworkDirectory/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ThreadNetworkDirectory {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace PreferredExtendedPanID {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace PreferredExtendedPanID
diff --git a/zzz_generated/app-common/clusters/ThreadNetworkDirectory/CommandIds.h b/zzz_generated/app-common/clusters/ThreadNetworkDirectory/CommandIds.h
index 2887883..327f501 100644
--- a/zzz_generated/app-common/clusters/ThreadNetworkDirectory/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ThreadNetworkDirectory/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ThreadNetworkDirectory {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace AddNetwork {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace AddNetwork
diff --git a/zzz_generated/app-common/clusters/TimeFormatLocalization/AttributeIds.h b/zzz_generated/app-common/clusters/TimeFormatLocalization/AttributeIds.h
index 4bc7d20..e9d42d8 100644
--- a/zzz_generated/app-common/clusters/TimeFormatLocalization/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/TimeFormatLocalization/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace TimeFormatLocalization {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace HourFormat {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace HourFormat
diff --git a/zzz_generated/app-common/clusters/TimeFormatLocalization/CommandIds.h b/zzz_generated/app-common/clusters/TimeFormatLocalization/CommandIds.h
index e6d9806..7c9b770 100644
--- a/zzz_generated/app-common/clusters/TimeFormatLocalization/CommandIds.h
+++ b/zzz_generated/app-common/clusters/TimeFormatLocalization/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace TimeFormatLocalization {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace TimeFormatLocalization
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/TimeSynchronization/AttributeIds.h b/zzz_generated/app-common/clusters/TimeSynchronization/AttributeIds.h
index 6756f37..a1bd716 100644
--- a/zzz_generated/app-common/clusters/TimeSynchronization/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/TimeSynchronization/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace TimeSynchronization {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 18;
+
 namespace UTCTime {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace UTCTime
diff --git a/zzz_generated/app-common/clusters/TimeSynchronization/CommandIds.h b/zzz_generated/app-common/clusters/TimeSynchronization/CommandIds.h
index 3b508e5..4b169e2 100644
--- a/zzz_generated/app-common/clusters/TimeSynchronization/CommandIds.h
+++ b/zzz_generated/app-common/clusters/TimeSynchronization/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace TimeSynchronization {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 5;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace SetUTCTime {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SetUTCTime
diff --git a/zzz_generated/app-common/clusters/Timer/AttributeIds.h b/zzz_generated/app-common/clusters/Timer/AttributeIds.h
index 76e4e43..7ce340d 100644
--- a/zzz_generated/app-common/clusters/Timer/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/Timer/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace Timer {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 8;
+
 namespace SetTime {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SetTime
diff --git a/zzz_generated/app-common/clusters/Timer/CommandIds.h b/zzz_generated/app-common/clusters/Timer/CommandIds.h
index 9359305..b0b4879 100644
--- a/zzz_generated/app-common/clusters/Timer/CommandIds.h
+++ b/zzz_generated/app-common/clusters/Timer/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace Timer {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 4;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace SetTimer {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SetTimer
diff --git a/zzz_generated/app-common/clusters/TlsCertificateManagement/AttributeIds.h b/zzz_generated/app-common/clusters/TlsCertificateManagement/AttributeIds.h
index dde9e6b..a30c8d1 100644
--- a/zzz_generated/app-common/clusters/TlsCertificateManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/TlsCertificateManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace TlsCertificateManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 9;
+
 namespace MaxRootCertificates {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MaxRootCertificates
diff --git a/zzz_generated/app-common/clusters/TlsCertificateManagement/CommandIds.h b/zzz_generated/app-common/clusters/TlsCertificateManagement/CommandIds.h
index 76ba5e3..12165e8 100644
--- a/zzz_generated/app-common/clusters/TlsCertificateManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/TlsCertificateManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace TlsCertificateManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 9;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 6;
+
 namespace ProvisionRootCertificate {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ProvisionRootCertificate
diff --git a/zzz_generated/app-common/clusters/TlsClientManagement/AttributeIds.h b/zzz_generated/app-common/clusters/TlsClientManagement/AttributeIds.h
index 154517d..24d4d10 100644
--- a/zzz_generated/app-common/clusters/TlsClientManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/TlsClientManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace TlsClientManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace MaxProvisioned {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MaxProvisioned
diff --git a/zzz_generated/app-common/clusters/TlsClientManagement/CommandIds.h b/zzz_generated/app-common/clusters/TlsClientManagement/CommandIds.h
index eb17ca4..9e0bfa6 100644
--- a/zzz_generated/app-common/clusters/TlsClientManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/TlsClientManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace TlsClientManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 3;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace ProvisionEndpoint {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ProvisionEndpoint
diff --git a/zzz_generated/app-common/clusters/TotalVolatileOrganicCompoundsConcentrationMeasurement/AttributeIds.h b/zzz_generated/app-common/clusters/TotalVolatileOrganicCompoundsConcentrationMeasurement/AttributeIds.h
index 59f710c..476568f 100644
--- a/zzz_generated/app-common/clusters/TotalVolatileOrganicCompoundsConcentrationMeasurement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/TotalVolatileOrganicCompoundsConcentrationMeasurement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace TotalVolatileOrganicCompoundsConcentrationMeasurement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace MeasuredValue {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MeasuredValue
diff --git a/zzz_generated/app-common/clusters/TotalVolatileOrganicCompoundsConcentrationMeasurement/CommandIds.h b/zzz_generated/app-common/clusters/TotalVolatileOrganicCompoundsConcentrationMeasurement/CommandIds.h
index dbe6cbf..a935b00 100644
--- a/zzz_generated/app-common/clusters/TotalVolatileOrganicCompoundsConcentrationMeasurement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/TotalVolatileOrganicCompoundsConcentrationMeasurement/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace TotalVolatileOrganicCompoundsConcentrationMeasurement {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace TotalVolatileOrganicCompoundsConcentrationMeasurement
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/UnitLocalization/AttributeIds.h b/zzz_generated/app-common/clusters/UnitLocalization/AttributeIds.h
index 77e9f25..d7b7776 100644
--- a/zzz_generated/app-common/clusters/UnitLocalization/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/UnitLocalization/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace UnitLocalization {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace TemperatureUnit {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace TemperatureUnit
diff --git a/zzz_generated/app-common/clusters/UnitLocalization/CommandIds.h b/zzz_generated/app-common/clusters/UnitLocalization/CommandIds.h
index 9dcaae1..71a301d 100644
--- a/zzz_generated/app-common/clusters/UnitLocalization/CommandIds.h
+++ b/zzz_generated/app-common/clusters/UnitLocalization/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace UnitLocalization {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace UnitLocalization
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/UnitTesting/AttributeIds.h b/zzz_generated/app-common/clusters/UnitTesting/AttributeIds.h
index d37d3c1..3676364 100644
--- a/zzz_generated/app-common/clusters/UnitTesting/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/UnitTesting/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace UnitTesting {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 95;
+
 namespace Boolean {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Boolean
diff --git a/zzz_generated/app-common/clusters/UnitTesting/CommandIds.h b/zzz_generated/app-common/clusters/UnitTesting/CommandIds.h
index b45922f..140d4cb 100644
--- a/zzz_generated/app-common/clusters/UnitTesting/CommandIds.h
+++ b/zzz_generated/app-common/clusters/UnitTesting/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace UnitTesting {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 28;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 16;
+
 namespace Test {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Test
diff --git a/zzz_generated/app-common/clusters/UserLabel/AttributeIds.h b/zzz_generated/app-common/clusters/UserLabel/AttributeIds.h
index 07f3ab6..79584e9 100644
--- a/zzz_generated/app-common/clusters/UserLabel/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/UserLabel/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace UserLabel {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace LabelList {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace LabelList
diff --git a/zzz_generated/app-common/clusters/UserLabel/CommandIds.h b/zzz_generated/app-common/clusters/UserLabel/CommandIds.h
index 9f48eeb..fae2a76 100644
--- a/zzz_generated/app-common/clusters/UserLabel/CommandIds.h
+++ b/zzz_generated/app-common/clusters/UserLabel/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace UserLabel {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace UserLabel
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/ValveConfigurationAndControl/AttributeIds.h b/zzz_generated/app-common/clusters/ValveConfigurationAndControl/AttributeIds.h
index 45c21b6..fba8e7f 100644
--- a/zzz_generated/app-common/clusters/ValveConfigurationAndControl/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ValveConfigurationAndControl/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ValveConfigurationAndControl {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 16;
+
 namespace OpenDuration {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace OpenDuration
diff --git a/zzz_generated/app-common/clusters/ValveConfigurationAndControl/CommandIds.h b/zzz_generated/app-common/clusters/ValveConfigurationAndControl/CommandIds.h
index 3f9ada0..c7b586a 100644
--- a/zzz_generated/app-common/clusters/ValveConfigurationAndControl/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ValveConfigurationAndControl/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ValveConfigurationAndControl {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace Open {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Open
diff --git a/zzz_generated/app-common/clusters/WakeOnLan/AttributeIds.h b/zzz_generated/app-common/clusters/WakeOnLan/AttributeIds.h
index 6d49cca..80b9910 100644
--- a/zzz_generated/app-common/clusters/WakeOnLan/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/WakeOnLan/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace WakeOnLan {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace MACAddress {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MACAddress
diff --git a/zzz_generated/app-common/clusters/WakeOnLan/CommandIds.h b/zzz_generated/app-common/clusters/WakeOnLan/CommandIds.h
index 354e07a..9ab75f7 100644
--- a/zzz_generated/app-common/clusters/WakeOnLan/CommandIds.h
+++ b/zzz_generated/app-common/clusters/WakeOnLan/CommandIds.h
@@ -10,7 +10,15 @@
 namespace app {
 namespace Clusters {
 namespace WakeOnLan {
-namespace Commands {} // namespace Commands
+namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 0;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
+} // namespace Commands
 } // namespace WakeOnLan
 } // namespace Clusters
 } // namespace app
diff --git a/zzz_generated/app-common/clusters/WaterHeaterManagement/AttributeIds.h b/zzz_generated/app-common/clusters/WaterHeaterManagement/AttributeIds.h
index bc4ad4f..ae5f52e 100644
--- a/zzz_generated/app-common/clusters/WaterHeaterManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/WaterHeaterManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace WaterHeaterManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 11;
+
 namespace HeaterTypes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace HeaterTypes
diff --git a/zzz_generated/app-common/clusters/WaterHeaterManagement/CommandIds.h b/zzz_generated/app-common/clusters/WaterHeaterManagement/CommandIds.h
index 32dcbeb..7d261bc 100644
--- a/zzz_generated/app-common/clusters/WaterHeaterManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/WaterHeaterManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace WaterHeaterManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 2;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace Boost {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Boost
diff --git a/zzz_generated/app-common/clusters/WaterHeaterMode/AttributeIds.h b/zzz_generated/app-common/clusters/WaterHeaterMode/AttributeIds.h
index c0161d6..aeaa1a2 100644
--- a/zzz_generated/app-common/clusters/WaterHeaterMode/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/WaterHeaterMode/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace WaterHeaterMode {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace SupportedModes {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace SupportedModes
diff --git a/zzz_generated/app-common/clusters/WaterHeaterMode/CommandIds.h b/zzz_generated/app-common/clusters/WaterHeaterMode/CommandIds.h
index 14574de..47c39e4 100644
--- a/zzz_generated/app-common/clusters/WaterHeaterMode/CommandIds.h
+++ b/zzz_generated/app-common/clusters/WaterHeaterMode/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace WaterHeaterMode {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace ChangeToMode {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ChangeToMode
diff --git a/zzz_generated/app-common/clusters/WebRTCTransportProvider/AttributeIds.h b/zzz_generated/app-common/clusters/WebRTCTransportProvider/AttributeIds.h
index 96541cd..1e1988e 100644
--- a/zzz_generated/app-common/clusters/WebRTCTransportProvider/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/WebRTCTransportProvider/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace WebRTCTransportProvider {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace CurrentSessions {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CurrentSessions
diff --git a/zzz_generated/app-common/clusters/WebRTCTransportProvider/CommandIds.h b/zzz_generated/app-common/clusters/WebRTCTransportProvider/CommandIds.h
index eca095d..97cd90a 100644
--- a/zzz_generated/app-common/clusters/WebRTCTransportProvider/CommandIds.h
+++ b/zzz_generated/app-common/clusters/WebRTCTransportProvider/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace WebRTCTransportProvider {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 5;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 2;
+
 namespace SolicitOffer {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace SolicitOffer
diff --git a/zzz_generated/app-common/clusters/WebRTCTransportRequestor/AttributeIds.h b/zzz_generated/app-common/clusters/WebRTCTransportRequestor/AttributeIds.h
index 4fce821..9f3ed5e 100644
--- a/zzz_generated/app-common/clusters/WebRTCTransportRequestor/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/WebRTCTransportRequestor/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace WebRTCTransportRequestor {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 6;
+
 namespace CurrentSessions {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace CurrentSessions
diff --git a/zzz_generated/app-common/clusters/WebRTCTransportRequestor/CommandIds.h b/zzz_generated/app-common/clusters/WebRTCTransportRequestor/CommandIds.h
index 1f003d5..4747937 100644
--- a/zzz_generated/app-common/clusters/WebRTCTransportRequestor/CommandIds.h
+++ b/zzz_generated/app-common/clusters/WebRTCTransportRequestor/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace WebRTCTransportRequestor {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 4;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace Offer {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace Offer
diff --git a/zzz_generated/app-common/clusters/WiFiNetworkDiagnostics/AttributeIds.h b/zzz_generated/app-common/clusters/WiFiNetworkDiagnostics/AttributeIds.h
index 23a1765..9b279dc 100644
--- a/zzz_generated/app-common/clusters/WiFiNetworkDiagnostics/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/WiFiNetworkDiagnostics/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace WiFiNetworkDiagnostics {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 18;
+
 namespace Bssid {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Bssid
diff --git a/zzz_generated/app-common/clusters/WiFiNetworkDiagnostics/CommandIds.h b/zzz_generated/app-common/clusters/WiFiNetworkDiagnostics/CommandIds.h
index ccfc894..b920d6a 100644
--- a/zzz_generated/app-common/clusters/WiFiNetworkDiagnostics/CommandIds.h
+++ b/zzz_generated/app-common/clusters/WiFiNetworkDiagnostics/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace WiFiNetworkDiagnostics {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace ResetCounts {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace ResetCounts
diff --git a/zzz_generated/app-common/clusters/WiFiNetworkManagement/AttributeIds.h b/zzz_generated/app-common/clusters/WiFiNetworkManagement/AttributeIds.h
index 545ad51..b6fc535 100644
--- a/zzz_generated/app-common/clusters/WiFiNetworkManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/WiFiNetworkManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace WiFiNetworkManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 7;
+
 namespace Ssid {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Ssid
diff --git a/zzz_generated/app-common/clusters/WiFiNetworkManagement/CommandIds.h b/zzz_generated/app-common/clusters/WiFiNetworkManagement/CommandIds.h
index 11d4c99..0041ea1 100644
--- a/zzz_generated/app-common/clusters/WiFiNetworkManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/WiFiNetworkManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace WiFiNetworkManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 1;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace NetworkPassphraseRequest {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace NetworkPassphraseRequest
diff --git a/zzz_generated/app-common/clusters/WindowCovering/AttributeIds.h b/zzz_generated/app-common/clusters/WindowCovering/AttributeIds.h
index c1e870d..643b392 100644
--- a/zzz_generated/app-common/clusters/WindowCovering/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/WindowCovering/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace WindowCovering {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 27;
+
 namespace Type {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace Type
diff --git a/zzz_generated/app-common/clusters/WindowCovering/CommandIds.h b/zzz_generated/app-common/clusters/WindowCovering/CommandIds.h
index e3082f6..c9e17d9 100644
--- a/zzz_generated/app-common/clusters/WindowCovering/CommandIds.h
+++ b/zzz_generated/app-common/clusters/WindowCovering/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace WindowCovering {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 7;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 0;
+
 namespace UpOrOpen {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace UpOrOpen
diff --git a/zzz_generated/app-common/clusters/ZoneManagement/AttributeIds.h b/zzz_generated/app-common/clusters/ZoneManagement/AttributeIds.h
index d7d659e..602e4e8 100644
--- a/zzz_generated/app-common/clusters/ZoneManagement/AttributeIds.h
+++ b/zzz_generated/app-common/clusters/ZoneManagement/AttributeIds.h
@@ -12,6 +12,10 @@
 namespace Clusters {
 namespace ZoneManagement {
 namespace Attributes {
+
+// Total number of attributes supported by the cluster, including global attributes
+inline constexpr uint32_t kAttributesCount = 12;
+
 namespace MaxUserDefinedZones {
 inline constexpr AttributeId Id = 0x00000000;
 } // namespace MaxUserDefinedZones
diff --git a/zzz_generated/app-common/clusters/ZoneManagement/CommandIds.h b/zzz_generated/app-common/clusters/ZoneManagement/CommandIds.h
index a70c57b..f14c3f6 100644
--- a/zzz_generated/app-common/clusters/ZoneManagement/CommandIds.h
+++ b/zzz_generated/app-common/clusters/ZoneManagement/CommandIds.h
@@ -11,6 +11,13 @@
 namespace Clusters {
 namespace ZoneManagement {
 namespace Commands {
+
+// Total number of client to server commands supported by the cluster
+inline constexpr uint32_t kAcceptedCommandsCount = 5;
+
+// Total number of server to client commands supported by the cluster (response commands)
+inline constexpr uint32_t kGeneratedCommandsCount = 1;
+
 namespace CreateTwoDCartesianZone {
 inline constexpr CommandId Id = 0x00000000;
 } // namespace CreateTwoDCartesianZone