From 0a0605ff7f0a79748771f9859e0066576ee20c59 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Sat, 21 Oct 2023 16:13:26 -0400 Subject: [PATCH] Fix zap after #29126 (#29896) --- .../nxp/zap/thermostat_matter_thread.matter | 462 +++++++++-------- .../nxp/zap/thermostat_matter_wifi.matter | 466 ++++++++++-------- 2 files changed, 541 insertions(+), 387 deletions(-) diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter index 08f30267c794a4..09098b40590212 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter @@ -3,7 +3,7 @@ /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ client cluster Identify = 3 { - enum EffectIdentifierEnum : ENUM8 { + enum EffectIdentifierEnum : enum8 { kBlink = 0; kBreathe = 1; kOkay = 2; @@ -12,11 +12,11 @@ client cluster Identify = 3 { kStopEffect = 255; } - enum EffectVariantEnum : ENUM8 { + enum EffectVariantEnum : enum8 { kDefault = 0; } - enum IdentifyTypeEnum : ENUM8 { + enum IdentifyTypeEnum : enum8 { kNone = 0; kLightOutput = 1; kVisibleIndicator = 2; @@ -35,7 +35,7 @@ client cluster Identify = 3 { readonly attribute int16u clusterRevision = 65533; request struct IdentifyRequest { - INT16U identifyTime = 0; + int16u identifyTime = 0; } request struct TriggerEffectRequest { @@ -51,7 +51,7 @@ client cluster Identify = 3 { /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ server cluster Identify = 3 { - enum EffectIdentifierEnum : ENUM8 { + enum EffectIdentifierEnum : enum8 { kBlink = 0; kBreathe = 1; kOkay = 2; @@ -60,11 +60,11 @@ server cluster Identify = 3 { kStopEffect = 255; } - enum EffectVariantEnum : ENUM8 { + enum EffectVariantEnum : enum8 { kDefault = 0; } - enum IdentifyTypeEnum : ENUM8 { + enum IdentifyTypeEnum : enum8 { kNone = 0; kLightOutput = 1; kVisibleIndicator = 2; @@ -83,7 +83,7 @@ server cluster Identify = 3 { readonly attribute int16u clusterRevision = 65533; request struct IdentifyRequest { - INT16U identifyTime = 0; + int16u identifyTime = 0; } command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0; @@ -91,11 +91,11 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kGroupNames = 0x1; } - bitmap NameSupportBitmap : BITMAP8 { + bitmap NameSupportBitmap : bitmap8 { kGroupNames = 0x80; } @@ -109,7 +109,7 @@ server cluster Groups = 4 { request struct AddGroupRequest { group_id groupID = 0; - CHAR_STRING groupName = 1; + char_string groupName = 1; } request struct ViewGroupRequest { @@ -126,27 +126,27 @@ server cluster Groups = 4 { request struct AddGroupIfIdentifyingRequest { group_id groupID = 0; - CHAR_STRING groupName = 1; + char_string groupName = 1; } response struct AddGroupResponse = 0 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; } response struct ViewGroupResponse = 1 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; - CHAR_STRING groupName = 2; + char_string groupName = 2; } response struct GetGroupMembershipResponse = 2 { - nullable INT8U capacity = 0; + nullable int8u capacity = 0; group_id groupList[] = 1; } response struct RemoveGroupResponse = 3 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; } @@ -159,15 +159,15 @@ server cluster Groups = 4 { } /** Attributes and commands for scene configuration and manipulation. */ -server cluster Scenes = 5 { - bitmap Feature : BITMAP32 { +provisional server cluster Scenes = 5 { + bitmap Feature : bitmap32 { kSceneNames = 0x1; kExplicit = 0x2; kTableSize = 0x4; kFabricScenes = 0x8; } - bitmap ScenesCopyMode : BITMAP8 { + bitmap ScenesCopyMode : bitmap8 { kCopyAllScenes = 0x1; } @@ -197,20 +197,20 @@ server cluster Scenes = 5 { request struct AddSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; - INT16U transitionTime = 2; - CHAR_STRING sceneName = 3; + int8u sceneID = 1; + int16u transitionTime = 2; + char_string sceneName = 3; ExtensionFieldSet extensionFieldSets[] = 4; } request struct ViewSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RemoveSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RemoveAllScenesRequest { @@ -219,13 +219,13 @@ server cluster Scenes = 5 { request struct StoreSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RecallSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; - optional nullable INT16U transitionTime = 2; + int8u sceneID = 1; + optional nullable int16u transitionTime = 2; } request struct GetSceneMembershipRequest { @@ -235,22 +235,22 @@ server cluster Scenes = 5 { response struct AddSceneResponse = 0 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct ViewSceneResponse = 1 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; - optional INT16U transitionTime = 3; - optional CHAR_STRING sceneName = 4; + int8u sceneID = 2; + optional int16u transitionTime = 3; + optional char_string sceneName = 4; optional ExtensionFieldSet extensionFieldSets[] = 5; } response struct RemoveSceneResponse = 2 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct RemoveAllScenesResponse = 3 { @@ -261,14 +261,14 @@ server cluster Scenes = 5 { response struct StoreSceneResponse = 4 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct GetSceneMembershipResponse = 6 { status status = 0; - nullable INT8U capacity = 1; + nullable int8u capacity = 1; group_id groupID = 2; - optional INT8U sceneList[] = 3; + optional int8u sceneList[] = 3; } fabric command access(invoke: manage) AddScene(AddSceneRequest): AddSceneResponse = 0; @@ -282,7 +282,7 @@ server cluster Scenes = 5 { /** The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */ server cluster Descriptor = 29 { - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kTagList = 0x1; } @@ -299,9 +299,9 @@ server cluster Descriptor = 29 { } readonly attribute DeviceTypeStruct deviceTypeList[] = 0; - readonly attribute CLUSTER_ID serverList[] = 1; - readonly attribute CLUSTER_ID clientList[] = 2; - readonly attribute ENDPOINT_NO partsList[] = 3; + readonly attribute cluster_id serverList[] = 1; + readonly attribute cluster_id clientList[] = 2; + readonly attribute endpoint_no partsList[] = 3; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -334,13 +334,13 @@ server cluster Binding = 30 { and enforce Access Control for the Node's endpoints and their associated cluster instances. */ server cluster AccessControl = 31 { - enum AccessControlEntryAuthModeEnum : ENUM8 { + enum AccessControlEntryAuthModeEnum : enum8 { kPASE = 1; kCASE = 2; kGroup = 3; } - enum AccessControlEntryPrivilegeEnum : ENUM8 { + enum AccessControlEntryPrivilegeEnum : enum8 { kView = 1; kProxyView = 2; kOperate = 3; @@ -348,7 +348,7 @@ server cluster AccessControl = 31 { kAdminister = 5; } - enum ChangeTypeEnum : ENUM8 { + enum ChangeTypeEnum : enum8 { kChanged = 0; kAdded = 1; kRemoved = 2; @@ -375,7 +375,7 @@ server cluster AccessControl = 31 { fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; - nullable INT16U adminPasscodeID = 2; + nullable int16u adminPasscodeID = 2; ChangeTypeEnum changeType = 3; nullable AccessControlEntryStruct latestValue = 4; fabric_idx fabricIndex = 254; @@ -383,7 +383,7 @@ server cluster AccessControl = 31 { fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; - nullable INT16U adminPasscodeID = 2; + nullable int16u adminPasscodeID = 2; ChangeTypeEnum changeType = 3; nullable AccessControlExtensionStruct latestValue = 4; fabric_idx fabricIndex = 254; @@ -406,7 +406,7 @@ server cluster AccessControl = 31 { Commissioning and operational determination of Node characteristics, such as Vendor ID, Product ID and serial number, which apply to the whole Node. Also allows setting user device information such as location. */ server cluster BasicInformation = 40 { - enum ColorEnum : ENUM8 { + enum ColorEnum : enum8 { kBlack = 0; kNavy = 1; kGreen = 2; @@ -430,7 +430,7 @@ server cluster BasicInformation = 40 { kGold = 20; } - enum ProductFinishEnum : ENUM8 { + enum ProductFinishEnum : enum8 { kOther = 0; kMatte = 1; kSatin = 2; @@ -450,7 +450,7 @@ server cluster BasicInformation = 40 { } critical event StartUp = 0 { - INT32U softwareVersion = 0; + int32u softwareVersion = 0; } critical event ShutDown = 1 { @@ -494,20 +494,20 @@ server cluster BasicInformation = 40 { /** Provides an interface for providing OTA software updates */ client cluster OtaSoftwareUpdateProvider = 41 { - enum OTAApplyUpdateAction : ENUM8 { + enum ApplyUpdateActionEnum : enum8 { kProceed = 0; kAwaitNextAction = 1; kDiscontinue = 2; } - enum OTADownloadProtocol : ENUM8 { + enum DownloadProtocolEnum : enum8 { kBDXSynchronous = 0; kBDXAsynchronous = 1; kHTTPS = 2; kVendorSpecific = 3; } - enum OTAQueryStatus : ENUM8 { + enum StatusEnum : enum8 { kUpdateAvailable = 0; kBusy = 1; kNotAvailable = 2; @@ -523,39 +523,39 @@ client cluster OtaSoftwareUpdateProvider = 41 { request struct QueryImageRequest { vendor_id vendorID = 0; - INT16U productID = 1; - INT32U softwareVersion = 2; - OTADownloadProtocol protocolsSupported[] = 3; - optional INT16U hardwareVersion = 4; - optional CHAR_STRING<2> location = 5; - optional BOOLEAN requestorCanConsent = 6; - optional OCTET_STRING<512> metadataForProvider = 7; + int16u productID = 1; + int32u softwareVersion = 2; + DownloadProtocolEnum protocolsSupported[] = 3; + optional int16u hardwareVersion = 4; + optional char_string<2> location = 5; + optional boolean requestorCanConsent = 6; + optional octet_string<512> metadataForProvider = 7; } response struct QueryImageResponse = 1 { - OTAQueryStatus status = 0; - optional INT32U delayedActionTime = 1; - optional CHAR_STRING<256> imageURI = 2; - optional INT32U softwareVersion = 3; - optional CHAR_STRING<64> softwareVersionString = 4; - optional OCTET_STRING<32> updateToken = 5; - optional BOOLEAN userConsentNeeded = 6; - optional OCTET_STRING<512> metadataForRequestor = 7; + StatusEnum status = 0; + optional int32u delayedActionTime = 1; + optional char_string<256> imageURI = 2; + optional int32u softwareVersion = 3; + optional char_string<64> softwareVersionString = 4; + optional octet_string<32> updateToken = 5; + optional boolean userConsentNeeded = 6; + optional octet_string<512> metadataForRequestor = 7; } request struct ApplyUpdateRequestRequest { - OCTET_STRING<32> updateToken = 0; - INT32U newVersion = 1; + octet_string<32> updateToken = 0; + int32u newVersion = 1; } response struct ApplyUpdateResponse = 3 { - OTAApplyUpdateAction action = 0; - INT32U delayedActionTime = 1; + ApplyUpdateActionEnum action = 0; + int32u delayedActionTime = 1; } request struct NotifyUpdateAppliedRequest { - OCTET_STRING<32> updateToken = 0; - INT32U softwareVersion = 1; + octet_string<32> updateToken = 0; + int32u softwareVersion = 1; } /** Determine availability of a new Software Image */ @@ -568,13 +568,13 @@ client cluster OtaSoftwareUpdateProvider = 41 { /** Provides an interface for downloading and applying OTA software updates */ server cluster OtaSoftwareUpdateRequestor = 42 { - enum OTAAnnouncementReason : ENUM8 { + enum AnnouncementReasonEnum : enum8 { kSimpleAnnouncement = 0; kUpdateAvailable = 1; kUrgentUpdateAvailable = 2; } - enum OTAChangeReasonEnum : ENUM8 { + enum ChangeReasonEnum : enum8 { kUnknown = 0; kSuccess = 1; kFailure = 2; @@ -582,7 +582,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayByProvider = 4; } - enum OTAUpdateStateEnum : ENUM8 { + enum UpdateStateEnum : enum8 { kUnknown = 0; kIdle = 1; kQuerying = 2; @@ -601,27 +601,27 @@ server cluster OtaSoftwareUpdateRequestor = 42 { } info event StateTransition = 0 { - OTAUpdateStateEnum previousState = 0; - OTAUpdateStateEnum newState = 1; - OTAChangeReasonEnum reason = 2; - nullable INT32U targetSoftwareVersion = 3; + UpdateStateEnum previousState = 0; + UpdateStateEnum newState = 1; + ChangeReasonEnum reason = 2; + nullable int32u targetSoftwareVersion = 3; } critical event VersionApplied = 1 { - INT32U softwareVersion = 0; - INT16U productID = 1; + int32u softwareVersion = 0; + int16u productID = 1; } info event DownloadError = 2 { - INT32U softwareVersion = 0; - INT64U bytesDownloaded = 1; - nullable INT8U progressPercent = 2; - nullable INT64S platformCode = 3; + int32u softwareVersion = 0; + int64u bytesDownloaded = 1; + nullable int8u progressPercent = 2; + nullable int64s platformCode = 3; } attribute ProviderLocation defaultOTAProviders[] = 0; readonly attribute boolean updatePossible = 1; - readonly attribute OTAUpdateStateEnum updateState = 2; + readonly attribute UpdateStateEnum updateState = 2; readonly attribute nullable int8u updateStateProgress = 3; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -633,8 +633,8 @@ server cluster OtaSoftwareUpdateRequestor = 42 { request struct AnnounceOTAProviderRequest { node_id providerNodeID = 0; vendor_id vendorID = 1; - OTAAnnouncementReason announcementReason = 2; - optional OCTET_STRING<512> metadataForNode = 3; + AnnouncementReasonEnum announcementReason = 2; + optional octet_string<512> metadataForNode = 3; endpoint_no endpoint = 4; } @@ -647,7 +647,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { they can be configured to use a user’s preferred language, units, etc */ server cluster LocalizationConfiguration = 43 { attribute char_string<35> activeLocale = 0; - readonly attribute CHAR_STRING supportedLocales[] = 1; + readonly attribute char_string supportedLocales[] = 1; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -661,7 +661,7 @@ server cluster LocalizationConfiguration = 43 { or audibly convey time information need a mechanism by which they can be configured to use a user’s preferred format. */ server cluster TimeFormatLocalization = 44 { - enum CalendarTypeEnum : ENUM8 { + enum CalendarTypeEnum : enum8 { kBuddhist = 0; kChinese = 1; kCoptic = 2; @@ -676,12 +676,12 @@ server cluster TimeFormatLocalization = 44 { kTaiwanese = 11; } - enum HourFormatEnum : ENUM8 { + enum HourFormatEnum : enum8 { k12hr = 0; k24hr = 1; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kCalendarFormat = 0x1; } @@ -701,13 +701,13 @@ server cluster TimeFormatLocalization = 44 { user. As such, Nodes that visually or audibly convey measurable values to the user need a mechanism by which they can be configured to use a user’s preferred unit. */ server cluster UnitLocalization = 45 { - enum TempUnitEnum : ENUM8 { + enum TempUnitEnum : enum8 { kFahrenheit = 0; kCelsius = 1; kKelvin = 2; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kTemperatureUnit = 0x1; } @@ -722,7 +722,7 @@ server cluster UnitLocalization = 45 { /** This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. */ server cluster PowerSource = 47 { - enum BatApprovedChemistryEnum : ENUM16 { + enum BatApprovedChemistryEnum : enum16 { kUnspecified = 0; kAlkaline = 1; kLithiumCarbonFluoride = 2; @@ -758,7 +758,7 @@ server cluster PowerSource = 47 { kZincCerium = 32; } - enum BatChargeFaultEnum : ENUM8 { + enum BatChargeFaultEnum : enum8 { kUnspecified = 0; kAmbientTooHot = 1; kAmbientTooCold = 2; @@ -772,20 +772,20 @@ server cluster PowerSource = 47 { kSafetyTimeout = 10; } - enum BatChargeLevelEnum : ENUM8 { + enum BatChargeLevelEnum : enum8 { kOK = 0; kWarning = 1; kCritical = 2; } - enum BatChargeStateEnum : ENUM8 { + enum BatChargeStateEnum : enum8 { kUnknown = 0; kIsCharging = 1; kIsAtFullCharge = 2; kIsNotCharging = 3; } - enum BatCommonDesignationEnum : ENUM16 { + enum BatCommonDesignationEnum : enum16 { kUnspecified = 0; kAAA = 1; kAA = 2; @@ -869,38 +869,38 @@ server cluster PowerSource = 47 { k32600 = 80; } - enum BatFaultEnum : ENUM8 { + enum BatFaultEnum : enum8 { kUnspecified = 0; kOverTemp = 1; kUnderTemp = 2; } - enum BatReplaceabilityEnum : ENUM8 { + enum BatReplaceabilityEnum : enum8 { kUnspecified = 0; kNotReplaceable = 1; kUserReplaceable = 2; kFactoryReplaceable = 3; } - enum PowerSourceStatusEnum : ENUM8 { + enum PowerSourceStatusEnum : enum8 { kUnspecified = 0; kActive = 1; kStandby = 2; kUnavailable = 3; } - enum WiredCurrentTypeEnum : ENUM8 { + enum WiredCurrentTypeEnum : enum8 { kAC = 0; kDC = 1; } - enum WiredFaultEnum : ENUM8 { + enum WiredFaultEnum : enum8 { kUnspecified = 0; kOverVoltage = 1; kUnderVoltage = 2; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -952,7 +952,7 @@ server cluster PowerSource = 47 { /** This cluster is used to manage global aspects of the Commissioning flow. */ server cluster GeneralCommissioning = 48 { - enum CommissioningErrorEnum : ENUM8 { + enum CommissioningErrorEnum : enum8 { kOK = 0; kValueOutsideRange = 1; kInvalidAuthentication = 2; @@ -960,7 +960,7 @@ server cluster GeneralCommissioning = 48 { kBusyWithOtherAdmin = 4; } - enum RegulatoryLocationTypeEnum : ENUM8 { + enum RegulatoryLocationTypeEnum : enum8 { kIndoor = 0; kOutdoor = 1; kIndoorOutdoor = 2; @@ -984,29 +984,29 @@ server cluster GeneralCommissioning = 48 { readonly attribute int16u clusterRevision = 65533; request struct ArmFailSafeRequest { - INT16U expiryLengthSeconds = 0; - INT64U breadcrumb = 1; + int16u expiryLengthSeconds = 0; + int64u breadcrumb = 1; } request struct SetRegulatoryConfigRequest { RegulatoryLocationTypeEnum newRegulatoryConfig = 0; - CHAR_STRING countryCode = 1; - INT64U breadcrumb = 2; + char_string countryCode = 1; + int64u breadcrumb = 2; } response struct ArmFailSafeResponse = 1 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } response struct SetRegulatoryConfigResponse = 3 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } response struct CommissioningCompleteResponse = 5 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0; @@ -1016,7 +1016,7 @@ server cluster GeneralCommissioning = 48 { /** Functionality to configure, enable, disable network credentials and access on a Matter device. */ server cluster NetworkCommissioning = 49 { - enum NetworkCommissioningStatusEnum : ENUM8 { + enum NetworkCommissioningStatusEnum : enum8 { kSuccess = 0; kOutOfRange = 1; kBoundsExceeded = 2; @@ -1032,7 +1032,7 @@ server cluster NetworkCommissioning = 49 { kUnknownError = 12; } - enum WiFiBandEnum : ENUM8 { + enum WiFiBandEnum : enum8 { k2G4 = 0; k3G65 = 1; k5G = 2; @@ -1041,13 +1041,13 @@ server cluster NetworkCommissioning = 49 { k1G = 5; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; } - bitmap WiFiSecurityBitmap : BITMAP8 { + bitmap WiFiSecurityBitmap : bitmap8 { kUnencrypted = 0x1; kWEP = 0x2; kWPAPersonal = 0x4; @@ -1096,54 +1096,54 @@ server cluster NetworkCommissioning = 49 { readonly attribute int16u clusterRevision = 65533; request struct ScanNetworksRequest { - optional nullable OCTET_STRING<32> ssid = 0; - optional INT64U breadcrumb = 1; + optional nullable octet_string<32> ssid = 0; + optional int64u breadcrumb = 1; } request struct AddOrUpdateWiFiNetworkRequest { - OCTET_STRING<32> ssid = 0; - OCTET_STRING<64> credentials = 1; - optional INT64U breadcrumb = 2; + octet_string<32> ssid = 0; + octet_string<64> credentials = 1; + optional int64u breadcrumb = 2; } request struct AddOrUpdateThreadNetworkRequest { - OCTET_STRING<254> operationalDataset = 0; - optional INT64U breadcrumb = 1; + octet_string<254> operationalDataset = 0; + optional int64u breadcrumb = 1; } request struct RemoveNetworkRequest { - OCTET_STRING<32> networkID = 0; - optional INT64U breadcrumb = 1; + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; } request struct ConnectNetworkRequest { - OCTET_STRING<32> networkID = 0; - optional INT64U breadcrumb = 1; + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; } request struct ReorderNetworkRequest { - OCTET_STRING<32> networkID = 0; - INT8U networkIndex = 1; - optional INT64U breadcrumb = 2; + octet_string<32> networkID = 0; + int8u networkIndex = 1; + optional int64u breadcrumb = 2; } response struct ScanNetworksResponse = 1 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING debugText = 1; + optional char_string debugText = 1; optional WiFiInterfaceScanResultStruct wiFiScanResults[] = 2; optional ThreadInterfaceScanResultStruct threadScanResults[] = 3; } response struct NetworkConfigResponse = 5 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING<512> debugText = 1; - optional INT8U networkIndex = 2; + optional char_string<512> debugText = 1; + optional int8u networkIndex = 2; } response struct ConnectNetworkResponse = 7 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING debugText = 1; - nullable INT32S errorValue = 2; + optional char_string debugText = 1; + nullable int32s errorValue = 2; } command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0; @@ -1156,7 +1156,7 @@ server cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster GeneralDiagnostics = 51 { - enum BootReasonEnum : ENUM8 { + enum BootReasonEnum : enum8 { kUnspecified = 0; kPowerOnReboot = 1; kBrownOutReset = 2; @@ -1166,7 +1166,7 @@ server cluster GeneralDiagnostics = 51 { kSoftwareReset = 6; } - enum HardwareFaultEnum : ENUM8 { + enum HardwareFaultEnum : enum8 { kUnspecified = 0; kRadio = 1; kSensor = 2; @@ -1180,7 +1180,7 @@ server cluster GeneralDiagnostics = 51 { kTamperDetected = 10; } - enum InterfaceTypeEnum : ENUM8 { + enum InterfaceTypeEnum : enum8 { kUnspecified = 0; kWiFi = 1; kEthernet = 2; @@ -1188,14 +1188,14 @@ server cluster GeneralDiagnostics = 51 { kThread = 4; } - enum NetworkFaultEnum : ENUM8 { + enum NetworkFaultEnum : enum8 { kUnspecified = 0; kHardwareFailure = 1; kNetworkJammed = 2; kConnectionFailed = 3; } - enum RadioFaultEnum : ENUM8 { + enum RadioFaultEnum : enum8 { kUnspecified = 0; kWiFiFault = 1; kCellularFault = 2; @@ -1252,8 +1252,8 @@ server cluster GeneralDiagnostics = 51 { readonly attribute int16u clusterRevision = 65533; request struct TestEventTriggerRequest { - OCTET_STRING<16> enableKey = 0; - INT64U eventTrigger = 1; + octet_string<16> enableKey = 0; + int64u eventTrigger = 1; } command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; @@ -1261,19 +1261,19 @@ server cluster GeneralDiagnostics = 51 { /** The Thread Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems */ server cluster ThreadNetworkDiagnostics = 53 { - enum ConnectionStatusEnum : ENUM8 { + enum ConnectionStatusEnum : enum8 { kConnected = 0; kNotConnected = 1; } - enum NetworkFaultEnum : ENUM8 { + enum NetworkFaultEnum : enum8 { kUnspecified = 0; kLinkDown = 1; kHardwareFailure = 2; kNetworkJammed = 3; } - enum RoutingRoleEnum : ENUM8 { + enum RoutingRoleEnum : enum8 { kUnspecified = 0; kUnassigned = 1; kSleepyEndDevice = 2; @@ -1283,7 +1283,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1424,13 +1424,13 @@ server cluster ThreadNetworkDiagnostics = 53 { /** Commands to trigger a Node to allow a new Administrator to commission it. */ server cluster AdministratorCommissioning = 60 { - enum CommissioningWindowStatusEnum : ENUM8 { + enum CommissioningWindowStatusEnum : enum8 { kWindowNotOpen = 0; kEnhancedWindowOpen = 1; kBasicWindowOpen = 2; } - enum StatusCode : ENUM8 { + enum StatusCode : enum8 { kBusy = 2; kPAKEParameterError = 3; kWindowNotOpen = 4; @@ -1447,15 +1447,15 @@ server cluster AdministratorCommissioning = 60 { readonly attribute int16u clusterRevision = 65533; request struct OpenCommissioningWindowRequest { - INT16U commissioningTimeout = 0; - OCTET_STRING PAKEPasscodeVerifier = 1; - INT16U discriminator = 2; - INT32U iterations = 3; - OCTET_STRING salt = 4; + int16u commissioningTimeout = 0; + octet_string PAKEPasscodeVerifier = 1; + int16u discriminator = 2; + int32u iterations = 3; + octet_string salt = 4; } request struct OpenBasicCommissioningWindowRequest { - INT16U commissioningTimeout = 0; + int16u commissioningTimeout = 0; } timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0; @@ -1465,12 +1465,12 @@ server cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ server cluster OperationalCredentials = 62 { - enum CertificateChainTypeEnum : ENUM8 { + enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; kPAICertificate = 2; } - enum NodeOperationalCertStatusEnum : ENUM8 { + enum NodeOperationalCertStatusEnum : enum8 { kOK = 0; kInvalidPublicKey = 1; kInvalidNodeOpId = 2; @@ -1502,7 +1502,7 @@ server cluster OperationalCredentials = 62 { readonly attribute FabricDescriptorStruct fabrics[] = 1; readonly attribute int8u supportedFabrics = 2; readonly attribute int8u commissionedFabrics = 3; - readonly attribute OCTET_STRING trustedRootCertificates[] = 4; + readonly attribute octet_string trustedRootCertificates[] = 4; readonly attribute int8u currentFabricIndex = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -1512,7 +1512,7 @@ server cluster OperationalCredentials = 62 { readonly attribute int16u clusterRevision = 65533; request struct AttestationRequestRequest { - OCTET_STRING attestationNonce = 0; + octet_string attestationNonce = 0; } request struct CertificateChainRequestRequest { @@ -1520,25 +1520,25 @@ server cluster OperationalCredentials = 62 { } request struct CSRRequestRequest { - OCTET_STRING CSRNonce = 0; + octet_string CSRNonce = 0; optional boolean isForUpdateNOC = 1; } request struct AddNOCRequest { - OCTET_STRING NOCValue = 0; - optional OCTET_STRING ICACValue = 1; - OCTET_STRING IPKValue = 2; - Int64u caseAdminSubject = 3; - VENDOR_ID adminVendorId = 4; + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; + octet_string IPKValue = 2; + int64u caseAdminSubject = 3; + vendor_id adminVendorId = 4; } request struct UpdateNOCRequest { - OCTET_STRING NOCValue = 0; - optional OCTET_STRING ICACValue = 1; + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; } request struct UpdateFabricLabelRequest { - CHAR_STRING<32> label = 0; + char_string<32> label = 0; } request struct RemoveFabricRequest { @@ -1546,27 +1546,27 @@ server cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - OCTET_STRING rootCACertificate = 0; + octet_string rootCACertificate = 0; } response struct AttestationResponse = 1 { - OCTET_STRING attestationElements = 0; - OCTET_STRING attestationSignature = 1; + octet_string attestationElements = 0; + octet_string attestationSignature = 1; } response struct CertificateChainResponse = 3 { - OCTET_STRING certificate = 0; + octet_string certificate = 0; } response struct CSRResponse = 5 { - OCTET_STRING NOCSRElements = 0; - OCTET_STRING attestationSignature = 1; + octet_string NOCSRElements = 0; + octet_string attestationSignature = 1; } response struct NOCResponse = 8 { NodeOperationalCertStatusEnum statusCode = 0; optional fabric_idx fabricIndex = 1; - optional CHAR_STRING debugText = 2; + optional char_string debugText = 2; } command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0; @@ -1581,12 +1581,12 @@ server cluster OperationalCredentials = 62 { /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ server cluster GroupKeyManagement = 63 { - enum GroupKeySecurityPolicyEnum : ENUM8 { + enum GroupKeySecurityPolicyEnum : enum8 { kTrustFirst = 0; kCacheAndSync = 1; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kCacheAndSync = 0x1; } @@ -1630,11 +1630,11 @@ server cluster GroupKeyManagement = 63 { } request struct KeySetReadRequest { - INT16U groupKeySetID = 0; + int16u groupKeySetID = 0; } request struct KeySetRemoveRequest { - INT16U groupKeySetID = 0; + int16u groupKeySetID = 0; } response struct KeySetReadResponse = 2 { @@ -1642,7 +1642,7 @@ server cluster GroupKeyManagement = 63 { } response struct KeySetReadAllIndicesResponse = 5 { - INT16U groupKeySetIDs[] = 0; + int16u groupKeySetIDs[] = 0; } fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0; @@ -1686,13 +1686,13 @@ server cluster UserLabel = 65 { /** An interface for configuring and controlling the functionality of a thermostat. */ server cluster Thermostat = 513 { - enum SetpointAdjustMode : ENUM8 { + enum SetpointAdjustMode : enum8 { kHeat = 0; kCool = 1; kBoth = 2; } - enum ThermostatControlSequence : ENUM8 { + enum ThermostatControlSequence : enum8 { kCoolingOnly = 0; kCoolingWithReheat = 1; kHeatingOnly = 2; @@ -1701,13 +1701,13 @@ server cluster Thermostat = 513 { kCoolingAndHeatingWithReheat = 5; } - enum ThermostatRunningMode : ENUM8 { + enum ThermostatRunningMode : enum8 { kOff = 0; kCool = 3; kHeat = 4; } - enum ThermostatSystemMode : ENUM8 { + enum ThermostatSystemMode : enum8 { kOff = 0; kAuto = 1; kCool = 3; @@ -1719,7 +1719,7 @@ server cluster Thermostat = 513 { kSleep = 9; } - bitmap DayOfWeek : BITMAP8 { + bitmap DayOfWeek : bitmap8 { kSunday = 0x1; kMonday = 0x2; kTuesday = 0x4; @@ -1730,7 +1730,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -1740,7 +1740,7 @@ server cluster Thermostat = 513 { kLocalTemperatureNotExposed = 0x40; } - bitmap ModeForSequence : BITMAP8 { + bitmap ModeForSequence : bitmap8 { kHeatSetpointPresent = 0x1; kCoolSetpointPresent = 0x2; } @@ -1775,7 +1775,7 @@ server cluster Thermostat = 513 { request struct SetpointRaiseLowerRequest { SetpointAdjustMode mode = 0; - INT8S amount = 1; + int8s amount = 1; } command SetpointRaiseLower(SetpointRaiseLowerRequest): DefaultSuccess = 0; @@ -1791,6 +1791,8 @@ endpoint 0 { ram attribute identifyType default = 0x00; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command Identify; } server cluster Descriptor { @@ -1812,7 +1814,7 @@ endpoint 0 { callback attribute accessControlEntriesPerFabric default = 3; callback attribute attributeList; ram attribute featureMap default = 0; - ram attribute clusterRevision default = 1; + callback attribute clusterRevision default = 1; } server cluster BasicInformation { @@ -1850,6 +1852,8 @@ endpoint 0 { ram attribute updateStateProgress default = 0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command AnnounceOTAProvider; } server cluster LocalizationConfiguration { @@ -1881,6 +1885,13 @@ endpoint 0 { callback attribute supportsConcurrentConnection default = 1; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command ArmFailSafe; + handle command ArmFailSafeResponse; + handle command SetRegulatoryConfig; + handle command SetRegulatoryConfigResponse; + handle command CommissioningComplete; + handle command CommissioningCompleteResponse; } server cluster NetworkCommissioning { @@ -1894,6 +1905,16 @@ endpoint 0 { ram attribute lastConnectErrorValue; ram attribute featureMap default = 2; ram attribute clusterRevision default = 1; + + handle command ScanNetworks; + handle command ScanNetworksResponse; + handle command AddOrUpdateWiFiNetwork; + handle command AddOrUpdateThreadNetwork; + handle command RemoveNetwork; + handle command NetworkConfigResponse; + handle command ConnectNetwork; + handle command ConnectNetworkResponse; + handle command ReorderNetwork; } server cluster GeneralDiagnostics { @@ -1909,6 +1930,8 @@ endpoint 0 { callback attribute testEventTriggersEnabled default = false; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command TestEventTrigger; } server cluster ThreadNetworkDiagnostics { @@ -1980,6 +2003,8 @@ endpoint 0 { callback attribute attributeList; ram attribute featureMap default = 0x000F; ram attribute clusterRevision default = 1; + + handle command ResetCounts; } server cluster AdministratorCommissioning { @@ -1988,6 +2013,10 @@ endpoint 0 { callback attribute adminVendorId default = 0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command OpenCommissioningWindow; + handle command OpenBasicCommissioningWindow; + handle command RevokeCommissioning; } server cluster OperationalCredentials { @@ -1999,6 +2028,19 @@ endpoint 0 { callback attribute currentFabricIndex; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command AttestationRequest; + handle command AttestationResponse; + handle command CertificateChainRequest; + handle command CertificateChainResponse; + handle command CSRRequest; + handle command CSRResponse; + handle command AddNOC; + handle command UpdateNOC; + handle command NOCResponse; + handle command UpdateFabricLabel; + handle command RemoveFabric; + handle command AddTrustedRootCertificate; } server cluster GroupKeyManagement { @@ -2006,8 +2048,15 @@ endpoint 0 { callback attribute groupTable; callback attribute maxGroupsPerFabric; callback attribute maxGroupKeysPerFabric; - ram attribute featureMap default = 0; - ram attribute clusterRevision default = 1; + callback attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + + handle command KeySetWrite; + handle command KeySetRead; + handle command KeySetReadResponse; + handle command KeySetRemove; + handle command KeySetReadAllIndices; + handle command KeySetReadAllIndicesResponse; } } endpoint 1 { @@ -2020,12 +2069,25 @@ endpoint 1 { ram attribute identifyType default = 0x0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command Identify; } server cluster Groups { ram attribute nameSupport; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command AddGroup; + handle command AddGroupResponse; + handle command ViewGroup; + handle command ViewGroupResponse; + handle command GetGroupMembership; + handle command GetGroupMembershipResponse; + handle command RemoveGroup; + handle command RemoveGroupResponse; + handle command RemoveAllGroups; + handle command AddGroupIfIdentifying; } server cluster Scenes { @@ -2038,6 +2100,20 @@ endpoint 1 { callback attribute remainingCapacity; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command AddScene; + handle command AddSceneResponse; + handle command ViewScene; + handle command ViewSceneResponse; + handle command RemoveScene; + handle command RemoveSceneResponse; + handle command RemoveAllScenes; + handle command RemoveAllScenesResponse; + handle command StoreScene; + handle command StoreSceneResponse; + handle command RecallScene; + handle command GetSceneMembership; + handle command GetSceneMembershipResponse; } server cluster Descriptor { @@ -2110,6 +2186,8 @@ endpoint 1 { callback attribute attributeList; ram attribute featureMap default = 0x3; ram attribute clusterRevision default = 5; + + handle command SetpointRaiseLower; } } diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter index 6ab8da13eedb56..7c5e1cee8a41f5 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter @@ -3,7 +3,7 @@ /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ client cluster Identify = 3 { - enum EffectIdentifierEnum : ENUM8 { + enum EffectIdentifierEnum : enum8 { kBlink = 0; kBreathe = 1; kOkay = 2; @@ -12,11 +12,11 @@ client cluster Identify = 3 { kStopEffect = 255; } - enum EffectVariantEnum : ENUM8 { + enum EffectVariantEnum : enum8 { kDefault = 0; } - enum IdentifyTypeEnum : ENUM8 { + enum IdentifyTypeEnum : enum8 { kNone = 0; kLightOutput = 1; kVisibleIndicator = 2; @@ -35,7 +35,7 @@ client cluster Identify = 3 { readonly attribute int16u clusterRevision = 65533; request struct IdentifyRequest { - INT16U identifyTime = 0; + int16u identifyTime = 0; } request struct TriggerEffectRequest { @@ -51,7 +51,7 @@ client cluster Identify = 3 { /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ server cluster Identify = 3 { - enum EffectIdentifierEnum : ENUM8 { + enum EffectIdentifierEnum : enum8 { kBlink = 0; kBreathe = 1; kOkay = 2; @@ -60,11 +60,11 @@ server cluster Identify = 3 { kStopEffect = 255; } - enum EffectVariantEnum : ENUM8 { + enum EffectVariantEnum : enum8 { kDefault = 0; } - enum IdentifyTypeEnum : ENUM8 { + enum IdentifyTypeEnum : enum8 { kNone = 0; kLightOutput = 1; kVisibleIndicator = 2; @@ -83,7 +83,7 @@ server cluster Identify = 3 { readonly attribute int16u clusterRevision = 65533; request struct IdentifyRequest { - INT16U identifyTime = 0; + int16u identifyTime = 0; } command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0; @@ -91,11 +91,11 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kGroupNames = 0x1; } - bitmap NameSupportBitmap : BITMAP8 { + bitmap NameSupportBitmap : bitmap8 { kGroupNames = 0x80; } @@ -109,7 +109,7 @@ server cluster Groups = 4 { request struct AddGroupRequest { group_id groupID = 0; - CHAR_STRING groupName = 1; + char_string groupName = 1; } request struct ViewGroupRequest { @@ -126,27 +126,27 @@ server cluster Groups = 4 { request struct AddGroupIfIdentifyingRequest { group_id groupID = 0; - CHAR_STRING groupName = 1; + char_string groupName = 1; } response struct AddGroupResponse = 0 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; } response struct ViewGroupResponse = 1 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; - CHAR_STRING groupName = 2; + char_string groupName = 2; } response struct GetGroupMembershipResponse = 2 { - nullable INT8U capacity = 0; + nullable int8u capacity = 0; group_id groupList[] = 1; } response struct RemoveGroupResponse = 3 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; } @@ -159,15 +159,15 @@ server cluster Groups = 4 { } /** Attributes and commands for scene configuration and manipulation. */ -server cluster Scenes = 5 { - bitmap Feature : BITMAP32 { +provisional server cluster Scenes = 5 { + bitmap Feature : bitmap32 { kSceneNames = 0x1; kExplicit = 0x2; kTableSize = 0x4; kFabricScenes = 0x8; } - bitmap ScenesCopyMode : BITMAP8 { + bitmap ScenesCopyMode : bitmap8 { kCopyAllScenes = 0x1; } @@ -197,20 +197,20 @@ server cluster Scenes = 5 { request struct AddSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; - INT16U transitionTime = 2; - CHAR_STRING sceneName = 3; + int8u sceneID = 1; + int16u transitionTime = 2; + char_string sceneName = 3; ExtensionFieldSet extensionFieldSets[] = 4; } request struct ViewSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RemoveSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RemoveAllScenesRequest { @@ -219,13 +219,13 @@ server cluster Scenes = 5 { request struct StoreSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RecallSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; - optional nullable INT16U transitionTime = 2; + int8u sceneID = 1; + optional nullable int16u transitionTime = 2; } request struct GetSceneMembershipRequest { @@ -235,22 +235,22 @@ server cluster Scenes = 5 { response struct AddSceneResponse = 0 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct ViewSceneResponse = 1 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; - optional INT16U transitionTime = 3; - optional CHAR_STRING sceneName = 4; + int8u sceneID = 2; + optional int16u transitionTime = 3; + optional char_string sceneName = 4; optional ExtensionFieldSet extensionFieldSets[] = 5; } response struct RemoveSceneResponse = 2 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct RemoveAllScenesResponse = 3 { @@ -261,14 +261,14 @@ server cluster Scenes = 5 { response struct StoreSceneResponse = 4 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct GetSceneMembershipResponse = 6 { status status = 0; - nullable INT8U capacity = 1; + nullable int8u capacity = 1; group_id groupID = 2; - optional INT8U sceneList[] = 3; + optional int8u sceneList[] = 3; } fabric command access(invoke: manage) AddScene(AddSceneRequest): AddSceneResponse = 0; @@ -282,7 +282,7 @@ server cluster Scenes = 5 { /** The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */ server cluster Descriptor = 29 { - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kTagList = 0x1; } @@ -299,9 +299,9 @@ server cluster Descriptor = 29 { } readonly attribute DeviceTypeStruct deviceTypeList[] = 0; - readonly attribute CLUSTER_ID serverList[] = 1; - readonly attribute CLUSTER_ID clientList[] = 2; - readonly attribute ENDPOINT_NO partsList[] = 3; + readonly attribute cluster_id serverList[] = 1; + readonly attribute cluster_id clientList[] = 2; + readonly attribute endpoint_no partsList[] = 3; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -334,13 +334,13 @@ server cluster Binding = 30 { and enforce Access Control for the Node's endpoints and their associated cluster instances. */ server cluster AccessControl = 31 { - enum AccessControlEntryAuthModeEnum : ENUM8 { + enum AccessControlEntryAuthModeEnum : enum8 { kPASE = 1; kCASE = 2; kGroup = 3; } - enum AccessControlEntryPrivilegeEnum : ENUM8 { + enum AccessControlEntryPrivilegeEnum : enum8 { kView = 1; kProxyView = 2; kOperate = 3; @@ -348,7 +348,7 @@ server cluster AccessControl = 31 { kAdminister = 5; } - enum ChangeTypeEnum : ENUM8 { + enum ChangeTypeEnum : enum8 { kChanged = 0; kAdded = 1; kRemoved = 2; @@ -375,7 +375,7 @@ server cluster AccessControl = 31 { fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; - nullable INT16U adminPasscodeID = 2; + nullable int16u adminPasscodeID = 2; ChangeTypeEnum changeType = 3; nullable AccessControlEntryStruct latestValue = 4; fabric_idx fabricIndex = 254; @@ -383,7 +383,7 @@ server cluster AccessControl = 31 { fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; - nullable INT16U adminPasscodeID = 2; + nullable int16u adminPasscodeID = 2; ChangeTypeEnum changeType = 3; nullable AccessControlExtensionStruct latestValue = 4; fabric_idx fabricIndex = 254; @@ -406,7 +406,7 @@ server cluster AccessControl = 31 { Commissioning and operational determination of Node characteristics, such as Vendor ID, Product ID and serial number, which apply to the whole Node. Also allows setting user device information such as location. */ server cluster BasicInformation = 40 { - enum ColorEnum : ENUM8 { + enum ColorEnum : enum8 { kBlack = 0; kNavy = 1; kGreen = 2; @@ -430,7 +430,7 @@ server cluster BasicInformation = 40 { kGold = 20; } - enum ProductFinishEnum : ENUM8 { + enum ProductFinishEnum : enum8 { kOther = 0; kMatte = 1; kSatin = 2; @@ -450,7 +450,7 @@ server cluster BasicInformation = 40 { } critical event StartUp = 0 { - INT32U softwareVersion = 0; + int32u softwareVersion = 0; } critical event ShutDown = 1 { @@ -494,20 +494,20 @@ server cluster BasicInformation = 40 { /** Provides an interface for providing OTA software updates */ client cluster OtaSoftwareUpdateProvider = 41 { - enum OTAApplyUpdateAction : ENUM8 { + enum ApplyUpdateActionEnum : enum8 { kProceed = 0; kAwaitNextAction = 1; kDiscontinue = 2; } - enum OTADownloadProtocol : ENUM8 { + enum DownloadProtocolEnum : enum8 { kBDXSynchronous = 0; kBDXAsynchronous = 1; kHTTPS = 2; kVendorSpecific = 3; } - enum OTAQueryStatus : ENUM8 { + enum StatusEnum : enum8 { kUpdateAvailable = 0; kBusy = 1; kNotAvailable = 2; @@ -523,39 +523,39 @@ client cluster OtaSoftwareUpdateProvider = 41 { request struct QueryImageRequest { vendor_id vendorID = 0; - INT16U productID = 1; - INT32U softwareVersion = 2; - OTADownloadProtocol protocolsSupported[] = 3; - optional INT16U hardwareVersion = 4; - optional CHAR_STRING<2> location = 5; - optional BOOLEAN requestorCanConsent = 6; - optional OCTET_STRING<512> metadataForProvider = 7; + int16u productID = 1; + int32u softwareVersion = 2; + DownloadProtocolEnum protocolsSupported[] = 3; + optional int16u hardwareVersion = 4; + optional char_string<2> location = 5; + optional boolean requestorCanConsent = 6; + optional octet_string<512> metadataForProvider = 7; } response struct QueryImageResponse = 1 { - OTAQueryStatus status = 0; - optional INT32U delayedActionTime = 1; - optional CHAR_STRING<256> imageURI = 2; - optional INT32U softwareVersion = 3; - optional CHAR_STRING<64> softwareVersionString = 4; - optional OCTET_STRING<32> updateToken = 5; - optional BOOLEAN userConsentNeeded = 6; - optional OCTET_STRING<512> metadataForRequestor = 7; + StatusEnum status = 0; + optional int32u delayedActionTime = 1; + optional char_string<256> imageURI = 2; + optional int32u softwareVersion = 3; + optional char_string<64> softwareVersionString = 4; + optional octet_string<32> updateToken = 5; + optional boolean userConsentNeeded = 6; + optional octet_string<512> metadataForRequestor = 7; } request struct ApplyUpdateRequestRequest { - OCTET_STRING<32> updateToken = 0; - INT32U newVersion = 1; + octet_string<32> updateToken = 0; + int32u newVersion = 1; } response struct ApplyUpdateResponse = 3 { - OTAApplyUpdateAction action = 0; - INT32U delayedActionTime = 1; + ApplyUpdateActionEnum action = 0; + int32u delayedActionTime = 1; } request struct NotifyUpdateAppliedRequest { - OCTET_STRING<32> updateToken = 0; - INT32U softwareVersion = 1; + octet_string<32> updateToken = 0; + int32u softwareVersion = 1; } /** Determine availability of a new Software Image */ @@ -568,13 +568,13 @@ client cluster OtaSoftwareUpdateProvider = 41 { /** Provides an interface for downloading and applying OTA software updates */ server cluster OtaSoftwareUpdateRequestor = 42 { - enum OTAAnnouncementReason : ENUM8 { + enum AnnouncementReasonEnum : enum8 { kSimpleAnnouncement = 0; kUpdateAvailable = 1; kUrgentUpdateAvailable = 2; } - enum OTAChangeReasonEnum : ENUM8 { + enum ChangeReasonEnum : enum8 { kUnknown = 0; kSuccess = 1; kFailure = 2; @@ -582,7 +582,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayByProvider = 4; } - enum OTAUpdateStateEnum : ENUM8 { + enum UpdateStateEnum : enum8 { kUnknown = 0; kIdle = 1; kQuerying = 2; @@ -601,27 +601,27 @@ server cluster OtaSoftwareUpdateRequestor = 42 { } info event StateTransition = 0 { - OTAUpdateStateEnum previousState = 0; - OTAUpdateStateEnum newState = 1; - OTAChangeReasonEnum reason = 2; - nullable INT32U targetSoftwareVersion = 3; + UpdateStateEnum previousState = 0; + UpdateStateEnum newState = 1; + ChangeReasonEnum reason = 2; + nullable int32u targetSoftwareVersion = 3; } critical event VersionApplied = 1 { - INT32U softwareVersion = 0; - INT16U productID = 1; + int32u softwareVersion = 0; + int16u productID = 1; } info event DownloadError = 2 { - INT32U softwareVersion = 0; - INT64U bytesDownloaded = 1; - nullable INT8U progressPercent = 2; - nullable INT64S platformCode = 3; + int32u softwareVersion = 0; + int64u bytesDownloaded = 1; + nullable int8u progressPercent = 2; + nullable int64s platformCode = 3; } attribute ProviderLocation defaultOTAProviders[] = 0; readonly attribute boolean updatePossible = 1; - readonly attribute OTAUpdateStateEnum updateState = 2; + readonly attribute UpdateStateEnum updateState = 2; readonly attribute nullable int8u updateStateProgress = 3; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -633,8 +633,8 @@ server cluster OtaSoftwareUpdateRequestor = 42 { request struct AnnounceOTAProviderRequest { node_id providerNodeID = 0; vendor_id vendorID = 1; - OTAAnnouncementReason announcementReason = 2; - optional OCTET_STRING<512> metadataForNode = 3; + AnnouncementReasonEnum announcementReason = 2; + optional octet_string<512> metadataForNode = 3; endpoint_no endpoint = 4; } @@ -647,7 +647,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { they can be configured to use a user’s preferred language, units, etc */ server cluster LocalizationConfiguration = 43 { attribute char_string<35> activeLocale = 0; - readonly attribute CHAR_STRING supportedLocales[] = 1; + readonly attribute char_string supportedLocales[] = 1; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -661,7 +661,7 @@ server cluster LocalizationConfiguration = 43 { or audibly convey time information need a mechanism by which they can be configured to use a user’s preferred format. */ server cluster TimeFormatLocalization = 44 { - enum CalendarTypeEnum : ENUM8 { + enum CalendarTypeEnum : enum8 { kBuddhist = 0; kChinese = 1; kCoptic = 2; @@ -676,12 +676,12 @@ server cluster TimeFormatLocalization = 44 { kTaiwanese = 11; } - enum HourFormatEnum : ENUM8 { + enum HourFormatEnum : enum8 { k12hr = 0; k24hr = 1; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kCalendarFormat = 0x1; } @@ -701,13 +701,13 @@ server cluster TimeFormatLocalization = 44 { user. As such, Nodes that visually or audibly convey measurable values to the user need a mechanism by which they can be configured to use a user’s preferred unit. */ server cluster UnitLocalization = 45 { - enum TempUnitEnum : ENUM8 { + enum TempUnitEnum : enum8 { kFahrenheit = 0; kCelsius = 1; kKelvin = 2; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kTemperatureUnit = 0x1; } @@ -722,7 +722,7 @@ server cluster UnitLocalization = 45 { /** This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. */ server cluster PowerSource = 47 { - enum BatApprovedChemistryEnum : ENUM16 { + enum BatApprovedChemistryEnum : enum16 { kUnspecified = 0; kAlkaline = 1; kLithiumCarbonFluoride = 2; @@ -758,7 +758,7 @@ server cluster PowerSource = 47 { kZincCerium = 32; } - enum BatChargeFaultEnum : ENUM8 { + enum BatChargeFaultEnum : enum8 { kUnspecified = 0; kAmbientTooHot = 1; kAmbientTooCold = 2; @@ -772,20 +772,20 @@ server cluster PowerSource = 47 { kSafetyTimeout = 10; } - enum BatChargeLevelEnum : ENUM8 { + enum BatChargeLevelEnum : enum8 { kOK = 0; kWarning = 1; kCritical = 2; } - enum BatChargeStateEnum : ENUM8 { + enum BatChargeStateEnum : enum8 { kUnknown = 0; kIsCharging = 1; kIsAtFullCharge = 2; kIsNotCharging = 3; } - enum BatCommonDesignationEnum : ENUM16 { + enum BatCommonDesignationEnum : enum16 { kUnspecified = 0; kAAA = 1; kAA = 2; @@ -869,38 +869,38 @@ server cluster PowerSource = 47 { k32600 = 80; } - enum BatFaultEnum : ENUM8 { + enum BatFaultEnum : enum8 { kUnspecified = 0; kOverTemp = 1; kUnderTemp = 2; } - enum BatReplaceabilityEnum : ENUM8 { + enum BatReplaceabilityEnum : enum8 { kUnspecified = 0; kNotReplaceable = 1; kUserReplaceable = 2; kFactoryReplaceable = 3; } - enum PowerSourceStatusEnum : ENUM8 { + enum PowerSourceStatusEnum : enum8 { kUnspecified = 0; kActive = 1; kStandby = 2; kUnavailable = 3; } - enum WiredCurrentTypeEnum : ENUM8 { + enum WiredCurrentTypeEnum : enum8 { kAC = 0; kDC = 1; } - enum WiredFaultEnum : ENUM8 { + enum WiredFaultEnum : enum8 { kUnspecified = 0; kOverVoltage = 1; kUnderVoltage = 2; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -952,7 +952,7 @@ server cluster PowerSource = 47 { /** This cluster is used to manage global aspects of the Commissioning flow. */ server cluster GeneralCommissioning = 48 { - enum CommissioningErrorEnum : ENUM8 { + enum CommissioningErrorEnum : enum8 { kOK = 0; kValueOutsideRange = 1; kInvalidAuthentication = 2; @@ -960,7 +960,7 @@ server cluster GeneralCommissioning = 48 { kBusyWithOtherAdmin = 4; } - enum RegulatoryLocationTypeEnum : ENUM8 { + enum RegulatoryLocationTypeEnum : enum8 { kIndoor = 0; kOutdoor = 1; kIndoorOutdoor = 2; @@ -984,29 +984,29 @@ server cluster GeneralCommissioning = 48 { readonly attribute int16u clusterRevision = 65533; request struct ArmFailSafeRequest { - INT16U expiryLengthSeconds = 0; - INT64U breadcrumb = 1; + int16u expiryLengthSeconds = 0; + int64u breadcrumb = 1; } request struct SetRegulatoryConfigRequest { RegulatoryLocationTypeEnum newRegulatoryConfig = 0; - CHAR_STRING countryCode = 1; - INT64U breadcrumb = 2; + char_string countryCode = 1; + int64u breadcrumb = 2; } response struct ArmFailSafeResponse = 1 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } response struct SetRegulatoryConfigResponse = 3 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } response struct CommissioningCompleteResponse = 5 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0; @@ -1016,7 +1016,7 @@ server cluster GeneralCommissioning = 48 { /** Functionality to configure, enable, disable network credentials and access on a Matter device. */ server cluster NetworkCommissioning = 49 { - enum NetworkCommissioningStatusEnum : ENUM8 { + enum NetworkCommissioningStatusEnum : enum8 { kSuccess = 0; kOutOfRange = 1; kBoundsExceeded = 2; @@ -1032,7 +1032,7 @@ server cluster NetworkCommissioning = 49 { kUnknownError = 12; } - enum WiFiBandEnum : ENUM8 { + enum WiFiBandEnum : enum8 { k2G4 = 0; k3G65 = 1; k5G = 2; @@ -1041,13 +1041,13 @@ server cluster NetworkCommissioning = 49 { k1G = 5; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; } - bitmap WiFiSecurityBitmap : BITMAP8 { + bitmap WiFiSecurityBitmap : bitmap8 { kUnencrypted = 0x1; kWEP = 0x2; kWPAPersonal = 0x4; @@ -1096,54 +1096,54 @@ server cluster NetworkCommissioning = 49 { readonly attribute int16u clusterRevision = 65533; request struct ScanNetworksRequest { - optional nullable OCTET_STRING<32> ssid = 0; - optional INT64U breadcrumb = 1; + optional nullable octet_string<32> ssid = 0; + optional int64u breadcrumb = 1; } request struct AddOrUpdateWiFiNetworkRequest { - OCTET_STRING<32> ssid = 0; - OCTET_STRING<64> credentials = 1; - optional INT64U breadcrumb = 2; + octet_string<32> ssid = 0; + octet_string<64> credentials = 1; + optional int64u breadcrumb = 2; } request struct AddOrUpdateThreadNetworkRequest { - OCTET_STRING<254> operationalDataset = 0; - optional INT64U breadcrumb = 1; + octet_string<254> operationalDataset = 0; + optional int64u breadcrumb = 1; } request struct RemoveNetworkRequest { - OCTET_STRING<32> networkID = 0; - optional INT64U breadcrumb = 1; + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; } request struct ConnectNetworkRequest { - OCTET_STRING<32> networkID = 0; - optional INT64U breadcrumb = 1; + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; } request struct ReorderNetworkRequest { - OCTET_STRING<32> networkID = 0; - INT8U networkIndex = 1; - optional INT64U breadcrumb = 2; + octet_string<32> networkID = 0; + int8u networkIndex = 1; + optional int64u breadcrumb = 2; } response struct ScanNetworksResponse = 1 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING debugText = 1; + optional char_string debugText = 1; optional WiFiInterfaceScanResultStruct wiFiScanResults[] = 2; optional ThreadInterfaceScanResultStruct threadScanResults[] = 3; } response struct NetworkConfigResponse = 5 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING<512> debugText = 1; - optional INT8U networkIndex = 2; + optional char_string<512> debugText = 1; + optional int8u networkIndex = 2; } response struct ConnectNetworkResponse = 7 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING debugText = 1; - nullable INT32S errorValue = 2; + optional char_string debugText = 1; + nullable int32s errorValue = 2; } command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0; @@ -1156,7 +1156,7 @@ server cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster GeneralDiagnostics = 51 { - enum BootReasonEnum : ENUM8 { + enum BootReasonEnum : enum8 { kUnspecified = 0; kPowerOnReboot = 1; kBrownOutReset = 2; @@ -1166,7 +1166,7 @@ server cluster GeneralDiagnostics = 51 { kSoftwareReset = 6; } - enum HardwareFaultEnum : ENUM8 { + enum HardwareFaultEnum : enum8 { kUnspecified = 0; kRadio = 1; kSensor = 2; @@ -1180,7 +1180,7 @@ server cluster GeneralDiagnostics = 51 { kTamperDetected = 10; } - enum InterfaceTypeEnum : ENUM8 { + enum InterfaceTypeEnum : enum8 { kUnspecified = 0; kWiFi = 1; kEthernet = 2; @@ -1188,14 +1188,14 @@ server cluster GeneralDiagnostics = 51 { kThread = 4; } - enum NetworkFaultEnum : ENUM8 { + enum NetworkFaultEnum : enum8 { kUnspecified = 0; kHardwareFailure = 1; kNetworkJammed = 2; kConnectionFailed = 3; } - enum RadioFaultEnum : ENUM8 { + enum RadioFaultEnum : enum8 { kUnspecified = 0; kWiFiFault = 1; kCellularFault = 2; @@ -1252,8 +1252,8 @@ server cluster GeneralDiagnostics = 51 { readonly attribute int16u clusterRevision = 65533; request struct TestEventTriggerRequest { - OCTET_STRING<16> enableKey = 0; - INT64U eventTrigger = 1; + octet_string<16> enableKey = 0; + int64u eventTrigger = 1; } command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; @@ -1261,19 +1261,19 @@ server cluster GeneralDiagnostics = 51 { /** The Wi-Fi Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster WiFiNetworkDiagnostics = 54 { - enum AssociationFailureCauseEnum : ENUM8 { + enum AssociationFailureCauseEnum : enum8 { kUnknown = 0; kAssociationFailed = 1; kAuthenticationFailed = 2; kSsidNotFound = 3; } - enum ConnectionStatusEnum : ENUM8 { + enum ConnectionStatusEnum : enum8 { kConnected = 0; kNotConnected = 1; } - enum SecurityTypeEnum : ENUM8 { + enum SecurityTypeEnum : enum8 { kUnspecified = 0; kNone = 1; kWEP = 2; @@ -1282,7 +1282,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kWPA3 = 5; } - enum WiFiVersionEnum : ENUM8 { + enum WiFiVersionEnum : enum8 { kA = 0; kB = 1; kG = 2; @@ -1292,18 +1292,18 @@ server cluster WiFiNetworkDiagnostics = 54 { kAh = 6; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } info event Disconnection = 0 { - INT16U reasonCode = 0; + int16u reasonCode = 0; } info event AssociationFailure = 1 { AssociationFailureCauseEnum associationFailure = 0; - INT16U status = 1; + int16u status = 1; } info event ConnectionStatus = 2 { @@ -1333,13 +1333,13 @@ server cluster WiFiNetworkDiagnostics = 54 { /** Commands to trigger a Node to allow a new Administrator to commission it. */ server cluster AdministratorCommissioning = 60 { - enum CommissioningWindowStatusEnum : ENUM8 { + enum CommissioningWindowStatusEnum : enum8 { kWindowNotOpen = 0; kEnhancedWindowOpen = 1; kBasicWindowOpen = 2; } - enum StatusCode : ENUM8 { + enum StatusCode : enum8 { kBusy = 2; kPAKEParameterError = 3; kWindowNotOpen = 4; @@ -1356,15 +1356,15 @@ server cluster AdministratorCommissioning = 60 { readonly attribute int16u clusterRevision = 65533; request struct OpenCommissioningWindowRequest { - INT16U commissioningTimeout = 0; - OCTET_STRING PAKEPasscodeVerifier = 1; - INT16U discriminator = 2; - INT32U iterations = 3; - OCTET_STRING salt = 4; + int16u commissioningTimeout = 0; + octet_string PAKEPasscodeVerifier = 1; + int16u discriminator = 2; + int32u iterations = 3; + octet_string salt = 4; } request struct OpenBasicCommissioningWindowRequest { - INT16U commissioningTimeout = 0; + int16u commissioningTimeout = 0; } timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0; @@ -1374,12 +1374,12 @@ server cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ server cluster OperationalCredentials = 62 { - enum CertificateChainTypeEnum : ENUM8 { + enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; kPAICertificate = 2; } - enum NodeOperationalCertStatusEnum : ENUM8 { + enum NodeOperationalCertStatusEnum : enum8 { kOK = 0; kInvalidPublicKey = 1; kInvalidNodeOpId = 2; @@ -1411,7 +1411,7 @@ server cluster OperationalCredentials = 62 { readonly attribute FabricDescriptorStruct fabrics[] = 1; readonly attribute int8u supportedFabrics = 2; readonly attribute int8u commissionedFabrics = 3; - readonly attribute OCTET_STRING trustedRootCertificates[] = 4; + readonly attribute octet_string trustedRootCertificates[] = 4; readonly attribute int8u currentFabricIndex = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -1421,7 +1421,7 @@ server cluster OperationalCredentials = 62 { readonly attribute int16u clusterRevision = 65533; request struct AttestationRequestRequest { - OCTET_STRING attestationNonce = 0; + octet_string attestationNonce = 0; } request struct CertificateChainRequestRequest { @@ -1429,25 +1429,25 @@ server cluster OperationalCredentials = 62 { } request struct CSRRequestRequest { - OCTET_STRING CSRNonce = 0; + octet_string CSRNonce = 0; optional boolean isForUpdateNOC = 1; } request struct AddNOCRequest { - OCTET_STRING NOCValue = 0; - optional OCTET_STRING ICACValue = 1; - OCTET_STRING IPKValue = 2; - Int64u caseAdminSubject = 3; - VENDOR_ID adminVendorId = 4; + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; + octet_string IPKValue = 2; + int64u caseAdminSubject = 3; + vendor_id adminVendorId = 4; } request struct UpdateNOCRequest { - OCTET_STRING NOCValue = 0; - optional OCTET_STRING ICACValue = 1; + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; } request struct UpdateFabricLabelRequest { - CHAR_STRING<32> label = 0; + char_string<32> label = 0; } request struct RemoveFabricRequest { @@ -1455,27 +1455,27 @@ server cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - OCTET_STRING rootCACertificate = 0; + octet_string rootCACertificate = 0; } response struct AttestationResponse = 1 { - OCTET_STRING attestationElements = 0; - OCTET_STRING attestationSignature = 1; + octet_string attestationElements = 0; + octet_string attestationSignature = 1; } response struct CertificateChainResponse = 3 { - OCTET_STRING certificate = 0; + octet_string certificate = 0; } response struct CSRResponse = 5 { - OCTET_STRING NOCSRElements = 0; - OCTET_STRING attestationSignature = 1; + octet_string NOCSRElements = 0; + octet_string attestationSignature = 1; } response struct NOCResponse = 8 { NodeOperationalCertStatusEnum statusCode = 0; optional fabric_idx fabricIndex = 1; - optional CHAR_STRING debugText = 2; + optional char_string debugText = 2; } command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0; @@ -1490,12 +1490,12 @@ server cluster OperationalCredentials = 62 { /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ server cluster GroupKeyManagement = 63 { - enum GroupKeySecurityPolicyEnum : ENUM8 { + enum GroupKeySecurityPolicyEnum : enum8 { kTrustFirst = 0; kCacheAndSync = 1; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kCacheAndSync = 0x1; } @@ -1539,11 +1539,11 @@ server cluster GroupKeyManagement = 63 { } request struct KeySetReadRequest { - INT16U groupKeySetID = 0; + int16u groupKeySetID = 0; } request struct KeySetRemoveRequest { - INT16U groupKeySetID = 0; + int16u groupKeySetID = 0; } response struct KeySetReadResponse = 2 { @@ -1551,7 +1551,7 @@ server cluster GroupKeyManagement = 63 { } response struct KeySetReadAllIndicesResponse = 5 { - INT16U groupKeySetIDs[] = 0; + int16u groupKeySetIDs[] = 0; } fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0; @@ -1595,13 +1595,13 @@ server cluster UserLabel = 65 { /** An interface for configuring and controlling the functionality of a thermostat. */ server cluster Thermostat = 513 { - enum SetpointAdjustMode : ENUM8 { + enum SetpointAdjustMode : enum8 { kHeat = 0; kCool = 1; kBoth = 2; } - enum ThermostatControlSequence : ENUM8 { + enum ThermostatControlSequence : enum8 { kCoolingOnly = 0; kCoolingWithReheat = 1; kHeatingOnly = 2; @@ -1610,13 +1610,13 @@ server cluster Thermostat = 513 { kCoolingAndHeatingWithReheat = 5; } - enum ThermostatRunningMode : ENUM8 { + enum ThermostatRunningMode : enum8 { kOff = 0; kCool = 3; kHeat = 4; } - enum ThermostatSystemMode : ENUM8 { + enum ThermostatSystemMode : enum8 { kOff = 0; kAuto = 1; kCool = 3; @@ -1628,7 +1628,7 @@ server cluster Thermostat = 513 { kSleep = 9; } - bitmap DayOfWeek : BITMAP8 { + bitmap DayOfWeek : bitmap8 { kSunday = 0x1; kMonday = 0x2; kTuesday = 0x4; @@ -1639,7 +1639,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -1649,7 +1649,7 @@ server cluster Thermostat = 513 { kLocalTemperatureNotExposed = 0x40; } - bitmap ModeForSequence : BITMAP8 { + bitmap ModeForSequence : bitmap8 { kHeatSetpointPresent = 0x1; kCoolSetpointPresent = 0x2; } @@ -1684,7 +1684,7 @@ server cluster Thermostat = 513 { request struct SetpointRaiseLowerRequest { SetpointAdjustMode mode = 0; - INT8S amount = 1; + int8s amount = 1; } command SetpointRaiseLower(SetpointRaiseLowerRequest): DefaultSuccess = 0; @@ -1700,6 +1700,8 @@ endpoint 0 { ram attribute identifyType default = 0x00; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command Identify; } server cluster Descriptor { @@ -1721,7 +1723,7 @@ endpoint 0 { callback attribute accessControlEntriesPerFabric default = 3; callback attribute attributeList; ram attribute featureMap default = 0; - ram attribute clusterRevision default = 1; + callback attribute clusterRevision default = 1; } server cluster BasicInformation { @@ -1759,6 +1761,8 @@ endpoint 0 { ram attribute updateStateProgress default = 0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command AnnounceOTAProvider; } server cluster LocalizationConfiguration { @@ -1790,6 +1794,13 @@ endpoint 0 { callback attribute supportsConcurrentConnection default = 1; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command ArmFailSafe; + handle command ArmFailSafeResponse; + handle command SetRegulatoryConfig; + handle command SetRegulatoryConfigResponse; + handle command CommissioningComplete; + handle command CommissioningCompleteResponse; } server cluster NetworkCommissioning { @@ -1803,6 +1814,16 @@ endpoint 0 { ram attribute lastConnectErrorValue; ram attribute featureMap default = 2; ram attribute clusterRevision default = 1; + + handle command ScanNetworks; + handle command ScanNetworksResponse; + handle command AddOrUpdateWiFiNetwork; + handle command AddOrUpdateThreadNetwork; + handle command RemoveNetwork; + handle command NetworkConfigResponse; + handle command ConnectNetwork; + handle command ConnectNetworkResponse; + handle command ReorderNetwork; } server cluster GeneralDiagnostics { @@ -1818,6 +1839,8 @@ endpoint 0 { callback attribute testEventTriggersEnabled default = false; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command TestEventTrigger; } server cluster WiFiNetworkDiagnostics { @@ -1844,6 +1867,10 @@ endpoint 0 { callback attribute adminVendorId default = 0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command OpenCommissioningWindow; + handle command OpenBasicCommissioningWindow; + handle command RevokeCommissioning; } server cluster OperationalCredentials { @@ -1855,6 +1882,19 @@ endpoint 0 { callback attribute currentFabricIndex; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command AttestationRequest; + handle command AttestationResponse; + handle command CertificateChainRequest; + handle command CertificateChainResponse; + handle command CSRRequest; + handle command CSRResponse; + handle command AddNOC; + handle command UpdateNOC; + handle command NOCResponse; + handle command UpdateFabricLabel; + handle command RemoveFabric; + handle command AddTrustedRootCertificate; } server cluster GroupKeyManagement { @@ -1862,8 +1902,15 @@ endpoint 0 { callback attribute groupTable; callback attribute maxGroupsPerFabric; callback attribute maxGroupKeysPerFabric; - ram attribute featureMap default = 0; - ram attribute clusterRevision default = 1; + callback attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + + handle command KeySetWrite; + handle command KeySetRead; + handle command KeySetReadResponse; + handle command KeySetRemove; + handle command KeySetReadAllIndices; + handle command KeySetReadAllIndicesResponse; } } endpoint 1 { @@ -1876,12 +1923,25 @@ endpoint 1 { ram attribute identifyType default = 0x0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command Identify; } server cluster Groups { ram attribute nameSupport; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command AddGroup; + handle command AddGroupResponse; + handle command ViewGroup; + handle command ViewGroupResponse; + handle command GetGroupMembership; + handle command GetGroupMembershipResponse; + handle command RemoveGroup; + handle command RemoveGroupResponse; + handle command RemoveAllGroups; + handle command AddGroupIfIdentifying; } server cluster Scenes { @@ -1894,6 +1954,20 @@ endpoint 1 { callback attribute remainingCapacity; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command AddScene; + handle command AddSceneResponse; + handle command ViewScene; + handle command ViewSceneResponse; + handle command RemoveScene; + handle command RemoveSceneResponse; + handle command RemoveAllScenes; + handle command RemoveAllScenesResponse; + handle command StoreScene; + handle command StoreSceneResponse; + handle command RecallScene; + handle command GetSceneMembership; + handle command GetSceneMembershipResponse; } server cluster Descriptor { @@ -1966,6 +2040,8 @@ endpoint 1 { callback attribute attributeList; ram attribute featureMap default = 0x3; ram attribute clusterRevision default = 5; + + handle command SetpointRaiseLower; } }