From 7d613d792d9114175cb642a7245f6315e44de377 Mon Sep 17 00:00:00 2001 From: Jerry Johns Date: Mon, 15 Nov 2021 12:04:16 -0800 Subject: [PATCH] Optional/Nullable support to Python Cluster Objects (#11515) * Optional/Nullable support to Python Cluster Objects This amongst other things, adds support for optional and nullable types to the Python cluster objects. It does so by leveraging typing.Union and typing.Optional to do so. To represent nulls, a new Nullable type has been created to encapsulate that. Consequently, 'None' indicates an optional field that is not present. 'NullValue' indicates a null-value. Consequently, the following representations map to the various combinations: typing.Union[base-type, Types.Nullable] => a nullable base-type. typing.Optional[base-type] => an optional base-type typing.Union[base-type, Types.Nullable, None] => an optional, nullable, base-type. In addition, the generation helpers for Python have been cleaned up to better align with how it's done for the other languages. Finally, a unit-test for the generated objects has been added which was crucial to fix some critical bugs in the implementation. Tests: - Validated using test_generated_clusterobjects.py. - Validated by sending commands to the test cluster to a device. * Review feedback * Fixes the equality comparison in Python for Nones * Re-gen cluster objects * Adding debug mode to the newly added unit test --- src/app/zap-templates/templates/app/helper.js | 78 +- src/controller/python/BUILD.gn | 1 + src/controller/python/build-chip-wheel.py | 1 + .../python/chip/clusters/ClusterObjects.py | 127 +- .../python/chip/clusters/Objects.py | 2061 +++++++++-------- src/controller/python/chip/clusters/Types.py | 32 + .../python/chip/interaction_model/delegate.py | 2 - src/controller/python/chip/tlv/__init__.py | 10 +- .../templates/python-cluster-Objects-py.zapt | 13 +- .../test/unit_tests/test_cluster_objects.py | 13 +- .../test_generated_clusterobjects.py | 107 + 11 files changed, 1336 insertions(+), 1109 deletions(-) create mode 100644 src/controller/python/chip/clusters/Types.py create mode 100644 src/controller/python/test/unit_tests/test_generated_clusterobjects.py diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js index c051d76c3c097f..a15c43c3444bc0 100644 --- a/src/app/zap-templates/templates/app/helper.js +++ b/src/app/zap-templates/templates/app/helper.js @@ -415,36 +415,11 @@ function zapTypeToDecodableClusterObjectType(type, options) return zapTypeToClusterObjectType.call(this, type, true, options) } -function zapTypeToPythonClusterObjectType(type, options) +async function _zapTypeToPythonClusterObjectType(type, options) { - if (StringHelper.isCharString(type)) { - return 'str'; - } - - if (StringHelper.isOctetString(type)) { - return 'bytes'; - } - - if ([ 'single', 'double' ].includes(type.toLowerCase())) { - return 'float'; - } - - if (type.toLowerCase() == 'boolean') { - return 'bool' - } - - // #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 'int' - } - - if (type.toLowerCase().match(/^int\d+u$/)) { - return 'uint' - } - async function fn(pkgId) { - const ns = asUpperCamelCase(options.hash.ns); + const ns = options.hash.ns; const typeChecker = async (method) => zclHelper[method](this.global.db, type, pkgId).then(zclType => zclType != 'unknown'); if (await typeChecker('isEnum')) { @@ -452,13 +427,38 @@ function zapTypeToPythonClusterObjectType(type, options) } if (await typeChecker('isBitmap')) { - return 'int'; + return 'uint'; } if (await typeChecker('isStruct')) { return ns + '.Structs.' + type; } + if (StringHelper.isCharString(type)) { + return 'str'; + } + + if (StringHelper.isOctetString(type)) { + return 'bytes'; + } + + if ([ 'single', 'double' ].includes(type.toLowerCase())) { + return 'float'; + } + + if (type.toLowerCase() == 'boolean') { + return 'bool' + } + + // #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 'int' + } + + if (type.toLowerCase().match(/^int\d+u$/)) { + return 'uint' + } + resolvedType = await zclHelper.asUnderlyingZclType.call({ global : this.global }, type, options); { basicType = ChipTypesHelper.asBasicType(resolvedType); @@ -469,14 +469,32 @@ function zapTypeToPythonClusterObjectType(type, options) return 'uint' } } + } - throw "Unhandled type " + resolvedType + " (from " + type + ")" + let promise = templateUtil.ensureZclPackageId(this).then(fn.bind(this)); + if ((this.isList || this.isArray || this.entryType) && !options.hash.forceNotList) { + promise = promise.then(typeStr => `typing.List[${typeStr}]`); + } + + const isNull = (this.isNullable && !options.hash.forceNotNullable); + const isOptional = (this.isOptional && !options.hash.forceNotOptional); + + if (isNull && isOptional) { + promise = promise.then(typeStr => `typing.Union[None, Nullable, ${typeStr}]`); + } else if (isNull) { + promise = promise.then(typeStr => `typing.Union[Nullable, ${typeStr}]`); + } else if (isOptional) { + promise = promise.then(typeStr => `typing.Optional[${typeStr}]`); } - const promise = templateUtil.ensureZclPackageId(this).then(fn.bind(this)); return templateUtil.templatePromise(this.global, promise) } +function zapTypeToPythonClusterObjectType(type, options) +{ + return _zapTypeToPythonClusterObjectType.call(this, type, options) +} + async function getResponseCommandName(responseRef, options) { let pkgId = await templateUtil.ensureZclPackageId(this); diff --git a/src/controller/python/BUILD.gn b/src/controller/python/BUILD.gn index 3584261f0c5931..c670a48b7544bd 100644 --- a/src/controller/python/BUILD.gn +++ b/src/controller/python/BUILD.gn @@ -118,6 +118,7 @@ pw_python_action("python") { "chip/clusters/Command.py", "chip/clusters/Objects.py", "chip/clusters/TestObjects.py", + "chip/clusters/Types.py", "chip/clusters/__init__.py", "chip/configuration/__init__.py", "chip/discovery/__init__.py", diff --git a/src/controller/python/build-chip-wheel.py b/src/controller/python/build-chip-wheel.py index 09670ec7d43238..984da8158f0f38 100644 --- a/src/controller/python/build-chip-wheel.py +++ b/src/controller/python/build-chip-wheel.py @@ -118,6 +118,7 @@ def finalize_options(self): 'construct', 'ipython', 'dacite', + 'rich', ] if platform.system() == 'Darwin': diff --git a/src/controller/python/chip/clusters/ClusterObjects.py b/src/controller/python/chip/clusters/ClusterObjects.py index d8d6b78aad0961..efb6ff341341c2 100644 --- a/src/controller/python/chip/clusters/ClusterObjects.py +++ b/src/controller/python/chip/clusters/ClusterObjects.py @@ -17,44 +17,92 @@ from dataclasses import dataclass, asdict, field, make_dataclass from typing import ClassVar, List, Dict, Any, Mapping, Type, Union, ClassVar +import enum +import typing from chip import tlv, ChipUtility +from chip.clusters.Types import Nullable, NullValue from dacite import from_dict +def GetUnionUnderlyingType(typeToCheck, matchingType=None): + ''' This retrieves the underlying types behind a unioned type by appropriately + passing in the required matching type in the matchingType input argument. + + If that is 'None' (not to be confused with NoneType), then it will retrieve + the 'real' type behind the union, i.e not Nullable && not None + ''' + if (not(typing.get_origin(typeToCheck) == typing.Union)): + return None + + for t in typing.get_args(typeToCheck): + if (matchingType is None): + if (t != type(None) and t != Nullable): + return t + else: + if (t == matchingType): + return t + + return None + + @dataclass class ClusterObjectFieldDescriptor: Label: str = '' Tag: int = None Type: Type = None - IsArray: bool = False - def _PutSingleElementToTLV(self, tag, val, writer: tlv.TLVWriter, debugPath: str = '?'): - if issubclass(self.Type, ClusterObject): + def _PutSingleElementToTLV(self, tag, val, elementType, writer: tlv.TLVWriter, debugPath: str = '?'): + if issubclass(elementType, ClusterObject): if not isinstance(val, dict): raise ValueError( f"Field {debugPath}.{self.Label} expected a struct, but got {type(val)}") - self.Type.descriptor.DictToTLVWithWriter( + elementType.descriptor.DictToTLVWithWriter( f'{debugPath}.{self.Label}', tag, val, writer) return + try: - val = self.Type(val) + val = elementType(val) except Exception: raise ValueError( - f"Field {debugPath}.{self.Label} expected {self.Type}, but got {type(val)}") + f"Field {debugPath}.{self.Label} expected {elementType}, but got {type(val)}") writer.put(tag, val) def PutFieldToTLV(self, tag, val, writer: tlv.TLVWriter, debugPath: str = '?'): - if not self.IsArray: - self._PutSingleElementToTLV(tag, val, writer, debugPath) - return - if not isinstance(val, List): - raise ValueError( - f"Field {debugPath}.{self.Label} expected List[{self.Type}], but got {type(val)}") - writer.startArray(tag) - for i, v in enumerate(val): - self._PutSingleElementToTLV( - None, v, writer, debugPath + f'[{i}]') - writer.endContainer() + if (val == NullValue): + if (GetUnionUnderlyingType(self.Type, Nullable) is None): + raise ValueError( + f"Field {debugPath}.{self.Label} was not nullable, but got a null") + + writer.put(tag, None) + elif (val is None): + if (GetUnionUnderlyingType(self.Type, type(None)) is None): + raise ValueError( + f"Field {debugPath}.{self.Label} was not optional, but encountered None") + else: + # + # If it is an optional or nullable type, it's going to be a union. + # So, let's get at the 'real' type within that union before proceeding, + # since at this point, we're guarenteed to not get None or Null as values. + # + elementType = GetUnionUnderlyingType(self.Type) + if (elementType is None): + elementType = self.Type + + if not isinstance(val, List): + self._PutSingleElementToTLV( + tag, val, elementType, writer, debugPath) + return + + writer.startArray(tag) + + # Get the type of the list. This is a generic, which has its sub-type information of the list element + # inside its type argument. + (elementType, ) = typing.get_args(elementType) + + for i, v in enumerate(val): + self._PutSingleElementToTLV( + None, v, elementType, writer, debugPath + f'[{i}]') + writer.endContainer() @dataclass @@ -73,16 +121,19 @@ def GetFieldByLabel(self, label: str) -> ClusterObjectFieldDescriptor: return field return None - def _ConvertNonArray(self, debugPath: str, descriptor: ClusterObjectFieldDescriptor, value: Any) -> Any: - if not issubclass(descriptor.Type, ClusterObject): - if not isinstance(value, descriptor.Type): + def _ConvertNonArray(self, debugPath: str, elementType, value: Any) -> Any: + if not issubclass(elementType, ClusterObject): + if (issubclass(elementType, enum.Enum)): + value = elementType(value) + + if not isinstance(value, elementType): raise ValueError( - f"Failed to decode field {debugPath}, expected type {descriptor.Type}, got {type(value)}") + f"Failed to decode field {debugPath}, expected type {elementType}, got {type(value)}") return value if not isinstance(value, Mapping): raise ValueError( f"Failed to decode field {debugPath}, struct expected.") - return descriptor.Type.descriptor.TagDictToLabelDict(debugPath, value) + return elementType.descriptor.TagDictToLabelDict(debugPath, value) def TagDictToLabelDict(self, debugPath: str, tlvData: Dict[int, Any]) -> Dict[str, Any]: ret = {} @@ -92,13 +143,30 @@ def TagDictToLabelDict(self, debugPath: str, tlvData: Dict[int, Any]) -> Dict[st # We do not have enough infomation for this field. ret[tag] = value continue - if descriptor.IsArray: + + if (value is None): + ret[descriptor.Label] = NullValue + continue + + if (typing.get_origin(descriptor.Type) == typing.Union): + realType = GetUnionUnderlyingType(descriptor.Type) + if (realType is None): + raise ValueError( + f"Field {debugPath}.{self.Label} has no valid underlying data model type") + + valueType = realType + else: + valueType = descriptor.Type + + if (typing.get_origin(valueType) == list): + listElementType = typing.get_args(valueType)[0] ret[descriptor.Label] = [ - self._ConvertNonArray(f'{debugPath}[{i}]', descriptor, v) + self._ConvertNonArray( + f'{debugPath}[{i}]', listElementType, v) for i, v in enumerate(value)] continue ret[descriptor.Label] = self._ConvertNonArray( - f'{debugPath}.{descriptor.Label}', descriptor, value) + f'{debugPath}.{descriptor.Label}', valueType, value) return ret def TLVToDict(self, tlvBuf: bytes) -> Dict[str, Any]: @@ -109,9 +177,6 @@ def DictToTLVWithWriter(self, debugPath: str, tag, data: Mapping, writer: tlv.TL writer.startStructure(tag) for field in self.Fields: val = data.get(field.Label, None) - if val is None: - raise ValueError( - f"Field {debugPath}.{field.Label} is missing in the given dict") field.PutFieldToTLV(field.Tag, val, writer, debugPath + f'.{field.Label}') writer.endContainer() @@ -198,13 +263,13 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: def _cluster_object(cls) -> ClusterObject: return make_dataclass('InternalClass', [ - ('Value', List[cls.attribute_type.Type] - if cls.attribute_type.IsArray else cls.attribute_type.Type, field(default=None)), + ('Value', cls.attribute_type.Type, + field(default=None)), ('descriptor', ClassVar[ClusterObjectDescriptor], field( default=ClusterObjectDescriptor( Fields=[ClusterObjectFieldDescriptor( - Label='Value', Tag=0, Type=cls.attribute_type.Type, IsArray=cls.attribute_type.IsArray)] + Label='Value', Tag=0, Type=cls.attribute_type.Type)] ) ) ) diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 9dace1e78c97c2..73c0d3d830815f 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -30,6 +30,7 @@ from chip.tlv import uint from .ClusterObjects import ClusterObject, ClusterObjectDescriptor, ClusterObjectFieldDescriptor, ClusterCommand, ClusterAttributeDescriptor, Cluster +from .Types import Nullable, NullValue @dataclass @@ -48,7 +49,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MainsFrequency(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -61,7 +62,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MainsAlarmMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -74,7 +75,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MainsVoltageMinThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -87,7 +88,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MainsVoltageMaxThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -100,7 +101,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MainsVoltageDwellTrip(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -113,7 +114,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -126,7 +127,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryPercentageRemaining(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -139,7 +140,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryManufacturer(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -152,7 +153,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class BatterySize(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -165,7 +166,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryAhrRating(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -178,7 +179,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryQuantity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -191,7 +192,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryRatedVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -204,7 +205,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryAlarmMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -217,7 +218,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryVoltageMinThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -230,7 +231,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryVoltageThreshold1(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -243,7 +244,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryVoltageThreshold2(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -256,7 +257,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryVoltageThreshold3(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -269,7 +270,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryPercentageMinThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -282,7 +283,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryPercentageThreshold1(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -295,7 +296,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryPercentageThreshold2(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -308,7 +309,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryPercentageThreshold3(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -321,7 +322,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryAlarmState(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -334,7 +335,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2Voltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -347,7 +348,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2PercentageRemaining(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -360,7 +361,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2Manufacturer(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -373,7 +374,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class Battery2Size(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -386,7 +387,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2AhrRating(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -399,7 +400,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2Quantity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -412,7 +413,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2RatedVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -425,7 +426,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2AlarmMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -438,7 +439,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2VoltageMinThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -451,7 +452,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2VoltageThreshold1(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -464,7 +465,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2VoltageThreshold2(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -477,7 +478,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2VoltageThreshold3(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -490,7 +491,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2PercentageMinThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -503,7 +504,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2PercentageThreshold1(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -516,7 +517,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2PercentageThreshold2(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -529,7 +530,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2PercentageThreshold3(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -542,7 +543,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery2AlarmState(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -555,7 +556,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3Voltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -568,7 +569,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3PercentageRemaining(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -581,7 +582,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3Manufacturer(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -594,7 +595,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class Battery3Size(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -607,7 +608,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3AhrRating(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -620,7 +621,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3Quantity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -633,7 +634,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3RatedVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -646,7 +647,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3AlarmMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -659,7 +660,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3VoltageMinThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -672,7 +673,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3VoltageThreshold1(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -685,7 +686,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3VoltageThreshold2(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -698,7 +699,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3VoltageThreshold3(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -711,7 +712,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3PercentageMinThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -724,7 +725,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3PercentageThreshold1(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -737,7 +738,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3PercentageThreshold2(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -750,7 +751,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3PercentageThreshold3(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -763,7 +764,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Battery3AlarmState(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -776,7 +777,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -789,7 +790,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -834,7 +835,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MaxTempExperienced(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -847,7 +848,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class OverTempTotalDwell(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -860,7 +861,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DeviceTempAlarmMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -873,7 +874,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LowTempThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -886,7 +887,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class HighTempThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -899,7 +900,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class LowTempDwellTripPoint(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -912,7 +913,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class HighTempDwellTripPoint(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -925,7 +926,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -938,7 +939,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -1080,7 +1081,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -1190,11 +1191,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="groupCount", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="groupList", Tag=1, Type=uint, IsArray=True), + Label="groupList", Tag=1, Type=typing.List[uint]), ]) groupCount: 'uint' = None - groupList: typing.List['uint'] = None + groupList: 'typing.List[uint]' = None @dataclass class GetGroupMembershipResponse(ClusterCommand): @@ -1211,12 +1212,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="groupCount", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="groupList", Tag=2, Type=uint, IsArray=True), + Label="groupList", Tag=2, Type=typing.List[uint]), ]) capacity: 'uint' = None groupCount: 'uint' = None - groupList: typing.List['uint'] = None + groupList: 'typing.List[uint]' = None @dataclass class RemoveGroup(ClusterCommand): @@ -1309,7 +1310,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -1368,14 +1369,14 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="sceneName", Tag=3, Type=str), ClusterObjectFieldDescriptor( - Label="extensionFieldSets", Tag=4, Type=Scenes.Structs.SceneExtensionFieldSet, IsArray=True), + 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 + extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = None @dataclass class AddSceneResponse(ClusterCommand): @@ -1439,7 +1440,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="sceneName", Tag=4, Type=str), ClusterObjectFieldDescriptor( - Label="extensionFieldSets", Tag=5, Type=Scenes.Structs.SceneExtensionFieldSet, IsArray=True), + Label="extensionFieldSets", Tag=5, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]), ]) status: 'uint' = None @@ -1447,7 +1448,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: sceneId: 'uint' = None transitionTime: 'uint' = None sceneName: 'str' = None - extensionFieldSets: typing.List['Scenes.Structs.SceneExtensionFieldSet'] = None + extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = None @dataclass class RemoveScene(ClusterCommand): @@ -1623,14 +1624,14 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="sceneCount", Tag=3, Type=uint), ClusterObjectFieldDescriptor( - Label="sceneList", Tag=4, Type=uint, IsArray=True), + 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 + sceneList: 'typing.List[uint]' = None @dataclass class EnhancedAddScene(ClusterCommand): @@ -1651,14 +1652,14 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="sceneName", Tag=3, Type=str), ClusterObjectFieldDescriptor( - Label="extensionFieldSets", Tag=4, Type=Scenes.Structs.SceneExtensionFieldSet, IsArray=True), + 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 + extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = None @dataclass class EnhancedAddSceneResponse(ClusterCommand): @@ -1722,7 +1723,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="sceneName", Tag=4, Type=str), ClusterObjectFieldDescriptor( - Label="extensionFieldSets", Tag=5, Type=Scenes.Structs.SceneExtensionFieldSet, IsArray=True), + Label="extensionFieldSets", Tag=5, Type=typing.List[Scenes.Structs.SceneExtensionFieldSet]), ]) status: 'uint' = None @@ -1730,7 +1731,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: sceneId: 'uint' = None transitionTime: 'uint' = None sceneName: 'str' = None - extensionFieldSets: typing.List['Scenes.Structs.SceneExtensionFieldSet'] = None + extensionFieldSets: 'typing.List[Scenes.Structs.SceneExtensionFieldSet]' = None @dataclass class CopyScene(ClusterCommand): @@ -1743,7 +1744,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="mode", Tag=0, Type=int), + Label="mode", Tag=0, Type=uint), ClusterObjectFieldDescriptor( Label="groupIdFrom", Tag=1, Type=uint), ClusterObjectFieldDescriptor( @@ -1754,7 +1755,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: Label="sceneIdTo", Tag=4, Type=uint), ]) - mode: 'int' = None + mode: 'uint' = None groupIdFrom: 'uint' = None sceneIdFrom: 'uint' = None groupIdTo: 'uint' = None @@ -1859,7 +1860,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -1872,7 +1873,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2044,14 +2045,14 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="onOffControl", Tag=0, Type=int), + Label="onOffControl", Tag=0, Type=uint), ClusterObjectFieldDescriptor( Label="onTime", Tag=1, Type=uint), ClusterObjectFieldDescriptor( Label="offWaitTime", Tag=2, Type=uint), ]) - onOffControl: 'int' = None + onOffControl: 'uint' = None onTime: 'uint' = None offWaitTime: 'uint' = None @@ -2080,7 +2081,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SampleMfgSpecificAttribute0x00000x1049(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2093,7 +2094,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SampleMfgSpecificAttribute0x00010x1002(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2106,7 +2107,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SampleMfgSpecificAttribute0x00010x1040(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2119,7 +2120,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class GlobalSceneControl(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2132,7 +2133,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class OnTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2145,7 +2146,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OffWaitTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2158,7 +2159,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class StartUpOnOff(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2171,7 +2172,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2184,7 +2185,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2242,7 +2243,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2466,7 +2467,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MinLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2479,7 +2480,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MaxLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2492,7 +2493,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CurrentFrequency(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2505,7 +2506,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MinFrequency(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2518,7 +2519,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MaxFrequency(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2531,7 +2532,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Options(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2544,7 +2545,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OnOffTransitionTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2557,7 +2558,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OnLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2570,7 +2571,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OnTransitionTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2583,7 +2584,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OffTransitionTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2596,7 +2597,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DefaultMoveRate(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2609,7 +2610,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class StartUpCurrentLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2622,7 +2623,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2635,7 +2636,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2767,7 +2768,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2780,7 +2781,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2838,7 +2839,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DstStart(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2851,7 +2852,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DstEnd(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2864,7 +2865,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DstShift(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2877,7 +2878,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class StandardTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2890,7 +2891,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LocalTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2903,7 +2904,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LastSetTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2916,7 +2917,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ValidUntilTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2929,7 +2930,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2942,7 +2943,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2974,7 +2975,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class Description(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -2987,7 +2988,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class InactiveText(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3000,7 +3001,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class OutOfService(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3026,7 +3027,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PresentValue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3052,7 +3053,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class StatusFlags(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3078,7 +3079,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3091,7 +3092,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3209,13 +3210,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numOfTransferredPhases", Tag=2, Type=uint), ClusterObjectFieldDescriptor( - Label="transferredPhases", Tag=3, Type=PowerProfile.Structs.TransferredPhase, IsArray=True), + 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 + transferredPhases: 'typing.List[PowerProfile.Structs.TransferredPhase]' = None @dataclass class PowerProfileStateRequest(ClusterCommand): @@ -3246,13 +3247,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numOfTransferredPhases", Tag=2, Type=uint), ClusterObjectFieldDescriptor( - Label="transferredPhases", Tag=3, Type=PowerProfile.Structs.TransferredPhase, IsArray=True), + 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 + transferredPhases: 'typing.List[PowerProfile.Structs.TransferredPhase]' = None @dataclass class GetPowerProfilePriceResponse(ClusterCommand): @@ -3292,11 +3293,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="powerProfileCount", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="powerProfileRecords", Tag=1, Type=PowerProfile.Structs.PowerProfileRecord, IsArray=True), + Label="powerProfileRecords", Tag=1, Type=typing.List[PowerProfile.Structs.PowerProfileRecord]), ]) powerProfileCount: 'uint' = None - powerProfileRecords: typing.List['PowerProfile.Structs.PowerProfileRecord'] = None + powerProfileRecords: 'typing.List[PowerProfile.Structs.PowerProfileRecord]' = None @dataclass class GetOverallSchedulePriceResponse(ClusterCommand): @@ -3351,12 +3352,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numOfScheduledPhases", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="scheduledPhases", Tag=2, Type=PowerProfile.Structs.ScheduledPhase, IsArray=True), + Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]), ]) powerProfileId: 'uint' = None numOfScheduledPhases: 'uint' = None - scheduledPhases: typing.List['PowerProfile.Structs.ScheduledPhase'] = None + scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = None @dataclass class PowerProfilesStateNotification(ClusterCommand): @@ -3371,11 +3372,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="powerProfileCount", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="powerProfileRecords", Tag=1, Type=PowerProfile.Structs.PowerProfileRecord, IsArray=True), + Label="powerProfileRecords", Tag=1, Type=typing.List[PowerProfile.Structs.PowerProfileRecord]), ]) powerProfileCount: 'uint' = None - powerProfileRecords: typing.List['PowerProfile.Structs.PowerProfileRecord'] = None + powerProfileRecords: 'typing.List[PowerProfile.Structs.PowerProfileRecord]' = None @dataclass class EnergyPhasesScheduleResponse(ClusterCommand): @@ -3392,12 +3393,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numOfScheduledPhases", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="scheduledPhases", Tag=2, Type=PowerProfile.Structs.ScheduledPhase, IsArray=True), + Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]), ]) powerProfileId: 'uint' = None numOfScheduledPhases: 'uint' = None - scheduledPhases: typing.List['PowerProfile.Structs.ScheduledPhase'] = None + scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = None @dataclass class GetOverallSchedulePrice(ClusterCommand): @@ -3474,12 +3475,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numOfScheduledPhases", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="scheduledPhases", Tag=2, Type=PowerProfile.Structs.ScheduledPhase, IsArray=True), + Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]), ]) powerProfileId: 'uint' = None numOfScheduledPhases: 'uint' = None - scheduledPhases: typing.List['PowerProfile.Structs.ScheduledPhase'] = None + scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = None @dataclass class GetPowerProfilePriceExtendedResponse(ClusterCommand): @@ -3521,12 +3522,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numOfScheduledPhases", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="scheduledPhases", Tag=2, Type=PowerProfile.Structs.ScheduledPhase, IsArray=True), + Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]), ]) powerProfileId: 'uint' = None numOfScheduledPhases: 'uint' = None - scheduledPhases: typing.List['PowerProfile.Structs.ScheduledPhase'] = None + scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = None @dataclass class PowerProfileScheduleConstraintsNotification(ClusterCommand): @@ -3671,7 +3672,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3759,13 +3760,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="applianceStatus", Tag=0, Type=ApplianceControl.Enums.ApplianceStatus), ClusterObjectFieldDescriptor( - Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=int), + Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=uint), ClusterObjectFieldDescriptor( Label="applianceStatus2", Tag=2, Type=ApplianceControl.Enums.ApplianceStatus), ]) applianceStatus: 'ApplianceControl.Enums.ApplianceStatus' = None - remoteEnableFlagsAndDeviceStatus2: 'int' = None + remoteEnableFlagsAndDeviceStatus2: 'uint' = None applianceStatus2: 'ApplianceControl.Enums.ApplianceStatus' = None @dataclass @@ -3793,13 +3794,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="applianceStatus", Tag=0, Type=ApplianceControl.Enums.ApplianceStatus), ClusterObjectFieldDescriptor( - Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=int), + Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=uint), ClusterObjectFieldDescriptor( Label="applianceStatus2", Tag=2, Type=ApplianceControl.Enums.ApplianceStatus), ]) applianceStatus: 'ApplianceControl.Enums.ApplianceStatus' = None - remoteEnableFlagsAndDeviceStatus2: 'int' = None + remoteEnableFlagsAndDeviceStatus2: 'uint' = None applianceStatus2: 'ApplianceControl.Enums.ApplianceStatus' = None @dataclass @@ -3817,12 +3818,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="functionDataType", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="functionData", Tag=2, Type=uint, IsArray=True), + Label="functionData", Tag=2, Type=typing.List[uint]), ]) functionId: 'uint' = None functionDataType: 'uint' = None - functionData: typing.List['uint'] = None + functionData: 'typing.List[uint]' = None @dataclass class OverloadPauseResume(ClusterCommand): @@ -3902,7 +3903,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3915,7 +3916,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3963,7 +3964,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=Descriptor.Structs.DeviceType, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[Descriptor.Structs.DeviceType]) class ServerList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3976,7 +3977,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) class ClientList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -3989,7 +3990,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) class PartsList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4002,7 +4003,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4015,7 +4016,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4175,7 +4176,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LongPollIntervalMin(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4188,7 +4189,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FastPollTimeoutMax(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4201,7 +4202,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4214,7 +4215,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4322,11 +4323,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None @dataclass class InstantActionWithTransition(ClusterCommand): @@ -4341,13 +4342,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( Label="transitionTime", Tag=2, Type=uint), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None transitionTime: 'uint' = None @dataclass @@ -4363,11 +4364,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None @dataclass class StartActionWithDuration(ClusterCommand): @@ -4382,13 +4383,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( Label="duration", Tag=2, Type=uint), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None duration: 'uint' = None @dataclass @@ -4404,11 +4405,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None @dataclass class PauseAction(ClusterCommand): @@ -4423,11 +4424,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None @dataclass class PauseActionWithDuration(ClusterCommand): @@ -4442,13 +4443,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( Label="duration", Tag=2, Type=uint), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None duration: 'uint' = None @dataclass @@ -4464,11 +4465,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None @dataclass class EnableAction(ClusterCommand): @@ -4483,11 +4484,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None @dataclass class EnableActionWithDuration(ClusterCommand): @@ -4502,13 +4503,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( Label="duration", Tag=2, Type=uint), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None duration: 'uint' = None @dataclass @@ -4524,11 +4525,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None @dataclass class DisableActionWithDuration(ClusterCommand): @@ -4543,13 +4544,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="actionID", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="invokeID", Tag=1, Type=uint), + Label="invokeID", Tag=1, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( Label="duration", Tag=2, Type=uint), ]) actionID: 'uint' = None - invokeID: 'uint' = None + invokeID: 'typing.Optional[uint]' = None duration: 'uint' = None class Attributes: @@ -4564,7 +4565,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=BridgedActions.Structs.ActionStruct, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[BridgedActions.Structs.ActionStruct]) class EndpointList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4577,7 +4578,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=BridgedActions.Structs.EndpointListStruct, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[BridgedActions.Structs.EndpointListStruct]) class SetupUrl(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4590,7 +4591,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4603,7 +4604,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4827,7 +4828,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class PartNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4840,7 +4841,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class ProductURL(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4853,7 +4854,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class ProductLabel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4866,7 +4867,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class SerialNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4879,7 +4880,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class LocalConfigDisabled(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4892,7 +4893,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class Reachable(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4905,7 +4906,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4918,7 +4919,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -4973,25 +4974,25 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="softwareVersion", Tag=2, Type=uint), ClusterObjectFieldDescriptor( - Label="protocolsSupported", Tag=3, Type=OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol, IsArray=True), + Label="protocolsSupported", Tag=3, Type=typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]), ClusterObjectFieldDescriptor( - Label="hardwareVersion", Tag=4, Type=uint), + Label="hardwareVersion", Tag=4, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( - Label="location", Tag=5, Type=str), + Label="location", Tag=5, Type=typing.Optional[str]), ClusterObjectFieldDescriptor( - Label="requestorCanConsent", Tag=6, Type=bool), + Label="requestorCanConsent", Tag=6, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor( - Label="metadataForProvider", Tag=7, Type=bytes), + Label="metadataForProvider", Tag=7, Type=typing.Optional[bytes]), ]) vendorId: 'uint' = None productId: 'uint' = None softwareVersion: 'uint' = None - protocolsSupported: typing.List['OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol'] = None - hardwareVersion: 'uint' = None - location: 'str' = None - requestorCanConsent: 'bool' = None - metadataForProvider: 'bytes' = None + protocolsSupported: 'typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]' = None + hardwareVersion: 'typing.Optional[uint]' = None + location: 'typing.Optional[str]' = None + requestorCanConsent: 'typing.Optional[bool]' = None + metadataForProvider: 'typing.Optional[bytes]' = None @dataclass class ApplyUpdateRequest(ClusterCommand): @@ -5044,29 +5045,29 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="status", Tag=0, Type=OtaSoftwareUpdateProvider.Enums.OTAQueryStatus), ClusterObjectFieldDescriptor( - Label="delayedActionTime", Tag=1, Type=uint), + Label="delayedActionTime", Tag=1, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( - Label="imageURI", Tag=2, Type=str), + Label="imageURI", Tag=2, Type=typing.Optional[str]), ClusterObjectFieldDescriptor( - Label="softwareVersion", Tag=3, Type=uint), + Label="softwareVersion", Tag=3, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( - Label="softwareVersionString", Tag=4, Type=str), + Label="softwareVersionString", Tag=4, Type=typing.Optional[str]), ClusterObjectFieldDescriptor( - Label="updateToken", Tag=5, Type=bytes), + Label="updateToken", Tag=5, Type=typing.Optional[bytes]), ClusterObjectFieldDescriptor( - Label="userConsentNeeded", Tag=6, Type=bool), + Label="userConsentNeeded", Tag=6, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor( - Label="metadataForRequestor", Tag=7, Type=bytes), + Label="metadataForRequestor", Tag=7, Type=typing.Optional[bytes]), ]) status: 'OtaSoftwareUpdateProvider.Enums.OTAQueryStatus' = None - delayedActionTime: 'uint' = None - imageURI: 'str' = None - softwareVersion: 'uint' = None - softwareVersionString: 'str' = None - updateToken: 'bytes' = None - userConsentNeeded: 'bool' = None - metadataForRequestor: 'bytes' = None + delayedActionTime: 'typing.Optional[uint]' = None + imageURI: 'typing.Optional[str]' = None + softwareVersion: 'typing.Optional[uint]' = None + softwareVersionString: 'typing.Optional[str]' = None + updateToken: 'typing.Optional[bytes]' = None + userConsentNeeded: 'typing.Optional[bool]' = None + metadataForRequestor: 'typing.Optional[bytes]' = None @dataclass class ApplyUpdateResponse(ClusterCommand): @@ -5099,7 +5100,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5143,13 +5144,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="announcementReason", Tag=2, Type=OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason), ClusterObjectFieldDescriptor( - Label="metadataForNode", Tag=3, Type=bytes), + Label="metadataForNode", Tag=3, Type=typing.Optional[bytes]), ]) providerLocation: 'uint' = None vendorId: 'uint' = None announcementReason: 'OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason' = None - metadataForNode: 'bytes' = None + metadataForNode: 'typing.Optional[bytes]' = None class Attributes: class DefaultOtaProvider(ClusterAttributeDescriptor): @@ -5189,7 +5190,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5260,7 +5261,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class WiredAssessedInputFrequency(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5273,7 +5274,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class WiredCurrentType(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5286,7 +5287,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class WiredAssessedCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5299,7 +5300,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class WiredNominalVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5312,7 +5313,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class WiredMaximumCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5325,7 +5326,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class WiredPresent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5338,7 +5339,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class ActiveWiredFaults(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5351,7 +5352,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) class BatteryVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5364,7 +5365,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryPercentRemaining(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5377,7 +5378,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryTimeRemaining(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5390,7 +5391,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryChargeLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5403,7 +5404,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryReplacementNeeded(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5416,7 +5417,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class BatteryReplaceability(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5429,7 +5430,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryPresent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5442,7 +5443,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class ActiveBatteryFaults(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5455,7 +5456,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) class BatteryReplacementDescription(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5468,7 +5469,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class BatteryCommonDesignation(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5481,7 +5482,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryANSIDesignation(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5494,7 +5495,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class BatteryIECDesignation(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5507,7 +5508,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class BatteryApprovedChemistry(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5520,7 +5521,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryCapacity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5533,7 +5534,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryQuantity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5546,7 +5547,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryChargeState(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5559,7 +5560,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryTimeToFullCharge(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5572,7 +5573,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BatteryFunctionalWhileCharging(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5585,7 +5586,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class BatteryChargingCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5598,7 +5599,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ActiveBatteryChargeFaults(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5611,7 +5612,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5624,7 +5625,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5810,7 +5811,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=GeneralCommissioning.Structs.BasicCommissioningInfoType, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[GeneralCommissioning.Structs.BasicCommissioningInfoType]) class RegulatoryConfigList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5823,7 +5824,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=GeneralCommissioning.Enums.RegulatoryLocationType, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[GeneralCommissioning.Enums.RegulatoryLocationType]]) class LocationCapabilityList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5836,7 +5837,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=GeneralCommissioning.Enums.RegulatoryLocationType, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[GeneralCommissioning.Enums.RegulatoryLocationType]]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5849,7 +5850,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -5967,15 +5968,15 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="debugText", Tag=1, Type=str), ClusterObjectFieldDescriptor( - Label="wifiScanResults", Tag=2, Type=NetworkCommissioning.Structs.WiFiInterfaceScanResult, IsArray=True), + Label="wifiScanResults", Tag=2, Type=typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]), ClusterObjectFieldDescriptor( - Label="threadScanResults", Tag=3, Type=NetworkCommissioning.Structs.ThreadInterfaceScanResult, IsArray=True), + 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 + wifiScanResults: 'typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]' = None + threadScanResults: 'typing.List[NetworkCommissioning.Structs.ThreadInterfaceScanResult]' = None @dataclass class AddWiFiNetwork(ClusterCommand): @@ -6282,7 +6283,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6379,7 +6380,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6484,7 +6485,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=GeneralDiagnostics.Structs.NetworkInterfaceType, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]) class RebootCount(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6510,7 +6511,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class TotalOperationalHours(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6523,7 +6524,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BootReasons(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6536,7 +6537,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ActiveHardwareFaults(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6549,7 +6550,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) class ActiveRadioFaults(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6562,7 +6563,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) class ActiveNetworkFaults(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6575,7 +6576,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6588,7 +6589,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6676,7 +6677,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=SoftwareDiagnostics.Structs.ThreadMetrics, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[SoftwareDiagnostics.Structs.ThreadMetrics]]) class CurrentHeapFree(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6689,7 +6690,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CurrentHeapUsed(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6702,7 +6703,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CurrentHeapHighWatermark(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -6728,7 +6729,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7035,7 +7036,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=ThreadNetworkDiagnostics.Structs.NeighborTable, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]) class RouteTableList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7048,7 +7049,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=ThreadNetworkDiagnostics.Structs.RouteTable, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]) class PartitionId(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7672,7 +7673,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PendingTimestamp(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7685,7 +7686,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Delay(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7698,7 +7699,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SecurityPolicy(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7711,7 +7712,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=ThreadNetworkDiagnostics.Structs.SecurityPolicy, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.SecurityPolicy]) class ChannelMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7737,7 +7738,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]) class ActiveNetworkFaultsList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7750,7 +7751,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=ThreadNetworkDiagnostics.Enums.NetworkFault, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7763,7 +7764,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7900,7 +7901,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BeaconRxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7913,7 +7914,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PacketMulticastRxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7926,7 +7927,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PacketMulticastTxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7939,7 +7940,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PacketUnicastRxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7952,7 +7953,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PacketUnicastTxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7965,7 +7966,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CurrentMaxRate(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7978,7 +7979,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OverrunCount(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -7991,7 +7992,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8004,7 +8005,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8062,7 +8063,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FullDuplex(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8075,7 +8076,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class PacketRxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8153,7 +8154,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class TimeSinceReset(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8166,7 +8167,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8179,7 +8180,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8260,7 +8261,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class VendorID(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8273,7 +8274,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ProductName(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8286,7 +8287,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class UserLabel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8299,7 +8300,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class HardwareVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8312,7 +8313,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class HardwareVersionString(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8325,7 +8326,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class SoftwareVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8338,7 +8339,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SoftwareVersionString(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8351,7 +8352,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class ManufacturingDate(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8364,7 +8365,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class PartNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8377,7 +8378,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class ProductURL(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8390,7 +8391,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class ProductLabel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8403,7 +8404,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class SerialNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8416,7 +8417,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class Reachable(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8442,7 +8443,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8513,7 +8514,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8611,7 +8612,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8803,7 +8804,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="NOCValue", Tag=0, Type=bytes), ClusterObjectFieldDescriptor( - Label="ICACValue", Tag=1, Type=bytes), + Label="ICACValue", Tag=1, Type=typing.Optional[bytes]), ClusterObjectFieldDescriptor( Label="IPKValue", Tag=2, Type=bytes), ClusterObjectFieldDescriptor( @@ -8813,7 +8814,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ]) NOCValue: 'bytes' = None - ICACValue: 'bytes' = None + ICACValue: 'typing.Optional[bytes]' = None IPKValue: 'bytes' = None caseAdminNode: 'uint' = None adminVendorId: 'uint' = None @@ -8831,11 +8832,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="NOCValue", Tag=0, Type=bytes), ClusterObjectFieldDescriptor( - Label="ICACValue", Tag=1, Type=bytes), + Label="ICACValue", Tag=1, Type=typing.Optional[bytes]), ]) NOCValue: 'bytes' = None - ICACValue: 'bytes' = None + ICACValue: 'typing.Optional[bytes]' = None @dataclass class NOCResponse(ClusterCommand): @@ -8935,7 +8936,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=OperationalCredentials.Structs.FabricDescriptor, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[OperationalCredentials.Structs.FabricDescriptor]) class SupportedFabrics(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -8974,7 +8975,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[bytes]) class CurrentFabricIndex(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9000,7 +9001,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9048,7 +9049,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=FixedLabel.Structs.LabelStruct, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[FixedLabel.Structs.LabelStruct]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9061,7 +9062,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9106,7 +9107,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9202,7 +9203,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=ModeSelect.Structs.ModeOptionStruct, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[ModeSelect.Structs.ModeOptionStruct]) class OnMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9215,7 +9216,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class StartUpMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9254,7 +9255,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9286,7 +9287,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MotorStepSize(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9299,7 +9300,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Status(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9351,7 +9352,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -9827,7 +9828,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="userId", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="daysMask", Tag=2, Type=int), + Label="daysMask", Tag=2, Type=uint), ClusterObjectFieldDescriptor( Label="startHour", Tag=3, Type=uint), ClusterObjectFieldDescriptor( @@ -9840,7 +9841,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: scheduleId: 'uint' = None userId: 'uint' = None - daysMask: 'int' = None + daysMask: 'uint' = None startHour: 'uint' = None startMinute: 'uint' = None endHour: 'uint' = None @@ -10524,7 +10525,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DoorOpenEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10537,7 +10538,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DoorClosedEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10550,7 +10551,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OpenPeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10563,7 +10564,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumLockRecordsSupported(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10576,7 +10577,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumTotalUsersSupported(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10589,7 +10590,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumPinUsersSupported(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10602,7 +10603,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumRfidUsersSupported(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10615,7 +10616,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumWeekdaySchedulesSupportedPerUser(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10628,7 +10629,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumYeardaySchedulesSupportedPerUser(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10641,7 +10642,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumHolidaySchedulesSupportedPerUser(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10654,7 +10655,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MaxPinLength(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10667,7 +10668,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MinPinLength(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10680,7 +10681,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MaxRfidCodeLength(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10693,7 +10694,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MinRfidCodeLength(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10706,7 +10707,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class EnableLogging(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10719,7 +10720,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class Language(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10732,7 +10733,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class LedSettings(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10745,7 +10746,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AutoRelockTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10758,7 +10759,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SoundVolume(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10771,7 +10772,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OperatingMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10784,7 +10785,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SupportedOperatingModes(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10797,7 +10798,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DefaultConfigurationRegister(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10810,7 +10811,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class EnableLocalProgramming(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10823,7 +10824,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class EnableOneTouchLocking(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10836,7 +10837,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class EnableInsideStatusLed(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10849,7 +10850,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class EnablePrivacyModeButton(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10862,7 +10863,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class WrongCodeEntryLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10875,7 +10876,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class UserCodeTemporaryDisableTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10888,7 +10889,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SendPinOverTheAir(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10901,7 +10902,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class RequirePinForRfOperation(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10914,7 +10915,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) class ZigbeeSecurityLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10927,7 +10928,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AlarmMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10940,7 +10941,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class KeypadOperationEventMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10953,7 +10954,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RfOperationEventMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10966,7 +10967,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ManualOperationEventMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10979,7 +10980,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RfidOperationEventMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -10992,7 +10993,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class KeypadProgrammingEventMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11005,7 +11006,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RfProgrammingEventMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11018,7 +11019,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RfidProgrammingEventMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11031,7 +11032,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11044,7 +11045,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11196,7 +11197,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PhysicalClosedLimitTilt(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11209,7 +11210,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CurrentPositionLift(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11222,7 +11223,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CurrentPositionTilt(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11235,7 +11236,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumberOfActuationsLift(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11248,7 +11249,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumberOfActuationsTilt(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11261,7 +11262,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ConfigStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11443,7 +11444,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AccelerationTimeLift(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11456,7 +11457,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DecelerationTimeLift(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11469,7 +11470,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Mode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11495,7 +11496,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class IntermediateSetpointsTilt(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11508,7 +11509,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class SafetyStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11521,7 +11522,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11534,7 +11535,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11634,7 +11635,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BarrierCloseEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11647,7 +11648,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BarrierCommandOpenEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11660,7 +11661,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BarrierCommandCloseEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11673,7 +11674,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BarrierOpenPeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11686,7 +11687,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BarrierClosePeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11699,7 +11700,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BarrierPosition(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11725,7 +11726,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11811,7 +11812,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MaxConstPressure(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11824,7 +11825,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MinCompPressure(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11837,7 +11838,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MaxCompPressure(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11850,7 +11851,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MinConstSpeed(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11863,7 +11864,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MaxConstSpeed(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11876,7 +11877,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MinConstFlow(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11889,7 +11890,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MaxConstFlow(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11902,7 +11903,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MinConstTemp(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11915,7 +11916,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MaxConstTemp(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11928,7 +11929,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class PumpStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11941,7 +11942,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class EffectiveOperationMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -11993,7 +11994,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LifetimeRunningHours(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12006,7 +12007,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Power(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12019,7 +12020,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LifetimeEnergyConsumed(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12032,7 +12033,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OperationMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12058,7 +12059,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AlarmMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12071,7 +12072,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12084,7 +12085,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12143,17 +12144,17 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numberOfTransitionsForSequence", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="dayOfWeekForSequence", Tag=1, Type=int), + Label="dayOfWeekForSequence", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="modeForSequence", Tag=2, Type=int), + Label="modeForSequence", Tag=2, Type=uint), ClusterObjectFieldDescriptor( - Label="payload", Tag=3, Type=uint, IsArray=True), + Label="payload", Tag=3, Type=typing.List[uint]), ]) numberOfTransitionsForSequence: 'uint' = None - dayOfWeekForSequence: 'int' = None - modeForSequence: 'int' = None - payload: typing.List['uint'] = None + dayOfWeekForSequence: 'uint' = None + modeForSequence: 'uint' = None + payload: 'typing.List[uint]' = None @dataclass class SetWeeklySchedule(ClusterCommand): @@ -12168,17 +12169,17 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numberOfTransitionsForSequence", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="dayOfWeekForSequence", Tag=1, Type=int), + Label="dayOfWeekForSequence", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="modeForSequence", Tag=2, Type=int), + Label="modeForSequence", Tag=2, Type=uint), ClusterObjectFieldDescriptor( - Label="payload", Tag=3, Type=uint, IsArray=True), + Label="payload", Tag=3, Type=typing.List[uint]), ]) numberOfTransitionsForSequence: 'uint' = None - dayOfWeekForSequence: 'int' = None - modeForSequence: 'int' = None - payload: typing.List['uint'] = None + dayOfWeekForSequence: 'uint' = None + modeForSequence: 'uint' = None + payload: 'typing.List[uint]' = None @dataclass class RelayStatusLog(ClusterCommand): @@ -12222,13 +12223,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="daysToReturn", Tag=0, Type=int), + Label="daysToReturn", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="modeToReturn", Tag=1, Type=int), + Label="modeToReturn", Tag=1, Type=uint), ]) - daysToReturn: 'int' = None - modeToReturn: 'int' = None + daysToReturn: 'uint' = None + modeToReturn: 'uint' = None @dataclass class ClearWeeklySchedule(ClusterCommand): @@ -12279,7 +12280,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class Occupancy(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12292,7 +12293,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AbsMinHeatSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12305,7 +12306,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AbsMaxHeatSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12318,7 +12319,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AbsMinCoolSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12331,7 +12332,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AbsMaxCoolSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12344,7 +12345,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class PiCoolingDemand(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12357,7 +12358,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PiHeatingDemand(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12370,7 +12371,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class HvacSystemTypeConfiguration(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12383,7 +12384,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LocalTemperatureCalibration(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12396,7 +12397,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class OccupiedCoolingSetpoint(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12435,7 +12436,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class UnoccupiedHeatingSetpoint(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12448,7 +12449,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MinHeatSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12461,7 +12462,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MaxHeatSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12474,7 +12475,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MinCoolSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12487,7 +12488,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MaxCoolSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12500,7 +12501,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MinSetpointDeadBand(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12513,7 +12514,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class RemoteSensing(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12526,7 +12527,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ControlSequenceOfOperation(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12565,7 +12566,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ThermostatRunningMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12578,7 +12579,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class StartOfWeek(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12591,7 +12592,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumberOfWeeklyTransitions(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12604,7 +12605,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NumberOfDailyTransitions(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12617,7 +12618,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class TemperatureSetpointHold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12630,7 +12631,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class TemperatureSetpointHoldDuration(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12643,7 +12644,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ThermostatProgrammingOperationMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12656,7 +12657,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class HvacRelayState(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12669,7 +12670,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SetpointChangeSource(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12682,7 +12683,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SetpointChangeAmount(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12695,7 +12696,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class SetpointChangeSourceTimestamp(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12708,7 +12709,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcType(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12721,7 +12722,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcCapacity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12734,7 +12735,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcRefrigerantType(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12747,7 +12748,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcCompressor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12760,7 +12761,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcErrorCode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12773,7 +12774,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcLouverPosition(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12786,7 +12787,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcCoilTemperature(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12799,7 +12800,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AcCapacityFormat(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12812,7 +12813,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12825,7 +12826,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12883,7 +12884,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12915,7 +12916,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DehumidificationCooling(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12954,7 +12955,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DehumidificationLockout(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -12967,7 +12968,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DehumidificationHysteresis(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13006,7 +13007,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13019,7 +13020,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13077,7 +13078,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13090,7 +13091,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13563,7 +13564,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="updateFlags", Tag=0, Type=int), + Label="updateFlags", Tag=0, Type=uint), ClusterObjectFieldDescriptor( Label="action", Tag=1, Type=ColorControl.Enums.ColorLoopAction), ClusterObjectFieldDescriptor( @@ -13578,7 +13579,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: Label="optionsOverride", Tag=6, Type=uint), ]) - updateFlags: 'int' = None + updateFlags: 'uint' = None action: 'ColorControl.Enums.ColorLoopAction' = None direction: 'ColorControl.Enums.ColorLoopDirection' = None time: 'uint' = None @@ -13682,7 +13683,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CurrentSaturation(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13695,7 +13696,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RemainingTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13708,7 +13709,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CurrentX(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13747,7 +13748,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CompensationText(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13760,7 +13761,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class ColorTemperature(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13773,7 +13774,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13786,7 +13787,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorControlOptions(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13812,7 +13813,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary1X(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13825,7 +13826,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary1Y(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13838,7 +13839,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary1Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13851,7 +13852,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary2X(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13864,7 +13865,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary2Y(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13877,7 +13878,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary2Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13890,7 +13891,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary3X(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13903,7 +13904,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary3Y(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13916,7 +13917,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary3Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13929,7 +13930,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary4X(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13942,7 +13943,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary4Y(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13955,7 +13956,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary4Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13968,7 +13969,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary5X(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13981,7 +13982,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary5Y(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13994,7 +13995,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary5Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14007,7 +14008,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary6X(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14020,7 +14021,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary6Y(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14033,7 +14034,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Primary6Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14046,7 +14047,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class WhitePointX(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14059,7 +14060,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class WhitePointY(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14072,7 +14073,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorPointRX(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14085,7 +14086,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorPointRY(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14098,7 +14099,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorPointRIntensity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14111,7 +14112,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorPointGX(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14124,7 +14125,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorPointGY(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14137,7 +14138,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorPointGIntensity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14150,7 +14151,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorPointBX(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14163,7 +14164,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorPointBY(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14176,7 +14177,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorPointBIntensity(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14189,7 +14190,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class EnhancedCurrentHue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14202,7 +14203,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class EnhancedColorMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14215,7 +14216,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorLoopActive(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14228,7 +14229,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorLoopDirection(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14241,7 +14242,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorLoopTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14254,7 +14255,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorLoopStartEnhancedHue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14267,7 +14268,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorLoopStoredEnhancedHue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14280,7 +14281,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorCapabilities(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14293,7 +14294,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorTempPhysicalMin(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14306,7 +14307,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ColorTempPhysicalMax(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14319,7 +14320,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CoupleColorTempToLevelMinMireds(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14358,7 +14359,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14390,7 +14391,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PhysicalMaxLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14403,7 +14404,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BallastStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14429,7 +14430,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class MaxLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14442,7 +14443,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PowerOnLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14455,7 +14456,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PowerOnFadeTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14468,7 +14469,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class IntrinsicBallastFactor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14481,7 +14482,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BallastFactorAdjustment(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14494,7 +14495,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LampQuality(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14507,7 +14508,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LampType(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14520,7 +14521,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class LampManufacturer(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14533,7 +14534,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class LampRatedHours(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14546,7 +14547,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LampBurnHours(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14559,7 +14560,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LampAlarmMode(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14572,7 +14573,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LampBurnHoursTripPoint(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14585,7 +14586,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14598,7 +14599,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14635,7 +14636,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class MinMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14648,7 +14649,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class MaxMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14661,7 +14662,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class Tolerance(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14674,7 +14675,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LightSensorType(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14687,7 +14688,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14700,7 +14701,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14771,7 +14772,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14784,7 +14785,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14855,7 +14856,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ScaledValue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14868,7 +14869,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MinScaledValue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14881,7 +14882,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MaxScaledValue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14894,7 +14895,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ScaledTolerance(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14907,7 +14908,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Scale(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14920,7 +14921,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -14933,7 +14934,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15004,7 +15005,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15017,7 +15018,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15088,7 +15089,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15101,7 +15102,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15172,7 +15173,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PirUnoccupiedToOccupiedDelay(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15185,7 +15186,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PirUnoccupiedToOccupiedThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15198,7 +15199,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class UltrasonicOccupiedToUnoccupiedDelay(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15211,7 +15212,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class UltrasonicUnoccupiedToOccupiedDelay(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15224,7 +15225,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class UltrasonicUnoccupiedToOccupiedThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15237,7 +15238,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PhysicalContactOccupiedToUnoccupiedDelay(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15250,7 +15251,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PhysicalContactUnoccupiedToOccupiedDelay(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15263,7 +15264,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PhysicalContactUnoccupiedToOccupiedThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15276,7 +15277,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15289,7 +15290,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15360,7 +15361,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15373,7 +15374,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15444,7 +15445,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15457,7 +15458,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15528,7 +15529,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15541,7 +15542,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15612,7 +15613,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15625,7 +15626,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15696,7 +15697,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15709,7 +15710,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15780,7 +15781,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15793,7 +15794,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15864,7 +15865,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15877,7 +15878,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15948,7 +15949,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -15961,7 +15962,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16032,7 +16033,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16045,7 +16046,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16116,7 +16117,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16129,7 +16130,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16200,7 +16201,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16213,7 +16214,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16284,7 +16285,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16297,7 +16298,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16368,7 +16369,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16381,7 +16382,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16452,7 +16453,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16465,7 +16466,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16536,7 +16537,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16549,7 +16550,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16620,7 +16621,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16633,7 +16634,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16704,7 +16705,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16717,7 +16718,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16788,7 +16789,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16801,7 +16802,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16872,7 +16873,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16885,7 +16886,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16956,7 +16957,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -16969,7 +16970,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17040,7 +17041,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17053,7 +17054,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17124,7 +17125,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17137,7 +17138,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17208,7 +17209,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17221,7 +17222,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17292,7 +17293,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17305,7 +17306,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17376,7 +17377,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17389,7 +17390,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17460,7 +17461,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17473,7 +17474,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17544,7 +17545,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17557,7 +17558,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17628,7 +17629,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17641,7 +17642,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17712,7 +17713,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17725,7 +17726,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17796,7 +17797,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float) + return ClusterObjectFieldDescriptor(Type=typing.Optional[float]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17809,7 +17810,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -17885,7 +17886,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="zoneStatus", Tag=0, Type=int), + Label="zoneStatus", Tag=0, Type=uint), ClusterObjectFieldDescriptor( Label="extendedStatus", Tag=1, Type=uint), ClusterObjectFieldDescriptor( @@ -17894,7 +17895,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: Label="delay", Tag=3, Type=uint), ]) - zoneStatus: 'int' = None + zoneStatus: 'uint' = None extendedStatus: 'uint' = None zoneId: 'uint' = None delay: 'uint' = None @@ -18050,7 +18051,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CurrentZoneSensitivityLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -18063,7 +18064,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -18076,7 +18077,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -18174,11 +18175,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="zoneId", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="zoneStatus", Tag=1, Type=int), + Label="zoneStatus", Tag=1, Type=uint), ]) zoneId: 'uint' = None - zoneStatus: 'int' = None + zoneStatus: 'uint' = None class Commands: @dataclass @@ -18232,13 +18233,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numberOfZones", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="zoneIds", Tag=1, Type=uint, IsArray=True), + Label="zoneIds", Tag=1, Type=typing.List[uint]), ClusterObjectFieldDescriptor( Label="armDisarmCode", Tag=2, Type=str), ]) numberOfZones: 'uint' = None - zoneIds: typing.List['uint'] = None + zoneIds: 'typing.List[uint]' = None armDisarmCode: 'str' = None @dataclass @@ -18479,11 +18480,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numberOfZones", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="zoneIds", Tag=1, Type=uint, IsArray=True), + Label="zoneIds", Tag=1, Type=typing.List[uint]), ]) numberOfZones: 'uint' = None - zoneIds: typing.List['uint'] = None + zoneIds: 'typing.List[uint]' = None @dataclass class GetPanelStatus(ClusterCommand): @@ -18510,11 +18511,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numberOfZones", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="bypassResult", Tag=1, Type=IasAce.Enums.IasAceBypassResult, IsArray=True), + Label="bypassResult", Tag=1, Type=typing.List[IasAce.Enums.IasAceBypassResult]), ]) numberOfZones: 'uint' = None - bypassResult: typing.List['IasAce.Enums.IasAceBypassResult'] = None + bypassResult: 'typing.List[IasAce.Enums.IasAceBypassResult]' = None @dataclass class GetBypassedZoneList(ClusterCommand): @@ -18543,12 +18544,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="numberOfZones", Tag=1, Type=uint), ClusterObjectFieldDescriptor( - Label="zoneStatusResult", Tag=2, Type=IasAce.Structs.IasAceZoneStatusResult, IsArray=True), + Label="zoneStatusResult", Tag=2, Type=typing.List[IasAce.Structs.IasAceZoneStatusResult]), ]) zoneStatusComplete: 'bool' = None numberOfZones: 'uint' = None - zoneStatusResult: typing.List['IasAce.Structs.IasAceZoneStatusResult'] = None + zoneStatusResult: 'typing.List[IasAce.Structs.IasAceZoneStatusResult]' = None @dataclass class GetZoneStatus(ClusterCommand): @@ -18587,7 +18588,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -18619,7 +18620,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="warningInfo", Tag=0, Type=int), + Label="warningInfo", Tag=0, Type=uint), ClusterObjectFieldDescriptor( Label="warningDuration", Tag=1, Type=uint), ClusterObjectFieldDescriptor( @@ -18628,7 +18629,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: Label="strobeLevel", Tag=3, Type=uint), ]) - warningInfo: 'int' = None + warningInfo: 'uint' = None warningDuration: 'uint' = None strobeDutyCycle: 'uint' = None strobeLevel: 'uint' = None @@ -18644,10 +18645,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="squawkInfo", Tag=0, Type=int), + Label="squawkInfo", Tag=0, Type=uint), ]) - squawkInfo: 'int' = None + squawkInfo: 'uint' = None class Attributes: class MaxDuration(ClusterAttributeDescriptor): @@ -18674,7 +18675,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -18719,7 +18720,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -18821,12 +18822,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="channelMatch", Tag=0, Type=TvChannel.Structs.TvChannelInfo, IsArray=True), + 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 + channelMatch: 'typing.List[TvChannel.Structs.TvChannelInfo]' = None errorType: 'TvChannel.Enums.TvChannelErrorType' = None @dataclass @@ -18876,7 +18877,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=TvChannel.Structs.TvChannelInfo, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[TvChannel.Structs.TvChannelInfo]) class TvChannelLineup(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -18915,7 +18916,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19008,7 +19009,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=TargetNavigator.Structs.NavigateTargetTargetInfo, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[TargetNavigator.Structs.NavigateTargetTargetInfo]) class CurrentNavigatorTarget(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19021,7 +19022,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19034,7 +19035,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19418,7 +19419,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class StartTime(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19431,7 +19432,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Duration(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19444,7 +19445,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PositionUpdatedAt(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19457,7 +19458,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Position(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19470,7 +19471,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PlaybackSpeed(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19483,7 +19484,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SeekRangeEnd(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19496,7 +19497,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class SeekRangeStart(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19509,7 +19510,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19522,7 +19523,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19651,7 +19652,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=MediaInput.Structs.MediaInputInfo, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[MediaInput.Structs.MediaInputInfo]) class CurrentMediaInput(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19664,7 +19665,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19677,7 +19678,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19722,7 +19723,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19881,7 +19882,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19955,12 +19956,12 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="value", Tag=1, Type=str), ClusterObjectFieldDescriptor( - Label="externalIDList", Tag=2, Type=ContentLauncher.Structs.ContentLaunchAdditionalInfo, IsArray=True), + Label="externalIDList", Tag=2, Type=typing.List[ContentLauncher.Structs.ContentLaunchAdditionalInfo]), ]) type: 'ContentLauncher.Enums.ContentLaunchParameterEnum' = None value: 'str' = None - externalIDList: typing.List['ContentLauncher.Structs.ContentLaunchAdditionalInfo'] = None + externalIDList: 'typing.List[ContentLauncher.Structs.ContentLaunchAdditionalInfo]' = None @dataclass class ContentLaunchBrandingInformation(ClusterObject): @@ -20114,7 +20115,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[bytes]) class SupportedStreamingTypes(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20127,7 +20128,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=ContentLauncher.Enums.ContentLaunchStreamingType, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[ContentLauncher.Enums.ContentLaunchStreamingType]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20140,7 +20141,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20236,7 +20237,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=AudioOutput.Structs.AudioOutputInfo, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[AudioOutput.Structs.AudioOutputInfo]) class CurrentAudioOutput(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20249,7 +20250,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20262,7 +20263,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20358,7 +20359,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) class CatalogVendorId(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20371,7 +20372,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ApplicationId(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20384,7 +20385,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20397,7 +20398,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20544,7 +20545,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20628,7 +20629,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20673,7 +20674,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="e", Tag=4, Type=str), ClusterObjectFieldDescriptor( - Label="f", Tag=5, Type=int), + Label="f", Tag=5, Type=uint), ]) a: 'uint' = None @@ -20681,7 +20682,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: c: 'TestCluster.Enums.SimpleEnum' = None d: 'bytes' = None e: 'str' = None - f: 'int' = None + f: 'uint' = None @dataclass class NullablesAndOptionalsStruct(ClusterObject): @@ -20690,43 +20691,43 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="nullableInt", Tag=0, Type=uint), + Label="nullableInt", Tag=0, Type=typing.Union[Nullable, uint]), ClusterObjectFieldDescriptor( - Label="optionalInt", Tag=1, Type=uint), + Label="optionalInt", Tag=1, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( - Label="nullableOptionalInt", Tag=2, Type=uint), + Label="nullableOptionalInt", Tag=2, Type=typing.Union[None, Nullable, uint]), ClusterObjectFieldDescriptor( - Label="nullableString", Tag=3, Type=str), + Label="nullableString", Tag=3, Type=typing.Union[Nullable, str]), ClusterObjectFieldDescriptor( - Label="optionalString", Tag=4, Type=str), + Label="optionalString", Tag=4, Type=typing.Optional[str]), ClusterObjectFieldDescriptor( - Label="nullableOptionalString", Tag=5, Type=str), + Label="nullableOptionalString", Tag=5, Type=typing.Union[None, Nullable, str]), ClusterObjectFieldDescriptor( - Label="nullableStruct", Tag=6, Type=TestCluster.Structs.SimpleStruct), + Label="nullableStruct", Tag=6, Type=typing.Union[Nullable, TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( - Label="optionalStruct", Tag=7, Type=TestCluster.Structs.SimpleStruct), + Label="optionalStruct", Tag=7, Type=typing.Optional[TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( - Label="nullableOptionalStruct", Tag=8, Type=TestCluster.Structs.SimpleStruct), + Label="nullableOptionalStruct", Tag=8, Type=typing.Union[None, Nullable, TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( - Label="nullableList", Tag=9, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + Label="nullableList", Tag=9, Type=typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]), ClusterObjectFieldDescriptor( - Label="optionalList", Tag=10, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + Label="optionalList", Tag=10, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]), ClusterObjectFieldDescriptor( - Label="nullableOptionalList", Tag=11, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + Label="nullableOptionalList", Tag=11, Type=typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]), ]) - nullableInt: 'uint' = None - optionalInt: 'uint' = None - nullableOptionalInt: 'uint' = None - nullableString: 'str' = None - optionalString: 'str' = None - nullableOptionalString: 'str' = None - nullableStruct: 'TestCluster.Structs.SimpleStruct' = None - optionalStruct: 'TestCluster.Structs.SimpleStruct' = None - nullableOptionalStruct: 'TestCluster.Structs.SimpleStruct' = None - nullableList: typing.List['TestCluster.Enums.SimpleEnum'] = None - optionalList: typing.List['TestCluster.Enums.SimpleEnum'] = None - nullableOptionalList: typing.List['TestCluster.Enums.SimpleEnum'] = None + nullableInt: 'typing.Union[Nullable, uint]' = None + optionalInt: 'typing.Optional[uint]' = None + nullableOptionalInt: 'typing.Union[None, Nullable, uint]' = None + nullableString: 'typing.Union[Nullable, str]' = None + optionalString: 'typing.Optional[str]' = None + nullableOptionalString: 'typing.Union[None, Nullable, str]' = None + nullableStruct: 'typing.Union[Nullable, TestCluster.Structs.SimpleStruct]' = None + 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 + optionalList: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None + nullableOptionalList: 'typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]' = None @dataclass class NestedStruct(ClusterObject): @@ -20759,22 +20760,22 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="c", Tag=2, Type=TestCluster.Structs.SimpleStruct), ClusterObjectFieldDescriptor( - Label="d", Tag=3, Type=TestCluster.Structs.SimpleStruct, IsArray=True), + Label="d", Tag=3, Type=typing.List[TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( - Label="e", Tag=4, Type=uint, IsArray=True), + Label="e", Tag=4, Type=typing.List[uint]), ClusterObjectFieldDescriptor( - Label="f", Tag=5, Type=bytes, IsArray=True), + Label="f", Tag=5, Type=typing.List[bytes]), ClusterObjectFieldDescriptor( - Label="g", Tag=6, Type=uint, IsArray=True), + Label="g", Tag=6, 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 + d: 'typing.List[TestCluster.Structs.SimpleStruct]' = None + e: 'typing.List[uint]' = None + f: 'typing.List[bytes]' = None + g: 'typing.List[uint]' = None @dataclass class DoubleNestedStructList(ClusterObject): @@ -20783,10 +20784,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="a", Tag=0, Type=TestCluster.Structs.NestedStructList, IsArray=True), + Label="a", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]), ]) - a: typing.List['TestCluster.Structs.NestedStructList'] = None + a: 'typing.List[TestCluster.Structs.NestedStructList]' = None @dataclass class TestListStructOctet(ClusterObject): @@ -20911,23 +20912,23 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="arg1", Tag=0, Type=TestCluster.Structs.NestedStructList, IsArray=True), + Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]), ClusterObjectFieldDescriptor( - Label="arg2", Tag=1, Type=TestCluster.Structs.SimpleStruct, IsArray=True), + Label="arg2", Tag=1, Type=typing.List[TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( - Label="arg3", Tag=2, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + Label="arg3", Tag=2, Type=typing.List[TestCluster.Enums.SimpleEnum]), ClusterObjectFieldDescriptor( - Label="arg4", Tag=3, Type=bool, IsArray=True), + 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 + 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 @@ -20961,10 +20962,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="arg1", Tag=0, Type=uint, IsArray=True), + Label="arg1", Tag=0, Type=typing.List[uint]), ]) - arg1: typing.List['uint'] = None + arg1: 'typing.List[uint]' = None @dataclass class TestSimpleArgumentRequest(ClusterCommand): @@ -21012,23 +21013,23 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="arg1", Tag=0, Type=TestCluster.Structs.NestedStructList, IsArray=True), + Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]), ClusterObjectFieldDescriptor( - Label="arg2", Tag=1, Type=TestCluster.Structs.SimpleStruct, IsArray=True), + Label="arg2", Tag=1, Type=typing.List[TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( - Label="arg3", Tag=2, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + Label="arg3", Tag=2, Type=typing.List[TestCluster.Enums.SimpleEnum]), ClusterObjectFieldDescriptor( - Label="arg4", Tag=3, Type=bool, IsArray=True), + 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 + 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 @@ -21045,17 +21046,17 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="wasPresent", Tag=0, Type=bool), ClusterObjectFieldDescriptor( - Label="wasNull", Tag=1, Type=bool), + Label="wasNull", Tag=1, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor( - Label="value", Tag=2, Type=uint), + Label="value", Tag=2, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( - Label="originalValue", Tag=3, Type=uint), + Label="originalValue", Tag=3, Type=typing.Union[None, Nullable, uint]), ]) wasPresent: 'bool' = None - wasNull: 'bool' = None - value: 'uint' = None - originalValue: 'uint' = None + wasNull: 'typing.Optional[bool]' = None + value: 'typing.Optional[uint]' = None + originalValue: 'typing.Union[None, Nullable, uint]' = None @dataclass class TestStructArgumentRequest(ClusterCommand): @@ -21086,89 +21087,89 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="nullableIntWasNull", Tag=0, Type=bool), ClusterObjectFieldDescriptor( - Label="nullableIntValue", Tag=1, Type=uint), + Label="nullableIntValue", Tag=1, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( Label="optionalIntWasPresent", Tag=2, Type=bool), ClusterObjectFieldDescriptor( - Label="optionalIntValue", Tag=3, Type=uint), + Label="optionalIntValue", Tag=3, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( Label="nullableOptionalIntWasPresent", Tag=4, Type=bool), ClusterObjectFieldDescriptor( - Label="nullableOptionalIntWasNull", Tag=5, Type=bool), + Label="nullableOptionalIntWasNull", Tag=5, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor( - Label="nullableOptionalIntValue", Tag=6, Type=uint), + Label="nullableOptionalIntValue", Tag=6, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( Label="nullableStringWasNull", Tag=7, Type=bool), ClusterObjectFieldDescriptor( - Label="nullableStringValue", Tag=8, Type=str), + Label="nullableStringValue", Tag=8, Type=typing.Optional[str]), ClusterObjectFieldDescriptor( Label="optionalStringWasPresent", Tag=9, Type=bool), ClusterObjectFieldDescriptor( - Label="optionalStringValue", Tag=10, Type=str), + Label="optionalStringValue", Tag=10, Type=typing.Optional[str]), ClusterObjectFieldDescriptor( Label="nullableOptionalStringWasPresent", Tag=11, Type=bool), ClusterObjectFieldDescriptor( - Label="nullableOptionalStringWasNull", Tag=12, Type=bool), + Label="nullableOptionalStringWasNull", Tag=12, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor( - Label="nullableOptionalStringValue", Tag=13, Type=str), + Label="nullableOptionalStringValue", Tag=13, Type=typing.Optional[str]), ClusterObjectFieldDescriptor( Label="nullableStructWasNull", Tag=14, Type=bool), ClusterObjectFieldDescriptor( - Label="nullableStructValue", Tag=15, Type=TestCluster.Structs.SimpleStruct), + Label="nullableStructValue", Tag=15, Type=typing.Optional[TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( Label="optionalStructWasPresent", Tag=16, Type=bool), ClusterObjectFieldDescriptor( - Label="optionalStructValue", Tag=17, Type=TestCluster.Structs.SimpleStruct), + Label="optionalStructValue", Tag=17, Type=typing.Optional[TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( Label="nullableOptionalStructWasPresent", Tag=18, Type=bool), ClusterObjectFieldDescriptor( - Label="nullableOptionalStructWasNull", Tag=19, Type=bool), + Label="nullableOptionalStructWasNull", Tag=19, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor( - Label="nullableOptionalStructValue", Tag=20, Type=TestCluster.Structs.SimpleStruct), + Label="nullableOptionalStructValue", Tag=20, Type=typing.Optional[TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( Label="nullableListWasNull", Tag=21, Type=bool), ClusterObjectFieldDescriptor( - Label="nullableListValue", Tag=22, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + 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=TestCluster.Enums.SimpleEnum, IsArray=True), + 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=bool), + Label="nullableOptionalListWasNull", Tag=26, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor( - Label="nullableOptionalListValue", Tag=27, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + Label="nullableOptionalListValue", Tag=27, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]), ]) nullableIntWasNull: 'bool' = None - nullableIntValue: 'uint' = None + nullableIntValue: 'typing.Optional[uint]' = None optionalIntWasPresent: 'bool' = None - optionalIntValue: 'uint' = None + optionalIntValue: 'typing.Optional[uint]' = None nullableOptionalIntWasPresent: 'bool' = None - nullableOptionalIntWasNull: 'bool' = None - nullableOptionalIntValue: 'uint' = None + nullableOptionalIntWasNull: 'typing.Optional[bool]' = None + nullableOptionalIntValue: 'typing.Optional[uint]' = None nullableStringWasNull: 'bool' = None - nullableStringValue: 'str' = None + nullableStringValue: 'typing.Optional[str]' = None optionalStringWasPresent: 'bool' = None - optionalStringValue: 'str' = None + optionalStringValue: 'typing.Optional[str]' = None nullableOptionalStringWasPresent: 'bool' = None - nullableOptionalStringWasNull: 'bool' = None - nullableOptionalStringValue: 'str' = None + nullableOptionalStringWasNull: 'typing.Optional[bool]' = None + nullableOptionalStringValue: 'typing.Optional[str]' = None nullableStructWasNull: 'bool' = None - nullableStructValue: 'TestCluster.Structs.SimpleStruct' = None + nullableStructValue: 'typing.Optional[TestCluster.Structs.SimpleStruct]' = None optionalStructWasPresent: 'bool' = None - optionalStructValue: 'TestCluster.Structs.SimpleStruct' = None + optionalStructValue: 'typing.Optional[TestCluster.Structs.SimpleStruct]' = None nullableOptionalStructWasPresent: 'bool' = None - nullableOptionalStructWasNull: 'bool' = None - nullableOptionalStructValue: 'TestCluster.Structs.SimpleStruct' = None + nullableOptionalStructWasNull: 'typing.Optional[bool]' = None + nullableOptionalStructValue: 'typing.Optional[TestCluster.Structs.SimpleStruct]' = None nullableListWasNull: 'bool' = None - nullableListValue: typing.List['TestCluster.Enums.SimpleEnum'] = None + nullableListValue: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None optionalListWasPresent: 'bool' = None - optionalListValue: typing.List['TestCluster.Enums.SimpleEnum'] = None + optionalListValue: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None nullableOptionalListWasPresent: 'bool' = None - nullableOptionalListWasNull: 'bool' = None - nullableOptionalListValue: typing.List['TestCluster.Enums.SimpleEnum'] = None + nullableOptionalListWasNull: 'typing.Optional[bool]' = None + nullableOptionalListValue: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None @dataclass class TestNestedStructArgumentRequest(ClusterCommand): @@ -21213,10 +21214,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="arg1", Tag=0, Type=TestCluster.Structs.SimpleStruct, IsArray=True), + Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.SimpleStruct]), ]) - arg1: typing.List['TestCluster.Structs.SimpleStruct'] = None + arg1: 'typing.List[TestCluster.Structs.SimpleStruct]' = None @dataclass class TestListInt8UArgumentRequest(ClusterCommand): @@ -21229,10 +21230,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="arg1", Tag=0, Type=uint, IsArray=True), + Label="arg1", Tag=0, Type=typing.List[uint]), ]) - arg1: typing.List['uint'] = None + arg1: 'typing.List[uint]' = None @dataclass class TestNestedStructListArgumentRequest(ClusterCommand): @@ -21261,10 +21262,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="arg1", Tag=0, Type=TestCluster.Structs.NestedStructList, IsArray=True), + Label="arg1", Tag=0, Type=typing.List[TestCluster.Structs.NestedStructList]), ]) - arg1: typing.List['TestCluster.Structs.NestedStructList'] = None + arg1: 'typing.List[TestCluster.Structs.NestedStructList]' = None @dataclass class TestListInt8UReverseRequest(ClusterCommand): @@ -21277,10 +21278,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="arg1", Tag=0, Type=uint, IsArray=True), + Label="arg1", Tag=0, Type=typing.List[uint]), ]) - arg1: typing.List['uint'] = None + arg1: 'typing.List[uint]' = None @dataclass class TestEnumsRequest(ClusterCommand): @@ -21312,10 +21313,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="arg1", Tag=0, Type=uint), + Label="arg1", Tag=0, Type=typing.Union[None, Nullable, uint]), ]) - arg1: 'uint' = None + arg1: 'typing.Union[None, Nullable, uint]' = None @dataclass class TestComplexNullableOptionalRequest(ClusterCommand): @@ -21328,43 +21329,43 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="nullableInt", Tag=0, Type=uint), + Label="nullableInt", Tag=0, Type=typing.Union[Nullable, uint]), ClusterObjectFieldDescriptor( - Label="optionalInt", Tag=1, Type=uint), + Label="optionalInt", Tag=1, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor( - Label="nullableOptionalInt", Tag=2, Type=uint), + Label="nullableOptionalInt", Tag=2, Type=typing.Union[None, Nullable, uint]), ClusterObjectFieldDescriptor( - Label="nullableString", Tag=3, Type=str), + Label="nullableString", Tag=3, Type=typing.Union[Nullable, str]), ClusterObjectFieldDescriptor( - Label="optionalString", Tag=4, Type=str), + Label="optionalString", Tag=4, Type=typing.Optional[str]), ClusterObjectFieldDescriptor( - Label="nullableOptionalString", Tag=5, Type=str), + Label="nullableOptionalString", Tag=5, Type=typing.Union[None, Nullable, str]), ClusterObjectFieldDescriptor( - Label="nullableStruct", Tag=6, Type=TestCluster.Structs.SimpleStruct), + Label="nullableStruct", Tag=6, Type=typing.Union[Nullable, TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( - Label="optionalStruct", Tag=7, Type=TestCluster.Structs.SimpleStruct), + Label="optionalStruct", Tag=7, Type=typing.Optional[TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( - Label="nullableOptionalStruct", Tag=8, Type=TestCluster.Structs.SimpleStruct), + Label="nullableOptionalStruct", Tag=8, Type=typing.Union[None, Nullable, TestCluster.Structs.SimpleStruct]), ClusterObjectFieldDescriptor( - Label="nullableList", Tag=9, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + Label="nullableList", Tag=9, Type=typing.Union[Nullable, typing.List[TestCluster.Enums.SimpleEnum]]), ClusterObjectFieldDescriptor( - Label="optionalList", Tag=10, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + Label="optionalList", Tag=10, Type=typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]), ClusterObjectFieldDescriptor( - Label="nullableOptionalList", Tag=11, Type=TestCluster.Enums.SimpleEnum, IsArray=True), + Label="nullableOptionalList", Tag=11, Type=typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]), ]) - nullableInt: 'uint' = None - optionalInt: 'uint' = None - nullableOptionalInt: 'uint' = None - nullableString: 'str' = None - optionalString: 'str' = None - nullableOptionalString: 'str' = None - nullableStruct: 'TestCluster.Structs.SimpleStruct' = None - optionalStruct: 'TestCluster.Structs.SimpleStruct' = None - nullableOptionalStruct: 'TestCluster.Structs.SimpleStruct' = None - nullableList: typing.List['TestCluster.Enums.SimpleEnum'] = None - optionalList: typing.List['TestCluster.Enums.SimpleEnum'] = None - nullableOptionalList: typing.List['TestCluster.Enums.SimpleEnum'] = None + nullableInt: 'typing.Union[Nullable, uint]' = None + optionalInt: 'typing.Optional[uint]' = None + nullableOptionalInt: 'typing.Union[None, Nullable, uint]' = None + nullableString: 'typing.Union[Nullable, str]' = None + optionalString: 'typing.Optional[str]' = None + nullableOptionalString: 'typing.Union[None, Nullable, str]' = None + nullableStruct: 'typing.Union[Nullable, TestCluster.Structs.SimpleStruct]' = None + 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 + optionalList: 'typing.Optional[typing.List[TestCluster.Enums.SimpleEnum]]' = None + nullableOptionalList: 'typing.Union[None, Nullable, typing.List[TestCluster.Enums.SimpleEnum]]' = None class Attributes: class Boolean(ClusterAttributeDescriptor): @@ -21586,7 +21587,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) class ListOctetString(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21599,7 +21600,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[bytes]) class ListStructOctetString(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21612,7 +21613,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=TestCluster.Structs.TestListStructOctet, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[TestCluster.Structs.TestListStructOctet]) class LongOctetString(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21703,7 +21704,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=TestCluster.Structs.NullablesAndOptionalsStruct, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[TestCluster.Structs.NullablesAndOptionalsStruct]) class Unsupported(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21729,7 +21730,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bool]) class NullableBitmap8(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21742,7 +21743,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableBitmap16(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21755,7 +21756,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableBitmap32(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21768,7 +21769,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableBitmap64(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21781,7 +21782,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableInt8u(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21794,7 +21795,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableInt16u(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21807,7 +21808,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableInt32u(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21820,7 +21821,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableInt64u(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21833,7 +21834,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableInt8s(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21846,7 +21847,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) class NullableInt16s(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21859,7 +21860,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) class NullableInt32s(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21872,7 +21873,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) class NullableInt64s(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21885,7 +21886,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) class NullableEnum8(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21898,7 +21899,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableEnum16(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21911,7 +21912,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) class NullableOctetString(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21924,7 +21925,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes]) class NullableCharString(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21937,7 +21938,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, str]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21950,7 +21951,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22088,7 +22089,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="messageId", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="messageControl", Tag=1, Type=int), + Label="messageControl", Tag=1, Type=uint), ClusterObjectFieldDescriptor( Label="startTime", Tag=2, Type=uint), ClusterObjectFieldDescriptor( @@ -22096,15 +22097,15 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="message", Tag=4, Type=str), ClusterObjectFieldDescriptor( - Label="optionalExtendedMessageControl", Tag=5, Type=int), + Label="optionalExtendedMessageControl", Tag=5, Type=uint), ]) messageId: 'uint' = None - messageControl: 'int' = None + messageControl: 'uint' = None startTime: 'uint' = None durationInMinutes: 'uint' = None message: 'str' = None - optionalExtendedMessageControl: 'int' = None + optionalExtendedMessageControl: 'uint' = None @dataclass class GetLastMessage(ClusterCommand): @@ -22131,11 +22132,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="messageId", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="messageControl", Tag=1, Type=int), + Label="messageControl", Tag=1, Type=uint), ]) messageId: 'uint' = None - messageControl: 'int' = None + messageControl: 'uint' = None @dataclass class MessageConfirmation(ClusterCommand): @@ -22175,7 +22176,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="messageId", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="messageControl", Tag=1, Type=int), + Label="messageControl", Tag=1, Type=uint), ClusterObjectFieldDescriptor( Label="startTime", Tag=2, Type=uint), ClusterObjectFieldDescriptor( @@ -22183,15 +22184,15 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="message", Tag=4, Type=str), ClusterObjectFieldDescriptor( - Label="optionalExtendedMessageControl", Tag=5, Type=int), + Label="optionalExtendedMessageControl", Tag=5, Type=uint), ]) messageId: 'uint' = None - messageControl: 'int' = None + messageControl: 'uint' = None startTime: 'uint' = None durationInMinutes: 'uint' = None message: 'str' = None - optionalExtendedMessageControl: 'int' = None + optionalExtendedMessageControl: 'uint' = None @dataclass class GetMessageCancellation(ClusterCommand): @@ -22237,7 +22238,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22282,7 +22283,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class CompanyId(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22295,7 +22296,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class BrandName(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22308,7 +22309,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class BrandId(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22321,7 +22322,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Model(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22334,7 +22335,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class PartNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22347,7 +22348,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class ProductRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22360,7 +22361,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class SoftwareRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22373,7 +22374,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class ProductTypeName(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22386,7 +22387,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class ProductTypeId(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22399,7 +22400,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class CecedSpecificationVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22412,7 +22413,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22425,7 +22426,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22496,7 +22497,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class Model(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22509,7 +22510,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class PartNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22522,7 +22523,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class ProductRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22535,7 +22536,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class SoftwareRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22548,7 +22549,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bytes) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) class UtilityName(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22561,7 +22562,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) class Pod(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22613,7 +22614,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22665,13 +22666,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="alertsCount", Tag=0, Type=int), + Label="alertsCount", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="alertStructures", Tag=1, Type=int, IsArray=True), + Label="alertStructures", Tag=1, Type=typing.List[uint]), ]) - alertsCount: 'int' = None - alertStructures: typing.List['int'] = None + alertsCount: 'uint' = None + alertStructures: 'typing.List[uint]' = None @dataclass class AlertsNotification(ClusterCommand): @@ -22684,13 +22685,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor( - Label="alertsCount", Tag=0, Type=int), + Label="alertsCount", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="alertStructures", Tag=1, Type=int, IsArray=True), + Label="alertStructures", Tag=1, Type=typing.List[uint]), ]) - alertsCount: 'int' = None - alertStructures: typing.List['int'] = None + alertsCount: 'uint' = None + alertStructures: 'typing.List[uint]' = None @dataclass class EventsNotification(ClusterCommand): @@ -22723,7 +22724,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22761,13 +22762,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="logLength", Tag=2, Type=uint), ClusterObjectFieldDescriptor( - Label="logPayload", Tag=3, Type=uint, IsArray=True), + Label="logPayload", Tag=3, Type=typing.List[uint]), ]) timeStamp: 'uint' = None logId: 'uint' = None logLength: 'uint' = None - logPayload: typing.List['uint'] = None + logPayload: 'typing.List[uint]' = None @dataclass class LogRequest(ClusterCommand): @@ -22802,13 +22803,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="logLength", Tag=2, Type=uint), ClusterObjectFieldDescriptor( - Label="logPayload", Tag=3, Type=uint, IsArray=True), + Label="logPayload", Tag=3, Type=typing.List[uint]), ]) timeStamp: 'uint' = None logId: 'uint' = None logLength: 'uint' = None - logPayload: typing.List['uint'] = None + logPayload: 'typing.List[uint]' = None @dataclass class LogQueueRequest(ClusterCommand): @@ -22835,11 +22836,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="logQueueSize", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="logIds", Tag=1, Type=uint, IsArray=True), + Label="logIds", Tag=1, Type=typing.List[uint]), ]) logQueueSize: 'uint' = None - logIds: typing.List['uint'] = None + logIds: 'typing.List[uint]' = None @dataclass class StatisticsAvailable(ClusterCommand): @@ -22854,11 +22855,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="logQueueSize", Tag=0, Type=uint), ClusterObjectFieldDescriptor( - Label="logIds", Tag=1, Type=uint, IsArray=True), + Label="logIds", Tag=1, Type=typing.List[uint]), ]) logQueueSize: 'uint' = None - logIds: typing.List['uint'] = None + logIds: 'typing.List[uint]' = None class Attributes: class LogMaxSize(ClusterAttributeDescriptor): @@ -22898,7 +22899,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -22936,13 +22937,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="maxNumberOfIntervals", Tag=2, Type=uint), ClusterObjectFieldDescriptor( - Label="listOfAttributes", Tag=3, Type=uint, IsArray=True), + Label="listOfAttributes", Tag=3, Type=typing.List[uint]), ]) profileCount: 'uint' = None profileIntervalPeriod: 'uint' = None maxNumberOfIntervals: 'uint' = None - listOfAttributes: typing.List['uint'] = None + listOfAttributes: 'typing.List[uint]' = None @dataclass class GetProfileInfoCommand(ClusterCommand): @@ -22977,7 +22978,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor( Label="attributeId", Tag=4, Type=uint), ClusterObjectFieldDescriptor( - Label="intervals", Tag=5, Type=uint, IsArray=True), + Label="intervals", Tag=5, Type=typing.List[uint]), ]) startTime: 'uint' = None @@ -22985,7 +22986,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: profileIntervalPeriod: 'uint' = None numberOfIntervalsDelivered: 'uint' = None attributeId: 'uint' = None - intervals: typing.List['uint'] = None + intervals: 'typing.List[uint]' = None @dataclass class GetMeasurementProfileCommand(ClusterCommand): @@ -23021,7 +23022,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DcVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23034,7 +23035,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DcVoltageMin(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23047,7 +23048,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DcVoltageMax(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23060,7 +23061,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DcCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23073,7 +23074,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DcCurrentMin(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23086,7 +23087,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DcCurrentMax(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23099,7 +23100,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DcPower(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23112,7 +23113,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DcPowerMin(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23125,7 +23126,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DcPowerMax(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23138,7 +23139,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class DcVoltageMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23151,7 +23152,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DcVoltageDivisor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23164,7 +23165,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DcCurrentMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23177,7 +23178,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DcCurrentDivisor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23190,7 +23191,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DcPowerMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23203,7 +23204,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class DcPowerDivisor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23216,7 +23217,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcFrequency(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23229,7 +23230,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcFrequencyMin(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23242,7 +23243,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcFrequencyMax(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23255,7 +23256,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class NeutralCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23268,7 +23269,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class TotalActivePower(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23281,7 +23282,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class TotalReactivePower(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23294,7 +23295,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class TotalApparentPower(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23307,7 +23308,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class Measured1stHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23320,7 +23321,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class Measured3rdHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23333,7 +23334,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class Measured5thHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23346,7 +23347,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class Measured7thHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23359,7 +23360,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class Measured9thHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23372,7 +23373,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class Measured11thHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23385,7 +23386,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MeasuredPhase1stHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23398,7 +23399,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MeasuredPhase3rdHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23411,7 +23412,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MeasuredPhase5thHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23424,7 +23425,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MeasuredPhase7thHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23437,7 +23438,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MeasuredPhase9thHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23450,7 +23451,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class MeasuredPhase11thHarmonicCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23463,7 +23464,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AcFrequencyMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23476,7 +23477,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcFrequencyDivisor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23489,7 +23490,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PowerMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23502,7 +23503,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PowerDivisor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23515,7 +23516,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class HarmonicCurrentMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23528,7 +23529,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class PhaseHarmonicCurrentMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23541,7 +23542,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class InstantaneousVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23554,7 +23555,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class InstantaneousLineCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23567,7 +23568,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class InstantaneousActiveCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23580,7 +23581,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class InstantaneousReactiveCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23593,7 +23594,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class InstantaneousPower(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23606,7 +23607,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class RmsVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23619,7 +23620,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageMin(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23632,7 +23633,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageMax(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23645,7 +23646,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23658,7 +23659,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsCurrentMin(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23671,7 +23672,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsCurrentMax(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23684,7 +23685,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ActivePower(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23697,7 +23698,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ActivePowerMin(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23710,7 +23711,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ActivePowerMax(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23723,7 +23724,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ReactivePower(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23736,7 +23737,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ApparentPower(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23749,7 +23750,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PowerFactor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23762,7 +23763,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AverageRmsVoltageMeasurementPeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23775,7 +23776,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AverageRmsUnderVoltageCounter(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23788,7 +23789,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsExtremeOverVoltagePeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23801,7 +23802,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsExtremeUnderVoltagePeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23814,7 +23815,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageSagPeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23827,7 +23828,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageSwellPeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23840,7 +23841,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcVoltageMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23853,7 +23854,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcVoltageDivisor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23866,7 +23867,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcCurrentMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23879,7 +23880,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcCurrentDivisor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23892,7 +23893,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcPowerMultiplier(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23905,7 +23906,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcPowerDivisor(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23918,7 +23919,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class OverloadAlarmsMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23931,7 +23932,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class VoltageOverload(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23944,7 +23945,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class CurrentOverload(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23957,7 +23958,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AcOverloadAlarmsMask(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23970,7 +23971,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AcVoltageOverload(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23983,7 +23984,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AcCurrentOverload(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -23996,7 +23997,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AcActivePowerOverload(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24009,7 +24010,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AcReactivePowerOverload(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24022,7 +24023,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AverageRmsOverVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24035,7 +24036,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AverageRmsUnderVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24048,7 +24049,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class RmsExtremeOverVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24061,7 +24062,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class RmsExtremeUnderVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24074,7 +24075,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class RmsVoltageSag(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24087,7 +24088,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class RmsVoltageSwell(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24100,7 +24101,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class LineCurrentPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24113,7 +24114,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ActiveCurrentPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24126,7 +24127,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ReactiveCurrentPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24139,7 +24140,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class RmsVoltagePhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24152,7 +24153,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageMinPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24165,7 +24166,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageMaxPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24178,7 +24179,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsCurrentPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24191,7 +24192,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsCurrentMinPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24204,7 +24205,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsCurrentMaxPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24217,7 +24218,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ActivePowerPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24230,7 +24231,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ActivePowerMinPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24243,7 +24244,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ActivePowerMaxPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24256,7 +24257,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ReactivePowerPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24269,7 +24270,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ApparentPowerPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24282,7 +24283,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PowerFactorPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24295,7 +24296,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AverageRmsVoltageMeasurementPeriodPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24308,7 +24309,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AverageRmsOverVoltageCounterPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24321,7 +24322,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AverageRmsUnderVoltageCounterPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24334,7 +24335,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsExtremeOverVoltagePeriodPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24347,7 +24348,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsExtremeUnderVoltagePeriodPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24360,7 +24361,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageSagPeriodPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24373,7 +24374,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageSwellPeriodPhaseB(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24386,7 +24387,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class LineCurrentPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24399,7 +24400,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ActiveCurrentPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24412,7 +24413,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ReactiveCurrentPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24425,7 +24426,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class RmsVoltagePhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24438,7 +24439,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageMinPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24451,7 +24452,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageMaxPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24464,7 +24465,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsCurrentPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24477,7 +24478,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsCurrentMinPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24490,7 +24491,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsCurrentMaxPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24503,7 +24504,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ActivePowerPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24516,7 +24517,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ActivePowerMinPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24529,7 +24530,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ActivePowerMaxPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24542,7 +24543,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ReactivePowerPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24555,7 +24556,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class ApparentPowerPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24568,7 +24569,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class PowerFactorPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24581,7 +24582,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) class AverageRmsVoltageMeasurementPeriodPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24594,7 +24595,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AverageRmsOverVoltageCounterPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24607,7 +24608,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class AverageRmsUnderVoltageCounterPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24620,7 +24621,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsExtremeOverVoltagePeriodPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24633,7 +24634,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsExtremeUnderVoltagePeriodPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24646,7 +24647,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageSagPeriodPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24659,7 +24660,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class RmsVoltageSwellPeriodPhaseC(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24672,7 +24673,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24685,7 +24686,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24768,7 +24769,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24848,7 +24849,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=GroupKeyManagement.Structs.GroupState, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[GroupKeyManagement.Structs.GroupState]) class GroupKeys(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24861,7 +24862,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=GroupKeyManagement.Structs.GroupKey, IsArray=True) + return ClusterObjectFieldDescriptor(Type=typing.List[GroupKeyManagement.Structs.GroupKey]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24874,7 +24875,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24923,7 +24924,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class EmberSampleAttribute2(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24936,7 +24937,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24949,7 +24950,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -24998,7 +24999,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class EmberSampleAttribute4(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -25011,7 +25012,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -25024,7 +25025,7 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty diff --git a/src/controller/python/chip/clusters/Types.py b/src/controller/python/chip/clusters/Types.py new file mode 100644 index 00000000000000..c279df37fa7a65 --- /dev/null +++ b/src/controller/python/chip/clusters/Types.py @@ -0,0 +1,32 @@ +# +# Copyright (c) 2020 Project CHIP Authors +# All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +class Nullable(): + def __repr__(self): + return 'Null' + + def __eq__(self, other): + if isinstance(other, Nullable): + return True + + return False + + def __lt__(self, other): + return True + + +NullValue = Nullable() diff --git a/src/controller/python/chip/interaction_model/delegate.py b/src/controller/python/chip/interaction_model/delegate.py index 4909e148bcad07..bb28c44de165f6 100644 --- a/src/controller/python/chip/interaction_model/delegate.py +++ b/src/controller/python/chip/interaction_model/delegate.py @@ -133,8 +133,6 @@ def _SetCommandStatus(commandHandle: int, val): def _SetCommandIndexStatus(commandHandle: int, commandIndex: int, status): with _commandStatusLock: - print("SetCommandIndexStatus commandHandle={} commandIndex={}".format( - commandHandle, commandIndex)) indexDict = _commandIndexStatusDict.get(commandHandle, {}) indexDict[commandIndex] = status _commandIndexStatusDict[commandHandle] = indexDict diff --git a/src/controller/python/chip/tlv/__init__.py b/src/controller/python/chip/tlv/__init__.py index 4f5c771cba930a..6af218fdf73338 100644 --- a/src/controller/python/chip/tlv/__init__.py +++ b/src/controller/python/chip/tlv/__init__.py @@ -30,7 +30,7 @@ import struct from collections import Mapping, Sequence, OrderedDict - +from enum import Enum TLV_TYPE_SIGNED_INTEGER = 0x00 TLV_TYPE_UNSIGNED_INTEGER = 0x04 @@ -116,7 +116,11 @@ class uint(int): ''' NewType will not return a class until Python 3.10, as Python 3.10 is not widely used, we still need to construct a class so it can work as a type. ''' - pass + + def __init__(self, val: int): + if (val < 0): + raise TypeError( + 'expecting positive value, got negative value of %d instead' % val) class TLVWriter(object): @@ -182,6 +186,8 @@ def put(self, tag, val): """ if val is None: self.putNull(tag) + elif isinstance(val, Enum): + self.putUnsignedInt(tag, val) elif isinstance(val, bool): self.putBool(tag, val) elif isinstance(val, uint): diff --git a/src/controller/python/templates/python-cluster-Objects-py.zapt b/src/controller/python/templates/python-cluster-Objects-py.zapt index 4fad616d1dbed5..28276d70fdd0f3 100644 --- a/src/controller/python/templates/python-cluster-Objects-py.zapt +++ b/src/controller/python/templates/python-cluster-Objects-py.zapt @@ -13,7 +13,7 @@ from chip import ChipUtility from chip.tlv import uint from .ClusterObjects import ClusterObject, ClusterObjectDescriptor, ClusterObjectFieldDescriptor, ClusterCommand, ClusterAttributeDescriptor, Cluster - +from .Types import Nullable, NullValue {{#zcl_clusters}} @dataclass @@ -42,12 +42,12 @@ class {{asUpperCamelCase name}}(Cluster): return ClusterObjectDescriptor( Fields = [ {{#zcl_struct_items}} - ClusterObjectFieldDescriptor(Label="{{ asLowerCamelCase label }}", Tag={{ index }}, Type={{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}{{#if isArray}}, IsArray=True{{/if}}), + ClusterObjectFieldDescriptor(Label="{{ asLowerCamelCase label }}", Tag={{ index }}, Type={{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}), {{/zcl_struct_items}} ]) {{#zcl_struct_items}} - {{ asLowerCamelCase label }}: {{#if isArray}}typing.List[{{/if}}'{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}'{{#if isArray}}]{{/if}} = None + {{ asLowerCamelCase label }}: '{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}' = None {{/zcl_struct_items}} {{#last}} @@ -74,12 +74,12 @@ class {{asUpperCamelCase name}}(Cluster): return ClusterObjectDescriptor( Fields = [ {{#zcl_command_arguments}} - ClusterObjectFieldDescriptor(Label="{{ asLowerCamelCase label }}", Tag={{ index }}, Type={{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}{{#if isArray}}, IsArray=True{{/if}}), + ClusterObjectFieldDescriptor(Label="{{ asLowerCamelCase label }}", Tag={{ index }}, Type={{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}), {{/zcl_command_arguments}} ]) {{#zcl_command_arguments}} - {{ asLowerCamelCase label }}: {{#if isArray}}typing.List[{{/if}}'{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}'{{#if isArray}}]{{/if}} = None + {{ asLowerCamelCase label }}: '{{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.parent.name)}}' = None {{/zcl_command_arguments}} {{/zcl_commands}} @@ -100,12 +100,11 @@ class {{asUpperCamelCase name}}(Cluster): @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: {{#if entryType}} - return ClusterObjectFieldDescriptor(Type={{zapTypeToPythonClusterObjectType entryType ns=(asUpperCamelCase parent.name)}}, IsArray=True) + return ClusterObjectFieldDescriptor(Type={{zapTypeToPythonClusterObjectType entryType ns=(asUpperCamelCase parent.name)}}) {{else}} return ClusterObjectFieldDescriptor(Type={{zapTypeToPythonClusterObjectType type ns=(asUpperCamelCase parent.name)}}) {{/if}} - {{/zcl_attributes_server}} diff --git a/src/controller/python/test/unit_tests/test_cluster_objects.py b/src/controller/python/test/unit_tests/test_cluster_objects.py index 8d1be172a7ed98..b687cca0036223 100644 --- a/src/controller/python/test/unit_tests/test_cluster_objects.py +++ b/src/controller/python/test/unit_tests/test_cluster_objects.py @@ -35,7 +35,6 @@ def _encode_from_native_and_then_decode(data, cls: typing.Union[ClusterObjects.C class TestClusterObjects(unittest.TestCase): - @dataclass class C(ClusterObjects.ClusterObject): @chip.ChipUtility.classproperty @@ -67,7 +66,7 @@ def descriptor(cls) -> ClusterObjects.ClusterObjectDescriptor: return ClusterObjects.ClusterObjectDescriptor( Fields=[ ClusterObjects.ClusterObjectFieldDescriptor( - Label="X", Tag=0, Type=uint, IsArray=True), + Label="X", Tag=0, Type=typing.List[uint]), ClusterObjects.ClusterObjectFieldDescriptor( Label="Y", Tag=1, Type=int), ]) @@ -126,14 +125,14 @@ def descriptor(cls) -> ClusterObjects.ClusterObjectDescriptor: return ClusterObjects.ClusterObjectDescriptor( Fields=[ ClusterObjects.ClusterObjectFieldDescriptor( - Label="X", Tag=0, Type=str, IsArray=True), + Label="X", Tag=0, Type=typing.List[str]), ClusterObjects.ClusterObjectFieldDescriptor( - Label="Y", Tag=1, Type=TestClusterObjects.C, IsArray=True), + Label="Y", Tag=1, Type=typing.List[TestClusterObjects.C]), ClusterObjects.ClusterObjectFieldDescriptor( - Label="Z", Tag=2, Type=TestClusterObjects.StructWithArray, IsArray=True), + Label="Z", Tag=2, Type=typing.List[TestClusterObjects.StructWithArray]), # Recursive! ClusterObjects.ClusterObjectFieldDescriptor( - Label="W", Tag=3, Type=TestClusterObjects.StructWithArrayOfStructWithArray, IsArray=True), + Label="W", Tag=3, Type=typing.List[TestClusterObjects.StructWithArrayOfStructWithArray]), ]) X: typing.List['str'] = None @@ -221,7 +220,7 @@ def test_struct_decode(self): class ArrayAttribute(ClusterObjects.ClusterAttributeDescriptor): @chip.ChipUtility.classproperty def attribute_type(cls) -> ClusterObjects.ClusterObjectFieldDescriptor: - return ClusterObjects.ClusterObjectFieldDescriptor(Type=int, IsArray=True) + return ClusterObjects.ClusterObjectFieldDescriptor(Type=typing.List[int]) def test_array_encode(self): res = _encode_attribute_and_then_decode_to_native( diff --git a/src/controller/python/test/unit_tests/test_generated_clusterobjects.py b/src/controller/python/test/unit_tests/test_generated_clusterobjects.py new file mode 100644 index 00000000000000..8921ff1738e3c1 --- /dev/null +++ b/src/controller/python/test/unit_tests/test_generated_clusterobjects.py @@ -0,0 +1,107 @@ +import unittest +import chip.clusters as Clusters +from rich.pretty import pprint +from rich.console import Console +from chip.clusters.Types import Nullable, NullValue +import logging +from rich.logging import RichHandler + +''' +This file contains tests for validating the generated cluster objects by running encoding and decoding +through them symmetrically to exercise both pathways. +''' + +enable_debug = False + + +class TestGeneratedClusterObjects(unittest.TestCase): + def CheckData(self, expected): + tlv = expected.ToTLV() + actual = expected.FromTLV(tlv) + + if (enable_debug): + print("Expected Data:") + pprint(expected, expand_all=True) + + print("Actual Data:") + pprint(actual, expand_all=True) + + self.assertEqual(actual, expected) + + def test_simple_struct(self): + data = Clusters.TestCluster.Structs.SimpleStruct() + data.a = 23 + data.b = True + data.c = Clusters.TestCluster.Enums.SimpleEnum.kValueA + data.d = b'1234' + data.e = 'hello' + data.f = 1 + + self.CheckData(data) + + def test_double_nested_struct_list(self): + simpleStruct = Clusters.TestCluster.Structs.SimpleStruct() + simpleStruct.a = 23 + simpleStruct.b = True + simpleStruct.c = Clusters.TestCluster.Enums.SimpleEnum.kValueA + simpleStruct.d = b'1234' + simpleStruct.e = 'hello' + simpleStruct.f = 1 + + data = Clusters.TestCluster.Structs.NestedStructList() + data.a = 23 + data.b = True + data.c = simpleStruct + data.d = [] + data.d.append(simpleStruct) + data.d.append(simpleStruct) + + data.e = [1, 2, 3, 4] + data.f = [b'1', b'2', b'3'] + data.g = [2, 3, 4, 5] + + self.CheckData(data) + + def test_nullable_optional_struct(self): + data = Clusters.TestCluster.Structs.NullablesAndOptionalsStruct() + + data.nullableInt = 2 + data.optionalInt = 3 + data.nullableOptionalInt = 4 + data.nullableString = 'hello1' + data.optionalString = 'hello2' + data.nullableOptionalString = 'hello3' + data.nullableStruct = Clusters.TestCluster.Structs.SimpleStruct( + 23, True, Clusters.TestCluster.Enums.SimpleEnum.kValueA, b'1234', 'hello', 1) + data.optionalStruct = Clusters.TestCluster.Structs.SimpleStruct( + 24, True, Clusters.TestCluster.Enums.SimpleEnum.kValueA, b'1234', 'hello', 1) + data.nullableOptionalStruct = Clusters.TestCluster.Structs.SimpleStruct( + 25, True, Clusters.TestCluster.Enums.SimpleEnum.kValueA, b'1234', 'hello', 1) + + data.nullableList = [Clusters.TestCluster.Enums.SimpleEnum.kValueA] + data.optionalList = [Clusters.TestCluster.Enums.SimpleEnum.kValueA] + data.nullableOptionalList = [ + Clusters.TestCluster.Enums.SimpleEnum.kValueA] + + self.CheckData(data) + + data.nullableInt = NullValue + data.nullableOptionalInt = NullValue + data.nullableOptionalString = NullValue + data.nullableStruct = NullValue + data.nullableOptionalStruct = NullValue + data.nullableList = NullValue + data.nullableOptionalList = NullValue + + self.CheckData(data) + + data.nullableOptionalInt = None + data.nullableOptionalString = None + data.nullableOptionalStruct = None + data.nullableOptionalList = None + + self.CheckData(data) + + +if __name__ == '__main__': + unittest.main()