From 101848634c6921f47224543fc0330554a68bb0e8 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Fri, 19 May 2023 10:51:07 -0400 Subject: [PATCH] Use zcl_clusters for python (#26668) * Switch zcl_clusters on for python * Fix more loops to use the generic non-zap helpers * Switch out the linear expansion of structs... does not seem to make sense --------- Co-authored-by: Andrei Litvin --- .../python/chip/clusters/CHIPClusters.py | 682 ++++++++++++++++-- .../templates/python-CHIPClusters-py.zapt | 28 +- 2 files changed, 620 insertions(+), 90 deletions(-) diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py index b81327408a5a33..c522a4f4ff4d33 100644 --- a/src/controller/python/chip/clusters/CHIPClusters.py +++ b/src/controller/python/chip/clusters/CHIPClusters.py @@ -207,8 +207,7 @@ class ChipClusters: "sceneID": "int", "transitionTime": "int", "sceneName": "str", - "clusterID": "int", - "attributeValueList": "", + "extensionFieldSets": "ExtensionFieldSet", }, }, 0x00000001: { @@ -258,6 +257,36 @@ class ChipClusters: "groupID": "int", }, }, + 0x00000040: { + "commandId": 0x00000040, + "commandName": "EnhancedAddScene", + "args": { + "groupID": "int", + "sceneID": "int", + "transitionTime": "int", + "sceneName": "str", + "extensionFieldSets": "ExtensionFieldSet", + }, + }, + 0x00000041: { + "commandId": 0x00000041, + "commandName": "EnhancedViewScene", + "args": { + "groupID": "int", + "sceneID": "int", + }, + }, + 0x00000042: { + "commandId": 0x00000042, + "commandName": "CopyScene", + "args": { + "mode": "int", + "groupIdentifierFrom": "int", + "sceneIdentifierFrom": "int", + "groupIdentifierTo": "int", + "sceneIdentifierTo": "int", + }, + }, }, "attributes": { 0x00000000: { @@ -591,6 +620,13 @@ class ChipClusters: "optionsOverride": "int", }, }, + 0x00000008: { + "commandId": 0x00000008, + "commandName": "MoveToClosestFrequency", + "args": { + "frequency": "int", + }, + }, }, "attributes": { 0x00000000: { @@ -826,6 +862,50 @@ class ChipClusters: }, }, } + _PULSE_WIDTH_MODULATION_CLUSTER_INFO = { + "clusterName": "PulseWidthModulation", + "clusterId": 0x0000001C, + "commands": { + }, + "attributes": { + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } _DESCRIPTOR_CLUSTER_INFO = { "clusterName": "Descriptor", "clusterId": 0x0000001D, @@ -1188,6 +1268,12 @@ class ChipClusters: "clusterName": "BasicInformation", "clusterId": 0x00000028, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "MfgSpecificPing", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -3097,6 +3183,165 @@ class ChipClusters: }, }, } + _TIME_SYNCHRONIZATION_CLUSTER_INFO = { + "clusterName": "TimeSynchronization", + "clusterId": 0x00000038, + "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "SetUTCTime", + "args": { + "UTCTime": "int", + "granularity": "int", + "timeSource": "int", + }, + }, + 0x00000001: { + "commandId": 0x00000001, + "commandName": "SetTrustedTimeSource", + "args": { + "trustedTimeSource": "FabricScopedTrustedTimeSourceStruct", + }, + }, + 0x00000002: { + "commandId": 0x00000002, + "commandName": "SetTimeZone", + "args": { + "timeZone": "TimeZoneStruct", + }, + }, + 0x00000004: { + "commandId": 0x00000004, + "commandName": "SetDSTOffset", + "args": { + "DSTOffset": "DSTOffsetStruct", + }, + }, + 0x00000005: { + "commandId": 0x00000005, + "commandName": "SetDefaultNTP", + "args": { + "defaultNTP": "str", + }, + }, + }, + "attributes": { + 0x00000000: { + "attributeName": "UTCTime", + "attributeId": 0x00000000, + "type": "int", + "reportable": True, + }, + 0x00000001: { + "attributeName": "Granularity", + "attributeId": 0x00000001, + "type": "int", + "reportable": True, + }, + 0x00000002: { + "attributeName": "TimeSource", + "attributeId": 0x00000002, + "type": "int", + "reportable": True, + }, + 0x00000003: { + "attributeName": "TrustedTimeSource", + "attributeId": 0x00000003, + "type": "", + "reportable": True, + }, + 0x00000004: { + "attributeName": "DefaultNTP", + "attributeId": 0x00000004, + "type": "str", + "reportable": True, + }, + 0x00000005: { + "attributeName": "TimeZone", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, + 0x00000006: { + "attributeName": "DSTOffset", + "attributeId": 0x00000006, + "type": "", + "reportable": True, + }, + 0x00000007: { + "attributeName": "LocalTime", + "attributeId": 0x00000007, + "type": "int", + "reportable": True, + }, + 0x00000008: { + "attributeName": "TimeZoneDatabase", + "attributeId": 0x00000008, + "type": "int", + "reportable": True, + }, + 0x00000009: { + "attributeName": "NTPServerAvailable", + "attributeId": 0x00000009, + "type": "bool", + "reportable": True, + }, + 0x0000000A: { + "attributeName": "TimeZoneListMaxSize", + "attributeId": 0x0000000A, + "type": "int", + "reportable": True, + }, + 0x0000000B: { + "attributeName": "DSTOffsetListMaxSize", + "attributeId": 0x0000000B, + "type": "int", + "reportable": True, + }, + 0x0000000C: { + "attributeName": "SupportsDNSResolve", + "attributeId": 0x0000000C, + "type": "bool", + "reportable": True, + }, + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } _BRIDGED_DEVICE_BASIC_INFORMATION_CLUSTER_INFO = { "clusterName": "BridgedDeviceBasicInformation", "clusterId": 0x00000039, @@ -3536,14 +3781,7 @@ class ChipClusters: "commandId": 0x00000000, "commandName": "KeySetWrite", "args": { - "groupKeySetID": "int", - "groupKeySecurityPolicy": "int", - "epochKey0": "bytes", - "epochStartTime0": "int", - "epochKey1": "bytes", - "epochStartTime1": "int", - "epochKey2": "bytes", - "epochStartTime2": "int", + "groupKeySet": "GroupKeySetStruct", }, }, 0x00000001: { @@ -3733,6 +3971,138 @@ class ChipClusters: }, }, } + _PROXY_CONFIGURATION_CLUSTER_INFO = { + "clusterName": "ProxyConfiguration", + "clusterId": 0x00000042, + "commands": { + }, + "attributes": { + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } + _PROXY_DISCOVERY_CLUSTER_INFO = { + "clusterName": "ProxyDiscovery", + "clusterId": 0x00000043, + "commands": { + }, + "attributes": { + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } + _PROXY_VALID_CLUSTER_INFO = { + "clusterName": "ProxyValid", + "clusterId": 0x00000044, + "commands": { + }, + "attributes": { + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } _BOOLEAN_STATE_CLUSTER_INFO = { "clusterName": "BooleanState", "clusterId": 0x00000045, @@ -4153,6 +4523,12 @@ class ChipClusters: "clusterName": "HepaFilterMonitoring", "clusterId": 0x00000071, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4221,6 +4597,12 @@ class ChipClusters: "clusterName": "ActivatedCarbonFilterMonitoring", "clusterId": 0x00000072, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4289,6 +4671,12 @@ class ChipClusters: "clusterName": "CeramicFilterMonitoring", "clusterId": 0x00000073, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4357,6 +4745,12 @@ class ChipClusters: "clusterName": "ElectrostaticFilterMonitoring", "clusterId": 0x00000074, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4425,6 +4819,12 @@ class ChipClusters: "clusterName": "UvFilterMonitoring", "clusterId": 0x00000075, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4493,6 +4893,12 @@ class ChipClusters: "clusterName": "IonizingFilterMonitoring", "clusterId": 0x00000076, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4561,6 +4967,12 @@ class ChipClusters: "clusterName": "ZeoliteFilterMonitoring", "clusterId": 0x00000077, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4629,6 +5041,12 @@ class ChipClusters: "clusterName": "OzoneFilterMonitoring", "clusterId": 0x00000078, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4697,6 +5115,12 @@ class ChipClusters: "clusterName": "WaterTankMonitoring", "clusterId": 0x00000079, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4765,6 +5189,12 @@ class ChipClusters: "clusterName": "FuelTankMonitoring", "clusterId": 0x0000007A, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4833,6 +5263,12 @@ class ChipClusters: "clusterName": "InkCartridgeMonitoring", "clusterId": 0x0000007B, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -4901,6 +5337,12 @@ class ChipClusters: "clusterName": "TonerCartridgeMonitoring", "clusterId": 0x0000007C, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "ResetCondition", + "args": { + }, + }, }, "attributes": { 0x00000000: { @@ -5102,8 +5544,7 @@ class ChipClusters: "commandName": "SetCredential", "args": { "operationType": "int", - "credentialType": "int", - "credentialIndex": "int", + "credential": "CredentialStruct", "credentialData": "bytes", "userIndex": "int", "userStatus": "int", @@ -5114,16 +5555,21 @@ class ChipClusters: "commandId": 0x00000024, "commandName": "GetCredentialStatus", "args": { - "credentialType": "int", - "credentialIndex": "int", + "credential": "CredentialStruct", }, }, 0x00000026: { "commandId": 0x00000026, "commandName": "ClearCredential", "args": { - "credentialType": "int", - "credentialIndex": "int", + "credential": "CredentialStruct", + }, + }, + 0x00000027: { + "commandId": 0x00000027, + "commandName": "UnboltDoor", + "args": { + "PINCode": "bytes", }, }, }, @@ -5951,9 +6397,7 @@ class ChipClusters: "numberOfTransitionsForSequence": "int", "dayOfWeekForSequence": "int", "modeForSequence": "int", - "transitionTime": "int", - "heatSetpoint": "int", - "coolSetpoint": "int", + "transitions": "ThermostatScheduleTransition", }, }, 0x00000002: { @@ -8270,7 +8714,7 @@ class ChipClusters: "commandId": 0x00000000, "commandName": "LaunchContent", "args": { - "parameterList": "", + "search": "ContentSearchStruct", "autoPlay": "bool", "data": "str", }, @@ -8281,12 +8725,7 @@ class ChipClusters: "args": { "contentURL": "str", "displayString": "str", - "providerName": "str", - "background": "", - "logo": "", - "progressBar": "", - "splash": "", - "waterMark": "", + "brandingInformation": "BrandingInformationStruct", }, }, }, @@ -8421,8 +8860,7 @@ class ChipClusters: "commandId": 0x00000000, "commandName": "LaunchApp", "args": { - "catalogVendorID": "int", - "applicationID": "str", + "application": "ApplicationStruct", "data": "bytes", }, }, @@ -8430,16 +8868,14 @@ class ChipClusters: "commandId": 0x00000001, "commandName": "StopApp", "args": { - "catalogVendorID": "int", - "applicationID": "str", + "application": "ApplicationStruct", }, }, 0x00000002: { "commandId": 0x00000002, "commandName": "HideApp", "args": { - "catalogVendorID": "int", - "applicationID": "str", + "application": "ApplicationStruct", }, }, }, @@ -8656,6 +9092,21 @@ class ChipClusters: "clusterName": "ElectricalMeasurement", "clusterId": 0x00000B04, "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "GetProfileInfoCommand", + "args": { + }, + }, + 0x00000001: { + "commandId": 0x00000001, + "commandName": "GetMeasurementProfileCommand", + "args": { + "attributeId": "int", + "startTime": "int", + "numberOfIntervals": "int", + }, + }, }, "attributes": { 0x00000000: { @@ -9508,41 +9959,44 @@ class ChipClusters: "arg2": "int", }, }, + 0x00000005: { + "commandId": 0x00000005, + "commandName": "TestSimpleArgumentRequest", + "args": { + "arg1": "bool", + }, + }, + 0x00000006: { + "commandId": 0x00000006, + "commandName": "TestStructArrayArgumentRequest", + "args": { + "arg1": "NestedStructList", + "arg2": "SimpleStruct", + "arg3": "int", + "arg4": "bool", + "arg5": "int", + "arg6": "bool", + }, + }, 0x00000007: { "commandId": 0x00000007, "commandName": "TestStructArgumentRequest", "args": { - "a": "int", - "b": "bool", - "c": "int", - "d": "bytes", - "e": "str", - "f": "int", - "g": "", - "h": "", + "arg1": "SimpleStruct", }, }, 0x00000008: { "commandId": 0x00000008, "commandName": "TestNestedStructArgumentRequest", "args": { - "a": "int", - "b": "bool", - "c": "", + "arg1": "NestedStruct", }, }, 0x00000009: { "commandId": 0x00000009, "commandName": "TestListStructArgumentRequest", "args": { - "a": "int", - "b": "bool", - "c": "int", - "d": "bytes", - "e": "str", - "f": "int", - "g": "", - "h": "", + "arg1": "SimpleStruct", }, }, 0x0000000A: { @@ -9556,26 +10010,14 @@ class ChipClusters: "commandId": 0x0000000B, "commandName": "TestNestedStructListArgumentRequest", "args": { - "a": "int", - "b": "bool", - "c": "", - "d": "", - "e": "int", - "f": "bytes", - "g": "int", + "arg1": "NestedStructList", }, }, 0x0000000C: { "commandId": 0x0000000C, "commandName": "TestListNestedStructListArgumentRequest", "args": { - "a": "int", - "b": "bool", - "c": "", - "d": "", - "e": "int", - "f": "bytes", - "g": "int", + "arg1": "NestedStructList", }, }, 0x0000000D: { @@ -9600,18 +10042,29 @@ class ChipClusters: "arg1": "int", }, }, + 0x00000010: { + "commandId": 0x00000010, + "commandName": "TestComplexNullableOptionalRequest", + "args": { + "nullableInt": "int", + "optionalInt": "int", + "nullableOptionalInt": "int", + "nullableString": "str", + "optionalString": "str", + "nullableOptionalString": "str", + "nullableStruct": "SimpleStruct", + "optionalStruct": "SimpleStruct", + "nullableOptionalStruct": "SimpleStruct", + "nullableList": "int", + "optionalList": "int", + "nullableOptionalList": "int", + }, + }, 0x00000011: { "commandId": 0x00000011, "commandName": "SimpleStructEchoRequest", "args": { - "a": "int", - "b": "bool", - "c": "int", - "d": "bytes", - "e": "str", - "f": "int", - "g": "", - "h": "", + "arg1": "SimpleStruct", }, }, 0x00000012: { @@ -9636,6 +10089,13 @@ class ChipClusters: "arg3": "bool", }, }, + 0x00000015: { + "commandId": 0x00000015, + "commandName": "TestEmitTestFabricScopedEventRequest", + "args": { + "arg1": "int", + }, + }, }, "attributes": { 0x00000000: { @@ -10250,6 +10710,70 @@ class ChipClusters: }, }, } + _FAULT_INJECTION_CLUSTER_INFO = { + "clusterName": "FaultInjection", + "clusterId": 0xFFF1FC06, + "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "FailAtFault", + "args": { + "type": "int", + "id": "int", + "numCallsToSkip": "int", + "numCallsToFail": "int", + "takeMutex": "bool", + }, + }, + 0x00000001: { + "commandId": 0x00000001, + "commandName": "FailRandomlyAtFault", + "args": { + "type": "int", + "id": "int", + "percentage": "int", + }, + }, + }, + "attributes": { + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } _CLUSTER_ID_DICT = { 0x00000003: _IDENTIFY_CLUSTER_INFO, @@ -10259,6 +10783,7 @@ class ChipClusters: 0x00000007: _ON_OFF_SWITCH_CONFIGURATION_CLUSTER_INFO, 0x00000008: _LEVEL_CONTROL_CLUSTER_INFO, 0x0000000F: _BINARY_INPUT_BASIC_CLUSTER_INFO, + 0x0000001C: _PULSE_WIDTH_MODULATION_CLUSTER_INFO, 0x0000001D: _DESCRIPTOR_CLUSTER_INFO, 0x0000001E: _BINDING_CLUSTER_INFO, 0x0000001F: _ACCESS_CONTROL_CLUSTER_INFO, @@ -10279,6 +10804,7 @@ class ChipClusters: 0x00000035: _THREAD_NETWORK_DIAGNOSTICS_CLUSTER_INFO, 0x00000036: _WI_FI_NETWORK_DIAGNOSTICS_CLUSTER_INFO, 0x00000037: _ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_INFO, + 0x00000038: _TIME_SYNCHRONIZATION_CLUSTER_INFO, 0x00000039: _BRIDGED_DEVICE_BASIC_INFORMATION_CLUSTER_INFO, 0x0000003B: _SWITCH_CLUSTER_INFO, 0x0000003C: _ADMINISTRATOR_COMMISSIONING_CLUSTER_INFO, @@ -10286,6 +10812,9 @@ class ChipClusters: 0x0000003F: _GROUP_KEY_MANAGEMENT_CLUSTER_INFO, 0x00000040: _FIXED_LABEL_CLUSTER_INFO, 0x00000041: _USER_LABEL_CLUSTER_INFO, + 0x00000042: _PROXY_CONFIGURATION_CLUSTER_INFO, + 0x00000043: _PROXY_DISCOVERY_CLUSTER_INFO, + 0x00000044: _PROXY_VALID_CLUSTER_INFO, 0x00000045: _BOOLEAN_STATE_CLUSTER_INFO, 0x00000046: _ICD_MANAGEMENT_CLUSTER_INFO, 0x00000050: _MODE_SELECT_CLUSTER_INFO, @@ -10332,6 +10861,7 @@ class ChipClusters: 0x0000050E: _ACCOUNT_LOGIN_CLUSTER_INFO, 0x00000B04: _ELECTRICAL_MEASUREMENT_CLUSTER_INFO, 0xFFF1FC05: _UNIT_TESTING_CLUSTER_INFO, + 0xFFF1FC06: _FAULT_INJECTION_CLUSTER_INFO, } _CLUSTER_NAME_DICT = { @@ -10342,6 +10872,7 @@ class ChipClusters: "OnOffSwitchConfiguration": _ON_OFF_SWITCH_CONFIGURATION_CLUSTER_INFO, "LevelControl": _LEVEL_CONTROL_CLUSTER_INFO, "BinaryInputBasic": _BINARY_INPUT_BASIC_CLUSTER_INFO, + "PulseWidthModulation": _PULSE_WIDTH_MODULATION_CLUSTER_INFO, "Descriptor": _DESCRIPTOR_CLUSTER_INFO, "Binding": _BINDING_CLUSTER_INFO, "AccessControl": _ACCESS_CONTROL_CLUSTER_INFO, @@ -10362,6 +10893,7 @@ class ChipClusters: "ThreadNetworkDiagnostics": _THREAD_NETWORK_DIAGNOSTICS_CLUSTER_INFO, "WiFiNetworkDiagnostics": _WI_FI_NETWORK_DIAGNOSTICS_CLUSTER_INFO, "EthernetNetworkDiagnostics": _ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_INFO, + "TimeSynchronization": _TIME_SYNCHRONIZATION_CLUSTER_INFO, "BridgedDeviceBasicInformation": _BRIDGED_DEVICE_BASIC_INFORMATION_CLUSTER_INFO, "Switch": _SWITCH_CLUSTER_INFO, "AdministratorCommissioning": _ADMINISTRATOR_COMMISSIONING_CLUSTER_INFO, @@ -10369,6 +10901,9 @@ class ChipClusters: "GroupKeyManagement": _GROUP_KEY_MANAGEMENT_CLUSTER_INFO, "FixedLabel": _FIXED_LABEL_CLUSTER_INFO, "UserLabel": _USER_LABEL_CLUSTER_INFO, + "ProxyConfiguration": _PROXY_CONFIGURATION_CLUSTER_INFO, + "ProxyDiscovery": _PROXY_DISCOVERY_CLUSTER_INFO, + "ProxyValid": _PROXY_VALID_CLUSTER_INFO, "BooleanState": _BOOLEAN_STATE_CLUSTER_INFO, "IcdManagement": _ICD_MANAGEMENT_CLUSTER_INFO, "ModeSelect": _MODE_SELECT_CLUSTER_INFO, @@ -10415,6 +10950,7 @@ class ChipClusters: "AccountLogin": _ACCOUNT_LOGIN_CLUSTER_INFO, "ElectricalMeasurement": _ELECTRICAL_MEASUREMENT_CLUSTER_INFO, "UnitTesting": _UNIT_TESTING_CLUSTER_INFO, + "FaultInjection": _FAULT_INJECTION_CLUSTER_INFO, } def __init__(self, chipstack): diff --git a/src/controller/python/templates/python-CHIPClusters-py.zapt b/src/controller/python/templates/python-CHIPClusters-py.zapt index 9917fecb1ba5b2..c93e39d4f0ba18 100644 --- a/src/controller/python/templates/python-CHIPClusters-py.zapt +++ b/src/controller/python/templates/python-CHIPClusters-py.zapt @@ -13,32 +13,26 @@ class ChipClusters: SUCCESS_DELEGATE = ctypes.CFUNCTYPE(None) FAILURE_DELEGATE = ctypes.CFUNCTYPE(None, ctypes.c_uint8) -{{#all_user_clusters side='client'}} +{{#zcl_clusters}} _{{asDelimitedMacro name}}_CLUSTER_INFO = { "clusterName": "{{asUpperCamelCase name}}", "clusterId": {{asHex code 8}}, "commands": { -{{#all_user_cluster_generated_commands}} - {{#if_compare clusterId ../id operator='=='}} - {{#if (is_str_equal commandSource 'client')}} - {{asHex commandCode 8}}: { - "commandId": {{asHex commandCode 8}}, +{{#zcl_commands_source_client}} + {{asHex code 8}}: { + "commandId": {{asHex code 8}}, "commandName": "{{asUpperCamelCase commandName}}", "args": { {{#zcl_command_arguments}} {{#if_is_struct type}} - {{#zcl_struct_items_by_struct_and_cluster_name type ../../name}} - "{{asLowerCamelCase label}}": "{{#if (isCharString type)}}str{{else}}{{as_underlying_python_zcl_type type ../../../id}}{{/if}}", - {{/zcl_struct_items_by_struct_and_cluster_name}} + "{{asLowerCamelCase label}}": "{{type}}", {{else}} "{{asLowerCamelCase label}}": "{{#if (isCharString type)}}str{{else}}{{as_underlying_python_zcl_type type ../../id}}{{/if}}", {{/if_is_struct}} {{/zcl_command_arguments}} }, }, - {{/if}} - {{/if_compare}} -{{/all_user_cluster_generated_commands}} +{{/zcl_commands_source_client}} }, "attributes": { {{#zcl_attributes_server removeKeys='isOptional'}} @@ -56,18 +50,18 @@ class ChipClusters: {{/zcl_attributes_server}} }, } -{{/all_user_clusters}} +{{/zcl_clusters}} _CLUSTER_ID_DICT = { -{{#all_user_clusters side='client'}} +{{#zcl_clusters}} {{asHex code 8}}: _{{asDelimitedMacro name}}_CLUSTER_INFO, -{{/all_user_clusters}} +{{/zcl_clusters}} } _CLUSTER_NAME_DICT = { -{{#all_user_clusters side='client'}} +{{#zcl_clusters}} "{{asUpperCamelCase name}}": _{{asDelimitedMacro name}}_CLUSTER_INFO, -{{/all_user_clusters}} +{{/zcl_clusters}} } def __init__(self, chipstack):