Update ZAP. (#19782)
This pulls in
https://github.com/project-chip/zap/commit/fd3adabbb2ac031d765da028fb51475260b7cfaf,
which just changes the ordering of output for some queries.
I verified, with "git diff --color-moved" that all the generated code
changes are things being reordered as a result.
diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter
index ef2f89e..ad6fd02 100644
--- a/examples/lighting-app/lighting-common/lighting-app.matter
+++ b/examples/lighting-app/lighting-common/lighting-app.matter
@@ -6,6 +6,265 @@
char_string<16> value = 1;
}
+server cluster Identify = 3 {
+ enum IdentifyEffectIdentifier : ENUM8 {
+ kBlink = 0;
+ kBreathe = 1;
+ kOkay = 2;
+ kChannelChange = 11;
+ kFinishEffect = 254;
+ kStopEffect = 255;
+ }
+
+ enum IdentifyEffectVariant : ENUM8 {
+ kDefault = 0;
+ }
+
+ enum IdentifyIdentifyType : ENUM8 {
+ kNone = 0;
+ kVisibleLight = 1;
+ kVisibleLED = 2;
+ kAudibleBeep = 3;
+ kDisplay = 4;
+ kActuator = 5;
+ }
+
+ attribute int16u identifyTime = 0;
+ readonly attribute enum8 identifyType = 1;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct IdentifyRequest {
+ INT16U identifyTime = 0;
+ }
+
+ request struct TriggerEffectRequest {
+ IdentifyEffectIdentifier effectIdentifier = 0;
+ IdentifyEffectVariant effectVariant = 1;
+ }
+
+ command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0;
+ command access(invoke: manage) TriggerEffect(TriggerEffectRequest): DefaultSuccess = 64;
+}
+
+server cluster Groups = 4 {
+ readonly attribute bitmap8 nameSupport = 0;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct AddGroupRequest {
+ group_id groupId = 0;
+ CHAR_STRING groupName = 1;
+ }
+
+ request struct ViewGroupRequest {
+ group_id groupId = 0;
+ }
+
+ request struct GetGroupMembershipRequest {
+ group_id groupList[] = 0;
+ }
+
+ request struct RemoveGroupRequest {
+ group_id groupId = 0;
+ }
+
+ request struct AddGroupIfIdentifyingRequest {
+ group_id groupId = 0;
+ CHAR_STRING groupName = 1;
+ }
+
+ response struct AddGroupResponse = 0 {
+ ENUM8 status = 0;
+ group_id groupId = 1;
+ }
+
+ response struct ViewGroupResponse = 1 {
+ ENUM8 status = 0;
+ group_id groupId = 1;
+ CHAR_STRING groupName = 2;
+ }
+
+ response struct GetGroupMembershipResponse = 2 {
+ nullable INT8U capacity = 0;
+ group_id groupList[] = 1;
+ }
+
+ response struct RemoveGroupResponse = 3 {
+ ENUM8 status = 0;
+ group_id groupId = 1;
+ }
+
+ command access(invoke: manage) AddGroup(AddGroupRequest): AddGroupResponse = 0;
+ command ViewGroup(ViewGroupRequest): ViewGroupResponse = 1;
+ command GetGroupMembership(GetGroupMembershipRequest): GetGroupMembershipResponse = 2;
+ command access(invoke: manage) RemoveGroup(RemoveGroupRequest): RemoveGroupResponse = 3;
+ command access(invoke: manage) RemoveAllGroups(): DefaultSuccess = 4;
+ command access(invoke: manage) AddGroupIfIdentifying(AddGroupIfIdentifyingRequest): DefaultSuccess = 5;
+}
+
+server cluster OnOff = 6 {
+ enum OnOffDelayedAllOffEffectVariant : ENUM8 {
+ kFadeToOffIn0p8Seconds = 0;
+ kNoFade = 1;
+ k50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds = 2;
+ }
+
+ enum OnOffDyingLightEffectVariant : ENUM8 {
+ k20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second = 0;
+ }
+
+ enum OnOffEffectIdentifier : ENUM8 {
+ kDelayedAllOff = 0;
+ kDyingLight = 1;
+ }
+
+ enum OnOffStartUpOnOff : ENUM8 {
+ kOff = 0;
+ kOn = 1;
+ kTogglePreviousOnOff = 2;
+ }
+
+ bitmap OnOffControl : BITMAP8 {
+ kAcceptOnlyWhenOn = 0x1;
+ }
+
+ bitmap OnOffFeature : BITMAP32 {
+ kLighting = 0x1;
+ }
+
+ bitmap SceneFeatures : BITMAP32 {
+ kSceneNames = 0x1;
+ }
+
+ readonly attribute boolean onOff = 0;
+ readonly attribute boolean globalSceneControl = 16384;
+ attribute int16u onTime = 16385;
+ attribute int16u offWaitTime = 16386;
+ attribute access(write: manage) nullable OnOffStartUpOnOff startUpOnOff = 16387;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct OffWithEffectRequest {
+ OnOffEffectIdentifier effectId = 0;
+ OnOffDelayedAllOffEffectVariant effectVariant = 1;
+ }
+
+ request struct OnWithTimedOffRequest {
+ OnOffControl onOffControl = 0;
+ int16u onTime = 1;
+ int16u offWaitTime = 2;
+ }
+
+ command Off(): DefaultSuccess = 0;
+ command On(): DefaultSuccess = 1;
+ command Toggle(): DefaultSuccess = 2;
+ command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64;
+ command OnWithRecallGlobalScene(): DefaultSuccess = 65;
+ command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66;
+}
+
+server cluster LevelControl = 8 {
+ enum MoveMode : ENUM8 {
+ kUp = 0;
+ kDown = 1;
+ }
+
+ enum StepMode : ENUM8 {
+ kUp = 0;
+ kDown = 1;
+ }
+
+ bitmap LevelControlFeature : BITMAP32 {
+ kOnOff = 0x1;
+ kLighting = 0x2;
+ kFrequency = 0x4;
+ }
+
+ readonly attribute int8u currentLevel = 0;
+ readonly attribute int16u remainingTime = 1;
+ readonly attribute int8u minLevel = 2;
+ readonly attribute int8u maxLevel = 3;
+ readonly attribute int16u currentFrequency = 4;
+ readonly attribute int16u minFrequency = 5;
+ readonly attribute int16u maxFrequency = 6;
+ attribute bitmap8 options = 15;
+ attribute int16u onOffTransitionTime = 16;
+ attribute nullable int8u onLevel = 17;
+ attribute nullable int16u onTransitionTime = 18;
+ attribute nullable int16u offTransitionTime = 19;
+ attribute nullable int8u defaultMoveRate = 20;
+ attribute access(write: manage) nullable int8u startUpCurrentLevel = 16384;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct MoveToLevelRequest {
+ INT8U level = 0;
+ INT16U transitionTime = 1;
+ BITMAP8 optionMask = 2;
+ BITMAP8 optionOverride = 3;
+ }
+
+ request struct MoveRequest {
+ MoveMode moveMode = 0;
+ INT8U rate = 1;
+ BITMAP8 optionMask = 2;
+ BITMAP8 optionOverride = 3;
+ }
+
+ request struct StepRequest {
+ StepMode stepMode = 0;
+ INT8U stepSize = 1;
+ INT16U transitionTime = 2;
+ BITMAP8 optionMask = 3;
+ BITMAP8 optionOverride = 4;
+ }
+
+ request struct StopRequest {
+ BITMAP8 optionMask = 0;
+ BITMAP8 optionOverride = 1;
+ }
+
+ request struct MoveToLevelWithOnOffRequest {
+ INT8U level = 0;
+ INT16U transitionTime = 1;
+ }
+
+ request struct MoveWithOnOffRequest {
+ MoveMode moveMode = 0;
+ INT8U rate = 1;
+ }
+
+ request struct StepWithOnOffRequest {
+ StepMode stepMode = 0;
+ INT8U stepSize = 1;
+ INT16U transitionTime = 2;
+ }
+
+ command MoveToLevel(MoveToLevelRequest): DefaultSuccess = 0;
+ command Move(MoveRequest): DefaultSuccess = 1;
+ command Step(StepRequest): DefaultSuccess = 2;
+ command Stop(StopRequest): DefaultSuccess = 3;
+ command MoveToLevelWithOnOff(MoveToLevelWithOnOffRequest): DefaultSuccess = 4;
+ command MoveWithOnOff(MoveWithOnOffRequest): DefaultSuccess = 5;
+ command StepWithOnOff(StepWithOnOffRequest): DefaultSuccess = 6;
+ command StopWithOnOff(): DefaultSuccess = 7;
+}
+
+server cluster Descriptor = 29 {
+ struct DeviceType {
+ devtype_id type = 0;
+ int16u revision = 1;
+ }
+
+ readonly attribute DeviceType deviceList[] = 0;
+ readonly attribute CLUSTER_ID serverList[] = 1;
+ readonly attribute CLUSTER_ID clientList[] = 2;
+ readonly attribute ENDPOINT_NO partsList[] = 3;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+}
+
server cluster AccessControl = 31 {
enum AuthMode : ENUM8 {
kPase = 1;
@@ -72,42 +331,6 @@
readonly attribute int16u clusterRevision = 65533;
}
-server cluster AdministratorCommissioning = 60 {
- enum CommissioningWindowStatus : ENUM8 {
- kWindowNotOpen = 0;
- kEnhancedWindowOpen = 1;
- kBasicWindowOpen = 2;
- }
-
- enum StatusCode : ENUM8 {
- kBusy = 1;
- kPAKEParameterError = 2;
- kWindowNotOpen = 3;
- }
-
- readonly attribute int8u windowStatus = 0;
- readonly attribute fabric_idx adminFabricIndex = 1;
- readonly attribute int16u adminVendorId = 2;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct OpenCommissioningWindowRequest {
- INT16U commissioningTimeout = 0;
- OCTET_STRING PAKEVerifier = 1;
- INT16U discriminator = 2;
- INT32U iterations = 3;
- OCTET_STRING salt = 4;
- }
-
- request struct OpenBasicCommissioningWindowRequest {
- INT16U commissioningTimeout = 0;
- }
-
- timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0;
- timed command access(invoke: administer) OpenBasicCommissioningWindow(OpenBasicCommissioningWindowRequest): DefaultSuccess = 1;
- timed command access(invoke: administer) RevokeCommissioning(): DefaultSuccess = 2;
-}
-
server cluster Basic = 40 {
struct CapabilityMinimaStruct {
int16u caseSessionsPerFabric = 0;
@@ -152,6 +375,1030 @@
readonly attribute int16u clusterRevision = 65533;
}
+client cluster OtaSoftwareUpdateProvider = 41 {
+ enum OTAApplyUpdateAction : ENUM8 {
+ kProceed = 0;
+ kAwaitNextAction = 1;
+ kDiscontinue = 2;
+ }
+
+ enum OTADownloadProtocol : ENUM8 {
+ kBDXSynchronous = 0;
+ kBDXAsynchronous = 1;
+ kHttps = 2;
+ kVendorSpecific = 3;
+ }
+
+ enum OTAQueryStatus : ENUM8 {
+ kUpdateAvailable = 0;
+ kBusy = 1;
+ kNotAvailable = 2;
+ kDownloadProtocolNotSupported = 3;
+ }
+
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct QueryImageRequest {
+ vendor_id vendorId = 0;
+ INT16U productId = 1;
+ INT32U softwareVersion = 2;
+ OTADownloadProtocol protocolsSupported[] = 3;
+ optional INT16U hardwareVersion = 4;
+ optional CHAR_STRING location = 5;
+ optional BOOLEAN requestorCanConsent = 6;
+ optional OCTET_STRING metadataForProvider = 7;
+ }
+
+ request struct ApplyUpdateRequestRequest {
+ OCTET_STRING updateToken = 0;
+ INT32U newVersion = 1;
+ }
+
+ request struct NotifyUpdateAppliedRequest {
+ OCTET_STRING updateToken = 0;
+ INT32U softwareVersion = 1;
+ }
+
+ response struct QueryImageResponse = 1 {
+ OTAQueryStatus status = 0;
+ optional INT32U delayedActionTime = 1;
+ optional CHAR_STRING imageURI = 2;
+ optional INT32U softwareVersion = 3;
+ optional CHAR_STRING softwareVersionString = 4;
+ optional OCTET_STRING updateToken = 5;
+ optional BOOLEAN userConsentNeeded = 6;
+ optional OCTET_STRING metadataForRequestor = 7;
+ }
+
+ response struct ApplyUpdateResponse = 3 {
+ OTAApplyUpdateAction action = 0;
+ INT32U delayedActionTime = 1;
+ }
+
+ command QueryImage(QueryImageRequest): QueryImageResponse = 0;
+ command ApplyUpdateRequest(ApplyUpdateRequestRequest): ApplyUpdateResponse = 2;
+ command NotifyUpdateApplied(NotifyUpdateAppliedRequest): DefaultSuccess = 4;
+}
+
+server cluster OtaSoftwareUpdateRequestor = 42 {
+ enum OTAAnnouncementReason : ENUM8 {
+ kSimpleAnnouncement = 0;
+ kUpdateAvailable = 1;
+ kUrgentUpdateAvailable = 2;
+ }
+
+ enum OTAChangeReasonEnum : ENUM8 {
+ kUnknown = 0;
+ kSuccess = 1;
+ kFailure = 2;
+ kTimeOut = 3;
+ kDelayByProvider = 4;
+ }
+
+ enum OTAUpdateStateEnum : ENUM8 {
+ kUnknown = 0;
+ kIdle = 1;
+ kQuerying = 2;
+ kDelayedOnQuery = 3;
+ kDownloading = 4;
+ kApplying = 5;
+ kDelayedOnApply = 6;
+ kRollingBack = 7;
+ kDelayedOnUserConsent = 8;
+ }
+
+ struct ProviderLocation {
+ node_id providerNodeID = 1;
+ endpoint_no endpoint = 2;
+ fabric_idx fabricIndex = 254;
+ }
+
+ info event StateTransition = 0 {
+ OTAUpdateStateEnum previousState = 0;
+ OTAUpdateStateEnum newState = 1;
+ OTAChangeReasonEnum reason = 2;
+ nullable INT32U targetSoftwareVersion = 3;
+ }
+
+ critical event VersionApplied = 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;
+ }
+
+ attribute ProviderLocation defaultOtaProviders[] = 0;
+ readonly attribute boolean updatePossible = 1;
+ readonly attribute OTAUpdateStateEnum updateState = 2;
+ readonly attribute nullable int8u updateStateProgress = 3;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct AnnounceOtaProviderRequest {
+ node_id providerNodeId = 0;
+ vendor_id vendorId = 1;
+ OTAAnnouncementReason announcementReason = 2;
+ optional OCTET_STRING metadataForNode = 3;
+ endpoint_no endpoint = 4;
+ }
+
+ command AnnounceOtaProvider(AnnounceOtaProviderRequest): DefaultSuccess = 0;
+}
+
+server cluster LocalizationConfiguration = 43 {
+ attribute char_string<35> activeLocale = 0;
+ readonly attribute CHAR_STRING supportedLocales[] = 1;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+}
+
+server cluster TimeFormatLocalization = 44 {
+ enum CalendarType : ENUM8 {
+ kBuddhist = 0;
+ kChinese = 1;
+ kCoptic = 2;
+ kEthiopian = 3;
+ kGregorian = 4;
+ kHebrew = 5;
+ kIndian = 6;
+ kIslamic = 7;
+ kJapanese = 8;
+ kKorean = 9;
+ kPersian = 10;
+ kTaiwanese = 11;
+ }
+
+ enum HourFormat : ENUM8 {
+ k12hr = 0;
+ k24hr = 1;
+ }
+
+ attribute HourFormat hourFormat = 0;
+ attribute CalendarType activeCalendarType = 1;
+ readonly attribute CalendarType supportedCalendarTypes[] = 2;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+}
+
+server cluster GeneralCommissioning = 48 {
+ enum CommissioningError : ENUM8 {
+ kOk = 0;
+ kValueOutsideRange = 1;
+ kInvalidAuthentication = 2;
+ kNoFailSafe = 3;
+ kBusyWithOtherAdmin = 4;
+ }
+
+ enum RegulatoryLocationType : ENUM8 {
+ kIndoor = 0;
+ kOutdoor = 1;
+ kIndoorOutdoor = 2;
+ }
+
+ struct BasicCommissioningInfo {
+ int16u failSafeExpiryLengthSeconds = 0;
+ int16u maxCumulativeFailsafeSeconds = 1;
+ }
+
+ attribute access(write: administer) int64u breadcrumb = 0;
+ readonly attribute BasicCommissioningInfo basicCommissioningInfo = 1;
+ readonly attribute RegulatoryLocationType regulatoryConfig = 2;
+ readonly attribute RegulatoryLocationType locationCapability = 3;
+ readonly attribute boolean supportsConcurrentConnection = 4;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct ArmFailSafeRequest {
+ INT16U expiryLengthSeconds = 0;
+ INT64U breadcrumb = 1;
+ }
+
+ request struct SetRegulatoryConfigRequest {
+ RegulatoryLocationType newRegulatoryConfig = 0;
+ CHAR_STRING countryCode = 1;
+ INT64U breadcrumb = 2;
+ }
+
+ response struct ArmFailSafeResponse = 1 {
+ CommissioningError errorCode = 0;
+ CHAR_STRING debugText = 1;
+ }
+
+ response struct SetRegulatoryConfigResponse = 3 {
+ CommissioningError errorCode = 0;
+ CHAR_STRING debugText = 1;
+ }
+
+ response struct CommissioningCompleteResponse = 5 {
+ CommissioningError errorCode = 0;
+ CHAR_STRING debugText = 1;
+ }
+
+ command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
+ command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
+ command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
+}
+
+server cluster NetworkCommissioning = 49 {
+ enum NetworkCommissioningStatus : ENUM8 {
+ kSuccess = 0;
+ kOutOfRange = 1;
+ kBoundsExceeded = 2;
+ kNetworkIDNotFound = 3;
+ kDuplicateNetworkID = 4;
+ kNetworkNotFound = 5;
+ kRegulatoryError = 6;
+ kAuthFailure = 7;
+ kUnsupportedSecurity = 8;
+ kOtherConnectionFailure = 9;
+ kIPV6Failed = 10;
+ kIPBindFailed = 11;
+ kUnknownError = 12;
+ }
+
+ enum WiFiBand : ENUM8 {
+ k2g4 = 0;
+ k3g65 = 1;
+ k5g = 2;
+ k6g = 3;
+ k60g = 4;
+ }
+
+ bitmap NetworkCommissioningFeature : BITMAP32 {
+ kWiFiNetworkInterface = 0x1;
+ kThreadNetworkInterface = 0x2;
+ kEthernetNetworkInterface = 0x4;
+ }
+
+ bitmap WiFiSecurity : BITMAP8 {
+ kUnencrypted = 0x1;
+ kWepPersonal = 0x2;
+ kWpaPersonal = 0x4;
+ kWpa2Personal = 0x8;
+ kWpa3Personal = 0x10;
+ }
+
+ struct NetworkInfo {
+ octet_string<32> networkID = 0;
+ boolean connected = 1;
+ }
+
+ struct WiFiInterfaceScanResult {
+ WiFiSecurity security = 0;
+ octet_string<32> ssid = 1;
+ octet_string<6> bssid = 2;
+ int16u channel = 3;
+ WiFiBand wiFiBand = 4;
+ int8s rssi = 5;
+ }
+
+ struct ThreadInterfaceScanResult {
+ int16u panId = 0;
+ int64u extendedPanId = 1;
+ char_string<16> networkName = 2;
+ int16u channel = 3;
+ int8u version = 4;
+ octet_string<8> extendedAddress = 5;
+ int8s rssi = 6;
+ int8u lqi = 7;
+ }
+
+ readonly attribute access(read: administer) int8u maxNetworks = 0;
+ readonly attribute access(read: administer) NetworkInfo networks[] = 1;
+ readonly attribute int8u scanMaxTimeSeconds = 2;
+ readonly attribute int8u connectMaxTimeSeconds = 3;
+ attribute access(write: administer) boolean interfaceEnabled = 4;
+ readonly attribute access(read: administer) nullable NetworkCommissioningStatus lastNetworkingStatus = 5;
+ readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6;
+ readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct ScanNetworksRequest {
+ optional nullable OCTET_STRING ssid = 0;
+ optional INT64U breadcrumb = 1;
+ }
+
+ request struct AddOrUpdateWiFiNetworkRequest {
+ OCTET_STRING ssid = 0;
+ OCTET_STRING credentials = 1;
+ optional INT64U breadcrumb = 2;
+ }
+
+ request struct AddOrUpdateThreadNetworkRequest {
+ OCTET_STRING operationalDataset = 0;
+ optional INT64U breadcrumb = 1;
+ }
+
+ request struct RemoveNetworkRequest {
+ OCTET_STRING networkID = 0;
+ optional INT64U breadcrumb = 1;
+ }
+
+ request struct ConnectNetworkRequest {
+ OCTET_STRING networkID = 0;
+ optional INT64U breadcrumb = 1;
+ }
+
+ request struct ReorderNetworkRequest {
+ OCTET_STRING networkID = 0;
+ INT8U networkIndex = 1;
+ optional INT64U breadcrumb = 2;
+ }
+
+ response struct ScanNetworksResponse = 1 {
+ NetworkCommissioningStatus networkingStatus = 0;
+ optional CHAR_STRING debugText = 1;
+ optional WiFiInterfaceScanResult wiFiScanResults[] = 2;
+ optional ThreadInterfaceScanResult threadScanResults[] = 3;
+ }
+
+ response struct NetworkConfigResponse = 5 {
+ NetworkCommissioningStatus networkingStatus = 0;
+ optional CHAR_STRING debugText = 1;
+ optional INT8U networkIndex = 2;
+ }
+
+ response struct ConnectNetworkResponse = 7 {
+ NetworkCommissioningStatus networkingStatus = 0;
+ optional CHAR_STRING debugText = 1;
+ nullable INT32S errorValue = 2;
+ }
+
+ command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0;
+ command access(invoke: administer) AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2;
+ command access(invoke: administer) AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3;
+ command access(invoke: administer) RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4;
+ command access(invoke: administer) ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6;
+ command access(invoke: administer) ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8;
+}
+
+server cluster DiagnosticLogs = 50 {
+ enum LogsIntent : ENUM8 {
+ kEndUserSupport = 0;
+ kNetworkDiag = 1;
+ kCrashLogs = 2;
+ }
+
+ enum LogsStatus : ENUM8 {
+ kSuccess = 0;
+ kExhausted = 1;
+ kNoLogs = 2;
+ kBusy = 3;
+ kDenied = 4;
+ }
+
+ enum LogsTransferProtocol : ENUM8 {
+ kResponsePayload = 0;
+ kBdx = 1;
+ }
+
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct RetrieveLogsRequestRequest {
+ LogsIntent intent = 0;
+ LogsTransferProtocol requestedProtocol = 1;
+ OCTET_STRING transferFileDesignator = 2;
+ }
+
+ command RetrieveLogsRequest(RetrieveLogsRequestRequest): RetrieveLogsResponse = 0;
+}
+
+server cluster GeneralDiagnostics = 51 {
+ enum BootReasonType : ENUM8 {
+ kUnspecified = 0;
+ kPowerOnReboot = 1;
+ kBrownOutReset = 2;
+ kSoftwareWatchdogReset = 3;
+ kHardwareWatchdogReset = 4;
+ kSoftwareUpdateCompleted = 5;
+ kSoftwareReset = 6;
+ }
+
+ enum HardwareFaultType : ENUM8 {
+ kUnspecified = 0;
+ kRadio = 1;
+ kSensor = 2;
+ kResettableOverTemp = 3;
+ kNonResettableOverTemp = 4;
+ kPowerSource = 5;
+ kVisualDisplayFault = 6;
+ kAudioOutputFault = 7;
+ kUserInterfaceFault = 8;
+ kNonVolatileMemoryError = 9;
+ kTamperDetected = 10;
+ }
+
+ enum InterfaceType : ENUM8 {
+ kUnspecified = 0;
+ kWiFi = 1;
+ kEthernet = 2;
+ kCellular = 3;
+ kThread = 4;
+ }
+
+ enum NetworkFaultType : ENUM8 {
+ kUnspecified = 0;
+ kHardwareFailure = 1;
+ kNetworkJammed = 2;
+ kConnectionFailed = 3;
+ }
+
+ enum RadioFaultType : ENUM8 {
+ kUnspecified = 0;
+ kWiFiFault = 1;
+ kCellularFault = 2;
+ kThreadFault = 3;
+ kNFCFault = 4;
+ kBLEFault = 5;
+ kEthernetFault = 6;
+ }
+
+ struct NetworkInterfaceType {
+ char_string<32> name = 0;
+ boolean isOperational = 1;
+ nullable boolean offPremiseServicesReachableIPv4 = 2;
+ nullable boolean offPremiseServicesReachableIPv6 = 3;
+ octet_string<8> hardwareAddress = 4;
+ octet_string IPv4Addresses[] = 5;
+ octet_string IPv6Addresses[] = 6;
+ InterfaceType type = 7;
+ }
+
+ critical event HardwareFaultChange = 0 {
+ HardwareFaultType current[] = 0;
+ HardwareFaultType previous[] = 1;
+ }
+
+ critical event RadioFaultChange = 1 {
+ RadioFaultType current[] = 0;
+ RadioFaultType previous[] = 1;
+ }
+
+ critical event NetworkFaultChange = 2 {
+ NetworkFaultType current[] = 0;
+ NetworkFaultType previous[] = 1;
+ }
+
+ critical event BootReason = 3 {
+ BootReasonType bootReason = 0;
+ }
+
+ readonly attribute NetworkInterfaceType networkInterfaces[] = 0;
+ readonly attribute int16u rebootCount = 1;
+ readonly attribute int64u upTime = 2;
+ readonly attribute int32u totalOperationalHours = 3;
+ readonly attribute enum8 bootReasons = 4;
+ readonly attribute ENUM8 activeHardwareFaults[] = 5;
+ readonly attribute ENUM8 activeRadioFaults[] = 6;
+ readonly attribute ENUM8 activeNetworkFaults[] = 7;
+ readonly attribute boolean testEventTriggersEnabled = 8;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct TestEventTriggerRequest {
+ OCTET_STRING enableKey = 0;
+ INT64U eventTrigger = 1;
+ }
+
+ command TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0;
+}
+
+server cluster SoftwareDiagnostics = 52 {
+ bitmap SoftwareDiagnosticsFeature : BITMAP32 {
+ kWaterMarks = 0x1;
+ }
+
+ struct ThreadMetrics {
+ int64u id = 0;
+ optional char_string<8> name = 1;
+ optional int32u stackFreeCurrent = 2;
+ optional int32u stackFreeMinimum = 3;
+ optional int32u stackSize = 4;
+ }
+
+ info event SoftwareFault = 0 {
+ SoftwareFaultStruct softwareFault = 0;
+ }
+
+ readonly attribute ThreadMetrics threadMetrics[] = 0;
+ readonly attribute int64u currentHeapFree = 1;
+ readonly attribute int64u currentHeapUsed = 2;
+ readonly attribute int64u currentHeapHighWatermark = 3;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ command ResetWatermarks(): DefaultSuccess = 0;
+}
+
+server cluster ThreadNetworkDiagnostics = 53 {
+ enum NetworkFault : ENUM8 {
+ kUnspecified = 0;
+ kLinkDown = 1;
+ kHardwareFailure = 2;
+ kNetworkJammed = 3;
+ }
+
+ enum RoutingRole : ENUM8 {
+ kUnspecified = 0;
+ kUnassigned = 1;
+ kSleepyEndDevice = 2;
+ kEndDevice = 3;
+ kReed = 4;
+ kRouter = 5;
+ kLeader = 6;
+ }
+
+ enum ThreadConnectionStatus : ENUM8 {
+ kConnected = 0;
+ kNotConnected = 1;
+ }
+
+ bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 {
+ kPacketCounts = 0x1;
+ kErrorCounts = 0x2;
+ kMLECounts = 0x4;
+ kMACCounts = 0x8;
+ }
+
+ struct NeighborTable {
+ int64u extAddress = 0;
+ int32u age = 1;
+ int16u rloc16 = 2;
+ int32u linkFrameCounter = 3;
+ int32u mleFrameCounter = 4;
+ int8u lqi = 5;
+ nullable int8s averageRssi = 6;
+ nullable int8s lastRssi = 7;
+ int8u frameErrorRate = 8;
+ int8u messageErrorRate = 9;
+ boolean rxOnWhenIdle = 10;
+ boolean fullThreadDevice = 11;
+ boolean fullNetworkData = 12;
+ boolean isChild = 13;
+ }
+
+ struct RouteTable {
+ int64u extAddress = 0;
+ int16u rloc16 = 1;
+ int8u routerId = 2;
+ int8u nextHop = 3;
+ int8u pathCost = 4;
+ int8u LQIIn = 5;
+ int8u LQIOut = 6;
+ int8u age = 7;
+ boolean allocated = 8;
+ boolean linkEstablished = 9;
+ }
+
+ struct SecurityPolicy {
+ int16u rotationTime = 0;
+ bitmap16 flags = 1;
+ }
+
+ struct OperationalDatasetComponents {
+ boolean activeTimestampPresent = 0;
+ boolean pendingTimestampPresent = 1;
+ boolean masterKeyPresent = 2;
+ boolean networkNamePresent = 3;
+ boolean extendedPanIdPresent = 4;
+ boolean meshLocalPrefixPresent = 5;
+ boolean delayPresent = 6;
+ boolean panIdPresent = 7;
+ boolean channelPresent = 8;
+ boolean pskcPresent = 9;
+ boolean securityPolicyPresent = 10;
+ boolean channelMaskPresent = 11;
+ }
+
+ info event ConnectionStatus = 0 {
+ ThreadConnectionStatus connectionStatus = 0;
+ }
+
+ readonly attribute nullable int16u channel = 0;
+ readonly attribute nullable RoutingRole routingRole = 1;
+ readonly attribute nullable char_string<16> networkName = 2;
+ readonly attribute nullable int16u panId = 3;
+ readonly attribute nullable int64u extendedPanId = 4;
+ readonly attribute nullable octet_string<17> meshLocalPrefix = 5;
+ readonly attribute int64u overrunCount = 6;
+ readonly attribute NeighborTable neighborTableList[] = 7;
+ readonly attribute RouteTable routeTableList[] = 8;
+ readonly attribute nullable int32u partitionId = 9;
+ readonly attribute nullable int8u weighting = 10;
+ readonly attribute nullable int8u dataVersion = 11;
+ readonly attribute nullable int8u stableDataVersion = 12;
+ readonly attribute nullable int8u leaderRouterId = 13;
+ readonly attribute int16u detachedRoleCount = 14;
+ readonly attribute int16u childRoleCount = 15;
+ readonly attribute int16u routerRoleCount = 16;
+ readonly attribute int16u leaderRoleCount = 17;
+ readonly attribute int16u attachAttemptCount = 18;
+ readonly attribute int16u partitionIdChangeCount = 19;
+ readonly attribute int16u betterPartitionAttachAttemptCount = 20;
+ readonly attribute int16u parentChangeCount = 21;
+ readonly attribute int32u txTotalCount = 22;
+ readonly attribute int32u txUnicastCount = 23;
+ readonly attribute int32u txBroadcastCount = 24;
+ readonly attribute int32u txAckRequestedCount = 25;
+ readonly attribute int32u txAckedCount = 26;
+ readonly attribute int32u txNoAckRequestedCount = 27;
+ readonly attribute int32u txDataCount = 28;
+ readonly attribute int32u txDataPollCount = 29;
+ readonly attribute int32u txBeaconCount = 30;
+ readonly attribute int32u txBeaconRequestCount = 31;
+ readonly attribute int32u txOtherCount = 32;
+ readonly attribute int32u txRetryCount = 33;
+ readonly attribute int32u txDirectMaxRetryExpiryCount = 34;
+ readonly attribute int32u txIndirectMaxRetryExpiryCount = 35;
+ readonly attribute int32u txErrCcaCount = 36;
+ readonly attribute int32u txErrAbortCount = 37;
+ readonly attribute int32u txErrBusyChannelCount = 38;
+ readonly attribute int32u rxTotalCount = 39;
+ readonly attribute int32u rxUnicastCount = 40;
+ readonly attribute int32u rxBroadcastCount = 41;
+ readonly attribute int32u rxDataCount = 42;
+ readonly attribute int32u rxDataPollCount = 43;
+ readonly attribute int32u rxBeaconCount = 44;
+ readonly attribute int32u rxBeaconRequestCount = 45;
+ readonly attribute int32u rxOtherCount = 46;
+ readonly attribute int32u rxAddressFilteredCount = 47;
+ readonly attribute int32u rxDestAddrFilteredCount = 48;
+ readonly attribute int32u rxDuplicatedCount = 49;
+ readonly attribute int32u rxErrNoFrameCount = 50;
+ readonly attribute int32u rxErrUnknownNeighborCount = 51;
+ readonly attribute int32u rxErrInvalidSrcAddrCount = 52;
+ readonly attribute int32u rxErrSecCount = 53;
+ readonly attribute int32u rxErrFcsCount = 54;
+ readonly attribute int32u rxErrOtherCount = 55;
+ readonly attribute nullable int64u activeTimestamp = 56;
+ readonly attribute nullable int64u pendingTimestamp = 57;
+ readonly attribute nullable int32u delay = 58;
+ readonly attribute nullable SecurityPolicy securityPolicy = 59;
+ readonly attribute nullable octet_string<4> channelMask = 60;
+ readonly attribute nullable OperationalDatasetComponents operationalDatasetComponents = 61;
+ readonly attribute NetworkFault activeNetworkFaultsList[] = 62;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ command ResetCounts(): DefaultSuccess = 0;
+}
+
+server cluster WiFiNetworkDiagnostics = 54 {
+ enum AssociationFailureCause : ENUM8 {
+ kUnknown = 0;
+ kAssociationFailed = 1;
+ kAuthenticationFailed = 2;
+ kSsidNotFound = 3;
+ }
+
+ enum SecurityType : ENUM8 {
+ kUnspecified = 0;
+ kNone = 1;
+ kWep = 2;
+ kWpa = 3;
+ kWpa2 = 4;
+ kWpa3 = 5;
+ }
+
+ enum WiFiConnectionStatus : ENUM8 {
+ kConnected = 0;
+ kNotConnected = 1;
+ }
+
+ enum WiFiVersionType : ENUM8 {
+ k80211a = 0;
+ k80211b = 1;
+ k80211g = 2;
+ k80211n = 3;
+ k80211ac = 4;
+ k80211ax = 5;
+ }
+
+ info event Disconnection = 0 {
+ INT16U reasonCode = 0;
+ }
+
+ info event AssociationFailure = 1 {
+ AssociationFailureCause associationFailure = 0;
+ INT16U status = 1;
+ }
+
+ info event ConnectionStatus = 2 {
+ WiFiConnectionStatus connectionStatus = 0;
+ }
+
+ readonly attribute nullable octet_string<6> bssid = 0;
+ readonly attribute nullable SecurityType securityType = 1;
+ readonly attribute nullable WiFiVersionType wiFiVersion = 2;
+ readonly attribute nullable int16u channelNumber = 3;
+ readonly attribute nullable int8s rssi = 4;
+ readonly attribute int32u beaconLostCount = 5;
+ readonly attribute int32u beaconRxCount = 6;
+ readonly attribute int32u packetMulticastRxCount = 7;
+ readonly attribute int32u packetMulticastTxCount = 8;
+ readonly attribute int32u packetUnicastRxCount = 9;
+ readonly attribute int32u packetUnicastTxCount = 10;
+ readonly attribute int64u currentMaxRate = 11;
+ readonly attribute int64u overrunCount = 12;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ command ResetCounts(): DefaultSuccess = 0;
+}
+
+server cluster EthernetNetworkDiagnostics = 55 {
+ enum PHYRateType : ENUM8 {
+ k10m = 0;
+ k100m = 1;
+ k1000m = 2;
+ k25g = 3;
+ k5g = 4;
+ k10g = 5;
+ k40g = 6;
+ k100g = 7;
+ k200g = 8;
+ k400g = 9;
+ }
+
+ readonly attribute nullable PHYRateType PHYRate = 0;
+ readonly attribute nullable boolean fullDuplex = 1;
+ readonly attribute int64u packetRxCount = 2;
+ readonly attribute int64u packetTxCount = 3;
+ readonly attribute int64u txErrCount = 4;
+ readonly attribute int64u collisionCount = 5;
+ readonly attribute int64u overrunCount = 6;
+ readonly attribute nullable boolean carrierDetect = 7;
+ readonly attribute int64u timeSinceReset = 8;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ command ResetCounts(): DefaultSuccess = 0;
+}
+
+server cluster Switch = 59 {
+ info event SwitchLatched = 0 {
+ INT8U newPosition = 0;
+ }
+
+ info event InitialPress = 1 {
+ INT8U newPosition = 0;
+ }
+
+ info event LongPress = 2 {
+ INT8U newPosition = 0;
+ }
+
+ info event ShortRelease = 3 {
+ INT8U previousPosition = 0;
+ }
+
+ info event LongRelease = 4 {
+ INT8U previousPosition = 0;
+ }
+
+ info event MultiPressOngoing = 5 {
+ INT8U newPosition = 0;
+ INT8U currentNumberOfPressesCounted = 1;
+ }
+
+ info event MultiPressComplete = 6 {
+ INT8U newPosition = 0;
+ INT8U totalNumberOfPressesCounted = 1;
+ }
+
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+}
+
+server cluster AdministratorCommissioning = 60 {
+ enum CommissioningWindowStatus : ENUM8 {
+ kWindowNotOpen = 0;
+ kEnhancedWindowOpen = 1;
+ kBasicWindowOpen = 2;
+ }
+
+ enum StatusCode : ENUM8 {
+ kBusy = 1;
+ kPAKEParameterError = 2;
+ kWindowNotOpen = 3;
+ }
+
+ readonly attribute int8u windowStatus = 0;
+ readonly attribute fabric_idx adminFabricIndex = 1;
+ readonly attribute int16u adminVendorId = 2;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct OpenCommissioningWindowRequest {
+ INT16U commissioningTimeout = 0;
+ OCTET_STRING PAKEVerifier = 1;
+ INT16U discriminator = 2;
+ INT32U iterations = 3;
+ OCTET_STRING salt = 4;
+ }
+
+ request struct OpenBasicCommissioningWindowRequest {
+ INT16U commissioningTimeout = 0;
+ }
+
+ timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0;
+ timed command access(invoke: administer) OpenBasicCommissioningWindow(OpenBasicCommissioningWindowRequest): DefaultSuccess = 1;
+ timed command access(invoke: administer) RevokeCommissioning(): DefaultSuccess = 2;
+}
+
+server cluster OperationalCredentials = 62 {
+ enum OperationalCertStatus : ENUM8 {
+ kSuccess = 0;
+ kInvalidPublicKey = 1;
+ kInvalidNodeOpId = 2;
+ kInvalidNOC = 3;
+ kMissingCsr = 4;
+ kTableFull = 5;
+ kInvalidAdminSubject = 6;
+ kInsufficientPrivilege = 8;
+ kFabricConflict = 9;
+ kLabelConflict = 10;
+ kInvalidFabricIndex = 11;
+ }
+
+ struct NOCStruct {
+ octet_string noc = 1;
+ nullable octet_string icac = 2;
+ fabric_idx fabricIndex = 254;
+ }
+
+ struct FabricDescriptor {
+ octet_string<65> rootPublicKey = 1;
+ vendor_id vendorId = 2;
+ fabric_id fabricId = 3;
+ node_id nodeId = 4;
+ char_string<32> label = 5;
+ fabric_idx fabricIndex = 254;
+ }
+
+ readonly attribute access(read: administer) NOCStruct NOCs[] = 0;
+ readonly attribute FabricDescriptor fabrics[] = 1;
+ readonly attribute int8u supportedFabrics = 2;
+ readonly attribute int8u commissionedFabrics = 3;
+ readonly attribute OCTET_STRING trustedRootCertificates[] = 4;
+ readonly attribute fabric_idx currentFabricIndex = 5;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct AttestationRequestRequest {
+ OCTET_STRING attestationNonce = 0;
+ }
+
+ request struct CertificateChainRequestRequest {
+ INT8U certificateType = 0;
+ }
+
+ request struct CSRRequestRequest {
+ 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;
+ }
+
+ request struct UpdateNOCRequest {
+ OCTET_STRING NOCValue = 0;
+ optional OCTET_STRING ICACValue = 1;
+ }
+
+ request struct UpdateFabricLabelRequest {
+ CHAR_STRING label = 0;
+ }
+
+ request struct RemoveFabricRequest {
+ fabric_idx fabricIndex = 0;
+ }
+
+ request struct AddTrustedRootCertificateRequest {
+ OCTET_STRING rootCertificate = 0;
+ }
+
+ response struct AttestationResponse = 1 {
+ OCTET_STRING attestationElements = 0;
+ OCTET_STRING signature = 1;
+ }
+
+ response struct CertificateChainResponse = 3 {
+ OCTET_STRING certificate = 0;
+ }
+
+ response struct CSRResponse = 5 {
+ OCTET_STRING NOCSRElements = 0;
+ OCTET_STRING attestationSignature = 1;
+ }
+
+ response struct NOCResponse = 8 {
+ OperationalCertStatus statusCode = 0;
+ optional fabric_idx fabricIndex = 1;
+ optional CHAR_STRING debugText = 2;
+ }
+
+ command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0;
+ command access(invoke: administer) CertificateChainRequest(CertificateChainRequestRequest): CertificateChainResponse = 2;
+ command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4;
+ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6;
+ command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7;
+ command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9;
+ command access(invoke: administer) RemoveFabric(RemoveFabricRequest): NOCResponse = 10;
+ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11;
+}
+
+server cluster GroupKeyManagement = 63 {
+ enum GroupKeySecurityPolicy : ENUM8 {
+ kTrustFirst = 0;
+ kCacheAndSync = 1;
+ }
+
+ struct GroupKeyMapStruct {
+ group_id groupId = 1;
+ int16u groupKeySetID = 2;
+ fabric_idx fabricIndex = 254;
+ }
+
+ struct GroupInfoMapStruct {
+ group_id groupId = 1;
+ endpoint_no endpoints[] = 2;
+ optional char_string<16> groupName = 3;
+ fabric_idx fabricIndex = 254;
+ }
+
+ struct GroupKeySetStruct {
+ int16u groupKeySetID = 0;
+ GroupKeySecurityPolicy groupKeySecurityPolicy = 1;
+ nullable octet_string<16> epochKey0 = 2;
+ nullable epoch_us epochStartTime0 = 3;
+ nullable octet_string<16> epochKey1 = 4;
+ nullable epoch_us epochStartTime1 = 5;
+ nullable octet_string<16> epochKey2 = 6;
+ nullable epoch_us epochStartTime2 = 7;
+ }
+
+ attribute access(write: manage) GroupKeyMapStruct groupKeyMap[] = 0;
+ readonly attribute GroupInfoMapStruct groupTable[] = 1;
+ readonly attribute int16u maxGroupsPerFabric = 2;
+ readonly attribute int16u maxGroupKeysPerFabric = 3;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+
+ request struct KeySetWriteRequest {
+ GroupKeySetStruct groupKeySet = 0;
+ }
+
+ request struct KeySetReadRequest {
+ INT16U groupKeySetID = 0;
+ }
+
+ request struct KeySetRemoveRequest {
+ INT16U groupKeySetID = 0;
+ }
+
+ request struct KeySetReadAllIndicesRequest {
+ INT16U groupKeySetIDs[] = 0;
+ }
+
+ response struct KeySetReadResponse = 2 {
+ GroupKeySetStruct groupKeySet = 0;
+ }
+
+ response struct KeySetReadAllIndicesResponse = 5 {
+ INT16U groupKeySetIDs[] = 0;
+ }
+
+ command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0;
+ command access(invoke: administer) KeySetRead(KeySetReadRequest): KeySetReadResponse = 1;
+ command access(invoke: administer) KeySetRemove(KeySetRemoveRequest): DefaultSuccess = 3;
+ command access(invoke: administer) KeySetReadAllIndices(KeySetReadAllIndicesRequest): KeySetReadAllIndicesResponse = 4;
+}
+
+server cluster FixedLabel = 64 {
+ readonly attribute LabelStruct labelList[] = 0;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+}
+
+server cluster UserLabel = 65 {
+ attribute access(write: manage) LabelStruct labelList[] = 0;
+ readonly attribute bitmap32 featureMap = 65532;
+ readonly attribute int16u clusterRevision = 65533;
+}
+
server cluster ColorControl = 768 {
enum ColorLoopAction : ENUM8 {
kDeactivate = 0;
@@ -415,773 +1662,6 @@
command StepColorTemperature(StepColorTemperatureRequest): DefaultSuccess = 76;
}
-server cluster Descriptor = 29 {
- struct DeviceType {
- devtype_id type = 0;
- int16u revision = 1;
- }
-
- readonly attribute DeviceType deviceList[] = 0;
- readonly attribute CLUSTER_ID serverList[] = 1;
- readonly attribute CLUSTER_ID clientList[] = 2;
- readonly attribute ENDPOINT_NO partsList[] = 3;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-}
-
-server cluster DiagnosticLogs = 50 {
- enum LogsIntent : ENUM8 {
- kEndUserSupport = 0;
- kNetworkDiag = 1;
- kCrashLogs = 2;
- }
-
- enum LogsStatus : ENUM8 {
- kSuccess = 0;
- kExhausted = 1;
- kNoLogs = 2;
- kBusy = 3;
- kDenied = 4;
- }
-
- enum LogsTransferProtocol : ENUM8 {
- kResponsePayload = 0;
- kBdx = 1;
- }
-
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct RetrieveLogsRequestRequest {
- LogsIntent intent = 0;
- LogsTransferProtocol requestedProtocol = 1;
- OCTET_STRING transferFileDesignator = 2;
- }
-
- command RetrieveLogsRequest(RetrieveLogsRequestRequest): RetrieveLogsResponse = 0;
-}
-
-server cluster EthernetNetworkDiagnostics = 55 {
- enum PHYRateType : ENUM8 {
- k10m = 0;
- k100m = 1;
- k1000m = 2;
- k25g = 3;
- k5g = 4;
- k10g = 5;
- k40g = 6;
- k100g = 7;
- k200g = 8;
- k400g = 9;
- }
-
- readonly attribute nullable PHYRateType PHYRate = 0;
- readonly attribute nullable boolean fullDuplex = 1;
- readonly attribute int64u packetRxCount = 2;
- readonly attribute int64u packetTxCount = 3;
- readonly attribute int64u txErrCount = 4;
- readonly attribute int64u collisionCount = 5;
- readonly attribute int64u overrunCount = 6;
- readonly attribute nullable boolean carrierDetect = 7;
- readonly attribute int64u timeSinceReset = 8;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- command ResetCounts(): DefaultSuccess = 0;
-}
-
-server cluster FixedLabel = 64 {
- readonly attribute LabelStruct labelList[] = 0;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-}
-
-server cluster GeneralCommissioning = 48 {
- enum CommissioningError : ENUM8 {
- kOk = 0;
- kValueOutsideRange = 1;
- kInvalidAuthentication = 2;
- kNoFailSafe = 3;
- kBusyWithOtherAdmin = 4;
- }
-
- enum RegulatoryLocationType : ENUM8 {
- kIndoor = 0;
- kOutdoor = 1;
- kIndoorOutdoor = 2;
- }
-
- struct BasicCommissioningInfo {
- int16u failSafeExpiryLengthSeconds = 0;
- int16u maxCumulativeFailsafeSeconds = 1;
- }
-
- attribute access(write: administer) int64u breadcrumb = 0;
- readonly attribute BasicCommissioningInfo basicCommissioningInfo = 1;
- readonly attribute RegulatoryLocationType regulatoryConfig = 2;
- readonly attribute RegulatoryLocationType locationCapability = 3;
- readonly attribute boolean supportsConcurrentConnection = 4;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct ArmFailSafeRequest {
- INT16U expiryLengthSeconds = 0;
- INT64U breadcrumb = 1;
- }
-
- request struct SetRegulatoryConfigRequest {
- RegulatoryLocationType newRegulatoryConfig = 0;
- CHAR_STRING countryCode = 1;
- INT64U breadcrumb = 2;
- }
-
- response struct ArmFailSafeResponse = 1 {
- CommissioningError errorCode = 0;
- CHAR_STRING debugText = 1;
- }
-
- response struct SetRegulatoryConfigResponse = 3 {
- CommissioningError errorCode = 0;
- CHAR_STRING debugText = 1;
- }
-
- response struct CommissioningCompleteResponse = 5 {
- CommissioningError errorCode = 0;
- CHAR_STRING debugText = 1;
- }
-
- command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
- command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
- command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
-}
-
-server cluster GeneralDiagnostics = 51 {
- enum BootReasonType : ENUM8 {
- kUnspecified = 0;
- kPowerOnReboot = 1;
- kBrownOutReset = 2;
- kSoftwareWatchdogReset = 3;
- kHardwareWatchdogReset = 4;
- kSoftwareUpdateCompleted = 5;
- kSoftwareReset = 6;
- }
-
- enum HardwareFaultType : ENUM8 {
- kUnspecified = 0;
- kRadio = 1;
- kSensor = 2;
- kResettableOverTemp = 3;
- kNonResettableOverTemp = 4;
- kPowerSource = 5;
- kVisualDisplayFault = 6;
- kAudioOutputFault = 7;
- kUserInterfaceFault = 8;
- kNonVolatileMemoryError = 9;
- kTamperDetected = 10;
- }
-
- enum InterfaceType : ENUM8 {
- kUnspecified = 0;
- kWiFi = 1;
- kEthernet = 2;
- kCellular = 3;
- kThread = 4;
- }
-
- enum NetworkFaultType : ENUM8 {
- kUnspecified = 0;
- kHardwareFailure = 1;
- kNetworkJammed = 2;
- kConnectionFailed = 3;
- }
-
- enum RadioFaultType : ENUM8 {
- kUnspecified = 0;
- kWiFiFault = 1;
- kCellularFault = 2;
- kThreadFault = 3;
- kNFCFault = 4;
- kBLEFault = 5;
- kEthernetFault = 6;
- }
-
- struct NetworkInterfaceType {
- char_string<32> name = 0;
- boolean isOperational = 1;
- nullable boolean offPremiseServicesReachableIPv4 = 2;
- nullable boolean offPremiseServicesReachableIPv6 = 3;
- octet_string<8> hardwareAddress = 4;
- octet_string IPv4Addresses[] = 5;
- octet_string IPv6Addresses[] = 6;
- InterfaceType type = 7;
- }
-
- critical event HardwareFaultChange = 0 {
- HardwareFaultType current[] = 0;
- HardwareFaultType previous[] = 1;
- }
-
- critical event RadioFaultChange = 1 {
- RadioFaultType current[] = 0;
- RadioFaultType previous[] = 1;
- }
-
- critical event NetworkFaultChange = 2 {
- NetworkFaultType current[] = 0;
- NetworkFaultType previous[] = 1;
- }
-
- critical event BootReason = 3 {
- BootReasonType bootReason = 0;
- }
-
- readonly attribute NetworkInterfaceType networkInterfaces[] = 0;
- readonly attribute int16u rebootCount = 1;
- readonly attribute int64u upTime = 2;
- readonly attribute int32u totalOperationalHours = 3;
- readonly attribute enum8 bootReasons = 4;
- readonly attribute ENUM8 activeHardwareFaults[] = 5;
- readonly attribute ENUM8 activeRadioFaults[] = 6;
- readonly attribute ENUM8 activeNetworkFaults[] = 7;
- readonly attribute boolean testEventTriggersEnabled = 8;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct TestEventTriggerRequest {
- OCTET_STRING enableKey = 0;
- INT64U eventTrigger = 1;
- }
-
- command TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0;
-}
-
-server cluster GroupKeyManagement = 63 {
- enum GroupKeySecurityPolicy : ENUM8 {
- kTrustFirst = 0;
- kCacheAndSync = 1;
- }
-
- struct GroupKeyMapStruct {
- group_id groupId = 1;
- int16u groupKeySetID = 2;
- fabric_idx fabricIndex = 254;
- }
-
- struct GroupInfoMapStruct {
- group_id groupId = 1;
- endpoint_no endpoints[] = 2;
- optional char_string<16> groupName = 3;
- fabric_idx fabricIndex = 254;
- }
-
- struct GroupKeySetStruct {
- int16u groupKeySetID = 0;
- GroupKeySecurityPolicy groupKeySecurityPolicy = 1;
- nullable octet_string<16> epochKey0 = 2;
- nullable epoch_us epochStartTime0 = 3;
- nullable octet_string<16> epochKey1 = 4;
- nullable epoch_us epochStartTime1 = 5;
- nullable octet_string<16> epochKey2 = 6;
- nullable epoch_us epochStartTime2 = 7;
- }
-
- attribute access(write: manage) GroupKeyMapStruct groupKeyMap[] = 0;
- readonly attribute GroupInfoMapStruct groupTable[] = 1;
- readonly attribute int16u maxGroupsPerFabric = 2;
- readonly attribute int16u maxGroupKeysPerFabric = 3;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct KeySetWriteRequest {
- GroupKeySetStruct groupKeySet = 0;
- }
-
- request struct KeySetReadRequest {
- INT16U groupKeySetID = 0;
- }
-
- request struct KeySetRemoveRequest {
- INT16U groupKeySetID = 0;
- }
-
- request struct KeySetReadAllIndicesRequest {
- INT16U groupKeySetIDs[] = 0;
- }
-
- response struct KeySetReadResponse = 2 {
- GroupKeySetStruct groupKeySet = 0;
- }
-
- response struct KeySetReadAllIndicesResponse = 5 {
- INT16U groupKeySetIDs[] = 0;
- }
-
- command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0;
- command access(invoke: administer) KeySetRead(KeySetReadRequest): KeySetReadResponse = 1;
- command access(invoke: administer) KeySetRemove(KeySetRemoveRequest): DefaultSuccess = 3;
- command access(invoke: administer) KeySetReadAllIndices(KeySetReadAllIndicesRequest): KeySetReadAllIndicesResponse = 4;
-}
-
-server cluster Groups = 4 {
- readonly attribute bitmap8 nameSupport = 0;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct AddGroupRequest {
- group_id groupId = 0;
- CHAR_STRING groupName = 1;
- }
-
- request struct ViewGroupRequest {
- group_id groupId = 0;
- }
-
- request struct GetGroupMembershipRequest {
- group_id groupList[] = 0;
- }
-
- request struct RemoveGroupRequest {
- group_id groupId = 0;
- }
-
- request struct AddGroupIfIdentifyingRequest {
- group_id groupId = 0;
- CHAR_STRING groupName = 1;
- }
-
- response struct AddGroupResponse = 0 {
- ENUM8 status = 0;
- group_id groupId = 1;
- }
-
- response struct ViewGroupResponse = 1 {
- ENUM8 status = 0;
- group_id groupId = 1;
- CHAR_STRING groupName = 2;
- }
-
- response struct GetGroupMembershipResponse = 2 {
- nullable INT8U capacity = 0;
- group_id groupList[] = 1;
- }
-
- response struct RemoveGroupResponse = 3 {
- ENUM8 status = 0;
- group_id groupId = 1;
- }
-
- command access(invoke: manage) AddGroup(AddGroupRequest): AddGroupResponse = 0;
- command ViewGroup(ViewGroupRequest): ViewGroupResponse = 1;
- command GetGroupMembership(GetGroupMembershipRequest): GetGroupMembershipResponse = 2;
- command access(invoke: manage) RemoveGroup(RemoveGroupRequest): RemoveGroupResponse = 3;
- command access(invoke: manage) RemoveAllGroups(): DefaultSuccess = 4;
- command access(invoke: manage) AddGroupIfIdentifying(AddGroupIfIdentifyingRequest): DefaultSuccess = 5;
-}
-
-server cluster Identify = 3 {
- enum IdentifyEffectIdentifier : ENUM8 {
- kBlink = 0;
- kBreathe = 1;
- kOkay = 2;
- kChannelChange = 11;
- kFinishEffect = 254;
- kStopEffect = 255;
- }
-
- enum IdentifyEffectVariant : ENUM8 {
- kDefault = 0;
- }
-
- enum IdentifyIdentifyType : ENUM8 {
- kNone = 0;
- kVisibleLight = 1;
- kVisibleLED = 2;
- kAudibleBeep = 3;
- kDisplay = 4;
- kActuator = 5;
- }
-
- attribute int16u identifyTime = 0;
- readonly attribute enum8 identifyType = 1;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct IdentifyRequest {
- INT16U identifyTime = 0;
- }
-
- request struct TriggerEffectRequest {
- IdentifyEffectIdentifier effectIdentifier = 0;
- IdentifyEffectVariant effectVariant = 1;
- }
-
- command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0;
- command access(invoke: manage) TriggerEffect(TriggerEffectRequest): DefaultSuccess = 64;
-}
-
-server cluster LevelControl = 8 {
- enum MoveMode : ENUM8 {
- kUp = 0;
- kDown = 1;
- }
-
- enum StepMode : ENUM8 {
- kUp = 0;
- kDown = 1;
- }
-
- bitmap LevelControlFeature : BITMAP32 {
- kOnOff = 0x1;
- kLighting = 0x2;
- kFrequency = 0x4;
- }
-
- readonly attribute int8u currentLevel = 0;
- readonly attribute int16u remainingTime = 1;
- readonly attribute int8u minLevel = 2;
- readonly attribute int8u maxLevel = 3;
- readonly attribute int16u currentFrequency = 4;
- readonly attribute int16u minFrequency = 5;
- readonly attribute int16u maxFrequency = 6;
- attribute bitmap8 options = 15;
- attribute int16u onOffTransitionTime = 16;
- attribute nullable int8u onLevel = 17;
- attribute nullable int16u onTransitionTime = 18;
- attribute nullable int16u offTransitionTime = 19;
- attribute nullable int8u defaultMoveRate = 20;
- attribute access(write: manage) nullable int8u startUpCurrentLevel = 16384;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct MoveToLevelRequest {
- INT8U level = 0;
- INT16U transitionTime = 1;
- BITMAP8 optionMask = 2;
- BITMAP8 optionOverride = 3;
- }
-
- request struct MoveRequest {
- MoveMode moveMode = 0;
- INT8U rate = 1;
- BITMAP8 optionMask = 2;
- BITMAP8 optionOverride = 3;
- }
-
- request struct StepRequest {
- StepMode stepMode = 0;
- INT8U stepSize = 1;
- INT16U transitionTime = 2;
- BITMAP8 optionMask = 3;
- BITMAP8 optionOverride = 4;
- }
-
- request struct StopRequest {
- BITMAP8 optionMask = 0;
- BITMAP8 optionOverride = 1;
- }
-
- request struct MoveToLevelWithOnOffRequest {
- INT8U level = 0;
- INT16U transitionTime = 1;
- }
-
- request struct MoveWithOnOffRequest {
- MoveMode moveMode = 0;
- INT8U rate = 1;
- }
-
- request struct StepWithOnOffRequest {
- StepMode stepMode = 0;
- INT8U stepSize = 1;
- INT16U transitionTime = 2;
- }
-
- command MoveToLevel(MoveToLevelRequest): DefaultSuccess = 0;
- command Move(MoveRequest): DefaultSuccess = 1;
- command Step(StepRequest): DefaultSuccess = 2;
- command Stop(StopRequest): DefaultSuccess = 3;
- command MoveToLevelWithOnOff(MoveToLevelWithOnOffRequest): DefaultSuccess = 4;
- command MoveWithOnOff(MoveWithOnOffRequest): DefaultSuccess = 5;
- command StepWithOnOff(StepWithOnOffRequest): DefaultSuccess = 6;
- command StopWithOnOff(): DefaultSuccess = 7;
-}
-
-server cluster LocalizationConfiguration = 43 {
- attribute char_string<35> activeLocale = 0;
- readonly attribute CHAR_STRING supportedLocales[] = 1;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-}
-
-server cluster NetworkCommissioning = 49 {
- enum NetworkCommissioningStatus : ENUM8 {
- kSuccess = 0;
- kOutOfRange = 1;
- kBoundsExceeded = 2;
- kNetworkIDNotFound = 3;
- kDuplicateNetworkID = 4;
- kNetworkNotFound = 5;
- kRegulatoryError = 6;
- kAuthFailure = 7;
- kUnsupportedSecurity = 8;
- kOtherConnectionFailure = 9;
- kIPV6Failed = 10;
- kIPBindFailed = 11;
- kUnknownError = 12;
- }
-
- enum WiFiBand : ENUM8 {
- k2g4 = 0;
- k3g65 = 1;
- k5g = 2;
- k6g = 3;
- k60g = 4;
- }
-
- bitmap NetworkCommissioningFeature : BITMAP32 {
- kWiFiNetworkInterface = 0x1;
- kThreadNetworkInterface = 0x2;
- kEthernetNetworkInterface = 0x4;
- }
-
- bitmap WiFiSecurity : BITMAP8 {
- kUnencrypted = 0x1;
- kWepPersonal = 0x2;
- kWpaPersonal = 0x4;
- kWpa2Personal = 0x8;
- kWpa3Personal = 0x10;
- }
-
- struct NetworkInfo {
- octet_string<32> networkID = 0;
- boolean connected = 1;
- }
-
- struct WiFiInterfaceScanResult {
- WiFiSecurity security = 0;
- octet_string<32> ssid = 1;
- octet_string<6> bssid = 2;
- int16u channel = 3;
- WiFiBand wiFiBand = 4;
- int8s rssi = 5;
- }
-
- struct ThreadInterfaceScanResult {
- int16u panId = 0;
- int64u extendedPanId = 1;
- char_string<16> networkName = 2;
- int16u channel = 3;
- int8u version = 4;
- octet_string<8> extendedAddress = 5;
- int8s rssi = 6;
- int8u lqi = 7;
- }
-
- readonly attribute access(read: administer) int8u maxNetworks = 0;
- readonly attribute access(read: administer) NetworkInfo networks[] = 1;
- readonly attribute int8u scanMaxTimeSeconds = 2;
- readonly attribute int8u connectMaxTimeSeconds = 3;
- attribute access(write: administer) boolean interfaceEnabled = 4;
- readonly attribute access(read: administer) nullable NetworkCommissioningStatus lastNetworkingStatus = 5;
- readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6;
- readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct ScanNetworksRequest {
- optional nullable OCTET_STRING ssid = 0;
- optional INT64U breadcrumb = 1;
- }
-
- request struct AddOrUpdateWiFiNetworkRequest {
- OCTET_STRING ssid = 0;
- OCTET_STRING credentials = 1;
- optional INT64U breadcrumb = 2;
- }
-
- request struct AddOrUpdateThreadNetworkRequest {
- OCTET_STRING operationalDataset = 0;
- optional INT64U breadcrumb = 1;
- }
-
- request struct RemoveNetworkRequest {
- OCTET_STRING networkID = 0;
- optional INT64U breadcrumb = 1;
- }
-
- request struct ConnectNetworkRequest {
- OCTET_STRING networkID = 0;
- optional INT64U breadcrumb = 1;
- }
-
- request struct ReorderNetworkRequest {
- OCTET_STRING networkID = 0;
- INT8U networkIndex = 1;
- optional INT64U breadcrumb = 2;
- }
-
- response struct ScanNetworksResponse = 1 {
- NetworkCommissioningStatus networkingStatus = 0;
- optional CHAR_STRING debugText = 1;
- optional WiFiInterfaceScanResult wiFiScanResults[] = 2;
- optional ThreadInterfaceScanResult threadScanResults[] = 3;
- }
-
- response struct NetworkConfigResponse = 5 {
- NetworkCommissioningStatus networkingStatus = 0;
- optional CHAR_STRING debugText = 1;
- optional INT8U networkIndex = 2;
- }
-
- response struct ConnectNetworkResponse = 7 {
- NetworkCommissioningStatus networkingStatus = 0;
- optional CHAR_STRING debugText = 1;
- nullable INT32S errorValue = 2;
- }
-
- command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0;
- command access(invoke: administer) AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2;
- command access(invoke: administer) AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3;
- command access(invoke: administer) RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4;
- command access(invoke: administer) ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6;
- command access(invoke: administer) ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8;
-}
-
-client cluster OtaSoftwareUpdateProvider = 41 {
- enum OTAApplyUpdateAction : ENUM8 {
- kProceed = 0;
- kAwaitNextAction = 1;
- kDiscontinue = 2;
- }
-
- enum OTADownloadProtocol : ENUM8 {
- kBDXSynchronous = 0;
- kBDXAsynchronous = 1;
- kHttps = 2;
- kVendorSpecific = 3;
- }
-
- enum OTAQueryStatus : ENUM8 {
- kUpdateAvailable = 0;
- kBusy = 1;
- kNotAvailable = 2;
- kDownloadProtocolNotSupported = 3;
- }
-
- readonly attribute int16u clusterRevision = 65533;
-
- request struct QueryImageRequest {
- vendor_id vendorId = 0;
- INT16U productId = 1;
- INT32U softwareVersion = 2;
- OTADownloadProtocol protocolsSupported[] = 3;
- optional INT16U hardwareVersion = 4;
- optional CHAR_STRING location = 5;
- optional BOOLEAN requestorCanConsent = 6;
- optional OCTET_STRING metadataForProvider = 7;
- }
-
- request struct ApplyUpdateRequestRequest {
- OCTET_STRING updateToken = 0;
- INT32U newVersion = 1;
- }
-
- request struct NotifyUpdateAppliedRequest {
- OCTET_STRING updateToken = 0;
- INT32U softwareVersion = 1;
- }
-
- response struct QueryImageResponse = 1 {
- OTAQueryStatus status = 0;
- optional INT32U delayedActionTime = 1;
- optional CHAR_STRING imageURI = 2;
- optional INT32U softwareVersion = 3;
- optional CHAR_STRING softwareVersionString = 4;
- optional OCTET_STRING updateToken = 5;
- optional BOOLEAN userConsentNeeded = 6;
- optional OCTET_STRING metadataForRequestor = 7;
- }
-
- response struct ApplyUpdateResponse = 3 {
- OTAApplyUpdateAction action = 0;
- INT32U delayedActionTime = 1;
- }
-
- command QueryImage(QueryImageRequest): QueryImageResponse = 0;
- command ApplyUpdateRequest(ApplyUpdateRequestRequest): ApplyUpdateResponse = 2;
- command NotifyUpdateApplied(NotifyUpdateAppliedRequest): DefaultSuccess = 4;
-}
-
-server cluster OtaSoftwareUpdateRequestor = 42 {
- enum OTAAnnouncementReason : ENUM8 {
- kSimpleAnnouncement = 0;
- kUpdateAvailable = 1;
- kUrgentUpdateAvailable = 2;
- }
-
- enum OTAChangeReasonEnum : ENUM8 {
- kUnknown = 0;
- kSuccess = 1;
- kFailure = 2;
- kTimeOut = 3;
- kDelayByProvider = 4;
- }
-
- enum OTAUpdateStateEnum : ENUM8 {
- kUnknown = 0;
- kIdle = 1;
- kQuerying = 2;
- kDelayedOnQuery = 3;
- kDownloading = 4;
- kApplying = 5;
- kDelayedOnApply = 6;
- kRollingBack = 7;
- kDelayedOnUserConsent = 8;
- }
-
- struct ProviderLocation {
- node_id providerNodeID = 1;
- endpoint_no endpoint = 2;
- fabric_idx fabricIndex = 254;
- }
-
- info event StateTransition = 0 {
- OTAUpdateStateEnum previousState = 0;
- OTAUpdateStateEnum newState = 1;
- OTAChangeReasonEnum reason = 2;
- nullable INT32U targetSoftwareVersion = 3;
- }
-
- critical event VersionApplied = 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;
- }
-
- attribute ProviderLocation defaultOtaProviders[] = 0;
- readonly attribute boolean updatePossible = 1;
- readonly attribute OTAUpdateStateEnum updateState = 2;
- readonly attribute nullable int8u updateStateProgress = 3;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct AnnounceOtaProviderRequest {
- node_id providerNodeId = 0;
- vendor_id vendorId = 1;
- OTAAnnouncementReason announcementReason = 2;
- optional OCTET_STRING metadataForNode = 3;
- endpoint_no endpoint = 4;
- }
-
- command AnnounceOtaProvider(AnnounceOtaProviderRequest): DefaultSuccess = 0;
-}
-
server cluster OccupancySensing = 1030 {
readonly attribute bitmap8 occupancy = 0;
readonly attribute enum8 occupancySensorType = 1;
@@ -1190,486 +1670,6 @@
readonly attribute int16u clusterRevision = 65533;
}
-server cluster OnOff = 6 {
- enum OnOffDelayedAllOffEffectVariant : ENUM8 {
- kFadeToOffIn0p8Seconds = 0;
- kNoFade = 1;
- k50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds = 2;
- }
-
- enum OnOffDyingLightEffectVariant : ENUM8 {
- k20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second = 0;
- }
-
- enum OnOffEffectIdentifier : ENUM8 {
- kDelayedAllOff = 0;
- kDyingLight = 1;
- }
-
- enum OnOffStartUpOnOff : ENUM8 {
- kOff = 0;
- kOn = 1;
- kTogglePreviousOnOff = 2;
- }
-
- bitmap OnOffControl : BITMAP8 {
- kAcceptOnlyWhenOn = 0x1;
- }
-
- bitmap OnOffFeature : BITMAP32 {
- kLighting = 0x1;
- }
-
- bitmap SceneFeatures : BITMAP32 {
- kSceneNames = 0x1;
- }
-
- readonly attribute boolean onOff = 0;
- readonly attribute boolean globalSceneControl = 16384;
- attribute int16u onTime = 16385;
- attribute int16u offWaitTime = 16386;
- attribute access(write: manage) nullable OnOffStartUpOnOff startUpOnOff = 16387;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct OffWithEffectRequest {
- OnOffEffectIdentifier effectId = 0;
- OnOffDelayedAllOffEffectVariant effectVariant = 1;
- }
-
- request struct OnWithTimedOffRequest {
- OnOffControl onOffControl = 0;
- int16u onTime = 1;
- int16u offWaitTime = 2;
- }
-
- command Off(): DefaultSuccess = 0;
- command On(): DefaultSuccess = 1;
- command Toggle(): DefaultSuccess = 2;
- command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64;
- command OnWithRecallGlobalScene(): DefaultSuccess = 65;
- command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66;
-}
-
-server cluster OperationalCredentials = 62 {
- enum OperationalCertStatus : ENUM8 {
- kSuccess = 0;
- kInvalidPublicKey = 1;
- kInvalidNodeOpId = 2;
- kInvalidNOC = 3;
- kMissingCsr = 4;
- kTableFull = 5;
- kInvalidAdminSubject = 6;
- kInsufficientPrivilege = 8;
- kFabricConflict = 9;
- kLabelConflict = 10;
- kInvalidFabricIndex = 11;
- }
-
- struct NOCStruct {
- octet_string noc = 1;
- nullable octet_string icac = 2;
- fabric_idx fabricIndex = 254;
- }
-
- struct FabricDescriptor {
- octet_string<65> rootPublicKey = 1;
- vendor_id vendorId = 2;
- fabric_id fabricId = 3;
- node_id nodeId = 4;
- char_string<32> label = 5;
- fabric_idx fabricIndex = 254;
- }
-
- readonly attribute access(read: administer) NOCStruct NOCs[] = 0;
- readonly attribute FabricDescriptor fabrics[] = 1;
- readonly attribute int8u supportedFabrics = 2;
- readonly attribute int8u commissionedFabrics = 3;
- readonly attribute OCTET_STRING trustedRootCertificates[] = 4;
- readonly attribute fabric_idx currentFabricIndex = 5;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct AttestationRequestRequest {
- OCTET_STRING attestationNonce = 0;
- }
-
- request struct CertificateChainRequestRequest {
- INT8U certificateType = 0;
- }
-
- request struct CSRRequestRequest {
- 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;
- }
-
- request struct UpdateNOCRequest {
- OCTET_STRING NOCValue = 0;
- optional OCTET_STRING ICACValue = 1;
- }
-
- request struct UpdateFabricLabelRequest {
- CHAR_STRING label = 0;
- }
-
- request struct RemoveFabricRequest {
- fabric_idx fabricIndex = 0;
- }
-
- request struct AddTrustedRootCertificateRequest {
- OCTET_STRING rootCertificate = 0;
- }
-
- response struct AttestationResponse = 1 {
- OCTET_STRING attestationElements = 0;
- OCTET_STRING signature = 1;
- }
-
- response struct CertificateChainResponse = 3 {
- OCTET_STRING certificate = 0;
- }
-
- response struct CSRResponse = 5 {
- OCTET_STRING NOCSRElements = 0;
- OCTET_STRING attestationSignature = 1;
- }
-
- response struct NOCResponse = 8 {
- OperationalCertStatus statusCode = 0;
- optional fabric_idx fabricIndex = 1;
- optional CHAR_STRING debugText = 2;
- }
-
- command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0;
- command access(invoke: administer) CertificateChainRequest(CertificateChainRequestRequest): CertificateChainResponse = 2;
- command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4;
- command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6;
- command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7;
- command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9;
- command access(invoke: administer) RemoveFabric(RemoveFabricRequest): NOCResponse = 10;
- command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11;
-}
-
-server cluster SoftwareDiagnostics = 52 {
- bitmap SoftwareDiagnosticsFeature : BITMAP32 {
- kWaterMarks = 0x1;
- }
-
- struct ThreadMetrics {
- int64u id = 0;
- optional char_string<8> name = 1;
- optional int32u stackFreeCurrent = 2;
- optional int32u stackFreeMinimum = 3;
- optional int32u stackSize = 4;
- }
-
- info event SoftwareFault = 0 {
- SoftwareFaultStruct softwareFault = 0;
- }
-
- readonly attribute ThreadMetrics threadMetrics[] = 0;
- readonly attribute int64u currentHeapFree = 1;
- readonly attribute int64u currentHeapUsed = 2;
- readonly attribute int64u currentHeapHighWatermark = 3;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- command ResetWatermarks(): DefaultSuccess = 0;
-}
-
-server cluster Switch = 59 {
- info event SwitchLatched = 0 {
- INT8U newPosition = 0;
- }
-
- info event InitialPress = 1 {
- INT8U newPosition = 0;
- }
-
- info event LongPress = 2 {
- INT8U newPosition = 0;
- }
-
- info event ShortRelease = 3 {
- INT8U previousPosition = 0;
- }
-
- info event LongRelease = 4 {
- INT8U previousPosition = 0;
- }
-
- info event MultiPressOngoing = 5 {
- INT8U newPosition = 0;
- INT8U currentNumberOfPressesCounted = 1;
- }
-
- info event MultiPressComplete = 6 {
- INT8U newPosition = 0;
- INT8U totalNumberOfPressesCounted = 1;
- }
-
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-}
-
-server cluster ThreadNetworkDiagnostics = 53 {
- enum NetworkFault : ENUM8 {
- kUnspecified = 0;
- kLinkDown = 1;
- kHardwareFailure = 2;
- kNetworkJammed = 3;
- }
-
- enum RoutingRole : ENUM8 {
- kUnspecified = 0;
- kUnassigned = 1;
- kSleepyEndDevice = 2;
- kEndDevice = 3;
- kReed = 4;
- kRouter = 5;
- kLeader = 6;
- }
-
- enum ThreadConnectionStatus : ENUM8 {
- kConnected = 0;
- kNotConnected = 1;
- }
-
- bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 {
- kPacketCounts = 0x1;
- kErrorCounts = 0x2;
- kMLECounts = 0x4;
- kMACCounts = 0x8;
- }
-
- struct NeighborTable {
- int64u extAddress = 0;
- int32u age = 1;
- int16u rloc16 = 2;
- int32u linkFrameCounter = 3;
- int32u mleFrameCounter = 4;
- int8u lqi = 5;
- nullable int8s averageRssi = 6;
- nullable int8s lastRssi = 7;
- int8u frameErrorRate = 8;
- int8u messageErrorRate = 9;
- boolean rxOnWhenIdle = 10;
- boolean fullThreadDevice = 11;
- boolean fullNetworkData = 12;
- boolean isChild = 13;
- }
-
- struct RouteTable {
- int64u extAddress = 0;
- int16u rloc16 = 1;
- int8u routerId = 2;
- int8u nextHop = 3;
- int8u pathCost = 4;
- int8u LQIIn = 5;
- int8u LQIOut = 6;
- int8u age = 7;
- boolean allocated = 8;
- boolean linkEstablished = 9;
- }
-
- struct SecurityPolicy {
- int16u rotationTime = 0;
- bitmap16 flags = 1;
- }
-
- struct OperationalDatasetComponents {
- boolean activeTimestampPresent = 0;
- boolean pendingTimestampPresent = 1;
- boolean masterKeyPresent = 2;
- boolean networkNamePresent = 3;
- boolean extendedPanIdPresent = 4;
- boolean meshLocalPrefixPresent = 5;
- boolean delayPresent = 6;
- boolean panIdPresent = 7;
- boolean channelPresent = 8;
- boolean pskcPresent = 9;
- boolean securityPolicyPresent = 10;
- boolean channelMaskPresent = 11;
- }
-
- info event ConnectionStatus = 0 {
- ThreadConnectionStatus connectionStatus = 0;
- }
-
- readonly attribute nullable int16u channel = 0;
- readonly attribute nullable RoutingRole routingRole = 1;
- readonly attribute nullable char_string<16> networkName = 2;
- readonly attribute nullable int16u panId = 3;
- readonly attribute nullable int64u extendedPanId = 4;
- readonly attribute nullable octet_string<17> meshLocalPrefix = 5;
- readonly attribute int64u overrunCount = 6;
- readonly attribute NeighborTable neighborTableList[] = 7;
- readonly attribute RouteTable routeTableList[] = 8;
- readonly attribute nullable int32u partitionId = 9;
- readonly attribute nullable int8u weighting = 10;
- readonly attribute nullable int8u dataVersion = 11;
- readonly attribute nullable int8u stableDataVersion = 12;
- readonly attribute nullable int8u leaderRouterId = 13;
- readonly attribute int16u detachedRoleCount = 14;
- readonly attribute int16u childRoleCount = 15;
- readonly attribute int16u routerRoleCount = 16;
- readonly attribute int16u leaderRoleCount = 17;
- readonly attribute int16u attachAttemptCount = 18;
- readonly attribute int16u partitionIdChangeCount = 19;
- readonly attribute int16u betterPartitionAttachAttemptCount = 20;
- readonly attribute int16u parentChangeCount = 21;
- readonly attribute int32u txTotalCount = 22;
- readonly attribute int32u txUnicastCount = 23;
- readonly attribute int32u txBroadcastCount = 24;
- readonly attribute int32u txAckRequestedCount = 25;
- readonly attribute int32u txAckedCount = 26;
- readonly attribute int32u txNoAckRequestedCount = 27;
- readonly attribute int32u txDataCount = 28;
- readonly attribute int32u txDataPollCount = 29;
- readonly attribute int32u txBeaconCount = 30;
- readonly attribute int32u txBeaconRequestCount = 31;
- readonly attribute int32u txOtherCount = 32;
- readonly attribute int32u txRetryCount = 33;
- readonly attribute int32u txDirectMaxRetryExpiryCount = 34;
- readonly attribute int32u txIndirectMaxRetryExpiryCount = 35;
- readonly attribute int32u txErrCcaCount = 36;
- readonly attribute int32u txErrAbortCount = 37;
- readonly attribute int32u txErrBusyChannelCount = 38;
- readonly attribute int32u rxTotalCount = 39;
- readonly attribute int32u rxUnicastCount = 40;
- readonly attribute int32u rxBroadcastCount = 41;
- readonly attribute int32u rxDataCount = 42;
- readonly attribute int32u rxDataPollCount = 43;
- readonly attribute int32u rxBeaconCount = 44;
- readonly attribute int32u rxBeaconRequestCount = 45;
- readonly attribute int32u rxOtherCount = 46;
- readonly attribute int32u rxAddressFilteredCount = 47;
- readonly attribute int32u rxDestAddrFilteredCount = 48;
- readonly attribute int32u rxDuplicatedCount = 49;
- readonly attribute int32u rxErrNoFrameCount = 50;
- readonly attribute int32u rxErrUnknownNeighborCount = 51;
- readonly attribute int32u rxErrInvalidSrcAddrCount = 52;
- readonly attribute int32u rxErrSecCount = 53;
- readonly attribute int32u rxErrFcsCount = 54;
- readonly attribute int32u rxErrOtherCount = 55;
- readonly attribute nullable int64u activeTimestamp = 56;
- readonly attribute nullable int64u pendingTimestamp = 57;
- readonly attribute nullable int32u delay = 58;
- readonly attribute nullable SecurityPolicy securityPolicy = 59;
- readonly attribute nullable octet_string<4> channelMask = 60;
- readonly attribute nullable OperationalDatasetComponents operationalDatasetComponents = 61;
- readonly attribute NetworkFault activeNetworkFaultsList[] = 62;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- command ResetCounts(): DefaultSuccess = 0;
-}
-
-server cluster TimeFormatLocalization = 44 {
- enum CalendarType : ENUM8 {
- kBuddhist = 0;
- kChinese = 1;
- kCoptic = 2;
- kEthiopian = 3;
- kGregorian = 4;
- kHebrew = 5;
- kIndian = 6;
- kIslamic = 7;
- kJapanese = 8;
- kKorean = 9;
- kPersian = 10;
- kTaiwanese = 11;
- }
-
- enum HourFormat : ENUM8 {
- k12hr = 0;
- k24hr = 1;
- }
-
- attribute HourFormat hourFormat = 0;
- attribute CalendarType activeCalendarType = 1;
- readonly attribute CalendarType supportedCalendarTypes[] = 2;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-}
-
-server cluster UserLabel = 65 {
- attribute access(write: manage) LabelStruct labelList[] = 0;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-}
-
-server cluster WiFiNetworkDiagnostics = 54 {
- enum AssociationFailureCause : ENUM8 {
- kUnknown = 0;
- kAssociationFailed = 1;
- kAuthenticationFailed = 2;
- kSsidNotFound = 3;
- }
-
- enum SecurityType : ENUM8 {
- kUnspecified = 0;
- kNone = 1;
- kWep = 2;
- kWpa = 3;
- kWpa2 = 4;
- kWpa3 = 5;
- }
-
- enum WiFiConnectionStatus : ENUM8 {
- kConnected = 0;
- kNotConnected = 1;
- }
-
- enum WiFiVersionType : ENUM8 {
- k80211a = 0;
- k80211b = 1;
- k80211g = 2;
- k80211n = 3;
- k80211ac = 4;
- k80211ax = 5;
- }
-
- info event Disconnection = 0 {
- INT16U reasonCode = 0;
- }
-
- info event AssociationFailure = 1 {
- AssociationFailureCause associationFailure = 0;
- INT16U status = 1;
- }
-
- info event ConnectionStatus = 2 {
- WiFiConnectionStatus connectionStatus = 0;
- }
-
- readonly attribute nullable octet_string<6> bssid = 0;
- readonly attribute nullable SecurityType securityType = 1;
- readonly attribute nullable WiFiVersionType wiFiVersion = 2;
- readonly attribute nullable int16u channelNumber = 3;
- readonly attribute nullable int8s rssi = 4;
- readonly attribute int32u beaconLostCount = 5;
- readonly attribute int32u beaconRxCount = 6;
- readonly attribute int32u packetMulticastRxCount = 7;
- readonly attribute int32u packetMulticastTxCount = 8;
- readonly attribute int32u packetUnicastRxCount = 9;
- readonly attribute int32u packetUnicastTxCount = 10;
- readonly attribute int64u currentMaxRate = 11;
- readonly attribute int64u overrunCount = 12;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- command ResetCounts(): DefaultSuccess = 0;
-}
-
endpoint 0 {
device type rootdevice = 22;
binding cluster OtaSoftwareUpdateProvider;