| // This IDL was generated automatically by ZAP. |
| // It is for view/code review purposes only. |
| |
| /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ |
| cluster Identify = 3 { |
| revision 4; |
| |
| enum EffectIdentifierEnum : enum8 { |
| kBlink = 0; |
| kBreathe = 1; |
| kOkay = 2; |
| kChannelChange = 11; |
| kFinishEffect = 254; |
| kStopEffect = 255; |
| } |
| |
| enum EffectVariantEnum : enum8 { |
| kDefault = 0; |
| } |
| |
| enum IdentifyTypeEnum : enum8 { |
| kNone = 0; |
| kLightOutput = 1; |
| kVisibleIndicator = 2; |
| kAudibleBeep = 3; |
| kDisplay = 4; |
| kActuator = 5; |
| } |
| |
| attribute int16u identifyTime = 0; |
| readonly attribute IdentifyTypeEnum identifyType = 1; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct IdentifyRequest { |
| int16u identifyTime = 0; |
| } |
| |
| request struct TriggerEffectRequest { |
| EffectIdentifierEnum effectIdentifier = 0; |
| EffectVariantEnum effectVariant = 1; |
| } |
| |
| /** Command description for Identify */ |
| command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0; |
| /** Command description for TriggerEffect */ |
| command access(invoke: manage) TriggerEffect(TriggerEffectRequest): DefaultSuccess = 64; |
| } |
| |
| /** Attributes and commands for group configuration and manipulation. */ |
| cluster Groups = 4 { |
| revision 4; |
| |
| bitmap Feature : bitmap32 { |
| kGroupNames = 0x1; |
| } |
| |
| bitmap NameSupportBitmap : bitmap8 { |
| kGroupNames = 0x80; |
| } |
| |
| readonly attribute NameSupportBitmap nameSupport = 0; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct AddGroupRequest { |
| group_id groupID = 0; |
| char_string<16> groupName = 1; |
| } |
| |
| response struct AddGroupResponse = 0 { |
| enum8 status = 0; |
| group_id groupID = 1; |
| } |
| |
| request struct ViewGroupRequest { |
| group_id groupID = 0; |
| } |
| |
| response struct ViewGroupResponse = 1 { |
| enum8 status = 0; |
| group_id groupID = 1; |
| char_string<16> groupName = 2; |
| } |
| |
| request struct GetGroupMembershipRequest { |
| group_id groupList[] = 0; |
| } |
| |
| response struct GetGroupMembershipResponse = 2 { |
| nullable int8u capacity = 0; |
| group_id groupList[] = 1; |
| } |
| |
| request struct RemoveGroupRequest { |
| group_id groupID = 0; |
| } |
| |
| response struct RemoveGroupResponse = 3 { |
| enum8 status = 0; |
| group_id groupID = 1; |
| } |
| |
| request struct AddGroupIfIdentifyingRequest { |
| group_id groupID = 0; |
| char_string<16> groupName = 1; |
| } |
| |
| /** Command description for AddGroup */ |
| fabric command access(invoke: manage) AddGroup(AddGroupRequest): AddGroupResponse = 0; |
| /** Command description for ViewGroup */ |
| fabric command ViewGroup(ViewGroupRequest): ViewGroupResponse = 1; |
| /** Command description for GetGroupMembership */ |
| fabric command GetGroupMembership(GetGroupMembershipRequest): GetGroupMembershipResponse = 2; |
| /** Command description for RemoveGroup */ |
| fabric command access(invoke: manage) RemoveGroup(RemoveGroupRequest): RemoveGroupResponse = 3; |
| /** Command description for RemoveAllGroups */ |
| fabric command access(invoke: manage) RemoveAllGroups(): DefaultSuccess = 4; |
| /** Command description for AddGroupIfIdentifying */ |
| fabric command access(invoke: manage) AddGroupIfIdentifying(AddGroupIfIdentifyingRequest): DefaultSuccess = 5; |
| } |
| |
| /** Attributes and commands for switching devices between 'On' and 'Off' states. */ |
| cluster OnOff = 6 { |
| revision 6; |
| |
| enum DelayedAllOffEffectVariantEnum : enum8 { |
| kDelayedOffFastFade = 0; |
| kNoFade = 1; |
| kDelayedOffSlowFade = 2; |
| } |
| |
| enum DyingLightEffectVariantEnum : enum8 { |
| kDyingLightFadeOff = 0; |
| } |
| |
| enum EffectIdentifierEnum : enum8 { |
| kDelayedAllOff = 0; |
| kDyingLight = 1; |
| } |
| |
| enum StartUpOnOffEnum : enum8 { |
| kOff = 0; |
| kOn = 1; |
| kToggle = 2; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kLighting = 0x1; |
| kDeadFrontBehavior = 0x2; |
| kOffOnly = 0x4; |
| } |
| |
| bitmap OnOffControlBitmap : bitmap8 { |
| kAcceptOnlyWhenOn = 0x1; |
| } |
| |
| readonly attribute boolean onOff = 0; |
| readonly attribute optional boolean globalSceneControl = 16384; |
| attribute optional int16u onTime = 16385; |
| attribute optional int16u offWaitTime = 16386; |
| attribute access(write: manage) optional nullable StartUpOnOffEnum startUpOnOff = 16387; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct OffWithEffectRequest { |
| EffectIdentifierEnum effectIdentifier = 0; |
| enum8 effectVariant = 1; |
| } |
| |
| request struct OnWithTimedOffRequest { |
| OnOffControlBitmap onOffControl = 0; |
| int16u onTime = 1; |
| int16u offWaitTime = 2; |
| } |
| |
| /** On receipt of this command, a device SHALL enter its ‘Off’ state. This state is device dependent, but it is recommended that it is used for power off or similar functions. On receipt of the Off command, the OnTime attribute SHALL be set to 0. */ |
| command Off(): DefaultSuccess = 0; |
| /** On receipt of this command, a device SHALL enter its ‘On’ state. This state is device dependent, but it is recommended that it is used for power on or similar functions. On receipt of the On command, if the value of the OnTime attribute is equal to 0, the device SHALL set the OffWaitTime attribute to 0. */ |
| command On(): DefaultSuccess = 1; |
| /** On receipt of this command, if a device is in its ‘Off’ state it SHALL enter its ‘On’ state. Otherwise, if it is in its ‘On’ state it SHALL enter its ‘Off’ state. On receipt of the Toggle command, if the value of the OnOff attribute is equal to FALSE and if the value of the OnTime attribute is equal to 0, the device SHALL set the OffWaitTime attribute to 0. If the value of the OnOff attribute is equal to TRUE, the OnTime attribute SHALL be set to 0. */ |
| command Toggle(): DefaultSuccess = 2; |
| /** The OffWithEffect command allows devices to be turned off using enhanced ways of fading. */ |
| command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64; |
| /** The OnWithRecallGlobalScene command allows the recall of the settings when the device was turned off. */ |
| command OnWithRecallGlobalScene(): DefaultSuccess = 65; |
| /** The OnWithTimedOff command allows devices to be turned on for a specific duration with a guarded off duration so that SHOULD the device be subsequently switched off, further OnWithTimedOff commands, received during this time, are prevented from turning the devices back on. */ |
| command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66; |
| } |
| |
| /** Attributes and commands for controlling devices that can be set to a level between fully 'On' and fully 'Off.' */ |
| cluster LevelControl = 8 { |
| revision 5; |
| |
| enum MoveModeEnum : enum8 { |
| kUp = 0; |
| kDown = 1; |
| } |
| |
| enum StepModeEnum : enum8 { |
| kUp = 0; |
| kDown = 1; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kOnOff = 0x1; |
| kLighting = 0x2; |
| kFrequency = 0x4; |
| } |
| |
| bitmap OptionsBitmap : bitmap8 { |
| kExecuteIfOff = 0x1; |
| kCoupleColorTempToLevel = 0x2; |
| } |
| |
| readonly attribute nullable int8u currentLevel = 0; |
| readonly attribute optional int16u remainingTime = 1; |
| readonly attribute optional int8u minLevel = 2; |
| readonly attribute optional int8u maxLevel = 3; |
| readonly attribute optional int16u currentFrequency = 4; |
| readonly attribute optional int16u minFrequency = 5; |
| readonly attribute optional int16u maxFrequency = 6; |
| attribute OptionsBitmap options = 15; |
| attribute optional int16u onOffTransitionTime = 16; |
| attribute nullable int8u onLevel = 17; |
| attribute optional nullable int16u onTransitionTime = 18; |
| attribute optional nullable int16u offTransitionTime = 19; |
| attribute optional nullable int8u defaultMoveRate = 20; |
| attribute access(write: manage) optional nullable int8u startUpCurrentLevel = 16384; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct MoveToLevelRequest { |
| int8u level = 0; |
| nullable int16u transitionTime = 1; |
| OptionsBitmap optionsMask = 2; |
| OptionsBitmap optionsOverride = 3; |
| } |
| |
| request struct MoveRequest { |
| MoveModeEnum moveMode = 0; |
| nullable int8u rate = 1; |
| OptionsBitmap optionsMask = 2; |
| OptionsBitmap optionsOverride = 3; |
| } |
| |
| request struct StepRequest { |
| StepModeEnum stepMode = 0; |
| int8u stepSize = 1; |
| nullable int16u transitionTime = 2; |
| OptionsBitmap optionsMask = 3; |
| OptionsBitmap optionsOverride = 4; |
| } |
| |
| request struct StopRequest { |
| OptionsBitmap optionsMask = 0; |
| OptionsBitmap optionsOverride = 1; |
| } |
| |
| request struct MoveToLevelWithOnOffRequest { |
| int8u level = 0; |
| nullable int16u transitionTime = 1; |
| OptionsBitmap optionsMask = 2; |
| OptionsBitmap optionsOverride = 3; |
| } |
| |
| request struct MoveWithOnOffRequest { |
| MoveModeEnum moveMode = 0; |
| nullable int8u rate = 1; |
| OptionsBitmap optionsMask = 2; |
| OptionsBitmap optionsOverride = 3; |
| } |
| |
| request struct StepWithOnOffRequest { |
| StepModeEnum stepMode = 0; |
| int8u stepSize = 1; |
| nullable int16u transitionTime = 2; |
| OptionsBitmap optionsMask = 3; |
| OptionsBitmap optionsOverride = 4; |
| } |
| |
| request struct StopWithOnOffRequest { |
| OptionsBitmap optionsMask = 0; |
| OptionsBitmap optionsOverride = 1; |
| } |
| |
| request struct MoveToClosestFrequencyRequest { |
| int16u frequency = 0; |
| } |
| |
| /** Command description for MoveToLevel */ |
| command MoveToLevel(MoveToLevelRequest): DefaultSuccess = 0; |
| /** Command description for Move */ |
| command Move(MoveRequest): DefaultSuccess = 1; |
| /** Command description for Step */ |
| command Step(StepRequest): DefaultSuccess = 2; |
| /** Command description for Stop */ |
| command Stop(StopRequest): DefaultSuccess = 3; |
| /** Command description for MoveToLevelWithOnOff */ |
| command MoveToLevelWithOnOff(MoveToLevelWithOnOffRequest): DefaultSuccess = 4; |
| /** Command description for MoveWithOnOff */ |
| command MoveWithOnOff(MoveWithOnOffRequest): DefaultSuccess = 5; |
| /** Command description for StepWithOnOff */ |
| command StepWithOnOff(StepWithOnOffRequest): DefaultSuccess = 6; |
| /** Command description for StopWithOnOff */ |
| command StopWithOnOff(StopWithOnOffRequest): DefaultSuccess = 7; |
| /** Change the currrent frequency to the provided one, or a close |
| approximation if the exact provided one is not possible. */ |
| command MoveToClosestFrequency(MoveToClosestFrequencyRequest): DefaultSuccess = 8; |
| } |
| |
| /** The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */ |
| cluster Descriptor = 29 { |
| revision 2; |
| |
| bitmap Feature : bitmap32 { |
| kTagList = 0x1; |
| } |
| |
| struct DeviceTypeStruct { |
| devtype_id deviceType = 0; |
| int16u revision = 1; |
| } |
| |
| struct SemanticTagStruct { |
| nullable vendor_id mfgCode = 0; |
| enum8 namespaceID = 1; |
| enum8 tag = 2; |
| optional nullable char_string label = 3; |
| } |
| |
| 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 optional SemanticTagStruct tagList[] = 4; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| } |
| |
| /** The Access Control Cluster exposes a data model view of a |
| Node's Access Control List (ACL), which codifies the rules used to manage |
| and enforce Access Control for the Node's endpoints and their associated |
| cluster instances. */ |
| cluster AccessControl = 31 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum AccessControlEntryAuthModeEnum : enum8 { |
| kPASE = 1; |
| kCASE = 2; |
| kGroup = 3; |
| } |
| |
| enum AccessControlEntryPrivilegeEnum : enum8 { |
| kView = 1; |
| kProxyView = 2; |
| kOperate = 3; |
| kManage = 4; |
| kAdminister = 5; |
| } |
| |
| enum ChangeTypeEnum : enum8 { |
| kChanged = 0; |
| kAdded = 1; |
| kRemoved = 2; |
| } |
| |
| struct AccessControlTargetStruct { |
| nullable cluster_id cluster = 0; |
| nullable endpoint_no endpoint = 1; |
| nullable devtype_id deviceType = 2; |
| } |
| |
| fabric_scoped struct AccessControlEntryStruct { |
| fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1; |
| fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2; |
| nullable fabric_sensitive int64u subjects[] = 3; |
| nullable fabric_sensitive AccessControlTargetStruct targets[] = 4; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| fabric_scoped struct AccessControlExtensionStruct { |
| fabric_sensitive octet_string<128> data = 1; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { |
| nullable node_id adminNodeID = 1; |
| nullable int16u adminPasscodeID = 2; |
| ChangeTypeEnum changeType = 3; |
| nullable AccessControlEntryStruct latestValue = 4; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { |
| nullable node_id adminNodeID = 1; |
| nullable int16u adminPasscodeID = 2; |
| ChangeTypeEnum changeType = 3; |
| nullable AccessControlExtensionStruct latestValue = 4; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0; |
| attribute access(read: administer, write: administer) optional AccessControlExtensionStruct extension[] = 1; |
| readonly attribute int16u subjectsPerAccessControlEntry = 2; |
| readonly attribute int16u targetsPerAccessControlEntry = 3; |
| readonly attribute int16u accessControlEntriesPerFabric = 4; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| } |
| |
| /** This cluster provides attributes and events for determining basic information about Nodes, which supports both |
| 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. */ |
| cluster BasicInformation = 40 { |
| revision 3; |
| |
| enum ColorEnum : enum8 { |
| kBlack = 0; |
| kNavy = 1; |
| kGreen = 2; |
| kTeal = 3; |
| kMaroon = 4; |
| kPurple = 5; |
| kOlive = 6; |
| kGray = 7; |
| kBlue = 8; |
| kLime = 9; |
| kAqua = 10; |
| kRed = 11; |
| kFuchsia = 12; |
| kYellow = 13; |
| kWhite = 14; |
| kNickel = 15; |
| kChrome = 16; |
| kBrass = 17; |
| kCopper = 18; |
| kSilver = 19; |
| kGold = 20; |
| } |
| |
| enum ProductFinishEnum : enum8 { |
| kOther = 0; |
| kMatte = 1; |
| kSatin = 2; |
| kPolished = 3; |
| kRugged = 4; |
| kFabric = 5; |
| } |
| |
| struct CapabilityMinimaStruct { |
| int16u caseSessionsPerFabric = 0; |
| int16u subscriptionsPerFabric = 1; |
| } |
| |
| struct ProductAppearanceStruct { |
| ProductFinishEnum finish = 0; |
| nullable ColorEnum primaryColor = 1; |
| } |
| |
| critical event StartUp = 0 { |
| int32u softwareVersion = 0; |
| } |
| |
| critical event ShutDown = 1 { |
| } |
| |
| info event Leave = 2 { |
| fabric_idx fabricIndex = 0; |
| } |
| |
| info event ReachableChanged = 3 { |
| boolean reachableNewValue = 0; |
| } |
| |
| readonly attribute int16u dataModelRevision = 0; |
| readonly attribute char_string<32> vendorName = 1; |
| readonly attribute vendor_id vendorID = 2; |
| readonly attribute char_string<32> productName = 3; |
| readonly attribute int16u productID = 4; |
| attribute access(write: manage) char_string<32> nodeLabel = 5; |
| attribute access(write: administer) char_string<2> location = 6; |
| readonly attribute int16u hardwareVersion = 7; |
| readonly attribute char_string<64> hardwareVersionString = 8; |
| readonly attribute int32u softwareVersion = 9; |
| readonly attribute char_string<64> softwareVersionString = 10; |
| readonly attribute optional char_string<16> manufacturingDate = 11; |
| readonly attribute optional char_string<32> partNumber = 12; |
| readonly attribute optional long_char_string<256> productURL = 13; |
| readonly attribute optional char_string<64> productLabel = 14; |
| readonly attribute optional char_string<32> serialNumber = 15; |
| attribute access(write: manage) optional boolean localConfigDisabled = 16; |
| readonly attribute optional boolean reachable = 17; |
| readonly attribute optional char_string<32> uniqueID = 18; |
| readonly attribute CapabilityMinimaStruct capabilityMinima = 19; |
| readonly attribute optional ProductAppearanceStruct productAppearance = 20; |
| readonly attribute int32u specificationVersion = 21; |
| readonly attribute int16u maxPathsPerInvoke = 22; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| command MfgSpecificPing(): DefaultSuccess = 0; |
| } |
| |
| /** Provides an interface for providing OTA software updates */ |
| cluster OtaSoftwareUpdateProvider = 41 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum ApplyUpdateActionEnum : enum8 { |
| kProceed = 0; |
| kAwaitNextAction = 1; |
| kDiscontinue = 2; |
| } |
| |
| enum DownloadProtocolEnum : enum8 { |
| kBDXSynchronous = 0; |
| kBDXAsynchronous = 1; |
| kHTTPS = 2; |
| kVendorSpecific = 3; |
| } |
| |
| enum StatusEnum : enum8 { |
| kUpdateAvailable = 0; |
| kBusy = 1; |
| kNotAvailable = 2; |
| kDownloadProtocolNotSupported = 3; |
| } |
| |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct QueryImageRequest { |
| vendor_id vendorID = 0; |
| 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 { |
| 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; |
| } |
| |
| response struct ApplyUpdateResponse = 3 { |
| ApplyUpdateActionEnum action = 0; |
| int32u delayedActionTime = 1; |
| } |
| |
| request struct NotifyUpdateAppliedRequest { |
| octet_string<32> updateToken = 0; |
| int32u softwareVersion = 1; |
| } |
| |
| /** Determine availability of a new Software Image */ |
| command QueryImage(QueryImageRequest): QueryImageResponse = 0; |
| /** Determine next action to take for a downloaded Software Image */ |
| command ApplyUpdateRequest(ApplyUpdateRequestRequest): ApplyUpdateResponse = 2; |
| /** Notify OTA Provider that an update was applied */ |
| command NotifyUpdateApplied(NotifyUpdateAppliedRequest): DefaultSuccess = 4; |
| } |
| |
| /** Provides an interface for downloading and applying OTA software updates */ |
| cluster OtaSoftwareUpdateRequestor = 42 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum AnnouncementReasonEnum : enum8 { |
| kSimpleAnnouncement = 0; |
| kUpdateAvailable = 1; |
| kUrgentUpdateAvailable = 2; |
| } |
| |
| enum ChangeReasonEnum : enum8 { |
| kUnknown = 0; |
| kSuccess = 1; |
| kFailure = 2; |
| kTimeOut = 3; |
| kDelayByProvider = 4; |
| } |
| |
| enum UpdateStateEnum : enum8 { |
| kUnknown = 0; |
| kIdle = 1; |
| kQuerying = 2; |
| kDelayedOnQuery = 3; |
| kDownloading = 4; |
| kApplying = 5; |
| kDelayedOnApply = 6; |
| kRollingBack = 7; |
| kDelayedOnUserConsent = 8; |
| } |
| |
| fabric_scoped struct ProviderLocation { |
| node_id providerNodeID = 1; |
| endpoint_no endpoint = 2; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| info event StateTransition = 0 { |
| UpdateStateEnum previousState = 0; |
| UpdateStateEnum newState = 1; |
| ChangeReasonEnum 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 access(write: administer) ProviderLocation defaultOTAProviders[] = 0; |
| readonly attribute boolean updatePossible = 1; |
| readonly attribute UpdateStateEnum updateState = 2; |
| readonly attribute nullable int8u updateStateProgress = 3; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct AnnounceOTAProviderRequest { |
| node_id providerNodeID = 0; |
| vendor_id vendorID = 1; |
| AnnouncementReasonEnum announcementReason = 2; |
| optional octet_string<512> metadataForNode = 3; |
| endpoint_no endpoint = 4; |
| } |
| |
| /** Announce the presence of an OTA Provider */ |
| command AnnounceOTAProvider(AnnounceOTAProviderRequest): DefaultSuccess = 0; |
| } |
| |
| /** Nodes should be expected to be deployed to any and all regions of the world. These global regions |
| may have differing common languages, units of measurements, and numerical formatting |
| standards. As such, Nodes that visually or audibly convey information need a mechanism by which |
| they can be configured to use a user’s preferred language, units, etc */ |
| cluster LocalizationConfiguration = 43 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| attribute access(write: manage) char_string<35> activeLocale = 0; |
| readonly attribute char_string supportedLocales[] = 1; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| } |
| |
| /** Nodes should be expected to be deployed to any and all regions of the world. These global regions |
| may have differing preferences for how dates and times are conveyed. As such, Nodes that visually |
| or audibly convey time information need a mechanism by which they can be configured to use a |
| user’s preferred format. */ |
| cluster TimeFormatLocalization = 44 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum CalendarTypeEnum : 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; |
| kUseActiveLocale = 255; |
| } |
| |
| enum HourFormatEnum : enum8 { |
| k12hr = 0; |
| k24hr = 1; |
| kUseActiveLocale = 255; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kCalendarFormat = 0x1; |
| } |
| |
| attribute access(write: manage) HourFormatEnum hourFormat = 0; |
| attribute access(write: manage) optional CalendarTypeEnum activeCalendarType = 1; |
| readonly attribute optional CalendarTypeEnum supportedCalendarTypes[] = 2; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| } |
| |
| /** This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. */ |
| cluster PowerSource = 47 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum BatApprovedChemistryEnum : enum16 { |
| kUnspecified = 0; |
| kAlkaline = 1; |
| kLithiumCarbonFluoride = 2; |
| kLithiumChromiumOxide = 3; |
| kLithiumCopperOxide = 4; |
| kLithiumIronDisulfide = 5; |
| kLithiumManganeseDioxide = 6; |
| kLithiumThionylChloride = 7; |
| kMagnesium = 8; |
| kMercuryOxide = 9; |
| kNickelOxyhydride = 10; |
| kSilverOxide = 11; |
| kZincAir = 12; |
| kZincCarbon = 13; |
| kZincChloride = 14; |
| kZincManganeseDioxide = 15; |
| kLeadAcid = 16; |
| kLithiumCobaltOxide = 17; |
| kLithiumIon = 18; |
| kLithiumIonPolymer = 19; |
| kLithiumIronPhosphate = 20; |
| kLithiumSulfur = 21; |
| kLithiumTitanate = 22; |
| kNickelCadmium = 23; |
| kNickelHydrogen = 24; |
| kNickelIron = 25; |
| kNickelMetalHydride = 26; |
| kNickelZinc = 27; |
| kSilverZinc = 28; |
| kSodiumIon = 29; |
| kSodiumSulfur = 30; |
| kZincBromide = 31; |
| kZincCerium = 32; |
| } |
| |
| enum BatChargeFaultEnum : enum8 { |
| kUnspecified = 0; |
| kAmbientTooHot = 1; |
| kAmbientTooCold = 2; |
| kBatteryTooHot = 3; |
| kBatteryTooCold = 4; |
| kBatteryAbsent = 5; |
| kBatteryOverVoltage = 6; |
| kBatteryUnderVoltage = 7; |
| kChargerOverVoltage = 8; |
| kChargerUnderVoltage = 9; |
| kSafetyTimeout = 10; |
| } |
| |
| enum BatChargeLevelEnum : enum8 { |
| kOK = 0; |
| kWarning = 1; |
| kCritical = 2; |
| } |
| |
| enum BatChargeStateEnum : enum8 { |
| kUnknown = 0; |
| kIsCharging = 1; |
| kIsAtFullCharge = 2; |
| kIsNotCharging = 3; |
| } |
| |
| enum BatCommonDesignationEnum : enum16 { |
| kUnspecified = 0; |
| kAAA = 1; |
| kAA = 2; |
| kC = 3; |
| kD = 4; |
| k4v5 = 5; |
| k6v0 = 6; |
| k9v0 = 7; |
| k12AA = 8; |
| kAAAA = 9; |
| kA = 10; |
| kB = 11; |
| kF = 12; |
| kN = 13; |
| kNo6 = 14; |
| kSubC = 15; |
| kA23 = 16; |
| kA27 = 17; |
| kBA5800 = 18; |
| kDuplex = 19; |
| k4SR44 = 20; |
| k523 = 21; |
| k531 = 22; |
| k15v0 = 23; |
| k22v5 = 24; |
| k30v0 = 25; |
| k45v0 = 26; |
| k67v5 = 27; |
| kJ = 28; |
| kCR123A = 29; |
| kCR2 = 30; |
| k2CR5 = 31; |
| kCRP2 = 32; |
| kCRV3 = 33; |
| kSR41 = 34; |
| kSR43 = 35; |
| kSR44 = 36; |
| kSR45 = 37; |
| kSR48 = 38; |
| kSR54 = 39; |
| kSR55 = 40; |
| kSR57 = 41; |
| kSR58 = 42; |
| kSR59 = 43; |
| kSR60 = 44; |
| kSR63 = 45; |
| kSR64 = 46; |
| kSR65 = 47; |
| kSR66 = 48; |
| kSR67 = 49; |
| kSR68 = 50; |
| kSR69 = 51; |
| kSR516 = 52; |
| kSR731 = 53; |
| kSR712 = 54; |
| kLR932 = 55; |
| kA5 = 56; |
| kA10 = 57; |
| kA13 = 58; |
| kA312 = 59; |
| kA675 = 60; |
| kAC41E = 61; |
| k10180 = 62; |
| k10280 = 63; |
| k10440 = 64; |
| k14250 = 65; |
| k14430 = 66; |
| k14500 = 67; |
| k14650 = 68; |
| k15270 = 69; |
| k16340 = 70; |
| kRCR123A = 71; |
| k17500 = 72; |
| k17670 = 73; |
| k18350 = 74; |
| k18500 = 75; |
| k18650 = 76; |
| k19670 = 77; |
| k25500 = 78; |
| k26650 = 79; |
| k32600 = 80; |
| } |
| |
| enum BatFaultEnum : enum8 { |
| kUnspecified = 0; |
| kOverTemp = 1; |
| kUnderTemp = 2; |
| } |
| |
| enum BatReplaceabilityEnum : enum8 { |
| kUnspecified = 0; |
| kNotReplaceable = 1; |
| kUserReplaceable = 2; |
| kFactoryReplaceable = 3; |
| } |
| |
| enum PowerSourceStatusEnum : enum8 { |
| kUnspecified = 0; |
| kActive = 1; |
| kStandby = 2; |
| kUnavailable = 3; |
| } |
| |
| enum WiredCurrentTypeEnum : enum8 { |
| kAC = 0; |
| kDC = 1; |
| } |
| |
| enum WiredFaultEnum : enum8 { |
| kUnspecified = 0; |
| kOverVoltage = 1; |
| kUnderVoltage = 2; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kWired = 0x1; |
| kBattery = 0x2; |
| kRechargeable = 0x4; |
| kReplaceable = 0x8; |
| } |
| |
| struct BatChargeFaultChangeType { |
| BatChargeFaultEnum current[] = 0; |
| BatChargeFaultEnum previous[] = 1; |
| } |
| |
| struct BatFaultChangeType { |
| BatFaultEnum current[] = 0; |
| BatFaultEnum previous[] = 1; |
| } |
| |
| struct WiredFaultChangeType { |
| WiredFaultEnum current[] = 0; |
| WiredFaultEnum previous[] = 1; |
| } |
| |
| info event WiredFaultChange = 0 { |
| WiredFaultEnum current[] = 0; |
| WiredFaultEnum previous[] = 1; |
| } |
| |
| info event BatFaultChange = 1 { |
| BatFaultEnum current[] = 0; |
| BatFaultEnum previous[] = 1; |
| } |
| |
| info event BatChargeFaultChange = 2 { |
| BatChargeFaultEnum current[] = 0; |
| BatChargeFaultEnum previous[] = 1; |
| } |
| |
| readonly attribute PowerSourceStatusEnum status = 0; |
| readonly attribute int8u order = 1; |
| readonly attribute char_string<60> description = 2; |
| readonly attribute optional nullable int32u wiredAssessedInputVoltage = 3; |
| readonly attribute optional nullable int16u wiredAssessedInputFrequency = 4; |
| readonly attribute optional WiredCurrentTypeEnum wiredCurrentType = 5; |
| readonly attribute optional nullable int32u wiredAssessedCurrent = 6; |
| readonly attribute optional int32u wiredNominalVoltage = 7; |
| readonly attribute optional int32u wiredMaximumCurrent = 8; |
| readonly attribute optional boolean wiredPresent = 9; |
| readonly attribute optional WiredFaultEnum activeWiredFaults[] = 10; |
| readonly attribute optional nullable int32u batVoltage = 11; |
| readonly attribute optional nullable int8u batPercentRemaining = 12; |
| readonly attribute optional nullable int32u batTimeRemaining = 13; |
| readonly attribute optional BatChargeLevelEnum batChargeLevel = 14; |
| readonly attribute optional boolean batReplacementNeeded = 15; |
| readonly attribute optional BatReplaceabilityEnum batReplaceability = 16; |
| readonly attribute optional boolean batPresent = 17; |
| readonly attribute optional BatFaultEnum activeBatFaults[] = 18; |
| readonly attribute optional char_string<60> batReplacementDescription = 19; |
| readonly attribute optional BatCommonDesignationEnum batCommonDesignation = 20; |
| readonly attribute optional char_string<20> batANSIDesignation = 21; |
| readonly attribute optional char_string<20> batIECDesignation = 22; |
| readonly attribute optional BatApprovedChemistryEnum batApprovedChemistry = 23; |
| readonly attribute optional int32u batCapacity = 24; |
| readonly attribute optional int8u batQuantity = 25; |
| readonly attribute optional BatChargeStateEnum batChargeState = 26; |
| readonly attribute optional nullable int32u batTimeToFullCharge = 27; |
| readonly attribute optional boolean batFunctionalWhileCharging = 28; |
| readonly attribute optional nullable int32u batChargingCurrent = 29; |
| readonly attribute optional BatChargeFaultEnum activeBatChargeFaults[] = 30; |
| readonly attribute endpoint_no endpointList[] = 31; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| } |
| |
| /** This cluster is used to manage global aspects of the Commissioning flow. */ |
| cluster GeneralCommissioning = 48 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum CommissioningErrorEnum : enum8 { |
| kOK = 0; |
| kValueOutsideRange = 1; |
| kInvalidAuthentication = 2; |
| kNoFailSafe = 3; |
| kBusyWithOtherAdmin = 4; |
| } |
| |
| enum RegulatoryLocationTypeEnum : 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 RegulatoryLocationTypeEnum regulatoryConfig = 2; |
| readonly attribute RegulatoryLocationTypeEnum locationCapability = 3; |
| readonly attribute boolean supportsConcurrentConnection = 4; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct ArmFailSafeRequest { |
| int16u expiryLengthSeconds = 0; |
| int64u breadcrumb = 1; |
| } |
| |
| response struct ArmFailSafeResponse = 1 { |
| CommissioningErrorEnum errorCode = 0; |
| char_string<128> debugText = 1; |
| } |
| |
| request struct SetRegulatoryConfigRequest { |
| RegulatoryLocationTypeEnum newRegulatoryConfig = 0; |
| char_string<2> countryCode = 1; |
| int64u breadcrumb = 2; |
| } |
| |
| response struct SetRegulatoryConfigResponse = 3 { |
| CommissioningErrorEnum errorCode = 0; |
| char_string debugText = 1; |
| } |
| |
| response struct CommissioningCompleteResponse = 5 { |
| CommissioningErrorEnum errorCode = 0; |
| char_string debugText = 1; |
| } |
| |
| /** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */ |
| command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0; |
| /** Set the regulatory configuration to be used during commissioning */ |
| command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2; |
| /** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */ |
| fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4; |
| } |
| |
| /** Functionality to configure, enable, disable network credentials and access on a Matter device. */ |
| cluster NetworkCommissioning = 49 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum NetworkCommissioningStatusEnum : 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 WiFiBandEnum : enum8 { |
| k2G4 = 0; |
| k3G65 = 1; |
| k5G = 2; |
| k6G = 3; |
| k60G = 4; |
| k1G = 5; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kWiFiNetworkInterface = 0x1; |
| kThreadNetworkInterface = 0x2; |
| kEthernetNetworkInterface = 0x4; |
| kPerDeviceCredentials = 0x8; |
| } |
| |
| bitmap ThreadCapabilitiesBitmap : bitmap16 { |
| kIsBorderRouterCapable = 0x1; |
| kIsRouterCapable = 0x2; |
| kIsSleepyEndDeviceCapable = 0x4; |
| kIsFullThreadDevice = 0x8; |
| kIsSynchronizedSleepyEndDeviceCapable = 0x10; |
| } |
| |
| bitmap WiFiSecurityBitmap : bitmap8 { |
| kUnencrypted = 0x1; |
| kWEP = 0x2; |
| kWPAPersonal = 0x4; |
| kWPA2Personal = 0x8; |
| kWPA3Personal = 0x10; |
| kWPA3MatterPDC = 0x20; |
| } |
| |
| struct NetworkInfoStruct { |
| octet_string<32> networkID = 0; |
| boolean connected = 1; |
| optional nullable octet_string<20> networkIdentifier = 2; |
| optional nullable octet_string<20> clientIdentifier = 3; |
| } |
| |
| struct ThreadInterfaceScanResultStruct { |
| 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; |
| } |
| |
| struct WiFiInterfaceScanResultStruct { |
| WiFiSecurityBitmap security = 0; |
| octet_string<32> ssid = 1; |
| octet_string<6> bssid = 2; |
| int16u channel = 3; |
| WiFiBandEnum wiFiBand = 4; |
| int8s rssi = 5; |
| } |
| |
| readonly attribute access(read: administer) int8u maxNetworks = 0; |
| readonly attribute access(read: administer) NetworkInfoStruct networks[] = 1; |
| readonly attribute optional int8u scanMaxTimeSeconds = 2; |
| readonly attribute optional int8u connectMaxTimeSeconds = 3; |
| attribute access(write: administer) boolean interfaceEnabled = 4; |
| readonly attribute access(read: administer) nullable NetworkCommissioningStatusEnum lastNetworkingStatus = 5; |
| readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6; |
| readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7; |
| readonly attribute optional WiFiBandEnum supportedWiFiBands[] = 8; |
| readonly attribute optional ThreadCapabilitiesBitmap supportedThreadFeatures = 9; |
| readonly attribute optional int16u threadVersion = 10; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct ScanNetworksRequest { |
| optional nullable octet_string<32> ssid = 0; |
| optional int64u breadcrumb = 1; |
| } |
| |
| response struct ScanNetworksResponse = 1 { |
| NetworkCommissioningStatusEnum networkingStatus = 0; |
| optional char_string debugText = 1; |
| optional WiFiInterfaceScanResultStruct wiFiScanResults[] = 2; |
| optional ThreadInterfaceScanResultStruct threadScanResults[] = 3; |
| } |
| |
| request struct AddOrUpdateWiFiNetworkRequest { |
| octet_string<32> ssid = 0; |
| octet_string<64> credentials = 1; |
| optional int64u breadcrumb = 2; |
| optional octet_string<140> networkIdentity = 3; |
| optional octet_string<20> clientIdentifier = 4; |
| optional octet_string<32> possessionNonce = 5; |
| } |
| |
| request struct AddOrUpdateThreadNetworkRequest { |
| octet_string<254> operationalDataset = 0; |
| optional int64u breadcrumb = 1; |
| } |
| |
| request struct RemoveNetworkRequest { |
| octet_string<32> networkID = 0; |
| optional int64u breadcrumb = 1; |
| } |
| |
| response struct NetworkConfigResponse = 5 { |
| NetworkCommissioningStatusEnum networkingStatus = 0; |
| optional char_string<512> debugText = 1; |
| optional int8u networkIndex = 2; |
| optional octet_string<140> clientIdentity = 3; |
| optional octet_string<64> possessionSignature = 4; |
| } |
| |
| request struct ConnectNetworkRequest { |
| octet_string<32> networkID = 0; |
| optional int64u breadcrumb = 1; |
| } |
| |
| response struct ConnectNetworkResponse = 7 { |
| NetworkCommissioningStatusEnum networkingStatus = 0; |
| optional char_string debugText = 1; |
| nullable int32s errorValue = 2; |
| } |
| |
| request struct ReorderNetworkRequest { |
| octet_string<32> networkID = 0; |
| int8u networkIndex = 1; |
| optional int64u breadcrumb = 2; |
| } |
| |
| request struct QueryIdentityRequest { |
| octet_string<20> keyIdentifier = 0; |
| optional octet_string<32> possessionNonce = 1; |
| } |
| |
| response struct QueryIdentityResponse = 10 { |
| octet_string<140> identity = 0; |
| optional octet_string<64> possessionSignature = 1; |
| } |
| |
| /** Detemine the set of networks the device sees as available. */ |
| command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0; |
| /** Add or update the credentials for a given Wi-Fi network. */ |
| command access(invoke: administer) AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2; |
| /** Add or update the credentials for a given Thread network. */ |
| command access(invoke: administer) AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3; |
| /** Remove the definition of a given network (including its credentials). */ |
| command access(invoke: administer) RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4; |
| /** Connect to the specified network, using previously-defined credentials. */ |
| command access(invoke: administer) ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6; |
| /** Modify the order in which networks will be presented in the Networks attribute. */ |
| command access(invoke: administer) ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8; |
| /** Retrieve details about and optionally proof of possession of a network client identity. */ |
| command access(invoke: administer) QueryIdentity(QueryIdentityRequest): QueryIdentityResponse = 9; |
| } |
| |
| /** The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. */ |
| cluster DiagnosticLogs = 50 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum IntentEnum : enum8 { |
| kEndUserSupport = 0; |
| kNetworkDiag = 1; |
| kCrashLogs = 2; |
| } |
| |
| enum StatusEnum : enum8 { |
| kSuccess = 0; |
| kExhausted = 1; |
| kNoLogs = 2; |
| kBusy = 3; |
| kDenied = 4; |
| } |
| |
| enum TransferProtocolEnum : enum8 { |
| kResponsePayload = 0; |
| kBDX = 1; |
| } |
| |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct RetrieveLogsRequestRequest { |
| IntentEnum intent = 0; |
| TransferProtocolEnum requestedProtocol = 1; |
| optional char_string<32> transferFileDesignator = 2; |
| } |
| |
| response struct RetrieveLogsResponse = 1 { |
| StatusEnum status = 0; |
| long_octet_string logContent = 1; |
| optional epoch_us UTCTimeStamp = 2; |
| optional systime_us timeSinceBoot = 3; |
| } |
| |
| /** Retrieving diagnostic logs from a Node */ |
| command RetrieveLogsRequest(RetrieveLogsRequestRequest): RetrieveLogsResponse = 0; |
| } |
| |
| /** 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. */ |
| cluster GeneralDiagnostics = 51 { |
| revision 2; |
| |
| enum BootReasonEnum : enum8 { |
| kUnspecified = 0; |
| kPowerOnReboot = 1; |
| kBrownOutReset = 2; |
| kSoftwareWatchdogReset = 3; |
| kHardwareWatchdogReset = 4; |
| kSoftwareUpdateCompleted = 5; |
| kSoftwareReset = 6; |
| } |
| |
| enum HardwareFaultEnum : enum8 { |
| kUnspecified = 0; |
| kRadio = 1; |
| kSensor = 2; |
| kResettableOverTemp = 3; |
| kNonResettableOverTemp = 4; |
| kPowerSource = 5; |
| kVisualDisplayFault = 6; |
| kAudioOutputFault = 7; |
| kUserInterfaceFault = 8; |
| kNonVolatileMemoryError = 9; |
| kTamperDetected = 10; |
| } |
| |
| enum InterfaceTypeEnum : enum8 { |
| kUnspecified = 0; |
| kWiFi = 1; |
| kEthernet = 2; |
| kCellular = 3; |
| kThread = 4; |
| } |
| |
| enum NetworkFaultEnum : enum8 { |
| kUnspecified = 0; |
| kHardwareFailure = 1; |
| kNetworkJammed = 2; |
| kConnectionFailed = 3; |
| } |
| |
| enum RadioFaultEnum : enum8 { |
| kUnspecified = 0; |
| kWiFiFault = 1; |
| kCellularFault = 2; |
| kThreadFault = 3; |
| kNFCFault = 4; |
| kBLEFault = 5; |
| kEthernetFault = 6; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kDataModelTest = 0x1; |
| } |
| |
| struct NetworkInterface { |
| 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; |
| InterfaceTypeEnum type = 7; |
| } |
| |
| critical event HardwareFaultChange = 0 { |
| HardwareFaultEnum current[] = 0; |
| HardwareFaultEnum previous[] = 1; |
| } |
| |
| critical event RadioFaultChange = 1 { |
| RadioFaultEnum current[] = 0; |
| RadioFaultEnum previous[] = 1; |
| } |
| |
| critical event NetworkFaultChange = 2 { |
| NetworkFaultEnum current[] = 0; |
| NetworkFaultEnum previous[] = 1; |
| } |
| |
| critical event BootReason = 3 { |
| BootReasonEnum bootReason = 0; |
| } |
| |
| readonly attribute NetworkInterface networkInterfaces[] = 0; |
| readonly attribute int16u rebootCount = 1; |
| readonly attribute optional int64u upTime = 2; |
| readonly attribute optional int32u totalOperationalHours = 3; |
| readonly attribute optional BootReasonEnum bootReason = 4; |
| readonly attribute optional HardwareFaultEnum activeHardwareFaults[] = 5; |
| readonly attribute optional RadioFaultEnum activeRadioFaults[] = 6; |
| readonly attribute optional NetworkFaultEnum activeNetworkFaults[] = 7; |
| readonly attribute boolean testEventTriggersEnabled = 8; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct TestEventTriggerRequest { |
| octet_string<16> enableKey = 0; |
| int64u eventTrigger = 1; |
| } |
| |
| response struct TimeSnapshotResponse = 2 { |
| systime_ms systemTimeMs = 0; |
| nullable posix_ms posixTimeMs = 1; |
| } |
| |
| request struct PayloadTestRequestRequest { |
| octet_string<16> enableKey = 0; |
| int8u value = 1; |
| int16u count = 2; |
| } |
| |
| response struct PayloadTestResponse = 4 { |
| octet_string payload = 0; |
| } |
| |
| /** Provide a means for certification tests to trigger some test-plan-specific events */ |
| command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; |
| /** Take a snapshot of system time and epoch time. */ |
| command TimeSnapshot(): TimeSnapshotResponse = 1; |
| /** Request a variable length payload response. */ |
| command PayloadTestRequest(PayloadTestRequestRequest): PayloadTestResponse = 3; |
| } |
| |
| /** The Software 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. */ |
| cluster SoftwareDiagnostics = 52 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| bitmap Feature : bitmap32 { |
| kWatermarks = 0x1; |
| } |
| |
| struct ThreadMetricsStruct { |
| 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 { |
| int64u id = 0; |
| optional char_string name = 1; |
| optional octet_string faultRecording = 2; |
| } |
| |
| readonly attribute optional ThreadMetricsStruct threadMetrics[] = 0; |
| readonly attribute optional int64u currentHeapFree = 1; |
| readonly attribute optional int64u currentHeapUsed = 2; |
| readonly attribute optional int64u currentHeapHighWatermark = 3; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| /** Reception of this command SHALL reset the values: The StackFreeMinimum field of the ThreadMetrics attribute, CurrentHeapHighWaterMark attribute. */ |
| command access(invoke: manage) ResetWatermarks(): DefaultSuccess = 0; |
| } |
| |
| /** 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. */ |
| cluster WiFiNetworkDiagnostics = 54 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum AssociationFailureCauseEnum : enum8 { |
| kUnknown = 0; |
| kAssociationFailed = 1; |
| kAuthenticationFailed = 2; |
| kSsidNotFound = 3; |
| } |
| |
| enum ConnectionStatusEnum : enum8 { |
| kConnected = 0; |
| kNotConnected = 1; |
| } |
| |
| enum SecurityTypeEnum : enum8 { |
| kUnspecified = 0; |
| kNone = 1; |
| kWEP = 2; |
| kWPA = 3; |
| kWPA2 = 4; |
| kWPA3 = 5; |
| } |
| |
| enum WiFiVersionEnum : enum8 { |
| kA = 0; |
| kB = 1; |
| kG = 2; |
| kN = 3; |
| kAc = 4; |
| kAx = 5; |
| kAh = 6; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kPacketCounts = 0x1; |
| kErrorCounts = 0x2; |
| } |
| |
| info event Disconnection = 0 { |
| int16u reasonCode = 0; |
| } |
| |
| info event AssociationFailure = 1 { |
| AssociationFailureCauseEnum associationFailureCause = 0; |
| int16u status = 1; |
| } |
| |
| info event ConnectionStatus = 2 { |
| ConnectionStatusEnum connectionStatus = 0; |
| } |
| |
| readonly attribute nullable octet_string<6> bssid = 0; |
| readonly attribute nullable SecurityTypeEnum securityType = 1; |
| readonly attribute nullable WiFiVersionEnum wiFiVersion = 2; |
| readonly attribute nullable int16u channelNumber = 3; |
| readonly attribute nullable int8s rssi = 4; |
| readonly attribute optional nullable int32u beaconLostCount = 5; |
| readonly attribute optional nullable int32u beaconRxCount = 6; |
| readonly attribute optional nullable int32u packetMulticastRxCount = 7; |
| readonly attribute optional nullable int32u packetMulticastTxCount = 8; |
| readonly attribute optional nullable int32u packetUnicastRxCount = 9; |
| readonly attribute optional nullable int32u packetUnicastTxCount = 10; |
| readonly attribute optional nullable int64u currentMaxRate = 11; |
| readonly attribute optional nullable int64u overrunCount = 12; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| /** Reception of this command SHALL reset the Breacon and Packet related count attributes to 0 */ |
| command ResetCounts(): DefaultSuccess = 0; |
| } |
| |
| /** Commands to trigger a Node to allow a new Administrator to commission it. */ |
| cluster AdministratorCommissioning = 60 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum CommissioningWindowStatusEnum : enum8 { |
| kWindowNotOpen = 0; |
| kEnhancedWindowOpen = 1; |
| kBasicWindowOpen = 2; |
| } |
| |
| enum StatusCode : enum8 { |
| kBusy = 2; |
| kPAKEParameterError = 3; |
| kWindowNotOpen = 4; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kBasic = 0x1; |
| } |
| |
| readonly attribute CommissioningWindowStatusEnum windowStatus = 0; |
| readonly attribute nullable fabric_idx adminFabricIndex = 1; |
| readonly attribute nullable vendor_id adminVendorId = 2; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct OpenCommissioningWindowRequest { |
| int16u commissioningTimeout = 0; |
| octet_string PAKEPasscodeVerifier = 1; |
| int16u discriminator = 2; |
| int32u iterations = 3; |
| octet_string<32> salt = 4; |
| } |
| |
| request struct OpenBasicCommissioningWindowRequest { |
| int16u commissioningTimeout = 0; |
| } |
| |
| /** This command is used by a current Administrator to instruct a Node to go into commissioning mode using enhanced commissioning method. */ |
| timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0; |
| /** This command is used by a current Administrator to instruct a Node to go into commissioning mode using basic commissioning method, if the node supports it. */ |
| timed command access(invoke: administer) OpenBasicCommissioningWindow(OpenBasicCommissioningWindowRequest): DefaultSuccess = 1; |
| /** This command is used by a current Administrator to instruct a Node to revoke any active Open Commissioning Window or Open Basic Commissioning Window command. */ |
| timed command access(invoke: administer) RevokeCommissioning(): DefaultSuccess = 2; |
| } |
| |
| /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ |
| cluster OperationalCredentials = 62 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum CertificateChainTypeEnum : enum8 { |
| kDACCertificate = 1; |
| kPAICertificate = 2; |
| } |
| |
| enum NodeOperationalCertStatusEnum : enum8 { |
| kOK = 0; |
| kInvalidPublicKey = 1; |
| kInvalidNodeOpId = 2; |
| kInvalidNOC = 3; |
| kMissingCsr = 4; |
| kTableFull = 5; |
| kInvalidAdminSubject = 6; |
| kFabricConflict = 9; |
| kLabelConflict = 10; |
| kInvalidFabricIndex = 11; |
| } |
| |
| fabric_scoped struct FabricDescriptorStruct { |
| 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; |
| } |
| |
| fabric_scoped struct NOCStruct { |
| fabric_sensitive octet_string noc = 1; |
| nullable fabric_sensitive octet_string icac = 2; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| readonly attribute access(read: administer) NOCStruct NOCs[] = 0; |
| readonly attribute FabricDescriptorStruct fabrics[] = 1; |
| readonly attribute int8u supportedFabrics = 2; |
| readonly attribute int8u commissionedFabrics = 3; |
| readonly attribute octet_string trustedRootCertificates[] = 4; |
| readonly attribute int8u currentFabricIndex = 5; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct AttestationRequestRequest { |
| octet_string<32> attestationNonce = 0; |
| } |
| |
| response struct AttestationResponse = 1 { |
| octet_string<900> attestationElements = 0; |
| octet_string<64> attestationSignature = 1; |
| } |
| |
| request struct CertificateChainRequestRequest { |
| CertificateChainTypeEnum certificateType = 0; |
| } |
| |
| response struct CertificateChainResponse = 3 { |
| octet_string<600> certificate = 0; |
| } |
| |
| request struct CSRRequestRequest { |
| octet_string<32> CSRNonce = 0; |
| optional boolean isForUpdateNOC = 1; |
| } |
| |
| response struct CSRResponse = 5 { |
| octet_string NOCSRElements = 0; |
| octet_string attestationSignature = 1; |
| } |
| |
| request struct AddNOCRequest { |
| octet_string<400> NOCValue = 0; |
| optional octet_string<400> ICACValue = 1; |
| octet_string<16> IPKValue = 2; |
| int64u caseAdminSubject = 3; |
| vendor_id adminVendorId = 4; |
| } |
| |
| request struct UpdateNOCRequest { |
| octet_string NOCValue = 0; |
| optional octet_string ICACValue = 1; |
| } |
| |
| response struct NOCResponse = 8 { |
| NodeOperationalCertStatusEnum statusCode = 0; |
| optional fabric_idx fabricIndex = 1; |
| optional char_string<128> debugText = 2; |
| } |
| |
| request struct UpdateFabricLabelRequest { |
| char_string<32> label = 0; |
| } |
| |
| request struct RemoveFabricRequest { |
| fabric_idx fabricIndex = 0; |
| } |
| |
| request struct AddTrustedRootCertificateRequest { |
| octet_string rootCACertificate = 0; |
| } |
| |
| /** Sender is requesting attestation information from the receiver. */ |
| command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0; |
| /** Sender is requesting a device attestation certificate from the receiver. */ |
| command access(invoke: administer) CertificateChainRequest(CertificateChainRequestRequest): CertificateChainResponse = 2; |
| /** Sender is requesting a certificate signing request (CSR) from the receiver. */ |
| command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; |
| /** Sender is requesting to add the new node operational certificates. */ |
| command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; |
| /** Sender is requesting to update the node operational certificates. */ |
| fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; |
| /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ |
| fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; |
| /** This command is used by Administrative Nodes to remove a given fabric index and delete all associated fabric-scoped data. */ |
| command access(invoke: administer) RemoveFabric(RemoveFabricRequest): NOCResponse = 10; |
| /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ |
| command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; |
| } |
| |
| /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ |
| cluster GroupKeyManagement = 63 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| enum GroupKeySecurityPolicyEnum : enum8 { |
| kTrustFirst = 0; |
| kCacheAndSync = 1; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kCacheAndSync = 0x1; |
| } |
| |
| fabric_scoped struct GroupInfoMapStruct { |
| group_id groupId = 1; |
| endpoint_no endpoints[] = 2; |
| optional char_string<16> groupName = 3; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| fabric_scoped struct GroupKeyMapStruct { |
| group_id groupId = 1; |
| int16u groupKeySetID = 2; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| struct GroupKeySetStruct { |
| int16u groupKeySetID = 0; |
| GroupKeySecurityPolicyEnum 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 command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct KeySetWriteRequest { |
| GroupKeySetStruct groupKeySet = 0; |
| } |
| |
| request struct KeySetReadRequest { |
| int16u groupKeySetID = 0; |
| } |
| |
| response struct KeySetReadResponse = 2 { |
| GroupKeySetStruct groupKeySet = 0; |
| } |
| |
| request struct KeySetRemoveRequest { |
| int16u groupKeySetID = 0; |
| } |
| |
| response struct KeySetReadAllIndicesResponse = 5 { |
| int16u groupKeySetIDs[] = 0; |
| } |
| |
| /** Write a new set of keys for the given key set id. */ |
| fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0; |
| /** Read the keys for a given key set id. */ |
| fabric command access(invoke: administer) KeySetRead(KeySetReadRequest): KeySetReadResponse = 1; |
| /** Revoke a Root Key from a Group */ |
| fabric command access(invoke: administer) KeySetRemove(KeySetRemoveRequest): DefaultSuccess = 3; |
| /** Return the list of Group Key Sets associated with the accessing fabric */ |
| fabric command access(invoke: administer) KeySetReadAllIndices(): KeySetReadAllIndicesResponse = 4; |
| } |
| |
| /** The Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only |
| labels. */ |
| cluster FixedLabel = 64 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| struct LabelStruct { |
| char_string<16> label = 0; |
| char_string<16> value = 1; |
| } |
| |
| readonly attribute LabelStruct labelList[] = 0; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| } |
| |
| /** The User Label Cluster provides a feature to tag an endpoint with zero or more labels. */ |
| cluster UserLabel = 65 { |
| revision 1; // NOTE: Default/not specifically set |
| |
| struct LabelStruct { |
| char_string<16> label = 0; |
| char_string<16> value = 1; |
| } |
| |
| attribute access(write: manage) LabelStruct labelList[] = 0; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| } |
| |
| /** Attributes and commands for scene configuration and manipulation. */ |
| provisional cluster ScenesManagement = 98 { |
| revision 1; |
| |
| bitmap CopyModeBitmap : bitmap8 { |
| kCopyAllScenes = 0x1; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kSceneNames = 0x1; |
| } |
| |
| struct AttributeValuePair { |
| attrib_id attributeID = 0; |
| int32u attributeValue = 1; |
| } |
| |
| struct ExtensionFieldSet { |
| cluster_id clusterID = 0; |
| AttributeValuePair attributeValueList[] = 1; |
| } |
| |
| fabric_scoped struct SceneInfoStruct { |
| int8u sceneCount = 0; |
| fabric_sensitive int8u currentScene = 1; |
| fabric_sensitive group_id currentGroup = 2; |
| fabric_sensitive boolean sceneValid = 3; |
| int8u remainingCapacity = 4; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| readonly attribute optional nullable node_id lastConfiguredBy = 0; |
| readonly attribute int16u sceneTableSize = 1; |
| readonly attribute SceneInfoStruct fabricSceneInfo[] = 2; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct AddSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| int32u transitionTime = 2; |
| char_string sceneName = 3; |
| ExtensionFieldSet extensionFieldSets[] = 4; |
| } |
| |
| response struct AddSceneResponse = 0 { |
| status status = 0; |
| group_id groupID = 1; |
| int8u sceneID = 2; |
| } |
| |
| request struct ViewSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| } |
| |
| response struct ViewSceneResponse = 1 { |
| status status = 0; |
| group_id groupID = 1; |
| int8u sceneID = 2; |
| optional int32u transitionTime = 3; |
| optional char_string sceneName = 4; |
| optional ExtensionFieldSet extensionFieldSets[] = 5; |
| } |
| |
| request struct RemoveSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| } |
| |
| response struct RemoveSceneResponse = 2 { |
| status status = 0; |
| group_id groupID = 1; |
| int8u sceneID = 2; |
| } |
| |
| request struct RemoveAllScenesRequest { |
| group_id groupID = 0; |
| } |
| |
| response struct RemoveAllScenesResponse = 3 { |
| status status = 0; |
| group_id groupID = 1; |
| } |
| |
| request struct StoreSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| } |
| |
| response struct StoreSceneResponse = 4 { |
| status status = 0; |
| group_id groupID = 1; |
| int8u sceneID = 2; |
| } |
| |
| request struct RecallSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| optional nullable int32u transitionTime = 2; |
| } |
| |
| request struct GetSceneMembershipRequest { |
| group_id groupID = 0; |
| } |
| |
| response struct GetSceneMembershipResponse = 6 { |
| status status = 0; |
| nullable int8u capacity = 1; |
| group_id groupID = 2; |
| optional int8u sceneList[] = 3; |
| } |
| |
| request struct CopySceneRequest { |
| CopyModeBitmap mode = 0; |
| group_id groupIdentifierFrom = 1; |
| int8u sceneIdentifierFrom = 2; |
| group_id groupIdentifierTo = 3; |
| int8u sceneIdentifierTo = 4; |
| } |
| |
| response struct CopySceneResponse = 64 { |
| status status = 0; |
| group_id groupIdentifierFrom = 1; |
| int8u sceneIdentifierFrom = 2; |
| } |
| |
| /** Add a scene to the scene table. Extension field sets are supported, and are inputed as '{"ClusterID": VALUE, "AttributeValueList":[{"AttributeId": VALUE, "AttributeValue": VALUE}]}' */ |
| fabric command access(invoke: manage) AddScene(AddSceneRequest): AddSceneResponse = 0; |
| /** Retrieves the requested scene entry from its Scene table. */ |
| fabric command ViewScene(ViewSceneRequest): ViewSceneResponse = 1; |
| /** Removes the requested scene entry, corresponding to the value of the GroupID field, from its Scene Table */ |
| fabric command access(invoke: manage) RemoveScene(RemoveSceneRequest): RemoveSceneResponse = 2; |
| /** Remove all scenes, corresponding to the value of the GroupID field, from its Scene Table */ |
| fabric command access(invoke: manage) RemoveAllScenes(RemoveAllScenesRequest): RemoveAllScenesResponse = 3; |
| /** Adds the scene entry into its Scene Table along with all extension field sets corresponding to the current state of other clusters on the same endpoint */ |
| fabric command access(invoke: manage) StoreScene(StoreSceneRequest): StoreSceneResponse = 4; |
| /** Set the attributes and corresponding state for each other cluster implemented on the endpoint accordingly to the resquested scene entry in the Scene Table */ |
| fabric command RecallScene(RecallSceneRequest): DefaultSuccess = 5; |
| /** Get an unused scene identifier when no commissioning tool is in the network, or for a commissioning tool to get the used scene identifiers within a certain group */ |
| fabric command GetSceneMembership(GetSceneMembershipRequest): GetSceneMembershipResponse = 6; |
| /** Allows a client to efficiently copy scenes from one group/scene identifier pair to another group/scene identifier pair. */ |
| fabric command CopyScene(CopySceneRequest): CopySceneResponse = 64; |
| } |
| |
| /** Attributes and commands for controlling the color properties of a color-capable light. */ |
| cluster ColorControl = 768 { |
| revision 6; |
| |
| enum ColorLoopAction : enum8 { |
| kDeactivate = 0; |
| kActivateFromColorLoopStartEnhancedHue = 1; |
| kActivateFromEnhancedCurrentHue = 2; |
| } |
| |
| enum ColorLoopDirection : enum8 { |
| kDecrementHue = 0; |
| kIncrementHue = 1; |
| } |
| |
| enum ColorMode : enum8 { |
| kCurrentHueAndCurrentSaturation = 0; |
| kCurrentXAndCurrentY = 1; |
| kColorTemperature = 2; |
| } |
| |
| enum HueDirection : enum8 { |
| kShortestDistance = 0; |
| kLongestDistance = 1; |
| kUp = 2; |
| kDown = 3; |
| } |
| |
| enum HueMoveMode : enum8 { |
| kStop = 0; |
| kUp = 1; |
| kDown = 3; |
| } |
| |
| enum HueStepMode : enum8 { |
| kUp = 1; |
| kDown = 3; |
| } |
| |
| enum SaturationMoveMode : enum8 { |
| kStop = 0; |
| kUp = 1; |
| kDown = 3; |
| } |
| |
| enum SaturationStepMode : enum8 { |
| kUp = 1; |
| kDown = 3; |
| } |
| |
| bitmap ColorCapabilities : bitmap16 { |
| kHueSaturationSupported = 0x1; |
| kEnhancedHueSupported = 0x2; |
| kColorLoopSupported = 0x4; |
| kXYAttributesSupported = 0x8; |
| kColorTemperatureSupported = 0x10; |
| } |
| |
| bitmap ColorLoopUpdateFlags : bitmap8 { |
| kUpdateAction = 0x1; |
| kUpdateDirection = 0x2; |
| kUpdateTime = 0x4; |
| kUpdateStartHue = 0x8; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kHueAndSaturation = 0x1; |
| kEnhancedHue = 0x2; |
| kColorLoop = 0x4; |
| kXY = 0x8; |
| kColorTemperature = 0x10; |
| } |
| |
| readonly attribute optional int8u currentHue = 0; |
| readonly attribute optional int8u currentSaturation = 1; |
| readonly attribute optional int16u remainingTime = 2; |
| readonly attribute optional int16u currentX = 3; |
| readonly attribute optional int16u currentY = 4; |
| readonly attribute optional enum8 driftCompensation = 5; |
| readonly attribute optional char_string<254> compensationText = 6; |
| readonly attribute optional int16u colorTemperatureMireds = 7; |
| readonly attribute enum8 colorMode = 8; |
| attribute bitmap8 options = 15; |
| readonly attribute nullable int8u numberOfPrimaries = 16; |
| readonly attribute optional int16u primary1X = 17; |
| readonly attribute optional int16u primary1Y = 18; |
| readonly attribute optional nullable int8u primary1Intensity = 19; |
| readonly attribute optional int16u primary2X = 21; |
| readonly attribute optional int16u primary2Y = 22; |
| readonly attribute optional nullable int8u primary2Intensity = 23; |
| readonly attribute optional int16u primary3X = 25; |
| readonly attribute optional int16u primary3Y = 26; |
| readonly attribute optional nullable int8u primary3Intensity = 27; |
| readonly attribute optional int16u primary4X = 32; |
| readonly attribute optional int16u primary4Y = 33; |
| readonly attribute optional nullable int8u primary4Intensity = 34; |
| readonly attribute optional int16u primary5X = 36; |
| readonly attribute optional int16u primary5Y = 37; |
| readonly attribute optional nullable int8u primary5Intensity = 38; |
| readonly attribute optional int16u primary6X = 40; |
| readonly attribute optional int16u primary6Y = 41; |
| readonly attribute optional nullable int8u primary6Intensity = 42; |
| attribute access(write: manage) optional int16u whitePointX = 48; |
| attribute access(write: manage) optional int16u whitePointY = 49; |
| attribute access(write: manage) optional int16u colorPointRX = 50; |
| attribute access(write: manage) optional int16u colorPointRY = 51; |
| attribute access(write: manage) optional nullable int8u colorPointRIntensity = 52; |
| attribute access(write: manage) optional int16u colorPointGX = 54; |
| attribute access(write: manage) optional int16u colorPointGY = 55; |
| attribute access(write: manage) optional nullable int8u colorPointGIntensity = 56; |
| attribute access(write: manage) optional int16u colorPointBX = 58; |
| attribute access(write: manage) optional int16u colorPointBY = 59; |
| attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60; |
| readonly attribute optional int16u enhancedCurrentHue = 16384; |
| readonly attribute enum8 enhancedColorMode = 16385; |
| readonly attribute optional int8u colorLoopActive = 16386; |
| readonly attribute optional int8u colorLoopDirection = 16387; |
| readonly attribute optional int16u colorLoopTime = 16388; |
| readonly attribute optional int16u colorLoopStartEnhancedHue = 16389; |
| readonly attribute optional int16u colorLoopStoredEnhancedHue = 16390; |
| readonly attribute bitmap16 colorCapabilities = 16394; |
| readonly attribute optional int16u colorTempPhysicalMinMireds = 16395; |
| readonly attribute optional int16u colorTempPhysicalMaxMireds = 16396; |
| readonly attribute optional int16u coupleColorTempToLevelMinMireds = 16397; |
| attribute access(write: manage) optional nullable int16u startUpColorTemperatureMireds = 16400; |
| readonly attribute command_id generatedCommandList[] = 65528; |
| readonly attribute command_id acceptedCommandList[] = 65529; |
| readonly attribute event_id eventList[] = 65530; |
| readonly attribute attrib_id attributeList[] = 65531; |
| readonly attribute bitmap32 featureMap = 65532; |
| readonly attribute int16u clusterRevision = 65533; |
| |
| request struct MoveToHueRequest { |
| int8u hue = 0; |
| HueDirection direction = 1; |
| int16u transitionTime = 2; |
| bitmap8 optionsMask = 3; |
| bitmap8 optionsOverride = 4; |
| } |
| |
| request struct MoveHueRequest { |
| HueMoveMode moveMode = 0; |
| int8u rate = 1; |
| bitmap8 optionsMask = 2; |
| bitmap8 optionsOverride = 3; |
| } |
| |
| request struct StepHueRequest { |
| HueStepMode stepMode = 0; |
| int8u stepSize = 1; |
| int8u transitionTime = 2; |
| bitmap8 optionsMask = 3; |
| bitmap8 optionsOverride = 4; |
| } |
| |
| request struct MoveToSaturationRequest { |
| int8u saturation = 0; |
| int16u transitionTime = 1; |
| bitmap8 optionsMask = 2; |
| bitmap8 optionsOverride = 3; |
| } |
| |
| request struct MoveSaturationRequest { |
| SaturationMoveMode moveMode = 0; |
| int8u rate = 1; |
| bitmap8 optionsMask = 2; |
| bitmap8 optionsOverride = 3; |
| } |
| |
| request struct StepSaturationRequest { |
| SaturationStepMode stepMode = 0; |
| int8u stepSize = 1; |
| int8u transitionTime = 2; |
| bitmap8 optionsMask = 3; |
| bitmap8 optionsOverride = 4; |
| } |
| |
| request struct MoveToHueAndSaturationRequest { |
| int8u hue = 0; |
| int8u saturation = 1; |
| int16u transitionTime = 2; |
| bitmap8 optionsMask = 3; |
| bitmap8 optionsOverride = 4; |
| } |
| |
| request struct MoveToColorRequest { |
| int16u colorX = 0; |
| int16u colorY = 1; |
| int16u transitionTime = 2; |
| bitmap8 optionsMask = 3; |
| bitmap8 optionsOverride = 4; |
| } |
| |
| request struct MoveColorRequest { |
| int16s rateX = 0; |
| int16s rateY = 1; |
| bitmap8 optionsMask = 2; |
| bitmap8 optionsOverride = 3; |
| } |
| |
| request struct StepColorRequest { |
| int16s stepX = 0; |
| int16s stepY = 1; |
| int16u transitionTime = 2; |
| bitmap8 optionsMask = 3; |
| bitmap8 optionsOverride = 4; |
| } |
| |
| request struct MoveToColorTemperatureRequest { |
| int16u colorTemperatureMireds = 0; |
| int16u transitionTime = 1; |
| bitmap8 optionsMask = 2; |
| bitmap8 optionsOverride = 3; |
| } |
| |
| request struct EnhancedMoveToHueRequest { |
| int16u enhancedHue = 0; |
| HueDirection direction = 1; |
| int16u transitionTime = 2; |
| bitmap8 optionsMask = 3; |
| bitmap8 optionsOverride = 4; |
| } |
| |
| request struct EnhancedMoveHueRequest { |
| HueMoveMode moveMode = 0; |
| int16u rate = 1; |
| bitmap8 optionsMask = 2; |
| bitmap8 optionsOverride = 3; |
| } |
| |
| request struct EnhancedStepHueRequest { |
| HueStepMode stepMode = 0; |
| int16u stepSize = 1; |
| int16u transitionTime = 2; |
| bitmap8 optionsMask = 3; |
| bitmap8 optionsOverride = 4; |
| } |
| |
| request struct EnhancedMoveToHueAndSaturationRequest { |
| int16u enhancedHue = 0; |
| int8u saturation = 1; |
| int16u transitionTime = 2; |
| bitmap8 optionsMask = 3; |
| bitmap8 optionsOverride = 4; |
| } |
| |
| request struct ColorLoopSetRequest { |
| ColorLoopUpdateFlags updateFlags = 0; |
| ColorLoopAction action = 1; |
| ColorLoopDirection direction = 2; |
| int16u time = 3; |
| int16u startHue = 4; |
| bitmap8 optionsMask = 5; |
| bitmap8 optionsOverride = 6; |
| } |
| |
| request struct StopMoveStepRequest { |
| bitmap8 optionsMask = 0; |
| bitmap8 optionsOverride = 1; |
| } |
| |
| request struct MoveColorTemperatureRequest { |
| HueMoveMode moveMode = 0; |
| int16u rate = 1; |
| int16u colorTemperatureMinimumMireds = 2; |
| int16u colorTemperatureMaximumMireds = 3; |
| bitmap8 optionsMask = 4; |
| bitmap8 optionsOverride = 5; |
| } |
| |
| request struct StepColorTemperatureRequest { |
| HueStepMode stepMode = 0; |
| int16u stepSize = 1; |
| int16u transitionTime = 2; |
| int16u colorTemperatureMinimumMireds = 3; |
| int16u colorTemperatureMaximumMireds = 4; |
| bitmap8 optionsMask = 5; |
| bitmap8 optionsOverride = 6; |
| } |
| |
| /** Move to specified hue. */ |
| command MoveToHue(MoveToHueRequest): DefaultSuccess = 0; |
| /** Move hue up or down at specified rate. */ |
| command MoveHue(MoveHueRequest): DefaultSuccess = 1; |
| /** Step hue up or down by specified size at specified rate. */ |
| command StepHue(StepHueRequest): DefaultSuccess = 2; |
| /** Move to specified saturation. */ |
| command MoveToSaturation(MoveToSaturationRequest): DefaultSuccess = 3; |
| /** Move saturation up or down at specified rate. */ |
| command MoveSaturation(MoveSaturationRequest): DefaultSuccess = 4; |
| /** Step saturation up or down by specified size at specified rate. */ |
| command StepSaturation(StepSaturationRequest): DefaultSuccess = 5; |
| /** Move to hue and saturation. */ |
| command MoveToHueAndSaturation(MoveToHueAndSaturationRequest): DefaultSuccess = 6; |
| /** Move to specified color. */ |
| command MoveToColor(MoveToColorRequest): DefaultSuccess = 7; |
| /** Moves the color. */ |
| command MoveColor(MoveColorRequest): DefaultSuccess = 8; |
| /** Steps the lighting to a specific color. */ |
| command StepColor(StepColorRequest): DefaultSuccess = 9; |
| /** Move to a specific color temperature. */ |
| command MoveToColorTemperature(MoveToColorTemperatureRequest): DefaultSuccess = 10; |
| /** Command description for EnhancedMoveToHue */ |
| command EnhancedMoveToHue(EnhancedMoveToHueRequest): DefaultSuccess = 64; |
| /** Command description for EnhancedMoveHue */ |
| command EnhancedMoveHue(EnhancedMoveHueRequest): DefaultSuccess = 65; |
| /** Command description for EnhancedStepHue */ |
| command EnhancedStepHue(EnhancedStepHueRequest): DefaultSuccess = 66; |
| /** Command description for EnhancedMoveToHueAndSaturation */ |
| command EnhancedMoveToHueAndSaturation(EnhancedMoveToHueAndSaturationRequest): DefaultSuccess = 67; |
| /** Command description for ColorLoopSet */ |
| command ColorLoopSet(ColorLoopSetRequest): DefaultSuccess = 68; |
| /** Command description for StopMoveStep */ |
| command StopMoveStep(StopMoveStepRequest): DefaultSuccess = 71; |
| /** Command description for MoveColorTemperature */ |
| command MoveColorTemperature(MoveColorTemperatureRequest): DefaultSuccess = 75; |
| /** Command description for StepColorTemperature */ |
| command StepColorTemperature(StepColorTemperatureRequest): DefaultSuccess = 76; |
| } |
| |
| endpoint 0 { |
| device type ma_rootdevice = 22, version 1; |
| |
| binding cluster OtaSoftwareUpdateProvider; |
| |
| server cluster Descriptor { |
| callback attribute deviceTypeList; |
| callback attribute serverList; |
| callback attribute clientList; |
| callback attribute partsList; |
| callback attribute featureMap; |
| callback attribute clusterRevision; |
| } |
| |
| server cluster AccessControl { |
| emits event AccessControlEntryChanged; |
| emits event AccessControlExtensionChanged; |
| callback attribute acl; |
| callback attribute extension; |
| callback attribute subjectsPerAccessControlEntry; |
| callback attribute targetsPerAccessControlEntry; |
| callback attribute accessControlEntriesPerFabric; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0; |
| callback attribute clusterRevision; |
| } |
| |
| server cluster BasicInformation { |
| callback attribute dataModelRevision; |
| callback attribute vendorName; |
| callback attribute vendorID; |
| callback attribute productName; |
| callback attribute productID; |
| persist attribute nodeLabel; |
| callback attribute location; |
| callback attribute hardwareVersion; |
| callback attribute hardwareVersionString; |
| callback attribute softwareVersion; |
| callback attribute softwareVersionString; |
| callback attribute manufacturingDate; |
| callback attribute partNumber; |
| callback attribute productURL; |
| callback attribute productLabel; |
| callback attribute serialNumber; |
| persist attribute localConfigDisabled default = 0; |
| callback attribute uniqueID; |
| callback attribute capabilityMinima; |
| callback attribute specificationVersion; |
| callback attribute maxPathsPerInvoke; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 3; |
| } |
| |
| server cluster OtaSoftwareUpdateRequestor { |
| callback attribute defaultOTAProviders; |
| ram attribute updatePossible default = 1; |
| ram attribute updateState default = 0; |
| ram attribute updateStateProgress default = 0; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| |
| handle command AnnounceOTAProvider; |
| } |
| |
| server cluster LocalizationConfiguration { |
| persist attribute activeLocale default = "en-US"; |
| callback attribute supportedLocales; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| } |
| |
| server cluster TimeFormatLocalization { |
| persist attribute hourFormat default = 0; |
| persist attribute activeCalendarType default = 0; |
| callback attribute supportedCalendarTypes; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| } |
| |
| server cluster GeneralCommissioning { |
| ram attribute breadcrumb default = 0x0000000000000000; |
| callback attribute basicCommissioningInfo; |
| callback attribute regulatoryConfig; |
| callback attribute locationCapability; |
| callback attribute supportsConcurrentConnection; |
| 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 { |
| ram attribute maxNetworks; |
| callback attribute networks; |
| ram attribute scanMaxTimeSeconds; |
| ram attribute connectMaxTimeSeconds; |
| ram attribute interfaceEnabled; |
| ram attribute lastNetworkingStatus; |
| ram attribute lastNetworkID; |
| ram attribute lastConnectErrorValue; |
| callback attribute supportedWiFiBands; |
| 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 DiagnosticLogs { |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| |
| handle command RetrieveLogsRequest; |
| } |
| |
| server cluster GeneralDiagnostics { |
| emits event BootReason; |
| callback attribute networkInterfaces; |
| callback attribute rebootCount; |
| callback attribute upTime; |
| callback attribute totalOperationalHours; |
| callback attribute bootReason; |
| callback attribute activeHardwareFaults; |
| callback attribute activeRadioFaults; |
| callback attribute activeNetworkFaults; |
| callback attribute testEventTriggersEnabled default = false; |
| callback attribute featureMap; |
| callback attribute clusterRevision; |
| |
| handle command TestEventTrigger; |
| handle command TimeSnapshot; |
| handle command TimeSnapshotResponse; |
| } |
| |
| server cluster SoftwareDiagnostics { |
| emits event SoftwareFault; |
| callback attribute threadMetrics; |
| callback attribute currentHeapFree; |
| callback attribute currentHeapUsed; |
| callback attribute currentHeapHighWatermark; |
| callback attribute featureMap; |
| ram attribute clusterRevision default = 1; |
| |
| handle command ResetWatermarks; |
| } |
| |
| server cluster WiFiNetworkDiagnostics { |
| callback attribute bssid; |
| callback attribute securityType; |
| callback attribute wiFiVersion; |
| callback attribute channelNumber; |
| callback attribute rssi; |
| callback attribute beaconLostCount; |
| callback attribute beaconRxCount; |
| callback attribute packetMulticastRxCount; |
| callback attribute packetMulticastTxCount; |
| callback attribute packetUnicastRxCount; |
| callback attribute packetUnicastTxCount; |
| callback attribute currentMaxRate; |
| callback attribute overrunCount; |
| ram attribute featureMap default = 3; |
| ram attribute clusterRevision default = 1; |
| |
| handle command ResetCounts; |
| } |
| |
| server cluster AdministratorCommissioning { |
| callback attribute windowStatus; |
| callback attribute adminFabricIndex; |
| callback attribute adminVendorId; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| |
| handle command OpenCommissioningWindow; |
| handle command RevokeCommissioning; |
| } |
| |
| server cluster OperationalCredentials { |
| callback attribute NOCs; |
| callback attribute fabrics; |
| callback attribute supportedFabrics; |
| callback attribute commissionedFabrics; |
| callback attribute trustedRootCertificates; |
| 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 { |
| callback attribute groupKeyMap; |
| callback attribute groupTable; |
| callback attribute maxGroupsPerFabric; |
| callback attribute maxGroupKeysPerFabric; |
| callback attribute featureMap; |
| callback attribute clusterRevision; |
| |
| handle command KeySetWrite; |
| handle command KeySetRead; |
| handle command KeySetReadResponse; |
| handle command KeySetRemove; |
| handle command KeySetReadAllIndices; |
| handle command KeySetReadAllIndicesResponse; |
| } |
| |
| server cluster FixedLabel { |
| callback attribute labelList; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| } |
| |
| server cluster UserLabel { |
| callback attribute labelList; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| } |
| } |
| endpoint 1 { |
| device type ma_powersource = 17, version 1; |
| device type ma_dimmablelight = 257, version 1; |
| |
| |
| server cluster Identify { |
| ram attribute identifyTime default = 0x0000; |
| ram attribute identifyType default = 0x0; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute eventList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 4; |
| |
| handle command Identify; |
| handle command TriggerEffect; |
| } |
| |
| server cluster Groups { |
| ram attribute nameSupport; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute eventList; |
| callback attribute attributeList; |
| 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 OnOff { |
| persist attribute onOff default = 0x00; |
| ram attribute globalSceneControl default = 0x01; |
| ram attribute onTime default = 0x0000; |
| ram attribute offWaitTime default = 0x0000; |
| persist attribute startUpOnOff default = 0xFF; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute eventList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 1; |
| ram attribute clusterRevision default = 6; |
| |
| handle command Off; |
| handle command On; |
| handle command Toggle; |
| handle command OffWithEffect; |
| handle command OnWithRecallGlobalScene; |
| handle command OnWithTimedOff; |
| } |
| |
| server cluster LevelControl { |
| persist attribute currentLevel default = 0x01; |
| ram attribute remainingTime default = 0x0000; |
| ram attribute minLevel default = 0x01; |
| ram attribute maxLevel default = 0xFE; |
| ram attribute currentFrequency default = 0x0000; |
| ram attribute minFrequency default = 0x0000; |
| ram attribute maxFrequency default = 0x0000; |
| ram attribute options default = 0x00; |
| ram attribute onOffTransitionTime default = 0x0000; |
| ram attribute onLevel default = 0xFF; |
| ram attribute onTransitionTime; |
| ram attribute offTransitionTime; |
| ram attribute defaultMoveRate default = 50; |
| persist attribute startUpCurrentLevel default = 255; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute eventList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 3; |
| ram attribute clusterRevision default = 5; |
| |
| handle command MoveToLevel; |
| handle command Move; |
| handle command Step; |
| handle command Stop; |
| handle command MoveToLevelWithOnOff; |
| handle command MoveWithOnOff; |
| handle command StepWithOnOff; |
| handle command StopWithOnOff; |
| } |
| |
| server cluster Descriptor { |
| callback attribute deviceTypeList; |
| callback attribute serverList; |
| callback attribute clientList; |
| callback attribute partsList; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute eventList; |
| callback attribute attributeList; |
| callback attribute featureMap; |
| callback attribute clusterRevision; |
| } |
| |
| server cluster PowerSource { |
| ram attribute status default = 0; |
| ram attribute order default = 0; |
| ram attribute description default = "USB"; |
| ram attribute wiredAssessedInputVoltage; |
| ram attribute wiredAssessedInputFrequency; |
| ram attribute wiredCurrentType default = 1; |
| ram attribute wiredAssessedCurrent; |
| ram attribute wiredNominalVoltage default = 5000; |
| ram attribute wiredMaximumCurrent default = 1000; |
| ram attribute wiredPresent default = 1; |
| callback attribute endpointList; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute eventList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 1; |
| ram attribute clusterRevision default = 2; |
| } |
| |
| server cluster ScenesManagement { |
| ram attribute lastConfiguredBy; |
| ram attribute sceneTableSize default = 16; |
| callback attribute fabricSceneInfo; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute eventList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 1; |
| ram attribute clusterRevision default = 1; |
| |
| 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; |
| handle command CopyScene; |
| } |
| |
| server cluster ColorControl { |
| persist attribute currentHue default = 0x00; |
| persist attribute currentSaturation default = 0x00; |
| ram attribute remainingTime default = 0x0000; |
| persist attribute currentX default = 0x616B; |
| persist attribute currentY default = 0x607D; |
| persist attribute colorTemperatureMireds default = 0x00FA; |
| persist attribute colorMode default = 0x01; |
| ram attribute options default = 0x00; |
| ram attribute numberOfPrimaries; |
| persist attribute enhancedCurrentHue default = 0x0000; |
| persist attribute enhancedColorMode default = 0x01; |
| persist attribute colorLoopActive default = 0x00; |
| persist attribute colorLoopDirection default = 0x00; |
| persist attribute colorLoopTime default = 0x0019; |
| ram attribute colorLoopStartEnhancedHue default = 0x2300; |
| ram attribute colorLoopStoredEnhancedHue default = 0x0000; |
| ram attribute colorCapabilities default = 0x1F; |
| ram attribute colorTempPhysicalMinMireds default = 0x0000; |
| ram attribute colorTempPhysicalMaxMireds default = 0xFEFF; |
| ram attribute coupleColorTempToLevelMinMireds; |
| persist attribute startUpColorTemperatureMireds; |
| ram attribute featureMap default = 0x1F; |
| ram attribute clusterRevision default = 6; |
| |
| handle command MoveToHue; |
| handle command MoveHue; |
| handle command StepHue; |
| handle command MoveToSaturation; |
| handle command MoveSaturation; |
| handle command StepSaturation; |
| handle command MoveToHueAndSaturation; |
| handle command MoveToColor; |
| handle command MoveColor; |
| handle command StepColor; |
| handle command MoveToColorTemperature; |
| handle command EnhancedMoveToHue; |
| handle command EnhancedMoveHue; |
| handle command EnhancedStepHue; |
| handle command EnhancedMoveToHueAndSaturation; |
| handle command ColorLoopSet; |
| handle command StopMoveStep; |
| handle command MoveColorTemperature; |
| handle command StepColorTemperature; |
| } |
| } |
| |
| |