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()