Python Cluster Object - Field Defaults (#12381)

* Python Cluster Object - Field Defaults

This initializes the various fields in a cluster object to type-specific
default values. This correclty handles nullable and optional types as
well.

* Missed a couple of places...

* Re-run codegen

* Re-gen Python cluster objects

* Restyle after regen

* Remove Objects.py from restyle

* Completely disable auto restyle for generated pyhon files

Co-authored-by: Andrei Litvin <andy314@gmail.com>
diff --git a/.restyled.yaml b/.restyled.yaml
index 176c249..2417db2 100644
--- a/.restyled.yaml
+++ b/.restyled.yaml
@@ -67,6 +67,8 @@
     - "third_party/nanopb/repo/**/*"
     - "src/android/CHIPTool/gradlew" # gradle wrapper generated file
     - "third_party/android_deps/gradlew" # gradle wrapper generated file
+    - "src/controller/python/chip/clusters/Objects.py" # generated file, no point to restyle
+    - "src/controller/python/chip/clusters/CHIPClusters.py" # generated file, no point to restyle
 
 
 changed_paths:
diff --git a/scripts/tools/zap/generate.py b/scripts/tools/zap/generate.py
index 4ce9e64..2f710cd 100755
--- a/scripts/tools/zap/generate.py
+++ b/scripts/tools/zap/generate.py
@@ -146,23 +146,6 @@
         print('google-java-format error:', err)
 
 
-def runPythonPrettifier(templates_file, output_dir):
-    try:
-        jsonData = json.loads(Path(templates_file).read_text())
-        outputs = [(os.path.join(output_dir, template['output']))
-                   for template in jsonData['templates']]
-        pyOutputs = list(
-            filter(lambda filepath: os.path.splitext(filepath)[1] == ".py", outputs))
-
-        if not pyOutputs:
-            return
-        args = ['autopep8', '--in-place']
-        args.extend(pyOutputs)
-        subprocess.check_call(args)
-    except Exception as err:
-        print('autopep8 error:', err)
-
-
 def main():
     checkPythonVersion()
 
@@ -172,7 +155,6 @@
     prettifiers = [
         runClangPrettifier,
         runJavaPrettifier,
-        runPythonPrettifier,
     ]
 
     for prettifier in prettifiers:
diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js
index de38983..1d7cdbb 100644
--- a/src/app/zap-templates/templates/app/helper.js
+++ b/src/app/zap-templates/templates/app/helper.js
@@ -516,6 +516,86 @@
   return _zapTypeToPythonClusterObjectType.call(this, type, options)
 }
 
+async function _getPythonFieldDefault(type, options)
+{
+  async function fn(pkgId)
+  {
+    const ns          = options.hash.ns;
+    const typeChecker = async (method) => zclHelper[method](this.global.db, type, pkgId).then(zclType => zclType != 'unknown');
+
+    if (await typeChecker('isEnum')) {
+      return '0';
+    }
+
+    if (await typeChecker('isBitmap')) {
+      return '0';
+    }
+
+    if (await typeChecker('isStruct')) {
+      return 'field(default_factory=lambda: ' + ns + '.Structs.' + type + '())';
+    }
+
+    if (StringHelper.isCharString(type)) {
+      return '""';
+    }
+
+    if (StringHelper.isOctetString(type)) {
+      return 'b""';
+    }
+
+    if ([ 'single', 'double' ].includes(type.toLowerCase())) {
+      return '0.0';
+    }
+
+    if (type.toLowerCase() == 'boolean') {
+      return 'False'
+    }
+
+    // #10748: asUnderlyingZclType will emit wrong types for int{48|56|64}(u), so we process all int values here.
+    if (type.toLowerCase().match(/^int\d+$/)) {
+      return '0'
+    }
+
+    if (type.toLowerCase().match(/^int\d+u$/)) {
+      return '0'
+    }
+
+    resolvedType = await zclHelper.asUnderlyingZclType.call({ global : this.global }, type, options);
+    {
+      basicType = ChipTypesHelper.asBasicType(resolvedType);
+      if (basicType.match(/^int\d+_t$/)) {
+        return '0'
+      }
+      if (basicType.match(/^uint\d+_t$/)) {
+        return '0'
+      }
+    }
+  }
+
+  let promise = templateUtil.ensureZclPackageId(this).then(fn.bind(this));
+  if ((this.isList || this.isArray || this.entryType) && !options.hash.forceNotList) {
+    promise = promise.then(typeStr => `field(default_factory=lambda: [])`);
+  }
+
+  const isNull     = (this.isNullable && !options.hash.forceNotNullable);
+  const isOptional = (this.isOptional && !options.hash.forceNotOptional);
+
+  if (isNull && isOptional) {
+    promise = promise.then(typeStr => `None`);
+  } else if (isNull) {
+    promise = promise.then(typeStr => `NullValue`);
+  } else if (isOptional) {
+    promise = promise.then(typeStr => `None`);
+  }
+
+  return templateUtil.templatePromise(this.global, promise)
+}
+
+function getPythonFieldDefault(type, options)
+{
+  return _getPythonFieldDefault.call(this, type, options)
+}
+
 async function getResponseCommandName(responseRef, options)
 {
   let pkgId = await templateUtil.ensureZclPackageId(this);
@@ -620,3 +700,4 @@
 exports.zapTypeToPythonClusterObjectType    = zapTypeToPythonClusterObjectType;
 exports.getResponseCommandName              = getResponseCommandName;
 exports.isWeaklyTypedEnum                   = isWeaklyTypedEnum;
+exports.getPythonFieldDefault               = getPythonFieldDefault;
diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py
index d78e1aa..873f7df 100644
--- a/src/controller/python/chip/clusters/CHIPClusters.py
+++ b/src/controller/python/chip/clusters/CHIPClusters.py
@@ -25,5259 +25,5258 @@
 
 __all__ = ["ChipClusters"]
 
-
 class ChipClusters:
     SUCCESS_DELEGATE = ctypes.CFUNCTYPE(None)
     FAILURE_DELEGATE = ctypes.CFUNCTYPE(None, ctypes.c_uint8)
 
     _ACCESS_CONTROL_CLUSTER_INFO = {
-        "clusterName": "AccessControl",
-        "clusterId": 0x0000001F,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Acl",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
-                "writable": True,
+            "clusterName": "AccessControl",
+            "clusterId": 0x0000001F,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "Extension",
-                "attributeId": 0x00000001,
-                "type": "",
-                "reportable": True,
-                "writable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Acl",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000001: {
+                    "attributeName": "Extension",
+                    "attributeId": 0x00000001,
+                    "type": "",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                },
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-            },
-        },
     }
     _ACCOUNT_LOGIN_CLUSTER_INFO = {
-        "clusterName": "AccountLogin",
-        "clusterId": 0x0000050E,
-        "commands": {
+            "clusterName": "AccountLogin",
+            "clusterId": 0x0000050E,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "GetSetupPIN",
-                "args": {
-                    "tempAccountIdentifier": "str",
+                    "commandId": 0x00000000,
+                    "commandName": "GetSetupPIN",
+                    "args": {
+                        "tempAccountIdentifier": "str",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "Login",
-                "args": {
-                    "tempAccountIdentifier": "str",
-                    "setupPIN": "str",
+                    "commandId": 0x00000001,
+                    "commandName": "Login",
+                    "args": {
+                        "tempAccountIdentifier": "str",
+                        "setupPIN": "str",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _ADMINISTRATOR_COMMISSIONING_CLUSTER_INFO = {
-        "clusterName": "AdministratorCommissioning",
-        "clusterId": 0x0000003C,
-        "commands": {
+            "clusterName": "AdministratorCommissioning",
+            "clusterId": 0x0000003C,
+            "commands": {
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "OpenBasicCommissioningWindow",
-                "args": {
-                    "commissioningTimeout": "int",
+                    "commandId": 0x00000001,
+                    "commandName": "OpenBasicCommissioningWindow",
+                    "args": {
+                        "commissioningTimeout": "int",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "OpenCommissioningWindow",
-                "args": {
-                    "commissioningTimeout": "int",
-                    "PAKEVerifier": "bytes",
-                    "discriminator": "int",
-                    "iterations": "int",
-                    "salt": "bytes",
-                    "passcodeID": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "OpenCommissioningWindow",
+                    "args": {
+                        "commissioningTimeout": "int",
+                        "PAKEVerifier": "bytes",
+                        "discriminator": "int",
+                        "iterations": "int",
+                        "salt": "bytes",
+                        "passcodeID": "int",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "RevokeCommissioning",
-                "args": {
+                    "commandId": 0x00000002,
+                    "commandName": "RevokeCommissioning",
+                    "args": {
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _APPLICATION_BASIC_CLUSTER_INFO = {
-        "clusterName": "ApplicationBasic",
-        "clusterId": 0x0000050D,
-        "commands": {
+            "clusterName": "ApplicationBasic",
+            "clusterId": 0x0000050D,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "ChangeStatus",
-                "args": {
-                    "status": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "ChangeStatus",
+                    "args": {
+                        "status": "int",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "VendorName",
-                "attributeId": 0x00000000,
-                "type": "str",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "VendorName",
+                    "attributeId": 0x00000000,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "VendorId",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "ApplicationName",
+                    "attributeId": 0x00000002,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "ProductId",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "ApplicationId",
+                    "attributeId": 0x00000005,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "CatalogVendorId",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000007: {
+                    "attributeName": "ApplicationStatus",
+                    "attributeId": 0x00000007,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "VendorId",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "ApplicationName",
-                "attributeId": 0x00000002,
-                "type": "str",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "ProductId",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "ApplicationId",
-                "attributeId": 0x00000005,
-                "type": "str",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "CatalogVendorId",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000007: {
-                "attributeName": "ApplicationStatus",
-                "attributeId": 0x00000007,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _APPLICATION_LAUNCHER_CLUSTER_INFO = {
-        "clusterName": "ApplicationLauncher",
-        "clusterId": 0x0000050C,
-        "commands": {
+            "clusterName": "ApplicationLauncher",
+            "clusterId": 0x0000050C,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "LaunchApp",
-                "args": {
-                    "data": "str",
-                    "catalogVendorId": "int",
-                    "applicationId": "str",
+                    "commandId": 0x00000000,
+                    "commandName": "LaunchApp",
+                    "args": {
+                        "data": "str",
+                        "catalogVendorId": "int",
+                        "applicationId": "str",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "ApplicationLauncherList",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "ApplicationLauncherList",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "CatalogVendorId",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "ApplicationId",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "CatalogVendorId",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "ApplicationId",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _AUDIO_OUTPUT_CLUSTER_INFO = {
-        "clusterName": "AudioOutput",
-        "clusterId": 0x0000050B,
-        "commands": {
+            "clusterName": "AudioOutput",
+            "clusterId": 0x0000050B,
+            "commands": {
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "RenameOutput",
-                "args": {
-                    "index": "int",
-                    "name": "str",
+                    "commandId": 0x00000001,
+                    "commandName": "RenameOutput",
+                    "args": {
+                        "index": "int",
+                        "name": "str",
+                    },
+                },
+            0x00000000: {
+                    "commandId": 0x00000000,
+                    "commandName": "SelectOutput",
+                    "args": {
+                        "index": "int",
+                    },
                 },
             },
-            0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "SelectOutput",
-                "args": {
-                    "index": "int",
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "AudioOutputList",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "CurrentAudioOutput",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "AudioOutputList",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
-            },
-            0x00000001: {
-                "attributeName": "CurrentAudioOutput",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _BARRIER_CONTROL_CLUSTER_INFO = {
-        "clusterName": "BarrierControl",
-        "clusterId": 0x00000103,
-        "commands": {
+            "clusterName": "BarrierControl",
+            "clusterId": 0x00000103,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "BarrierControlGoToPercent",
-                "args": {
-                    "percentOpen": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "BarrierControlGoToPercent",
+                    "args": {
+                        "percentOpen": "int",
+                    },
+                },
+            0x00000001: {
+                    "commandId": 0x00000001,
+                    "commandName": "BarrierControlStop",
+                    "args": {
+                    },
                 },
             },
-            0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "BarrierControlStop",
-                "args": {
+            "attributes": {
+                0x00000001: {
+                    "attributeName": "BarrierMovingState",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "BarrierSafetyStatus",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "BarrierCapabilities",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000A: {
+                    "attributeName": "BarrierPosition",
+                    "attributeId": 0x0000000A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000001: {
-                "attributeName": "BarrierMovingState",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "BarrierSafetyStatus",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "BarrierCapabilities",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000A: {
-                "attributeName": "BarrierPosition",
-                "attributeId": 0x0000000A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _BASIC_CLUSTER_INFO = {
-        "clusterName": "Basic",
-        "clusterId": 0x00000028,
-        "commands": {
+            "clusterName": "Basic",
+            "clusterId": 0x00000028,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "MfgSpecificPing",
-                "args": {
+                    "commandId": 0x00000000,
+                    "commandName": "MfgSpecificPing",
+                    "args": {
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "InteractionModelVersion",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "InteractionModelVersion",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "VendorName",
+                    "attributeId": 0x00000001,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "VendorID",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "ProductName",
+                    "attributeId": 0x00000003,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "ProductID",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "NodeLabel",
+                    "attributeId": 0x00000005,
+                    "type": "str",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000006: {
+                    "attributeName": "Location",
+                    "attributeId": 0x00000006,
+                    "type": "str",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000007: {
+                    "attributeName": "HardwareVersion",
+                    "attributeId": 0x00000007,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000008: {
+                    "attributeName": "HardwareVersionString",
+                    "attributeId": 0x00000008,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x00000009: {
+                    "attributeName": "SoftwareVersion",
+                    "attributeId": 0x00000009,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000A: {
+                    "attributeName": "SoftwareVersionString",
+                    "attributeId": 0x0000000A,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x0000000B: {
+                    "attributeName": "ManufacturingDate",
+                    "attributeId": 0x0000000B,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x0000000C: {
+                    "attributeName": "PartNumber",
+                    "attributeId": 0x0000000C,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x0000000D: {
+                    "attributeName": "ProductURL",
+                    "attributeId": 0x0000000D,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x0000000E: {
+                    "attributeName": "ProductLabel",
+                    "attributeId": 0x0000000E,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x0000000F: {
+                    "attributeName": "SerialNumber",
+                    "attributeId": 0x0000000F,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x00000010: {
+                    "attributeName": "LocalConfigDisabled",
+                    "attributeId": 0x00000010,
+                    "type": "bool",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000011: {
+                    "attributeName": "Reachable",
+                    "attributeId": 0x00000011,
+                    "type": "bool",
+                    "reportable": True,
+                },
+                0x00000012: {
+                    "attributeName": "UniqueID",
+                    "attributeId": 0x00000012,
+                    "type": "str",
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "VendorName",
-                "attributeId": 0x00000001,
-                "type": "str",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "VendorID",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "ProductName",
-                "attributeId": 0x00000003,
-                "type": "str",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "ProductID",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "NodeLabel",
-                "attributeId": 0x00000005,
-                "type": "str",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000006: {
-                "attributeName": "Location",
-                "attributeId": 0x00000006,
-                "type": "str",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000007: {
-                "attributeName": "HardwareVersion",
-                "attributeId": 0x00000007,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000008: {
-                "attributeName": "HardwareVersionString",
-                "attributeId": 0x00000008,
-                "type": "str",
-                "reportable": True,
-            },
-            0x00000009: {
-                "attributeName": "SoftwareVersion",
-                "attributeId": 0x00000009,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000A: {
-                "attributeName": "SoftwareVersionString",
-                "attributeId": 0x0000000A,
-                "type": "str",
-                "reportable": True,
-            },
-            0x0000000B: {
-                "attributeName": "ManufacturingDate",
-                "attributeId": 0x0000000B,
-                "type": "str",
-                "reportable": True,
-            },
-            0x0000000C: {
-                "attributeName": "PartNumber",
-                "attributeId": 0x0000000C,
-                "type": "str",
-                "reportable": True,
-            },
-            0x0000000D: {
-                "attributeName": "ProductURL",
-                "attributeId": 0x0000000D,
-                "type": "str",
-                "reportable": True,
-            },
-            0x0000000E: {
-                "attributeName": "ProductLabel",
-                "attributeId": 0x0000000E,
-                "type": "str",
-                "reportable": True,
-            },
-            0x0000000F: {
-                "attributeName": "SerialNumber",
-                "attributeId": 0x0000000F,
-                "type": "str",
-                "reportable": True,
-            },
-            0x00000010: {
-                "attributeName": "LocalConfigDisabled",
-                "attributeId": 0x00000010,
-                "type": "bool",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000011: {
-                "attributeName": "Reachable",
-                "attributeId": 0x00000011,
-                "type": "bool",
-                "reportable": True,
-            },
-            0x00000012: {
-                "attributeName": "UniqueID",
-                "attributeId": 0x00000012,
-                "type": "str",
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _BINARY_INPUT_BASIC_CLUSTER_INFO = {
-        "clusterName": "BinaryInputBasic",
-        "clusterId": 0x0000000F,
-        "commands": {
-        },
-        "attributes": {
-            0x00000051: {
-                "attributeName": "OutOfService",
-                "attributeId": 0x00000051,
-                "type": "bool",
-                "reportable": True,
-                "writable": True,
+            "clusterName": "BinaryInputBasic",
+            "clusterId": 0x0000000F,
+            "commands": {
             },
-            0x00000055: {
-                "attributeName": "PresentValue",
-                "attributeId": 0x00000055,
-                "type": "bool",
-                "reportable": True,
-                "writable": True,
+            "attributes": {
+                0x00000051: {
+                    "attributeName": "OutOfService",
+                    "attributeId": 0x00000051,
+                    "type": "bool",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000055: {
+                    "attributeName": "PresentValue",
+                    "attributeId": 0x00000055,
+                    "type": "bool",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000006F: {
+                    "attributeName": "StatusFlags",
+                    "attributeId": 0x0000006F,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x0000006F: {
-                "attributeName": "StatusFlags",
-                "attributeId": 0x0000006F,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _BINDING_CLUSTER_INFO = {
-        "clusterName": "Binding",
-        "clusterId": 0x0000001E,
-        "commands": {
+            "clusterName": "Binding",
+            "clusterId": 0x0000001E,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "Bind",
-                "args": {
-                    "nodeId": "int",
-                    "groupId": "int",
-                    "endpointId": "int",
-                    "clusterId": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "Bind",
+                    "args": {
+                        "nodeId": "int",
+                        "groupId": "int",
+                        "endpointId": "int",
+                        "clusterId": "int",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "Unbind",
-                "args": {
-                    "nodeId": "int",
-                    "groupId": "int",
-                    "endpointId": "int",
-                    "clusterId": "int",
+                    "commandId": 0x00000001,
+                    "commandName": "Unbind",
+                    "args": {
+                        "nodeId": "int",
+                        "groupId": "int",
+                        "endpointId": "int",
+                        "clusterId": "int",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _BOOLEAN_STATE_CLUSTER_INFO = {
-        "clusterName": "BooleanState",
-        "clusterId": 0x00000045,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "StateValue",
-                "attributeId": 0x00000000,
-                "type": "bool",
-                "reportable": True,
+            "clusterName": "BooleanState",
+            "clusterId": 0x00000045,
+            "commands": {
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "StateValue",
+                    "attributeId": 0x00000000,
+                    "type": "bool",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _BRIDGED_ACTIONS_CLUSTER_INFO = {
-        "clusterName": "BridgedActions",
-        "clusterId": 0x00000025,
-        "commands": {
+            "clusterName": "BridgedActions",
+            "clusterId": 0x00000025,
+            "commands": {
             0x0000000A: {
-                "commandId": 0x0000000A,
-                "commandName": "DisableAction",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
+                    "commandId": 0x0000000A,
+                    "commandName": "DisableAction",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                    },
                 },
-            },
             0x0000000B: {
-                "commandId": 0x0000000B,
-                "commandName": "DisableActionWithDuration",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
-                    "duration": "int",
+                    "commandId": 0x0000000B,
+                    "commandName": "DisableActionWithDuration",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                        "duration": "int",
+                    },
                 },
-            },
             0x00000008: {
-                "commandId": 0x00000008,
-                "commandName": "EnableAction",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
+                    "commandId": 0x00000008,
+                    "commandName": "EnableAction",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                    },
                 },
-            },
             0x00000009: {
-                "commandId": 0x00000009,
-                "commandName": "EnableActionWithDuration",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
-                    "duration": "int",
+                    "commandId": 0x00000009,
+                    "commandName": "EnableActionWithDuration",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                        "duration": "int",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "InstantAction",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "InstantAction",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "InstantActionWithTransition",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
-                    "transitionTime": "int",
+                    "commandId": 0x00000001,
+                    "commandName": "InstantActionWithTransition",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                        "transitionTime": "int",
+                    },
                 },
-            },
             0x00000005: {
-                "commandId": 0x00000005,
-                "commandName": "PauseAction",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
+                    "commandId": 0x00000005,
+                    "commandName": "PauseAction",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                    },
                 },
-            },
             0x00000006: {
-                "commandId": 0x00000006,
-                "commandName": "PauseActionWithDuration",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
-                    "duration": "int",
+                    "commandId": 0x00000006,
+                    "commandName": "PauseActionWithDuration",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                        "duration": "int",
+                    },
                 },
-            },
             0x00000007: {
-                "commandId": 0x00000007,
-                "commandName": "ResumeAction",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
+                    "commandId": 0x00000007,
+                    "commandName": "ResumeAction",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "StartAction",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
+                    "commandId": 0x00000002,
+                    "commandName": "StartAction",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                    },
                 },
-            },
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "StartActionWithDuration",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
-                    "duration": "int",
+                    "commandId": 0x00000003,
+                    "commandName": "StartActionWithDuration",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                        "duration": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "StopAction",
-                "args": {
-                    "actionID": "int",
-                    "invokeID": "int",
+                    "commandId": 0x00000004,
+                    "commandName": "StopAction",
+                    "args": {
+                        "actionID": "int",
+                        "invokeID": "int",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "ActionList",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "ActionList",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "EndpointList",
+                    "attributeId": 0x00000001,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "SetupUrl",
+                    "attributeId": 0x00000002,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "EndpointList",
-                "attributeId": 0x00000001,
-                "type": "",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "SetupUrl",
-                "attributeId": 0x00000002,
-                "type": "str",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _BRIDGED_DEVICE_BASIC_CLUSTER_INFO = {
-        "clusterName": "BridgedDeviceBasic",
-        "clusterId": 0x00000039,
-        "commands": {
-        },
-        "attributes": {
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "BridgedDeviceBasic",
+            "clusterId": 0x00000039,
+            "commands": {
             },
-        },
+            "attributes": {
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
+            },
     }
     _COLOR_CONTROL_CLUSTER_INFO = {
-        "clusterName": "ColorControl",
-        "clusterId": 0x00000300,
-        "commands": {
+            "clusterName": "ColorControl",
+            "clusterId": 0x00000300,
+            "commands": {
             0x00000044: {
-                "commandId": 0x00000044,
-                "commandName": "ColorLoopSet",
-                "args": {
-                    "updateFlags": "int",
-                    "action": "int",
-                    "direction": "int",
-                    "time": "int",
-                    "startHue": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000044,
+                    "commandName": "ColorLoopSet",
+                    "args": {
+                        "updateFlags": "int",
+                        "action": "int",
+                        "direction": "int",
+                        "time": "int",
+                        "startHue": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000041: {
-                "commandId": 0x00000041,
-                "commandName": "EnhancedMoveHue",
-                "args": {
-                    "moveMode": "int",
-                    "rate": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000041,
+                    "commandName": "EnhancedMoveHue",
+                    "args": {
+                        "moveMode": "int",
+                        "rate": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000040: {
-                "commandId": 0x00000040,
-                "commandName": "EnhancedMoveToHue",
-                "args": {
-                    "enhancedHue": "int",
-                    "direction": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000040,
+                    "commandName": "EnhancedMoveToHue",
+                    "args": {
+                        "enhancedHue": "int",
+                        "direction": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000043: {
-                "commandId": 0x00000043,
-                "commandName": "EnhancedMoveToHueAndSaturation",
-                "args": {
-                    "enhancedHue": "int",
-                    "saturation": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000043,
+                    "commandName": "EnhancedMoveToHueAndSaturation",
+                    "args": {
+                        "enhancedHue": "int",
+                        "saturation": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000042: {
-                "commandId": 0x00000042,
-                "commandName": "EnhancedStepHue",
-                "args": {
-                    "stepMode": "int",
-                    "stepSize": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000042,
+                    "commandName": "EnhancedStepHue",
+                    "args": {
+                        "stepMode": "int",
+                        "stepSize": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000008: {
-                "commandId": 0x00000008,
-                "commandName": "MoveColor",
-                "args": {
-                    "rateX": "int",
-                    "rateY": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000008,
+                    "commandName": "MoveColor",
+                    "args": {
+                        "rateX": "int",
+                        "rateY": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x0000004B: {
-                "commandId": 0x0000004B,
-                "commandName": "MoveColorTemperature",
-                "args": {
-                    "moveMode": "int",
-                    "rate": "int",
-                    "colorTemperatureMinimum": "int",
-                    "colorTemperatureMaximum": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x0000004B,
+                    "commandName": "MoveColorTemperature",
+                    "args": {
+                        "moveMode": "int",
+                        "rate": "int",
+                        "colorTemperatureMinimum": "int",
+                        "colorTemperatureMaximum": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "MoveHue",
-                "args": {
-                    "moveMode": "int",
-                    "rate": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000001,
+                    "commandName": "MoveHue",
+                    "args": {
+                        "moveMode": "int",
+                        "rate": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "MoveSaturation",
-                "args": {
-                    "moveMode": "int",
-                    "rate": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000004,
+                    "commandName": "MoveSaturation",
+                    "args": {
+                        "moveMode": "int",
+                        "rate": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000007: {
-                "commandId": 0x00000007,
-                "commandName": "MoveToColor",
-                "args": {
-                    "colorX": "int",
-                    "colorY": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000007,
+                    "commandName": "MoveToColor",
+                    "args": {
+                        "colorX": "int",
+                        "colorY": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x0000000A: {
-                "commandId": 0x0000000A,
-                "commandName": "MoveToColorTemperature",
-                "args": {
-                    "colorTemperature": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x0000000A,
+                    "commandName": "MoveToColorTemperature",
+                    "args": {
+                        "colorTemperature": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "MoveToHue",
-                "args": {
-                    "hue": "int",
-                    "direction": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "MoveToHue",
+                    "args": {
+                        "hue": "int",
+                        "direction": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000006: {
-                "commandId": 0x00000006,
-                "commandName": "MoveToHueAndSaturation",
-                "args": {
-                    "hue": "int",
-                    "saturation": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000006,
+                    "commandName": "MoveToHueAndSaturation",
+                    "args": {
+                        "hue": "int",
+                        "saturation": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "MoveToSaturation",
-                "args": {
-                    "saturation": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000003,
+                    "commandName": "MoveToSaturation",
+                    "args": {
+                        "saturation": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000009: {
-                "commandId": 0x00000009,
-                "commandName": "StepColor",
-                "args": {
-                    "stepX": "int",
-                    "stepY": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000009,
+                    "commandName": "StepColor",
+                    "args": {
+                        "stepX": "int",
+                        "stepY": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x0000004C: {
-                "commandId": 0x0000004C,
-                "commandName": "StepColorTemperature",
-                "args": {
-                    "stepMode": "int",
-                    "stepSize": "int",
-                    "transitionTime": "int",
-                    "colorTemperatureMinimum": "int",
-                    "colorTemperatureMaximum": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x0000004C,
+                    "commandName": "StepColorTemperature",
+                    "args": {
+                        "stepMode": "int",
+                        "stepSize": "int",
+                        "transitionTime": "int",
+                        "colorTemperatureMinimum": "int",
+                        "colorTemperatureMaximum": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "StepHue",
-                "args": {
-                    "stepMode": "int",
-                    "stepSize": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000002,
+                    "commandName": "StepHue",
+                    "args": {
+                        "stepMode": "int",
+                        "stepSize": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000005: {
-                "commandId": 0x00000005,
-                "commandName": "StepSaturation",
-                "args": {
-                    "stepMode": "int",
-                    "stepSize": "int",
-                    "transitionTime": "int",
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000005,
+                    "commandName": "StepSaturation",
+                    "args": {
+                        "stepMode": "int",
+                        "stepSize": "int",
+                        "transitionTime": "int",
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
-            },
             0x00000047: {
-                "commandId": 0x00000047,
-                "commandName": "StopMoveStep",
-                "args": {
-                    "optionsMask": "int",
-                    "optionsOverride": "int",
+                    "commandId": 0x00000047,
+                    "commandName": "StopMoveStep",
+                    "args": {
+                        "optionsMask": "int",
+                        "optionsOverride": "int",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "CurrentHue",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "CurrentHue",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "CurrentSaturation",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "RemainingTime",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "CurrentX",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "CurrentY",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "DriftCompensation",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "CompensationText",
+                    "attributeId": 0x00000006,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x00000007: {
+                    "attributeName": "ColorTemperature",
+                    "attributeId": 0x00000007,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000008: {
+                    "attributeName": "ColorMode",
+                    "attributeId": 0x00000008,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000F: {
+                    "attributeName": "ColorControlOptions",
+                    "attributeId": 0x0000000F,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000010: {
+                    "attributeName": "NumberOfPrimaries",
+                    "attributeId": 0x00000010,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000011: {
+                    "attributeName": "Primary1X",
+                    "attributeId": 0x00000011,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000012: {
+                    "attributeName": "Primary1Y",
+                    "attributeId": 0x00000012,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000013: {
+                    "attributeName": "Primary1Intensity",
+                    "attributeId": 0x00000013,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000015: {
+                    "attributeName": "Primary2X",
+                    "attributeId": 0x00000015,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000016: {
+                    "attributeName": "Primary2Y",
+                    "attributeId": 0x00000016,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000017: {
+                    "attributeName": "Primary2Intensity",
+                    "attributeId": 0x00000017,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000019: {
+                    "attributeName": "Primary3X",
+                    "attributeId": 0x00000019,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000001A: {
+                    "attributeName": "Primary3Y",
+                    "attributeId": 0x0000001A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000001B: {
+                    "attributeName": "Primary3Intensity",
+                    "attributeId": 0x0000001B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000020: {
+                    "attributeName": "Primary4X",
+                    "attributeId": 0x00000020,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000021: {
+                    "attributeName": "Primary4Y",
+                    "attributeId": 0x00000021,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000022: {
+                    "attributeName": "Primary4Intensity",
+                    "attributeId": 0x00000022,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000024: {
+                    "attributeName": "Primary5X",
+                    "attributeId": 0x00000024,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000025: {
+                    "attributeName": "Primary5Y",
+                    "attributeId": 0x00000025,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000026: {
+                    "attributeName": "Primary5Intensity",
+                    "attributeId": 0x00000026,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000028: {
+                    "attributeName": "Primary6X",
+                    "attributeId": 0x00000028,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000029: {
+                    "attributeName": "Primary6Y",
+                    "attributeId": 0x00000029,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000002A: {
+                    "attributeName": "Primary6Intensity",
+                    "attributeId": 0x0000002A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000030: {
+                    "attributeName": "WhitePointX",
+                    "attributeId": 0x00000030,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000031: {
+                    "attributeName": "WhitePointY",
+                    "attributeId": 0x00000031,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000032: {
+                    "attributeName": "ColorPointRX",
+                    "attributeId": 0x00000032,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000033: {
+                    "attributeName": "ColorPointRY",
+                    "attributeId": 0x00000033,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000034: {
+                    "attributeName": "ColorPointRIntensity",
+                    "attributeId": 0x00000034,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000036: {
+                    "attributeName": "ColorPointGX",
+                    "attributeId": 0x00000036,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000037: {
+                    "attributeName": "ColorPointGY",
+                    "attributeId": 0x00000037,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000038: {
+                    "attributeName": "ColorPointGIntensity",
+                    "attributeId": 0x00000038,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000003A: {
+                    "attributeName": "ColorPointBX",
+                    "attributeId": 0x0000003A,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000003B: {
+                    "attributeName": "ColorPointBY",
+                    "attributeId": 0x0000003B,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000003C: {
+                    "attributeName": "ColorPointBIntensity",
+                    "attributeId": 0x0000003C,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00004000: {
+                    "attributeName": "EnhancedCurrentHue",
+                    "attributeId": 0x00004000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00004001: {
+                    "attributeName": "EnhancedColorMode",
+                    "attributeId": 0x00004001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00004002: {
+                    "attributeName": "ColorLoopActive",
+                    "attributeId": 0x00004002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00004003: {
+                    "attributeName": "ColorLoopDirection",
+                    "attributeId": 0x00004003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00004004: {
+                    "attributeName": "ColorLoopTime",
+                    "attributeId": 0x00004004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00004005: {
+                    "attributeName": "ColorLoopStartEnhancedHue",
+                    "attributeId": 0x00004005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00004006: {
+                    "attributeName": "ColorLoopStoredEnhancedHue",
+                    "attributeId": 0x00004006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000400A: {
+                    "attributeName": "ColorCapabilities",
+                    "attributeId": 0x0000400A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000400B: {
+                    "attributeName": "ColorTempPhysicalMin",
+                    "attributeId": 0x0000400B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000400C: {
+                    "attributeName": "ColorTempPhysicalMax",
+                    "attributeId": 0x0000400C,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000400D: {
+                    "attributeName": "CoupleColorTempToLevelMinMireds",
+                    "attributeId": 0x0000400D,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00004010: {
+                    "attributeName": "StartUpColorTemperatureMireds",
+                    "attributeId": 0x00004010,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "CurrentSaturation",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "RemainingTime",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "CurrentX",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "CurrentY",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "DriftCompensation",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "CompensationText",
-                "attributeId": 0x00000006,
-                "type": "str",
-                "reportable": True,
-            },
-            0x00000007: {
-                "attributeName": "ColorTemperature",
-                "attributeId": 0x00000007,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000008: {
-                "attributeName": "ColorMode",
-                "attributeId": 0x00000008,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000F: {
-                "attributeName": "ColorControlOptions",
-                "attributeId": 0x0000000F,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000010: {
-                "attributeName": "NumberOfPrimaries",
-                "attributeId": 0x00000010,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000011: {
-                "attributeName": "Primary1X",
-                "attributeId": 0x00000011,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000012: {
-                "attributeName": "Primary1Y",
-                "attributeId": 0x00000012,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000013: {
-                "attributeName": "Primary1Intensity",
-                "attributeId": 0x00000013,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000015: {
-                "attributeName": "Primary2X",
-                "attributeId": 0x00000015,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000016: {
-                "attributeName": "Primary2Y",
-                "attributeId": 0x00000016,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000017: {
-                "attributeName": "Primary2Intensity",
-                "attributeId": 0x00000017,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000019: {
-                "attributeName": "Primary3X",
-                "attributeId": 0x00000019,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000001A: {
-                "attributeName": "Primary3Y",
-                "attributeId": 0x0000001A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000001B: {
-                "attributeName": "Primary3Intensity",
-                "attributeId": 0x0000001B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000020: {
-                "attributeName": "Primary4X",
-                "attributeId": 0x00000020,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000021: {
-                "attributeName": "Primary4Y",
-                "attributeId": 0x00000021,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000022: {
-                "attributeName": "Primary4Intensity",
-                "attributeId": 0x00000022,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000024: {
-                "attributeName": "Primary5X",
-                "attributeId": 0x00000024,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000025: {
-                "attributeName": "Primary5Y",
-                "attributeId": 0x00000025,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000026: {
-                "attributeName": "Primary5Intensity",
-                "attributeId": 0x00000026,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000028: {
-                "attributeName": "Primary6X",
-                "attributeId": 0x00000028,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000029: {
-                "attributeName": "Primary6Y",
-                "attributeId": 0x00000029,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000002A: {
-                "attributeName": "Primary6Intensity",
-                "attributeId": 0x0000002A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000030: {
-                "attributeName": "WhitePointX",
-                "attributeId": 0x00000030,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000031: {
-                "attributeName": "WhitePointY",
-                "attributeId": 0x00000031,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000032: {
-                "attributeName": "ColorPointRX",
-                "attributeId": 0x00000032,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000033: {
-                "attributeName": "ColorPointRY",
-                "attributeId": 0x00000033,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000034: {
-                "attributeName": "ColorPointRIntensity",
-                "attributeId": 0x00000034,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000036: {
-                "attributeName": "ColorPointGX",
-                "attributeId": 0x00000036,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000037: {
-                "attributeName": "ColorPointGY",
-                "attributeId": 0x00000037,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000038: {
-                "attributeName": "ColorPointGIntensity",
-                "attributeId": 0x00000038,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000003A: {
-                "attributeName": "ColorPointBX",
-                "attributeId": 0x0000003A,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000003B: {
-                "attributeName": "ColorPointBY",
-                "attributeId": 0x0000003B,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000003C: {
-                "attributeName": "ColorPointBIntensity",
-                "attributeId": 0x0000003C,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00004000: {
-                "attributeName": "EnhancedCurrentHue",
-                "attributeId": 0x00004000,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00004001: {
-                "attributeName": "EnhancedColorMode",
-                "attributeId": 0x00004001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00004002: {
-                "attributeName": "ColorLoopActive",
-                "attributeId": 0x00004002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00004003: {
-                "attributeName": "ColorLoopDirection",
-                "attributeId": 0x00004003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00004004: {
-                "attributeName": "ColorLoopTime",
-                "attributeId": 0x00004004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00004005: {
-                "attributeName": "ColorLoopStartEnhancedHue",
-                "attributeId": 0x00004005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00004006: {
-                "attributeName": "ColorLoopStoredEnhancedHue",
-                "attributeId": 0x00004006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000400A: {
-                "attributeName": "ColorCapabilities",
-                "attributeId": 0x0000400A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000400B: {
-                "attributeName": "ColorTempPhysicalMin",
-                "attributeId": 0x0000400B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000400C: {
-                "attributeName": "ColorTempPhysicalMax",
-                "attributeId": 0x0000400C,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000400D: {
-                "attributeName": "CoupleColorTempToLevelMinMireds",
-                "attributeId": 0x0000400D,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00004010: {
-                "attributeName": "StartUpColorTemperatureMireds",
-                "attributeId": 0x00004010,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _CONTENT_LAUNCHER_CLUSTER_INFO = {
-        "clusterName": "ContentLauncher",
-        "clusterId": 0x0000050A,
-        "commands": {
+            "clusterName": "ContentLauncher",
+            "clusterId": 0x0000050A,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "LaunchContent",
-                "args": {
-                    "autoPlay": "bool",
-                    "data": "str",
+                    "commandId": 0x00000000,
+                    "commandName": "LaunchContent",
+                    "args": {
+                        "autoPlay": "bool",
+                        "data": "str",
+                    },
+                },
+            0x00000001: {
+                    "commandId": 0x00000001,
+                    "commandName": "LaunchURL",
+                    "args": {
+                        "contentURL": "str",
+                        "displayString": "str",
+                    },
                 },
             },
-            0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "LaunchURL",
-                "args": {
-                    "contentURL": "str",
-                    "displayString": "str",
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "AcceptsHeaderList",
+                    "attributeId": 0x00000000,
+                    "type": "bytes",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "SupportedStreamingTypes",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "AcceptsHeaderList",
-                "attributeId": 0x00000000,
-                "type": "bytes",
-                "reportable": True,
-            },
-            0x00000001: {
-                "attributeName": "SupportedStreamingTypes",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _DESCRIPTOR_CLUSTER_INFO = {
-        "clusterName": "Descriptor",
-        "clusterId": 0x0000001D,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "DeviceList",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
+            "clusterName": "Descriptor",
+            "clusterId": 0x0000001D,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "ServerList",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "DeviceList",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "ServerList",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "ClientList",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "PartsList",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "ClientList",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "PartsList",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _DIAGNOSTIC_LOGS_CLUSTER_INFO = {
-        "clusterName": "DiagnosticLogs",
-        "clusterId": 0x00000032,
-        "commands": {
+            "clusterName": "DiagnosticLogs",
+            "clusterId": 0x00000032,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "RetrieveLogsRequest",
-                "args": {
-                    "intent": "int",
-                    "requestedProtocol": "int",
-                    "transferFileDesignator": "bytes",
+                    "commandId": 0x00000000,
+                    "commandName": "RetrieveLogsRequest",
+                    "args": {
+                        "intent": "int",
+                        "requestedProtocol": "int",
+                        "transferFileDesignator": "bytes",
+                    },
                 },
             },
-        },
-        "attributes": {
-        },
+            "attributes": {
+            },
     }
     _DOOR_LOCK_CLUSTER_INFO = {
-        "clusterName": "DoorLock",
-        "clusterId": 0x00000101,
-        "commands": {
+            "clusterName": "DoorLock",
+            "clusterId": 0x00000101,
+            "commands": {
             0x00000008: {
-                "commandId": 0x00000008,
-                "commandName": "ClearAllPINCodes",
-                "args": {
+                    "commandId": 0x00000008,
+                    "commandName": "ClearAllPINCodes",
+                    "args": {
+                    },
                 },
-            },
             0x00000019: {
-                "commandId": 0x00000019,
-                "commandName": "ClearAllRFIDCodes",
-                "args": {
+                    "commandId": 0x00000019,
+                    "commandName": "ClearAllRFIDCodes",
+                    "args": {
+                    },
                 },
-            },
             0x00000013: {
-                "commandId": 0x00000013,
-                "commandName": "ClearHolidaySchedule",
-                "args": {
-                    "holidayIndex": "int",
+                    "commandId": 0x00000013,
+                    "commandName": "ClearHolidaySchedule",
+                    "args": {
+                        "holidayIndex": "int",
+                    },
                 },
-            },
             0x00000007: {
-                "commandId": 0x00000007,
-                "commandName": "ClearPINCode",
-                "args": {
-                    "pinSlotIndex": "int",
+                    "commandId": 0x00000007,
+                    "commandName": "ClearPINCode",
+                    "args": {
+                        "pinSlotIndex": "int",
+                    },
                 },
-            },
             0x00000018: {
-                "commandId": 0x00000018,
-                "commandName": "ClearRFIDCode",
-                "args": {
-                    "rfidSlotIndex": "int",
+                    "commandId": 0x00000018,
+                    "commandName": "ClearRFIDCode",
+                    "args": {
+                        "rfidSlotIndex": "int",
+                    },
                 },
-            },
             0x0000000D: {
-                "commandId": 0x0000000D,
-                "commandName": "ClearWeekDaySchedule",
-                "args": {
-                    "weekDayIndex": "int",
-                    "userIndex": "int",
+                    "commandId": 0x0000000D,
+                    "commandName": "ClearWeekDaySchedule",
+                    "args": {
+                        "weekDayIndex": "int",
+                        "userIndex": "int",
+                    },
                 },
-            },
             0x00000010: {
-                "commandId": 0x00000010,
-                "commandName": "ClearYearDaySchedule",
-                "args": {
-                    "yearDayIndex": "int",
-                    "userIndex": "int",
+                    "commandId": 0x00000010,
+                    "commandName": "ClearYearDaySchedule",
+                    "args": {
+                        "yearDayIndex": "int",
+                        "userIndex": "int",
+                    },
                 },
-            },
             0x00000012: {
-                "commandId": 0x00000012,
-                "commandName": "GetHolidaySchedule",
-                "args": {
-                    "holidayIndex": "int",
+                    "commandId": 0x00000012,
+                    "commandName": "GetHolidaySchedule",
+                    "args": {
+                        "holidayIndex": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "GetLogRecord",
-                "args": {
-                    "logIndex": "int",
+                    "commandId": 0x00000004,
+                    "commandName": "GetLogRecord",
+                    "args": {
+                        "logIndex": "int",
+                    },
                 },
-            },
             0x00000006: {
-                "commandId": 0x00000006,
-                "commandName": "GetPINCode",
-                "args": {
-                    "userId": "int",
+                    "commandId": 0x00000006,
+                    "commandName": "GetPINCode",
+                    "args": {
+                        "userId": "int",
+                    },
                 },
-            },
             0x00000017: {
-                "commandId": 0x00000017,
-                "commandName": "GetRFIDCode",
-                "args": {
-                    "userId": "int",
+                    "commandId": 0x00000017,
+                    "commandName": "GetRFIDCode",
+                    "args": {
+                        "userId": "int",
+                    },
                 },
-            },
             0x00000015: {
-                "commandId": 0x00000015,
-                "commandName": "GetUserType",
-                "args": {
-                    "userId": "int",
+                    "commandId": 0x00000015,
+                    "commandName": "GetUserType",
+                    "args": {
+                        "userId": "int",
+                    },
                 },
-            },
             0x0000000C: {
-                "commandId": 0x0000000C,
-                "commandName": "GetWeekDaySchedule",
-                "args": {
-                    "weekDayIndex": "int",
-                    "userIndex": "int",
+                    "commandId": 0x0000000C,
+                    "commandName": "GetWeekDaySchedule",
+                    "args": {
+                        "weekDayIndex": "int",
+                        "userIndex": "int",
+                    },
                 },
-            },
             0x0000000F: {
-                "commandId": 0x0000000F,
-                "commandName": "GetYearDaySchedule",
-                "args": {
-                    "yearDayIndex": "int",
-                    "userIndex": "int",
+                    "commandId": 0x0000000F,
+                    "commandName": "GetYearDaySchedule",
+                    "args": {
+                        "yearDayIndex": "int",
+                        "userIndex": "int",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "LockDoor",
-                "args": {
-                    "pinCode": "bytes",
+                    "commandId": 0x00000000,
+                    "commandName": "LockDoor",
+                    "args": {
+                        "pinCode": "bytes",
+                    },
                 },
-            },
             0x00000011: {
-                "commandId": 0x00000011,
-                "commandName": "SetHolidaySchedule",
-                "args": {
-                    "holidayIndex": "int",
-                    "localStartTime": "int",
-                    "localEndTime": "int",
-                    "operatingMode": "int",
+                    "commandId": 0x00000011,
+                    "commandName": "SetHolidaySchedule",
+                    "args": {
+                        "holidayIndex": "int",
+                        "localStartTime": "int",
+                        "localEndTime": "int",
+                        "operatingMode": "int",
+                    },
                 },
-            },
             0x00000005: {
-                "commandId": 0x00000005,
-                "commandName": "SetPINCode",
-                "args": {
-                    "userId": "int",
-                    "userStatus": "int",
-                    "userType": "int",
-                    "pin": "bytes",
+                    "commandId": 0x00000005,
+                    "commandName": "SetPINCode",
+                    "args": {
+                        "userId": "int",
+                        "userStatus": "int",
+                        "userType": "int",
+                        "pin": "bytes",
+                    },
                 },
-            },
             0x00000016: {
-                "commandId": 0x00000016,
-                "commandName": "SetRFIDCode",
-                "args": {
-                    "userId": "int",
-                    "userStatus": "int",
-                    "userType": "int",
-                    "rfidCode": "bytes",
+                    "commandId": 0x00000016,
+                    "commandName": "SetRFIDCode",
+                    "args": {
+                        "userId": "int",
+                        "userStatus": "int",
+                        "userType": "int",
+                        "rfidCode": "bytes",
+                    },
                 },
-            },
             0x00000014: {
-                "commandId": 0x00000014,
-                "commandName": "SetUserType",
-                "args": {
-                    "userId": "int",
-                    "userType": "int",
+                    "commandId": 0x00000014,
+                    "commandName": "SetUserType",
+                    "args": {
+                        "userId": "int",
+                        "userType": "int",
+                    },
                 },
-            },
             0x0000000B: {
-                "commandId": 0x0000000B,
-                "commandName": "SetWeekDaySchedule",
-                "args": {
-                    "weekDayIndex": "int",
-                    "userIndex": "int",
-                    "daysMask": "int",
-                    "startHour": "int",
-                    "startMinute": "int",
-                    "endHour": "int",
-                    "endMinute": "int",
+                    "commandId": 0x0000000B,
+                    "commandName": "SetWeekDaySchedule",
+                    "args": {
+                        "weekDayIndex": "int",
+                        "userIndex": "int",
+                        "daysMask": "int",
+                        "startHour": "int",
+                        "startMinute": "int",
+                        "endHour": "int",
+                        "endMinute": "int",
+                    },
                 },
-            },
             0x0000000E: {
-                "commandId": 0x0000000E,
-                "commandName": "SetYearDaySchedule",
-                "args": {
-                    "yearDayIndex": "int",
-                    "userIndex": "int",
-                    "localStartTime": "int",
-                    "localEndTime": "int",
+                    "commandId": 0x0000000E,
+                    "commandName": "SetYearDaySchedule",
+                    "args": {
+                        "yearDayIndex": "int",
+                        "userIndex": "int",
+                        "localStartTime": "int",
+                        "localEndTime": "int",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "UnlockDoor",
-                "args": {
-                    "pinCode": "bytes",
+                    "commandId": 0x00000001,
+                    "commandName": "UnlockDoor",
+                    "args": {
+                        "pinCode": "bytes",
+                    },
                 },
-            },
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "UnlockWithTimeout",
-                "args": {
-                    "timeout": "int",
-                    "pinCode": "bytes",
+                    "commandId": 0x00000003,
+                    "commandName": "UnlockWithTimeout",
+                    "args": {
+                        "timeout": "int",
+                        "pinCode": "bytes",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "LockState",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "LockState",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "LockType",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "ActuatorEnabled",
+                    "attributeId": 0x00000002,
+                    "type": "bool",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "LockType",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "ActuatorEnabled",
-                "attributeId": 0x00000002,
-                "type": "bool",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _ELECTRICAL_MEASUREMENT_CLUSTER_INFO = {
-        "clusterName": "ElectricalMeasurement",
-        "clusterId": 0x00000B04,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "MeasurementType",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "ElectricalMeasurement",
+            "clusterId": 0x00000B04,
+            "commands": {
             },
-            0x00000304: {
-                "attributeName": "TotalActivePower",
-                "attributeId": 0x00000304,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "MeasurementType",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000304: {
+                    "attributeName": "TotalActivePower",
+                    "attributeId": 0x00000304,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000505: {
+                    "attributeName": "RmsVoltage",
+                    "attributeId": 0x00000505,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000506: {
+                    "attributeName": "RmsVoltageMin",
+                    "attributeId": 0x00000506,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000507: {
+                    "attributeName": "RmsVoltageMax",
+                    "attributeId": 0x00000507,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000508: {
+                    "attributeName": "RmsCurrent",
+                    "attributeId": 0x00000508,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000509: {
+                    "attributeName": "RmsCurrentMin",
+                    "attributeId": 0x00000509,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000050A: {
+                    "attributeName": "RmsCurrentMax",
+                    "attributeId": 0x0000050A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000050B: {
+                    "attributeName": "ActivePower",
+                    "attributeId": 0x0000050B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000050C: {
+                    "attributeName": "ActivePowerMin",
+                    "attributeId": 0x0000050C,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000050D: {
+                    "attributeName": "ActivePowerMax",
+                    "attributeId": 0x0000050D,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000505: {
-                "attributeName": "RmsVoltage",
-                "attributeId": 0x00000505,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000506: {
-                "attributeName": "RmsVoltageMin",
-                "attributeId": 0x00000506,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000507: {
-                "attributeName": "RmsVoltageMax",
-                "attributeId": 0x00000507,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000508: {
-                "attributeName": "RmsCurrent",
-                "attributeId": 0x00000508,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000509: {
-                "attributeName": "RmsCurrentMin",
-                "attributeId": 0x00000509,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000050A: {
-                "attributeName": "RmsCurrentMax",
-                "attributeId": 0x0000050A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000050B: {
-                "attributeName": "ActivePower",
-                "attributeId": 0x0000050B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000050C: {
-                "attributeName": "ActivePowerMin",
-                "attributeId": 0x0000050C,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000050D: {
-                "attributeName": "ActivePowerMax",
-                "attributeId": 0x0000050D,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_INFO = {
-        "clusterName": "EthernetNetworkDiagnostics",
-        "clusterId": 0x00000037,
-        "commands": {
+            "clusterName": "EthernetNetworkDiagnostics",
+            "clusterId": 0x00000037,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "ResetCounts",
-                "args": {
+                    "commandId": 0x00000000,
+                    "commandName": "ResetCounts",
+                    "args": {
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "PHYRate",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "PHYRate",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "FullDuplex",
+                    "attributeId": 0x00000001,
+                    "type": "bool",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "PacketRxCount",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "PacketTxCount",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "TxErrCount",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "CollisionCount",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "OverrunCount",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000007: {
+                    "attributeName": "CarrierDetect",
+                    "attributeId": 0x00000007,
+                    "type": "bool",
+                    "reportable": True,
+                },
+                0x00000008: {
+                    "attributeName": "TimeSinceReset",
+                    "attributeId": 0x00000008,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "FullDuplex",
-                "attributeId": 0x00000001,
-                "type": "bool",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "PacketRxCount",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "PacketTxCount",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "TxErrCount",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "CollisionCount",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "OverrunCount",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000007: {
-                "attributeName": "CarrierDetect",
-                "attributeId": 0x00000007,
-                "type": "bool",
-                "reportable": True,
-            },
-            0x00000008: {
-                "attributeName": "TimeSinceReset",
-                "attributeId": 0x00000008,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _FIXED_LABEL_CLUSTER_INFO = {
-        "clusterName": "FixedLabel",
-        "clusterId": 0x00000040,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "LabelList",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
+            "clusterName": "FixedLabel",
+            "clusterId": 0x00000040,
+            "commands": {
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "LabelList",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _FLOW_MEASUREMENT_CLUSTER_INFO = {
-        "clusterName": "FlowMeasurement",
-        "clusterId": 0x00000404,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "MeasuredValue",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "FlowMeasurement",
+            "clusterId": 0x00000404,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "MinMeasuredValue",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "MeasuredValue",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "MinMeasuredValue",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "MaxMeasuredValue",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "Tolerance",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "MaxMeasuredValue",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "Tolerance",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _GENERAL_COMMISSIONING_CLUSTER_INFO = {
-        "clusterName": "GeneralCommissioning",
-        "clusterId": 0x00000030,
-        "commands": {
+            "clusterName": "GeneralCommissioning",
+            "clusterId": 0x00000030,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "ArmFailSafe",
-                "args": {
-                    "expiryLengthSeconds": "int",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "ArmFailSafe",
+                    "args": {
+                        "expiryLengthSeconds": "int",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "CommissioningComplete",
-                "args": {
+                    "commandId": 0x00000004,
+                    "commandName": "CommissioningComplete",
+                    "args": {
+                    },
+                },
+            0x00000002: {
+                    "commandId": 0x00000002,
+                    "commandName": "SetRegulatoryConfig",
+                    "args": {
+                        "location": "int",
+                        "countryCode": "str",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
             },
-            0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "SetRegulatoryConfig",
-                "args": {
-                    "location": "int",
-                    "countryCode": "str",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Breadcrumb",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000001: {
+                    "attributeName": "BasicCommissioningInfoList",
+                    "attributeId": 0x00000001,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "RegulatoryConfig",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                },
+                0x00000003: {
+                    "attributeName": "LocationCapability",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Breadcrumb",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000001: {
-                "attributeName": "BasicCommissioningInfoList",
-                "attributeId": 0x00000001,
-                "type": "",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "RegulatoryConfig",
-                "attributeId": 0x00000002,
-                "type": "int",
-            },
-            0x00000003: {
-                "attributeName": "LocationCapability",
-                "attributeId": 0x00000003,
-                "type": "int",
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _GENERAL_DIAGNOSTICS_CLUSTER_INFO = {
-        "clusterName": "GeneralDiagnostics",
-        "clusterId": 0x00000033,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "NetworkInterfaces",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
+            "clusterName": "GeneralDiagnostics",
+            "clusterId": 0x00000033,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "RebootCount",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "NetworkInterfaces",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "RebootCount",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "UpTime",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "TotalOperationalHours",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "BootReasons",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "ActiveHardwareFaults",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "ActiveRadioFaults",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000007: {
+                    "attributeName": "ActiveNetworkFaults",
+                    "attributeId": 0x00000007,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "UpTime",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "TotalOperationalHours",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "BootReasons",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "ActiveHardwareFaults",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "ActiveRadioFaults",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000007: {
-                "attributeName": "ActiveNetworkFaults",
-                "attributeId": 0x00000007,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _GROUP_KEY_MANAGEMENT_CLUSTER_INFO = {
-        "clusterName": "GroupKeyManagement",
-        "clusterId": 0x0000003F,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Groups",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
+            "clusterName": "GroupKeyManagement",
+            "clusterId": 0x0000003F,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "GroupKeys",
-                "attributeId": 0x00000001,
-                "type": "",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Groups",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "GroupKeys",
+                    "attributeId": 0x00000001,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _GROUPS_CLUSTER_INFO = {
-        "clusterName": "Groups",
-        "clusterId": 0x00000004,
-        "commands": {
+            "clusterName": "Groups",
+            "clusterId": 0x00000004,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "AddGroup",
-                "args": {
-                    "groupId": "int",
-                    "groupName": "str",
+                    "commandId": 0x00000000,
+                    "commandName": "AddGroup",
+                    "args": {
+                        "groupId": "int",
+                        "groupName": "str",
+                    },
                 },
-            },
             0x00000005: {
-                "commandId": 0x00000005,
-                "commandName": "AddGroupIfIdentifying",
-                "args": {
-                    "groupId": "int",
-                    "groupName": "str",
+                    "commandId": 0x00000005,
+                    "commandName": "AddGroupIfIdentifying",
+                    "args": {
+                        "groupId": "int",
+                        "groupName": "str",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "GetGroupMembership",
-                "args": {
-                    "groupList": "int",
+                    "commandId": 0x00000002,
+                    "commandName": "GetGroupMembership",
+                    "args": {
+                        "groupList": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "RemoveAllGroups",
-                "args": {
+                    "commandId": 0x00000004,
+                    "commandName": "RemoveAllGroups",
+                    "args": {
+                    },
                 },
-            },
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "RemoveGroup",
-                "args": {
-                    "groupId": "int",
+                    "commandId": 0x00000003,
+                    "commandName": "RemoveGroup",
+                    "args": {
+                        "groupId": "int",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "ViewGroup",
-                "args": {
-                    "groupId": "int",
+                    "commandId": 0x00000001,
+                    "commandName": "ViewGroup",
+                    "args": {
+                        "groupId": "int",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "NameSupport",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "NameSupport",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _IDENTIFY_CLUSTER_INFO = {
-        "clusterName": "Identify",
-        "clusterId": 0x00000003,
-        "commands": {
+            "clusterName": "Identify",
+            "clusterId": 0x00000003,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "Identify",
-                "args": {
-                    "identifyTime": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "Identify",
+                    "args": {
+                        "identifyTime": "int",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "IdentifyQuery",
-                "args": {
+                    "commandId": 0x00000001,
+                    "commandName": "IdentifyQuery",
+                    "args": {
+                    },
                 },
-            },
             0x00000040: {
-                "commandId": 0x00000040,
-                "commandName": "TriggerEffect",
-                "args": {
-                    "effectIdentifier": "int",
-                    "effectVariant": "int",
+                    "commandId": 0x00000040,
+                    "commandName": "TriggerEffect",
+                    "args": {
+                        "effectIdentifier": "int",
+                        "effectVariant": "int",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "IdentifyTime",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "IdentifyTime",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000001: {
+                    "attributeName": "IdentifyType",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "IdentifyType",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _ILLUMINANCE_MEASUREMENT_CLUSTER_INFO = {
-        "clusterName": "IlluminanceMeasurement",
-        "clusterId": 0x00000400,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "MeasuredValue",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "IlluminanceMeasurement",
+            "clusterId": 0x00000400,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "MinMeasuredValue",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "MeasuredValue",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "MinMeasuredValue",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "MaxMeasuredValue",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "Tolerance",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "LightSensorType",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "MaxMeasuredValue",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "Tolerance",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "LightSensorType",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _KEYPAD_INPUT_CLUSTER_INFO = {
-        "clusterName": "KeypadInput",
-        "clusterId": 0x00000509,
-        "commands": {
+            "clusterName": "KeypadInput",
+            "clusterId": 0x00000509,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "SendKey",
-                "args": {
-                    "keyCode": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "SendKey",
+                    "args": {
+                        "keyCode": "int",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _LEVEL_CONTROL_CLUSTER_INFO = {
-        "clusterName": "LevelControl",
-        "clusterId": 0x00000008,
-        "commands": {
+            "clusterName": "LevelControl",
+            "clusterId": 0x00000008,
+            "commands": {
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "Move",
-                "args": {
-                    "moveMode": "int",
-                    "rate": "int",
-                    "optionMask": "int",
-                    "optionOverride": "int",
+                    "commandId": 0x00000001,
+                    "commandName": "Move",
+                    "args": {
+                        "moveMode": "int",
+                        "rate": "int",
+                        "optionMask": "int",
+                        "optionOverride": "int",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "MoveToLevel",
-                "args": {
-                    "level": "int",
-                    "transitionTime": "int",
-                    "optionMask": "int",
-                    "optionOverride": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "MoveToLevel",
+                    "args": {
+                        "level": "int",
+                        "transitionTime": "int",
+                        "optionMask": "int",
+                        "optionOverride": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "MoveToLevelWithOnOff",
-                "args": {
-                    "level": "int",
-                    "transitionTime": "int",
+                    "commandId": 0x00000004,
+                    "commandName": "MoveToLevelWithOnOff",
+                    "args": {
+                        "level": "int",
+                        "transitionTime": "int",
+                    },
                 },
-            },
             0x00000005: {
-                "commandId": 0x00000005,
-                "commandName": "MoveWithOnOff",
-                "args": {
-                    "moveMode": "int",
-                    "rate": "int",
+                    "commandId": 0x00000005,
+                    "commandName": "MoveWithOnOff",
+                    "args": {
+                        "moveMode": "int",
+                        "rate": "int",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "Step",
-                "args": {
-                    "stepMode": "int",
-                    "stepSize": "int",
-                    "transitionTime": "int",
-                    "optionMask": "int",
-                    "optionOverride": "int",
+                    "commandId": 0x00000002,
+                    "commandName": "Step",
+                    "args": {
+                        "stepMode": "int",
+                        "stepSize": "int",
+                        "transitionTime": "int",
+                        "optionMask": "int",
+                        "optionOverride": "int",
+                    },
                 },
-            },
             0x00000006: {
-                "commandId": 0x00000006,
-                "commandName": "StepWithOnOff",
-                "args": {
-                    "stepMode": "int",
-                    "stepSize": "int",
-                    "transitionTime": "int",
+                    "commandId": 0x00000006,
+                    "commandName": "StepWithOnOff",
+                    "args": {
+                        "stepMode": "int",
+                        "stepSize": "int",
+                        "transitionTime": "int",
+                    },
                 },
-            },
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "Stop",
-                "args": {
-                    "optionMask": "int",
-                    "optionOverride": "int",
+                    "commandId": 0x00000003,
+                    "commandName": "Stop",
+                    "args": {
+                        "optionMask": "int",
+                        "optionOverride": "int",
+                    },
                 },
-            },
             0x00000007: {
-                "commandId": 0x00000007,
-                "commandName": "StopWithOnOff",
-                "args": {
+                    "commandId": 0x00000007,
+                    "commandName": "StopWithOnOff",
+                    "args": {
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "CurrentLevel",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "CurrentLevel",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "RemainingTime",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "MinLevel",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "MaxLevel",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "CurrentFrequency",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "MinFrequency",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "MaxFrequency",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000F: {
+                    "attributeName": "Options",
+                    "attributeId": 0x0000000F,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000010: {
+                    "attributeName": "OnOffTransitionTime",
+                    "attributeId": 0x00000010,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000011: {
+                    "attributeName": "OnLevel",
+                    "attributeId": 0x00000011,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000012: {
+                    "attributeName": "OnTransitionTime",
+                    "attributeId": 0x00000012,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000013: {
+                    "attributeName": "OffTransitionTime",
+                    "attributeId": 0x00000013,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000014: {
+                    "attributeName": "DefaultMoveRate",
+                    "attributeId": 0x00000014,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00004000: {
+                    "attributeName": "StartUpCurrentLevel",
+                    "attributeId": 0x00004000,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "RemainingTime",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "MinLevel",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "MaxLevel",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "CurrentFrequency",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "MinFrequency",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "MaxFrequency",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000F: {
-                "attributeName": "Options",
-                "attributeId": 0x0000000F,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000010: {
-                "attributeName": "OnOffTransitionTime",
-                "attributeId": 0x00000010,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000011: {
-                "attributeName": "OnLevel",
-                "attributeId": 0x00000011,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000012: {
-                "attributeName": "OnTransitionTime",
-                "attributeId": 0x00000012,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000013: {
-                "attributeName": "OffTransitionTime",
-                "attributeId": 0x00000013,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000014: {
-                "attributeName": "DefaultMoveRate",
-                "attributeId": 0x00000014,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00004000: {
-                "attributeName": "StartUpCurrentLevel",
-                "attributeId": 0x00004000,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _LOW_POWER_CLUSTER_INFO = {
-        "clusterName": "LowPower",
-        "clusterId": 0x00000508,
-        "commands": {
+            "clusterName": "LowPower",
+            "clusterId": 0x00000508,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "Sleep",
-                "args": {
+                    "commandId": 0x00000000,
+                    "commandName": "Sleep",
+                    "args": {
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _MEDIA_INPUT_CLUSTER_INFO = {
-        "clusterName": "MediaInput",
-        "clusterId": 0x00000507,
-        "commands": {
+            "clusterName": "MediaInput",
+            "clusterId": 0x00000507,
+            "commands": {
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "HideInputStatus",
-                "args": {
+                    "commandId": 0x00000002,
+                    "commandName": "HideInputStatus",
+                    "args": {
+                    },
                 },
-            },
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "RenameInput",
-                "args": {
-                    "index": "int",
-                    "name": "str",
+                    "commandId": 0x00000003,
+                    "commandName": "RenameInput",
+                    "args": {
+                        "index": "int",
+                        "name": "str",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "SelectInput",
-                "args": {
-                    "index": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "SelectInput",
+                    "args": {
+                        "index": "int",
+                    },
+                },
+            0x00000001: {
+                    "commandId": 0x00000001,
+                    "commandName": "ShowInputStatus",
+                    "args": {
+                    },
                 },
             },
-            0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "ShowInputStatus",
-                "args": {
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "MediaInputList",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "CurrentMediaInput",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "MediaInputList",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
-            },
-            0x00000001: {
-                "attributeName": "CurrentMediaInput",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _MEDIA_PLAYBACK_CLUSTER_INFO = {
-        "clusterName": "MediaPlayback",
-        "clusterId": 0x00000506,
-        "commands": {
+            "clusterName": "MediaPlayback",
+            "clusterId": 0x00000506,
+            "commands": {
             0x00000007: {
-                "commandId": 0x00000007,
-                "commandName": "MediaFastForward",
-                "args": {
+                    "commandId": 0x00000007,
+                    "commandName": "MediaFastForward",
+                    "args": {
+                    },
                 },
-            },
             0x00000005: {
-                "commandId": 0x00000005,
-                "commandName": "MediaNext",
-                "args": {
+                    "commandId": 0x00000005,
+                    "commandName": "MediaNext",
+                    "args": {
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "MediaPause",
-                "args": {
+                    "commandId": 0x00000001,
+                    "commandName": "MediaPause",
+                    "args": {
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "MediaPlay",
-                "args": {
+                    "commandId": 0x00000000,
+                    "commandName": "MediaPlay",
+                    "args": {
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "MediaPrevious",
-                "args": {
+                    "commandId": 0x00000004,
+                    "commandName": "MediaPrevious",
+                    "args": {
+                    },
                 },
-            },
             0x00000006: {
-                "commandId": 0x00000006,
-                "commandName": "MediaRewind",
-                "args": {
+                    "commandId": 0x00000006,
+                    "commandName": "MediaRewind",
+                    "args": {
+                    },
                 },
-            },
             0x0000000A: {
-                "commandId": 0x0000000A,
-                "commandName": "MediaSeek",
-                "args": {
-                    "position": "int",
+                    "commandId": 0x0000000A,
+                    "commandName": "MediaSeek",
+                    "args": {
+                        "position": "int",
+                    },
                 },
-            },
             0x00000009: {
-                "commandId": 0x00000009,
-                "commandName": "MediaSkipBackward",
-                "args": {
-                    "deltaPositionMilliseconds": "int",
+                    "commandId": 0x00000009,
+                    "commandName": "MediaSkipBackward",
+                    "args": {
+                        "deltaPositionMilliseconds": "int",
+                    },
                 },
-            },
             0x00000008: {
-                "commandId": 0x00000008,
-                "commandName": "MediaSkipForward",
-                "args": {
-                    "deltaPositionMilliseconds": "int",
+                    "commandId": 0x00000008,
+                    "commandName": "MediaSkipForward",
+                    "args": {
+                        "deltaPositionMilliseconds": "int",
+                    },
                 },
-            },
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "MediaStartOver",
-                "args": {
+                    "commandId": 0x00000003,
+                    "commandName": "MediaStartOver",
+                    "args": {
+                    },
+                },
+            0x00000002: {
+                    "commandId": 0x00000002,
+                    "commandName": "MediaStop",
+                    "args": {
+                    },
                 },
             },
-            0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "MediaStop",
-                "args": {
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "PlaybackState",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "StartTime",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "Duration",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "PositionUpdatedAt",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "Position",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "PlaybackSpeed",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "SeekRangeEnd",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000007: {
+                    "attributeName": "SeekRangeStart",
+                    "attributeId": 0x00000007,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "PlaybackState",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000001: {
-                "attributeName": "StartTime",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "Duration",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "PositionUpdatedAt",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "Position",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "PlaybackSpeed",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "SeekRangeEnd",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000007: {
-                "attributeName": "SeekRangeStart",
-                "attributeId": 0x00000007,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _MODE_SELECT_CLUSTER_INFO = {
-        "clusterName": "ModeSelect",
-        "clusterId": 0x00000050,
-        "commands": {
+            "clusterName": "ModeSelect",
+            "clusterId": 0x00000050,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "ChangeToMode",
-                "args": {
-                    "newMode": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "ChangeToMode",
+                    "args": {
+                        "newMode": "int",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "CurrentMode",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "CurrentMode",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "SupportedModes",
+                    "attributeId": 0x00000001,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "OnMode",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000003: {
+                    "attributeName": "StartUpMode",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "Description",
+                    "attributeId": 0x00000004,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "SupportedModes",
-                "attributeId": 0x00000001,
-                "type": "",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "OnMode",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000003: {
-                "attributeName": "StartUpMode",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "Description",
-                "attributeId": 0x00000004,
-                "type": "str",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _NETWORK_COMMISSIONING_CLUSTER_INFO = {
-        "clusterName": "NetworkCommissioning",
-        "clusterId": 0x00000031,
-        "commands": {
+            "clusterName": "NetworkCommissioning",
+            "clusterId": 0x00000031,
+            "commands": {
             0x00000006: {
-                "commandId": 0x00000006,
-                "commandName": "AddThreadNetwork",
-                "args": {
-                    "operationalDataset": "bytes",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+                    "commandId": 0x00000006,
+                    "commandName": "AddThreadNetwork",
+                    "args": {
+                        "operationalDataset": "bytes",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "AddWiFiNetwork",
-                "args": {
-                    "ssid": "bytes",
-                    "credentials": "bytes",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+                    "commandId": 0x00000002,
+                    "commandName": "AddWiFiNetwork",
+                    "args": {
+                        "ssid": "bytes",
+                        "credentials": "bytes",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
-            },
             0x0000000E: {
-                "commandId": 0x0000000E,
-                "commandName": "DisableNetwork",
-                "args": {
-                    "networkID": "bytes",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+                    "commandId": 0x0000000E,
+                    "commandName": "DisableNetwork",
+                    "args": {
+                        "networkID": "bytes",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
-            },
             0x0000000C: {
-                "commandId": 0x0000000C,
-                "commandName": "EnableNetwork",
-                "args": {
-                    "networkID": "bytes",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+                    "commandId": 0x0000000C,
+                    "commandName": "EnableNetwork",
+                    "args": {
+                        "networkID": "bytes",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
-            },
             0x0000000A: {
-                "commandId": 0x0000000A,
-                "commandName": "RemoveNetwork",
-                "args": {
-                    "networkID": "bytes",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+                    "commandId": 0x0000000A,
+                    "commandName": "RemoveNetwork",
+                    "args": {
+                        "networkID": "bytes",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "ScanNetworks",
-                "args": {
-                    "ssid": "bytes",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "ScanNetworks",
+                    "args": {
+                        "ssid": "bytes",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
-            },
             0x00000008: {
-                "commandId": 0x00000008,
-                "commandName": "UpdateThreadNetwork",
-                "args": {
-                    "operationalDataset": "bytes",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+                    "commandId": 0x00000008,
+                    "commandName": "UpdateThreadNetwork",
+                    "args": {
+                        "operationalDataset": "bytes",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "UpdateWiFiNetwork",
-                "args": {
-                    "ssid": "bytes",
-                    "credentials": "bytes",
-                    "breadcrumb": "int",
-                    "timeoutMs": "int",
+                    "commandId": 0x00000004,
+                    "commandName": "UpdateWiFiNetwork",
+                    "args": {
+                        "ssid": "bytes",
+                        "credentials": "bytes",
+                        "breadcrumb": "int",
+                        "timeoutMs": "int",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER_INFO = {
-        "clusterName": "OtaSoftwareUpdateProvider",
-        "clusterId": 0x00000029,
-        "commands": {
+            "clusterName": "OtaSoftwareUpdateProvider",
+            "clusterId": 0x00000029,
+            "commands": {
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "ApplyUpdateRequest",
-                "args": {
-                    "updateToken": "bytes",
-                    "newVersion": "int",
+                    "commandId": 0x00000001,
+                    "commandName": "ApplyUpdateRequest",
+                    "args": {
+                        "updateToken": "bytes",
+                        "newVersion": "int",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "NotifyUpdateApplied",
-                "args": {
-                    "updateToken": "bytes",
-                    "softwareVersion": "int",
+                    "commandId": 0x00000002,
+                    "commandName": "NotifyUpdateApplied",
+                    "args": {
+                        "updateToken": "bytes",
+                        "softwareVersion": "int",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "QueryImage",
-                "args": {
-                    "vendorId": "int",
-                    "productId": "int",
-                    "softwareVersion": "int",
-                    "protocolsSupported": "int",
-                    "hardwareVersion": "int",
-                    "location": "str",
-                    "requestorCanConsent": "bool",
-                    "metadataForProvider": "bytes",
+                    "commandId": 0x00000000,
+                    "commandName": "QueryImage",
+                    "args": {
+                        "vendorId": "int",
+                        "productId": "int",
+                        "softwareVersion": "int",
+                        "protocolsSupported": "int",
+                        "hardwareVersion": "int",
+                        "location": "str",
+                        "requestorCanConsent": "bool",
+                        "metadataForProvider": "bytes",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER_INFO = {
-        "clusterName": "OtaSoftwareUpdateRequestor",
-        "clusterId": 0x0000002A,
-        "commands": {
+            "clusterName": "OtaSoftwareUpdateRequestor",
+            "clusterId": 0x0000002A,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "AnnounceOtaProvider",
-                "args": {
-                    "providerLocation": "int",
-                    "vendorId": "int",
-                    "announcementReason": "int",
-                    "metadataForNode": "bytes",
+                    "commandId": 0x00000000,
+                    "commandName": "AnnounceOtaProvider",
+                    "args": {
+                        "providerLocation": "int",
+                        "vendorId": "int",
+                        "announcementReason": "int",
+                        "metadataForNode": "bytes",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000001: {
-                "attributeName": "DefaultOtaProvider",
-                "attributeId": 0x00000001,
-                "type": "bytes",
-                "reportable": True,
-                "writable": True,
+            "attributes": {
+                0x00000001: {
+                    "attributeName": "DefaultOtaProvider",
+                    "attributeId": 0x00000001,
+                    "type": "bytes",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000002: {
+                    "attributeName": "UpdatePossible",
+                    "attributeId": 0x00000002,
+                    "type": "bool",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "UpdatePossible",
-                "attributeId": 0x00000002,
-                "type": "bool",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _OCCUPANCY_SENSING_CLUSTER_INFO = {
-        "clusterName": "OccupancySensing",
-        "clusterId": 0x00000406,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Occupancy",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "OccupancySensing",
+            "clusterId": 0x00000406,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "OccupancySensorType",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Occupancy",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "OccupancySensorType",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "OccupancySensorTypeBitmap",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "OccupancySensorTypeBitmap",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _ON_OFF_CLUSTER_INFO = {
-        "clusterName": "OnOff",
-        "clusterId": 0x00000006,
-        "commands": {
+            "clusterName": "OnOff",
+            "clusterId": 0x00000006,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "Off",
-                "args": {
+                    "commandId": 0x00000000,
+                    "commandName": "Off",
+                    "args": {
+                    },
                 },
-            },
             0x00000040: {
-                "commandId": 0x00000040,
-                "commandName": "OffWithEffect",
-                "args": {
-                    "effectId": "int",
-                    "effectVariant": "int",
+                    "commandId": 0x00000040,
+                    "commandName": "OffWithEffect",
+                    "args": {
+                        "effectId": "int",
+                        "effectVariant": "int",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "On",
-                "args": {
+                    "commandId": 0x00000001,
+                    "commandName": "On",
+                    "args": {
+                    },
                 },
-            },
             0x00000041: {
-                "commandId": 0x00000041,
-                "commandName": "OnWithRecallGlobalScene",
-                "args": {
+                    "commandId": 0x00000041,
+                    "commandName": "OnWithRecallGlobalScene",
+                    "args": {
+                    },
                 },
-            },
             0x00000042: {
-                "commandId": 0x00000042,
-                "commandName": "OnWithTimedOff",
-                "args": {
-                    "onOffControl": "int",
-                    "onTime": "int",
-                    "offWaitTime": "int",
+                    "commandId": 0x00000042,
+                    "commandName": "OnWithTimedOff",
+                    "args": {
+                        "onOffControl": "int",
+                        "onTime": "int",
+                        "offWaitTime": "int",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "Toggle",
-                "args": {
+                    "commandId": 0x00000002,
+                    "commandName": "Toggle",
+                    "args": {
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "OnOff",
-                "attributeId": 0x00000000,
-                "type": "bool",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "OnOff",
+                    "attributeId": 0x00000000,
+                    "type": "bool",
+                    "reportable": True,
+                },
+                0x00004000: {
+                    "attributeName": "GlobalSceneControl",
+                    "attributeId": 0x00004000,
+                    "type": "bool",
+                    "reportable": True,
+                },
+                0x00004001: {
+                    "attributeName": "OnTime",
+                    "attributeId": 0x00004001,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00004002: {
+                    "attributeName": "OffWaitTime",
+                    "attributeId": 0x00004002,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00004003: {
+                    "attributeName": "StartUpOnOff",
+                    "attributeId": 0x00004003,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00004000: {
-                "attributeName": "GlobalSceneControl",
-                "attributeId": 0x00004000,
-                "type": "bool",
-                "reportable": True,
-            },
-            0x00004001: {
-                "attributeName": "OnTime",
-                "attributeId": 0x00004001,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00004002: {
-                "attributeName": "OffWaitTime",
-                "attributeId": 0x00004002,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00004003: {
-                "attributeName": "StartUpOnOff",
-                "attributeId": 0x00004003,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _ON_OFF_SWITCH_CONFIGURATION_CLUSTER_INFO = {
-        "clusterName": "OnOffSwitchConfiguration",
-        "clusterId": 0x00000007,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "SwitchType",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "OnOffSwitchConfiguration",
+            "clusterId": 0x00000007,
+            "commands": {
             },
-            0x00000010: {
-                "attributeName": "SwitchActions",
-                "attributeId": 0x00000010,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "SwitchType",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000010: {
+                    "attributeName": "SwitchActions",
+                    "attributeId": 0x00000010,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _OPERATIONAL_CREDENTIALS_CLUSTER_INFO = {
-        "clusterName": "OperationalCredentials",
-        "clusterId": 0x0000003E,
-        "commands": {
+            "clusterName": "OperationalCredentials",
+            "clusterId": 0x0000003E,
+            "commands": {
             0x00000006: {
-                "commandId": 0x00000006,
-                "commandName": "AddNOC",
-                "args": {
-                    "NOCValue": "bytes",
-                    "ICACValue": "bytes",
-                    "IPKValue": "bytes",
-                    "caseAdminNode": "int",
-                    "adminVendorId": "int",
+                    "commandId": 0x00000006,
+                    "commandName": "AddNOC",
+                    "args": {
+                        "NOCValue": "bytes",
+                        "ICACValue": "bytes",
+                        "IPKValue": "bytes",
+                        "caseAdminNode": "int",
+                        "adminVendorId": "int",
+                    },
                 },
-            },
             0x0000000B: {
-                "commandId": 0x0000000B,
-                "commandName": "AddTrustedRootCertificate",
-                "args": {
-                    "rootCertificate": "bytes",
+                    "commandId": 0x0000000B,
+                    "commandName": "AddTrustedRootCertificate",
+                    "args": {
+                        "rootCertificate": "bytes",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "AttestationRequest",
-                "args": {
-                    "attestationNonce": "bytes",
+                    "commandId": 0x00000000,
+                    "commandName": "AttestationRequest",
+                    "args": {
+                        "attestationNonce": "bytes",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "CertificateChainRequest",
-                "args": {
-                    "certificateType": "int",
+                    "commandId": 0x00000002,
+                    "commandName": "CertificateChainRequest",
+                    "args": {
+                        "certificateType": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "OpCSRRequest",
-                "args": {
-                    "CSRNonce": "bytes",
+                    "commandId": 0x00000004,
+                    "commandName": "OpCSRRequest",
+                    "args": {
+                        "CSRNonce": "bytes",
+                    },
                 },
-            },
             0x0000000A: {
-                "commandId": 0x0000000A,
-                "commandName": "RemoveFabric",
-                "args": {
-                    "fabricIndex": "int",
+                    "commandId": 0x0000000A,
+                    "commandName": "RemoveFabric",
+                    "args": {
+                        "fabricIndex": "int",
+                    },
                 },
-            },
             0x0000000C: {
-                "commandId": 0x0000000C,
-                "commandName": "RemoveTrustedRootCertificate",
-                "args": {
-                    "trustedRootIdentifier": "bytes",
+                    "commandId": 0x0000000C,
+                    "commandName": "RemoveTrustedRootCertificate",
+                    "args": {
+                        "trustedRootIdentifier": "bytes",
+                    },
                 },
-            },
             0x00000009: {
-                "commandId": 0x00000009,
-                "commandName": "UpdateFabricLabel",
-                "args": {
-                    "label": "str",
+                    "commandId": 0x00000009,
+                    "commandName": "UpdateFabricLabel",
+                    "args": {
+                        "label": "str",
+                    },
                 },
-            },
             0x00000007: {
-                "commandId": 0x00000007,
-                "commandName": "UpdateNOC",
-                "args": {
-                    "NOCValue": "bytes",
-                    "ICACValue": "bytes",
+                    "commandId": 0x00000007,
+                    "commandName": "UpdateNOC",
+                    "args": {
+                        "NOCValue": "bytes",
+                        "ICACValue": "bytes",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000001: {
-                "attributeName": "FabricsList",
-                "attributeId": 0x00000001,
-                "type": "",
-                "reportable": True,
+            "attributes": {
+                0x00000001: {
+                    "attributeName": "FabricsList",
+                    "attributeId": 0x00000001,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "SupportedFabrics",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "CommissionedFabrics",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "TrustedRootCertificates",
+                    "attributeId": 0x00000004,
+                    "type": "bytes",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "CurrentFabricIndex",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "SupportedFabrics",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "CommissionedFabrics",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "TrustedRootCertificates",
-                "attributeId": 0x00000004,
-                "type": "bytes",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "CurrentFabricIndex",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _POWER_SOURCE_CLUSTER_INFO = {
-        "clusterName": "PowerSource",
-        "clusterId": 0x0000002F,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Status",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "PowerSource",
+            "clusterId": 0x0000002F,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "Order",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Status",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "Order",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "Description",
+                    "attributeId": 0x00000002,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x0000000B: {
+                    "attributeName": "BatteryVoltage",
+                    "attributeId": 0x0000000B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000C: {
+                    "attributeName": "BatteryPercentRemaining",
+                    "attributeId": 0x0000000C,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000D: {
+                    "attributeName": "BatteryTimeRemaining",
+                    "attributeId": 0x0000000D,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000E: {
+                    "attributeName": "BatteryChargeLevel",
+                    "attributeId": 0x0000000E,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000012: {
+                    "attributeName": "ActiveBatteryFaults",
+                    "attributeId": 0x00000012,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000001A: {
+                    "attributeName": "BatteryChargeState",
+                    "attributeId": 0x0000001A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "Description",
-                "attributeId": 0x00000002,
-                "type": "str",
-                "reportable": True,
-            },
-            0x0000000B: {
-                "attributeName": "BatteryVoltage",
-                "attributeId": 0x0000000B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000C: {
-                "attributeName": "BatteryPercentRemaining",
-                "attributeId": 0x0000000C,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000D: {
-                "attributeName": "BatteryTimeRemaining",
-                "attributeId": 0x0000000D,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000E: {
-                "attributeName": "BatteryChargeLevel",
-                "attributeId": 0x0000000E,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000012: {
-                "attributeName": "ActiveBatteryFaults",
-                "attributeId": 0x00000012,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000001A: {
-                "attributeName": "BatteryChargeState",
-                "attributeId": 0x0000001A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _POWER_SOURCE_CONFIGURATION_CLUSTER_INFO = {
-        "clusterName": "PowerSourceConfiguration",
-        "clusterId": 0x0000002E,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Sources",
-                "attributeId": 0x00000000,
-                "type": "int",
+            "clusterName": "PowerSourceConfiguration",
+            "clusterId": 0x0000002E,
+            "commands": {
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Sources",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                },
             },
-        },
     }
     _PRESSURE_MEASUREMENT_CLUSTER_INFO = {
-        "clusterName": "PressureMeasurement",
-        "clusterId": 0x00000403,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "MeasuredValue",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "PressureMeasurement",
+            "clusterId": 0x00000403,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "MinMeasuredValue",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "MeasuredValue",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "MinMeasuredValue",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "MaxMeasuredValue",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "MaxMeasuredValue",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _PUMP_CONFIGURATION_AND_CONTROL_CLUSTER_INFO = {
-        "clusterName": "PumpConfigurationAndControl",
-        "clusterId": 0x00000200,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "MaxPressure",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "PumpConfigurationAndControl",
+            "clusterId": 0x00000200,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "MaxSpeed",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "MaxPressure",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "MaxSpeed",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "MaxFlow",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "MinConstPressure",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "MaxConstPressure",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "MinCompPressure",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "MaxCompPressure",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000007: {
+                    "attributeName": "MinConstSpeed",
+                    "attributeId": 0x00000007,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000008: {
+                    "attributeName": "MaxConstSpeed",
+                    "attributeId": 0x00000008,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000009: {
+                    "attributeName": "MinConstFlow",
+                    "attributeId": 0x00000009,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000A: {
+                    "attributeName": "MaxConstFlow",
+                    "attributeId": 0x0000000A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000B: {
+                    "attributeName": "MinConstTemp",
+                    "attributeId": 0x0000000B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000C: {
+                    "attributeName": "MaxConstTemp",
+                    "attributeId": 0x0000000C,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000010: {
+                    "attributeName": "PumpStatus",
+                    "attributeId": 0x00000010,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000011: {
+                    "attributeName": "EffectiveOperationMode",
+                    "attributeId": 0x00000011,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000012: {
+                    "attributeName": "EffectiveControlMode",
+                    "attributeId": 0x00000012,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000013: {
+                    "attributeName": "Capacity",
+                    "attributeId": 0x00000013,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000014: {
+                    "attributeName": "Speed",
+                    "attributeId": 0x00000014,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000015: {
+                    "attributeName": "LifetimeRunningHours",
+                    "attributeId": 0x00000015,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000016: {
+                    "attributeName": "Power",
+                    "attributeId": 0x00000016,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000017: {
+                    "attributeName": "LifetimeEnergyConsumed",
+                    "attributeId": 0x00000017,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000020: {
+                    "attributeName": "OperationMode",
+                    "attributeId": 0x00000020,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000021: {
+                    "attributeName": "ControlMode",
+                    "attributeId": 0x00000021,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000022: {
+                    "attributeName": "AlarmMask",
+                    "attributeId": 0x00000022,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "MaxFlow",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "MinConstPressure",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "MaxConstPressure",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "MinCompPressure",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "MaxCompPressure",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000007: {
-                "attributeName": "MinConstSpeed",
-                "attributeId": 0x00000007,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000008: {
-                "attributeName": "MaxConstSpeed",
-                "attributeId": 0x00000008,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000009: {
-                "attributeName": "MinConstFlow",
-                "attributeId": 0x00000009,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000A: {
-                "attributeName": "MaxConstFlow",
-                "attributeId": 0x0000000A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000B: {
-                "attributeName": "MinConstTemp",
-                "attributeId": 0x0000000B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000C: {
-                "attributeName": "MaxConstTemp",
-                "attributeId": 0x0000000C,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000010: {
-                "attributeName": "PumpStatus",
-                "attributeId": 0x00000010,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000011: {
-                "attributeName": "EffectiveOperationMode",
-                "attributeId": 0x00000011,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000012: {
-                "attributeName": "EffectiveControlMode",
-                "attributeId": 0x00000012,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000013: {
-                "attributeName": "Capacity",
-                "attributeId": 0x00000013,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000014: {
-                "attributeName": "Speed",
-                "attributeId": 0x00000014,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000015: {
-                "attributeName": "LifetimeRunningHours",
-                "attributeId": 0x00000015,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000016: {
-                "attributeName": "Power",
-                "attributeId": 0x00000016,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000017: {
-                "attributeName": "LifetimeEnergyConsumed",
-                "attributeId": 0x00000017,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000020: {
-                "attributeName": "OperationMode",
-                "attributeId": 0x00000020,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000021: {
-                "attributeName": "ControlMode",
-                "attributeId": 0x00000021,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000022: {
-                "attributeName": "AlarmMask",
-                "attributeId": 0x00000022,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_INFO = {
-        "clusterName": "RelativeHumidityMeasurement",
-        "clusterId": 0x00000405,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "MeasuredValue",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "RelativeHumidityMeasurement",
+            "clusterId": 0x00000405,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "MinMeasuredValue",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "MeasuredValue",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "MinMeasuredValue",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "MaxMeasuredValue",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "Tolerance",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "MaxMeasuredValue",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "Tolerance",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _SCENES_CLUSTER_INFO = {
-        "clusterName": "Scenes",
-        "clusterId": 0x00000005,
-        "commands": {
+            "clusterName": "Scenes",
+            "clusterId": 0x00000005,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "AddScene",
-                "args": {
-                    "groupId": "int",
-                    "sceneId": "int",
-                    "transitionTime": "int",
-                    "sceneName": "str",
-                    "clusterId": "int",
-                    "length": "int",
-                    "value": "int",
+                    "commandId": 0x00000000,
+                    "commandName": "AddScene",
+                    "args": {
+                        "groupId": "int",
+                        "sceneId": "int",
+                        "transitionTime": "int",
+                        "sceneName": "str",
+                        "clusterId": "int",
+                        "length": "int",
+                        "value": "int",
+                    },
                 },
-            },
             0x00000006: {
-                "commandId": 0x00000006,
-                "commandName": "GetSceneMembership",
-                "args": {
-                    "groupId": "int",
+                    "commandId": 0x00000006,
+                    "commandName": "GetSceneMembership",
+                    "args": {
+                        "groupId": "int",
+                    },
                 },
-            },
             0x00000005: {
-                "commandId": 0x00000005,
-                "commandName": "RecallScene",
-                "args": {
-                    "groupId": "int",
-                    "sceneId": "int",
-                    "transitionTime": "int",
+                    "commandId": 0x00000005,
+                    "commandName": "RecallScene",
+                    "args": {
+                        "groupId": "int",
+                        "sceneId": "int",
+                        "transitionTime": "int",
+                    },
                 },
-            },
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "RemoveAllScenes",
-                "args": {
-                    "groupId": "int",
+                    "commandId": 0x00000003,
+                    "commandName": "RemoveAllScenes",
+                    "args": {
+                        "groupId": "int",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "RemoveScene",
-                "args": {
-                    "groupId": "int",
-                    "sceneId": "int",
+                    "commandId": 0x00000002,
+                    "commandName": "RemoveScene",
+                    "args": {
+                        "groupId": "int",
+                        "sceneId": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "StoreScene",
-                "args": {
-                    "groupId": "int",
-                    "sceneId": "int",
+                    "commandId": 0x00000004,
+                    "commandName": "StoreScene",
+                    "args": {
+                        "groupId": "int",
+                        "sceneId": "int",
+                    },
+                },
+            0x00000001: {
+                    "commandId": 0x00000001,
+                    "commandName": "ViewScene",
+                    "args": {
+                        "groupId": "int",
+                        "sceneId": "int",
+                    },
                 },
             },
-            0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "ViewScene",
-                "args": {
-                    "groupId": "int",
-                    "sceneId": "int",
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "SceneCount",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "CurrentScene",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "CurrentGroup",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "SceneValid",
+                    "attributeId": 0x00000003,
+                    "type": "bool",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "NameSupport",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "SceneCount",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000001: {
-                "attributeName": "CurrentScene",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "CurrentGroup",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "SceneValid",
-                "attributeId": 0x00000003,
-                "type": "bool",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "NameSupport",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _SOFTWARE_DIAGNOSTICS_CLUSTER_INFO = {
-        "clusterName": "SoftwareDiagnostics",
-        "clusterId": 0x00000034,
-        "commands": {
+            "clusterName": "SoftwareDiagnostics",
+            "clusterId": 0x00000034,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "ResetWatermarks",
-                "args": {
+                    "commandId": 0x00000000,
+                    "commandName": "ResetWatermarks",
+                    "args": {
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "ThreadMetrics",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "ThreadMetrics",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "CurrentHeapFree",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "CurrentHeapUsed",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "CurrentHeapHighWatermark",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "CurrentHeapFree",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "CurrentHeapUsed",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "CurrentHeapHighWatermark",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _SWITCH_CLUSTER_INFO = {
-        "clusterName": "Switch",
-        "clusterId": 0x0000003B,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "NumberOfPositions",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "Switch",
+            "clusterId": 0x0000003B,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "CurrentPosition",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "NumberOfPositions",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "CurrentPosition",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "MultiPressMax",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "MultiPressMax",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _TV_CHANNEL_CLUSTER_INFO = {
-        "clusterName": "TvChannel",
-        "clusterId": 0x00000504,
-        "commands": {
+            "clusterName": "TvChannel",
+            "clusterId": 0x00000504,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "ChangeChannel",
-                "args": {
-                    "match": "str",
+                    "commandId": 0x00000000,
+                    "commandName": "ChangeChannel",
+                    "args": {
+                        "match": "str",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "ChangeChannelByNumber",
-                "args": {
-                    "majorNumber": "int",
-                    "minorNumber": "int",
+                    "commandId": 0x00000001,
+                    "commandName": "ChangeChannelByNumber",
+                    "args": {
+                        "majorNumber": "int",
+                        "minorNumber": "int",
+                    },
+                },
+            0x00000002: {
+                    "commandId": 0x00000002,
+                    "commandName": "SkipChannel",
+                    "args": {
+                        "count": "int",
+                    },
                 },
             },
-            0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "SkipChannel",
-                "args": {
-                    "count": "int",
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "TvChannelList",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "TvChannelLineup",
+                    "attributeId": 0x00000001,
+                    "type": "bytes",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "CurrentTvChannel",
+                    "attributeId": 0x00000002,
+                    "type": "bytes",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "TvChannelList",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
-            },
-            0x00000001: {
-                "attributeName": "TvChannelLineup",
-                "attributeId": 0x00000001,
-                "type": "bytes",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "CurrentTvChannel",
-                "attributeId": 0x00000002,
-                "type": "bytes",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _TARGET_NAVIGATOR_CLUSTER_INFO = {
-        "clusterName": "TargetNavigator",
-        "clusterId": 0x00000505,
-        "commands": {
+            "clusterName": "TargetNavigator",
+            "clusterId": 0x00000505,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "NavigateTarget",
-                "args": {
-                    "target": "int",
-                    "data": "str",
+                    "commandId": 0x00000000,
+                    "commandName": "NavigateTarget",
+                    "args": {
+                        "target": "int",
+                        "data": "str",
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "TargetNavigatorList",
-                "attributeId": 0x00000000,
-                "type": "",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "TargetNavigatorList",
+                    "attributeId": 0x00000000,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _TEMPERATURE_MEASUREMENT_CLUSTER_INFO = {
-        "clusterName": "TemperatureMeasurement",
-        "clusterId": 0x00000402,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "MeasuredValue",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
+            "clusterName": "TemperatureMeasurement",
+            "clusterId": 0x00000402,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "MinMeasuredValue",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "MeasuredValue",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "MinMeasuredValue",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "MaxMeasuredValue",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "Tolerance",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "MaxMeasuredValue",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "Tolerance",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _TEST_CLUSTER_CLUSTER_INFO = {
-        "clusterName": "TestCluster",
-        "clusterId": 0x0000050F,
-        "commands": {
+            "clusterName": "TestCluster",
+            "clusterId": 0x0000050F,
+            "commands": {
             0x00000011: {
-                "commandId": 0x00000011,
-                "commandName": "SimpleStructEchoRequest",
-                "args": {
-                    "a": "int",
-                    "b": "bool",
-                    "c": "int",
-                    "d": "bytes",
-                    "e": "str",
-                    "f": "int",
-                    "g": "",
-                    "h": "",
+                    "commandId": 0x00000011,
+                    "commandName": "SimpleStructEchoRequest",
+                    "args": {
+                        "a": "int",
+                        "b": "bool",
+                        "c": "int",
+                        "d": "bytes",
+                        "e": "str",
+                        "f": "int",
+                        "g": "",
+                        "h": "",
+                    },
                 },
-            },
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "Test",
-                "args": {
+                    "commandId": 0x00000000,
+                    "commandName": "Test",
+                    "args": {
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "TestAddArguments",
-                "args": {
-                    "arg1": "int",
-                    "arg2": "int",
+                    "commandId": 0x00000004,
+                    "commandName": "TestAddArguments",
+                    "args": {
+                        "arg1": "int",
+                        "arg2": "int",
+                    },
                 },
-            },
             0x0000000E: {
-                "commandId": 0x0000000E,
-                "commandName": "TestEnumsRequest",
-                "args": {
-                    "arg1": "int",
-                    "arg2": "int",
+                    "commandId": 0x0000000E,
+                    "commandName": "TestEnumsRequest",
+                    "args": {
+                        "arg1": "int",
+                        "arg2": "int",
+                    },
                 },
-            },
             0x0000000A: {
-                "commandId": 0x0000000A,
-                "commandName": "TestListInt8UArgumentRequest",
-                "args": {
-                    "arg1": "int",
+                    "commandId": 0x0000000A,
+                    "commandName": "TestListInt8UArgumentRequest",
+                    "args": {
+                        "arg1": "int",
+                    },
                 },
-            },
             0x0000000D: {
-                "commandId": 0x0000000D,
-                "commandName": "TestListInt8UReverseRequest",
-                "args": {
-                    "arg1": "int",
+                    "commandId": 0x0000000D,
+                    "commandName": "TestListInt8UReverseRequest",
+                    "args": {
+                        "arg1": "int",
+                    },
                 },
-            },
             0x0000000C: {
-                "commandId": 0x0000000C,
-                "commandName": "TestListNestedStructListArgumentRequest",
-                "args": {
-                    "a": "int",
-                    "b": "bool",
-                    "c": "",
-                    "d": "",
-                    "e": "int",
-                    "f": "bytes",
-                    "g": "int",
+                    "commandId": 0x0000000C,
+                    "commandName": "TestListNestedStructListArgumentRequest",
+                    "args": {
+                        "a": "int",
+                        "b": "bool",
+                        "c": "",
+                        "d": "",
+                        "e": "int",
+                        "f": "bytes",
+                        "g": "int",
+                    },
                 },
-            },
             0x00000009: {
-                "commandId": 0x00000009,
-                "commandName": "TestListStructArgumentRequest",
-                "args": {
-                    "a": "int",
-                    "b": "bool",
-                    "c": "int",
-                    "d": "bytes",
-                    "e": "str",
-                    "f": "int",
-                    "g": "",
-                    "h": "",
+                    "commandId": 0x00000009,
+                    "commandName": "TestListStructArgumentRequest",
+                    "args": {
+                        "a": "int",
+                        "b": "bool",
+                        "c": "int",
+                        "d": "bytes",
+                        "e": "str",
+                        "f": "int",
+                        "g": "",
+                        "h": "",
+                    },
                 },
-            },
             0x00000008: {
-                "commandId": 0x00000008,
-                "commandName": "TestNestedStructArgumentRequest",
-                "args": {
-                    "a": "int",
-                    "b": "bool",
-                    "c": "",
+                    "commandId": 0x00000008,
+                    "commandName": "TestNestedStructArgumentRequest",
+                    "args": {
+                        "a": "int",
+                        "b": "bool",
+                        "c": "",
+                    },
                 },
-            },
             0x0000000B: {
-                "commandId": 0x0000000B,
-                "commandName": "TestNestedStructListArgumentRequest",
-                "args": {
-                    "a": "int",
-                    "b": "bool",
-                    "c": "",
-                    "d": "",
-                    "e": "int",
-                    "f": "bytes",
-                    "g": "int",
+                    "commandId": 0x0000000B,
+                    "commandName": "TestNestedStructListArgumentRequest",
+                    "args": {
+                        "a": "int",
+                        "b": "bool",
+                        "c": "",
+                        "d": "",
+                        "e": "int",
+                        "f": "bytes",
+                        "g": "int",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "TestNotHandled",
-                "args": {
+                    "commandId": 0x00000001,
+                    "commandName": "TestNotHandled",
+                    "args": {
+                    },
                 },
-            },
             0x0000000F: {
-                "commandId": 0x0000000F,
-                "commandName": "TestNullableOptionalRequest",
-                "args": {
-                    "arg1": "int",
+                    "commandId": 0x0000000F,
+                    "commandName": "TestNullableOptionalRequest",
+                    "args": {
+                        "arg1": "int",
+                    },
                 },
-            },
             0x00000013: {
-                "commandId": 0x00000013,
-                "commandName": "TestSimpleOptionalArgumentRequest",
-                "args": {
-                    "arg1": "bool",
+                    "commandId": 0x00000013,
+                    "commandName": "TestSimpleOptionalArgumentRequest",
+                    "args": {
+                        "arg1": "bool",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "TestSpecific",
-                "args": {
+                    "commandId": 0x00000002,
+                    "commandName": "TestSpecific",
+                    "args": {
+                    },
                 },
-            },
             0x00000007: {
-                "commandId": 0x00000007,
-                "commandName": "TestStructArgumentRequest",
-                "args": {
-                    "a": "int",
-                    "b": "bool",
-                    "c": "int",
-                    "d": "bytes",
-                    "e": "str",
-                    "f": "int",
-                    "g": "",
-                    "h": "",
+                    "commandId": 0x00000007,
+                    "commandName": "TestStructArgumentRequest",
+                    "args": {
+                        "a": "int",
+                        "b": "bool",
+                        "c": "int",
+                        "d": "bytes",
+                        "e": "str",
+                        "f": "int",
+                        "g": "",
+                        "h": "",
+                    },
                 },
-            },
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "TestUnknownCommand",
-                "args": {
+                    "commandId": 0x00000003,
+                    "commandName": "TestUnknownCommand",
+                    "args": {
+                    },
+                },
+            0x00000012: {
+                    "commandId": 0x00000012,
+                    "commandName": "TimedInvokeRequest",
+                    "args": {
+                    },
                 },
             },
-            0x00000012: {
-                "commandId": 0x00000012,
-                "commandName": "TimedInvokeRequest",
-                "args": {
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Boolean",
+                    "attributeId": 0x00000000,
+                    "type": "bool",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000001: {
+                    "attributeName": "Bitmap8",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000002: {
+                    "attributeName": "Bitmap16",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000003: {
+                    "attributeName": "Bitmap32",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000004: {
+                    "attributeName": "Bitmap64",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000005: {
+                    "attributeName": "Int8u",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000006: {
+                    "attributeName": "Int16u",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000007: {
+                    "attributeName": "Int24u",
+                    "attributeId": 0x00000007,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000008: {
+                    "attributeName": "Int32u",
+                    "attributeId": 0x00000008,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000009: {
+                    "attributeName": "Int40u",
+                    "attributeId": 0x00000009,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000000A: {
+                    "attributeName": "Int48u",
+                    "attributeId": 0x0000000A,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000000B: {
+                    "attributeName": "Int56u",
+                    "attributeId": 0x0000000B,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000000C: {
+                    "attributeName": "Int64u",
+                    "attributeId": 0x0000000C,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000000D: {
+                    "attributeName": "Int8s",
+                    "attributeId": 0x0000000D,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000000E: {
+                    "attributeName": "Int16s",
+                    "attributeId": 0x0000000E,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000000F: {
+                    "attributeName": "Int24s",
+                    "attributeId": 0x0000000F,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000010: {
+                    "attributeName": "Int32s",
+                    "attributeId": 0x00000010,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000011: {
+                    "attributeName": "Int40s",
+                    "attributeId": 0x00000011,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000012: {
+                    "attributeName": "Int48s",
+                    "attributeId": 0x00000012,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000013: {
+                    "attributeName": "Int56s",
+                    "attributeId": 0x00000013,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000014: {
+                    "attributeName": "Int64s",
+                    "attributeId": 0x00000014,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000015: {
+                    "attributeName": "Enum8",
+                    "attributeId": 0x00000015,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000016: {
+                    "attributeName": "Enum16",
+                    "attributeId": 0x00000016,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000017: {
+                    "attributeName": "FloatSingle",
+                    "attributeId": 0x00000017,
+                    "type": "",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000018: {
+                    "attributeName": "FloatDouble",
+                    "attributeId": 0x00000018,
+                    "type": "",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000019: {
+                    "attributeName": "OctetString",
+                    "attributeId": 0x00000019,
+                    "type": "bytes",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000001A: {
+                    "attributeName": "ListInt8u",
+                    "attributeId": 0x0000001A,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000001B: {
+                    "attributeName": "ListOctetString",
+                    "attributeId": 0x0000001B,
+                    "type": "bytes",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000001C: {
+                    "attributeName": "ListStructOctetString",
+                    "attributeId": 0x0000001C,
+                    "type": "",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000001D: {
+                    "attributeName": "LongOctetString",
+                    "attributeId": 0x0000001D,
+                    "type": "bytes",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000001E: {
+                    "attributeName": "CharString",
+                    "attributeId": 0x0000001E,
+                    "type": "str",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000001F: {
+                    "attributeName": "LongCharString",
+                    "attributeId": 0x0000001F,
+                    "type": "str",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000020: {
+                    "attributeName": "EpochUs",
+                    "attributeId": 0x00000020,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000021: {
+                    "attributeName": "EpochS",
+                    "attributeId": 0x00000021,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000022: {
+                    "attributeName": "VendorId",
+                    "attributeId": 0x00000022,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000023: {
+                    "attributeName": "ListNullablesAndOptionalsStruct",
+                    "attributeId": 0x00000023,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000024: {
+                    "attributeName": "EnumAttr",
+                    "attributeId": 0x00000024,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000025: {
+                    "attributeName": "Struct",
+                    "attributeId": 0x00000025,
+                    "type": "",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000026: {
+                    "attributeName": "RangeRestrictedInt8u",
+                    "attributeId": 0x00000026,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000027: {
+                    "attributeName": "RangeRestrictedInt8s",
+                    "attributeId": 0x00000027,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000028: {
+                    "attributeName": "RangeRestrictedInt16u",
+                    "attributeId": 0x00000028,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000029: {
+                    "attributeName": "RangeRestrictedInt16s",
+                    "attributeId": 0x00000029,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000002A: {
+                    "attributeName": "ListLongOctetString",
+                    "attributeId": 0x0000002A,
+                    "type": "bytes",
+                },
+                0x00000030: {
+                    "attributeName": "TimedWriteBoolean",
+                    "attributeId": 0x00000030,
+                    "type": "bool",
+                    "writable": True,
+                },
+                0x000000FF: {
+                    "attributeName": "Unsupported",
+                    "attributeId": 0x000000FF,
+                    "type": "bool",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008000: {
+                    "attributeName": "NullableBoolean",
+                    "attributeId": 0x00008000,
+                    "type": "bool",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008001: {
+                    "attributeName": "NullableBitmap8",
+                    "attributeId": 0x00008001,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008002: {
+                    "attributeName": "NullableBitmap16",
+                    "attributeId": 0x00008002,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008003: {
+                    "attributeName": "NullableBitmap32",
+                    "attributeId": 0x00008003,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008004: {
+                    "attributeName": "NullableBitmap64",
+                    "attributeId": 0x00008004,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008005: {
+                    "attributeName": "NullableInt8u",
+                    "attributeId": 0x00008005,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008006: {
+                    "attributeName": "NullableInt16u",
+                    "attributeId": 0x00008006,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008007: {
+                    "attributeName": "NullableInt24u",
+                    "attributeId": 0x00008007,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008008: {
+                    "attributeName": "NullableInt32u",
+                    "attributeId": 0x00008008,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008009: {
+                    "attributeName": "NullableInt40u",
+                    "attributeId": 0x00008009,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000800A: {
+                    "attributeName": "NullableInt48u",
+                    "attributeId": 0x0000800A,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000800B: {
+                    "attributeName": "NullableInt56u",
+                    "attributeId": 0x0000800B,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000800C: {
+                    "attributeName": "NullableInt64u",
+                    "attributeId": 0x0000800C,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000800D: {
+                    "attributeName": "NullableInt8s",
+                    "attributeId": 0x0000800D,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000800E: {
+                    "attributeName": "NullableInt16s",
+                    "attributeId": 0x0000800E,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000800F: {
+                    "attributeName": "NullableInt24s",
+                    "attributeId": 0x0000800F,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008010: {
+                    "attributeName": "NullableInt32s",
+                    "attributeId": 0x00008010,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008011: {
+                    "attributeName": "NullableInt40s",
+                    "attributeId": 0x00008011,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008012: {
+                    "attributeName": "NullableInt48s",
+                    "attributeId": 0x00008012,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008013: {
+                    "attributeName": "NullableInt56s",
+                    "attributeId": 0x00008013,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008014: {
+                    "attributeName": "NullableInt64s",
+                    "attributeId": 0x00008014,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008015: {
+                    "attributeName": "NullableEnum8",
+                    "attributeId": 0x00008015,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008016: {
+                    "attributeName": "NullableEnum16",
+                    "attributeId": 0x00008016,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008017: {
+                    "attributeName": "NullableFloatSingle",
+                    "attributeId": 0x00008017,
+                    "type": "",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008018: {
+                    "attributeName": "NullableFloatDouble",
+                    "attributeId": 0x00008018,
+                    "type": "",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008019: {
+                    "attributeName": "NullableOctetString",
+                    "attributeId": 0x00008019,
+                    "type": "bytes",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000801E: {
+                    "attributeName": "NullableCharString",
+                    "attributeId": 0x0000801E,
+                    "type": "str",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008024: {
+                    "attributeName": "NullableEnumAttr",
+                    "attributeId": 0x00008024,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008025: {
+                    "attributeName": "NullableStruct",
+                    "attributeId": 0x00008025,
+                    "type": "",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008026: {
+                    "attributeName": "NullableRangeRestrictedInt8u",
+                    "attributeId": 0x00008026,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008027: {
+                    "attributeName": "NullableRangeRestrictedInt8s",
+                    "attributeId": 0x00008027,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008028: {
+                    "attributeName": "NullableRangeRestrictedInt16u",
+                    "attributeId": 0x00008028,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00008029: {
+                    "attributeName": "NullableRangeRestrictedInt16s",
+                    "attributeId": 0x00008029,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Boolean",
-                "attributeId": 0x00000000,
-                "type": "bool",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000001: {
-                "attributeName": "Bitmap8",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000002: {
-                "attributeName": "Bitmap16",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000003: {
-                "attributeName": "Bitmap32",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000004: {
-                "attributeName": "Bitmap64",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000005: {
-                "attributeName": "Int8u",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000006: {
-                "attributeName": "Int16u",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000007: {
-                "attributeName": "Int24u",
-                "attributeId": 0x00000007,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000008: {
-                "attributeName": "Int32u",
-                "attributeId": 0x00000008,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000009: {
-                "attributeName": "Int40u",
-                "attributeId": 0x00000009,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000000A: {
-                "attributeName": "Int48u",
-                "attributeId": 0x0000000A,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000000B: {
-                "attributeName": "Int56u",
-                "attributeId": 0x0000000B,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000000C: {
-                "attributeName": "Int64u",
-                "attributeId": 0x0000000C,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000000D: {
-                "attributeName": "Int8s",
-                "attributeId": 0x0000000D,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000000E: {
-                "attributeName": "Int16s",
-                "attributeId": 0x0000000E,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000000F: {
-                "attributeName": "Int24s",
-                "attributeId": 0x0000000F,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000010: {
-                "attributeName": "Int32s",
-                "attributeId": 0x00000010,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000011: {
-                "attributeName": "Int40s",
-                "attributeId": 0x00000011,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000012: {
-                "attributeName": "Int48s",
-                "attributeId": 0x00000012,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000013: {
-                "attributeName": "Int56s",
-                "attributeId": 0x00000013,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000014: {
-                "attributeName": "Int64s",
-                "attributeId": 0x00000014,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000015: {
-                "attributeName": "Enum8",
-                "attributeId": 0x00000015,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000016: {
-                "attributeName": "Enum16",
-                "attributeId": 0x00000016,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000017: {
-                "attributeName": "FloatSingle",
-                "attributeId": 0x00000017,
-                "type": "",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000018: {
-                "attributeName": "FloatDouble",
-                "attributeId": 0x00000018,
-                "type": "",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000019: {
-                "attributeName": "OctetString",
-                "attributeId": 0x00000019,
-                "type": "bytes",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000001A: {
-                "attributeName": "ListInt8u",
-                "attributeId": 0x0000001A,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000001B: {
-                "attributeName": "ListOctetString",
-                "attributeId": 0x0000001B,
-                "type": "bytes",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000001C: {
-                "attributeName": "ListStructOctetString",
-                "attributeId": 0x0000001C,
-                "type": "",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000001D: {
-                "attributeName": "LongOctetString",
-                "attributeId": 0x0000001D,
-                "type": "bytes",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000001E: {
-                "attributeName": "CharString",
-                "attributeId": 0x0000001E,
-                "type": "str",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000001F: {
-                "attributeName": "LongCharString",
-                "attributeId": 0x0000001F,
-                "type": "str",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000020: {
-                "attributeName": "EpochUs",
-                "attributeId": 0x00000020,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000021: {
-                "attributeName": "EpochS",
-                "attributeId": 0x00000021,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000022: {
-                "attributeName": "VendorId",
-                "attributeId": 0x00000022,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000023: {
-                "attributeName": "ListNullablesAndOptionalsStruct",
-                "attributeId": 0x00000023,
-                "type": "",
-                "reportable": True,
-            },
-            0x00000024: {
-                "attributeName": "EnumAttr",
-                "attributeId": 0x00000024,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000025: {
-                "attributeName": "Struct",
-                "attributeId": 0x00000025,
-                "type": "",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000026: {
-                "attributeName": "RangeRestrictedInt8u",
-                "attributeId": 0x00000026,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000027: {
-                "attributeName": "RangeRestrictedInt8s",
-                "attributeId": 0x00000027,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000028: {
-                "attributeName": "RangeRestrictedInt16u",
-                "attributeId": 0x00000028,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000029: {
-                "attributeName": "RangeRestrictedInt16s",
-                "attributeId": 0x00000029,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000002A: {
-                "attributeName": "ListLongOctetString",
-                "attributeId": 0x0000002A,
-                "type": "bytes",
-            },
-            0x00000030: {
-                "attributeName": "TimedWriteBoolean",
-                "attributeId": 0x00000030,
-                "type": "bool",
-                "writable": True,
-            },
-            0x000000FF: {
-                "attributeName": "Unsupported",
-                "attributeId": 0x000000FF,
-                "type": "bool",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008000: {
-                "attributeName": "NullableBoolean",
-                "attributeId": 0x00008000,
-                "type": "bool",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008001: {
-                "attributeName": "NullableBitmap8",
-                "attributeId": 0x00008001,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008002: {
-                "attributeName": "NullableBitmap16",
-                "attributeId": 0x00008002,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008003: {
-                "attributeName": "NullableBitmap32",
-                "attributeId": 0x00008003,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008004: {
-                "attributeName": "NullableBitmap64",
-                "attributeId": 0x00008004,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008005: {
-                "attributeName": "NullableInt8u",
-                "attributeId": 0x00008005,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008006: {
-                "attributeName": "NullableInt16u",
-                "attributeId": 0x00008006,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008007: {
-                "attributeName": "NullableInt24u",
-                "attributeId": 0x00008007,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008008: {
-                "attributeName": "NullableInt32u",
-                "attributeId": 0x00008008,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008009: {
-                "attributeName": "NullableInt40u",
-                "attributeId": 0x00008009,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000800A: {
-                "attributeName": "NullableInt48u",
-                "attributeId": 0x0000800A,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000800B: {
-                "attributeName": "NullableInt56u",
-                "attributeId": 0x0000800B,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000800C: {
-                "attributeName": "NullableInt64u",
-                "attributeId": 0x0000800C,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000800D: {
-                "attributeName": "NullableInt8s",
-                "attributeId": 0x0000800D,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000800E: {
-                "attributeName": "NullableInt16s",
-                "attributeId": 0x0000800E,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000800F: {
-                "attributeName": "NullableInt24s",
-                "attributeId": 0x0000800F,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008010: {
-                "attributeName": "NullableInt32s",
-                "attributeId": 0x00008010,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008011: {
-                "attributeName": "NullableInt40s",
-                "attributeId": 0x00008011,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008012: {
-                "attributeName": "NullableInt48s",
-                "attributeId": 0x00008012,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008013: {
-                "attributeName": "NullableInt56s",
-                "attributeId": 0x00008013,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008014: {
-                "attributeName": "NullableInt64s",
-                "attributeId": 0x00008014,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008015: {
-                "attributeName": "NullableEnum8",
-                "attributeId": 0x00008015,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008016: {
-                "attributeName": "NullableEnum16",
-                "attributeId": 0x00008016,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008017: {
-                "attributeName": "NullableFloatSingle",
-                "attributeId": 0x00008017,
-                "type": "",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008018: {
-                "attributeName": "NullableFloatDouble",
-                "attributeId": 0x00008018,
-                "type": "",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008019: {
-                "attributeName": "NullableOctetString",
-                "attributeId": 0x00008019,
-                "type": "bytes",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000801E: {
-                "attributeName": "NullableCharString",
-                "attributeId": 0x0000801E,
-                "type": "str",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008024: {
-                "attributeName": "NullableEnumAttr",
-                "attributeId": 0x00008024,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008025: {
-                "attributeName": "NullableStruct",
-                "attributeId": 0x00008025,
-                "type": "",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008026: {
-                "attributeName": "NullableRangeRestrictedInt8u",
-                "attributeId": 0x00008026,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008027: {
-                "attributeName": "NullableRangeRestrictedInt8s",
-                "attributeId": 0x00008027,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008028: {
-                "attributeName": "NullableRangeRestrictedInt16u",
-                "attributeId": 0x00008028,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00008029: {
-                "attributeName": "NullableRangeRestrictedInt16s",
-                "attributeId": 0x00008029,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _THERMOSTAT_CLUSTER_INFO = {
-        "clusterName": "Thermostat",
-        "clusterId": 0x00000201,
-        "commands": {
+            "clusterName": "Thermostat",
+            "clusterId": 0x00000201,
+            "commands": {
             0x00000003: {
-                "commandId": 0x00000003,
-                "commandName": "ClearWeeklySchedule",
-                "args": {
+                    "commandId": 0x00000003,
+                    "commandName": "ClearWeeklySchedule",
+                    "args": {
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "GetRelayStatusLog",
-                "args": {
+                    "commandId": 0x00000004,
+                    "commandName": "GetRelayStatusLog",
+                    "args": {
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "GetWeeklySchedule",
-                "args": {
-                    "daysToReturn": "int",
-                    "modeToReturn": "int",
+                    "commandId": 0x00000002,
+                    "commandName": "GetWeeklySchedule",
+                    "args": {
+                        "daysToReturn": "int",
+                        "modeToReturn": "int",
+                    },
                 },
-            },
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "SetWeeklySchedule",
-                "args": {
-                    "numberOfTransitionsForSequence": "int",
-                    "dayOfWeekForSequence": "int",
-                    "modeForSequence": "int",
-                    "payload": "int",
+                    "commandId": 0x00000001,
+                    "commandName": "SetWeeklySchedule",
+                    "args": {
+                        "numberOfTransitionsForSequence": "int",
+                        "dayOfWeekForSequence": "int",
+                        "modeForSequence": "int",
+                        "payload": "int",
+                    },
+                },
+            0x00000000: {
+                    "commandId": 0x00000000,
+                    "commandName": "SetpointRaiseLower",
+                    "args": {
+                        "mode": "int",
+                        "amount": "int",
+                    },
                 },
             },
-            0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "SetpointRaiseLower",
-                "args": {
-                    "mode": "int",
-                    "amount": "int",
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "LocalTemperature",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "AbsMinHeatSetpointLimit",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "AbsMaxHeatSetpointLimit",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "AbsMinCoolSetpointLimit",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "AbsMaxCoolSetpointLimit",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000011: {
+                    "attributeName": "OccupiedCoolingSetpoint",
+                    "attributeId": 0x00000011,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000012: {
+                    "attributeName": "OccupiedHeatingSetpoint",
+                    "attributeId": 0x00000012,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000015: {
+                    "attributeName": "MinHeatSetpointLimit",
+                    "attributeId": 0x00000015,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000016: {
+                    "attributeName": "MaxHeatSetpointLimit",
+                    "attributeId": 0x00000016,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000017: {
+                    "attributeName": "MinCoolSetpointLimit",
+                    "attributeId": 0x00000017,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000018: {
+                    "attributeName": "MaxCoolSetpointLimit",
+                    "attributeId": 0x00000018,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000019: {
+                    "attributeName": "MinSetpointDeadBand",
+                    "attributeId": 0x00000019,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000001B: {
+                    "attributeName": "ControlSequenceOfOperation",
+                    "attributeId": 0x0000001B,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000001C: {
+                    "attributeName": "SystemMode",
+                    "attributeId": 0x0000001C,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000020: {
+                    "attributeName": "StartOfWeek",
+                    "attributeId": 0x00000020,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000021: {
+                    "attributeName": "NumberOfWeeklyTransitions",
+                    "attributeId": 0x00000021,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000022: {
+                    "attributeName": "NumberOfDailyTransitions",
+                    "attributeId": 0x00000022,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "LocalTemperature",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "AbsMinHeatSetpointLimit",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "AbsMaxHeatSetpointLimit",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "AbsMinCoolSetpointLimit",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "AbsMaxCoolSetpointLimit",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000011: {
-                "attributeName": "OccupiedCoolingSetpoint",
-                "attributeId": 0x00000011,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000012: {
-                "attributeName": "OccupiedHeatingSetpoint",
-                "attributeId": 0x00000012,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000015: {
-                "attributeName": "MinHeatSetpointLimit",
-                "attributeId": 0x00000015,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000016: {
-                "attributeName": "MaxHeatSetpointLimit",
-                "attributeId": 0x00000016,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000017: {
-                "attributeName": "MinCoolSetpointLimit",
-                "attributeId": 0x00000017,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000018: {
-                "attributeName": "MaxCoolSetpointLimit",
-                "attributeId": 0x00000018,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000019: {
-                "attributeName": "MinSetpointDeadBand",
-                "attributeId": 0x00000019,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000001B: {
-                "attributeName": "ControlSequenceOfOperation",
-                "attributeId": 0x0000001B,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000001C: {
-                "attributeName": "SystemMode",
-                "attributeId": 0x0000001C,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x00000020: {
-                "attributeName": "StartOfWeek",
-                "attributeId": 0x00000020,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000021: {
-                "attributeName": "NumberOfWeeklyTransitions",
-                "attributeId": 0x00000021,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000022: {
-                "attributeName": "NumberOfDailyTransitions",
-                "attributeId": 0x00000022,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER_INFO = {
-        "clusterName": "ThermostatUserInterfaceConfiguration",
-        "clusterId": 0x00000204,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "TemperatureDisplayMode",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
+            "clusterName": "ThermostatUserInterfaceConfiguration",
+            "clusterId": 0x00000204,
+            "commands": {
             },
-            0x00000001: {
-                "attributeName": "KeypadLockout",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "TemperatureDisplayMode",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000001: {
+                    "attributeName": "KeypadLockout",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x00000002: {
+                    "attributeName": "ScheduleProgrammingVisibility",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000002: {
-                "attributeName": "ScheduleProgrammingVisibility",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _THREAD_NETWORK_DIAGNOSTICS_CLUSTER_INFO = {
-        "clusterName": "ThreadNetworkDiagnostics",
-        "clusterId": 0x00000035,
-        "commands": {
+            "clusterName": "ThreadNetworkDiagnostics",
+            "clusterId": 0x00000035,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "ResetCounts",
-                "args": {
+                    "commandId": 0x00000000,
+                    "commandName": "ResetCounts",
+                    "args": {
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Channel",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000001: {
-                "attributeName": "RoutingRole",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "NetworkName",
-                "attributeId": 0x00000002,
-                "type": "bytes",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "PanId",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "ExtendedPanId",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "MeshLocalPrefix",
-                "attributeId": 0x00000005,
-                "type": "bytes",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "OverrunCount",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000007: {
-                "attributeName": "NeighborTableList",
-                "attributeId": 0x00000007,
-                "type": "",
-                "reportable": True,
-            },
-            0x00000008: {
-                "attributeName": "RouteTableList",
-                "attributeId": 0x00000008,
-                "type": "",
-                "reportable": True,
-            },
-            0x00000009: {
-                "attributeName": "PartitionId",
-                "attributeId": 0x00000009,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000A: {
-                "attributeName": "Weighting",
-                "attributeId": 0x0000000A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000B: {
-                "attributeName": "DataVersion",
-                "attributeId": 0x0000000B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000C: {
-                "attributeName": "StableDataVersion",
-                "attributeId": 0x0000000C,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000D: {
-                "attributeName": "LeaderRouterId",
-                "attributeId": 0x0000000D,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000E: {
-                "attributeName": "DetachedRoleCount",
-                "attributeId": 0x0000000E,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000F: {
-                "attributeName": "ChildRoleCount",
-                "attributeId": 0x0000000F,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000010: {
-                "attributeName": "RouterRoleCount",
-                "attributeId": 0x00000010,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000011: {
-                "attributeName": "LeaderRoleCount",
-                "attributeId": 0x00000011,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000012: {
-                "attributeName": "AttachAttemptCount",
-                "attributeId": 0x00000012,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000013: {
-                "attributeName": "PartitionIdChangeCount",
-                "attributeId": 0x00000013,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000014: {
-                "attributeName": "BetterPartitionAttachAttemptCount",
-                "attributeId": 0x00000014,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000015: {
-                "attributeName": "ParentChangeCount",
-                "attributeId": 0x00000015,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000016: {
-                "attributeName": "TxTotalCount",
-                "attributeId": 0x00000016,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000017: {
-                "attributeName": "TxUnicastCount",
-                "attributeId": 0x00000017,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000018: {
-                "attributeName": "TxBroadcastCount",
-                "attributeId": 0x00000018,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000019: {
-                "attributeName": "TxAckRequestedCount",
-                "attributeId": 0x00000019,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000001A: {
-                "attributeName": "TxAckedCount",
-                "attributeId": 0x0000001A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000001B: {
-                "attributeName": "TxNoAckRequestedCount",
-                "attributeId": 0x0000001B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000001C: {
-                "attributeName": "TxDataCount",
-                "attributeId": 0x0000001C,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000001D: {
-                "attributeName": "TxDataPollCount",
-                "attributeId": 0x0000001D,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000001E: {
-                "attributeName": "TxBeaconCount",
-                "attributeId": 0x0000001E,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000001F: {
-                "attributeName": "TxBeaconRequestCount",
-                "attributeId": 0x0000001F,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000020: {
-                "attributeName": "TxOtherCount",
-                "attributeId": 0x00000020,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000021: {
-                "attributeName": "TxRetryCount",
-                "attributeId": 0x00000021,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000022: {
-                "attributeName": "TxDirectMaxRetryExpiryCount",
-                "attributeId": 0x00000022,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000023: {
-                "attributeName": "TxIndirectMaxRetryExpiryCount",
-                "attributeId": 0x00000023,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000024: {
-                "attributeName": "TxErrCcaCount",
-                "attributeId": 0x00000024,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000025: {
-                "attributeName": "TxErrAbortCount",
-                "attributeId": 0x00000025,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000026: {
-                "attributeName": "TxErrBusyChannelCount",
-                "attributeId": 0x00000026,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000027: {
-                "attributeName": "RxTotalCount",
-                "attributeId": 0x00000027,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000028: {
-                "attributeName": "RxUnicastCount",
-                "attributeId": 0x00000028,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000029: {
-                "attributeName": "RxBroadcastCount",
-                "attributeId": 0x00000029,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000002A: {
-                "attributeName": "RxDataCount",
-                "attributeId": 0x0000002A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000002B: {
-                "attributeName": "RxDataPollCount",
-                "attributeId": 0x0000002B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000002C: {
-                "attributeName": "RxBeaconCount",
-                "attributeId": 0x0000002C,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000002D: {
-                "attributeName": "RxBeaconRequestCount",
-                "attributeId": 0x0000002D,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000002E: {
-                "attributeName": "RxOtherCount",
-                "attributeId": 0x0000002E,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000002F: {
-                "attributeName": "RxAddressFilteredCount",
-                "attributeId": 0x0000002F,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000030: {
-                "attributeName": "RxDestAddrFilteredCount",
-                "attributeId": 0x00000030,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000031: {
-                "attributeName": "RxDuplicatedCount",
-                "attributeId": 0x00000031,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000032: {
-                "attributeName": "RxErrNoFrameCount",
-                "attributeId": 0x00000032,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000033: {
-                "attributeName": "RxErrUnknownNeighborCount",
-                "attributeId": 0x00000033,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000034: {
-                "attributeName": "RxErrInvalidSrcAddrCount",
-                "attributeId": 0x00000034,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000035: {
-                "attributeName": "RxErrSecCount",
-                "attributeId": 0x00000035,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000036: {
-                "attributeName": "RxErrFcsCount",
-                "attributeId": 0x00000036,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000037: {
-                "attributeName": "RxErrOtherCount",
-                "attributeId": 0x00000037,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000038: {
-                "attributeName": "ActiveTimestamp",
-                "attributeId": 0x00000038,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000039: {
-                "attributeName": "PendingTimestamp",
-                "attributeId": 0x00000039,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000003A: {
-                "attributeName": "Delay",
-                "attributeId": 0x0000003A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000003B: {
-                "attributeName": "SecurityPolicy",
-                "attributeId": 0x0000003B,
-                "type": "",
-                "reportable": True,
-            },
-            0x0000003C: {
-                "attributeName": "ChannelMask",
-                "attributeId": 0x0000003C,
-                "type": "bytes",
-                "reportable": True,
-            },
-            0x0000003D: {
-                "attributeName": "OperationalDatasetComponents",
-                "attributeId": 0x0000003D,
-                "type": "",
-                "reportable": True,
-            },
-            0x0000003E: {
-                "attributeName": "ActiveNetworkFaultsList",
-                "attributeId": 0x0000003E,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Channel",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "RoutingRole",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "NetworkName",
+                    "attributeId": 0x00000002,
+                    "type": "bytes",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "PanId",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "ExtendedPanId",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "MeshLocalPrefix",
+                    "attributeId": 0x00000005,
+                    "type": "bytes",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "OverrunCount",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000007: {
+                    "attributeName": "NeighborTableList",
+                    "attributeId": 0x00000007,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000008: {
+                    "attributeName": "RouteTableList",
+                    "attributeId": 0x00000008,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x00000009: {
+                    "attributeName": "PartitionId",
+                    "attributeId": 0x00000009,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000A: {
+                    "attributeName": "Weighting",
+                    "attributeId": 0x0000000A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000B: {
+                    "attributeName": "DataVersion",
+                    "attributeId": 0x0000000B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000C: {
+                    "attributeName": "StableDataVersion",
+                    "attributeId": 0x0000000C,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000D: {
+                    "attributeName": "LeaderRouterId",
+                    "attributeId": 0x0000000D,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000E: {
+                    "attributeName": "DetachedRoleCount",
+                    "attributeId": 0x0000000E,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000F: {
+                    "attributeName": "ChildRoleCount",
+                    "attributeId": 0x0000000F,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000010: {
+                    "attributeName": "RouterRoleCount",
+                    "attributeId": 0x00000010,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000011: {
+                    "attributeName": "LeaderRoleCount",
+                    "attributeId": 0x00000011,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000012: {
+                    "attributeName": "AttachAttemptCount",
+                    "attributeId": 0x00000012,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000013: {
+                    "attributeName": "PartitionIdChangeCount",
+                    "attributeId": 0x00000013,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000014: {
+                    "attributeName": "BetterPartitionAttachAttemptCount",
+                    "attributeId": 0x00000014,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000015: {
+                    "attributeName": "ParentChangeCount",
+                    "attributeId": 0x00000015,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000016: {
+                    "attributeName": "TxTotalCount",
+                    "attributeId": 0x00000016,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000017: {
+                    "attributeName": "TxUnicastCount",
+                    "attributeId": 0x00000017,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000018: {
+                    "attributeName": "TxBroadcastCount",
+                    "attributeId": 0x00000018,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000019: {
+                    "attributeName": "TxAckRequestedCount",
+                    "attributeId": 0x00000019,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000001A: {
+                    "attributeName": "TxAckedCount",
+                    "attributeId": 0x0000001A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000001B: {
+                    "attributeName": "TxNoAckRequestedCount",
+                    "attributeId": 0x0000001B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000001C: {
+                    "attributeName": "TxDataCount",
+                    "attributeId": 0x0000001C,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000001D: {
+                    "attributeName": "TxDataPollCount",
+                    "attributeId": 0x0000001D,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000001E: {
+                    "attributeName": "TxBeaconCount",
+                    "attributeId": 0x0000001E,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000001F: {
+                    "attributeName": "TxBeaconRequestCount",
+                    "attributeId": 0x0000001F,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000020: {
+                    "attributeName": "TxOtherCount",
+                    "attributeId": 0x00000020,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000021: {
+                    "attributeName": "TxRetryCount",
+                    "attributeId": 0x00000021,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000022: {
+                    "attributeName": "TxDirectMaxRetryExpiryCount",
+                    "attributeId": 0x00000022,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000023: {
+                    "attributeName": "TxIndirectMaxRetryExpiryCount",
+                    "attributeId": 0x00000023,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000024: {
+                    "attributeName": "TxErrCcaCount",
+                    "attributeId": 0x00000024,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000025: {
+                    "attributeName": "TxErrAbortCount",
+                    "attributeId": 0x00000025,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000026: {
+                    "attributeName": "TxErrBusyChannelCount",
+                    "attributeId": 0x00000026,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000027: {
+                    "attributeName": "RxTotalCount",
+                    "attributeId": 0x00000027,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000028: {
+                    "attributeName": "RxUnicastCount",
+                    "attributeId": 0x00000028,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000029: {
+                    "attributeName": "RxBroadcastCount",
+                    "attributeId": 0x00000029,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000002A: {
+                    "attributeName": "RxDataCount",
+                    "attributeId": 0x0000002A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000002B: {
+                    "attributeName": "RxDataPollCount",
+                    "attributeId": 0x0000002B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000002C: {
+                    "attributeName": "RxBeaconCount",
+                    "attributeId": 0x0000002C,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000002D: {
+                    "attributeName": "RxBeaconRequestCount",
+                    "attributeId": 0x0000002D,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000002E: {
+                    "attributeName": "RxOtherCount",
+                    "attributeId": 0x0000002E,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000002F: {
+                    "attributeName": "RxAddressFilteredCount",
+                    "attributeId": 0x0000002F,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000030: {
+                    "attributeName": "RxDestAddrFilteredCount",
+                    "attributeId": 0x00000030,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000031: {
+                    "attributeName": "RxDuplicatedCount",
+                    "attributeId": 0x00000031,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000032: {
+                    "attributeName": "RxErrNoFrameCount",
+                    "attributeId": 0x00000032,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000033: {
+                    "attributeName": "RxErrUnknownNeighborCount",
+                    "attributeId": 0x00000033,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000034: {
+                    "attributeName": "RxErrInvalidSrcAddrCount",
+                    "attributeId": 0x00000034,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000035: {
+                    "attributeName": "RxErrSecCount",
+                    "attributeId": 0x00000035,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000036: {
+                    "attributeName": "RxErrFcsCount",
+                    "attributeId": 0x00000036,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000037: {
+                    "attributeName": "RxErrOtherCount",
+                    "attributeId": 0x00000037,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000038: {
+                    "attributeName": "ActiveTimestamp",
+                    "attributeId": 0x00000038,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000039: {
+                    "attributeName": "PendingTimestamp",
+                    "attributeId": 0x00000039,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000003A: {
+                    "attributeName": "Delay",
+                    "attributeId": 0x0000003A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000003B: {
+                    "attributeName": "SecurityPolicy",
+                    "attributeId": 0x0000003B,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x0000003C: {
+                    "attributeName": "ChannelMask",
+                    "attributeId": 0x0000003C,
+                    "type": "bytes",
+                    "reportable": True,
+                },
+                0x0000003D: {
+                    "attributeName": "OperationalDatasetComponents",
+                    "attributeId": 0x0000003D,
+                    "type": "",
+                    "reportable": True,
+                },
+                0x0000003E: {
+                    "attributeName": "ActiveNetworkFaultsList",
+                    "attributeId": 0x0000003E,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _WAKE_ON_LAN_CLUSTER_INFO = {
-        "clusterName": "WakeOnLan",
-        "clusterId": 0x00000503,
-        "commands": {
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "WakeOnLanMacAddress",
-                "attributeId": 0x00000000,
-                "type": "str",
-                "reportable": True,
+            "clusterName": "WakeOnLan",
+            "clusterId": 0x00000503,
+            "commands": {
             },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "WakeOnLanMacAddress",
+                    "attributeId": 0x00000000,
+                    "type": "str",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-        },
     }
     _WI_FI_NETWORK_DIAGNOSTICS_CLUSTER_INFO = {
-        "clusterName": "WiFiNetworkDiagnostics",
-        "clusterId": 0x00000036,
-        "commands": {
+            "clusterName": "WiFiNetworkDiagnostics",
+            "clusterId": 0x00000036,
+            "commands": {
             0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "ResetCounts",
-                "args": {
+                    "commandId": 0x00000000,
+                    "commandName": "ResetCounts",
+                    "args": {
+                    },
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Bssid",
-                "attributeId": 0x00000000,
-                "type": "bytes",
-                "reportable": True,
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Bssid",
+                    "attributeId": 0x00000000,
+                    "type": "bytes",
+                    "reportable": True,
+                },
+                0x00000001: {
+                    "attributeName": "SecurityType",
+                    "attributeId": 0x00000001,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000002: {
+                    "attributeName": "WiFiVersion",
+                    "attributeId": 0x00000002,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "ChannelNumber",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "Rssi",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000005: {
+                    "attributeName": "BeaconLostCount",
+                    "attributeId": 0x00000005,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000006: {
+                    "attributeName": "BeaconRxCount",
+                    "attributeId": 0x00000006,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000007: {
+                    "attributeName": "PacketMulticastRxCount",
+                    "attributeId": 0x00000007,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000008: {
+                    "attributeName": "PacketMulticastTxCount",
+                    "attributeId": 0x00000008,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000009: {
+                    "attributeName": "PacketUnicastRxCount",
+                    "attributeId": 0x00000009,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000A: {
+                    "attributeName": "PacketUnicastTxCount",
+                    "attributeId": 0x0000000A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000B: {
+                    "attributeName": "CurrentMaxRate",
+                    "attributeId": 0x0000000B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000C: {
+                    "attributeName": "OverrunCount",
+                    "attributeId": 0x0000000C,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
+                },
             },
-            0x00000001: {
-                "attributeName": "SecurityType",
-                "attributeId": 0x00000001,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000002: {
-                "attributeName": "WiFiVersion",
-                "attributeId": 0x00000002,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "ChannelNumber",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "Rssi",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000005: {
-                "attributeName": "BeaconLostCount",
-                "attributeId": 0x00000005,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000006: {
-                "attributeName": "BeaconRxCount",
-                "attributeId": 0x00000006,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000007: {
-                "attributeName": "PacketMulticastRxCount",
-                "attributeId": 0x00000007,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000008: {
-                "attributeName": "PacketMulticastTxCount",
-                "attributeId": 0x00000008,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000009: {
-                "attributeName": "PacketUnicastRxCount",
-                "attributeId": 0x00000009,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000A: {
-                "attributeName": "PacketUnicastTxCount",
-                "attributeId": 0x0000000A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000B: {
-                "attributeName": "CurrentMaxRate",
-                "attributeId": 0x0000000B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000C: {
-                "attributeName": "OverrunCount",
-                "attributeId": 0x0000000C,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
     _WINDOW_COVERING_CLUSTER_INFO = {
-        "clusterName": "WindowCovering",
-        "clusterId": 0x00000102,
-        "commands": {
+            "clusterName": "WindowCovering",
+            "clusterId": 0x00000102,
+            "commands": {
             0x00000001: {
-                "commandId": 0x00000001,
-                "commandName": "DownOrClose",
-                "args": {
+                    "commandId": 0x00000001,
+                    "commandName": "DownOrClose",
+                    "args": {
+                    },
                 },
-            },
             0x00000005: {
-                "commandId": 0x00000005,
-                "commandName": "GoToLiftPercentage",
-                "args": {
-                    "liftPercentageValue": "int",
-                    "liftPercent100thsValue": "int",
+                    "commandId": 0x00000005,
+                    "commandName": "GoToLiftPercentage",
+                    "args": {
+                        "liftPercentageValue": "int",
+                        "liftPercent100thsValue": "int",
+                    },
                 },
-            },
             0x00000004: {
-                "commandId": 0x00000004,
-                "commandName": "GoToLiftValue",
-                "args": {
-                    "liftValue": "int",
+                    "commandId": 0x00000004,
+                    "commandName": "GoToLiftValue",
+                    "args": {
+                        "liftValue": "int",
+                    },
                 },
-            },
             0x00000008: {
-                "commandId": 0x00000008,
-                "commandName": "GoToTiltPercentage",
-                "args": {
-                    "tiltPercentageValue": "int",
-                    "tiltPercent100thsValue": "int",
+                    "commandId": 0x00000008,
+                    "commandName": "GoToTiltPercentage",
+                    "args": {
+                        "tiltPercentageValue": "int",
+                        "tiltPercent100thsValue": "int",
+                    },
                 },
-            },
             0x00000007: {
-                "commandId": 0x00000007,
-                "commandName": "GoToTiltValue",
-                "args": {
-                    "tiltValue": "int",
+                    "commandId": 0x00000007,
+                    "commandName": "GoToTiltValue",
+                    "args": {
+                        "tiltValue": "int",
+                    },
                 },
-            },
             0x00000002: {
-                "commandId": 0x00000002,
-                "commandName": "StopMotion",
-                "args": {
+                    "commandId": 0x00000002,
+                    "commandName": "StopMotion",
+                    "args": {
+                    },
+                },
+            0x00000000: {
+                    "commandId": 0x00000000,
+                    "commandName": "UpOrOpen",
+                    "args": {
+                    },
                 },
             },
-            0x00000000: {
-                "commandId": 0x00000000,
-                "commandName": "UpOrOpen",
-                "args": {
+            "attributes": {
+                0x00000000: {
+                    "attributeName": "Type",
+                    "attributeId": 0x00000000,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000003: {
+                    "attributeName": "CurrentPositionLift",
+                    "attributeId": 0x00000003,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000004: {
+                    "attributeName": "CurrentPositionTilt",
+                    "attributeId": 0x00000004,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000007: {
+                    "attributeName": "ConfigStatus",
+                    "attributeId": 0x00000007,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000008: {
+                    "attributeName": "CurrentPositionLiftPercentage",
+                    "attributeId": 0x00000008,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000009: {
+                    "attributeName": "CurrentPositionTiltPercentage",
+                    "attributeId": 0x00000009,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000A: {
+                    "attributeName": "OperationalStatus",
+                    "attributeId": 0x0000000A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000B: {
+                    "attributeName": "TargetPositionLiftPercent100ths",
+                    "attributeId": 0x0000000B,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000C: {
+                    "attributeName": "TargetPositionTiltPercent100ths",
+                    "attributeId": 0x0000000C,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000D: {
+                    "attributeName": "EndProductType",
+                    "attributeId": 0x0000000D,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000E: {
+                    "attributeName": "CurrentPositionLiftPercent100ths",
+                    "attributeId": 0x0000000E,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000000F: {
+                    "attributeName": "CurrentPositionTiltPercent100ths",
+                    "attributeId": 0x0000000F,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000010: {
+                    "attributeName": "InstalledOpenLimitLift",
+                    "attributeId": 0x00000010,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000011: {
+                    "attributeName": "InstalledClosedLimitLift",
+                    "attributeId": 0x00000011,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000012: {
+                    "attributeName": "InstalledOpenLimitTilt",
+                    "attributeId": 0x00000012,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000013: {
+                    "attributeName": "InstalledClosedLimitTilt",
+                    "attributeId": 0x00000013,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x00000017: {
+                    "attributeName": "Mode",
+                    "attributeId": 0x00000017,
+                    "type": "int",
+                    "reportable": True,
+                    "writable": True,
+                },
+                0x0000001A: {
+                    "attributeName": "SafetyStatus",
+                    "attributeId": 0x0000001A,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFC: {
+                    "attributeName": "FeatureMap",
+                    "attributeId": 0x0000FFFC,
+                    "type": "int",
+                    "reportable": True,
+                },
+                0x0000FFFD: {
+                    "attributeName": "ClusterRevision",
+                    "attributeId": 0x0000FFFD,
+                    "type": "int",
+                    "reportable": True,
                 },
             },
-        },
-        "attributes": {
-            0x00000000: {
-                "attributeName": "Type",
-                "attributeId": 0x00000000,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000003: {
-                "attributeName": "CurrentPositionLift",
-                "attributeId": 0x00000003,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000004: {
-                "attributeName": "CurrentPositionTilt",
-                "attributeId": 0x00000004,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000007: {
-                "attributeName": "ConfigStatus",
-                "attributeId": 0x00000007,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000008: {
-                "attributeName": "CurrentPositionLiftPercentage",
-                "attributeId": 0x00000008,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000009: {
-                "attributeName": "CurrentPositionTiltPercentage",
-                "attributeId": 0x00000009,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000A: {
-                "attributeName": "OperationalStatus",
-                "attributeId": 0x0000000A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000B: {
-                "attributeName": "TargetPositionLiftPercent100ths",
-                "attributeId": 0x0000000B,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000C: {
-                "attributeName": "TargetPositionTiltPercent100ths",
-                "attributeId": 0x0000000C,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000D: {
-                "attributeName": "EndProductType",
-                "attributeId": 0x0000000D,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000E: {
-                "attributeName": "CurrentPositionLiftPercent100ths",
-                "attributeId": 0x0000000E,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000000F: {
-                "attributeName": "CurrentPositionTiltPercent100ths",
-                "attributeId": 0x0000000F,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000010: {
-                "attributeName": "InstalledOpenLimitLift",
-                "attributeId": 0x00000010,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000011: {
-                "attributeName": "InstalledClosedLimitLift",
-                "attributeId": 0x00000011,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000012: {
-                "attributeName": "InstalledOpenLimitTilt",
-                "attributeId": 0x00000012,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000013: {
-                "attributeName": "InstalledClosedLimitTilt",
-                "attributeId": 0x00000013,
-                "type": "int",
-                "reportable": True,
-            },
-            0x00000017: {
-                "attributeName": "Mode",
-                "attributeId": 0x00000017,
-                "type": "int",
-                "reportable": True,
-                "writable": True,
-            },
-            0x0000001A: {
-                "attributeName": "SafetyStatus",
-                "attributeId": 0x0000001A,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFC: {
-                "attributeName": "FeatureMap",
-                "attributeId": 0x0000FFFC,
-                "type": "int",
-                "reportable": True,
-            },
-            0x0000FFFD: {
-                "attributeName": "ClusterRevision",
-                "attributeId": 0x0000FFFD,
-                "type": "int",
-                "reportable": True,
-            },
-        },
     }
 
     _CLUSTER_ID_DICT = {
-        0x0000001F: _ACCESS_CONTROL_CLUSTER_INFO,
-        0x0000050E: _ACCOUNT_LOGIN_CLUSTER_INFO,
-        0x0000003C: _ADMINISTRATOR_COMMISSIONING_CLUSTER_INFO,
-        0x0000050D: _APPLICATION_BASIC_CLUSTER_INFO,
-        0x0000050C: _APPLICATION_LAUNCHER_CLUSTER_INFO,
-        0x0000050B: _AUDIO_OUTPUT_CLUSTER_INFO,
-        0x00000103: _BARRIER_CONTROL_CLUSTER_INFO,
-        0x00000028: _BASIC_CLUSTER_INFO,
-        0x0000000F: _BINARY_INPUT_BASIC_CLUSTER_INFO,
-        0x0000001E: _BINDING_CLUSTER_INFO,
-        0x00000045: _BOOLEAN_STATE_CLUSTER_INFO,
-        0x00000025: _BRIDGED_ACTIONS_CLUSTER_INFO,
-        0x00000039: _BRIDGED_DEVICE_BASIC_CLUSTER_INFO,
-        0x00000300: _COLOR_CONTROL_CLUSTER_INFO,
-        0x0000050A: _CONTENT_LAUNCHER_CLUSTER_INFO,
-        0x0000001D: _DESCRIPTOR_CLUSTER_INFO,
-        0x00000032: _DIAGNOSTIC_LOGS_CLUSTER_INFO,
-        0x00000101: _DOOR_LOCK_CLUSTER_INFO,
-        0x00000B04: _ELECTRICAL_MEASUREMENT_CLUSTER_INFO,
-        0x00000037: _ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_INFO,
-        0x00000040: _FIXED_LABEL_CLUSTER_INFO,
-        0x00000404: _FLOW_MEASUREMENT_CLUSTER_INFO,
-        0x00000030: _GENERAL_COMMISSIONING_CLUSTER_INFO,
-        0x00000033: _GENERAL_DIAGNOSTICS_CLUSTER_INFO,
-        0x0000003F: _GROUP_KEY_MANAGEMENT_CLUSTER_INFO,
-        0x00000004: _GROUPS_CLUSTER_INFO,
-        0x00000003: _IDENTIFY_CLUSTER_INFO,
-        0x00000400: _ILLUMINANCE_MEASUREMENT_CLUSTER_INFO,
-        0x00000509: _KEYPAD_INPUT_CLUSTER_INFO,
-        0x00000008: _LEVEL_CONTROL_CLUSTER_INFO,
-        0x00000508: _LOW_POWER_CLUSTER_INFO,
-        0x00000507: _MEDIA_INPUT_CLUSTER_INFO,
-        0x00000506: _MEDIA_PLAYBACK_CLUSTER_INFO,
-        0x00000050: _MODE_SELECT_CLUSTER_INFO,
-        0x00000031: _NETWORK_COMMISSIONING_CLUSTER_INFO,
-        0x00000029: _OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER_INFO,
-        0x0000002A: _OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER_INFO,
-        0x00000406: _OCCUPANCY_SENSING_CLUSTER_INFO,
-        0x00000006: _ON_OFF_CLUSTER_INFO,
-        0x00000007: _ON_OFF_SWITCH_CONFIGURATION_CLUSTER_INFO,
-        0x0000003E: _OPERATIONAL_CREDENTIALS_CLUSTER_INFO,
-        0x0000002F: _POWER_SOURCE_CLUSTER_INFO,
-        0x0000002E: _POWER_SOURCE_CONFIGURATION_CLUSTER_INFO,
-        0x00000403: _PRESSURE_MEASUREMENT_CLUSTER_INFO,
-        0x00000200: _PUMP_CONFIGURATION_AND_CONTROL_CLUSTER_INFO,
-        0x00000405: _RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_INFO,
-        0x00000005: _SCENES_CLUSTER_INFO,
-        0x00000034: _SOFTWARE_DIAGNOSTICS_CLUSTER_INFO,
-        0x0000003B: _SWITCH_CLUSTER_INFO,
-        0x00000504: _TV_CHANNEL_CLUSTER_INFO,
-        0x00000505: _TARGET_NAVIGATOR_CLUSTER_INFO,
-        0x00000402: _TEMPERATURE_MEASUREMENT_CLUSTER_INFO,
-        0x0000050F: _TEST_CLUSTER_CLUSTER_INFO,
-        0x00000201: _THERMOSTAT_CLUSTER_INFO,
-        0x00000204: _THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER_INFO,
-        0x00000035: _THREAD_NETWORK_DIAGNOSTICS_CLUSTER_INFO,
-        0x00000503: _WAKE_ON_LAN_CLUSTER_INFO,
-        0x00000036: _WI_FI_NETWORK_DIAGNOSTICS_CLUSTER_INFO,
-        0x00000102: _WINDOW_COVERING_CLUSTER_INFO,
+    0x0000001F: _ACCESS_CONTROL_CLUSTER_INFO,
+    0x0000050E: _ACCOUNT_LOGIN_CLUSTER_INFO,
+    0x0000003C: _ADMINISTRATOR_COMMISSIONING_CLUSTER_INFO,
+    0x0000050D: _APPLICATION_BASIC_CLUSTER_INFO,
+    0x0000050C: _APPLICATION_LAUNCHER_CLUSTER_INFO,
+    0x0000050B: _AUDIO_OUTPUT_CLUSTER_INFO,
+    0x00000103: _BARRIER_CONTROL_CLUSTER_INFO,
+    0x00000028: _BASIC_CLUSTER_INFO,
+    0x0000000F: _BINARY_INPUT_BASIC_CLUSTER_INFO,
+    0x0000001E: _BINDING_CLUSTER_INFO,
+    0x00000045: _BOOLEAN_STATE_CLUSTER_INFO,
+    0x00000025: _BRIDGED_ACTIONS_CLUSTER_INFO,
+    0x00000039: _BRIDGED_DEVICE_BASIC_CLUSTER_INFO,
+    0x00000300: _COLOR_CONTROL_CLUSTER_INFO,
+    0x0000050A: _CONTENT_LAUNCHER_CLUSTER_INFO,
+    0x0000001D: _DESCRIPTOR_CLUSTER_INFO,
+    0x00000032: _DIAGNOSTIC_LOGS_CLUSTER_INFO,
+    0x00000101: _DOOR_LOCK_CLUSTER_INFO,
+    0x00000B04: _ELECTRICAL_MEASUREMENT_CLUSTER_INFO,
+    0x00000037: _ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_INFO,
+    0x00000040: _FIXED_LABEL_CLUSTER_INFO,
+    0x00000404: _FLOW_MEASUREMENT_CLUSTER_INFO,
+    0x00000030: _GENERAL_COMMISSIONING_CLUSTER_INFO,
+    0x00000033: _GENERAL_DIAGNOSTICS_CLUSTER_INFO,
+    0x0000003F: _GROUP_KEY_MANAGEMENT_CLUSTER_INFO,
+    0x00000004: _GROUPS_CLUSTER_INFO,
+    0x00000003: _IDENTIFY_CLUSTER_INFO,
+    0x00000400: _ILLUMINANCE_MEASUREMENT_CLUSTER_INFO,
+    0x00000509: _KEYPAD_INPUT_CLUSTER_INFO,
+    0x00000008: _LEVEL_CONTROL_CLUSTER_INFO,
+    0x00000508: _LOW_POWER_CLUSTER_INFO,
+    0x00000507: _MEDIA_INPUT_CLUSTER_INFO,
+    0x00000506: _MEDIA_PLAYBACK_CLUSTER_INFO,
+    0x00000050: _MODE_SELECT_CLUSTER_INFO,
+    0x00000031: _NETWORK_COMMISSIONING_CLUSTER_INFO,
+    0x00000029: _OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER_INFO,
+    0x0000002A: _OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER_INFO,
+    0x00000406: _OCCUPANCY_SENSING_CLUSTER_INFO,
+    0x00000006: _ON_OFF_CLUSTER_INFO,
+    0x00000007: _ON_OFF_SWITCH_CONFIGURATION_CLUSTER_INFO,
+    0x0000003E: _OPERATIONAL_CREDENTIALS_CLUSTER_INFO,
+    0x0000002F: _POWER_SOURCE_CLUSTER_INFO,
+    0x0000002E: _POWER_SOURCE_CONFIGURATION_CLUSTER_INFO,
+    0x00000403: _PRESSURE_MEASUREMENT_CLUSTER_INFO,
+    0x00000200: _PUMP_CONFIGURATION_AND_CONTROL_CLUSTER_INFO,
+    0x00000405: _RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_INFO,
+    0x00000005: _SCENES_CLUSTER_INFO,
+    0x00000034: _SOFTWARE_DIAGNOSTICS_CLUSTER_INFO,
+    0x0000003B: _SWITCH_CLUSTER_INFO,
+    0x00000504: _TV_CHANNEL_CLUSTER_INFO,
+    0x00000505: _TARGET_NAVIGATOR_CLUSTER_INFO,
+    0x00000402: _TEMPERATURE_MEASUREMENT_CLUSTER_INFO,
+    0x0000050F: _TEST_CLUSTER_CLUSTER_INFO,
+    0x00000201: _THERMOSTAT_CLUSTER_INFO,
+    0x00000204: _THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER_INFO,
+    0x00000035: _THREAD_NETWORK_DIAGNOSTICS_CLUSTER_INFO,
+    0x00000503: _WAKE_ON_LAN_CLUSTER_INFO,
+    0x00000036: _WI_FI_NETWORK_DIAGNOSTICS_CLUSTER_INFO,
+    0x00000102: _WINDOW_COVERING_CLUSTER_INFO,
     }
 
     _CLUSTER_NAME_DICT = {
@@ -5355,14 +5354,14 @@
         return ChipClusters._CLUSTER_NAME_DICT
 
     def ListClusterCommands(self):
-        return {clusterName: {
+        return { clusterName: {
             command["commandName"]: command["args"] for command in clusterInfo["commands"].values()
-        } for clusterName, clusterInfo in ChipClusters._CLUSTER_NAME_DICT.items()}
+        } for clusterName, clusterInfo in ChipClusters._CLUSTER_NAME_DICT.items() }
 
     def ListClusterAttributes(self):
-        return {clusterName: {
+        return { clusterName: {
             attribute["attributeName"]: attribute for attribute in clusterInfo["attributes"].values()
-        } for clusterName, clusterInfo in ChipClusters._CLUSTER_NAME_DICT.items()}
+        } for clusterName, clusterInfo in ChipClusters._CLUSTER_NAME_DICT.items() }
 
     # Init native functions
 
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 110db7f..084ed1d 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -22,7 +22,7 @@
 # This file contains generated struct, enum, command definition.
 # Users are not expected to import this file, instead, users can use import chip.clusters, which will import all symbols from this file and can get a readable, pretty naming like clusters.OnOff.commands.OnCommand
 
-from dataclasses import dataclass
+from dataclasses import dataclass, field
 import typing
 from enum import IntEnum
 from chip import ChipUtility
@@ -32,11 +32,13 @@
 from .ClusterObjects import ClusterObject, ClusterObjectDescriptor, ClusterObjectFieldDescriptor, ClusterCommand, ClusterAttributeDescriptor, Cluster, ClusterEventDescriptor
 from .Types import Nullable, NullValue
 
-
 @dataclass
 class PowerConfiguration(Cluster):
     id: typing.ClassVar[int] = 0x0001
 
+
+
+
     class Attributes:
         @dataclass
         class MainsVoltage(ClusterAttributeDescriptor):
@@ -980,13 +982,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class DeviceTemperatureConfiguration(Cluster):
     id: typing.ClassVar[int] = 0x0002
 
+
+
+
     class Attributes:
         @dataclass
         class CurrentTemperature(ClusterAttributeDescriptor):
@@ -1002,7 +1008,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class MinTempExperienced(ClusterAttributeDescriptor):
@@ -1162,7 +1168,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -1189,6 +1196,8 @@
             kDisplay = 0x04
             kActuator = 0x05
 
+
+
     class Commands:
         @dataclass
         class Identify(ClusterCommand):
@@ -1199,12 +1208,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="identifyTime", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="identifyTime", Tag=0, Type=uint),
                     ])
 
-            identifyTime: 'uint' = None
+            identifyTime: 'uint' = 0
 
         @dataclass
         class IdentifyQueryResponse(ClusterCommand):
@@ -1215,12 +1223,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="timeout", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="timeout", Tag=0, Type=uint),
                     ])
 
-            timeout: 'uint' = None
+            timeout: 'uint' = 0
 
         @dataclass
         class IdentifyQuery(ClusterCommand):
@@ -1231,9 +1238,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class TriggerEffect(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0003
@@ -1243,15 +1251,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="effectIdentifier", Tag=0, Type=Identify.Enums.IdentifyEffectIdentifier),
-                        ClusterObjectFieldDescriptor(
-                            Label="effectVariant", Tag=1, Type=Identify.Enums.IdentifyEffectVariant),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="effectIdentifier", Tag=0, Type=Identify.Enums.IdentifyEffectIdentifier),
+                            ClusterObjectFieldDescriptor(Label="effectVariant", Tag=1, Type=Identify.Enums.IdentifyEffectVariant),
                     ])
 
-            effectIdentifier: 'Identify.Enums.IdentifyEffectIdentifier' = None
-            effectVariant: 'Identify.Enums.IdentifyEffectVariant' = None
+            effectIdentifier: 'Identify.Enums.IdentifyEffectIdentifier' = 0
+            effectVariant: 'Identify.Enums.IdentifyEffectVariant' = 0
+
 
     class Attributes:
         @dataclass
@@ -1268,7 +1275,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class IdentifyType(ClusterAttributeDescriptor):
@@ -1284,7 +1291,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -1316,13 +1323,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class Groups(Cluster):
     id: typing.ClassVar[int] = 0x0004
 
+
+
     class Commands:
         @dataclass
         class AddGroup(ClusterCommand):
@@ -1333,15 +1343,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupName", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupName", Tag=1, Type=str),
                     ])
 
-            groupId: 'uint' = None
-            groupName: 'str' = None
+            groupId: 'uint' = 0
+            groupName: 'str' = ""
 
         @dataclass
         class AddGroupResponse(ClusterCommand):
@@ -1352,15 +1360,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
 
         @dataclass
         class ViewGroup(ClusterCommand):
@@ -1371,12 +1377,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
                     ])
 
-            groupId: 'uint' = None
+            groupId: 'uint' = 0
 
         @dataclass
         class ViewGroupResponse(ClusterCommand):
@@ -1387,18 +1392,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupName", Tag=2, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupName", Tag=2, Type=str),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
-            groupName: 'str' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
+            groupName: 'str' = ""
 
         @dataclass
         class GetGroupMembership(ClusterCommand):
@@ -1409,12 +1411,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupList", Tag=0, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupList", Tag=0, Type=typing.List[uint]),
                     ])
 
-            groupList: 'typing.List[uint]' = None
+            groupList: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetGroupMembershipResponse(ClusterCommand):
@@ -1425,15 +1426,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="capacity", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupList", Tag=1, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="capacity", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupList", Tag=1, Type=typing.List[uint]),
                     ])
 
-            capacity: 'uint' = None
-            groupList: 'typing.List[uint]' = None
+            capacity: 'uint' = 0
+            groupList: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class RemoveGroup(ClusterCommand):
@@ -1444,12 +1443,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
                     ])
 
-            groupId: 'uint' = None
+            groupId: 'uint' = 0
 
         @dataclass
         class RemoveGroupResponse(ClusterCommand):
@@ -1460,15 +1458,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
 
         @dataclass
         class RemoveAllGroups(ClusterCommand):
@@ -1479,9 +1475,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class AddGroupIfIdentifying(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0004
@@ -1491,15 +1488,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupName", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupName", Tag=1, Type=str),
                     ])
 
-            groupId: 'uint' = None
-            groupName: 'str' = None
+            groupId: 'uint' = 0
+            groupName: 'str' = ""
+
 
     class Attributes:
         @dataclass
@@ -1516,7 +1512,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -1548,31 +1544,32 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class Scenes(Cluster):
     id: typing.ClassVar[int] = 0x0005
 
+
     class Structs:
         @dataclass
         class SceneExtensionFieldSet(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="clusterId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="length", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="value", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="clusterId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="length", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="value", Tag=3, Type=uint),
                     ])
 
-            clusterId: 'uint' = None
-            length: 'uint' = None
-            value: 'uint' = None
+            clusterId: 'uint' = 0
+            length: 'uint' = 0
+            value: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -1584,24 +1581,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneName", Tag=3, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="extensionFieldSets", Tag=4, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneName", Tag=3, Type=str),
+                            ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=4, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]),
                     ])
 
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
-            transitionTime: 'uint' = None
-            sceneName: 'str' = None
-            extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = None
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
+            transitionTime: 'uint' = 0
+            sceneName: 'str' = ""
+            extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = field(default_factory=lambda: [])
 
         @dataclass
         class AddSceneResponse(ClusterCommand):
@@ -1612,18 +1604,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
 
         @dataclass
         class ViewScene(ClusterCommand):
@@ -1634,15 +1623,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint),
                     ])
 
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
 
         @dataclass
         class ViewSceneResponse(ClusterCommand):
@@ -1653,27 +1640,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneName", Tag=4, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="extensionFieldSets", Tag=5, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneName", Tag=4, Type=str),
+                            ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=5, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
-            transitionTime: 'uint' = None
-            sceneName: 'str' = None
-            extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
+            transitionTime: 'uint' = 0
+            sceneName: 'str' = ""
+            extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = field(default_factory=lambda: [])
 
         @dataclass
         class RemoveScene(ClusterCommand):
@@ -1684,15 +1665,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint),
                     ])
 
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
 
         @dataclass
         class RemoveSceneResponse(ClusterCommand):
@@ -1703,18 +1682,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
 
         @dataclass
         class RemoveAllScenes(ClusterCommand):
@@ -1725,12 +1701,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
                     ])
 
-            groupId: 'uint' = None
+            groupId: 'uint' = 0
 
         @dataclass
         class RemoveAllScenesResponse(ClusterCommand):
@@ -1741,15 +1716,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
 
         @dataclass
         class StoreScene(ClusterCommand):
@@ -1760,15 +1733,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint),
                     ])
 
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
 
         @dataclass
         class StoreSceneResponse(ClusterCommand):
@@ -1779,18 +1750,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
 
         @dataclass
         class RecallScene(ClusterCommand):
@@ -1801,18 +1769,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
                     ])
 
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
-            transitionTime: 'uint' = None
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
+            transitionTime: 'uint' = 0
 
         @dataclass
         class GetSceneMembership(ClusterCommand):
@@ -1823,12 +1788,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
                     ])
 
-            groupId: 'uint' = None
+            groupId: 'uint' = 0
 
         @dataclass
         class GetSceneMembershipResponse(ClusterCommand):
@@ -1839,24 +1803,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="capacity", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneCount", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneList", Tag=4, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="capacity", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneCount", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneList", Tag=4, Type=typing.List[uint]),
                     ])
 
-            status: 'uint' = None
-            capacity: 'uint' = None
-            groupId: 'uint' = None
-            sceneCount: 'uint' = None
-            sceneList: 'typing.List[uint]' = None
+            status: 'uint' = 0
+            capacity: 'uint' = 0
+            groupId: 'uint' = 0
+            sceneCount: 'uint' = 0
+            sceneList: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class EnhancedAddScene(ClusterCommand):
@@ -1867,24 +1826,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneName", Tag=3, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="extensionFieldSets", Tag=4, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneName", Tag=3, Type=str),
+                            ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=4, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]),
                     ])
 
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
-            transitionTime: 'uint' = None
-            sceneName: 'str' = None
-            extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = None
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
+            transitionTime: 'uint' = 0
+            sceneName: 'str' = ""
+            extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = field(default_factory=lambda: [])
 
         @dataclass
         class EnhancedAddSceneResponse(ClusterCommand):
@@ -1895,18 +1849,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
 
         @dataclass
         class EnhancedViewScene(ClusterCommand):
@@ -1917,15 +1868,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint),
                     ])
 
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
 
         @dataclass
         class EnhancedViewSceneResponse(ClusterCommand):
@@ -1936,27 +1885,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneName", Tag=4, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="extensionFieldSets", Tag=5, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneName", Tag=4, Type=str),
+                            ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=5, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]),
                     ])
 
-            status: 'uint' = None
-            groupId: 'uint' = None
-            sceneId: 'uint' = None
-            transitionTime: 'uint' = None
-            sceneName: 'str' = None
-            extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = None
+            status: 'uint' = 0
+            groupId: 'uint' = 0
+            sceneId: 'uint' = 0
+            transitionTime: 'uint' = 0
+            sceneName: 'str' = ""
+            extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = field(default_factory=lambda: [])
 
         @dataclass
         class CopyScene(ClusterCommand):
@@ -1967,24 +1910,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupIdFrom", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneIdFrom", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupIdTo", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneIdTo", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupIdFrom", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneIdFrom", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupIdTo", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneIdTo", Tag=4, Type=uint),
                     ])
 
-            mode: 'uint' = None
-            groupIdFrom: 'uint' = None
-            sceneIdFrom: 'uint' = None
-            groupIdTo: 'uint' = None
-            sceneIdTo: 'uint' = None
+            mode: 'uint' = 0
+            groupIdFrom: 'uint' = 0
+            sceneIdFrom: 'uint' = 0
+            groupIdTo: 'uint' = 0
+            sceneIdTo: 'uint' = 0
 
         @dataclass
         class CopySceneResponse(ClusterCommand):
@@ -1995,18 +1933,16 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupIdFrom", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="sceneIdFrom", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupIdFrom", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="sceneIdFrom", Tag=2, Type=uint),
                     ])
 
-            status: 'uint' = None
-            groupIdFrom: 'uint' = None
-            sceneIdFrom: 'uint' = None
+            status: 'uint' = 0
+            groupIdFrom: 'uint' = 0
+            sceneIdFrom: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -2023,7 +1959,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CurrentScene(ClusterAttributeDescriptor):
@@ -2039,7 +1975,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CurrentGroup(ClusterAttributeDescriptor):
@@ -2055,7 +1991,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class SceneValid(ClusterAttributeDescriptor):
@@ -2071,7 +2007,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class NameSupport(ClusterAttributeDescriptor):
@@ -2087,7 +2023,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class LastConfiguredBy(ClusterAttributeDescriptor):
@@ -2135,7 +2071,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -2155,6 +2092,8 @@
             kDelayedAllOff = 0x00
             kDyingLight = 0x01
 
+
+
     class Commands:
         @dataclass
         class Off(ClusterCommand):
@@ -2165,9 +2104,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class On(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0006
@@ -2177,9 +2117,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class Toggle(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0006
@@ -2189,9 +2130,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class OffWithEffect(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0006
@@ -2201,15 +2143,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="effectId", Tag=0, Type=OnOff.Enums.OnOffEffectIdentifier),
-                        ClusterObjectFieldDescriptor(
-                            Label="effectVariant", Tag=1, Type=OnOff.Enums.OnOffDelayedAllOffEffectVariant),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="effectId", Tag=0, Type=OnOff.Enums.OnOffEffectIdentifier),
+                            ClusterObjectFieldDescriptor(Label="effectVariant", Tag=1, Type=OnOff.Enums.OnOffDelayedAllOffEffectVariant),
                     ])
 
-            effectId: 'OnOff.Enums.OnOffEffectIdentifier' = None
-            effectVariant: 'OnOff.Enums.OnOffDelayedAllOffEffectVariant' = None
+            effectId: 'OnOff.Enums.OnOffEffectIdentifier' = 0
+            effectVariant: 'OnOff.Enums.OnOffDelayedAllOffEffectVariant' = 0
 
         @dataclass
         class OnWithRecallGlobalScene(ClusterCommand):
@@ -2220,9 +2160,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class OnWithTimedOff(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0006
@@ -2232,18 +2173,16 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="onOffControl", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="onTime", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="offWaitTime", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="onOffControl", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="onTime", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="offWaitTime", Tag=2, Type=uint),
                     ])
 
-            onOffControl: 'uint' = None
-            onTime: 'uint' = None
-            offWaitTime: 'uint' = None
+            onOffControl: 'uint' = 0
+            onTime: 'uint' = 0
+            offWaitTime: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -2260,7 +2199,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class GlobalSceneControl(ClusterAttributeDescriptor):
@@ -2356,13 +2295,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class OnOffSwitchConfiguration(Cluster):
     id: typing.ClassVar[int] = 0x0007
 
+
+
+
     class Attributes:
         @dataclass
         class SwitchType(ClusterAttributeDescriptor):
@@ -2378,7 +2321,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class SwitchActions(ClusterAttributeDescriptor):
@@ -2394,7 +2337,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -2426,7 +2369,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -2442,6 +2386,8 @@
             kUp = 0x00
             kDown = 0x01
 
+
+
     class Commands:
         @dataclass
         class MoveToLevel(ClusterCommand):
@@ -2452,21 +2398,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="level", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionMask", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionOverride", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="level", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionMask", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionOverride", Tag=3, Type=uint),
                     ])
 
-            level: 'uint' = None
-            transitionTime: 'uint' = None
-            optionMask: 'uint' = None
-            optionOverride: 'uint' = None
+            level: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionMask: 'uint' = 0
+            optionOverride: 'uint' = 0
 
         @dataclass
         class Move(ClusterCommand):
@@ -2477,21 +2419,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="moveMode", Tag=0, Type=LevelControl.Enums.MoveMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="rate", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionMask", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionOverride", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=LevelControl.Enums.MoveMode),
+                            ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionMask", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionOverride", Tag=3, Type=uint),
                     ])
 
-            moveMode: 'LevelControl.Enums.MoveMode' = None
-            rate: 'uint' = None
-            optionMask: 'uint' = None
-            optionOverride: 'uint' = None
+            moveMode: 'LevelControl.Enums.MoveMode' = 0
+            rate: 'uint' = 0
+            optionMask: 'uint' = 0
+            optionOverride: 'uint' = 0
 
         @dataclass
         class Step(ClusterCommand):
@@ -2502,24 +2440,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="stepMode", Tag=0, Type=LevelControl.Enums.StepMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="stepSize", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=LevelControl.Enums.StepMode),
+                            ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionOverride", Tag=4, Type=uint),
                     ])
 
-            stepMode: 'LevelControl.Enums.StepMode' = None
-            stepSize: 'uint' = None
-            transitionTime: 'uint' = None
-            optionMask: 'uint' = None
-            optionOverride: 'uint' = None
+            stepMode: 'LevelControl.Enums.StepMode' = 0
+            stepSize: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionMask: 'uint' = 0
+            optionOverride: 'uint' = 0
 
         @dataclass
         class Stop(ClusterCommand):
@@ -2530,15 +2463,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="optionMask", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionOverride", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="optionMask", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionOverride", Tag=1, Type=uint),
                     ])
 
-            optionMask: 'uint' = None
-            optionOverride: 'uint' = None
+            optionMask: 'uint' = 0
+            optionOverride: 'uint' = 0
 
         @dataclass
         class MoveToLevelWithOnOff(ClusterCommand):
@@ -2549,15 +2480,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="level", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="level", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint),
                     ])
 
-            level: 'uint' = None
-            transitionTime: 'uint' = None
+            level: 'uint' = 0
+            transitionTime: 'uint' = 0
 
         @dataclass
         class MoveWithOnOff(ClusterCommand):
@@ -2568,15 +2497,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="moveMode", Tag=0, Type=LevelControl.Enums.MoveMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="rate", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=LevelControl.Enums.MoveMode),
+                            ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint),
                     ])
 
-            moveMode: 'LevelControl.Enums.MoveMode' = None
-            rate: 'uint' = None
+            moveMode: 'LevelControl.Enums.MoveMode' = 0
+            rate: 'uint' = 0
 
         @dataclass
         class StepWithOnOff(ClusterCommand):
@@ -2587,18 +2514,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="stepMode", Tag=0, Type=LevelControl.Enums.StepMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="stepSize", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=LevelControl.Enums.StepMode),
+                            ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
                     ])
 
-            stepMode: 'LevelControl.Enums.StepMode' = None
-            stepSize: 'uint' = None
-            transitionTime: 'uint' = None
+            stepMode: 'LevelControl.Enums.StepMode' = 0
+            stepSize: 'uint' = 0
+            transitionTime: 'uint' = 0
 
         @dataclass
         class StopWithOnOff(ClusterCommand):
@@ -2609,9 +2533,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class CurrentLevel(ClusterAttributeDescriptor):
@@ -2627,7 +2553,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RemainingTime(ClusterAttributeDescriptor):
@@ -2867,13 +2793,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class Alarms(Cluster):
     id: typing.ClassVar[int] = 0x0009
 
+
+
     class Commands:
         @dataclass
         class ResetAlarm(ClusterCommand):
@@ -2884,15 +2813,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="alarmCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="clusterId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="alarmCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="clusterId", Tag=1, Type=uint),
                     ])
 
-            alarmCode: 'uint' = None
-            clusterId: 'uint' = None
+            alarmCode: 'uint' = 0
+            clusterId: 'uint' = 0
 
         @dataclass
         class Alarm(ClusterCommand):
@@ -2903,15 +2830,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="alarmCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="clusterId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="alarmCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="clusterId", Tag=1, Type=uint),
                     ])
 
-            alarmCode: 'uint' = None
-            clusterId: 'uint' = None
+            alarmCode: 'uint' = 0
+            clusterId: 'uint' = 0
 
         @dataclass
         class ResetAllAlarms(ClusterCommand):
@@ -2922,9 +2847,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class GetAlarmResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0009
@@ -2934,21 +2860,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="alarmCode", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="clusterId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeStamp", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="alarmCode", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="clusterId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeStamp", Tag=3, Type=uint),
                     ])
 
-            status: 'uint' = None
-            alarmCode: 'uint' = None
-            clusterId: 'uint' = None
-            timeStamp: 'uint' = None
+            status: 'uint' = 0
+            alarmCode: 'uint' = 0
+            clusterId: 'uint' = 0
+            timeStamp: 'uint' = 0
 
         @dataclass
         class GetAlarm(ClusterCommand):
@@ -2959,9 +2881,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ResetAlarmLog(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0009
@@ -2971,9 +2894,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class AlarmCount(ClusterAttributeDescriptor):
@@ -3021,13 +2946,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class Time(Cluster):
     id: typing.ClassVar[int] = 0x000A
 
+
+
+
     class Attributes:
         @dataclass
         class Time(ClusterAttributeDescriptor):
@@ -3043,7 +2972,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TimeStatus(ClusterAttributeDescriptor):
@@ -3059,7 +2988,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TimeZone(ClusterAttributeDescriptor):
@@ -3219,13 +3148,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class BinaryInputBasic(Cluster):
     id: typing.ClassVar[int] = 0x000F
 
+
+
+
     class Attributes:
         @dataclass
         class ActiveText(ClusterAttributeDescriptor):
@@ -3289,7 +3222,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class Polarity(ClusterAttributeDescriptor):
@@ -3321,7 +3254,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class Reliability(ClusterAttributeDescriptor):
@@ -3353,7 +3286,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ApplicationType(ClusterAttributeDescriptor):
@@ -3401,76 +3334,68 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class PowerProfile(Cluster):
     id: typing.ClassVar[int] = 0x001A
 
+
     class Structs:
         @dataclass
         class PowerProfileRecord(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="energyPhaseId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileRemoteControl", Tag=3, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileState", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="energyPhaseId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="powerProfileRemoteControl", Tag=3, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="powerProfileState", Tag=4, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
-            energyPhaseId: 'uint' = None
-            powerProfileRemoteControl: 'bool' = None
-            powerProfileState: 'uint' = None
+            powerProfileId: 'uint' = 0
+            energyPhaseId: 'uint' = 0
+            powerProfileRemoteControl: 'bool' = False
+            powerProfileState: 'uint' = 0
 
         @dataclass
         class ScheduledPhase(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="energyPhaseId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="scheduledTime", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="energyPhaseId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="scheduledTime", Tag=2, Type=uint),
                     ])
 
-            energyPhaseId: 'uint' = None
-            scheduledTime: 'uint' = None
+            energyPhaseId: 'uint' = 0
+            scheduledTime: 'uint' = 0
 
         @dataclass
         class TransferredPhase(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="energyPhaseId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="macroPhaseId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="expectedDuration", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="peakPower", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="energy", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="maxActivationDelay", Tag=6, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="energyPhaseId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="macroPhaseId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="expectedDuration", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="peakPower", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="energy", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="maxActivationDelay", Tag=6, Type=uint),
                     ])
 
-            energyPhaseId: 'uint' = None
-            macroPhaseId: 'uint' = None
-            expectedDuration: 'uint' = None
-            peakPower: 'uint' = None
-            energy: 'uint' = None
-            maxActivationDelay: 'uint' = None
+            energyPhaseId: 'uint' = 0
+            macroPhaseId: 'uint' = 0
+            expectedDuration: 'uint' = 0
+            peakPower: 'uint' = 0
+            energy: 'uint' = 0
+            maxActivationDelay: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -3482,12 +3407,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
+            powerProfileId: 'uint' = 0
 
         @dataclass
         class PowerProfileNotification(ClusterCommand):
@@ -3498,21 +3422,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="totalProfileNum", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="numOfTransferredPhases", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transferredPhases", Tag=3, Type=typing.List[PowerProfile.Structs.TransferredPhase]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="totalProfileNum", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="numOfTransferredPhases", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transferredPhases", Tag=3, Type=typing.List[PowerProfile.Structs.TransferredPhase]),
                     ])
 
-            totalProfileNum: 'uint' = None
-            powerProfileId: 'uint' = None
-            numOfTransferredPhases: 'uint' = None
-            transferredPhases: 'typing.List[PowerProfile.Structs.TransferredPhase]' = None
+            totalProfileNum: 'uint' = 0
+            powerProfileId: 'uint' = 0
+            numOfTransferredPhases: 'uint' = 0
+            transferredPhases: 'typing.List[PowerProfile.Structs.TransferredPhase]' = field(default_factory=lambda: [])
 
         @dataclass
         class PowerProfileStateRequest(ClusterCommand):
@@ -3523,9 +3443,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class PowerProfileResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x001A
@@ -3535,21 +3456,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="totalProfileNum", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="numOfTransferredPhases", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transferredPhases", Tag=3, Type=typing.List[PowerProfile.Structs.TransferredPhase]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="totalProfileNum", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="numOfTransferredPhases", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transferredPhases", Tag=3, Type=typing.List[PowerProfile.Structs.TransferredPhase]),
                     ])
 
-            totalProfileNum: 'uint' = None
-            powerProfileId: 'uint' = None
-            numOfTransferredPhases: 'uint' = None
-            transferredPhases: 'typing.List[PowerProfile.Structs.TransferredPhase]' = None
+            totalProfileNum: 'uint' = 0
+            powerProfileId: 'uint' = 0
+            numOfTransferredPhases: 'uint' = 0
+            transferredPhases: 'typing.List[PowerProfile.Structs.TransferredPhase]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetPowerProfilePriceResponse(ClusterCommand):
@@ -3560,21 +3477,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="currency", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="price", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="priceTrailingDigit", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="currency", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="price", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="priceTrailingDigit", Tag=3, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
-            currency: 'uint' = None
-            price: 'uint' = None
-            priceTrailingDigit: 'uint' = None
+            powerProfileId: 'uint' = 0
+            currency: 'uint' = 0
+            price: 'uint' = 0
+            priceTrailingDigit: 'uint' = 0
 
         @dataclass
         class PowerProfileStateResponse(ClusterCommand):
@@ -3585,15 +3498,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileCount", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileRecords", Tag=1, Type=typing.List[PowerProfile.Structs.PowerProfileRecord]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileCount", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="powerProfileRecords", Tag=1, Type=typing.List[PowerProfile.Structs.PowerProfileRecord]),
                     ])
 
-            powerProfileCount: 'uint' = None
-            powerProfileRecords: 'typing.List[PowerProfile.Structs.PowerProfileRecord]' = None
+            powerProfileCount: 'uint' = 0
+            powerProfileRecords: 'typing.List[PowerProfile.Structs.PowerProfileRecord]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetOverallSchedulePriceResponse(ClusterCommand):
@@ -3604,18 +3515,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="currency", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="price", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="priceTrailingDigit", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="currency", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="price", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="priceTrailingDigit", Tag=2, Type=uint),
                     ])
 
-            currency: 'uint' = None
-            price: 'uint' = None
-            priceTrailingDigit: 'uint' = None
+            currency: 'uint' = 0
+            price: 'uint' = 0
+            priceTrailingDigit: 'uint' = 0
 
         @dataclass
         class GetPowerProfilePrice(ClusterCommand):
@@ -3626,12 +3534,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
+            powerProfileId: 'uint' = 0
 
         @dataclass
         class EnergyPhasesScheduleNotification(ClusterCommand):
@@ -3642,18 +3549,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="numOfScheduledPhases", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="numOfScheduledPhases", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]),
                     ])
 
-            powerProfileId: 'uint' = None
-            numOfScheduledPhases: 'uint' = None
-            scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = None
+            powerProfileId: 'uint' = 0
+            numOfScheduledPhases: 'uint' = 0
+            scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = field(default_factory=lambda: [])
 
         @dataclass
         class PowerProfilesStateNotification(ClusterCommand):
@@ -3664,15 +3568,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileCount", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileRecords", Tag=1, Type=typing.List[PowerProfile.Structs.PowerProfileRecord]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileCount", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="powerProfileRecords", Tag=1, Type=typing.List[PowerProfile.Structs.PowerProfileRecord]),
                     ])
 
-            powerProfileCount: 'uint' = None
-            powerProfileRecords: 'typing.List[PowerProfile.Structs.PowerProfileRecord]' = None
+            powerProfileCount: 'uint' = 0
+            powerProfileRecords: 'typing.List[PowerProfile.Structs.PowerProfileRecord]' = field(default_factory=lambda: [])
 
         @dataclass
         class EnergyPhasesScheduleResponse(ClusterCommand):
@@ -3683,18 +3585,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="numOfScheduledPhases", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="numOfScheduledPhases", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]),
                     ])
 
-            powerProfileId: 'uint' = None
-            numOfScheduledPhases: 'uint' = None
-            scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = None
+            powerProfileId: 'uint' = 0
+            numOfScheduledPhases: 'uint' = 0
+            scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetOverallSchedulePrice(ClusterCommand):
@@ -3705,9 +3604,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class PowerProfileScheduleConstraintsRequest(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x001A
@@ -3717,12 +3617,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
+            powerProfileId: 'uint' = 0
 
         @dataclass
         class EnergyPhasesScheduleRequest(ClusterCommand):
@@ -3733,12 +3632,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
+            powerProfileId: 'uint' = 0
 
         @dataclass
         class EnergyPhasesScheduleStateRequest(ClusterCommand):
@@ -3749,12 +3647,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
+            powerProfileId: 'uint' = 0
 
         @dataclass
         class EnergyPhasesScheduleStateResponse(ClusterCommand):
@@ -3765,18 +3662,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="numOfScheduledPhases", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="numOfScheduledPhases", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]),
                     ])
 
-            powerProfileId: 'uint' = None
-            numOfScheduledPhases: 'uint' = None
-            scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = None
+            powerProfileId: 'uint' = 0
+            numOfScheduledPhases: 'uint' = 0
+            scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetPowerProfilePriceExtendedResponse(ClusterCommand):
@@ -3787,21 +3681,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="currency", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="price", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="priceTrailingDigit", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="currency", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="price", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="priceTrailingDigit", Tag=3, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
-            currency: 'uint' = None
-            price: 'uint' = None
-            priceTrailingDigit: 'uint' = None
+            powerProfileId: 'uint' = 0
+            currency: 'uint' = 0
+            price: 'uint' = 0
+            priceTrailingDigit: 'uint' = 0
 
         @dataclass
         class EnergyPhasesScheduleStateNotification(ClusterCommand):
@@ -3812,18 +3702,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="numOfScheduledPhases", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="numOfScheduledPhases", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]),
                     ])
 
-            powerProfileId: 'uint' = None
-            numOfScheduledPhases: 'uint' = None
-            scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = None
+            powerProfileId: 'uint' = 0
+            numOfScheduledPhases: 'uint' = 0
+            scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = field(default_factory=lambda: [])
 
         @dataclass
         class PowerProfileScheduleConstraintsNotification(ClusterCommand):
@@ -3834,18 +3721,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startAfter", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="stopBefore", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startAfter", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="stopBefore", Tag=2, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
-            startAfter: 'uint' = None
-            stopBefore: 'uint' = None
+            powerProfileId: 'uint' = 0
+            startAfter: 'uint' = 0
+            stopBefore: 'uint' = 0
 
         @dataclass
         class PowerProfileScheduleConstraintsResponse(ClusterCommand):
@@ -3856,18 +3740,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startAfter", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="stopBefore", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startAfter", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="stopBefore", Tag=2, Type=uint),
                     ])
 
-            powerProfileId: 'uint' = None
-            startAfter: 'uint' = None
-            stopBefore: 'uint' = None
+            powerProfileId: 'uint' = 0
+            startAfter: 'uint' = 0
+            stopBefore: 'uint' = 0
 
         @dataclass
         class GetPowerProfilePriceExtended(ClusterCommand):
@@ -3878,18 +3759,16 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="options", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="powerProfileStartTime", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="options", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="powerProfileStartTime", Tag=2, Type=uint),
                     ])
 
-            options: 'uint' = None
-            powerProfileId: 'uint' = None
-            powerProfileStartTime: 'uint' = None
+            options: 'uint' = 0
+            powerProfileId: 'uint' = 0
+            powerProfileStartTime: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -3906,7 +3785,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class MultipleScheduling(ClusterAttributeDescriptor):
@@ -3922,7 +3801,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class EnergyFormatting(ClusterAttributeDescriptor):
@@ -3938,7 +3817,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class EnergyRemote(ClusterAttributeDescriptor):
@@ -3954,7 +3833,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class ScheduleMode(ClusterAttributeDescriptor):
@@ -3970,7 +3849,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -4002,7 +3881,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -4047,6 +3927,8 @@
             kWarning4OverallPowerBackBelowThePowerThresholdLevel = 0x03
             kWarning5OverallPowerWillBePotentiallyAboveAvailablePowerLevelIfTheApplianceStarts = 0x04
 
+
+
     class Commands:
         @dataclass
         class ExecutionOfACommand(ClusterCommand):
@@ -4057,12 +3939,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="commandId", Tag=0, Type=ApplianceControl.Enums.CommandIdentification),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="commandId", Tag=0, Type=ApplianceControl.Enums.CommandIdentification),
                     ])
 
-            commandId: 'ApplianceControl.Enums.CommandIdentification' = None
+            commandId: 'ApplianceControl.Enums.CommandIdentification' = 0
 
         @dataclass
         class SignalStateResponse(ClusterCommand):
@@ -4073,18 +3954,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="applianceStatus", Tag=0, Type=ApplianceControl.Enums.ApplianceStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="applianceStatus2", Tag=2, Type=ApplianceControl.Enums.ApplianceStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="applianceStatus", Tag=0, Type=ApplianceControl.Enums.ApplianceStatus),
+                            ClusterObjectFieldDescriptor(Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="applianceStatus2", Tag=2, Type=ApplianceControl.Enums.ApplianceStatus),
                     ])
 
-            applianceStatus: 'ApplianceControl.Enums.ApplianceStatus' = None
-            remoteEnableFlagsAndDeviceStatus2: 'uint' = None
-            applianceStatus2: 'ApplianceControl.Enums.ApplianceStatus' = None
+            applianceStatus: 'ApplianceControl.Enums.ApplianceStatus' = 0
+            remoteEnableFlagsAndDeviceStatus2: 'uint' = 0
+            applianceStatus2: 'ApplianceControl.Enums.ApplianceStatus' = 0
 
         @dataclass
         class SignalState(ClusterCommand):
@@ -4095,9 +3973,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class SignalStateNotification(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x001B
@@ -4107,18 +3986,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="applianceStatus", Tag=0, Type=ApplianceControl.Enums.ApplianceStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="applianceStatus2", Tag=2, Type=ApplianceControl.Enums.ApplianceStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="applianceStatus", Tag=0, Type=ApplianceControl.Enums.ApplianceStatus),
+                            ClusterObjectFieldDescriptor(Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="applianceStatus2", Tag=2, Type=ApplianceControl.Enums.ApplianceStatus),
                     ])
 
-            applianceStatus: 'ApplianceControl.Enums.ApplianceStatus' = None
-            remoteEnableFlagsAndDeviceStatus2: 'uint' = None
-            applianceStatus2: 'ApplianceControl.Enums.ApplianceStatus' = None
+            applianceStatus: 'ApplianceControl.Enums.ApplianceStatus' = 0
+            remoteEnableFlagsAndDeviceStatus2: 'uint' = 0
+            applianceStatus2: 'ApplianceControl.Enums.ApplianceStatus' = 0
 
         @dataclass
         class WriteFunctions(ClusterCommand):
@@ -4129,18 +4005,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="functionId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="functionDataType", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="functionData", Tag=2, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="functionId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="functionDataType", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="functionData", Tag=2, Type=typing.List[uint]),
                     ])
 
-            functionId: 'uint' = None
-            functionDataType: 'uint' = None
-            functionData: 'typing.List[uint]' = None
+            functionId: 'uint' = 0
+            functionDataType: 'uint' = 0
+            functionData: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class OverloadPauseResume(ClusterCommand):
@@ -4151,9 +4024,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class OverloadPause(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x001B
@@ -4163,9 +4037,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class OverloadWarning(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x001B
@@ -4175,12 +4050,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="warningEvent", Tag=0, Type=ApplianceControl.Enums.WarningEvent),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="warningEvent", Tag=0, Type=ApplianceControl.Enums.WarningEvent),
                     ])
 
-            warningEvent: 'ApplianceControl.Enums.WarningEvent' = None
+            warningEvent: 'ApplianceControl.Enums.WarningEvent' = 0
+
 
     class Attributes:
         @dataclass
@@ -4197,7 +4072,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FinishTime(ClusterAttributeDescriptor):
@@ -4213,7 +4088,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RemainingTime(ClusterAttributeDescriptor):
@@ -4261,13 +4136,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class PulseWidthModulation(Cluster):
     id: typing.ClassVar[int] = 0x001C
 
+
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -4299,28 +4178,31 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class Descriptor(Cluster):
     id: typing.ClassVar[int] = 0x001D
 
+
     class Structs:
         @dataclass
         class DeviceType(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="type", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="revision", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="type", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="revision", Tag=2, Type=uint),
                     ])
 
-            type: 'uint' = None
-            revision: 'uint' = None
+            type: 'uint' = 0
+            revision: 'uint' = 0
+
+
+
 
     class Attributes:
         @dataclass
@@ -4337,7 +4219,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[Descriptor.Structs.DeviceType])
 
-            value: 'typing.List[Descriptor.Structs.DeviceType]' = None
+            value: 'typing.List[Descriptor.Structs.DeviceType]' = field(default_factory=lambda: [])
 
         @dataclass
         class ServerList(ClusterAttributeDescriptor):
@@ -4353,7 +4235,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[uint])
 
-            value: 'typing.List[uint]' = None
+            value: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class ClientList(ClusterAttributeDescriptor):
@@ -4369,7 +4251,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[uint])
 
-            value: 'typing.List[uint]' = None
+            value: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class PartsList(ClusterAttributeDescriptor):
@@ -4385,7 +4267,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[uint])
 
-            value: 'typing.List[uint]' = None
+            value: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -4417,13 +4299,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class Binding(Cluster):
     id: typing.ClassVar[int] = 0x001E
 
+
+
     class Commands:
         @dataclass
         class Bind(ClusterCommand):
@@ -4434,21 +4319,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="nodeId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="endpointId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="clusterId", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="nodeId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="endpointId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="clusterId", Tag=3, Type=uint),
                     ])
 
-            nodeId: 'uint' = None
-            groupId: 'uint' = None
-            endpointId: 'uint' = None
-            clusterId: 'uint' = None
+            nodeId: 'uint' = 0
+            groupId: 'uint' = 0
+            endpointId: 'uint' = 0
+            clusterId: 'uint' = 0
 
         @dataclass
         class Unbind(ClusterCommand):
@@ -4459,21 +4340,18 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="nodeId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="endpointId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="clusterId", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="nodeId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="endpointId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="clusterId", Tag=3, Type=uint),
                     ])
 
-            nodeId: 'uint' = None
-            groupId: 'uint' = None
-            endpointId: 'uint' = None
-            clusterId: 'uint' = None
+            nodeId: 'uint' = 0
+            groupId: 'uint' = 0
+            endpointId: 'uint' = 0
+            clusterId: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -4506,7 +4384,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -4526,63 +4405,57 @@
             kManage = 0x04
             kAdminister = 0x05
 
+
     class Structs:
         @dataclass
         class Target(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="cluster", Tag=0, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="endpoint", Tag=1, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="deviceType", Tag=2, Type=typing.Union[Nullable, uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="cluster", Tag=0, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="endpoint", Tag=1, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="deviceType", Tag=2, Type=typing.Union[Nullable, uint]),
                     ])
 
-            cluster: 'typing.Union[Nullable, uint]' = None
-            endpoint: 'typing.Union[Nullable, uint]' = None
-            deviceType: 'typing.Union[Nullable, uint]' = None
+            cluster: 'typing.Union[Nullable, uint]' = NullValue
+            endpoint: 'typing.Union[Nullable, uint]' = NullValue
+            deviceType: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class AccessControlEntry(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="privilege", Tag=1, Type=AccessControl.Enums.Privilege),
-                        ClusterObjectFieldDescriptor(
-                            Label="authMode", Tag=2, Type=AccessControl.Enums.AuthMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="subjects", Tag=3, Type=typing.Union[Nullable, typing.List[uint]]),
-                        ClusterObjectFieldDescriptor(
-                            Label="targets", Tag=4, Type=typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="privilege", Tag=1, Type=AccessControl.Enums.Privilege),
+                            ClusterObjectFieldDescriptor(Label="authMode", Tag=2, Type=AccessControl.Enums.AuthMode),
+                            ClusterObjectFieldDescriptor(Label="subjects", Tag=3, Type=typing.Union[Nullable, typing.List[uint]]),
+                            ClusterObjectFieldDescriptor(Label="targets", Tag=4, Type=typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]),
                     ])
 
-            fabricIndex: 'uint' = None
-            privilege: 'AccessControl.Enums.Privilege' = None
-            authMode: 'AccessControl.Enums.AuthMode' = None
-            subjects: 'typing.Union[Nullable, typing.List[uint]]' = None
-            targets: 'typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]' = None
+            fabricIndex: 'uint' = 0
+            privilege: 'AccessControl.Enums.Privilege' = 0
+            authMode: 'AccessControl.Enums.AuthMode' = 0
+            subjects: 'typing.Union[Nullable, typing.List[uint]]' = NullValue
+            targets: 'typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]' = NullValue
 
         @dataclass
         class ExtensionEntry(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=1, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=bytes),
                     ])
 
-            fabricIndex: 'uint' = None
-            data: 'bytes' = None
+            fabricIndex: 'uint' = 0
+            data: 'bytes' = b""
+
+
+
 
     class Attributes:
         @dataclass
@@ -4599,7 +4472,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[AccessControl.Structs.AccessControlEntry])
 
-            value: 'typing.List[AccessControl.Structs.AccessControlEntry]' = None
+            value: 'typing.List[AccessControl.Structs.AccessControlEntry]' = field(default_factory=lambda: [])
 
         @dataclass
         class Extension(ClusterAttributeDescriptor):
@@ -4615,7 +4488,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[AccessControl.Structs.ExtensionEntry])
 
-            value: 'typing.List[AccessControl.Structs.ExtensionEntry]' = None
+            value: 'typing.List[AccessControl.Structs.ExtensionEntry]' = field(default_factory=lambda: [])
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -4647,13 +4520,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class PollControl(Cluster):
     id: typing.ClassVar[int] = 0x0020
 
+
+
     class Commands:
         @dataclass
         class CheckIn(ClusterCommand):
@@ -4664,9 +4540,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class CheckInResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0020
@@ -4676,15 +4553,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="startFastPolling", Tag=0, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="fastPollTimeout", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="startFastPolling", Tag=0, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="fastPollTimeout", Tag=1, Type=uint),
                     ])
 
-            startFastPolling: 'bool' = None
-            fastPollTimeout: 'uint' = None
+            startFastPolling: 'bool' = False
+            fastPollTimeout: 'uint' = 0
 
         @dataclass
         class FastPollStop(ClusterCommand):
@@ -4695,9 +4570,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class SetLongPollInterval(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0020
@@ -4707,12 +4583,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="newLongPollInterval", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="newLongPollInterval", Tag=0, Type=uint),
                     ])
 
-            newLongPollInterval: 'uint' = None
+            newLongPollInterval: 'uint' = 0
 
         @dataclass
         class SetShortPollInterval(ClusterCommand):
@@ -4723,12 +4598,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="newShortPollInterval", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="newShortPollInterval", Tag=0, Type=uint),
                     ])
 
-            newShortPollInterval: 'uint' = None
+            newShortPollInterval: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -4745,7 +4620,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class LongPollInterval(ClusterAttributeDescriptor):
@@ -4761,7 +4636,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ShortPollInterval(ClusterAttributeDescriptor):
@@ -4777,7 +4652,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FastPollTimeout(ClusterAttributeDescriptor):
@@ -4793,7 +4668,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CheckInIntervalMin(ClusterAttributeDescriptor):
@@ -4873,7 +4748,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -4905,54 +4781,47 @@
             kRoom = 0x01
             kZone = 0x02
 
+
     class Structs:
         @dataclass
         class ActionStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=2, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="type", Tag=3, Type=BridgedActions.Enums.ActionTypeEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="endpointListID", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="supportedCommands", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=6, Type=BridgedActions.Enums.ActionStatusEnum),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=str),
+                            ClusterObjectFieldDescriptor(Label="type", Tag=3, Type=BridgedActions.Enums.ActionTypeEnum),
+                            ClusterObjectFieldDescriptor(Label="endpointListID", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="supportedCommands", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="status", Tag=6, Type=BridgedActions.Enums.ActionStatusEnum),
                     ])
 
-            actionID: 'uint' = None
-            name: 'str' = None
-            type: 'BridgedActions.Enums.ActionTypeEnum' = None
-            endpointListID: 'uint' = None
-            supportedCommands: 'uint' = None
-            status: 'BridgedActions.Enums.ActionStatusEnum' = None
+            actionID: 'uint' = 0
+            name: 'str' = ""
+            type: 'BridgedActions.Enums.ActionTypeEnum' = 0
+            endpointListID: 'uint' = 0
+            supportedCommands: 'uint' = 0
+            status: 'BridgedActions.Enums.ActionStatusEnum' = 0
 
         @dataclass
         class EndpointListStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="endpointListID", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=2, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="type", Tag=3, Type=BridgedActions.Enums.EndpointListTypeEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="endpoints", Tag=4, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="endpointListID", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=str),
+                            ClusterObjectFieldDescriptor(Label="type", Tag=3, Type=BridgedActions.Enums.EndpointListTypeEnum),
+                            ClusterObjectFieldDescriptor(Label="endpoints", Tag=4, Type=typing.List[uint]),
                     ])
 
-            endpointListID: 'uint' = None
-            name: 'str' = None
-            type: 'BridgedActions.Enums.EndpointListTypeEnum' = None
-            endpoints: 'typing.List[uint]' = None
+            endpointListID: 'uint' = 0
+            name: 'str' = ""
+            type: 'BridgedActions.Enums.EndpointListTypeEnum' = 0
+            endpoints: 'typing.List[uint]' = field(default_factory=lambda: [])
+
+
 
     class Commands:
         @dataclass
@@ -4964,14 +4833,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
 
         @dataclass
@@ -4983,18 +4850,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
-            transitionTime: 'uint' = None
+            transitionTime: 'uint' = 0
 
         @dataclass
         class StartAction(ClusterCommand):
@@ -5005,14 +4869,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
 
         @dataclass
@@ -5024,18 +4886,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="duration", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
-            duration: 'uint' = None
+            duration: 'uint' = 0
 
         @dataclass
         class StopAction(ClusterCommand):
@@ -5046,14 +4905,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
 
         @dataclass
@@ -5065,14 +4922,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
 
         @dataclass
@@ -5084,18 +4939,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="duration", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
-            duration: 'uint' = None
+            duration: 'uint' = 0
 
         @dataclass
         class ResumeAction(ClusterCommand):
@@ -5106,14 +4958,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
 
         @dataclass
@@ -5125,14 +4975,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
 
         @dataclass
@@ -5144,18 +4992,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="duration", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
-            duration: 'uint' = None
+            duration: 'uint' = 0
 
         @dataclass
         class DisableAction(ClusterCommand):
@@ -5166,14 +5011,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
 
         @dataclass
@@ -5185,18 +5028,16 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="actionID", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="invokeID", Tag=1, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="duration", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint),
                     ])
 
-            actionID: 'uint' = None
+            actionID: 'uint' = 0
             invokeID: 'typing.Optional[uint]' = None
-            duration: 'uint' = None
+            duration: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -5213,7 +5054,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[BridgedActions.Structs.ActionStruct])
 
-            value: 'typing.List[BridgedActions.Structs.ActionStruct]' = None
+            value: 'typing.List[BridgedActions.Structs.ActionStruct]' = field(default_factory=lambda: [])
 
         @dataclass
         class EndpointList(ClusterAttributeDescriptor):
@@ -5229,7 +5070,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[BridgedActions.Structs.EndpointListStruct])
 
-            value: 'typing.List[BridgedActions.Structs.EndpointListStruct]' = None
+            value: 'typing.List[BridgedActions.Structs.EndpointListStruct]' = field(default_factory=lambda: [])
 
         @dataclass
         class SetupUrl(ClusterAttributeDescriptor):
@@ -5277,13 +5118,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class Basic(Cluster):
     id: typing.ClassVar[int] = 0x0028
 
+
+
     class Commands:
         @dataclass
         class StartUp(ClusterCommand):
@@ -5294,9 +5138,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MfgSpecificPing(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0028
@@ -5306,9 +5151,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ShutDown(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0028
@@ -5318,9 +5164,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class Leave(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0028
@@ -5330,9 +5177,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class InteractionModelVersion(ClusterAttributeDescriptor):
@@ -5348,7 +5197,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class VendorName(ClusterAttributeDescriptor):
@@ -5364,7 +5213,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class VendorID(ClusterAttributeDescriptor):
@@ -5380,7 +5229,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ProductName(ClusterAttributeDescriptor):
@@ -5396,7 +5245,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class ProductID(ClusterAttributeDescriptor):
@@ -5412,7 +5261,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class NodeLabel(ClusterAttributeDescriptor):
@@ -5428,7 +5277,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class Location(ClusterAttributeDescriptor):
@@ -5444,7 +5293,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class HardwareVersion(ClusterAttributeDescriptor):
@@ -5460,7 +5309,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class HardwareVersionString(ClusterAttributeDescriptor):
@@ -5476,7 +5325,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class SoftwareVersion(ClusterAttributeDescriptor):
@@ -5492,7 +5341,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class SoftwareVersionString(ClusterAttributeDescriptor):
@@ -5508,7 +5357,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class ManufacturingDate(ClusterAttributeDescriptor):
@@ -5668,7 +5517,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -5679,12 +5529,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="softwareVersion", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint),
                     ])
 
-            softwareVersion: 'uint' = None
+            softwareVersion: 'uint' = 0
 
         @dataclass
         class ShutDown(ClusterEventDescriptor):
@@ -5694,9 +5543,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class Leave(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0028
@@ -5705,9 +5555,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ReachableChanged(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0028
@@ -5716,12 +5567,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="reachableNewValue", Tag=0, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="reachableNewValue", Tag=0, Type=bool),
                     ])
 
-            reachableNewValue: 'bool' = None
+            reachableNewValue: 'bool' = False
 
 
 @dataclass
@@ -5745,6 +5595,8 @@
             kBusy = 0x01
             kNotAvailable = 0x02
 
+
+
     class Commands:
         @dataclass
         class QueryImage(ClusterCommand):
@@ -5755,29 +5607,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="vendorId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="productId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="softwareVersion", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="protocolsSupported", Tag=3, Type=typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]),
-                        ClusterObjectFieldDescriptor(
-                            Label="hardwareVersion", Tag=4, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="location", Tag=5, Type=typing.Optional[str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="requestorCanConsent", Tag=6, Type=typing.Optional[bool]),
-                        ClusterObjectFieldDescriptor(
-                            Label="metadataForProvider", Tag=7, Type=typing.Optional[bytes]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="vendorId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="productId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="protocolsSupported", Tag=3, Type=typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]),
+                            ClusterObjectFieldDescriptor(Label="hardwareVersion", Tag=4, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="location", Tag=5, Type=typing.Optional[str]),
+                            ClusterObjectFieldDescriptor(Label="requestorCanConsent", Tag=6, Type=typing.Optional[bool]),
+                            ClusterObjectFieldDescriptor(Label="metadataForProvider", Tag=7, Type=typing.Optional[bytes]),
                     ])
 
-            vendorId: 'uint' = None
-            productId: 'uint' = None
-            softwareVersion: 'uint' = None
-            protocolsSupported: 'typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]' = None
+            vendorId: 'uint' = 0
+            productId: 'uint' = 0
+            softwareVersion: 'uint' = 0
+            protocolsSupported: 'typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]' = field(default_factory=lambda: [])
             hardwareVersion: 'typing.Optional[uint]' = None
             location: 'typing.Optional[str]' = None
             requestorCanConsent: 'typing.Optional[bool]' = None
@@ -5792,15 +5636,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="updateToken", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="newVersion", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="updateToken", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="newVersion", Tag=1, Type=uint),
                     ])
 
-            updateToken: 'bytes' = None
-            newVersion: 'uint' = None
+            updateToken: 'bytes' = b""
+            newVersion: 'uint' = 0
 
         @dataclass
         class NotifyUpdateApplied(ClusterCommand):
@@ -5811,15 +5653,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="updateToken", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="softwareVersion", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="updateToken", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=1, Type=uint),
                     ])
 
-            updateToken: 'bytes' = None
-            softwareVersion: 'uint' = None
+            updateToken: 'bytes' = b""
+            softwareVersion: 'uint' = 0
 
         @dataclass
         class QueryImageResponse(ClusterCommand):
@@ -5830,26 +5670,18 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=OtaSoftwareUpdateProvider.Enums.OTAQueryStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="delayedActionTime", Tag=1, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="imageURI", Tag=2, Type=typing.Optional[str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="softwareVersion", Tag=3, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="softwareVersionString", Tag=4, Type=typing.Optional[str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="updateToken", Tag=5, Type=typing.Optional[bytes]),
-                        ClusterObjectFieldDescriptor(
-                            Label="userConsentNeeded", Tag=6, Type=typing.Optional[bool]),
-                        ClusterObjectFieldDescriptor(
-                            Label="metadataForRequestor", Tag=7, Type=typing.Optional[bytes]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=OtaSoftwareUpdateProvider.Enums.OTAQueryStatus),
+                            ClusterObjectFieldDescriptor(Label="delayedActionTime", Tag=1, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="imageURI", Tag=2, Type=typing.Optional[str]),
+                            ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=3, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="softwareVersionString", Tag=4, Type=typing.Optional[str]),
+                            ClusterObjectFieldDescriptor(Label="updateToken", Tag=5, Type=typing.Optional[bytes]),
+                            ClusterObjectFieldDescriptor(Label="userConsentNeeded", Tag=6, Type=typing.Optional[bool]),
+                            ClusterObjectFieldDescriptor(Label="metadataForRequestor", Tag=7, Type=typing.Optional[bytes]),
                     ])
 
-            status: 'OtaSoftwareUpdateProvider.Enums.OTAQueryStatus' = None
+            status: 'OtaSoftwareUpdateProvider.Enums.OTAQueryStatus' = 0
             delayedActionTime: 'typing.Optional[uint]' = None
             imageURI: 'typing.Optional[str]' = None
             softwareVersion: 'typing.Optional[uint]' = None
@@ -5867,15 +5699,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="action", Tag=0, Type=OtaSoftwareUpdateProvider.Enums.OTAApplyUpdateAction),
-                        ClusterObjectFieldDescriptor(
-                            Label="delayedActionTime", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="action", Tag=0, Type=OtaSoftwareUpdateProvider.Enums.OTAApplyUpdateAction),
+                            ClusterObjectFieldDescriptor(Label="delayedActionTime", Tag=1, Type=uint),
                     ])
 
-            action: 'OtaSoftwareUpdateProvider.Enums.OTAApplyUpdateAction' = None
-            delayedActionTime: 'uint' = None
+            action: 'OtaSoftwareUpdateProvider.Enums.OTAApplyUpdateAction' = 0
+            delayedActionTime: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -5908,7 +5739,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -5939,6 +5771,8 @@
             kRollingBack = 0x07
             kDelayedOnUserConsent = 0x08
 
+
+
     class Commands:
         @dataclass
         class AnnounceOtaProvider(ClusterCommand):
@@ -5949,22 +5783,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="providerLocation", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="vendorId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="announcementReason", Tag=2, Type=OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason),
-                        ClusterObjectFieldDescriptor(
-                            Label="metadataForNode", Tag=3, Type=typing.Optional[bytes]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="providerLocation", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="vendorId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="announcementReason", Tag=2, Type=OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason),
+                            ClusterObjectFieldDescriptor(Label="metadataForNode", Tag=3, Type=typing.Optional[bytes]),
                     ])
 
-            providerLocation: 'uint' = None
-            vendorId: 'uint' = None
-            announcementReason: 'OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason' = None
+            providerLocation: 'uint' = 0
+            vendorId: 'uint' = 0
+            announcementReason: 'OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason' = 0
             metadataForNode: 'typing.Optional[bytes]' = None
 
+
     class Attributes:
         @dataclass
         class DefaultOtaProvider(ClusterAttributeDescriptor):
@@ -5980,7 +5811,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bytes)
 
-            value: 'bytes' = None
+            value: 'bytes' = b""
 
         @dataclass
         class UpdatePossible(ClusterAttributeDescriptor):
@@ -5996,7 +5827,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -6028,7 +5859,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -6039,21 +5871,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="previousState", Tag=0, Type=OtaSoftwareUpdateRequestor.Enums.UpdateStateEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="newState", Tag=1, Type=OtaSoftwareUpdateRequestor.Enums.UpdateStateEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="reason", Tag=2, Type=OtaSoftwareUpdateRequestor.Enums.ChangeReasonEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="targetSoftwareVersion", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="previousState", Tag=0, Type=OtaSoftwareUpdateRequestor.Enums.UpdateStateEnum),
+                            ClusterObjectFieldDescriptor(Label="newState", Tag=1, Type=OtaSoftwareUpdateRequestor.Enums.UpdateStateEnum),
+                            ClusterObjectFieldDescriptor(Label="reason", Tag=2, Type=OtaSoftwareUpdateRequestor.Enums.ChangeReasonEnum),
+                            ClusterObjectFieldDescriptor(Label="targetSoftwareVersion", Tag=3, Type=uint),
                     ])
 
-            previousState: 'OtaSoftwareUpdateRequestor.Enums.UpdateStateEnum' = None
-            newState: 'OtaSoftwareUpdateRequestor.Enums.UpdateStateEnum' = None
-            reason: 'OtaSoftwareUpdateRequestor.Enums.ChangeReasonEnum' = None
-            targetSoftwareVersion: 'uint' = None
+            previousState: 'OtaSoftwareUpdateRequestor.Enums.UpdateStateEnum' = 0
+            newState: 'OtaSoftwareUpdateRequestor.Enums.UpdateStateEnum' = 0
+            reason: 'OtaSoftwareUpdateRequestor.Enums.ChangeReasonEnum' = 0
+            targetSoftwareVersion: 'uint' = 0
 
         @dataclass
         class VersionApplied(ClusterEventDescriptor):
@@ -6063,15 +5891,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="softwareVersion", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="productID", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="productID", Tag=1, Type=uint),
                     ])
 
-            softwareVersion: 'uint' = None
-            productID: 'uint' = None
+            softwareVersion: 'uint' = 0
+            productID: 'uint' = 0
 
         @dataclass
         class DownloadError(ClusterEventDescriptor):
@@ -6081,27 +5907,26 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="softwareVersion", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="bytesDownloaded", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="progressPercent", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="platformCode", Tag=3, Type=int),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="bytesDownloaded", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="progressPercent", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="platformCode", Tag=3, Type=int),
                     ])
 
-            softwareVersion: 'uint' = None
-            bytesDownloaded: 'uint' = None
-            progressPercent: 'uint' = None
-            platformCode: 'int' = None
+            softwareVersion: 'uint' = 0
+            bytesDownloaded: 'uint' = 0
+            progressPercent: 'uint' = 0
+            platformCode: 'int' = 0
 
 
 @dataclass
 class LocalizationConfiguration(Cluster):
     id: typing.ClassVar[int] = 0x002B
 
+
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -6133,13 +5958,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class LocalizationTimeFormat(Cluster):
     id: typing.ClassVar[int] = 0x002C
 
+
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -6171,13 +6000,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class LocalizationUnit(Cluster):
     id: typing.ClassVar[int] = 0x002D
 
+
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -6209,13 +6042,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class PowerSourceConfiguration(Cluster):
     id: typing.ClassVar[int] = 0x002E
 
+
+
+
     class Attributes:
         @dataclass
         class Sources(ClusterAttributeDescriptor):
@@ -6231,7 +6068,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[uint])
 
-            value: 'typing.List[uint]' = None
+            value: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -6263,13 +6100,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class PowerSource(Cluster):
     id: typing.ClassVar[int] = 0x002F
 
+
+
+
     class Attributes:
         @dataclass
         class Status(ClusterAttributeDescriptor):
@@ -6285,7 +6126,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Order(ClusterAttributeDescriptor):
@@ -6301,7 +6142,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Description(ClusterAttributeDescriptor):
@@ -6317,7 +6158,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class WiredAssessedInputVoltage(ClusterAttributeDescriptor):
@@ -6797,7 +6638,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -6816,18 +6658,20 @@
             kOutdoor = 0x01
             kIndoorOutdoor = 0x02
 
+
     class Structs:
         @dataclass
         class BasicCommissioningInfoType(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="failSafeExpiryLengthMs", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="failSafeExpiryLengthMs", Tag=1, Type=uint),
                     ])
 
-            failSafeExpiryLengthMs: 'uint' = None
+            failSafeExpiryLengthMs: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -6839,18 +6683,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="expiryLengthSeconds", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="expiryLengthSeconds", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=2, Type=uint),
                     ])
 
-            expiryLengthSeconds: 'uint' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            expiryLengthSeconds: 'uint' = 0
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class ArmFailSafeResponse(ClusterCommand):
@@ -6861,15 +6702,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.GeneralCommissioningError),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.GeneralCommissioningError),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'GeneralCommissioning.Enums.GeneralCommissioningError' = None
-            debugText: 'str' = None
+            errorCode: 'GeneralCommissioning.Enums.GeneralCommissioningError' = 0
+            debugText: 'str' = ""
 
         @dataclass
         class SetRegulatoryConfig(ClusterCommand):
@@ -6880,21 +6719,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="location", Tag=0, Type=GeneralCommissioning.Enums.RegulatoryLocationType),
-                        ClusterObjectFieldDescriptor(
-                            Label="countryCode", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="location", Tag=0, Type=GeneralCommissioning.Enums.RegulatoryLocationType),
+                            ClusterObjectFieldDescriptor(Label="countryCode", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=3, Type=uint),
                     ])
 
-            location: 'GeneralCommissioning.Enums.RegulatoryLocationType' = None
-            countryCode: 'str' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            location: 'GeneralCommissioning.Enums.RegulatoryLocationType' = 0
+            countryCode: 'str' = ""
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class SetRegulatoryConfigResponse(ClusterCommand):
@@ -6905,15 +6740,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.GeneralCommissioningError),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.GeneralCommissioningError),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'GeneralCommissioning.Enums.GeneralCommissioningError' = None
-            debugText: 'str' = None
+            errorCode: 'GeneralCommissioning.Enums.GeneralCommissioningError' = 0
+            debugText: 'str' = ""
 
         @dataclass
         class CommissioningComplete(ClusterCommand):
@@ -6924,9 +6757,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class CommissioningCompleteResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0030
@@ -6936,15 +6770,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.GeneralCommissioningError),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.GeneralCommissioningError),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'GeneralCommissioning.Enums.GeneralCommissioningError' = None
-            debugText: 'str' = None
+            errorCode: 'GeneralCommissioning.Enums.GeneralCommissioningError' = 0
+            debugText: 'str' = ""
+
 
     class Attributes:
         @dataclass
@@ -6961,7 +6794,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class BasicCommissioningInfoList(ClusterAttributeDescriptor):
@@ -6977,7 +6810,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[GeneralCommissioning.Structs.BasicCommissioningInfoType])
 
-            value: 'typing.List[GeneralCommissioning.Structs.BasicCommissioningInfoType]' = None
+            value: 'typing.List[GeneralCommissioning.Structs.BasicCommissioningInfoType]' = field(default_factory=lambda: [])
 
         @dataclass
         class RegulatoryConfig(ClusterAttributeDescriptor):
@@ -7041,7 +6874,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -7071,42 +6905,39 @@
             kLabel15 = 0x12
             kUnknownError = 0x13
 
+
     class Structs:
         @dataclass
         class ThreadInterfaceScanResult(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="discoveryResponse", Tag=1, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="discoveryResponse", Tag=1, Type=bytes),
                     ])
 
-            discoveryResponse: 'bytes' = None
+            discoveryResponse: 'bytes' = b""
 
         @dataclass
         class WiFiInterfaceScanResult(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="security", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="ssid", Tag=2, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="bssid", Tag=3, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="channel", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="frequencyBand", Tag=5, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="security", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="ssid", Tag=2, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="bssid", Tag=3, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="channel", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="frequencyBand", Tag=5, Type=uint),
                     ])
 
-            security: 'uint' = None
-            ssid: 'bytes' = None
-            bssid: 'bytes' = None
-            channel: 'uint' = None
-            frequencyBand: 'uint' = None
+            security: 'uint' = 0
+            ssid: 'bytes' = b""
+            bssid: 'bytes' = b""
+            channel: 'uint' = 0
+            frequencyBand: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -7118,18 +6949,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="ssid", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="ssid", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=2, Type=uint),
                     ])
 
-            ssid: 'bytes' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            ssid: 'bytes' = b""
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class ScanNetworksResponse(ClusterCommand):
@@ -7140,21 +6968,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="wifiScanResults", Tag=2, Type=typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]),
-                        ClusterObjectFieldDescriptor(
-                            Label="threadScanResults", Tag=3, Type=typing.List[NetworkCommissioning.Structs.ThreadInterfaceScanResult]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="wifiScanResults", Tag=2, Type=typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]),
+                            ClusterObjectFieldDescriptor(Label="threadScanResults", Tag=3, Type=typing.List[NetworkCommissioning.Structs.ThreadInterfaceScanResult]),
                     ])
 
-            errorCode: 'uint' = None
-            debugText: 'str' = None
-            wifiScanResults: 'typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]' = None
-            threadScanResults: 'typing.List[NetworkCommissioning.Structs.ThreadInterfaceScanResult]' = None
+            errorCode: 'uint' = 0
+            debugText: 'str' = ""
+            wifiScanResults: 'typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]' = field(default_factory=lambda: [])
+            threadScanResults: 'typing.List[NetworkCommissioning.Structs.ThreadInterfaceScanResult]' = field(default_factory=lambda: [])
 
         @dataclass
         class AddWiFiNetwork(ClusterCommand):
@@ -7165,21 +6989,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="ssid", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="credentials", Tag=1, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="ssid", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="credentials", Tag=1, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=3, Type=uint),
                     ])
 
-            ssid: 'bytes' = None
-            credentials: 'bytes' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            ssid: 'bytes' = b""
+            credentials: 'bytes' = b""
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class AddWiFiNetworkResponse(ClusterCommand):
@@ -7190,15 +7010,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'uint' = None
-            debugText: 'str' = None
+            errorCode: 'uint' = 0
+            debugText: 'str' = ""
 
         @dataclass
         class UpdateWiFiNetwork(ClusterCommand):
@@ -7209,21 +7027,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="ssid", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="credentials", Tag=1, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="ssid", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="credentials", Tag=1, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=3, Type=uint),
                     ])
 
-            ssid: 'bytes' = None
-            credentials: 'bytes' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            ssid: 'bytes' = b""
+            credentials: 'bytes' = b""
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class UpdateWiFiNetworkResponse(ClusterCommand):
@@ -7234,15 +7048,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'uint' = None
-            debugText: 'str' = None
+            errorCode: 'uint' = 0
+            debugText: 'str' = ""
 
         @dataclass
         class AddThreadNetwork(ClusterCommand):
@@ -7253,18 +7065,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="operationalDataset", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="operationalDataset", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=2, Type=uint),
                     ])
 
-            operationalDataset: 'bytes' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            operationalDataset: 'bytes' = b""
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class AddThreadNetworkResponse(ClusterCommand):
@@ -7275,15 +7084,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'uint' = None
-            debugText: 'str' = None
+            errorCode: 'uint' = 0
+            debugText: 'str' = ""
 
         @dataclass
         class UpdateThreadNetwork(ClusterCommand):
@@ -7294,18 +7101,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="operationalDataset", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="operationalDataset", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=2, Type=uint),
                     ])
 
-            operationalDataset: 'bytes' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            operationalDataset: 'bytes' = b""
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class UpdateThreadNetworkResponse(ClusterCommand):
@@ -7316,15 +7120,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'uint' = None
-            debugText: 'str' = None
+            errorCode: 'uint' = 0
+            debugText: 'str' = ""
 
         @dataclass
         class RemoveNetwork(ClusterCommand):
@@ -7335,18 +7137,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="networkID", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=2, Type=uint),
                     ])
 
-            networkID: 'bytes' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            networkID: 'bytes' = b""
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class RemoveNetworkResponse(ClusterCommand):
@@ -7357,15 +7156,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'uint' = None
-            debugText: 'str' = None
+            errorCode: 'uint' = 0
+            debugText: 'str' = ""
 
         @dataclass
         class EnableNetwork(ClusterCommand):
@@ -7376,18 +7173,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="networkID", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=2, Type=uint),
                     ])
 
-            networkID: 'bytes' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            networkID: 'bytes' = b""
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class EnableNetworkResponse(ClusterCommand):
@@ -7398,15 +7192,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'uint' = None
-            debugText: 'str' = None
+            errorCode: 'uint' = 0
+            debugText: 'str' = ""
 
         @dataclass
         class DisableNetwork(ClusterCommand):
@@ -7417,18 +7209,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="networkID", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="breadcrumb", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeoutMs", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeoutMs", Tag=2, Type=uint),
                     ])
 
-            networkID: 'bytes' = None
-            breadcrumb: 'uint' = None
-            timeoutMs: 'uint' = None
+            networkID: 'bytes' = b""
+            breadcrumb: 'uint' = 0
+            timeoutMs: 'uint' = 0
 
         @dataclass
         class DisableNetworkResponse(ClusterCommand):
@@ -7439,15 +7228,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="errorCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str),
                     ])
 
-            errorCode: 'uint' = None
-            debugText: 'str' = None
+            errorCode: 'uint' = 0
+            debugText: 'str' = ""
+
 
     class Attributes:
         @dataclass
@@ -7480,7 +7268,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -7504,6 +7293,8 @@
             kResponsePayload = 0x00
             kBdx = 0x01
 
+
+
     class Commands:
         @dataclass
         class RetrieveLogsRequest(ClusterCommand):
@@ -7514,18 +7305,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="intent", Tag=0, Type=DiagnosticLogs.Enums.LogsIntent),
-                        ClusterObjectFieldDescriptor(
-                            Label="requestedProtocol", Tag=1, Type=DiagnosticLogs.Enums.LogsTransferProtocol),
-                        ClusterObjectFieldDescriptor(
-                            Label="transferFileDesignator", Tag=2, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="intent", Tag=0, Type=DiagnosticLogs.Enums.LogsIntent),
+                            ClusterObjectFieldDescriptor(Label="requestedProtocol", Tag=1, Type=DiagnosticLogs.Enums.LogsTransferProtocol),
+                            ClusterObjectFieldDescriptor(Label="transferFileDesignator", Tag=2, Type=bytes),
                     ])
 
-            intent: 'DiagnosticLogs.Enums.LogsIntent' = None
-            requestedProtocol: 'DiagnosticLogs.Enums.LogsTransferProtocol' = None
-            transferFileDesignator: 'bytes' = None
+            intent: 'DiagnosticLogs.Enums.LogsIntent' = 0
+            requestedProtocol: 'DiagnosticLogs.Enums.LogsTransferProtocol' = 0
+            transferFileDesignator: 'bytes' = b""
 
         @dataclass
         class RetrieveLogsResponse(ClusterCommand):
@@ -7536,21 +7324,18 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=DiagnosticLogs.Enums.LogsStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="content", Tag=1, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeStamp", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timeSinceBoot", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=DiagnosticLogs.Enums.LogsStatus),
+                            ClusterObjectFieldDescriptor(Label="content", Tag=1, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="timeStamp", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timeSinceBoot", Tag=3, Type=uint),
                     ])
 
-            status: 'DiagnosticLogs.Enums.LogsStatus' = None
-            content: 'bytes' = None
-            timeStamp: 'uint' = None
-            timeSinceBoot: 'uint' = None
+            status: 'DiagnosticLogs.Enums.LogsStatus' = 0
+            content: 'bytes' = b""
+            timeStamp: 'uint' = 0
+            timeSinceBoot: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -7583,7 +7368,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -7635,33 +7421,31 @@
             kBLEFault = 0x05
             kEthernetFault = 0x06
 
+
     class Structs:
         @dataclass
         class NetworkInterfaceType(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricConnected", Tag=2, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="offPremiseServicesReachableIPv4", Tag=3, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="offPremiseServicesReachableIPv6", Tag=4, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="hardwareAddress", Tag=5, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="type", Tag=6, Type=GeneralDiagnostics.Enums.InterfaceType),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="fabricConnected", Tag=2, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="offPremiseServicesReachableIPv4", Tag=3, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="offPremiseServicesReachableIPv6", Tag=4, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="hardwareAddress", Tag=5, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="type", Tag=6, Type=GeneralDiagnostics.Enums.InterfaceType),
                     ])
 
-            name: 'str' = None
-            fabricConnected: 'bool' = None
-            offPremiseServicesReachableIPv4: 'bool' = None
-            offPremiseServicesReachableIPv6: 'bool' = None
-            hardwareAddress: 'bytes' = None
-            type: 'GeneralDiagnostics.Enums.InterfaceType' = None
+            name: 'str' = ""
+            fabricConnected: 'bool' = False
+            offPremiseServicesReachableIPv4: 'bool' = False
+            offPremiseServicesReachableIPv6: 'bool' = False
+            hardwareAddress: 'bytes' = b""
+            type: 'GeneralDiagnostics.Enums.InterfaceType' = 0
+
+
+
 
     class Attributes:
         @dataclass
@@ -7678,7 +7462,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType])
 
-            value: 'typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]' = None
+            value: 'typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]' = field(default_factory=lambda: [])
 
         @dataclass
         class RebootCount(ClusterAttributeDescriptor):
@@ -7694,7 +7478,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class UpTime(ClusterAttributeDescriptor):
@@ -7822,7 +7606,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -7833,15 +7618,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.HardwareFaultType], IsArray=True),
-                        ClusterObjectFieldDescriptor(
-                            Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.HardwareFaultType], IsArray=True),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.HardwareFaultType], IsArray=True),
+                            ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.HardwareFaultType], IsArray=True),
                     ])
 
-            current: typing.List['typing.List[GeneralDiagnostics.Enums.HardwareFaultType]'] = None
-            previous: typing.List['typing.List[GeneralDiagnostics.Enums.HardwareFaultType]'] = None
+            current: typing.List['typing.List[GeneralDiagnostics.Enums.HardwareFaultType]'] = field(default_factory=lambda: [])
+            previous: typing.List['typing.List[GeneralDiagnostics.Enums.HardwareFaultType]'] = field(default_factory=lambda: [])
 
         @dataclass
         class RadioFaultChange(ClusterEventDescriptor):
@@ -7851,15 +7634,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.RadioFaultType], IsArray=True),
-                        ClusterObjectFieldDescriptor(
-                            Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.RadioFaultType], IsArray=True),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.RadioFaultType], IsArray=True),
+                            ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.RadioFaultType], IsArray=True),
                     ])
 
-            current: typing.List['typing.List[GeneralDiagnostics.Enums.RadioFaultType]'] = None
-            previous: typing.List['typing.List[GeneralDiagnostics.Enums.RadioFaultType]'] = None
+            current: typing.List['typing.List[GeneralDiagnostics.Enums.RadioFaultType]'] = field(default_factory=lambda: [])
+            previous: typing.List['typing.List[GeneralDiagnostics.Enums.RadioFaultType]'] = field(default_factory=lambda: [])
 
         @dataclass
         class NetworkFaultChange(ClusterEventDescriptor):
@@ -7869,15 +7650,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.NetworkFaultType], IsArray=True),
-                        ClusterObjectFieldDescriptor(
-                            Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.NetworkFaultType], IsArray=True),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.NetworkFaultType], IsArray=True),
+                            ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.NetworkFaultType], IsArray=True),
                     ])
 
-            current: typing.List['typing.List[GeneralDiagnostics.Enums.NetworkFaultType]'] = None
-            previous: typing.List['typing.List[GeneralDiagnostics.Enums.NetworkFaultType]'] = None
+            current: typing.List['typing.List[GeneralDiagnostics.Enums.NetworkFaultType]'] = field(default_factory=lambda: [])
+            previous: typing.List['typing.List[GeneralDiagnostics.Enums.NetworkFaultType]'] = field(default_factory=lambda: [])
 
         @dataclass
         class BootReason(ClusterEventDescriptor):
@@ -7887,60 +7666,54 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="bootReason", Tag=0, Type=GeneralDiagnostics.Enums.BootReasonType),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="bootReason", Tag=0, Type=GeneralDiagnostics.Enums.BootReasonType),
                     ])
 
-            bootReason: 'GeneralDiagnostics.Enums.BootReasonType' = None
+            bootReason: 'GeneralDiagnostics.Enums.BootReasonType' = 0
 
 
 @dataclass
 class SoftwareDiagnostics(Cluster):
     id: typing.ClassVar[int] = 0x0034
 
+
     class Structs:
         @dataclass
         class SoftwareFault(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="id", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=2, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="faultRecording", Tag=3, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="id", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=str),
+                            ClusterObjectFieldDescriptor(Label="faultRecording", Tag=3, Type=bytes),
                     ])
 
-            id: 'uint' = None
-            name: 'str' = None
-            faultRecording: 'bytes' = None
+            id: 'uint' = 0
+            name: 'str' = ""
+            faultRecording: 'bytes' = b""
 
         @dataclass
         class ThreadMetrics(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="id", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=2, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="stackFreeCurrent", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="stackFreeMinimum", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="stackSize", Tag=5, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="id", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=str),
+                            ClusterObjectFieldDescriptor(Label="stackFreeCurrent", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="stackFreeMinimum", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="stackSize", Tag=5, Type=uint),
                     ])
 
-            id: 'uint' = None
-            name: 'str' = None
-            stackFreeCurrent: 'uint' = None
-            stackFreeMinimum: 'uint' = None
-            stackSize: 'uint' = None
+            id: 'uint' = 0
+            name: 'str' = ""
+            stackFreeCurrent: 'uint' = 0
+            stackFreeMinimum: 'uint' = 0
+            stackSize: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -7952,9 +7725,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class ThreadMetrics(ClusterAttributeDescriptor):
@@ -8018,7 +7793,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -8050,7 +7825,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -8061,12 +7837,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="softwareFault", Tag=0, Type=SoftwareDiagnostics.Structs.SoftwareFault),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="softwareFault", Tag=0, Type=SoftwareDiagnostics.Structs.SoftwareFault),
                     ])
 
-            softwareFault: 'SoftwareDiagnostics.Structs.SoftwareFault' = None
+            softwareFault: 'SoftwareDiagnostics.Structs.SoftwareFault' = field(default_factory=lambda: SoftwareDiagnostics.Structs.SoftwareFault())
 
 
 @dataclass
@@ -8093,156 +7868,121 @@
             kConnected = 0x00
             kNotConnected = 0x01
 
+
     class Structs:
         @dataclass
         class NeighborTable(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="extAddress", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="age", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="rloc16", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="linkFrameCounter", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="mleFrameCounter", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="lqi", Tag=6, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="averageRssi", Tag=7, Type=int),
-                        ClusterObjectFieldDescriptor(
-                            Label="lastRssi", Tag=8, Type=int),
-                        ClusterObjectFieldDescriptor(
-                            Label="frameErrorRate", Tag=9, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="messageErrorRate", Tag=10, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="rxOnWhenIdle", Tag=11, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="fullThreadDevice", Tag=12, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="fullNetworkData", Tag=13, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="isChild", Tag=14, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="extAddress", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="age", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="rloc16", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="linkFrameCounter", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="mleFrameCounter", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="lqi", Tag=6, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="averageRssi", Tag=7, Type=int),
+                            ClusterObjectFieldDescriptor(Label="lastRssi", Tag=8, Type=int),
+                            ClusterObjectFieldDescriptor(Label="frameErrorRate", Tag=9, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="messageErrorRate", Tag=10, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="rxOnWhenIdle", Tag=11, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="fullThreadDevice", Tag=12, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="fullNetworkData", Tag=13, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="isChild", Tag=14, Type=bool),
                     ])
 
-            extAddress: 'uint' = None
-            age: 'uint' = None
-            rloc16: 'uint' = None
-            linkFrameCounter: 'uint' = None
-            mleFrameCounter: 'uint' = None
-            lqi: 'uint' = None
-            averageRssi: 'int' = None
-            lastRssi: 'int' = None
-            frameErrorRate: 'uint' = None
-            messageErrorRate: 'uint' = None
-            rxOnWhenIdle: 'bool' = None
-            fullThreadDevice: 'bool' = None
-            fullNetworkData: 'bool' = None
-            isChild: 'bool' = None
+            extAddress: 'uint' = 0
+            age: 'uint' = 0
+            rloc16: 'uint' = 0
+            linkFrameCounter: 'uint' = 0
+            mleFrameCounter: 'uint' = 0
+            lqi: 'uint' = 0
+            averageRssi: 'int' = 0
+            lastRssi: 'int' = 0
+            frameErrorRate: 'uint' = 0
+            messageErrorRate: 'uint' = 0
+            rxOnWhenIdle: 'bool' = False
+            fullThreadDevice: 'bool' = False
+            fullNetworkData: 'bool' = False
+            isChild: 'bool' = False
 
         @dataclass
         class OperationalDatasetComponents(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="activeTimestampPresent", Tag=1, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="pendingTimestampPresent", Tag=2, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="masterKeyPresent", Tag=3, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="networkNamePresent", Tag=4, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="extendedPanIdPresent", Tag=5, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="meshLocalPrefixPresent", Tag=6, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="delayPresent", Tag=7, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="panIdPresent", Tag=8, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="channelPresent", Tag=9, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="pskcPresent", Tag=10, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="securityPolicyPresent", Tag=11, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="channelMaskPresent", Tag=12, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="activeTimestampPresent", Tag=1, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="pendingTimestampPresent", Tag=2, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="masterKeyPresent", Tag=3, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="networkNamePresent", Tag=4, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="extendedPanIdPresent", Tag=5, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="meshLocalPrefixPresent", Tag=6, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="delayPresent", Tag=7, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="panIdPresent", Tag=8, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="channelPresent", Tag=9, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="pskcPresent", Tag=10, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="securityPolicyPresent", Tag=11, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="channelMaskPresent", Tag=12, Type=bool),
                     ])
 
-            activeTimestampPresent: 'bool' = None
-            pendingTimestampPresent: 'bool' = None
-            masterKeyPresent: 'bool' = None
-            networkNamePresent: 'bool' = None
-            extendedPanIdPresent: 'bool' = None
-            meshLocalPrefixPresent: 'bool' = None
-            delayPresent: 'bool' = None
-            panIdPresent: 'bool' = None
-            channelPresent: 'bool' = None
-            pskcPresent: 'bool' = None
-            securityPolicyPresent: 'bool' = None
-            channelMaskPresent: 'bool' = None
+            activeTimestampPresent: 'bool' = False
+            pendingTimestampPresent: 'bool' = False
+            masterKeyPresent: 'bool' = False
+            networkNamePresent: 'bool' = False
+            extendedPanIdPresent: 'bool' = False
+            meshLocalPrefixPresent: 'bool' = False
+            delayPresent: 'bool' = False
+            panIdPresent: 'bool' = False
+            channelPresent: 'bool' = False
+            pskcPresent: 'bool' = False
+            securityPolicyPresent: 'bool' = False
+            channelMaskPresent: 'bool' = False
 
         @dataclass
         class RouteTable(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="extAddress", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="rloc16", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="routerId", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="nextHop", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="pathCost", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="LQIIn", Tag=6, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="LQIOut", Tag=7, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="age", Tag=8, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="allocated", Tag=9, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="linkEstablished", Tag=10, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="extAddress", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="rloc16", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="routerId", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="nextHop", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="pathCost", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="LQIIn", Tag=6, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="LQIOut", Tag=7, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="age", Tag=8, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="allocated", Tag=9, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="linkEstablished", Tag=10, Type=bool),
                     ])
 
-            extAddress: 'uint' = None
-            rloc16: 'uint' = None
-            routerId: 'uint' = None
-            nextHop: 'uint' = None
-            pathCost: 'uint' = None
-            LQIIn: 'uint' = None
-            LQIOut: 'uint' = None
-            age: 'uint' = None
-            allocated: 'bool' = None
-            linkEstablished: 'bool' = None
+            extAddress: 'uint' = 0
+            rloc16: 'uint' = 0
+            routerId: 'uint' = 0
+            nextHop: 'uint' = 0
+            pathCost: 'uint' = 0
+            LQIIn: 'uint' = 0
+            LQIOut: 'uint' = 0
+            age: 'uint' = 0
+            allocated: 'bool' = False
+            linkEstablished: 'bool' = False
 
         @dataclass
         class SecurityPolicy(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="rotationTime", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="flags", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="rotationTime", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="flags", Tag=2, Type=uint),
                     ])
 
-            rotationTime: 'uint' = None
-            flags: 'uint' = None
+            rotationTime: 'uint' = 0
+            flags: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -8254,9 +7994,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class Channel(ClusterAttributeDescriptor):
@@ -8272,7 +8014,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RoutingRole(ClusterAttributeDescriptor):
@@ -8288,7 +8030,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class NetworkName(ClusterAttributeDescriptor):
@@ -8304,7 +8046,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bytes)
 
-            value: 'bytes' = None
+            value: 'bytes' = b""
 
         @dataclass
         class PanId(ClusterAttributeDescriptor):
@@ -8320,7 +8062,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ExtendedPanId(ClusterAttributeDescriptor):
@@ -8336,7 +8078,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class MeshLocalPrefix(ClusterAttributeDescriptor):
@@ -8352,7 +8094,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bytes)
 
-            value: 'bytes' = None
+            value: 'bytes' = b""
 
         @dataclass
         class OverrunCount(ClusterAttributeDescriptor):
@@ -8368,7 +8110,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class NeighborTableList(ClusterAttributeDescriptor):
@@ -8384,7 +8126,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable])
 
-            value: 'typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]' = None
+            value: 'typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]' = field(default_factory=lambda: [])
 
         @dataclass
         class RouteTableList(ClusterAttributeDescriptor):
@@ -8400,7 +8142,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.RouteTable])
 
-            value: 'typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]' = None
+            value: 'typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]' = field(default_factory=lambda: [])
 
         @dataclass
         class PartitionId(ClusterAttributeDescriptor):
@@ -8416,7 +8158,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Weighting(ClusterAttributeDescriptor):
@@ -8432,7 +8174,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class DataVersion(ClusterAttributeDescriptor):
@@ -8448,7 +8190,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class StableDataVersion(ClusterAttributeDescriptor):
@@ -8464,7 +8206,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class LeaderRouterId(ClusterAttributeDescriptor):
@@ -8480,7 +8222,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class DetachedRoleCount(ClusterAttributeDescriptor):
@@ -8496,7 +8238,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ChildRoleCount(ClusterAttributeDescriptor):
@@ -8512,7 +8254,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RouterRoleCount(ClusterAttributeDescriptor):
@@ -8528,7 +8270,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class LeaderRoleCount(ClusterAttributeDescriptor):
@@ -8544,7 +8286,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class AttachAttemptCount(ClusterAttributeDescriptor):
@@ -8560,7 +8302,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class PartitionIdChangeCount(ClusterAttributeDescriptor):
@@ -8576,7 +8318,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class BetterPartitionAttachAttemptCount(ClusterAttributeDescriptor):
@@ -8592,7 +8334,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ParentChangeCount(ClusterAttributeDescriptor):
@@ -8608,7 +8350,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxTotalCount(ClusterAttributeDescriptor):
@@ -8624,7 +8366,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxUnicastCount(ClusterAttributeDescriptor):
@@ -8640,7 +8382,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxBroadcastCount(ClusterAttributeDescriptor):
@@ -8656,7 +8398,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxAckRequestedCount(ClusterAttributeDescriptor):
@@ -8672,7 +8414,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxAckedCount(ClusterAttributeDescriptor):
@@ -8688,7 +8430,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxNoAckRequestedCount(ClusterAttributeDescriptor):
@@ -8704,7 +8446,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxDataCount(ClusterAttributeDescriptor):
@@ -8720,7 +8462,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxDataPollCount(ClusterAttributeDescriptor):
@@ -8736,7 +8478,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxBeaconCount(ClusterAttributeDescriptor):
@@ -8752,7 +8494,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxBeaconRequestCount(ClusterAttributeDescriptor):
@@ -8768,7 +8510,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxOtherCount(ClusterAttributeDescriptor):
@@ -8784,7 +8526,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxRetryCount(ClusterAttributeDescriptor):
@@ -8800,7 +8542,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxDirectMaxRetryExpiryCount(ClusterAttributeDescriptor):
@@ -8816,7 +8558,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxIndirectMaxRetryExpiryCount(ClusterAttributeDescriptor):
@@ -8832,7 +8574,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxErrCcaCount(ClusterAttributeDescriptor):
@@ -8848,7 +8590,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxErrAbortCount(ClusterAttributeDescriptor):
@@ -8864,7 +8606,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxErrBusyChannelCount(ClusterAttributeDescriptor):
@@ -8880,7 +8622,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxTotalCount(ClusterAttributeDescriptor):
@@ -8896,7 +8638,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxUnicastCount(ClusterAttributeDescriptor):
@@ -8912,7 +8654,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxBroadcastCount(ClusterAttributeDescriptor):
@@ -8928,7 +8670,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxDataCount(ClusterAttributeDescriptor):
@@ -8944,7 +8686,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxDataPollCount(ClusterAttributeDescriptor):
@@ -8960,7 +8702,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxBeaconCount(ClusterAttributeDescriptor):
@@ -8976,7 +8718,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxBeaconRequestCount(ClusterAttributeDescriptor):
@@ -8992,7 +8734,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxOtherCount(ClusterAttributeDescriptor):
@@ -9008,7 +8750,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxAddressFilteredCount(ClusterAttributeDescriptor):
@@ -9024,7 +8766,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxDestAddrFilteredCount(ClusterAttributeDescriptor):
@@ -9040,7 +8782,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxDuplicatedCount(ClusterAttributeDescriptor):
@@ -9056,7 +8798,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxErrNoFrameCount(ClusterAttributeDescriptor):
@@ -9072,7 +8814,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxErrUnknownNeighborCount(ClusterAttributeDescriptor):
@@ -9088,7 +8830,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxErrInvalidSrcAddrCount(ClusterAttributeDescriptor):
@@ -9104,7 +8846,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxErrSecCount(ClusterAttributeDescriptor):
@@ -9120,7 +8862,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxErrFcsCount(ClusterAttributeDescriptor):
@@ -9136,7 +8878,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RxErrOtherCount(ClusterAttributeDescriptor):
@@ -9152,7 +8894,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ActiveTimestamp(ClusterAttributeDescriptor):
@@ -9216,7 +8958,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.SecurityPolicy])
 
-            value: 'typing.List[ThreadNetworkDiagnostics.Structs.SecurityPolicy]' = None
+            value: 'typing.List[ThreadNetworkDiagnostics.Structs.SecurityPolicy]' = field(default_factory=lambda: [])
 
         @dataclass
         class ChannelMask(ClusterAttributeDescriptor):
@@ -9232,7 +8974,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bytes)
 
-            value: 'bytes' = None
+            value: 'bytes' = b""
 
         @dataclass
         class OperationalDatasetComponents(ClusterAttributeDescriptor):
@@ -9248,7 +8990,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents])
 
-            value: 'typing.List[ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]' = None
+            value: 'typing.List[ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]' = field(default_factory=lambda: [])
 
         @dataclass
         class ActiveNetworkFaultsList(ClusterAttributeDescriptor):
@@ -9264,7 +9006,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault])
 
-            value: 'typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]' = None
+            value: 'typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]' = field(default_factory=lambda: [])
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -9296,7 +9038,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -9307,12 +9050,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="connectionStatus", Tag=0, Type=ThreadNetworkDiagnostics.Enums.ThreadConnectionStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="connectionStatus", Tag=0, Type=ThreadNetworkDiagnostics.Enums.ThreadConnectionStatus),
                     ])
 
-            connectionStatus: 'ThreadNetworkDiagnostics.Enums.ThreadConnectionStatus' = None
+            connectionStatus: 'ThreadNetworkDiagnostics.Enums.ThreadConnectionStatus' = 0
 
 
 @dataclass
@@ -9346,6 +9088,8 @@
             k80211ac = 0x04
             k80211ax = 0x05
 
+
+
     class Commands:
         @dataclass
         class ResetCounts(ClusterCommand):
@@ -9356,9 +9100,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class Bssid(ClusterAttributeDescriptor):
@@ -9374,7 +9120,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bytes)
 
-            value: 'bytes' = None
+            value: 'bytes' = b""
 
         @dataclass
         class SecurityType(ClusterAttributeDescriptor):
@@ -9390,7 +9136,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class WiFiVersion(ClusterAttributeDescriptor):
@@ -9406,7 +9152,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ChannelNumber(ClusterAttributeDescriptor):
@@ -9422,7 +9168,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Rssi(ClusterAttributeDescriptor):
@@ -9438,7 +9184,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class BeaconLostCount(ClusterAttributeDescriptor):
@@ -9598,7 +9344,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -9609,12 +9356,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="reasonCode", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="reasonCode", Tag=0, Type=uint),
                     ])
 
-            reasonCode: 'uint' = None
+            reasonCode: 'uint' = 0
 
         @dataclass
         class AssociationFailure(ClusterEventDescriptor):
@@ -9624,15 +9370,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="associationFailure", Tag=0, Type=WiFiNetworkDiagnostics.Enums.AssociationFailureCause),
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="associationFailure", Tag=0, Type=WiFiNetworkDiagnostics.Enums.AssociationFailureCause),
+                            ClusterObjectFieldDescriptor(Label="status", Tag=1, Type=uint),
                     ])
 
-            associationFailure: 'WiFiNetworkDiagnostics.Enums.AssociationFailureCause' = None
-            status: 'uint' = None
+            associationFailure: 'WiFiNetworkDiagnostics.Enums.AssociationFailureCause' = 0
+            status: 'uint' = 0
 
         @dataclass
         class ConnectionStatus(ClusterEventDescriptor):
@@ -9642,12 +9386,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="connectionStatus", Tag=0, Type=WiFiNetworkDiagnostics.Enums.WiFiConnectionStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="connectionStatus", Tag=0, Type=WiFiNetworkDiagnostics.Enums.WiFiConnectionStatus),
                     ])
 
-            connectionStatus: 'WiFiNetworkDiagnostics.Enums.WiFiConnectionStatus' = None
+            connectionStatus: 'WiFiNetworkDiagnostics.Enums.WiFiConnectionStatus' = 0
 
 
 @dataclass
@@ -9667,6 +9410,8 @@
             k200g = 0x08
             k400g = 0x09
 
+
+
     class Commands:
         @dataclass
         class ResetCounts(ClusterCommand):
@@ -9677,9 +9422,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class PHYRate(ClusterAttributeDescriptor):
@@ -9727,7 +9474,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class PacketTxCount(ClusterAttributeDescriptor):
@@ -9743,7 +9490,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TxErrCount(ClusterAttributeDescriptor):
@@ -9759,7 +9506,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CollisionCount(ClusterAttributeDescriptor):
@@ -9775,7 +9522,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class OverrunCount(ClusterAttributeDescriptor):
@@ -9791,7 +9538,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CarrierDetect(ClusterAttributeDescriptor):
@@ -9855,13 +9602,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class TimeSynchronization(Cluster):
     id: typing.ClassVar[int] = 0x0038
 
+
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -9893,13 +9644,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class BridgedDeviceBasic(Cluster):
     id: typing.ClassVar[int] = 0x0039
 
+
+
     class Commands:
         @dataclass
         class StartUp(ClusterCommand):
@@ -9910,9 +9664,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ShutDown(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0039
@@ -9922,9 +9677,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class Leave(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0039
@@ -9934,9 +9690,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ReachableChanged(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0039
@@ -9946,9 +9703,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class VendorName(ClusterAttributeDescriptor):
@@ -10172,7 +9931,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class UniqueID(ClusterAttributeDescriptor):
@@ -10220,13 +9979,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class Switch(Cluster):
     id: typing.ClassVar[int] = 0x003B
 
+
+
+
     class Attributes:
         @dataclass
         class NumberOfPositions(ClusterAttributeDescriptor):
@@ -10242,7 +10005,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CurrentPosition(ClusterAttributeDescriptor):
@@ -10258,7 +10021,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class MultiPressMax(ClusterAttributeDescriptor):
@@ -10274,7 +10037,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -10306,7 +10069,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -10317,12 +10081,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="newPosition", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint),
                     ])
 
-            newPosition: 'uint' = None
+            newPosition: 'uint' = 0
 
         @dataclass
         class InitialPress(ClusterEventDescriptor):
@@ -10332,12 +10095,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="newPosition", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint),
                     ])
 
-            newPosition: 'uint' = None
+            newPosition: 'uint' = 0
 
         @dataclass
         class LongPress(ClusterEventDescriptor):
@@ -10347,12 +10109,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="newPosition", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint),
                     ])
 
-            newPosition: 'uint' = None
+            newPosition: 'uint' = 0
 
         @dataclass
         class ShortRelease(ClusterEventDescriptor):
@@ -10362,12 +10123,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="previousPosition", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="previousPosition", Tag=0, Type=uint),
                     ])
 
-            previousPosition: 'uint' = None
+            previousPosition: 'uint' = 0
 
         @dataclass
         class LongRelease(ClusterEventDescriptor):
@@ -10377,12 +10137,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="previousPosition", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="previousPosition", Tag=0, Type=uint),
                     ])
 
-            previousPosition: 'uint' = None
+            previousPosition: 'uint' = 0
 
         @dataclass
         class MultiPressOngoing(ClusterEventDescriptor):
@@ -10392,15 +10151,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="newPosition", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="currentNumberOfPressesCounted", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="currentNumberOfPressesCounted", Tag=1, Type=uint),
                     ])
 
-            newPosition: 'uint' = None
-            currentNumberOfPressesCounted: 'uint' = None
+            newPosition: 'uint' = 0
+            currentNumberOfPressesCounted: 'uint' = 0
 
         @dataclass
         class MultiPressComplete(ClusterEventDescriptor):
@@ -10410,15 +10167,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="newPosition", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="totalNumberOfPressesCounted", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="totalNumberOfPressesCounted", Tag=1, Type=uint),
                     ])
 
-            newPosition: 'uint' = None
-            totalNumberOfPressesCounted: 'uint' = None
+            newPosition: 'uint' = 0
+            totalNumberOfPressesCounted: 'uint' = 0
 
 
 @dataclass
@@ -10431,6 +10186,8 @@
             kPAKEParameterError = 0x02
             kWindowNotOpen = 0x03
 
+
+
     class Commands:
         @dataclass
         class OpenCommissioningWindow(ClusterCommand):
@@ -10441,27 +10198,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="commissioningTimeout", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="PAKEVerifier", Tag=1, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="discriminator", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="iterations", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="salt", Tag=4, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="passcodeID", Tag=5, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="commissioningTimeout", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="PAKEVerifier", Tag=1, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="discriminator", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="iterations", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="salt", Tag=4, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="passcodeID", Tag=5, Type=uint),
                     ])
 
-            commissioningTimeout: 'uint' = None
-            PAKEVerifier: 'bytes' = None
-            discriminator: 'uint' = None
-            iterations: 'uint' = None
-            salt: 'bytes' = None
-            passcodeID: 'uint' = None
+            commissioningTimeout: 'uint' = 0
+            PAKEVerifier: 'bytes' = b""
+            discriminator: 'uint' = 0
+            iterations: 'uint' = 0
+            salt: 'bytes' = b""
+            passcodeID: 'uint' = 0
 
         @dataclass
         class OpenBasicCommissioningWindow(ClusterCommand):
@@ -10472,12 +10223,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="commissioningTimeout", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="commissioningTimeout", Tag=0, Type=uint),
                     ])
 
-            commissioningTimeout: 'uint' = None
+            commissioningTimeout: 'uint' = 0
 
         @dataclass
         class RevokeCommissioning(ClusterCommand):
@@ -10488,9 +10238,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -10522,7 +10274,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -10542,48 +10295,43 @@
             kLabelConflict = 0x0A
             kInvalidFabricIndex = 0x0B
 
+
     class Structs:
         @dataclass
         class FabricDescriptor(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="rootPublicKey", Tag=2, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="vendorId", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricId", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="nodeId", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="label", Tag=6, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="rootPublicKey", Tag=2, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="vendorId", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="fabricId", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="nodeId", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="label", Tag=6, Type=str),
                     ])
 
-            fabricIndex: 'uint' = None
-            rootPublicKey: 'bytes' = None
-            vendorId: 'uint' = None
-            fabricId: 'uint' = None
-            nodeId: 'uint' = None
-            label: 'str' = None
+            fabricIndex: 'uint' = 0
+            rootPublicKey: 'bytes' = b""
+            vendorId: 'uint' = 0
+            fabricId: 'uint' = 0
+            nodeId: 'uint' = 0
+            label: 'str' = ""
 
         @dataclass
         class NOCStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="noc", Tag=2, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="noc", Tag=2, Type=bytes),
                     ])
 
-            fabricIndex: 'uint' = None
-            noc: 'bytes' = None
+            fabricIndex: 'uint' = 0
+            noc: 'bytes' = b""
+
+
 
     class Commands:
         @dataclass
@@ -10595,12 +10343,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="attestationNonce", Tag=0, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="attestationNonce", Tag=0, Type=bytes),
                     ])
 
-            attestationNonce: 'bytes' = None
+            attestationNonce: 'bytes' = b""
 
         @dataclass
         class AttestationResponse(ClusterCommand):
@@ -10611,15 +10358,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="attestationElements", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="signature", Tag=1, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="attestationElements", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="signature", Tag=1, Type=bytes),
                     ])
 
-            attestationElements: 'bytes' = None
-            signature: 'bytes' = None
+            attestationElements: 'bytes' = b""
+            signature: 'bytes' = b""
 
         @dataclass
         class CertificateChainRequest(ClusterCommand):
@@ -10630,12 +10375,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="certificateType", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="certificateType", Tag=0, Type=uint),
                     ])
 
-            certificateType: 'uint' = None
+            certificateType: 'uint' = 0
 
         @dataclass
         class CertificateChainResponse(ClusterCommand):
@@ -10646,12 +10390,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="certificate", Tag=0, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="certificate", Tag=0, Type=bytes),
                     ])
 
-            certificate: 'bytes' = None
+            certificate: 'bytes' = b""
 
         @dataclass
         class OpCSRRequest(ClusterCommand):
@@ -10662,12 +10405,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="CSRNonce", Tag=0, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="CSRNonce", Tag=0, Type=bytes),
                     ])
 
-            CSRNonce: 'bytes' = None
+            CSRNonce: 'bytes' = b""
 
         @dataclass
         class OpCSRResponse(ClusterCommand):
@@ -10678,15 +10420,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="NOCSRElements", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="attestationSignature", Tag=1, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="NOCSRElements", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="attestationSignature", Tag=1, Type=bytes),
                     ])
 
-            NOCSRElements: 'bytes' = None
-            attestationSignature: 'bytes' = None
+            NOCSRElements: 'bytes' = b""
+            attestationSignature: 'bytes' = b""
 
         @dataclass
         class AddNOC(ClusterCommand):
@@ -10697,24 +10437,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="NOCValue", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="ICACValue", Tag=1, Type=typing.Optional[bytes]),
-                        ClusterObjectFieldDescriptor(
-                            Label="IPKValue", Tag=2, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="caseAdminNode", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="adminVendorId", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="NOCValue", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="ICACValue", Tag=1, Type=typing.Optional[bytes]),
+                            ClusterObjectFieldDescriptor(Label="IPKValue", Tag=2, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="caseAdminNode", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="adminVendorId", Tag=4, Type=uint),
                     ])
 
-            NOCValue: 'bytes' = None
+            NOCValue: 'bytes' = b""
             ICACValue: 'typing.Optional[bytes]' = None
-            IPKValue: 'bytes' = None
-            caseAdminNode: 'uint' = None
-            adminVendorId: 'uint' = None
+            IPKValue: 'bytes' = b""
+            caseAdminNode: 'uint' = 0
+            adminVendorId: 'uint' = 0
 
         @dataclass
         class UpdateNOC(ClusterCommand):
@@ -10725,14 +10460,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="NOCValue", Tag=0, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="ICACValue", Tag=1, Type=typing.Optional[bytes]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="NOCValue", Tag=0, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="ICACValue", Tag=1, Type=typing.Optional[bytes]),
                     ])
 
-            NOCValue: 'bytes' = None
+            NOCValue: 'bytes' = b""
             ICACValue: 'typing.Optional[bytes]' = None
 
         @dataclass
@@ -10744,18 +10477,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="statusCode", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="debugText", Tag=2, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="statusCode", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="debugText", Tag=2, Type=str),
                     ])
 
-            statusCode: 'uint' = None
-            fabricIndex: 'uint' = None
-            debugText: 'str' = None
+            statusCode: 'uint' = 0
+            fabricIndex: 'uint' = 0
+            debugText: 'str' = ""
 
         @dataclass
         class UpdateFabricLabel(ClusterCommand):
@@ -10766,12 +10496,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="label", Tag=0, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="label", Tag=0, Type=str),
                     ])
 
-            label: 'str' = None
+            label: 'str' = ""
 
         @dataclass
         class RemoveFabric(ClusterCommand):
@@ -10782,12 +10511,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=0, Type=uint),
                     ])
 
-            fabricIndex: 'uint' = None
+            fabricIndex: 'uint' = 0
 
         @dataclass
         class AddTrustedRootCertificate(ClusterCommand):
@@ -10798,12 +10526,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="rootCertificate", Tag=0, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="rootCertificate", Tag=0, Type=bytes),
                     ])
 
-            rootCertificate: 'bytes' = None
+            rootCertificate: 'bytes' = b""
 
         @dataclass
         class RemoveTrustedRootCertificate(ClusterCommand):
@@ -10814,12 +10541,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="trustedRootIdentifier", Tag=0, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="trustedRootIdentifier", Tag=0, Type=bytes),
                     ])
 
-            trustedRootIdentifier: 'bytes' = None
+            trustedRootIdentifier: 'bytes' = b""
+
 
     class Attributes:
         @dataclass
@@ -10836,7 +10563,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[OperationalCredentials.Structs.FabricDescriptor])
 
-            value: 'typing.List[OperationalCredentials.Structs.FabricDescriptor]' = None
+            value: 'typing.List[OperationalCredentials.Structs.FabricDescriptor]' = field(default_factory=lambda: [])
 
         @dataclass
         class SupportedFabrics(ClusterAttributeDescriptor):
@@ -10852,7 +10579,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CommissionedFabrics(ClusterAttributeDescriptor):
@@ -10868,7 +10595,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TrustedRootCertificates(ClusterAttributeDescriptor):
@@ -10884,7 +10611,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[bytes])
 
-            value: 'typing.List[bytes]' = None
+            value: 'typing.List[bytes]' = field(default_factory=lambda: [])
 
         @dataclass
         class CurrentFabricIndex(ClusterAttributeDescriptor):
@@ -10900,7 +10627,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -10932,7 +10659,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -10944,48 +10672,44 @@
             kStandard = 0x00
             kLowLatency = 0x01
 
+
     class Structs:
         @dataclass
         class GroupKey(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="vendorId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupKeyIndex", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupKeyRoot", Tag=3, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupKeyEpochStartTime", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupKeySecurityPolicy", Tag=5, Type=GroupKeyManagement.Enums.GroupKeySecurityPolicy),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="vendorId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupKeyIndex", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupKeyRoot", Tag=3, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="groupKeyEpochStartTime", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupKeySecurityPolicy", Tag=5, Type=GroupKeyManagement.Enums.GroupKeySecurityPolicy),
                     ])
 
-            vendorId: 'uint' = None
-            groupKeyIndex: 'uint' = None
-            groupKeyRoot: 'bytes' = None
-            groupKeyEpochStartTime: 'uint' = None
-            groupKeySecurityPolicy: 'GroupKeyManagement.Enums.GroupKeySecurityPolicy' = None
+            vendorId: 'uint' = 0
+            groupKeyIndex: 'uint' = 0
+            groupKeyRoot: 'bytes' = b""
+            groupKeyEpochStartTime: 'uint' = 0
+            groupKeySecurityPolicy: 'GroupKeyManagement.Enums.GroupKeySecurityPolicy' = 0
 
         @dataclass
         class GroupState(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="vendorId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="vendorGroupId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="groupKeySetIndex", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="vendorId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="vendorGroupId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="groupKeySetIndex", Tag=3, Type=uint),
                     ])
 
-            vendorId: 'uint' = None
-            vendorGroupId: 'uint' = None
-            groupKeySetIndex: 'uint' = None
+            vendorId: 'uint' = 0
+            vendorGroupId: 'uint' = 0
+            groupKeySetIndex: 'uint' = 0
+
+
+
 
     class Attributes:
         @dataclass
@@ -11002,7 +10726,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[GroupKeyManagement.Structs.GroupState])
 
-            value: 'typing.List[GroupKeyManagement.Structs.GroupState]' = None
+            value: 'typing.List[GroupKeyManagement.Structs.GroupState]' = field(default_factory=lambda: [])
 
         @dataclass
         class GroupKeys(ClusterAttributeDescriptor):
@@ -11018,7 +10742,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[GroupKeyManagement.Structs.GroupKey])
 
-            value: 'typing.List[GroupKeyManagement.Structs.GroupKey]' = None
+            value: 'typing.List[GroupKeyManagement.Structs.GroupKey]' = field(default_factory=lambda: [])
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -11050,28 +10774,31 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class FixedLabel(Cluster):
     id: typing.ClassVar[int] = 0x0040
 
+
     class Structs:
         @dataclass
         class LabelStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="label", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="value", Tag=2, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="label", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="value", Tag=2, Type=str),
                     ])
 
-            label: 'str' = None
-            value: 'str' = None
+            label: 'str' = ""
+            value: 'str' = ""
+
+
+
 
     class Attributes:
         @dataclass
@@ -11088,7 +10815,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[FixedLabel.Structs.LabelStruct])
 
-            value: 'typing.List[FixedLabel.Structs.LabelStruct]' = None
+            value: 'typing.List[FixedLabel.Structs.LabelStruct]' = field(default_factory=lambda: [])
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -11120,28 +10847,31 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class UserLabel(Cluster):
     id: typing.ClassVar[int] = 0x0041
 
+
     class Structs:
         @dataclass
         class LabelStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="label", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="value", Tag=2, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="label", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="value", Tag=2, Type=str),
                     ])
 
-            label: 'str' = None
-            value: 'str' = None
+            label: 'str' = ""
+            value: 'str' = ""
+
+
+
 
     class Attributes:
         @dataclass
@@ -11158,7 +10888,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[UserLabel.Structs.LabelStruct])
 
-            value: 'typing.List[UserLabel.Structs.LabelStruct]' = None
+            value: 'typing.List[UserLabel.Structs.LabelStruct]' = field(default_factory=lambda: [])
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -11190,13 +10920,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ProxyConfiguration(Cluster):
     id: typing.ClassVar[int] = 0x0042
 
+
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -11228,13 +10962,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ProxyDiscovery(Cluster):
     id: typing.ClassVar[int] = 0x0043
 
+
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -11266,13 +11004,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ProxyValid(Cluster):
     id: typing.ClassVar[int] = 0x0044
 
+
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -11304,13 +11046,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class BooleanState(Cluster):
     id: typing.ClassVar[int] = 0x0045
 
+
+
+
     class Attributes:
         @dataclass
         class StateValue(ClusterAttributeDescriptor):
@@ -11326,7 +11072,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -11358,7 +11104,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -11369,51 +11116,48 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="stateValue", Tag=0, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="stateValue", Tag=0, Type=bool),
                     ])
 
-            stateValue: 'bool' = None
+            stateValue: 'bool' = False
 
 
 @dataclass
 class ModeSelect(Cluster):
     id: typing.ClassVar[int] = 0x0050
 
+
     class Structs:
         @dataclass
         class ModeOptionStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="label", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="mode", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="semanticTag", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="label", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="mode", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="semanticTag", Tag=3, Type=uint),
                     ])
 
-            label: 'str' = None
-            mode: 'uint' = None
-            semanticTag: 'uint' = None
+            label: 'str' = ""
+            mode: 'uint' = 0
+            semanticTag: 'uint' = 0
 
         @dataclass
         class SemanticTag(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mfgCode", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="value", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mfgCode", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="value", Tag=2, Type=uint),
                     ])
 
-            mfgCode: 'uint' = None
-            value: 'uint' = None
+            mfgCode: 'uint' = 0
+            value: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -11425,12 +11169,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="newMode", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="newMode", Tag=0, Type=uint),
                     ])
 
-            newMode: 'uint' = None
+            newMode: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -11447,7 +11191,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class SupportedModes(ClusterAttributeDescriptor):
@@ -11463,7 +11207,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[ModeSelect.Structs.ModeOptionStruct])
 
-            value: 'typing.List[ModeSelect.Structs.ModeOptionStruct]' = None
+            value: 'typing.List[ModeSelect.Structs.ModeOptionStruct]' = field(default_factory=lambda: [])
 
         @dataclass
         class OnMode(ClusterAttributeDescriptor):
@@ -11495,7 +11239,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Description(ClusterAttributeDescriptor):
@@ -11511,7 +11255,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -11543,13 +11287,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ShadeConfiguration(Cluster):
     id: typing.ClassVar[int] = 0x0100
 
+
+
+
     class Attributes:
         @dataclass
         class PhysicalClosedLimit(ClusterAttributeDescriptor):
@@ -11597,7 +11345,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ClosedLimit(ClusterAttributeDescriptor):
@@ -11613,7 +11361,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Mode(ClusterAttributeDescriptor):
@@ -11629,7 +11377,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -11661,7 +11409,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -11841,21 +11590,22 @@
             kNonAccessUser = 0x04
             kNotSupported = 0xFF
 
+
     class Structs:
         @dataclass
         class DlCredential(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="credentialType", Tag=1, Type=DoorLock.Enums.DlCredentialType),
-                        ClusterObjectFieldDescriptor(
-                            Label="credentialIndex", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="credentialType", Tag=1, Type=DoorLock.Enums.DlCredentialType),
+                            ClusterObjectFieldDescriptor(Label="credentialIndex", Tag=2, Type=uint),
                     ])
 
-            credentialType: 'DoorLock.Enums.DlCredentialType' = None
-            credentialIndex: 'uint' = None
+            credentialType: 'DoorLock.Enums.DlCredentialType' = 0
+            credentialIndex: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -11867,9 +11617,8 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="pinCode", Tag=0, Type=typing.Optional[bytes]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="pinCode", Tag=0, Type=typing.Optional[bytes]),
                     ])
 
             pinCode: 'typing.Optional[bytes]' = None
@@ -11883,9 +11632,8 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="pinCode", Tag=0, Type=typing.Optional[bytes]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="pinCode", Tag=0, Type=typing.Optional[bytes]),
                     ])
 
             pinCode: 'typing.Optional[bytes]' = None
@@ -11899,14 +11647,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="timeout", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="pinCode", Tag=1, Type=typing.Optional[bytes]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="timeout", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="pinCode", Tag=1, Type=typing.Optional[bytes]),
                     ])
 
-            timeout: 'uint' = None
+            timeout: 'uint' = 0
             pinCode: 'typing.Optional[bytes]' = None
 
         @dataclass
@@ -11918,12 +11664,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="logIndex", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="logIndex", Tag=0, Type=uint),
                     ])
 
-            logIndex: 'uint' = None
+            logIndex: 'uint' = 0
 
         @dataclass
         class GetLogRecordResponse(ClusterCommand):
@@ -11934,30 +11679,23 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="logEntryId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="timestamp", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="eventType", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="source", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="eventIdOrAlarmCode", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="pin", Tag=6, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="logEntryId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="timestamp", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="eventType", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="source", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="eventIdOrAlarmCode", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="pin", Tag=6, Type=bytes),
                     ])
 
-            logEntryId: 'uint' = None
-            timestamp: 'uint' = None
-            eventType: 'uint' = None
-            source: 'uint' = None
-            eventIdOrAlarmCode: 'uint' = None
-            userId: 'uint' = None
-            pin: 'bytes' = None
+            logEntryId: 'uint' = 0
+            timestamp: 'uint' = 0
+            eventType: 'uint' = 0
+            source: 'uint' = 0
+            eventIdOrAlarmCode: 'uint' = 0
+            userId: 'uint' = 0
+            pin: 'bytes' = b""
 
         @dataclass
         class SetPINCode(ClusterCommand):
@@ -11968,21 +11706,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=1, Type=DoorLock.Enums.DlUserStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="userType", Tag=2, Type=DoorLock.Enums.DlUserType),
-                        ClusterObjectFieldDescriptor(
-                            Label="pin", Tag=3, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=1, Type=DoorLock.Enums.DlUserStatus),
+                            ClusterObjectFieldDescriptor(Label="userType", Tag=2, Type=DoorLock.Enums.DlUserType),
+                            ClusterObjectFieldDescriptor(Label="pin", Tag=3, Type=bytes),
                     ])
 
-            userId: 'uint' = None
-            userStatus: 'DoorLock.Enums.DlUserStatus' = None
-            userType: 'DoorLock.Enums.DlUserType' = None
-            pin: 'bytes' = None
+            userId: 'uint' = 0
+            userStatus: 'DoorLock.Enums.DlUserStatus' = 0
+            userType: 'DoorLock.Enums.DlUserType' = 0
+            pin: 'bytes' = b""
 
         @dataclass
         class GetPINCode(ClusterCommand):
@@ -11993,12 +11727,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
                     ])
 
-            userId: 'uint' = None
+            userId: 'uint' = 0
 
         @dataclass
         class GetPINCodeResponse(ClusterCommand):
@@ -12009,21 +11742,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=1, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]),
-                        ClusterObjectFieldDescriptor(
-                            Label="userType", Tag=2, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]),
-                        ClusterObjectFieldDescriptor(
-                            Label="pin", Tag=3, Type=typing.Union[Nullable, bytes]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=1, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]),
+                            ClusterObjectFieldDescriptor(Label="userType", Tag=2, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]),
+                            ClusterObjectFieldDescriptor(Label="pin", Tag=3, Type=typing.Union[Nullable, bytes]),
                     ])
 
-            userId: 'uint' = None
-            userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = None
-            userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = None
-            pin: 'typing.Union[Nullable, bytes]' = None
+            userId: 'uint' = 0
+            userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue
+            userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = NullValue
+            pin: 'typing.Union[Nullable, bytes]' = NullValue
 
         @dataclass
         class ClearPINCode(ClusterCommand):
@@ -12034,12 +11763,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="pinSlotIndex", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="pinSlotIndex", Tag=0, Type=uint),
                     ])
 
-            pinSlotIndex: 'uint' = None
+            pinSlotIndex: 'uint' = 0
 
         @dataclass
         class ClearAllPINCodes(ClusterCommand):
@@ -12050,9 +11778,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class SetUserStatus(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0101
@@ -12062,15 +11791,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=1, Type=DoorLock.Enums.DlUserStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=1, Type=DoorLock.Enums.DlUserStatus),
                     ])
 
-            userId: 'uint' = None
-            userStatus: 'DoorLock.Enums.DlUserStatus' = None
+            userId: 'uint' = 0
+            userStatus: 'DoorLock.Enums.DlUserStatus' = 0
 
         @dataclass
         class GetUserStatus(ClusterCommand):
@@ -12081,12 +11808,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
                     ])
 
-            userId: 'uint' = None
+            userId: 'uint' = 0
 
         @dataclass
         class GetUserStatusResponse(ClusterCommand):
@@ -12097,15 +11823,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=1, Type=DoorLock.Enums.DlUserStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=1, Type=DoorLock.Enums.DlUserStatus),
                     ])
 
-            userId: 'uint' = None
-            userStatus: 'DoorLock.Enums.DlUserStatus' = None
+            userId: 'uint' = 0
+            userStatus: 'DoorLock.Enums.DlUserStatus' = 0
 
         @dataclass
         class SetWeekDaySchedule(ClusterCommand):
@@ -12116,30 +11840,23 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="weekDayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="daysMask", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startHour", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startMinute", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="endHour", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="endMinute", Tag=6, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="daysMask", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startHour", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startMinute", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="endHour", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="endMinute", Tag=6, Type=uint),
                     ])
 
-            weekDayIndex: 'uint' = None
-            userIndex: 'uint' = None
-            daysMask: 'uint' = None
-            startHour: 'uint' = None
-            startMinute: 'uint' = None
-            endHour: 'uint' = None
-            endMinute: 'uint' = None
+            weekDayIndex: 'uint' = 0
+            userIndex: 'uint' = 0
+            daysMask: 'uint' = 0
+            startHour: 'uint' = 0
+            startMinute: 'uint' = 0
+            endHour: 'uint' = 0
+            endMinute: 'uint' = 0
 
         @dataclass
         class GetWeekDaySchedule(ClusterCommand):
@@ -12150,15 +11867,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="weekDayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint),
                     ])
 
-            weekDayIndex: 'uint' = None
-            userIndex: 'uint' = None
+            weekDayIndex: 'uint' = 0
+            userIndex: 'uint' = 0
 
         @dataclass
         class GetWeekDayScheduleResponse(ClusterCommand):
@@ -12169,33 +11884,25 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="weekDayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=2, Type=DoorLock.Enums.DlStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="daysMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startHour", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startMinute", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="endHour", Tag=6, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="endMinute", Tag=7, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="status", Tag=2, Type=DoorLock.Enums.DlStatus),
+                            ClusterObjectFieldDescriptor(Label="daysMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startHour", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startMinute", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="endHour", Tag=6, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="endMinute", Tag=7, Type=uint),
                     ])
 
-            weekDayIndex: 'uint' = None
-            userIndex: 'uint' = None
-            status: 'DoorLock.Enums.DlStatus' = None
-            daysMask: 'uint' = None
-            startHour: 'uint' = None
-            startMinute: 'uint' = None
-            endHour: 'uint' = None
-            endMinute: 'uint' = None
+            weekDayIndex: 'uint' = 0
+            userIndex: 'uint' = 0
+            status: 'DoorLock.Enums.DlStatus' = 0
+            daysMask: 'uint' = 0
+            startHour: 'uint' = 0
+            startMinute: 'uint' = 0
+            endHour: 'uint' = 0
+            endMinute: 'uint' = 0
 
         @dataclass
         class ClearWeekDaySchedule(ClusterCommand):
@@ -12206,15 +11913,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="weekDayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint),
                     ])
 
-            weekDayIndex: 'uint' = None
-            userIndex: 'uint' = None
+            weekDayIndex: 'uint' = 0
+            userIndex: 'uint' = 0
 
         @dataclass
         class SetYearDaySchedule(ClusterCommand):
@@ -12225,21 +11930,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="yearDayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="localStartTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="localEndTime", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="localStartTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="localEndTime", Tag=3, Type=uint),
                     ])
 
-            yearDayIndex: 'uint' = None
-            userIndex: 'uint' = None
-            localStartTime: 'uint' = None
-            localEndTime: 'uint' = None
+            yearDayIndex: 'uint' = 0
+            userIndex: 'uint' = 0
+            localStartTime: 'uint' = 0
+            localEndTime: 'uint' = 0
 
         @dataclass
         class GetYearDaySchedule(ClusterCommand):
@@ -12250,15 +11951,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="yearDayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint),
                     ])
 
-            yearDayIndex: 'uint' = None
-            userIndex: 'uint' = None
+            yearDayIndex: 'uint' = 0
+            userIndex: 'uint' = 0
 
         @dataclass
         class GetYearDayScheduleResponse(ClusterCommand):
@@ -12269,24 +11968,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="yearDayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=2, Type=DoorLock.Enums.DlStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="localStartTime", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="localEndTime", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="status", Tag=2, Type=DoorLock.Enums.DlStatus),
+                            ClusterObjectFieldDescriptor(Label="localStartTime", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="localEndTime", Tag=4, Type=uint),
                     ])
 
-            yearDayIndex: 'uint' = None
-            userIndex: 'uint' = None
-            status: 'DoorLock.Enums.DlStatus' = None
-            localStartTime: 'uint' = None
-            localEndTime: 'uint' = None
+            yearDayIndex: 'uint' = 0
+            userIndex: 'uint' = 0
+            status: 'DoorLock.Enums.DlStatus' = 0
+            localStartTime: 'uint' = 0
+            localEndTime: 'uint' = 0
 
         @dataclass
         class ClearYearDaySchedule(ClusterCommand):
@@ -12297,15 +11991,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="yearDayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint),
                     ])
 
-            yearDayIndex: 'uint' = None
-            userIndex: 'uint' = None
+            yearDayIndex: 'uint' = 0
+            userIndex: 'uint' = 0
 
         @dataclass
         class SetHolidaySchedule(ClusterCommand):
@@ -12316,21 +12008,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="holidayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="localStartTime", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="localEndTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="operatingMode", Tag=3, Type=DoorLock.Enums.DlOperatingMode),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="localStartTime", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="localEndTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="operatingMode", Tag=3, Type=DoorLock.Enums.DlOperatingMode),
                     ])
 
-            holidayIndex: 'uint' = None
-            localStartTime: 'uint' = None
-            localEndTime: 'uint' = None
-            operatingMode: 'DoorLock.Enums.DlOperatingMode' = None
+            holidayIndex: 'uint' = 0
+            localStartTime: 'uint' = 0
+            localEndTime: 'uint' = 0
+            operatingMode: 'DoorLock.Enums.DlOperatingMode' = 0
 
         @dataclass
         class GetHolidaySchedule(ClusterCommand):
@@ -12341,12 +12029,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="holidayIndex", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint),
                     ])
 
-            holidayIndex: 'uint' = None
+            holidayIndex: 'uint' = 0
 
         @dataclass
         class GetHolidayScheduleResponse(ClusterCommand):
@@ -12357,24 +12044,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="holidayIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=1, Type=DoorLock.Enums.DlStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="localStartTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="localEndTime", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="operatingMode", Tag=4, Type=DoorLock.Enums.DlOperatingMode),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="status", Tag=1, Type=DoorLock.Enums.DlStatus),
+                            ClusterObjectFieldDescriptor(Label="localStartTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="localEndTime", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="operatingMode", Tag=4, Type=DoorLock.Enums.DlOperatingMode),
                     ])
 
-            holidayIndex: 'uint' = None
-            status: 'DoorLock.Enums.DlStatus' = None
-            localStartTime: 'uint' = None
-            localEndTime: 'uint' = None
-            operatingMode: 'DoorLock.Enums.DlOperatingMode' = None
+            holidayIndex: 'uint' = 0
+            status: 'DoorLock.Enums.DlStatus' = 0
+            localStartTime: 'uint' = 0
+            localEndTime: 'uint' = 0
+            operatingMode: 'DoorLock.Enums.DlOperatingMode' = 0
 
         @dataclass
         class ClearHolidaySchedule(ClusterCommand):
@@ -12385,12 +12067,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="holidayIndex", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint),
                     ])
 
-            holidayIndex: 'uint' = None
+            holidayIndex: 'uint' = 0
 
         @dataclass
         class SetUserType(ClusterCommand):
@@ -12401,15 +12082,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userType", Tag=1, Type=DoorLock.Enums.DlUserType),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userType", Tag=1, Type=DoorLock.Enums.DlUserType),
                     ])
 
-            userId: 'uint' = None
-            userType: 'DoorLock.Enums.DlUserType' = None
+            userId: 'uint' = 0
+            userType: 'DoorLock.Enums.DlUserType' = 0
 
         @dataclass
         class GetUserType(ClusterCommand):
@@ -12420,12 +12099,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
                     ])
 
-            userId: 'uint' = None
+            userId: 'uint' = 0
 
         @dataclass
         class GetUserTypeResponse(ClusterCommand):
@@ -12436,15 +12114,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userType", Tag=1, Type=DoorLock.Enums.DlUserType),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userType", Tag=1, Type=DoorLock.Enums.DlUserType),
                     ])
 
-            userId: 'uint' = None
-            userType: 'DoorLock.Enums.DlUserType' = None
+            userId: 'uint' = 0
+            userType: 'DoorLock.Enums.DlUserType' = 0
 
         @dataclass
         class SetRFIDCode(ClusterCommand):
@@ -12455,21 +12131,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=1, Type=DoorLock.Enums.DlUserStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="userType", Tag=2, Type=DoorLock.Enums.DlUserType),
-                        ClusterObjectFieldDescriptor(
-                            Label="rfidCode", Tag=3, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=1, Type=DoorLock.Enums.DlUserStatus),
+                            ClusterObjectFieldDescriptor(Label="userType", Tag=2, Type=DoorLock.Enums.DlUserType),
+                            ClusterObjectFieldDescriptor(Label="rfidCode", Tag=3, Type=bytes),
                     ])
 
-            userId: 'uint' = None
-            userStatus: 'DoorLock.Enums.DlUserStatus' = None
-            userType: 'DoorLock.Enums.DlUserType' = None
-            rfidCode: 'bytes' = None
+            userId: 'uint' = 0
+            userStatus: 'DoorLock.Enums.DlUserStatus' = 0
+            userType: 'DoorLock.Enums.DlUserType' = 0
+            rfidCode: 'bytes' = b""
 
         @dataclass
         class GetRFIDCode(ClusterCommand):
@@ -12480,12 +12152,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
                     ])
 
-            userId: 'uint' = None
+            userId: 'uint' = 0
 
         @dataclass
         class GetRFIDCodeResponse(ClusterCommand):
@@ -12496,21 +12167,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=1, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]),
-                        ClusterObjectFieldDescriptor(
-                            Label="userType", Tag=2, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]),
-                        ClusterObjectFieldDescriptor(
-                            Label="rfidCode", Tag=3, Type=typing.Union[Nullable, bytes]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=1, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]),
+                            ClusterObjectFieldDescriptor(Label="userType", Tag=2, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]),
+                            ClusterObjectFieldDescriptor(Label="rfidCode", Tag=3, Type=typing.Union[Nullable, bytes]),
                     ])
 
-            userId: 'uint' = None
-            userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = None
-            userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = None
-            rfidCode: 'typing.Union[Nullable, bytes]' = None
+            userId: 'uint' = 0
+            userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue
+            userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = NullValue
+            rfidCode: 'typing.Union[Nullable, bytes]' = NullValue
 
         @dataclass
         class ClearRFIDCode(ClusterCommand):
@@ -12521,12 +12188,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="rfidSlotIndex", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="rfidSlotIndex", Tag=0, Type=uint),
                     ])
 
-            rfidSlotIndex: 'uint' = None
+            rfidSlotIndex: 'uint' = 0
 
         @dataclass
         class ClearAllRFIDCodes(ClusterCommand):
@@ -12537,9 +12203,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class SetUser(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0101
@@ -12549,30 +12216,23 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="operationType", Tag=0, Type=DoorLock.Enums.DlDataOperationType),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userName", Tag=2, Type=typing.Union[Nullable, str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="userUniqueId", Tag=3, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=4, Type=DoorLock.Enums.DlUserStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="userType", Tag=5, Type=DoorLock.Enums.DlUserType),
-                        ClusterObjectFieldDescriptor(
-                            Label="credentialRule", Tag=6, Type=typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="operationType", Tag=0, Type=DoorLock.Enums.DlDataOperationType),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userName", Tag=2, Type=typing.Union[Nullable, str]),
+                            ClusterObjectFieldDescriptor(Label="userUniqueId", Tag=3, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=4, Type=DoorLock.Enums.DlUserStatus),
+                            ClusterObjectFieldDescriptor(Label="userType", Tag=5, Type=DoorLock.Enums.DlUserType),
+                            ClusterObjectFieldDescriptor(Label="credentialRule", Tag=6, Type=typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]),
                     ])
 
-            operationType: 'DoorLock.Enums.DlDataOperationType' = None
-            userIndex: 'uint' = None
-            userName: 'typing.Union[Nullable, str]' = None
-            userUniqueId: 'typing.Union[Nullable, uint]' = None
-            userStatus: 'DoorLock.Enums.DlUserStatus' = None
-            userType: 'DoorLock.Enums.DlUserType' = None
-            credentialRule: 'typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]' = None
+            operationType: 'DoorLock.Enums.DlDataOperationType' = 0
+            userIndex: 'uint' = 0
+            userName: 'typing.Union[Nullable, str]' = NullValue
+            userUniqueId: 'typing.Union[Nullable, uint]' = NullValue
+            userStatus: 'DoorLock.Enums.DlUserStatus' = 0
+            userType: 'DoorLock.Enums.DlUserType' = 0
+            credentialRule: 'typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]' = NullValue
 
         @dataclass
         class GetUser(ClusterCommand):
@@ -12583,12 +12243,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=0, Type=uint),
                     ])
 
-            userIndex: 'uint' = None
+            userIndex: 'uint' = 0
 
         @dataclass
         class GetUserResponse(ClusterCommand):
@@ -12599,39 +12258,29 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userName", Tag=1, Type=typing.Union[Nullable, str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="userUniqueId", Tag=2, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=3, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]),
-                        ClusterObjectFieldDescriptor(
-                            Label="userType", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]),
-                        ClusterObjectFieldDescriptor(
-                            Label="credentialRule", Tag=5, Type=typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]),
-                        ClusterObjectFieldDescriptor(
-                            Label="credentials", Tag=6, Type=typing.Union[Nullable, typing.List[DoorLock.Structs.DlCredential]]),
-                        ClusterObjectFieldDescriptor(
-                            Label="creatorFabricIndex", Tag=7, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="lastModifiedFabricIndex", Tag=8, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nextUserIndex", Tag=9, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userName", Tag=1, Type=typing.Union[Nullable, str]),
+                            ClusterObjectFieldDescriptor(Label="userUniqueId", Tag=2, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=3, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]),
+                            ClusterObjectFieldDescriptor(Label="userType", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]),
+                            ClusterObjectFieldDescriptor(Label="credentialRule", Tag=5, Type=typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]),
+                            ClusterObjectFieldDescriptor(Label="credentials", Tag=6, Type=typing.Union[Nullable, typing.List[DoorLock.Structs.DlCredential]]),
+                            ClusterObjectFieldDescriptor(Label="creatorFabricIndex", Tag=7, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="lastModifiedFabricIndex", Tag=8, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="nextUserIndex", Tag=9, Type=uint),
                     ])
 
-            userIndex: 'uint' = None
-            userName: 'typing.Union[Nullable, str]' = None
-            userUniqueId: 'typing.Union[Nullable, uint]' = None
-            userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = None
-            userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = None
-            credentialRule: 'typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]' = None
-            credentials: 'typing.Union[Nullable, typing.List[DoorLock.Structs.DlCredential]]' = None
-            creatorFabricIndex: 'typing.Union[Nullable, uint]' = None
-            lastModifiedFabricIndex: 'typing.Union[Nullable, uint]' = None
-            nextUserIndex: 'uint' = None
+            userIndex: 'uint' = 0
+            userName: 'typing.Union[Nullable, str]' = NullValue
+            userUniqueId: 'typing.Union[Nullable, uint]' = NullValue
+            userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue
+            userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = NullValue
+            credentialRule: 'typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]' = NullValue
+            credentials: 'typing.Union[Nullable, typing.List[DoorLock.Structs.DlCredential]]' = NullValue
+            creatorFabricIndex: 'typing.Union[Nullable, uint]' = NullValue
+            lastModifiedFabricIndex: 'typing.Union[Nullable, uint]' = NullValue
+            nextUserIndex: 'uint' = 0
 
         @dataclass
         class ClearUser(ClusterCommand):
@@ -12642,12 +12291,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=0, Type=uint),
                     ])
 
-            userIndex: 'uint' = None
+            userIndex: 'uint' = 0
 
         @dataclass
         class OperatingEventNotification(ClusterCommand):
@@ -12658,26 +12306,20 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="operationEventSource", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="operationEventCode", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="pin", Tag=3, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="localTime", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=5, Type=typing.Optional[str]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="operationEventSource", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="operationEventCode", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="pin", Tag=3, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="localTime", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="data", Tag=5, Type=typing.Optional[str]),
                     ])
 
-            operationEventSource: 'uint' = None
-            operationEventCode: 'uint' = None
-            userId: 'uint' = None
-            pin: 'bytes' = None
-            localTime: 'uint' = None
+            operationEventSource: 'uint' = 0
+            operationEventCode: 'uint' = 0
+            userId: 'uint' = 0
+            pin: 'bytes' = b""
+            localTime: 'uint' = 0
             data: 'typing.Optional[str]' = None
 
         @dataclass
@@ -12689,32 +12331,24 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="programEventSource", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="programEventCode", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="userId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="pin", Tag=3, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="userType", Tag=4, Type=DoorLock.Enums.DlUserType),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=5, Type=DoorLock.Enums.DlUserStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="localTime", Tag=6, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=7, Type=typing.Optional[str]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="programEventSource", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="programEventCode", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="userId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="pin", Tag=3, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="userType", Tag=4, Type=DoorLock.Enums.DlUserType),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=5, Type=DoorLock.Enums.DlUserStatus),
+                            ClusterObjectFieldDescriptor(Label="localTime", Tag=6, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="data", Tag=7, Type=typing.Optional[str]),
                     ])
 
-            programEventSource: 'uint' = None
-            programEventCode: 'uint' = None
-            userId: 'uint' = None
-            pin: 'bytes' = None
-            userType: 'DoorLock.Enums.DlUserType' = None
-            userStatus: 'DoorLock.Enums.DlUserStatus' = None
-            localTime: 'uint' = None
+            programEventSource: 'uint' = 0
+            programEventCode: 'uint' = 0
+            userId: 'uint' = 0
+            pin: 'bytes' = b""
+            userType: 'DoorLock.Enums.DlUserType' = 0
+            userStatus: 'DoorLock.Enums.DlUserStatus' = 0
+            localTime: 'uint' = 0
             data: 'typing.Optional[str]' = None
 
         @dataclass
@@ -12726,24 +12360,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="operationType", Tag=0, Type=DoorLock.Enums.DlDataOperationType),
-                        ClusterObjectFieldDescriptor(
-                            Label="credential", Tag=1, Type=DoorLock.Structs.DlCredential),
-                        ClusterObjectFieldDescriptor(
-                            Label="credentialData", Tag=2, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="userStatus", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="operationType", Tag=0, Type=DoorLock.Enums.DlDataOperationType),
+                            ClusterObjectFieldDescriptor(Label="credential", Tag=1, Type=DoorLock.Structs.DlCredential),
+                            ClusterObjectFieldDescriptor(Label="credentialData", Tag=2, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="userStatus", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]),
                     ])
 
-            operationType: 'DoorLock.Enums.DlDataOperationType' = None
-            credential: 'DoorLock.Structs.DlCredential' = None
-            credentialData: 'bytes' = None
-            userIndex: 'typing.Union[Nullable, uint]' = None
-            userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = None
+            operationType: 'DoorLock.Enums.DlDataOperationType' = 0
+            credential: 'DoorLock.Structs.DlCredential' = field(default_factory=lambda: DoorLock.Structs.DlCredential())
+            credentialData: 'bytes' = b""
+            userIndex: 'typing.Union[Nullable, uint]' = NullValue
+            userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue
 
         @dataclass
         class SetCredentialResponse(ClusterCommand):
@@ -12754,18 +12383,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=DoorLock.Enums.DlStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nextCredentialIndex", Tag=2, Type=typing.Union[Nullable, uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=DoorLock.Enums.DlStatus),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="nextCredentialIndex", Tag=2, Type=typing.Union[Nullable, uint]),
                     ])
 
-            status: 'DoorLock.Enums.DlStatus' = None
-            userIndex: 'typing.Union[Nullable, uint]' = None
-            nextCredentialIndex: 'typing.Union[Nullable, uint]' = None
+            status: 'DoorLock.Enums.DlStatus' = 0
+            userIndex: 'typing.Union[Nullable, uint]' = NullValue
+            nextCredentialIndex: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class GetCredentialStatus(ClusterCommand):
@@ -12776,12 +12402,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="credential", Tag=0, Type=DoorLock.Structs.DlCredential),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="credential", Tag=0, Type=DoorLock.Structs.DlCredential),
                     ])
 
-            credential: 'DoorLock.Structs.DlCredential' = None
+            credential: 'DoorLock.Structs.DlCredential' = field(default_factory=lambda: DoorLock.Structs.DlCredential())
 
         @dataclass
         class GetCredentialStatusResponse(ClusterCommand):
@@ -12792,18 +12417,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="credentialExists", Tag=0, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=1, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nextCredentialIndex", Tag=2, Type=typing.Union[Nullable, uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="credentialExists", Tag=0, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="nextCredentialIndex", Tag=2, Type=typing.Union[Nullable, uint]),
                     ])
 
-            credentialExists: 'bool' = None
-            userIndex: 'typing.Union[Nullable, uint]' = None
-            nextCredentialIndex: 'typing.Union[Nullable, uint]' = None
+            credentialExists: 'bool' = False
+            userIndex: 'typing.Union[Nullable, uint]' = NullValue
+            nextCredentialIndex: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class ClearCredential(ClusterCommand):
@@ -12814,12 +12436,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="credential", Tag=0, Type=DoorLock.Structs.DlCredential),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="credential", Tag=0, Type=DoorLock.Structs.DlCredential),
                     ])
 
-            credential: 'DoorLock.Structs.DlCredential' = None
+            credential: 'DoorLock.Structs.DlCredential' = field(default_factory=lambda: DoorLock.Structs.DlCredential())
+
 
     class Attributes:
         @dataclass
@@ -12836,7 +12458,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, DoorLock.Enums.DlLockState])
 
-            value: 'typing.Union[Nullable, DoorLock.Enums.DlLockState]' = None
+            value: 'typing.Union[Nullable, DoorLock.Enums.DlLockState]' = NullValue
 
         @dataclass
         class LockType(ClusterAttributeDescriptor):
@@ -12852,7 +12474,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=DoorLock.Enums.DlLockType)
 
-            value: 'DoorLock.Enums.DlLockType' = None
+            value: 'DoorLock.Enums.DlLockType' = 0
 
         @dataclass
         class ActuatorEnabled(ClusterAttributeDescriptor):
@@ -12868,7 +12490,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class DoorState(ClusterAttributeDescriptor):
@@ -12948,7 +12570,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class NumberOfTotalUsersSupported(ClusterAttributeDescriptor):
@@ -13188,7 +12810,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class SoundVolume(ClusterAttributeDescriptor):
@@ -13220,7 +12842,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=DoorLock.Enums.DlOperatingMode)
 
-            value: 'DoorLock.Enums.DlOperatingMode' = None
+            value: 'DoorLock.Enums.DlOperatingMode' = 0
 
         @dataclass
         class SupportedOperatingModes(ClusterAttributeDescriptor):
@@ -13236,7 +12858,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class DefaultConfigurationRegister(ClusterAttributeDescriptor):
@@ -13572,7 +13194,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -13583,12 +13206,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="alarmCode", Tag=0, Type=DoorLock.Enums.DlAlarmCode),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="alarmCode", Tag=0, Type=DoorLock.Enums.DlAlarmCode),
                     ])
 
-            alarmCode: 'DoorLock.Enums.DlAlarmCode' = None
+            alarmCode: 'DoorLock.Enums.DlAlarmCode' = 0
 
         @dataclass
         class DoorStateChange(ClusterEventDescriptor):
@@ -13598,12 +13220,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="doorState", Tag=0, Type=DoorLock.Enums.DlDoorState),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="doorState", Tag=0, Type=DoorLock.Enums.DlDoorState),
                     ])
 
-            doorState: 'DoorLock.Enums.DlDoorState' = None
+            doorState: 'DoorLock.Enums.DlDoorState' = 0
 
         @dataclass
         class LockOperation(ClusterEventDescriptor):
@@ -13613,26 +13234,20 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="lockOperationType", Tag=0, Type=DoorLock.Enums.DlLockOperationType),
-                        ClusterObjectFieldDescriptor(
-                            Label="operationSource", Tag=1, Type=DoorLock.Enums.DlOperationSource),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=2, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=3, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="sourceNode", Tag=4, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="credentials", Tag=5, Type=typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]], IsArray=True),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="lockOperationType", Tag=0, Type=DoorLock.Enums.DlLockOperationType),
+                            ClusterObjectFieldDescriptor(Label="operationSource", Tag=1, Type=DoorLock.Enums.DlOperationSource),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=2, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=3, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="sourceNode", Tag=4, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="credentials", Tag=5, Type=typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]], IsArray=True),
                     ])
 
-            lockOperationType: 'DoorLock.Enums.DlLockOperationType' = None
-            operationSource: 'DoorLock.Enums.DlOperationSource' = None
-            userIndex: 'typing.Union[Nullable, uint]' = None
-            fabricIndex: 'typing.Union[Nullable, uint]' = None
-            sourceNode: 'typing.Union[Nullable, uint]' = None
+            lockOperationType: 'DoorLock.Enums.DlLockOperationType' = 0
+            operationSource: 'DoorLock.Enums.DlOperationSource' = 0
+            userIndex: 'typing.Union[Nullable, uint]' = NullValue
+            fabricIndex: 'typing.Union[Nullable, uint]' = NullValue
+            sourceNode: 'typing.Union[Nullable, uint]' = NullValue
             credentials: typing.List['typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]'] = None
 
         @dataclass
@@ -13643,29 +13258,22 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="lockOperationType", Tag=0, Type=DoorLock.Enums.DlLockOperationType),
-                        ClusterObjectFieldDescriptor(
-                            Label="operationSource", Tag=1, Type=DoorLock.Enums.DlOperationSource),
-                        ClusterObjectFieldDescriptor(
-                            Label="operationError", Tag=2, Type=DoorLock.Enums.DlOperationError),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=4, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="sourceNode", Tag=5, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="credentials", Tag=6, Type=typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]], IsArray=True),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="lockOperationType", Tag=0, Type=DoorLock.Enums.DlLockOperationType),
+                            ClusterObjectFieldDescriptor(Label="operationSource", Tag=1, Type=DoorLock.Enums.DlOperationSource),
+                            ClusterObjectFieldDescriptor(Label="operationError", Tag=2, Type=DoorLock.Enums.DlOperationError),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=4, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="sourceNode", Tag=5, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="credentials", Tag=6, Type=typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]], IsArray=True),
                     ])
 
-            lockOperationType: 'DoorLock.Enums.DlLockOperationType' = None
-            operationSource: 'DoorLock.Enums.DlOperationSource' = None
-            operationError: 'DoorLock.Enums.DlOperationError' = None
-            userIndex: 'typing.Union[Nullable, uint]' = None
-            fabricIndex: 'typing.Union[Nullable, uint]' = None
-            sourceNode: 'typing.Union[Nullable, uint]' = None
+            lockOperationType: 'DoorLock.Enums.DlLockOperationType' = 0
+            operationSource: 'DoorLock.Enums.DlOperationSource' = 0
+            operationError: 'DoorLock.Enums.DlOperationError' = 0
+            userIndex: 'typing.Union[Nullable, uint]' = NullValue
+            fabricIndex: 'typing.Union[Nullable, uint]' = NullValue
+            sourceNode: 'typing.Union[Nullable, uint]' = NullValue
             credentials: typing.List['typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]'] = None
 
         @dataclass
@@ -13676,36 +13284,31 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="lockDataType", Tag=0, Type=DoorLock.Enums.DlLockDataType),
-                        ClusterObjectFieldDescriptor(
-                            Label="dataOperationType", Tag=1, Type=DoorLock.Enums.DlDataOperationType),
-                        ClusterObjectFieldDescriptor(
-                            Label="operationSource", Tag=2, Type=DoorLock.Enums.DlOperationSource),
-                        ClusterObjectFieldDescriptor(
-                            Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=4, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="sourceNode", Tag=5, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="dataIndex", Tag=6, Type=typing.Union[Nullable, uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="lockDataType", Tag=0, Type=DoorLock.Enums.DlLockDataType),
+                            ClusterObjectFieldDescriptor(Label="dataOperationType", Tag=1, Type=DoorLock.Enums.DlDataOperationType),
+                            ClusterObjectFieldDescriptor(Label="operationSource", Tag=2, Type=DoorLock.Enums.DlOperationSource),
+                            ClusterObjectFieldDescriptor(Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=4, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="sourceNode", Tag=5, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="dataIndex", Tag=6, Type=typing.Union[Nullable, uint]),
                     ])
 
-            lockDataType: 'DoorLock.Enums.DlLockDataType' = None
-            dataOperationType: 'DoorLock.Enums.DlDataOperationType' = None
-            operationSource: 'DoorLock.Enums.DlOperationSource' = None
-            userIndex: 'typing.Union[Nullable, uint]' = None
-            fabricIndex: 'typing.Union[Nullable, uint]' = None
-            sourceNode: 'typing.Union[Nullable, uint]' = None
-            dataIndex: 'typing.Union[Nullable, uint]' = None
+            lockDataType: 'DoorLock.Enums.DlLockDataType' = 0
+            dataOperationType: 'DoorLock.Enums.DlDataOperationType' = 0
+            operationSource: 'DoorLock.Enums.DlOperationSource' = 0
+            userIndex: 'typing.Union[Nullable, uint]' = NullValue
+            fabricIndex: 'typing.Union[Nullable, uint]' = NullValue
+            sourceNode: 'typing.Union[Nullable, uint]' = NullValue
+            dataIndex: 'typing.Union[Nullable, uint]' = NullValue
 
 
 @dataclass
 class WindowCovering(Cluster):
     id: typing.ClassVar[int] = 0x0102
 
+
+
     class Commands:
         @dataclass
         class UpOrOpen(ClusterCommand):
@@ -13716,9 +13319,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class DownOrClose(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0102
@@ -13728,9 +13332,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class StopMotion(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0102
@@ -13740,9 +13345,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class GoToLiftValue(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0102
@@ -13752,12 +13358,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="liftValue", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="liftValue", Tag=0, Type=uint),
                     ])
 
-            liftValue: 'uint' = None
+            liftValue: 'uint' = 0
 
         @dataclass
         class GoToLiftPercentage(ClusterCommand):
@@ -13768,15 +13373,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="liftPercentageValue", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="liftPercent100thsValue", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="liftPercentageValue", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="liftPercent100thsValue", Tag=1, Type=uint),
                     ])
 
-            liftPercentageValue: 'uint' = None
-            liftPercent100thsValue: 'uint' = None
+            liftPercentageValue: 'uint' = 0
+            liftPercent100thsValue: 'uint' = 0
 
         @dataclass
         class GoToTiltValue(ClusterCommand):
@@ -13787,12 +13390,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="tiltValue", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="tiltValue", Tag=0, Type=uint),
                     ])
 
-            tiltValue: 'uint' = None
+            tiltValue: 'uint' = 0
 
         @dataclass
         class GoToTiltPercentage(ClusterCommand):
@@ -13803,15 +13405,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="tiltPercentageValue", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="tiltPercent100thsValue", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="tiltPercentageValue", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="tiltPercent100thsValue", Tag=1, Type=uint),
                     ])
 
-            tiltPercentageValue: 'uint' = None
-            tiltPercent100thsValue: 'uint' = None
+            tiltPercentageValue: 'uint' = 0
+            tiltPercent100thsValue: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -13828,7 +13429,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class PhysicalClosedLimitLift(ClusterAttributeDescriptor):
@@ -13940,7 +13541,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CurrentPositionLiftPercentage(ClusterAttributeDescriptor):
@@ -13956,7 +13557,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CurrentPositionTiltPercentage(ClusterAttributeDescriptor):
@@ -13972,7 +13573,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class OperationalStatus(ClusterAttributeDescriptor):
@@ -13988,7 +13589,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TargetPositionLiftPercent100ths(ClusterAttributeDescriptor):
@@ -14004,7 +13605,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class TargetPositionTiltPercent100ths(ClusterAttributeDescriptor):
@@ -14020,7 +13621,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class EndProductType(ClusterAttributeDescriptor):
@@ -14036,7 +13637,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CurrentPositionLiftPercent100ths(ClusterAttributeDescriptor):
@@ -14052,7 +13653,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CurrentPositionTiltPercent100ths(ClusterAttributeDescriptor):
@@ -14068,7 +13669,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class InstalledOpenLimitLift(ClusterAttributeDescriptor):
@@ -14084,7 +13685,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class InstalledClosedLimitLift(ClusterAttributeDescriptor):
@@ -14100,7 +13701,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class InstalledOpenLimitTilt(ClusterAttributeDescriptor):
@@ -14116,7 +13717,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class InstalledClosedLimitTilt(ClusterAttributeDescriptor):
@@ -14132,7 +13733,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class VelocityLift(ClusterAttributeDescriptor):
@@ -14196,7 +13797,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class IntermediateSetpointsLift(ClusterAttributeDescriptor):
@@ -14276,13 +13877,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class BarrierControl(Cluster):
     id: typing.ClassVar[int] = 0x0103
 
+
+
     class Commands:
         @dataclass
         class BarrierControlGoToPercent(ClusterCommand):
@@ -14293,12 +13897,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="percentOpen", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="percentOpen", Tag=0, Type=uint),
                     ])
 
-            percentOpen: 'uint' = None
+            percentOpen: 'uint' = 0
 
         @dataclass
         class BarrierControlStop(ClusterCommand):
@@ -14309,9 +13912,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class BarrierMovingState(ClusterAttributeDescriptor):
@@ -14327,7 +13932,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class BarrierSafetyStatus(ClusterAttributeDescriptor):
@@ -14343,7 +13948,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class BarrierCapabilities(ClusterAttributeDescriptor):
@@ -14359,7 +13964,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class BarrierOpenEvents(ClusterAttributeDescriptor):
@@ -14471,7 +14076,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -14503,7 +14108,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -14525,6 +14131,9 @@
             kMaximum = 0x02
             kLocal = 0x03
 
+
+
+
     class Attributes:
         @dataclass
         class MaxPressure(ClusterAttributeDescriptor):
@@ -14540,7 +14149,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class MaxSpeed(ClusterAttributeDescriptor):
@@ -14556,7 +14165,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class MaxFlow(ClusterAttributeDescriptor):
@@ -14572,7 +14181,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class MinConstPressure(ClusterAttributeDescriptor):
@@ -14764,7 +14373,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class EffectiveControlMode(ClusterAttributeDescriptor):
@@ -14780,7 +14389,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Capacity(ClusterAttributeDescriptor):
@@ -14796,7 +14405,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Speed(ClusterAttributeDescriptor):
@@ -14876,7 +14485,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ControlMode(ClusterAttributeDescriptor):
@@ -14940,7 +14549,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -14951,9 +14561,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class SupplyVoltageHigh(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -14962,9 +14573,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class PowerMissingPhase(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -14973,9 +14585,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class SystemPressureLow(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -14984,9 +14597,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class SystemPressureHigh(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -14995,9 +14609,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class DryRunning(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15006,9 +14621,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MotorTemperatureHigh(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15017,9 +14633,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class PumpMotorFatalFailure(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15028,9 +14645,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ElectronicTemperatureHigh(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15039,9 +14657,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class PumpBlocked(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15050,9 +14669,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class SensorFailure(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15061,9 +14681,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ElectronicNonFatalFailure(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15072,9 +14693,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ElectronicFatalFailure(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15083,9 +14705,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class GeneralFault(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15094,9 +14717,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class Leakage(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15105,9 +14729,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class AirDetection(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15116,9 +14741,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class TurbineOperation(ClusterEventDescriptor):
             cluster_id: typing.ClassVar[int] = 0x0200
@@ -15127,10 +14753,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
 
+
 @dataclass
 class Thermostat(Cluster):
     id: typing.ClassVar[int] = 0x0201
@@ -15141,6 +14768,8 @@
             kCoolSetpoint = 0x01
             kHeatAndCoolSetpoints = 0x02
 
+
+
     class Commands:
         @dataclass
         class SetpointRaiseLower(ClusterCommand):
@@ -15151,15 +14780,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mode", Tag=0, Type=Thermostat.Enums.SetpointAdjustMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="amount", Tag=1, Type=int),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mode", Tag=0, Type=Thermostat.Enums.SetpointAdjustMode),
+                            ClusterObjectFieldDescriptor(Label="amount", Tag=1, Type=int),
                     ])
 
-            mode: 'Thermostat.Enums.SetpointAdjustMode' = None
-            amount: 'int' = None
+            mode: 'Thermostat.Enums.SetpointAdjustMode' = 0
+            amount: 'int' = 0
 
         @dataclass
         class CurrentWeeklySchedule(ClusterCommand):
@@ -15170,21 +14797,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="numberOfTransitionsForSequence", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="dayOfWeekForSequence", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="modeForSequence", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="payload", Tag=3, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="numberOfTransitionsForSequence", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="dayOfWeekForSequence", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="modeForSequence", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="payload", Tag=3, Type=typing.List[uint]),
                     ])
 
-            numberOfTransitionsForSequence: 'uint' = None
-            dayOfWeekForSequence: 'uint' = None
-            modeForSequence: 'uint' = None
-            payload: 'typing.List[uint]' = None
+            numberOfTransitionsForSequence: 'uint' = 0
+            dayOfWeekForSequence: 'uint' = 0
+            modeForSequence: 'uint' = 0
+            payload: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class SetWeeklySchedule(ClusterCommand):
@@ -15195,21 +14818,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="numberOfTransitionsForSequence", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="dayOfWeekForSequence", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="modeForSequence", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="payload", Tag=3, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="numberOfTransitionsForSequence", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="dayOfWeekForSequence", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="modeForSequence", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="payload", Tag=3, Type=typing.List[uint]),
                     ])
 
-            numberOfTransitionsForSequence: 'uint' = None
-            dayOfWeekForSequence: 'uint' = None
-            modeForSequence: 'uint' = None
-            payload: 'typing.List[uint]' = None
+            numberOfTransitionsForSequence: 'uint' = 0
+            dayOfWeekForSequence: 'uint' = 0
+            modeForSequence: 'uint' = 0
+            payload: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class RelayStatusLog(ClusterCommand):
@@ -15220,27 +14839,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="timeOfDay", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="relayStatus", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="localTemperature", Tag=2, Type=int),
-                        ClusterObjectFieldDescriptor(
-                            Label="humidityInPercentage", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="setpoint", Tag=4, Type=int),
-                        ClusterObjectFieldDescriptor(
-                            Label="unreadEntries", Tag=5, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="timeOfDay", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="relayStatus", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="localTemperature", Tag=2, Type=int),
+                            ClusterObjectFieldDescriptor(Label="humidityInPercentage", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="setpoint", Tag=4, Type=int),
+                            ClusterObjectFieldDescriptor(Label="unreadEntries", Tag=5, Type=uint),
                     ])
 
-            timeOfDay: 'uint' = None
-            relayStatus: 'uint' = None
-            localTemperature: 'int' = None
-            humidityInPercentage: 'uint' = None
-            setpoint: 'int' = None
-            unreadEntries: 'uint' = None
+            timeOfDay: 'uint' = 0
+            relayStatus: 'uint' = 0
+            localTemperature: 'int' = 0
+            humidityInPercentage: 'uint' = 0
+            setpoint: 'int' = 0
+            unreadEntries: 'uint' = 0
 
         @dataclass
         class GetWeeklySchedule(ClusterCommand):
@@ -15251,15 +14864,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="daysToReturn", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="modeToReturn", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="daysToReturn", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="modeToReturn", Tag=1, Type=uint),
                     ])
 
-            daysToReturn: 'uint' = None
-            modeToReturn: 'uint' = None
+            daysToReturn: 'uint' = 0
+            modeToReturn: 'uint' = 0
 
         @dataclass
         class ClearWeeklySchedule(ClusterCommand):
@@ -15270,9 +14881,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class GetRelayStatusLog(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0201
@@ -15282,9 +14894,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class LocalTemperature(ClusterAttributeDescriptor):
@@ -15300,7 +14914,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class OutdoorTemperature(ClusterAttributeDescriptor):
@@ -15476,7 +15090,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class OccupiedHeatingSetpoint(ClusterAttributeDescriptor):
@@ -15492,7 +15106,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class UnoccupiedCoolingSetpoint(ClusterAttributeDescriptor):
@@ -15636,7 +15250,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class SystemMode(ClusterAttributeDescriptor):
@@ -15652,7 +15266,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class AlarmMask(ClusterAttributeDescriptor):
@@ -16004,13 +15618,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class FanControl(Cluster):
     id: typing.ClassVar[int] = 0x0202
 
+
+
+
     class Attributes:
         @dataclass
         class FanMode(ClusterAttributeDescriptor):
@@ -16026,7 +15644,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FanModeSequence(ClusterAttributeDescriptor):
@@ -16042,7 +15660,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -16074,13 +15692,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class DehumidificationControl(Cluster):
     id: typing.ClassVar[int] = 0x0203
 
+
+
+
     class Attributes:
         @dataclass
         class RelativeHumidity(ClusterAttributeDescriptor):
@@ -16112,7 +15734,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RhDehumidificationSetpoint(ClusterAttributeDescriptor):
@@ -16128,7 +15750,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RelativeHumidityMode(ClusterAttributeDescriptor):
@@ -16176,7 +15798,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class DehumidificationMaxCool(ClusterAttributeDescriptor):
@@ -16192,7 +15814,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RelativeHumidityDisplay(ClusterAttributeDescriptor):
@@ -16240,13 +15862,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ThermostatUserInterfaceConfiguration(Cluster):
     id: typing.ClassVar[int] = 0x0204
 
+
+
+
     class Attributes:
         @dataclass
         class TemperatureDisplayMode(ClusterAttributeDescriptor):
@@ -16262,7 +15888,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class KeypadLockout(ClusterAttributeDescriptor):
@@ -16278,7 +15904,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ScheduleProgrammingVisibility(ClusterAttributeDescriptor):
@@ -16326,7 +15952,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -16372,6 +15999,8 @@
             kUp = 0x01
             kDown = 0x03
 
+
+
     class Commands:
         @dataclass
         class MoveToHue(ClusterCommand):
@@ -16382,24 +16011,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="hue", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="direction", Tag=1, Type=ColorControl.Enums.HueDirection),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="hue", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="direction", Tag=1, Type=ColorControl.Enums.HueDirection),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint),
                     ])
 
-            hue: 'uint' = None
-            direction: 'ColorControl.Enums.HueDirection' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            hue: 'uint' = 0
+            direction: 'ColorControl.Enums.HueDirection' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class MoveHue(ClusterCommand):
@@ -16410,21 +16034,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="rate", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode),
+                            ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint),
                     ])
 
-            moveMode: 'ColorControl.Enums.HueMoveMode' = None
-            rate: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            moveMode: 'ColorControl.Enums.HueMoveMode' = 0
+            rate: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class StepHue(ClusterCommand):
@@ -16435,24 +16055,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="stepSize", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode),
+                            ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint),
                     ])
 
-            stepMode: 'ColorControl.Enums.HueStepMode' = None
-            stepSize: 'uint' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            stepMode: 'ColorControl.Enums.HueStepMode' = 0
+            stepSize: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class MoveToSaturation(ClusterCommand):
@@ -16463,21 +16078,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="saturation", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="saturation", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint),
                     ])
 
-            saturation: 'uint' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            saturation: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class MoveSaturation(ClusterCommand):
@@ -16488,21 +16099,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="moveMode", Tag=0, Type=ColorControl.Enums.SaturationMoveMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="rate", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.SaturationMoveMode),
+                            ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint),
                     ])
 
-            moveMode: 'ColorControl.Enums.SaturationMoveMode' = None
-            rate: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            moveMode: 'ColorControl.Enums.SaturationMoveMode' = 0
+            rate: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class StepSaturation(ClusterCommand):
@@ -16513,24 +16120,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="stepMode", Tag=0, Type=ColorControl.Enums.SaturationStepMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="stepSize", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.SaturationStepMode),
+                            ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint),
                     ])
 
-            stepMode: 'ColorControl.Enums.SaturationStepMode' = None
-            stepSize: 'uint' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            stepMode: 'ColorControl.Enums.SaturationStepMode' = 0
+            stepSize: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class MoveToHueAndSaturation(ClusterCommand):
@@ -16541,24 +16143,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="hue", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="saturation", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="hue", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="saturation", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint),
                     ])
 
-            hue: 'uint' = None
-            saturation: 'uint' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            hue: 'uint' = 0
+            saturation: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class MoveToColor(ClusterCommand):
@@ -16569,24 +16166,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="colorX", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="colorY", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="colorX", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="colorY", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint),
                     ])
 
-            colorX: 'uint' = None
-            colorY: 'uint' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            colorX: 'uint' = 0
+            colorY: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class MoveColor(ClusterCommand):
@@ -16597,21 +16189,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="rateX", Tag=0, Type=int),
-                        ClusterObjectFieldDescriptor(
-                            Label="rateY", Tag=1, Type=int),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="rateX", Tag=0, Type=int),
+                            ClusterObjectFieldDescriptor(Label="rateY", Tag=1, Type=int),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint),
                     ])
 
-            rateX: 'int' = None
-            rateY: 'int' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            rateX: 'int' = 0
+            rateY: 'int' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class StepColor(ClusterCommand):
@@ -16622,24 +16210,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="stepX", Tag=0, Type=int),
-                        ClusterObjectFieldDescriptor(
-                            Label="stepY", Tag=1, Type=int),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="stepX", Tag=0, Type=int),
+                            ClusterObjectFieldDescriptor(Label="stepY", Tag=1, Type=int),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint),
                     ])
 
-            stepX: 'int' = None
-            stepY: 'int' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            stepX: 'int' = 0
+            stepY: 'int' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class MoveToColorTemperature(ClusterCommand):
@@ -16650,21 +16233,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="colorTemperature", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="colorTemperature", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint),
                     ])
 
-            colorTemperature: 'uint' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            colorTemperature: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class EnhancedMoveToHue(ClusterCommand):
@@ -16675,24 +16254,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="enhancedHue", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="direction", Tag=1, Type=ColorControl.Enums.HueDirection),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="enhancedHue", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="direction", Tag=1, Type=ColorControl.Enums.HueDirection),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint),
                     ])
 
-            enhancedHue: 'uint' = None
-            direction: 'ColorControl.Enums.HueDirection' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            enhancedHue: 'uint' = 0
+            direction: 'ColorControl.Enums.HueDirection' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class EnhancedMoveHue(ClusterCommand):
@@ -16703,21 +16277,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="rate", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode),
+                            ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint),
                     ])
 
-            moveMode: 'ColorControl.Enums.HueMoveMode' = None
-            rate: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            moveMode: 'ColorControl.Enums.HueMoveMode' = 0
+            rate: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class EnhancedStepHue(ClusterCommand):
@@ -16728,24 +16298,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="stepSize", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode),
+                            ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint),
                     ])
 
-            stepMode: 'ColorControl.Enums.HueStepMode' = None
-            stepSize: 'uint' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            stepMode: 'ColorControl.Enums.HueStepMode' = 0
+            stepSize: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class EnhancedMoveToHueAndSaturation(ClusterCommand):
@@ -16756,24 +16321,19 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="enhancedHue", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="saturation", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=4, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="enhancedHue", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="saturation", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint),
                     ])
 
-            enhancedHue: 'uint' = None
-            saturation: 'uint' = None
-            transitionTime: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            enhancedHue: 'uint' = 0
+            saturation: 'uint' = 0
+            transitionTime: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class ColorLoopSet(ClusterCommand):
@@ -16784,30 +16344,23 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="updateFlags", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="action", Tag=1, Type=ColorControl.Enums.ColorLoopAction),
-                        ClusterObjectFieldDescriptor(
-                            Label="direction", Tag=2, Type=ColorControl.Enums.ColorLoopDirection),
-                        ClusterObjectFieldDescriptor(
-                            Label="time", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startHue", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=6, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="updateFlags", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="action", Tag=1, Type=ColorControl.Enums.ColorLoopAction),
+                            ClusterObjectFieldDescriptor(Label="direction", Tag=2, Type=ColorControl.Enums.ColorLoopDirection),
+                            ClusterObjectFieldDescriptor(Label="time", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startHue", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=6, Type=uint),
                     ])
 
-            updateFlags: 'uint' = None
-            action: 'ColorControl.Enums.ColorLoopAction' = None
-            direction: 'ColorControl.Enums.ColorLoopDirection' = None
-            time: 'uint' = None
-            startHue: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            updateFlags: 'uint' = 0
+            action: 'ColorControl.Enums.ColorLoopAction' = 0
+            direction: 'ColorControl.Enums.ColorLoopDirection' = 0
+            time: 'uint' = 0
+            startHue: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class StopMoveStep(ClusterCommand):
@@ -16818,15 +16371,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=1, Type=uint),
                     ])
 
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class MoveColorTemperature(ClusterCommand):
@@ -16837,27 +16388,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="rate", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="colorTemperatureMinimum", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="colorTemperatureMaximum", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=5, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode),
+                            ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="colorTemperatureMinimum", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="colorTemperatureMaximum", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=5, Type=uint),
                     ])
 
-            moveMode: 'ColorControl.Enums.HueMoveMode' = None
-            rate: 'uint' = None
-            colorTemperatureMinimum: 'uint' = None
-            colorTemperatureMaximum: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            moveMode: 'ColorControl.Enums.HueMoveMode' = 0
+            rate: 'uint' = 0
+            colorTemperatureMinimum: 'uint' = 0
+            colorTemperatureMaximum: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
 
         @dataclass
         class StepColorTemperature(ClusterCommand):
@@ -16868,30 +16413,24 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="stepSize", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="transitionTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="colorTemperatureMinimum", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="colorTemperatureMaximum", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsMask", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionsOverride", Tag=6, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode),
+                            ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="colorTemperatureMinimum", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="colorTemperatureMaximum", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsMask", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=6, Type=uint),
                     ])
 
-            stepMode: 'ColorControl.Enums.HueStepMode' = None
-            stepSize: 'uint' = None
-            transitionTime: 'uint' = None
-            colorTemperatureMinimum: 'uint' = None
-            colorTemperatureMaximum: 'uint' = None
-            optionsMask: 'uint' = None
-            optionsOverride: 'uint' = None
+            stepMode: 'ColorControl.Enums.HueStepMode' = 0
+            stepSize: 'uint' = 0
+            transitionTime: 'uint' = 0
+            colorTemperatureMinimum: 'uint' = 0
+            colorTemperatureMaximum: 'uint' = 0
+            optionsMask: 'uint' = 0
+            optionsOverride: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -16956,7 +16495,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CurrentY(ClusterAttributeDescriptor):
@@ -16972,7 +16511,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class DriftCompensation(ClusterAttributeDescriptor):
@@ -17052,7 +16591,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class NumberOfPrimaries(ClusterAttributeDescriptor):
@@ -17708,7 +17247,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class StartUpColorTemperatureMireds(ClusterAttributeDescriptor):
@@ -17724,7 +17263,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -17756,13 +17295,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class BallastConfiguration(Cluster):
     id: typing.ClassVar[int] = 0x0301
 
+
+
+
     class Attributes:
         @dataclass
         class PhysicalMinLevel(ClusterAttributeDescriptor):
@@ -17810,7 +17353,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class MinLevel(ClusterAttributeDescriptor):
@@ -18050,7 +17593,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -18062,6 +17606,9 @@
             kPhotodiode = 0x00
             kCmos = 0x01
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -18077,7 +17624,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -18093,7 +17640,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -18109,7 +17656,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -18173,13 +17720,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class TemperatureMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0402
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -18195,7 +17746,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -18211,7 +17762,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -18227,7 +17778,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -18275,13 +17826,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class PressureMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0403
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -18297,7 +17852,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -18313,7 +17868,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -18329,7 +17884,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -18457,13 +18012,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class FlowMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0404
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -18479,7 +18038,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -18495,7 +18054,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -18511,7 +18070,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -18559,13 +18118,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class RelativeHumidityMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0405
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -18581,7 +18144,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -18597,7 +18160,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -18613,7 +18176,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -18661,13 +18224,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class OccupancySensing(Cluster):
     id: typing.ClassVar[int] = 0x0406
 
+
+
+
     class Attributes:
         @dataclass
         class Occupancy(ClusterAttributeDescriptor):
@@ -18683,7 +18250,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class OccupancySensorType(ClusterAttributeDescriptor):
@@ -18699,7 +18266,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class OccupancySensorTypeBitmap(ClusterAttributeDescriptor):
@@ -18715,7 +18282,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class PirOccupiedToUnoccupiedDelay(ClusterAttributeDescriptor):
@@ -18891,13 +18458,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class CarbonMonoxideConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x040C
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -18913,7 +18484,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -18929,7 +18500,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -18945,7 +18516,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -18993,13 +18564,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class CarbonDioxideConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x040D
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19015,7 +18590,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19031,7 +18606,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19047,7 +18622,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -19095,13 +18670,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class EthyleneConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x040E
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19117,7 +18696,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19133,7 +18712,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19149,7 +18728,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -19197,13 +18776,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class EthyleneOxideConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x040F
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19219,7 +18802,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19235,7 +18818,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19251,7 +18834,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -19299,13 +18882,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class HydrogenConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0410
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19321,7 +18908,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19337,7 +18924,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19353,7 +18940,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -19401,13 +18988,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class HydrogenSulphideConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0411
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19423,7 +19014,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19439,7 +19030,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19455,7 +19046,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -19503,13 +19094,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class NitricOxideConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0412
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19525,7 +19120,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19541,7 +19136,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19557,7 +19152,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -19605,13 +19200,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class NitrogenDioxideConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0413
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19627,7 +19226,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19643,7 +19242,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19659,7 +19258,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -19707,13 +19306,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class OxygenConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0414
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19729,7 +19332,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19745,7 +19348,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19761,7 +19364,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -19809,13 +19412,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class OzoneConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0415
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19831,7 +19438,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19847,7 +19454,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19863,7 +19470,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -19911,13 +19518,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class SulfurDioxideConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0416
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -19933,7 +19544,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -19949,7 +19560,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -19965,7 +19576,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20013,13 +19624,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class DissolvedOxygenConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0417
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20035,7 +19650,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20051,7 +19666,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20067,7 +19682,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20115,13 +19730,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class BromateConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0418
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20137,7 +19756,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20153,7 +19772,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20169,7 +19788,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20217,13 +19836,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ChloraminesConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0419
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20239,7 +19862,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20255,7 +19878,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20271,7 +19894,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20319,13 +19942,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ChlorineConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x041A
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20341,7 +19968,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20357,7 +19984,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20373,7 +20000,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20421,13 +20048,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class FecalColiformAndEColiConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x041B
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20443,7 +20074,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20459,7 +20090,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20475,7 +20106,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20523,13 +20154,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class FluorideConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x041C
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20545,7 +20180,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20561,7 +20196,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20577,7 +20212,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20625,13 +20260,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class HaloaceticAcidsConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x041D
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20647,7 +20286,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20663,7 +20302,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20679,7 +20318,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20727,13 +20366,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class TotalTrihalomethanesConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x041E
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20749,7 +20392,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20765,7 +20408,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20781,7 +20424,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20829,13 +20472,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class TotalColiformBacteriaConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x041F
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20851,7 +20498,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20867,7 +20514,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20883,7 +20530,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -20931,13 +20578,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class TurbidityConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0420
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -20953,7 +20604,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -20969,7 +20620,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -20985,7 +20636,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21033,13 +20684,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class CopperConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0421
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -21055,7 +20710,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -21071,7 +20726,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -21087,7 +20742,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21135,13 +20790,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class LeadConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0422
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -21157,7 +20816,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -21173,7 +20832,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -21189,7 +20848,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21237,13 +20896,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ManganeseConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0423
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -21259,7 +20922,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -21275,7 +20938,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -21291,7 +20954,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21339,13 +21002,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class SulfateConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0424
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -21361,7 +21028,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -21377,7 +21044,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -21393,7 +21060,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21441,13 +21108,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class BromodichloromethaneConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0425
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -21463,7 +21134,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -21479,7 +21150,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -21495,7 +21166,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21543,13 +21214,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class BromoformConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0426
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -21565,7 +21240,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -21581,7 +21256,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -21597,7 +21272,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21645,13 +21320,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ChlorodibromomethaneConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0427
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -21667,7 +21346,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -21683,7 +21362,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -21699,7 +21378,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21747,13 +21426,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ChloroformConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0428
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -21769,7 +21452,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -21785,7 +21468,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -21801,7 +21484,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21849,13 +21532,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class SodiumConcentrationMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0429
 
+
+
+
     class Attributes:
         @dataclass
         class MeasuredValue(ClusterAttributeDescriptor):
@@ -21871,7 +21558,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MinMeasuredValue(ClusterAttributeDescriptor):
@@ -21887,7 +21574,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class MaxMeasuredValue(ClusterAttributeDescriptor):
@@ -21903,7 +21590,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class Tolerance(ClusterAttributeDescriptor):
@@ -21951,7 +21638,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -21983,6 +21671,8 @@
             kSecurityRepeater = 0x229
             kInvalidZoneType = 0xFFFF
 
+
+
     class Commands:
         @dataclass
         class ZoneEnrollResponse(ClusterCommand):
@@ -21993,15 +21683,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="enrollResponseCode", Tag=0, Type=IasZone.Enums.IasEnrollResponseCode),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneId", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="enrollResponseCode", Tag=0, Type=IasZone.Enums.IasEnrollResponseCode),
+                            ClusterObjectFieldDescriptor(Label="zoneId", Tag=1, Type=uint),
                     ])
 
-            enrollResponseCode: 'IasZone.Enums.IasEnrollResponseCode' = None
-            zoneId: 'uint' = None
+            enrollResponseCode: 'IasZone.Enums.IasEnrollResponseCode' = 0
+            zoneId: 'uint' = 0
 
         @dataclass
         class ZoneStatusChangeNotification(ClusterCommand):
@@ -22012,21 +21700,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneStatus", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="extendedStatus", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneId", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="delay", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="zoneStatus", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="extendedStatus", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="zoneId", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="delay", Tag=3, Type=uint),
                     ])
 
-            zoneStatus: 'uint' = None
-            extendedStatus: 'uint' = None
-            zoneId: 'uint' = None
-            delay: 'uint' = None
+            zoneStatus: 'uint' = 0
+            extendedStatus: 'uint' = 0
+            zoneId: 'uint' = 0
+            delay: 'uint' = 0
 
         @dataclass
         class InitiateNormalOperationMode(ClusterCommand):
@@ -22037,9 +21721,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ZoneEnrollRequest(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0500
@@ -22049,15 +21734,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneType", Tag=0, Type=IasZone.Enums.IasZoneType),
-                        ClusterObjectFieldDescriptor(
-                            Label="manufacturerCode", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="zoneType", Tag=0, Type=IasZone.Enums.IasZoneType),
+                            ClusterObjectFieldDescriptor(Label="manufacturerCode", Tag=1, Type=uint),
                     ])
 
-            zoneType: 'IasZone.Enums.IasZoneType' = None
-            manufacturerCode: 'uint' = None
+            zoneType: 'IasZone.Enums.IasZoneType' = 0
+            manufacturerCode: 'uint' = 0
 
         @dataclass
         class InitiateTestMode(ClusterCommand):
@@ -22068,15 +21751,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="testModeDuration", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="currentZoneSensitivityLevel", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="testModeDuration", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="currentZoneSensitivityLevel", Tag=1, Type=uint),
                     ])
 
-            testModeDuration: 'uint' = None
-            currentZoneSensitivityLevel: 'uint' = None
+            testModeDuration: 'uint' = 0
+            currentZoneSensitivityLevel: 'uint' = 0
 
         @dataclass
         class InitiateNormalOperationModeResponse(ClusterCommand):
@@ -22087,9 +21768,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class InitiateTestModeResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0500
@@ -22099,9 +21781,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class ZoneState(ClusterAttributeDescriptor):
@@ -22117,7 +21801,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ZoneType(ClusterAttributeDescriptor):
@@ -22133,7 +21817,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ZoneStatus(ClusterAttributeDescriptor):
@@ -22149,7 +21833,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class IasCieAddress(ClusterAttributeDescriptor):
@@ -22165,7 +21849,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ZoneId(ClusterAttributeDescriptor):
@@ -22181,7 +21865,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class NumberOfZoneSensitivityLevelsSupported(ClusterAttributeDescriptor):
@@ -22245,7 +21929,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -22320,21 +22005,22 @@
             kSecurityRepeater = 0x229
             kInvalidZoneType = 0xFFFF
 
+
     class Structs:
         @dataclass
         class IasAceZoneStatusResult(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneStatus", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="zoneId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="zoneStatus", Tag=2, Type=uint),
                     ])
 
-            zoneId: 'uint' = None
-            zoneStatus: 'uint' = None
+            zoneId: 'uint' = 0
+            zoneStatus: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -22346,18 +22032,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="armMode", Tag=0, Type=IasAce.Enums.IasAceArmMode),
-                        ClusterObjectFieldDescriptor(
-                            Label="armDisarmCode", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneId", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="armMode", Tag=0, Type=IasAce.Enums.IasAceArmMode),
+                            ClusterObjectFieldDescriptor(Label="armDisarmCode", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="zoneId", Tag=2, Type=uint),
                     ])
 
-            armMode: 'IasAce.Enums.IasAceArmMode' = None
-            armDisarmCode: 'str' = None
-            zoneId: 'uint' = None
+            armMode: 'IasAce.Enums.IasAceArmMode' = 0
+            armDisarmCode: 'str' = ""
+            zoneId: 'uint' = 0
 
         @dataclass
         class ArmResponse(ClusterCommand):
@@ -22368,12 +22051,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="armNotification", Tag=0, Type=IasAce.Enums.IasAceArmNotification),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="armNotification", Tag=0, Type=IasAce.Enums.IasAceArmNotification),
                     ])
 
-            armNotification: 'IasAce.Enums.IasAceArmNotification' = None
+            armNotification: 'IasAce.Enums.IasAceArmNotification' = 0
 
         @dataclass
         class Bypass(ClusterCommand):
@@ -22384,18 +22066,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="numberOfZones", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneIds", Tag=1, Type=typing.List[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="armDisarmCode", Tag=2, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="numberOfZones", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="zoneIds", Tag=1, Type=typing.List[uint]),
+                            ClusterObjectFieldDescriptor(Label="armDisarmCode", Tag=2, Type=str),
                     ])
 
-            numberOfZones: 'uint' = None
-            zoneIds: 'typing.List[uint]' = None
-            armDisarmCode: 'str' = None
+            numberOfZones: 'uint' = 0
+            zoneIds: 'typing.List[uint]' = field(default_factory=lambda: [])
+            armDisarmCode: 'str' = ""
 
         @dataclass
         class GetZoneIdMapResponse(ClusterCommand):
@@ -22406,57 +22085,41 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="section0", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section1", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section2", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section3", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section4", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section5", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section6", Tag=6, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section7", Tag=7, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section8", Tag=8, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section9", Tag=9, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section10", Tag=10, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section11", Tag=11, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section12", Tag=12, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section13", Tag=13, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section14", Tag=14, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="section15", Tag=15, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="section0", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section1", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section2", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section3", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section4", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section5", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section6", Tag=6, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section7", Tag=7, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section8", Tag=8, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section9", Tag=9, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section10", Tag=10, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section11", Tag=11, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section12", Tag=12, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section13", Tag=13, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section14", Tag=14, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="section15", Tag=15, Type=uint),
                     ])
 
-            section0: 'uint' = None
-            section1: 'uint' = None
-            section2: 'uint' = None
-            section3: 'uint' = None
-            section4: 'uint' = None
-            section5: 'uint' = None
-            section6: 'uint' = None
-            section7: 'uint' = None
-            section8: 'uint' = None
-            section9: 'uint' = None
-            section10: 'uint' = None
-            section11: 'uint' = None
-            section12: 'uint' = None
-            section13: 'uint' = None
-            section14: 'uint' = None
-            section15: 'uint' = None
+            section0: 'uint' = 0
+            section1: 'uint' = 0
+            section2: 'uint' = 0
+            section3: 'uint' = 0
+            section4: 'uint' = 0
+            section5: 'uint' = 0
+            section6: 'uint' = 0
+            section7: 'uint' = 0
+            section8: 'uint' = 0
+            section9: 'uint' = 0
+            section10: 'uint' = 0
+            section11: 'uint' = 0
+            section12: 'uint' = 0
+            section13: 'uint' = 0
+            section14: 'uint' = 0
+            section15: 'uint' = 0
 
         @dataclass
         class Emergency(ClusterCommand):
@@ -22467,9 +22130,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class GetZoneInformationResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0501
@@ -22479,21 +22143,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneType", Tag=1, Type=IasAce.Enums.IasZoneType),
-                        ClusterObjectFieldDescriptor(
-                            Label="ieeeAddress", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneLabel", Tag=3, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="zoneId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="zoneType", Tag=1, Type=IasAce.Enums.IasZoneType),
+                            ClusterObjectFieldDescriptor(Label="ieeeAddress", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="zoneLabel", Tag=3, Type=str),
                     ])
 
-            zoneId: 'uint' = None
-            zoneType: 'IasAce.Enums.IasZoneType' = None
-            ieeeAddress: 'uint' = None
-            zoneLabel: 'str' = None
+            zoneId: 'uint' = 0
+            zoneType: 'IasAce.Enums.IasZoneType' = 0
+            ieeeAddress: 'uint' = 0
+            zoneLabel: 'str' = ""
 
         @dataclass
         class Fire(ClusterCommand):
@@ -22504,9 +22164,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class ZoneStatusChanged(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0501
@@ -22516,21 +22177,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneStatus", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="audibleNotification", Tag=2, Type=IasAce.Enums.IasAceAudibleNotification),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneLabel", Tag=3, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="zoneId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="zoneStatus", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="audibleNotification", Tag=2, Type=IasAce.Enums.IasAceAudibleNotification),
+                            ClusterObjectFieldDescriptor(Label="zoneLabel", Tag=3, Type=str),
                     ])
 
-            zoneId: 'uint' = None
-            zoneStatus: 'uint' = None
-            audibleNotification: 'IasAce.Enums.IasAceAudibleNotification' = None
-            zoneLabel: 'str' = None
+            zoneId: 'uint' = 0
+            zoneStatus: 'uint' = 0
+            audibleNotification: 'IasAce.Enums.IasAceAudibleNotification' = 0
+            zoneLabel: 'str' = ""
 
         @dataclass
         class Panic(ClusterCommand):
@@ -22541,9 +22198,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class PanelStatusChanged(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0501
@@ -22553,21 +22211,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="panelStatus", Tag=0, Type=IasAce.Enums.IasAcePanelStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="secondsRemaining", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="audibleNotification", Tag=2, Type=IasAce.Enums.IasAceAudibleNotification),
-                        ClusterObjectFieldDescriptor(
-                            Label="alarmStatus", Tag=3, Type=IasAce.Enums.IasAceAlarmStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="panelStatus", Tag=0, Type=IasAce.Enums.IasAcePanelStatus),
+                            ClusterObjectFieldDescriptor(Label="secondsRemaining", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="audibleNotification", Tag=2, Type=IasAce.Enums.IasAceAudibleNotification),
+                            ClusterObjectFieldDescriptor(Label="alarmStatus", Tag=3, Type=IasAce.Enums.IasAceAlarmStatus),
                     ])
 
-            panelStatus: 'IasAce.Enums.IasAcePanelStatus' = None
-            secondsRemaining: 'uint' = None
-            audibleNotification: 'IasAce.Enums.IasAceAudibleNotification' = None
-            alarmStatus: 'IasAce.Enums.IasAceAlarmStatus' = None
+            panelStatus: 'IasAce.Enums.IasAcePanelStatus' = 0
+            secondsRemaining: 'uint' = 0
+            audibleNotification: 'IasAce.Enums.IasAceAudibleNotification' = 0
+            alarmStatus: 'IasAce.Enums.IasAceAlarmStatus' = 0
 
         @dataclass
         class GetZoneIdMap(ClusterCommand):
@@ -22578,9 +22232,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class GetPanelStatusResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0501
@@ -22590,21 +22245,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="panelStatus", Tag=0, Type=IasAce.Enums.IasAcePanelStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="secondsRemaining", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="audibleNotification", Tag=2, Type=IasAce.Enums.IasAceAudibleNotification),
-                        ClusterObjectFieldDescriptor(
-                            Label="alarmStatus", Tag=3, Type=IasAce.Enums.IasAceAlarmStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="panelStatus", Tag=0, Type=IasAce.Enums.IasAcePanelStatus),
+                            ClusterObjectFieldDescriptor(Label="secondsRemaining", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="audibleNotification", Tag=2, Type=IasAce.Enums.IasAceAudibleNotification),
+                            ClusterObjectFieldDescriptor(Label="alarmStatus", Tag=3, Type=IasAce.Enums.IasAceAlarmStatus),
                     ])
 
-            panelStatus: 'IasAce.Enums.IasAcePanelStatus' = None
-            secondsRemaining: 'uint' = None
-            audibleNotification: 'IasAce.Enums.IasAceAudibleNotification' = None
-            alarmStatus: 'IasAce.Enums.IasAceAlarmStatus' = None
+            panelStatus: 'IasAce.Enums.IasAcePanelStatus' = 0
+            secondsRemaining: 'uint' = 0
+            audibleNotification: 'IasAce.Enums.IasAceAudibleNotification' = 0
+            alarmStatus: 'IasAce.Enums.IasAceAlarmStatus' = 0
 
         @dataclass
         class GetZoneInformation(ClusterCommand):
@@ -22615,12 +22266,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="zoneId", Tag=0, Type=uint),
                     ])
 
-            zoneId: 'uint' = None
+            zoneId: 'uint' = 0
 
         @dataclass
         class SetBypassedZoneList(ClusterCommand):
@@ -22631,15 +22281,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="numberOfZones", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneIds", Tag=1, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="numberOfZones", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="zoneIds", Tag=1, Type=typing.List[uint]),
                     ])
 
-            numberOfZones: 'uint' = None
-            zoneIds: 'typing.List[uint]' = None
+            numberOfZones: 'uint' = 0
+            zoneIds: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetPanelStatus(ClusterCommand):
@@ -22650,9 +22298,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class BypassResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0501
@@ -22662,15 +22311,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="numberOfZones", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="bypassResult", Tag=1, Type=typing.List[IasAce.Enums.IasAceBypassResult]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="numberOfZones", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="bypassResult", Tag=1, Type=typing.List[IasAce.Enums.IasAceBypassResult]),
                     ])
 
-            numberOfZones: 'uint' = None
-            bypassResult: 'typing.List[IasAce.Enums.IasAceBypassResult]' = None
+            numberOfZones: 'uint' = 0
+            bypassResult: 'typing.List[IasAce.Enums.IasAceBypassResult]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetBypassedZoneList(ClusterCommand):
@@ -22681,9 +22328,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class GetZoneStatusResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0501
@@ -22693,18 +22341,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneStatusComplete", Tag=0, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="numberOfZones", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneStatusResult", Tag=2, Type=typing.List[IasAce.Structs.IasAceZoneStatusResult]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="zoneStatusComplete", Tag=0, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="numberOfZones", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="zoneStatusResult", Tag=2, Type=typing.List[IasAce.Structs.IasAceZoneStatusResult]),
                     ])
 
-            zoneStatusComplete: 'bool' = None
-            numberOfZones: 'uint' = None
-            zoneStatusResult: 'typing.List[IasAce.Structs.IasAceZoneStatusResult]' = None
+            zoneStatusComplete: 'bool' = False
+            numberOfZones: 'uint' = 0
+            zoneStatusResult: 'typing.List[IasAce.Structs.IasAceZoneStatusResult]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetZoneStatus(ClusterCommand):
@@ -22715,21 +22360,18 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="startingZoneId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="maxNumberOfZoneIds", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneStatusMaskFlag", Tag=2, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="zoneStatusMask", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="startingZoneId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="maxNumberOfZoneIds", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="zoneStatusMaskFlag", Tag=2, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="zoneStatusMask", Tag=3, Type=uint),
                     ])
 
-            startingZoneId: 'uint' = None
-            maxNumberOfZoneIds: 'uint' = None
-            zoneStatusMaskFlag: 'bool' = None
-            zoneStatusMask: 'uint' = None
+            startingZoneId: 'uint' = 0
+            maxNumberOfZoneIds: 'uint' = 0
+            zoneStatusMaskFlag: 'bool' = False
+            zoneStatusMask: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -22762,13 +22404,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class IasWd(Cluster):
     id: typing.ClassVar[int] = 0x0502
 
+
+
     class Commands:
         @dataclass
         class StartWarning(ClusterCommand):
@@ -22779,21 +22424,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="warningInfo", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="warningDuration", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="strobeDutyCycle", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="strobeLevel", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="warningInfo", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="warningDuration", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="strobeDutyCycle", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="strobeLevel", Tag=3, Type=uint),
                     ])
 
-            warningInfo: 'uint' = None
-            warningDuration: 'uint' = None
-            strobeDutyCycle: 'uint' = None
-            strobeLevel: 'uint' = None
+            warningInfo: 'uint' = 0
+            warningDuration: 'uint' = 0
+            strobeDutyCycle: 'uint' = 0
+            strobeLevel: 'uint' = 0
 
         @dataclass
         class Squawk(ClusterCommand):
@@ -22804,12 +22445,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="squawkInfo", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="squawkInfo", Tag=0, Type=uint),
                     ])
 
-            squawkInfo: 'uint' = None
+            squawkInfo: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -22826,7 +22467,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -22858,13 +22499,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class WakeOnLan(Cluster):
     id: typing.ClassVar[int] = 0x0503
 
+
+
+
     class Attributes:
         @dataclass
         class WakeOnLanMacAddress(ClusterAttributeDescriptor):
@@ -22880,7 +22525,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -22912,7 +22557,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -22927,51 +22573,45 @@
         class TvChannelLineupInfoType(IntEnum):
             kMso = 0x00
 
+
     class Structs:
         @dataclass
         class TvChannelInfo(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="majorNumber", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="minorNumber", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=3, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="callSign", Tag=4, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="affiliateCallSign", Tag=5, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="majorNumber", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="minorNumber", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=3, Type=str),
+                            ClusterObjectFieldDescriptor(Label="callSign", Tag=4, Type=str),
+                            ClusterObjectFieldDescriptor(Label="affiliateCallSign", Tag=5, Type=str),
                     ])
 
-            majorNumber: 'uint' = None
-            minorNumber: 'uint' = None
-            name: 'str' = None
-            callSign: 'str' = None
-            affiliateCallSign: 'str' = None
+            majorNumber: 'uint' = 0
+            minorNumber: 'uint' = 0
+            name: 'str' = ""
+            callSign: 'str' = ""
+            affiliateCallSign: 'str' = ""
 
         @dataclass
         class TvChannelLineupInfo(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="operatorName", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="lineupName", Tag=2, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="postalCode", Tag=3, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="lineupInfoType", Tag=4, Type=TvChannel.Enums.TvChannelLineupInfoType),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="operatorName", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="lineupName", Tag=2, Type=str),
+                            ClusterObjectFieldDescriptor(Label="postalCode", Tag=3, Type=str),
+                            ClusterObjectFieldDescriptor(Label="lineupInfoType", Tag=4, Type=TvChannel.Enums.TvChannelLineupInfoType),
                     ])
 
-            operatorName: 'str' = None
-            lineupName: 'str' = None
-            postalCode: 'str' = None
-            lineupInfoType: 'TvChannel.Enums.TvChannelLineupInfoType' = None
+            operatorName: 'str' = ""
+            lineupName: 'str' = ""
+            postalCode: 'str' = ""
+            lineupInfoType: 'TvChannel.Enums.TvChannelLineupInfoType' = 0
+
+
 
     class Commands:
         @dataclass
@@ -22983,12 +22623,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="match", Tag=0, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="match", Tag=0, Type=str),
                     ])
 
-            match: 'str' = None
+            match: 'str' = ""
 
         @dataclass
         class ChangeChannelResponse(ClusterCommand):
@@ -22999,15 +22638,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="channelMatch", Tag=0, Type=typing.List[TvChannel.Structs.TvChannelInfo]),
-                        ClusterObjectFieldDescriptor(
-                            Label="errorType", Tag=1, Type=TvChannel.Enums.TvChannelErrorType),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="channelMatch", Tag=0, Type=typing.List[TvChannel.Structs.TvChannelInfo]),
+                            ClusterObjectFieldDescriptor(Label="errorType", Tag=1, Type=TvChannel.Enums.TvChannelErrorType),
                     ])
 
-            channelMatch: 'typing.List[TvChannel.Structs.TvChannelInfo]' = None
-            errorType: 'TvChannel.Enums.TvChannelErrorType' = None
+            channelMatch: 'typing.List[TvChannel.Structs.TvChannelInfo]' = field(default_factory=lambda: [])
+            errorType: 'TvChannel.Enums.TvChannelErrorType' = 0
 
         @dataclass
         class ChangeChannelByNumber(ClusterCommand):
@@ -23018,15 +22655,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="majorNumber", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="minorNumber", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="majorNumber", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="minorNumber", Tag=1, Type=uint),
                     ])
 
-            majorNumber: 'uint' = None
-            minorNumber: 'uint' = None
+            majorNumber: 'uint' = 0
+            minorNumber: 'uint' = 0
 
         @dataclass
         class SkipChannel(ClusterCommand):
@@ -23037,12 +22672,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="count", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="count", Tag=0, Type=uint),
                     ])
 
-            count: 'uint' = None
+            count: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -23059,7 +22694,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[TvChannel.Structs.TvChannelInfo])
 
-            value: 'typing.List[TvChannel.Structs.TvChannelInfo]' = None
+            value: 'typing.List[TvChannel.Structs.TvChannelInfo]' = field(default_factory=lambda: [])
 
         @dataclass
         class TvChannelLineup(ClusterAttributeDescriptor):
@@ -23075,7 +22710,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bytes)
 
-            value: 'bytes' = None
+            value: 'bytes' = b""
 
         @dataclass
         class CurrentTvChannel(ClusterAttributeDescriptor):
@@ -23091,7 +22726,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bytes)
 
-            value: 'bytes' = None
+            value: 'bytes' = b""
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -23123,7 +22758,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -23136,21 +22772,22 @@
             kAppNotAvailable = 0x01
             kSystemBusy = 0x02
 
+
     class Structs:
         @dataclass
         class NavigateTargetTargetInfo(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="identifier", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=2, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="identifier", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=str),
                     ])
 
-            identifier: 'uint' = None
-            name: 'str' = None
+            identifier: 'uint' = 0
+            name: 'str' = ""
+
+
 
     class Commands:
         @dataclass
@@ -23162,15 +22799,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="target", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="target", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=str),
                     ])
 
-            target: 'uint' = None
-            data: 'str' = None
+            target: 'uint' = 0
+            data: 'str' = ""
 
         @dataclass
         class NavigateTargetResponse(ClusterCommand):
@@ -23181,15 +22816,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=TargetNavigator.Enums.NavigateTargetStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=TargetNavigator.Enums.NavigateTargetStatus),
+                            ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=str),
                     ])
 
-            status: 'TargetNavigator.Enums.NavigateTargetStatus' = None
-            data: 'str' = None
+            status: 'TargetNavigator.Enums.NavigateTargetStatus' = 0
+            data: 'str' = ""
+
 
     class Attributes:
         @dataclass
@@ -23206,7 +22840,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[TargetNavigator.Structs.NavigateTargetTargetInfo])
 
-            value: 'typing.List[TargetNavigator.Structs.NavigateTargetTargetInfo]' = None
+            value: 'typing.List[TargetNavigator.Structs.NavigateTargetTargetInfo]' = field(default_factory=lambda: [])
 
         @dataclass
         class CurrentNavigatorTarget(ClusterAttributeDescriptor):
@@ -23254,7 +22888,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -23276,21 +22911,22 @@
             kSpeedOutOfRange = 0x04
             kSeekOutOfRange = 0x05
 
+
     class Structs:
         @dataclass
         class MediaPlaybackPosition(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="updatedAt", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="position", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="updatedAt", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="position", Tag=2, Type=uint),
                     ])
 
-            updatedAt: 'uint' = None
-            position: 'uint' = None
+            updatedAt: 'uint' = 0
+            position: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -23302,9 +22938,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MediaPlayResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0506
@@ -23314,12 +22951,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaPause(ClusterCommand):
@@ -23330,9 +22966,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MediaPauseResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0506
@@ -23342,12 +22979,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaStop(ClusterCommand):
@@ -23358,9 +22994,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MediaStopResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0506
@@ -23370,12 +23007,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaStartOver(ClusterCommand):
@@ -23386,9 +23022,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MediaStartOverResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0506
@@ -23398,12 +23035,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaPrevious(ClusterCommand):
@@ -23414,9 +23050,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MediaPreviousResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0506
@@ -23426,12 +23063,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaNext(ClusterCommand):
@@ -23442,9 +23078,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MediaNextResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0506
@@ -23454,12 +23091,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaRewind(ClusterCommand):
@@ -23470,9 +23106,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MediaRewindResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0506
@@ -23482,12 +23119,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaFastForward(ClusterCommand):
@@ -23498,9 +23134,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class MediaFastForwardResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0506
@@ -23510,12 +23147,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaSkipForward(ClusterCommand):
@@ -23526,12 +23162,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="deltaPositionMilliseconds", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="deltaPositionMilliseconds", Tag=0, Type=uint),
                     ])
 
-            deltaPositionMilliseconds: 'uint' = None
+            deltaPositionMilliseconds: 'uint' = 0
 
         @dataclass
         class MediaSkipForwardResponse(ClusterCommand):
@@ -23542,12 +23177,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaSkipBackward(ClusterCommand):
@@ -23558,12 +23192,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="deltaPositionMilliseconds", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="deltaPositionMilliseconds", Tag=0, Type=uint),
                     ])
 
-            deltaPositionMilliseconds: 'uint' = None
+            deltaPositionMilliseconds: 'uint' = 0
 
         @dataclass
         class MediaSkipBackwardResponse(ClusterCommand):
@@ -23574,12 +23207,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
 
         @dataclass
         class MediaSeek(ClusterCommand):
@@ -23590,12 +23222,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="position", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="position", Tag=0, Type=uint),
                     ])
 
-            position: 'uint' = None
+            position: 'uint' = 0
 
         @dataclass
         class MediaSeekResponse(ClusterCommand):
@@ -23606,12 +23237,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="mediaPlaybackStatus", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatus),
                     ])
 
-            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = None
+            mediaPlaybackStatus: 'MediaPlayback.Enums.MediaPlaybackStatus' = 0
+
 
     class Attributes:
         @dataclass
@@ -23772,7 +23403,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -23794,27 +23426,26 @@
             kUsb = 0x0A
             kOther = 0x0B
 
+
     class Structs:
         @dataclass
         class MediaInputInfo(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="index", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="inputType", Tag=2, Type=MediaInput.Enums.MediaInputType),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=3, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="description", Tag=4, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="index", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="inputType", Tag=2, Type=MediaInput.Enums.MediaInputType),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=3, Type=str),
+                            ClusterObjectFieldDescriptor(Label="description", Tag=4, Type=str),
                     ])
 
-            index: 'uint' = None
-            inputType: 'MediaInput.Enums.MediaInputType' = None
-            name: 'str' = None
-            description: 'str' = None
+            index: 'uint' = 0
+            inputType: 'MediaInput.Enums.MediaInputType' = 0
+            name: 'str' = ""
+            description: 'str' = ""
+
+
 
     class Commands:
         @dataclass
@@ -23826,12 +23457,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="index", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint),
                     ])
 
-            index: 'uint' = None
+            index: 'uint' = 0
 
         @dataclass
         class ShowInputStatus(ClusterCommand):
@@ -23842,9 +23472,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class HideInputStatus(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0507
@@ -23854,9 +23485,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class RenameInput(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0507
@@ -23866,15 +23498,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="index", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str),
                     ])
 
-            index: 'uint' = None
-            name: 'str' = None
+            index: 'uint' = 0
+            name: 'str' = ""
+
 
     class Attributes:
         @dataclass
@@ -23891,7 +23522,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[MediaInput.Structs.MediaInputInfo])
 
-            value: 'typing.List[MediaInput.Structs.MediaInputInfo]' = None
+            value: 'typing.List[MediaInput.Structs.MediaInputInfo]' = field(default_factory=lambda: [])
 
         @dataclass
         class CurrentMediaInput(ClusterAttributeDescriptor):
@@ -23939,13 +23570,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class LowPower(Cluster):
     id: typing.ClassVar[int] = 0x0508
 
+
+
     class Commands:
         @dataclass
         class Sleep(ClusterCommand):
@@ -23956,9 +23590,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
+
     class Attributes:
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -23990,7 +23626,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -24091,6 +23728,8 @@
             kUnsupportedKey = 0x01
             kInvalidKeyInCurrentState = 0x02
 
+
+
     class Commands:
         @dataclass
         class SendKey(ClusterCommand):
@@ -24101,12 +23740,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="keyCode", Tag=0, Type=KeypadInput.Enums.KeypadInputCecKeyCode),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="keyCode", Tag=0, Type=KeypadInput.Enums.KeypadInputCecKeyCode),
                     ])
 
-            keyCode: 'KeypadInput.Enums.KeypadInputCecKeyCode' = None
+            keyCode: 'KeypadInput.Enums.KeypadInputCecKeyCode' = 0
 
         @dataclass
         class SendKeyResponse(ClusterCommand):
@@ -24117,12 +23755,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=KeypadInput.Enums.KeypadInputStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=KeypadInput.Enums.KeypadInputStatus),
                     ])
 
-            status: 'KeypadInput.Enums.KeypadInputStatus' = None
+            status: 'KeypadInput.Enums.KeypadInputStatus' = 0
+
 
     class Attributes:
         @dataclass
@@ -24155,7 +23793,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -24189,102 +23828,88 @@
             kDash = 0x00
             kHls = 0x01
 
+
     class Structs:
         @dataclass
         class ContentLaunchAdditionalInfo(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="value", Tag=2, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="value", Tag=2, Type=str),
                     ])
 
-            name: 'str' = None
-            value: 'str' = None
+            name: 'str' = ""
+            value: 'str' = ""
 
         @dataclass
         class ContentLaunchParamater(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="type", Tag=1, Type=ContentLauncher.Enums.ContentLaunchParameterEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="value", Tag=2, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="externalIDList", Tag=3, Type=typing.List[ContentLauncher.Structs.ContentLaunchAdditionalInfo]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="type", Tag=1, Type=ContentLauncher.Enums.ContentLaunchParameterEnum),
+                            ClusterObjectFieldDescriptor(Label="value", Tag=2, Type=str),
+                            ClusterObjectFieldDescriptor(Label="externalIDList", Tag=3, Type=typing.List[ContentLauncher.Structs.ContentLaunchAdditionalInfo]),
                     ])
 
-            type: 'ContentLauncher.Enums.ContentLaunchParameterEnum' = None
-            value: 'str' = None
-            externalIDList: 'typing.List[ContentLauncher.Structs.ContentLaunchAdditionalInfo]' = None
+            type: 'ContentLauncher.Enums.ContentLaunchParameterEnum' = 0
+            value: 'str' = ""
+            externalIDList: 'typing.List[ContentLauncher.Structs.ContentLaunchAdditionalInfo]' = field(default_factory=lambda: [])
 
         @dataclass
         class ContentLaunchBrandingInformation(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="providerName", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="background", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="logo", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="progressBar", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="splash", Tag=5, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="waterMark", Tag=6, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="providerName", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="background", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="logo", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="progressBar", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="splash", Tag=5, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="waterMark", Tag=6, Type=uint),
                     ])
 
-            providerName: 'str' = None
-            background: 'uint' = None
-            logo: 'uint' = None
-            progressBar: 'uint' = None
-            splash: 'uint' = None
-            waterMark: 'uint' = None
+            providerName: 'str' = ""
+            background: 'uint' = 0
+            logo: 'uint' = 0
+            progressBar: 'uint' = 0
+            splash: 'uint' = 0
+            waterMark: 'uint' = 0
 
         @dataclass
         class ContentLaunchDimension(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="width", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="height", Tag=2, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="metric", Tag=3, Type=ContentLauncher.Enums.ContentLaunchMetricType),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="width", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="height", Tag=2, Type=str),
+                            ClusterObjectFieldDescriptor(Label="metric", Tag=3, Type=ContentLauncher.Enums.ContentLaunchMetricType),
                     ])
 
-            width: 'str' = None
-            height: 'str' = None
-            metric: 'ContentLauncher.Enums.ContentLaunchMetricType' = None
+            width: 'str' = ""
+            height: 'str' = ""
+            metric: 'ContentLauncher.Enums.ContentLaunchMetricType' = 0
 
         @dataclass
         class ContentLaunchStyleInformation(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="imageUrl", Tag=1, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="color", Tag=2, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="size", Tag=3, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="imageUrl", Tag=1, Type=str),
+                            ClusterObjectFieldDescriptor(Label="color", Tag=2, Type=str),
+                            ClusterObjectFieldDescriptor(Label="size", Tag=3, Type=uint),
                     ])
 
-            imageUrl: 'str' = None
-            color: 'str' = None
-            size: 'uint' = None
+            imageUrl: 'str' = ""
+            color: 'str' = ""
+            size: 'uint' = 0
+
+
 
     class Commands:
         @dataclass
@@ -24296,15 +23921,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="autoPlay", Tag=0, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="autoPlay", Tag=0, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=str),
                     ])
 
-            autoPlay: 'bool' = None
-            data: 'str' = None
+            autoPlay: 'bool' = False
+            data: 'str' = ""
 
         @dataclass
         class LaunchContentResponse(ClusterCommand):
@@ -24315,15 +23938,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=0, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="contentLaunchStatus", Tag=1, Type=ContentLauncher.Enums.ContentLaunchStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="data", Tag=0, Type=str),
+                            ClusterObjectFieldDescriptor(Label="contentLaunchStatus", Tag=1, Type=ContentLauncher.Enums.ContentLaunchStatus),
                     ])
 
-            data: 'str' = None
-            contentLaunchStatus: 'ContentLauncher.Enums.ContentLaunchStatus' = None
+            data: 'str' = ""
+            contentLaunchStatus: 'ContentLauncher.Enums.ContentLaunchStatus' = 0
 
         @dataclass
         class LaunchURL(ClusterCommand):
@@ -24334,15 +23955,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="contentURL", Tag=0, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="displayString", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="contentURL", Tag=0, Type=str),
+                            ClusterObjectFieldDescriptor(Label="displayString", Tag=1, Type=str),
                     ])
 
-            contentURL: 'str' = None
-            displayString: 'str' = None
+            contentURL: 'str' = ""
+            displayString: 'str' = ""
 
         @dataclass
         class LaunchURLResponse(ClusterCommand):
@@ -24353,15 +23972,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=0, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="contentLaunchStatus", Tag=1, Type=ContentLauncher.Enums.ContentLaunchStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="data", Tag=0, Type=str),
+                            ClusterObjectFieldDescriptor(Label="contentLaunchStatus", Tag=1, Type=ContentLauncher.Enums.ContentLaunchStatus),
                     ])
 
-            data: 'str' = None
-            contentLaunchStatus: 'ContentLauncher.Enums.ContentLaunchStatus' = None
+            data: 'str' = ""
+            contentLaunchStatus: 'ContentLauncher.Enums.ContentLaunchStatus' = 0
+
 
     class Attributes:
         @dataclass
@@ -24378,7 +23996,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[bytes])
 
-            value: 'typing.List[bytes]' = None
+            value: 'typing.List[bytes]' = field(default_factory=lambda: [])
 
         @dataclass
         class SupportedStreamingTypes(ClusterAttributeDescriptor):
@@ -24394,7 +24012,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[ContentLauncher.Enums.ContentLaunchStreamingType])
 
-            value: 'typing.List[ContentLauncher.Enums.ContentLaunchStreamingType]' = None
+            value: 'typing.List[ContentLauncher.Enums.ContentLaunchStreamingType]' = field(default_factory=lambda: [])
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -24426,7 +24044,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -24442,24 +24061,24 @@
             kInternal = 0x04
             kOther = 0x05
 
+
     class Structs:
         @dataclass
         class AudioOutputInfo(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="index", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="outputType", Tag=2, Type=AudioOutput.Enums.AudioOutputType),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=3, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="index", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="outputType", Tag=2, Type=AudioOutput.Enums.AudioOutputType),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=3, Type=str),
                     ])
 
-            index: 'uint' = None
-            outputType: 'AudioOutput.Enums.AudioOutputType' = None
-            name: 'str' = None
+            index: 'uint' = 0
+            outputType: 'AudioOutput.Enums.AudioOutputType' = 0
+            name: 'str' = ""
+
+
 
     class Commands:
         @dataclass
@@ -24471,12 +24090,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="index", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint),
                     ])
 
-            index: 'uint' = None
+            index: 'uint' = 0
 
         @dataclass
         class RenameOutput(ClusterCommand):
@@ -24487,15 +24105,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="index", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="name", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str),
                     ])
 
-            index: 'uint' = None
-            name: 'str' = None
+            index: 'uint' = 0
+            name: 'str' = ""
+
 
     class Attributes:
         @dataclass
@@ -24512,7 +24129,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[AudioOutput.Structs.AudioOutputInfo])
 
-            value: 'typing.List[AudioOutput.Structs.AudioOutputInfo]' = None
+            value: 'typing.List[AudioOutput.Structs.AudioOutputInfo]' = field(default_factory=lambda: [])
 
         @dataclass
         class CurrentAudioOutput(ClusterAttributeDescriptor):
@@ -24560,7 +24177,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -24573,21 +24191,22 @@
             kAppNotAvailable = 0x01
             kSystemBusy = 0x02
 
+
     class Structs:
         @dataclass
         class ApplicationLauncherApp(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="catalogVendorId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="applicationId", Tag=2, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="catalogVendorId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="applicationId", Tag=2, Type=str),
                     ])
 
-            catalogVendorId: 'uint' = None
-            applicationId: 'str' = None
+            catalogVendorId: 'uint' = 0
+            applicationId: 'str' = ""
+
+
 
     class Commands:
         @dataclass
@@ -24599,18 +24218,15 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=0, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="catalogVendorId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="applicationId", Tag=2, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="data", Tag=0, Type=str),
+                            ClusterObjectFieldDescriptor(Label="catalogVendorId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="applicationId", Tag=2, Type=str),
                     ])
 
-            data: 'str' = None
-            catalogVendorId: 'uint' = None
-            applicationId: 'str' = None
+            data: 'str' = ""
+            catalogVendorId: 'uint' = 0
+            applicationId: 'str' = ""
 
         @dataclass
         class LaunchAppResponse(ClusterCommand):
@@ -24621,15 +24237,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=ApplicationLauncher.Enums.ApplicationLauncherStatus),
-                        ClusterObjectFieldDescriptor(
-                            Label="data", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=ApplicationLauncher.Enums.ApplicationLauncherStatus),
+                            ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=str),
                     ])
 
-            status: 'ApplicationLauncher.Enums.ApplicationLauncherStatus' = None
-            data: 'str' = None
+            status: 'ApplicationLauncher.Enums.ApplicationLauncherStatus' = 0
+            data: 'str' = ""
+
 
     class Attributes:
         @dataclass
@@ -24646,7 +24261,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[uint])
 
-            value: 'typing.List[uint]' = None
+            value: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class CatalogVendorId(ClusterAttributeDescriptor):
@@ -24710,7 +24325,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -24724,6 +24340,8 @@
             kActiveHidden = 0x02
             kActiveVisibleNotFocus = 0x03
 
+
+
     class Commands:
         @dataclass
         class ChangeStatus(ClusterCommand):
@@ -24734,12 +24352,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=0, Type=ApplicationBasic.Enums.ApplicationBasicStatus),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=ApplicationBasic.Enums.ApplicationBasicStatus),
                     ])
 
-            status: 'ApplicationBasic.Enums.ApplicationBasicStatus' = None
+            status: 'ApplicationBasic.Enums.ApplicationBasicStatus' = 0
+
 
     class Attributes:
         @dataclass
@@ -24756,7 +24374,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class VendorId(ClusterAttributeDescriptor):
@@ -24772,7 +24390,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ApplicationName(ClusterAttributeDescriptor):
@@ -24788,7 +24406,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class ProductId(ClusterAttributeDescriptor):
@@ -24804,7 +24422,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ApplicationId(ClusterAttributeDescriptor):
@@ -24820,7 +24438,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class CatalogVendorId(ClusterAttributeDescriptor):
@@ -24836,7 +24454,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ApplicationStatus(ClusterAttributeDescriptor):
@@ -24852,7 +24470,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -24884,13 +24502,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class AccountLogin(Cluster):
     id: typing.ClassVar[int] = 0x050E
 
+
+
     class Commands:
         @dataclass
         class GetSetupPIN(ClusterCommand):
@@ -24901,12 +24522,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="tempAccountIdentifier", Tag=0, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="tempAccountIdentifier", Tag=0, Type=str),
                     ])
 
-            tempAccountIdentifier: 'str' = None
+            tempAccountIdentifier: 'str' = ""
 
         @dataclass
         class GetSetupPINResponse(ClusterCommand):
@@ -24917,12 +24537,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="setupPIN", Tag=0, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="setupPIN", Tag=0, Type=str),
                     ])
 
-            setupPIN: 'str' = None
+            setupPIN: 'str' = ""
 
         @dataclass
         class Login(ClusterCommand):
@@ -24933,15 +24552,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="tempAccountIdentifier", Tag=0, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="setupPIN", Tag=1, Type=str),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="tempAccountIdentifier", Tag=0, Type=str),
+                            ClusterObjectFieldDescriptor(Label="setupPIN", Tag=1, Type=str),
                     ])
 
-            tempAccountIdentifier: 'str' = None
-            setupPIN: 'str' = None
+            tempAccountIdentifier: 'str' = ""
+            setupPIN: 'str' = ""
+
 
     class Attributes:
         @dataclass
@@ -24974,7 +24592,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -24988,82 +24607,63 @@
             kValueB = 0x02
             kValueC = 0x03
 
+
     class Structs:
         @dataclass
         class SimpleStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="a", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="b", Tag=2, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="c", Tag=3, Type=TestCluster.Enums.SimpleEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="d", Tag=4, Type=bytes),
-                        ClusterObjectFieldDescriptor(
-                            Label="e", Tag=5, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="f", Tag=6, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="g", Tag=7, Type=float),
-                        ClusterObjectFieldDescriptor(
-                            Label="h", Tag=8, Type=float),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="a", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="b", Tag=2, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="c", Tag=3, Type=TestCluster.Enums.SimpleEnum),
+                            ClusterObjectFieldDescriptor(Label="d", Tag=4, Type=bytes),
+                            ClusterObjectFieldDescriptor(Label="e", Tag=5, Type=str),
+                            ClusterObjectFieldDescriptor(Label="f", Tag=6, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="g", Tag=7, Type=float),
+                            ClusterObjectFieldDescriptor(Label="h", Tag=8, Type=float),
                     ])
 
-            a: 'uint' = None
-            b: 'bool' = None
-            c: 'TestCluster.Enums.SimpleEnum' = None
-            d: 'bytes' = None
-            e: 'str' = None
-            f: 'uint' = None
-            g: 'float' = None
-            h: 'float' = None
+            a: 'uint' = 0
+            b: 'bool' = False
+            c: 'TestCluster.Enums.SimpleEnum' = 0
+            d: 'bytes' = b""
+            e: 'str' = ""
+            f: 'uint' = 0
+            g: 'float' = 0.0
+            h: 'float' = 0.0
 
         @dataclass
         class NullablesAndOptionalsStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableInt", Tag=1, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalInt", Tag=2, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalInt", Tag=3, Type=typing.Union[None, Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableString", Tag=4, Type=typing.Union[Nullable, str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalString", Tag=5, Type=typing.Optional[str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalString", Tag=6, Type=typing.Union[None, Nullable, str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableStruct", Tag=7, Type=typing.Union[Nullable, TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalStruct", Tag=8, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalStruct", Tag=9, Type=typing.Union[None, Nullable, TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableList", Tag=10, Type=typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalList", Tag=11, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalList", Tag=12, Type=typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="nullableInt", Tag=1, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="optionalInt", Tag=2, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalInt", Tag=3, Type=typing.Union[None, Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="nullableString", Tag=4, Type=typing.Union[Nullable, str]),
+                            ClusterObjectFieldDescriptor(Label="optionalString", Tag=5, Type=typing.Optional[str]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalString", Tag=6, Type=typing.Union[None, Nullable, str]),
+                            ClusterObjectFieldDescriptor(Label="nullableStruct", Tag=7, Type=typing.Union[Nullable, TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="optionalStruct", Tag=8, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalStruct", Tag=9, Type=typing.Union[None, Nullable, TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="nullableList", Tag=10, Type=typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]),
+                            ClusterObjectFieldDescriptor(Label="optionalList", Tag=11, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalList", Tag=12, Type=typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]),
                     ])
 
-            nullableInt: 'typing.Union[Nullable, uint]' = None
+            nullableInt: 'typing.Union[Nullable, uint]' = NullValue
             optionalInt: 'typing.Optional[uint]' = None
             nullableOptionalInt: 'typing.Union[None, Nullable, uint]' = None
-            nullableString: 'typing.Union[Nullable, str]' = None
+            nullableString: 'typing.Union[Nullable, str]' = NullValue
             optionalString: 'typing.Optional[str]' = None
             nullableOptionalString: 'typing.Union[None, Nullable, str]' = None
-            nullableStruct: 'typing.Union[Nullable, TestCluster.Structs.SimpleStruct]' = None
+            nullableStruct: 'typing.Union[Nullable, TestCluster.Structs.SimpleStruct]' = NullValue
             optionalStruct: 'typing.Optional[TestCluster.Structs.SimpleStruct]' = None
             nullableOptionalStruct: 'typing.Union[None, Nullable, TestCluster.Structs.SimpleStruct]' = None
-            nullableList: 'typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]' = None
+            nullableList: 'typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]' = NullValue
             optionalList: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None
             nullableOptionalList: 'typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]' = None
 
@@ -25072,75 +24672,64 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="a", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="b", Tag=2, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="c", Tag=3, Type=TestCluster.Structs.SimpleStruct),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="a", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="b", Tag=2, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="c", Tag=3, Type=TestCluster.Structs.SimpleStruct),
                     ])
 
-            a: 'uint' = None
-            b: 'bool' = None
-            c: 'TestCluster.Structs.SimpleStruct' = None
+            a: 'uint' = 0
+            b: 'bool' = False
+            c: 'TestCluster.Structs.SimpleStruct' = field(default_factory=lambda: TestCluster.Structs.SimpleStruct())
 
         @dataclass
         class NestedStructList(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="a", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="b", Tag=2, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="c", Tag=3, Type=TestCluster.Structs.SimpleStruct),
-                        ClusterObjectFieldDescriptor(
-                            Label="d", Tag=4, Type=typing.List[TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="e", Tag=5, Type=typing.List[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="f", Tag=6, Type=typing.List[bytes]),
-                        ClusterObjectFieldDescriptor(
-                            Label="g", Tag=7, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="a", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="b", Tag=2, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="c", Tag=3, Type=TestCluster.Structs.SimpleStruct),
+                            ClusterObjectFieldDescriptor(Label="d", Tag=4, Type=typing.List[TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="e", Tag=5, Type=typing.List[uint]),
+                            ClusterObjectFieldDescriptor(Label="f", Tag=6, Type=typing.List[bytes]),
+                            ClusterObjectFieldDescriptor(Label="g", Tag=7, Type=typing.List[uint]),
                     ])
 
-            a: 'uint' = None
-            b: 'bool' = None
-            c: 'TestCluster.Structs.SimpleStruct' = None
-            d: 'typing.List[TestCluster.Structs.SimpleStruct]' = None
-            e: 'typing.List[uint]' = None
-            f: 'typing.List[bytes]' = None
-            g: 'typing.List[uint]' = None
+            a: 'uint' = 0
+            b: 'bool' = False
+            c: 'TestCluster.Structs.SimpleStruct' = field(default_factory=lambda: TestCluster.Structs.SimpleStruct())
+            d: 'typing.List[TestCluster.Structs.SimpleStruct]' = field(default_factory=lambda: [])
+            e: 'typing.List[uint]' = field(default_factory=lambda: [])
+            f: 'typing.List[bytes]' = field(default_factory=lambda: [])
+            g: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class DoubleNestedStructList(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="a", Tag=1, Type=typing.List[TestCluster.Structs.NestedStructList]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="a", Tag=1, Type=typing.List[TestCluster.Structs.NestedStructList]),
                     ])
 
-            a: 'typing.List[TestCluster.Structs.NestedStructList]' = None
+            a: 'typing.List[TestCluster.Structs.NestedStructList]' = field(default_factory=lambda: [])
 
         @dataclass
         class TestListStructOctet(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="fabricIndex", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="operationalCert", Tag=2, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="operationalCert", Tag=2, Type=bytes),
                     ])
 
-            fabricIndex: 'uint' = None
-            operationalCert: 'bytes' = None
+            fabricIndex: 'uint' = 0
+            operationalCert: 'bytes' = b""
+
+
 
     class Commands:
         @dataclass
@@ -25152,9 +24741,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class TestSpecificResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x050F
@@ -25164,12 +24754,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="returnValue", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="returnValue", Tag=0, Type=uint),
                     ])
 
-            returnValue: 'uint' = None
+            returnValue: 'uint' = 0
 
         @dataclass
         class TestNotHandled(ClusterCommand):
@@ -25180,9 +24769,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class TestAddArgumentsResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x050F
@@ -25192,12 +24782,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="returnValue", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="returnValue", Tag=0, Type=uint),
                     ])
 
-            returnValue: 'uint' = None
+            returnValue: 'uint' = 0
 
         @dataclass
         class TestSpecific(ClusterCommand):
@@ -25208,9 +24797,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class TestSimpleArgumentResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x050F
@@ -25220,12 +24810,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="returnValue", Tag=0, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="returnValue", Tag=0, Type=bool),
                     ])
 
-            returnValue: 'bool' = None
+            returnValue: 'bool' = False
 
         @dataclass
         class TestUnknownCommand(ClusterCommand):
@@ -25236,9 +24825,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class TestStructArrayArgumentResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x050F
@@ -25248,27 +24838,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg2", Tag=1, Type=typing.List[TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg3", Tag=2, Type=typing.List[TestCluster.Enums.SimpleEnum]),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg4", Tag=3, Type=typing.List[bool]),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg5", Tag=4, Type=TestCluster.Enums.SimpleEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg6", Tag=5, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]),
+                            ClusterObjectFieldDescriptor(Label="arg2", Tag=1, Type=typing.List[TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="arg3", Tag=2, Type=typing.List[TestCluster.Enums.SimpleEnum]),
+                            ClusterObjectFieldDescriptor(Label="arg4", Tag=3, Type=typing.List[bool]),
+                            ClusterObjectFieldDescriptor(Label="arg5", Tag=4, Type=TestCluster.Enums.SimpleEnum),
+                            ClusterObjectFieldDescriptor(Label="arg6", Tag=5, Type=bool),
                     ])
 
-            arg1: 'typing.List[TestCluster.Structs.NestedStructList]' = None
-            arg2: 'typing.List[TestCluster.Structs.SimpleStruct]' = None
-            arg3: 'typing.List[TestCluster.Enums.SimpleEnum]' = None
-            arg4: 'typing.List[bool]' = None
-            arg5: 'TestCluster.Enums.SimpleEnum' = None
-            arg6: 'bool' = None
+            arg1: 'typing.List[TestCluster.Structs.NestedStructList]' = field(default_factory=lambda: [])
+            arg2: 'typing.List[TestCluster.Structs.SimpleStruct]' = field(default_factory=lambda: [])
+            arg3: 'typing.List[TestCluster.Enums.SimpleEnum]' = field(default_factory=lambda: [])
+            arg4: 'typing.List[bool]' = field(default_factory=lambda: [])
+            arg5: 'TestCluster.Enums.SimpleEnum' = 0
+            arg6: 'bool' = False
 
         @dataclass
         class TestAddArguments(ClusterCommand):
@@ -25279,15 +24863,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg2", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="arg2", Tag=1, Type=uint),
                     ])
 
-            arg1: 'uint' = None
-            arg2: 'uint' = None
+            arg1: 'uint' = 0
+            arg2: 'uint' = 0
 
         @dataclass
         class TestListInt8UReverseResponse(ClusterCommand):
@@ -25298,12 +24880,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=typing.List[uint]),
                     ])
 
-            arg1: 'typing.List[uint]' = None
+            arg1: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class TestSimpleArgumentRequest(ClusterCommand):
@@ -25314,12 +24895,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=bool),
                     ])
 
-            arg1: 'bool' = None
+            arg1: 'bool' = False
 
         @dataclass
         class TestEnumsResponse(ClusterCommand):
@@ -25330,15 +24910,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg2", Tag=1, Type=TestCluster.Enums.SimpleEnum),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="arg2", Tag=1, Type=TestCluster.Enums.SimpleEnum),
                     ])
 
-            arg1: 'uint' = None
-            arg2: 'TestCluster.Enums.SimpleEnum' = None
+            arg1: 'uint' = 0
+            arg2: 'TestCluster.Enums.SimpleEnum' = 0
 
         @dataclass
         class TestStructArrayArgumentRequest(ClusterCommand):
@@ -25349,27 +24927,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg2", Tag=1, Type=typing.List[TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg3", Tag=2, Type=typing.List[TestCluster.Enums.SimpleEnum]),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg4", Tag=3, Type=typing.List[bool]),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg5", Tag=4, Type=TestCluster.Enums.SimpleEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg6", Tag=5, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]),
+                            ClusterObjectFieldDescriptor(Label="arg2", Tag=1, Type=typing.List[TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="arg3", Tag=2, Type=typing.List[TestCluster.Enums.SimpleEnum]),
+                            ClusterObjectFieldDescriptor(Label="arg4", Tag=3, Type=typing.List[bool]),
+                            ClusterObjectFieldDescriptor(Label="arg5", Tag=4, Type=TestCluster.Enums.SimpleEnum),
+                            ClusterObjectFieldDescriptor(Label="arg6", Tag=5, Type=bool),
                     ])
 
-            arg1: 'typing.List[TestCluster.Structs.NestedStructList]' = None
-            arg2: 'typing.List[TestCluster.Structs.SimpleStruct]' = None
-            arg3: 'typing.List[TestCluster.Enums.SimpleEnum]' = None
-            arg4: 'typing.List[bool]' = None
-            arg5: 'TestCluster.Enums.SimpleEnum' = None
-            arg6: 'bool' = None
+            arg1: 'typing.List[TestCluster.Structs.NestedStructList]' = field(default_factory=lambda: [])
+            arg2: 'typing.List[TestCluster.Structs.SimpleStruct]' = field(default_factory=lambda: [])
+            arg3: 'typing.List[TestCluster.Enums.SimpleEnum]' = field(default_factory=lambda: [])
+            arg4: 'typing.List[bool]' = field(default_factory=lambda: [])
+            arg5: 'TestCluster.Enums.SimpleEnum' = 0
+            arg6: 'bool' = False
 
         @dataclass
         class TestNullableOptionalResponse(ClusterCommand):
@@ -25380,18 +24952,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="wasPresent", Tag=0, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="wasNull", Tag=1, Type=typing.Optional[bool]),
-                        ClusterObjectFieldDescriptor(
-                            Label="value", Tag=2, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="originalValue", Tag=3, Type=typing.Union[None, Nullable, uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="wasPresent", Tag=0, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="wasNull", Tag=1, Type=typing.Optional[bool]),
+                            ClusterObjectFieldDescriptor(Label="value", Tag=2, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="originalValue", Tag=3, Type=typing.Union[None, Nullable, uint]),
                     ])
 
-            wasPresent: 'bool' = None
+            wasPresent: 'bool' = False
             wasNull: 'typing.Optional[bool]' = None
             value: 'typing.Optional[uint]' = None
             originalValue: 'typing.Union[None, Nullable, uint]' = None
@@ -25405,12 +24973,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=TestCluster.Structs.SimpleStruct),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=TestCluster.Structs.SimpleStruct),
                     ])
 
-            arg1: 'TestCluster.Structs.SimpleStruct' = None
+            arg1: 'TestCluster.Structs.SimpleStruct' = field(default_factory=lambda: TestCluster.Structs.SimpleStruct())
 
         @dataclass
         class TestComplexNullableOptionalResponse(ClusterCommand):
@@ -25421,91 +24988,63 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableIntWasNull", Tag=0, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableIntValue", Tag=1, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalIntWasPresent", Tag=2, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalIntValue", Tag=3, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalIntWasPresent", Tag=4, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalIntWasNull", Tag=5, Type=typing.Optional[bool]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalIntValue", Tag=6, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableStringWasNull", Tag=7, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableStringValue", Tag=8, Type=typing.Optional[str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalStringWasPresent", Tag=9, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalStringValue", Tag=10, Type=typing.Optional[str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalStringWasPresent", Tag=11, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalStringWasNull", Tag=12, Type=typing.Optional[bool]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalStringValue", Tag=13, Type=typing.Optional[str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableStructWasNull", Tag=14, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableStructValue", Tag=15, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalStructWasPresent", Tag=16, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalStructValue", Tag=17, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalStructWasPresent", Tag=18, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalStructWasNull", Tag=19, Type=typing.Optional[bool]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalStructValue", Tag=20, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableListWasNull", Tag=21, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableListValue", Tag=22, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalListWasPresent", Tag=23, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalListValue", Tag=24, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalListWasPresent", Tag=25, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalListWasNull", Tag=26, Type=typing.Optional[bool]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalListValue", Tag=27, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="nullableIntWasNull", Tag=0, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="nullableIntValue", Tag=1, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="optionalIntWasPresent", Tag=2, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="optionalIntValue", Tag=3, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalIntWasPresent", Tag=4, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalIntWasNull", Tag=5, Type=typing.Optional[bool]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalIntValue", Tag=6, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="nullableStringWasNull", Tag=7, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="nullableStringValue", Tag=8, Type=typing.Optional[str]),
+                            ClusterObjectFieldDescriptor(Label="optionalStringWasPresent", Tag=9, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="optionalStringValue", Tag=10, Type=typing.Optional[str]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalStringWasPresent", Tag=11, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalStringWasNull", Tag=12, Type=typing.Optional[bool]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalStringValue", Tag=13, Type=typing.Optional[str]),
+                            ClusterObjectFieldDescriptor(Label="nullableStructWasNull", Tag=14, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="nullableStructValue", Tag=15, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="optionalStructWasPresent", Tag=16, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="optionalStructValue", Tag=17, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalStructWasPresent", Tag=18, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalStructWasNull", Tag=19, Type=typing.Optional[bool]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalStructValue", Tag=20, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="nullableListWasNull", Tag=21, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="nullableListValue", Tag=22, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
+                            ClusterObjectFieldDescriptor(Label="optionalListWasPresent", Tag=23, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="optionalListValue", Tag=24, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalListWasPresent", Tag=25, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalListWasNull", Tag=26, Type=typing.Optional[bool]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalListValue", Tag=27, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
                     ])
 
-            nullableIntWasNull: 'bool' = None
+            nullableIntWasNull: 'bool' = False
             nullableIntValue: 'typing.Optional[uint]' = None
-            optionalIntWasPresent: 'bool' = None
+            optionalIntWasPresent: 'bool' = False
             optionalIntValue: 'typing.Optional[uint]' = None
-            nullableOptionalIntWasPresent: 'bool' = None
+            nullableOptionalIntWasPresent: 'bool' = False
             nullableOptionalIntWasNull: 'typing.Optional[bool]' = None
             nullableOptionalIntValue: 'typing.Optional[uint]' = None
-            nullableStringWasNull: 'bool' = None
+            nullableStringWasNull: 'bool' = False
             nullableStringValue: 'typing.Optional[str]' = None
-            optionalStringWasPresent: 'bool' = None
+            optionalStringWasPresent: 'bool' = False
             optionalStringValue: 'typing.Optional[str]' = None
-            nullableOptionalStringWasPresent: 'bool' = None
+            nullableOptionalStringWasPresent: 'bool' = False
             nullableOptionalStringWasNull: 'typing.Optional[bool]' = None
             nullableOptionalStringValue: 'typing.Optional[str]' = None
-            nullableStructWasNull: 'bool' = None
+            nullableStructWasNull: 'bool' = False
             nullableStructValue: 'typing.Optional[TestCluster.Structs.SimpleStruct]' = None
-            optionalStructWasPresent: 'bool' = None
+            optionalStructWasPresent: 'bool' = False
             optionalStructValue: 'typing.Optional[TestCluster.Structs.SimpleStruct]' = None
-            nullableOptionalStructWasPresent: 'bool' = None
+            nullableOptionalStructWasPresent: 'bool' = False
             nullableOptionalStructWasNull: 'typing.Optional[bool]' = None
             nullableOptionalStructValue: 'typing.Optional[TestCluster.Structs.SimpleStruct]' = None
-            nullableListWasNull: 'bool' = None
+            nullableListWasNull: 'bool' = False
             nullableListValue: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None
-            optionalListWasPresent: 'bool' = None
+            optionalListWasPresent: 'bool' = False
             optionalListValue: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None
-            nullableOptionalListWasPresent: 'bool' = None
+            nullableOptionalListWasPresent: 'bool' = False
             nullableOptionalListWasNull: 'typing.Optional[bool]' = None
             nullableOptionalListValue: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None
 
@@ -25518,12 +25057,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=TestCluster.Structs.NestedStruct),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=TestCluster.Structs.NestedStruct),
                     ])
 
-            arg1: 'TestCluster.Structs.NestedStruct' = None
+            arg1: 'TestCluster.Structs.NestedStruct' = field(default_factory=lambda: TestCluster.Structs.NestedStruct())
 
         @dataclass
         class BooleanResponse(ClusterCommand):
@@ -25534,12 +25072,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="value", Tag=0, Type=bool),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="value", Tag=0, Type=bool),
                     ])
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class TestListStructArgumentRequest(ClusterCommand):
@@ -25550,12 +25087,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.SimpleStruct]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.SimpleStruct]),
                     ])
 
-            arg1: 'typing.List[TestCluster.Structs.SimpleStruct]' = None
+            arg1: 'typing.List[TestCluster.Structs.SimpleStruct]' = field(default_factory=lambda: [])
 
         @dataclass
         class SimpleStructResponse(ClusterCommand):
@@ -25566,12 +25102,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=TestCluster.Structs.SimpleStruct),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=TestCluster.Structs.SimpleStruct),
                     ])
 
-            arg1: 'TestCluster.Structs.SimpleStruct' = None
+            arg1: 'TestCluster.Structs.SimpleStruct' = field(default_factory=lambda: TestCluster.Structs.SimpleStruct())
 
         @dataclass
         class TestListInt8UArgumentRequest(ClusterCommand):
@@ -25582,12 +25117,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=typing.List[uint]),
                     ])
 
-            arg1: 'typing.List[uint]' = None
+            arg1: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class TestNestedStructListArgumentRequest(ClusterCommand):
@@ -25598,12 +25132,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=TestCluster.Structs.NestedStructList),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=TestCluster.Structs.NestedStructList),
                     ])
 
-            arg1: 'TestCluster.Structs.NestedStructList' = None
+            arg1: 'TestCluster.Structs.NestedStructList' = field(default_factory=lambda: TestCluster.Structs.NestedStructList())
 
         @dataclass
         class TestListNestedStructListArgumentRequest(ClusterCommand):
@@ -25614,12 +25147,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]),
                     ])
 
-            arg1: 'typing.List[TestCluster.Structs.NestedStructList]' = None
+            arg1: 'typing.List[TestCluster.Structs.NestedStructList]' = field(default_factory=lambda: [])
 
         @dataclass
         class TestListInt8UReverseRequest(ClusterCommand):
@@ -25630,12 +25162,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=typing.List[uint]),
                     ])
 
-            arg1: 'typing.List[uint]' = None
+            arg1: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class TestEnumsRequest(ClusterCommand):
@@ -25646,15 +25177,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg2", Tag=1, Type=TestCluster.Enums.SimpleEnum),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="arg2", Tag=1, Type=TestCluster.Enums.SimpleEnum),
                     ])
 
-            arg1: 'uint' = None
-            arg2: 'TestCluster.Enums.SimpleEnum' = None
+            arg1: 'uint' = 0
+            arg2: 'TestCluster.Enums.SimpleEnum' = 0
 
         @dataclass
         class TestNullableOptionalRequest(ClusterCommand):
@@ -25665,9 +25194,8 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=typing.Union[None, Nullable, uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=typing.Union[None, Nullable, uint]),
                     ])
 
             arg1: 'typing.Union[None, Nullable, uint]' = None
@@ -25681,43 +25209,31 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableInt", Tag=0, Type=typing.Union[Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalInt", Tag=1, Type=typing.Optional[uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalInt", Tag=2, Type=typing.Union[None, Nullable, uint]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableString", Tag=3, Type=typing.Union[Nullable, str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalString", Tag=4, Type=typing.Optional[str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalString", Tag=5, Type=typing.Union[None, Nullable, str]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableStruct", Tag=6, Type=typing.Union[Nullable, TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalStruct", Tag=7, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalStruct", Tag=8, Type=typing.Union[None, Nullable, TestCluster.Structs.SimpleStruct]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableList", Tag=9, Type=typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalList", Tag=10, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
-                        ClusterObjectFieldDescriptor(
-                            Label="nullableOptionalList", Tag=11, Type=typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="nullableInt", Tag=0, Type=typing.Union[Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="optionalInt", Tag=1, Type=typing.Optional[uint]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalInt", Tag=2, Type=typing.Union[None, Nullable, uint]),
+                            ClusterObjectFieldDescriptor(Label="nullableString", Tag=3, Type=typing.Union[Nullable, str]),
+                            ClusterObjectFieldDescriptor(Label="optionalString", Tag=4, Type=typing.Optional[str]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalString", Tag=5, Type=typing.Union[None, Nullable, str]),
+                            ClusterObjectFieldDescriptor(Label="nullableStruct", Tag=6, Type=typing.Union[Nullable, TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="optionalStruct", Tag=7, Type=typing.Optional[TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalStruct", Tag=8, Type=typing.Union[None, Nullable, TestCluster.Structs.SimpleStruct]),
+                            ClusterObjectFieldDescriptor(Label="nullableList", Tag=9, Type=typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]),
+                            ClusterObjectFieldDescriptor(Label="optionalList", Tag=10, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]),
+                            ClusterObjectFieldDescriptor(Label="nullableOptionalList", Tag=11, Type=typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]),
                     ])
 
-            nullableInt: 'typing.Union[Nullable, uint]' = None
+            nullableInt: 'typing.Union[Nullable, uint]' = NullValue
             optionalInt: 'typing.Optional[uint]' = None
             nullableOptionalInt: 'typing.Union[None, Nullable, uint]' = None
-            nullableString: 'typing.Union[Nullable, str]' = None
+            nullableString: 'typing.Union[Nullable, str]' = NullValue
             optionalString: 'typing.Optional[str]' = None
             nullableOptionalString: 'typing.Union[None, Nullable, str]' = None
-            nullableStruct: 'typing.Union[Nullable, TestCluster.Structs.SimpleStruct]' = None
+            nullableStruct: 'typing.Union[Nullable, TestCluster.Structs.SimpleStruct]' = NullValue
             optionalStruct: 'typing.Optional[TestCluster.Structs.SimpleStruct]' = None
             nullableOptionalStruct: 'typing.Union[None, Nullable, TestCluster.Structs.SimpleStruct]' = None
-            nullableList: 'typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]' = None
+            nullableList: 'typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]' = NullValue
             optionalList: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None
             nullableOptionalList: 'typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]' = None
 
@@ -25730,12 +25246,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=TestCluster.Structs.SimpleStruct),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=TestCluster.Structs.SimpleStruct),
                     ])
 
-            arg1: 'TestCluster.Structs.SimpleStruct' = None
+            arg1: 'TestCluster.Structs.SimpleStruct' = field(default_factory=lambda: TestCluster.Structs.SimpleStruct())
 
         @dataclass
         class TimedInvokeRequest(ClusterCommand):
@@ -25746,9 +25261,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class TestSimpleOptionalArgumentRequest(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x050F
@@ -25758,13 +25274,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=0, Type=typing.Optional[bool]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=0, Type=typing.Optional[bool]),
                     ])
 
             arg1: 'typing.Optional[bool]' = None
 
+
     class Attributes:
         @dataclass
         class Boolean(ClusterAttributeDescriptor):
@@ -25780,7 +25296,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class Bitmap8(ClusterAttributeDescriptor):
@@ -25796,7 +25312,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Bitmap16(ClusterAttributeDescriptor):
@@ -25812,7 +25328,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Bitmap32(ClusterAttributeDescriptor):
@@ -25828,7 +25344,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Bitmap64(ClusterAttributeDescriptor):
@@ -25844,7 +25360,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Int8u(ClusterAttributeDescriptor):
@@ -25860,7 +25376,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Int16u(ClusterAttributeDescriptor):
@@ -25876,7 +25392,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Int24u(ClusterAttributeDescriptor):
@@ -25892,7 +25408,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Int32u(ClusterAttributeDescriptor):
@@ -25908,7 +25424,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Int40u(ClusterAttributeDescriptor):
@@ -25924,7 +25440,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Int48u(ClusterAttributeDescriptor):
@@ -25940,7 +25456,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Int56u(ClusterAttributeDescriptor):
@@ -25956,7 +25472,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Int64u(ClusterAttributeDescriptor):
@@ -25972,7 +25488,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Int8s(ClusterAttributeDescriptor):
@@ -25988,7 +25504,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Int16s(ClusterAttributeDescriptor):
@@ -26004,7 +25520,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Int24s(ClusterAttributeDescriptor):
@@ -26020,7 +25536,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Int32s(ClusterAttributeDescriptor):
@@ -26036,7 +25552,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Int40s(ClusterAttributeDescriptor):
@@ -26052,7 +25568,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Int48s(ClusterAttributeDescriptor):
@@ -26068,7 +25584,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Int56s(ClusterAttributeDescriptor):
@@ -26084,7 +25600,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Int64s(ClusterAttributeDescriptor):
@@ -26100,7 +25616,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class Enum8(ClusterAttributeDescriptor):
@@ -26116,7 +25632,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class Enum16(ClusterAttributeDescriptor):
@@ -26132,7 +25648,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FloatSingle(ClusterAttributeDescriptor):
@@ -26148,7 +25664,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class FloatDouble(ClusterAttributeDescriptor):
@@ -26164,7 +25680,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=float)
 
-            value: 'float' = None
+            value: 'float' = 0.0
 
         @dataclass
         class OctetString(ClusterAttributeDescriptor):
@@ -26180,7 +25696,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bytes)
 
-            value: 'bytes' = None
+            value: 'bytes' = b""
 
         @dataclass
         class ListInt8u(ClusterAttributeDescriptor):
@@ -26196,7 +25712,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[uint])
 
-            value: 'typing.List[uint]' = None
+            value: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class ListOctetString(ClusterAttributeDescriptor):
@@ -26212,7 +25728,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[bytes])
 
-            value: 'typing.List[bytes]' = None
+            value: 'typing.List[bytes]' = field(default_factory=lambda: [])
 
         @dataclass
         class ListStructOctetString(ClusterAttributeDescriptor):
@@ -26228,7 +25744,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[TestCluster.Structs.TestListStructOctet])
 
-            value: 'typing.List[TestCluster.Structs.TestListStructOctet]' = None
+            value: 'typing.List[TestCluster.Structs.TestListStructOctet]' = field(default_factory=lambda: [])
 
         @dataclass
         class LongOctetString(ClusterAttributeDescriptor):
@@ -26244,7 +25760,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bytes)
 
-            value: 'bytes' = None
+            value: 'bytes' = b""
 
         @dataclass
         class CharString(ClusterAttributeDescriptor):
@@ -26260,7 +25776,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class LongCharString(ClusterAttributeDescriptor):
@@ -26276,7 +25792,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class EpochUs(ClusterAttributeDescriptor):
@@ -26292,7 +25808,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class EpochS(ClusterAttributeDescriptor):
@@ -26308,7 +25824,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class VendorId(ClusterAttributeDescriptor):
@@ -26324,7 +25840,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class ListNullablesAndOptionalsStruct(ClusterAttributeDescriptor):
@@ -26340,7 +25856,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[TestCluster.Structs.NullablesAndOptionalsStruct])
 
-            value: 'typing.List[TestCluster.Structs.NullablesAndOptionalsStruct]' = None
+            value: 'typing.List[TestCluster.Structs.NullablesAndOptionalsStruct]' = field(default_factory=lambda: [])
 
         @dataclass
         class EnumAttr(ClusterAttributeDescriptor):
@@ -26356,7 +25872,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=TestCluster.Enums.SimpleEnum)
 
-            value: 'TestCluster.Enums.SimpleEnum' = None
+            value: 'TestCluster.Enums.SimpleEnum' = 0
 
         @dataclass
         class Struct(ClusterAttributeDescriptor):
@@ -26372,7 +25888,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=TestCluster.Structs.SimpleStruct)
 
-            value: 'TestCluster.Structs.SimpleStruct' = None
+            value: 'TestCluster.Structs.SimpleStruct' = field(default_factory=lambda: TestCluster.Structs.SimpleStruct())
 
         @dataclass
         class RangeRestrictedInt8u(ClusterAttributeDescriptor):
@@ -26388,7 +25904,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RangeRestrictedInt8s(ClusterAttributeDescriptor):
@@ -26404,7 +25920,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class RangeRestrictedInt16u(ClusterAttributeDescriptor):
@@ -26420,7 +25936,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class RangeRestrictedInt16s(ClusterAttributeDescriptor):
@@ -26436,7 +25952,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class ListLongOctetString(ClusterAttributeDescriptor):
@@ -26452,7 +25968,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.List[bytes])
 
-            value: 'typing.List[bytes]' = None
+            value: 'typing.List[bytes]' = field(default_factory=lambda: [])
 
         @dataclass
         class TimedWriteBoolean(ClusterAttributeDescriptor):
@@ -26468,7 +25984,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class Unsupported(ClusterAttributeDescriptor):
@@ -26484,7 +26000,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=bool)
 
-            value: 'bool' = None
+            value: 'bool' = False
 
         @dataclass
         class NullableBoolean(ClusterAttributeDescriptor):
@@ -26500,7 +26016,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bool])
 
-            value: 'typing.Union[Nullable, bool]' = None
+            value: 'typing.Union[Nullable, bool]' = NullValue
 
         @dataclass
         class NullableBitmap8(ClusterAttributeDescriptor):
@@ -26516,7 +26032,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableBitmap16(ClusterAttributeDescriptor):
@@ -26532,7 +26048,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableBitmap32(ClusterAttributeDescriptor):
@@ -26548,7 +26064,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableBitmap64(ClusterAttributeDescriptor):
@@ -26564,7 +26080,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableInt8u(ClusterAttributeDescriptor):
@@ -26580,7 +26096,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableInt16u(ClusterAttributeDescriptor):
@@ -26596,7 +26112,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableInt24u(ClusterAttributeDescriptor):
@@ -26612,7 +26128,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableInt32u(ClusterAttributeDescriptor):
@@ -26628,7 +26144,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableInt40u(ClusterAttributeDescriptor):
@@ -26644,7 +26160,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableInt48u(ClusterAttributeDescriptor):
@@ -26660,7 +26176,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableInt56u(ClusterAttributeDescriptor):
@@ -26676,7 +26192,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableInt64u(ClusterAttributeDescriptor):
@@ -26692,7 +26208,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableInt8s(ClusterAttributeDescriptor):
@@ -26708,7 +26224,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class NullableInt16s(ClusterAttributeDescriptor):
@@ -26724,7 +26240,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class NullableInt24s(ClusterAttributeDescriptor):
@@ -26740,7 +26256,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class NullableInt32s(ClusterAttributeDescriptor):
@@ -26756,7 +26272,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class NullableInt40s(ClusterAttributeDescriptor):
@@ -26772,7 +26288,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class NullableInt48s(ClusterAttributeDescriptor):
@@ -26788,7 +26304,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class NullableInt56s(ClusterAttributeDescriptor):
@@ -26804,7 +26320,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class NullableInt64s(ClusterAttributeDescriptor):
@@ -26820,7 +26336,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class NullableEnum8(ClusterAttributeDescriptor):
@@ -26836,7 +26352,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableEnum16(ClusterAttributeDescriptor):
@@ -26852,7 +26368,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableFloatSingle(ClusterAttributeDescriptor):
@@ -26868,7 +26384,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, float])
 
-            value: 'typing.Union[Nullable, float]' = None
+            value: 'typing.Union[Nullable, float]' = NullValue
 
         @dataclass
         class NullableFloatDouble(ClusterAttributeDescriptor):
@@ -26884,7 +26400,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, float])
 
-            value: 'typing.Union[Nullable, float]' = None
+            value: 'typing.Union[Nullable, float]' = NullValue
 
         @dataclass
         class NullableOctetString(ClusterAttributeDescriptor):
@@ -26900,7 +26416,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes])
 
-            value: 'typing.Union[Nullable, bytes]' = None
+            value: 'typing.Union[Nullable, bytes]' = NullValue
 
         @dataclass
         class NullableCharString(ClusterAttributeDescriptor):
@@ -26916,7 +26432,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, str])
 
-            value: 'typing.Union[Nullable, str]' = None
+            value: 'typing.Union[Nullable, str]' = NullValue
 
         @dataclass
         class NullableEnumAttr(ClusterAttributeDescriptor):
@@ -26932,7 +26448,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, TestCluster.Enums.SimpleEnum])
 
-            value: 'typing.Union[Nullable, TestCluster.Enums.SimpleEnum]' = None
+            value: 'typing.Union[Nullable, TestCluster.Enums.SimpleEnum]' = NullValue
 
         @dataclass
         class NullableStruct(ClusterAttributeDescriptor):
@@ -26948,7 +26464,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, TestCluster.Structs.SimpleStruct])
 
-            value: 'typing.Union[Nullable, TestCluster.Structs.SimpleStruct]' = None
+            value: 'typing.Union[Nullable, TestCluster.Structs.SimpleStruct]' = NullValue
 
         @dataclass
         class NullableRangeRestrictedInt8u(ClusterAttributeDescriptor):
@@ -26964,7 +26480,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableRangeRestrictedInt8s(ClusterAttributeDescriptor):
@@ -26980,7 +26496,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class NullableRangeRestrictedInt16u(ClusterAttributeDescriptor):
@@ -26996,7 +26512,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint])
 
-            value: 'typing.Union[Nullable, uint]' = None
+            value: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
         class NullableRangeRestrictedInt16s(ClusterAttributeDescriptor):
@@ -27012,7 +26528,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
 
-            value: 'typing.Union[Nullable, int]' = None
+            value: 'typing.Union[Nullable, int]' = NullValue
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -27044,7 +26560,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
     class Events:
         @dataclass
@@ -27055,27 +26572,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="arg1", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg2", Tag=2, Type=TestCluster.Enums.SimpleEnum),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg3", Tag=3, Type=bool),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg4", Tag=4, Type=TestCluster.Structs.SimpleStruct),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg5", Tag=5, Type=typing.List[TestCluster.Structs.SimpleStruct], IsArray=True),
-                        ClusterObjectFieldDescriptor(
-                            Label="arg6", Tag=6, Type=typing.List[TestCluster.Enums.SimpleEnum], IsArray=True),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="arg1", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="arg2", Tag=2, Type=TestCluster.Enums.SimpleEnum),
+                            ClusterObjectFieldDescriptor(Label="arg3", Tag=3, Type=bool),
+                            ClusterObjectFieldDescriptor(Label="arg4", Tag=4, Type=TestCluster.Structs.SimpleStruct),
+                            ClusterObjectFieldDescriptor(Label="arg5", Tag=5, Type=typing.List[TestCluster.Structs.SimpleStruct], IsArray=True),
+                            ClusterObjectFieldDescriptor(Label="arg6", Tag=6, Type=typing.List[TestCluster.Enums.SimpleEnum], IsArray=True),
                     ])
 
-            arg1: 'uint' = None
-            arg2: 'TestCluster.Enums.SimpleEnum' = None
-            arg3: 'bool' = None
-            arg4: 'TestCluster.Structs.SimpleStruct' = None
-            arg5: typing.List['typing.List[TestCluster.Structs.SimpleStruct]'] = None
-            arg6: typing.List['typing.List[TestCluster.Enums.SimpleEnum]'] = None
+            arg1: 'uint' = 0
+            arg2: 'TestCluster.Enums.SimpleEnum' = 0
+            arg3: 'bool' = False
+            arg4: 'TestCluster.Structs.SimpleStruct' = field(default_factory=lambda: TestCluster.Structs.SimpleStruct())
+            arg5: typing.List['typing.List[TestCluster.Structs.SimpleStruct]'] = field(default_factory=lambda: [])
+            arg6: typing.List['typing.List[TestCluster.Enums.SimpleEnum]'] = field(default_factory=lambda: [])
 
 
 @dataclass
@@ -27186,6 +26697,8 @@
             kAnonymous = 0x02
             kReserved = 0x03
 
+
+
     class Commands:
         @dataclass
         class DisplayMessage(ClusterCommand):
@@ -27196,27 +26709,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="messageId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="messageControl", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="durationInMinutes", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="message", Tag=4, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalExtendedMessageControl", Tag=5, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="messageId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="messageControl", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="durationInMinutes", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="message", Tag=4, Type=str),
+                            ClusterObjectFieldDescriptor(Label="optionalExtendedMessageControl", Tag=5, Type=uint),
                     ])
 
-            messageId: 'uint' = None
-            messageControl: 'uint' = None
-            startTime: 'uint' = None
-            durationInMinutes: 'uint' = None
-            message: 'str' = None
-            optionalExtendedMessageControl: 'uint' = None
+            messageId: 'uint' = 0
+            messageControl: 'uint' = 0
+            startTime: 'uint' = 0
+            durationInMinutes: 'uint' = 0
+            message: 'str' = ""
+            optionalExtendedMessageControl: 'uint' = 0
 
         @dataclass
         class GetLastMessage(ClusterCommand):
@@ -27227,9 +26734,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class CancelMessage(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0703
@@ -27239,15 +26747,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="messageId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="messageControl", Tag=1, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="messageId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="messageControl", Tag=1, Type=uint),
                     ])
 
-            messageId: 'uint' = None
-            messageControl: 'uint' = None
+            messageId: 'uint' = 0
+            messageControl: 'uint' = 0
 
         @dataclass
         class MessageConfirmation(ClusterCommand):
@@ -27258,21 +26764,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="messageId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="confirmationTime", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="messageConfirmationControl", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="messageResponse", Tag=3, Type=bytes),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="messageId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="confirmationTime", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="messageConfirmationControl", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="messageResponse", Tag=3, Type=bytes),
                     ])
 
-            messageId: 'uint' = None
-            confirmationTime: 'uint' = None
-            messageConfirmationControl: 'uint' = None
-            messageResponse: 'bytes' = None
+            messageId: 'uint' = 0
+            confirmationTime: 'uint' = 0
+            messageConfirmationControl: 'uint' = 0
+            messageResponse: 'bytes' = b""
 
         @dataclass
         class DisplayProtectedMessage(ClusterCommand):
@@ -27283,27 +26785,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="messageId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="messageControl", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startTime", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="durationInMinutes", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="message", Tag=4, Type=str),
-                        ClusterObjectFieldDescriptor(
-                            Label="optionalExtendedMessageControl", Tag=5, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="messageId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="messageControl", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startTime", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="durationInMinutes", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="message", Tag=4, Type=str),
+                            ClusterObjectFieldDescriptor(Label="optionalExtendedMessageControl", Tag=5, Type=uint),
                     ])
 
-            messageId: 'uint' = None
-            messageControl: 'uint' = None
-            startTime: 'uint' = None
-            durationInMinutes: 'uint' = None
-            message: 'str' = None
-            optionalExtendedMessageControl: 'uint' = None
+            messageId: 'uint' = 0
+            messageControl: 'uint' = 0
+            startTime: 'uint' = 0
+            durationInMinutes: 'uint' = 0
+            message: 'str' = ""
+            optionalExtendedMessageControl: 'uint' = 0
 
         @dataclass
         class GetMessageCancellation(ClusterCommand):
@@ -27314,12 +26810,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="earliestImplementationTime", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="earliestImplementationTime", Tag=0, Type=uint),
                     ])
 
-            earliestImplementationTime: 'uint' = None
+            earliestImplementationTime: 'uint' = 0
 
         @dataclass
         class CancelAllMessages(ClusterCommand):
@@ -27330,12 +26825,12 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="implementationDateTime", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="implementationDateTime", Tag=0, Type=uint),
                     ])
 
-            implementationDateTime: 'uint' = None
+            implementationDateTime: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -27368,13 +26863,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ApplianceIdentification(Cluster):
     id: typing.ClassVar[int] = 0x0B00
 
+
+
+
     class Attributes:
         @dataclass
         class BasicIdentification(ClusterAttributeDescriptor):
@@ -27390,7 +26889,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CompanyName(ClusterAttributeDescriptor):
@@ -27598,13 +27097,17 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class MeterIdentification(Cluster):
     id: typing.ClassVar[int] = 0x0B01
 
+
+
+
     class Attributes:
         @dataclass
         class CompanyName(ClusterAttributeDescriptor):
@@ -27620,7 +27123,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class MeterTypeId(ClusterAttributeDescriptor):
@@ -27636,7 +27139,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class DataQualityId(ClusterAttributeDescriptor):
@@ -27652,7 +27155,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class CustomerName(ClusterAttributeDescriptor):
@@ -27764,7 +27267,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=str)
 
-            value: 'str' = None
+            value: 'str' = ""
 
         @dataclass
         class AvailablePower(ClusterAttributeDescriptor):
@@ -27780,7 +27283,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class PowerThreshold(ClusterAttributeDescriptor):
@@ -27796,7 +27299,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=int)
 
-            value: 'int' = None
+            value: 'int' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -27828,7 +27331,8 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
@@ -27843,6 +27347,8 @@
             kSwitchingOff = 0x06
             kWrongData = 0x07
 
+
+
     class Commands:
         @dataclass
         class GetAlerts(ClusterCommand):
@@ -27853,9 +27359,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class GetAlertsResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0B02
@@ -27865,15 +27372,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="alertsCount", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="alertStructures", Tag=1, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="alertsCount", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="alertStructures", Tag=1, Type=typing.List[uint]),
                     ])
 
-            alertsCount: 'uint' = None
-            alertStructures: 'typing.List[uint]' = None
+            alertsCount: 'uint' = 0
+            alertStructures: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class AlertsNotification(ClusterCommand):
@@ -27884,15 +27389,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="alertsCount", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="alertStructures", Tag=1, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="alertsCount", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="alertStructures", Tag=1, Type=typing.List[uint]),
                     ])
 
-            alertsCount: 'uint' = None
-            alertStructures: 'typing.List[uint]' = None
+            alertsCount: 'uint' = 0
+            alertStructures: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class EventsNotification(ClusterCommand):
@@ -27903,15 +27406,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="eventHeader", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="eventId", Tag=1, Type=ApplianceEventsAndAlert.Enums.EventIdentification),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="eventHeader", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="eventId", Tag=1, Type=ApplianceEventsAndAlert.Enums.EventIdentification),
                     ])
 
-            eventHeader: 'uint' = None
-            eventId: 'ApplianceEventsAndAlert.Enums.EventIdentification' = None
+            eventHeader: 'uint' = 0
+            eventId: 'ApplianceEventsAndAlert.Enums.EventIdentification' = 0
+
 
     class Attributes:
         @dataclass
@@ -27944,13 +27446,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ApplianceStatistics(Cluster):
     id: typing.ClassVar[int] = 0x0B03
 
+
+
     class Commands:
         @dataclass
         class LogNotification(ClusterCommand):
@@ -27961,21 +27466,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="timeStamp", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="logId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="logLength", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="logPayload", Tag=3, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="timeStamp", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="logId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="logLength", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="logPayload", Tag=3, Type=typing.List[uint]),
                     ])
 
-            timeStamp: 'uint' = None
-            logId: 'uint' = None
-            logLength: 'uint' = None
-            logPayload: 'typing.List[uint]' = None
+            timeStamp: 'uint' = 0
+            logId: 'uint' = 0
+            logLength: 'uint' = 0
+            logPayload: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class LogRequest(ClusterCommand):
@@ -27986,12 +27487,11 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="logId", Tag=0, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="logId", Tag=0, Type=uint),
                     ])
 
-            logId: 'uint' = None
+            logId: 'uint' = 0
 
         @dataclass
         class LogResponse(ClusterCommand):
@@ -28002,21 +27502,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="timeStamp", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="logId", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="logLength", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="logPayload", Tag=3, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="timeStamp", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="logId", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="logLength", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="logPayload", Tag=3, Type=typing.List[uint]),
                     ])
 
-            timeStamp: 'uint' = None
-            logId: 'uint' = None
-            logLength: 'uint' = None
-            logPayload: 'typing.List[uint]' = None
+            timeStamp: 'uint' = 0
+            logId: 'uint' = 0
+            logLength: 'uint' = 0
+            logPayload: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class LogQueueRequest(ClusterCommand):
@@ -28027,9 +27523,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class LogQueueResponse(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0B03
@@ -28039,15 +27536,13 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="logQueueSize", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="logIds", Tag=1, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="logQueueSize", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="logIds", Tag=1, Type=typing.List[uint]),
                     ])
 
-            logQueueSize: 'uint' = None
-            logIds: 'typing.List[uint]' = None
+            logQueueSize: 'uint' = 0
+            logIds: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class StatisticsAvailable(ClusterCommand):
@@ -28058,15 +27553,14 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="logQueueSize", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="logIds", Tag=1, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="logQueueSize", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="logIds", Tag=1, Type=typing.List[uint]),
                     ])
 
-            logQueueSize: 'uint' = None
-            logIds: 'typing.List[uint]' = None
+            logQueueSize: 'uint' = 0
+            logIds: 'typing.List[uint]' = field(default_factory=lambda: [])
+
 
     class Attributes:
         @dataclass
@@ -28083,7 +27577,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class LogQueueMaxSize(ClusterAttributeDescriptor):
@@ -28099,7 +27593,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
 
         @dataclass
         class FeatureMap(ClusterAttributeDescriptor):
@@ -28131,13 +27625,16 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
 
 
 @dataclass
 class ElectricalMeasurement(Cluster):
     id: typing.ClassVar[int] = 0x0B04
 
+
+
     class Commands:
         @dataclass
         class GetProfileInfoResponseCommand(ClusterCommand):
@@ -28148,21 +27645,17 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="profileCount", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="profileIntervalPeriod", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="maxNumberOfIntervals", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="listOfAttributes", Tag=3, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="profileCount", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="profileIntervalPeriod", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="maxNumberOfIntervals", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="listOfAttributes", Tag=3, Type=typing.List[uint]),
                     ])
 
-            profileCount: 'uint' = None
-            profileIntervalPeriod: 'uint' = None
-            maxNumberOfIntervals: 'uint' = None
-            listOfAttributes: 'typing.List[uint]' = None
+            profileCount: 'uint' = 0
+            profileIntervalPeriod: 'uint' = 0
+            maxNumberOfIntervals: 'uint' = 0
+            listOfAttributes: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetProfileInfoCommand(ClusterCommand):
@@ -28173,9 +27666,10 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
+                    Fields = [
                     ])
 
+
         @dataclass
         class GetMeasurementProfileResponseCommand(ClusterCommand):
             cluster_id: typing.ClassVar[int] = 0x0B04
@@ -28185,27 +27679,21 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="startTime", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="status", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="profileIntervalPeriod", Tag=2, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="numberOfIntervalsDelivered", Tag=3, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="attributeId", Tag=4, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="intervals", Tag=5, Type=typing.List[uint]),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="startTime", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="status", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="profileIntervalPeriod", Tag=2, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="numberOfIntervalsDelivered", Tag=3, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="attributeId", Tag=4, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="intervals", Tag=5, Type=typing.List[uint]),
                     ])
 
-            startTime: 'uint' = None
-            status: 'uint' = None
-            profileIntervalPeriod: 'uint' = None
-            numberOfIntervalsDelivered: 'uint' = None
-            attributeId: 'uint' = None
-            intervals: 'typing.List[uint]' = None
+            startTime: 'uint' = 0
+            status: 'uint' = 0
+            profileIntervalPeriod: 'uint' = 0
+            numberOfIntervalsDelivered: 'uint' = 0
+            attributeId: 'uint' = 0
+            intervals: 'typing.List[uint]' = field(default_factory=lambda: [])
 
         @dataclass
         class GetMeasurementProfileCommand(ClusterCommand):
@@ -28216,18 +27704,16 @@
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
-                    Fields=[
-                        ClusterObjectFieldDescriptor(
-                            Label="attributeId", Tag=0, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="startTime", Tag=1, Type=uint),
-                        ClusterObjectFieldDescriptor(
-                            Label="numberOfIntervals", Tag=2, Type=uint),
+                    Fields = [
+                            ClusterObjectFieldDescriptor(Label="attributeId", Tag=0, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="startTime", Tag=1, Type=uint),
+                            ClusterObjectFieldDescriptor(Label="numberOfIntervals", Tag=2, Type=uint),
                     ])
 
-            attributeId: 'uint' = None
-            startTime: 'uint' = None
-            numberOfIntervals: 'uint' = None
+            attributeId: 'uint' = 0
+            startTime: 'uint' = 0
+            numberOfIntervals: 'uint' = 0
+
 
     class Attributes:
         @dataclass
@@ -30308,4 +29794,7 @@
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
                 return ClusterObjectFieldDescriptor(Type=uint)
 
-            value: 'uint' = None
+            value: 'uint' = 0
+
+
+
diff --git a/src/controller/python/templates/python-cluster-Objects-py.zapt b/src/controller/python/templates/python-cluster-Objects-py.zapt
index 4a7adcd..6b61951 100644
--- a/src/controller/python/templates/python-cluster-Objects-py.zapt
+++ b/src/controller/python/templates/python-cluster-Objects-py.zapt
@@ -5,7 +5,7 @@
 # This file contains generated struct, enum, command definition.
 # Users are not expected to import this file, instead, users can use import chip.clusters, which will import all symbols from this file and can get a readable, pretty naming like clusters.OnOff.commands.OnCommand
 
-from dataclasses import dataclass
+from dataclasses import dataclass, field
 import typing
 from enum import IntEnum
 from chip import ChipUtility
@@ -47,7 +47,7 @@
                     ])
 
             {{#zcl_struct_items}}
-            {{ asLowerCamelCase label }}: '{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}' = None
+            {{ asLowerCamelCase label }}: '{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}' = {{getPythonFieldDefault type ns=(asUpperCamelCase parent.parent.name)}}
             {{/zcl_struct_items}}
 
 {{#last}}
@@ -79,7 +79,7 @@
                     ])
 
             {{#zcl_command_arguments}}
-            {{ asLowerCamelCase label }}: '{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}' = None
+            {{ asLowerCamelCase label }}: '{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}' = {{getPythonFieldDefault type ns=(asUpperCamelCase parent.parent.name)}}
             {{/zcl_command_arguments}}
 
 {{/zcl_commands}}
@@ -107,9 +107,9 @@
             {{/if}}
 
             {{#if entryType}}
-            value: '{{zapTypeToPythonClusterObjectType entryType ns=(asUpperCamelCase parent.name)}}' = None
+            value: '{{zapTypeToPythonClusterObjectType entryType ns=(asUpperCamelCase parent.name)}}' = {{getPythonFieldDefault entryType ns=(asUpperCamelCase parent.name)}}
             {{else}}
-            value: '{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.name)}}' = None
+            value: '{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.name)}}' = {{getPythonFieldDefault type ns=(asUpperCamelCase parent.name)}}
             {{/if}}
 
 {{/zcl_attributes_server}}
@@ -133,7 +133,7 @@
                     ])
 
             {{#zcl_event_fields}}
-            {{ asLowerCamelCase name }}: {{#if isArray}}typing.List[{{/if}}'{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}'{{#if isArray}}]{{/if}} = None
+            {{ asLowerCamelCase name }}: {{#if isArray}}typing.List[{{/if}}'{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}'{{#if isArray}}]{{/if}} = {{getPythonFieldDefault type ns=(asUpperCamelCase parent.parent.name)}}
             {{/zcl_event_fields}}
 
 {{/zcl_events}}