| // 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). */ |
| server cluster Identify = 3 { |
| 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 access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0; |
| command access(invoke: manage) TriggerEffect(TriggerEffectRequest): DefaultSuccess = 64; |
| } |
| |
| /** Attributes and commands for group configuration and manipulation. */ |
| server cluster Groups = 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; |
| } |
| |
| request struct ViewGroupRequest { |
| group_id groupID = 0; |
| } |
| |
| request struct GetGroupMembershipRequest { |
| group_id groupList[] = 0; |
| } |
| |
| request struct RemoveGroupRequest { |
| group_id groupID = 0; |
| } |
| |
| request struct AddGroupIfIdentifyingRequest { |
| group_id groupID = 0; |
| char_string<16> groupName = 1; |
| } |
| |
| response struct AddGroupResponse = 0 { |
| enum8 status = 0; |
| group_id groupID = 1; |
| } |
| |
| response struct ViewGroupResponse = 1 { |
| enum8 status = 0; |
| group_id groupID = 1; |
| char_string<16> groupName = 2; |
| } |
| |
| response struct GetGroupMembershipResponse = 2 { |
| nullable int8u capacity = 0; |
| group_id groupList[] = 1; |
| } |
| |
| response struct RemoveGroupResponse = 3 { |
| enum8 status = 0; |
| group_id groupID = 1; |
| } |
| |
| fabric command access(invoke: manage) AddGroup(AddGroupRequest): AddGroupResponse = 0; |
| fabric command ViewGroup(ViewGroupRequest): ViewGroupResponse = 1; |
| fabric command GetGroupMembership(GetGroupMembershipRequest): GetGroupMembershipResponse = 2; |
| fabric command access(invoke: manage) RemoveGroup(RemoveGroupRequest): RemoveGroupResponse = 3; |
| fabric command access(invoke: manage) RemoveAllGroups(): DefaultSuccess = 4; |
| fabric command access(invoke: manage) AddGroupIfIdentifying(AddGroupIfIdentifyingRequest): DefaultSuccess = 5; |
| } |
| |
| /** Attributes and commands for scene configuration and manipulation. */ |
| provisional server cluster Scenes = 5 { |
| bitmap CopyModeBitmap : bitmap8 { |
| kCopyAllScenes = 0x1; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kSceneNames = 0x1; |
| kExplicit = 0x2; |
| kTableSize = 0x4; |
| kFabricScenes = 0x8; |
| } |
| |
| bitmap NameSupportBitmap : bitmap8 { |
| kSceneNames = 0x80; |
| } |
| |
| struct AttributeValuePair { |
| attrib_id attributeID = 0; |
| int32u attributeValue = 1; |
| } |
| |
| struct ExtensionFieldSet { |
| cluster_id clusterID = 0; |
| AttributeValuePair attributeValueList[] = 1; |
| } |
| |
| readonly attribute int8u sceneCount = 0; |
| readonly attribute int8u currentScene = 1; |
| readonly attribute group_id currentGroup = 2; |
| readonly attribute boolean sceneValid = 3; |
| readonly attribute NameSupportBitmap nameSupport = 4; |
| readonly attribute nullable node_id lastConfiguredBy = 5; |
| readonly attribute int16u sceneTableSize = 6; |
| readonly attribute int8u remainingCapacity = 7; |
| 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; |
| int16u transitionTime = 2; |
| char_string sceneName = 3; |
| ExtensionFieldSet extensionFieldSets[] = 4; |
| } |
| |
| request struct ViewSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| } |
| |
| request struct RemoveSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| } |
| |
| request struct RemoveAllScenesRequest { |
| group_id groupID = 0; |
| } |
| |
| request struct StoreSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| } |
| |
| request struct RecallSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| optional nullable int16u transitionTime = 2; |
| } |
| |
| request struct GetSceneMembershipRequest { |
| group_id groupID = 0; |
| } |
| |
| request struct EnhancedAddSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| int16u transitionTime = 2; |
| char_string sceneName = 3; |
| ExtensionFieldSet extensionFieldSets[] = 4; |
| } |
| |
| request struct EnhancedViewSceneRequest { |
| group_id groupID = 0; |
| int8u sceneID = 1; |
| } |
| |
| request struct CopySceneRequest { |
| CopyModeBitmap mode = 0; |
| group_id groupIdentifierFrom = 1; |
| int8u sceneIdentifierFrom = 2; |
| group_id groupIdentifierTo = 3; |
| int8u sceneIdentifierTo = 4; |
| } |
| |
| response struct AddSceneResponse = 0 { |
| status status = 0; |
| group_id groupID = 1; |
| int8u sceneID = 2; |
| } |
| |
| response struct ViewSceneResponse = 1 { |
| status status = 0; |
| group_id groupID = 1; |
| int8u sceneID = 2; |
| optional int16u transitionTime = 3; |
| optional char_string sceneName = 4; |
| optional ExtensionFieldSet extensionFieldSets[] = 5; |
| } |
| |
| response struct RemoveSceneResponse = 2 { |
| status status = 0; |
| group_id groupID = 1; |
| int8u sceneID = 2; |
| } |
| |
| response struct RemoveAllScenesResponse = 3 { |
| status status = 0; |
| group_id groupID = 1; |
| } |
| |
| response struct StoreSceneResponse = 4 { |
| status status = 0; |
| group_id groupID = 1; |
| int8u sceneID = 2; |
| } |
| |
| response struct GetSceneMembershipResponse = 6 { |
| status status = 0; |
| nullable int8u capacity = 1; |
| group_id groupID = 2; |
| optional int8u sceneList[] = 3; |
| } |
| |
| fabric command access(invoke: manage) AddScene(AddSceneRequest): AddSceneResponse = 0; |
| fabric command ViewScene(ViewSceneRequest): ViewSceneResponse = 1; |
| fabric command access(invoke: manage) RemoveScene(RemoveSceneRequest): RemoveSceneResponse = 2; |
| fabric command access(invoke: manage) RemoveAllScenes(RemoveAllScenesRequest): RemoveAllScenesResponse = 3; |
| fabric command access(invoke: manage) StoreScene(StoreSceneRequest): StoreSceneResponse = 4; |
| fabric command RecallScene(RecallSceneRequest): DefaultSuccess = 5; |
| fabric command GetSceneMembership(GetSceneMembershipRequest): GetSceneMembershipResponse = 6; |
| fabric command EnhancedAddScene(EnhancedAddSceneRequest): EnhancedAddSceneResponse = 64; |
| fabric command EnhancedViewScene(EnhancedViewSceneRequest): EnhancedViewSceneResponse = 65; |
| fabric command CopyScene(CopySceneRequest): CopySceneResponse = 66; |
| } |
| |
| /** Attributes and commands for switching devices between 'On' and 'Off' states. */ |
| server cluster OnOff = 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 boolean globalSceneControl = 16384; |
| attribute int16u onTime = 16385; |
| attribute int16u offWaitTime = 16386; |
| attribute access(write: manage) 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; |
| } |
| |
| command Off(): DefaultSuccess = 0; |
| command On(): DefaultSuccess = 1; |
| command Toggle(): DefaultSuccess = 2; |
| command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64; |
| command OnWithRecallGlobalScene(): DefaultSuccess = 65; |
| command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66; |
| } |
| |
| /** Attributes and commands for controlling devices that can be set to a level between fully 'On' and fully 'Off.' */ |
| server cluster LevelControl = 8 { |
| enum MoveMode : enum8 { |
| kUp = 0; |
| kDown = 1; |
| } |
| |
| enum StepMode : enum8 { |
| kUp = 0; |
| kDown = 1; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kOnOff = 0x1; |
| kLighting = 0x2; |
| kFrequency = 0x4; |
| } |
| |
| bitmap LevelControlOptions : bitmap8 { |
| kExecuteIfOff = 0x1; |
| kCoupleColorTempToLevel = 0x2; |
| } |
| |
| readonly attribute nullable int8u currentLevel = 0; |
| readonly attribute int16u remainingTime = 1; |
| readonly attribute int8u minLevel = 2; |
| readonly attribute int8u maxLevel = 3; |
| readonly attribute int16u currentFrequency = 4; |
| readonly attribute int16u minFrequency = 5; |
| readonly attribute int16u maxFrequency = 6; |
| attribute LevelControlOptions options = 15; |
| attribute int16u onOffTransitionTime = 16; |
| attribute nullable int8u onLevel = 17; |
| attribute nullable int16u onTransitionTime = 18; |
| attribute nullable int16u offTransitionTime = 19; |
| attribute nullable int8u defaultMoveRate = 20; |
| attribute access(write: manage) nullable int8u startUpCurrentLevel = 16384; |
| readonly attribute 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; |
| LevelControlOptions optionsMask = 2; |
| LevelControlOptions optionsOverride = 3; |
| } |
| |
| request struct MoveRequest { |
| MoveMode moveMode = 0; |
| nullable int8u rate = 1; |
| LevelControlOptions optionsMask = 2; |
| LevelControlOptions optionsOverride = 3; |
| } |
| |
| request struct StepRequest { |
| StepMode stepMode = 0; |
| int8u stepSize = 1; |
| nullable int16u transitionTime = 2; |
| LevelControlOptions optionsMask = 3; |
| LevelControlOptions optionsOverride = 4; |
| } |
| |
| request struct StopRequest { |
| LevelControlOptions optionsMask = 0; |
| LevelControlOptions optionsOverride = 1; |
| } |
| |
| request struct MoveToLevelWithOnOffRequest { |
| int8u level = 0; |
| nullable int16u transitionTime = 1; |
| LevelControlOptions optionsMask = 2; |
| LevelControlOptions optionsOverride = 3; |
| } |
| |
| request struct MoveWithOnOffRequest { |
| MoveMode moveMode = 0; |
| nullable int8u rate = 1; |
| LevelControlOptions optionsMask = 2; |
| LevelControlOptions optionsOverride = 3; |
| } |
| |
| request struct StepWithOnOffRequest { |
| StepMode stepMode = 0; |
| int8u stepSize = 1; |
| nullable int16u transitionTime = 2; |
| LevelControlOptions optionsMask = 3; |
| LevelControlOptions optionsOverride = 4; |
| } |
| |
| request struct StopWithOnOffRequest { |
| LevelControlOptions optionsMask = 0; |
| LevelControlOptions optionsOverride = 1; |
| } |
| |
| command MoveToLevel(MoveToLevelRequest): DefaultSuccess = 0; |
| command Move(MoveRequest): DefaultSuccess = 1; |
| command Step(StepRequest): DefaultSuccess = 2; |
| command Stop(StopRequest): DefaultSuccess = 3; |
| command MoveToLevelWithOnOff(MoveToLevelWithOnOffRequest): DefaultSuccess = 4; |
| command MoveWithOnOff(MoveWithOnOffRequest): DefaultSuccess = 5; |
| command StepWithOnOff(StepWithOnOffRequest): DefaultSuccess = 6; |
| command StopWithOnOff(StopWithOnOffRequest): DefaultSuccess = 7; |
| } |
| |
| /** The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */ |
| server cluster Descriptor = 29 { |
| bitmap Feature : bitmap32 { |
| 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 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. */ |
| server cluster AccessControl = 31 { |
| 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) 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. */ |
| server cluster BasicInformation = 40 { |
| 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 char_string<16> manufacturingDate = 11; |
| readonly attribute char_string<32> partNumber = 12; |
| readonly attribute long_char_string<256> productURL = 13; |
| readonly attribute char_string<64> productLabel = 14; |
| readonly attribute char_string<32> serialNumber = 15; |
| attribute access(write: manage) boolean localConfigDisabled = 16; |
| readonly attribute char_string<32> uniqueID = 18; |
| readonly attribute CapabilityMinimaStruct capabilityMinima = 19; |
| 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; |
| } |
| |
| /** Provides an interface for providing OTA software updates */ |
| client cluster OtaSoftwareUpdateProvider = 41 { |
| 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 */ |
| server cluster OtaSoftwareUpdateRequestor = 42 { |
| 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 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; |
| } |
| |
| 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 */ |
| server cluster LocalizationConfiguration = 43 { |
| 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. */ |
| server cluster TimeFormatLocalization = 44 { |
| 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; |
| } |
| |
| enum HourFormatEnum : enum8 { |
| k12hr = 0; |
| k24hr = 1; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kCalendarFormat = 0x1; |
| } |
| |
| attribute HourFormatEnum hourFormat = 0; |
| attribute CalendarTypeEnum activeCalendarType = 1; |
| readonly attribute 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. */ |
| server cluster PowerSource = 47 { |
| 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 nullable int32u wiredAssessedInputVoltage = 3; |
| readonly attribute nullable int16u wiredAssessedInputFrequency = 4; |
| readonly attribute WiredCurrentTypeEnum wiredCurrentType = 5; |
| readonly attribute nullable int32u wiredAssessedCurrent = 6; |
| readonly attribute int32u wiredNominalVoltage = 7; |
| readonly attribute int32u wiredMaximumCurrent = 8; |
| readonly attribute boolean wiredPresent = 9; |
| 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. */ |
| server cluster GeneralCommissioning = 48 { |
| 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; |
| } |
| |
| request struct SetRegulatoryConfigRequest { |
| RegulatoryLocationTypeEnum newRegulatoryConfig = 0; |
| char_string countryCode = 1; |
| int64u breadcrumb = 2; |
| } |
| |
| response struct ArmFailSafeResponse = 1 { |
| CommissioningErrorEnum errorCode = 0; |
| char_string debugText = 1; |
| } |
| |
| response struct SetRegulatoryConfigResponse = 3 { |
| CommissioningErrorEnum errorCode = 0; |
| char_string debugText = 1; |
| } |
| |
| response struct CommissioningCompleteResponse = 5 { |
| CommissioningErrorEnum errorCode = 0; |
| char_string debugText = 1; |
| } |
| |
| command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0; |
| command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2; |
| fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4; |
| } |
| |
| /** Functionality to configure, enable, disable network credentials and access on a Matter device. */ |
| server cluster NetworkCommissioning = 49 { |
| 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; |
| } |
| |
| 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; |
| } |
| |
| struct NetworkInfoStruct { |
| octet_string<32> networkID = 0; |
| boolean connected = 1; |
| } |
| |
| 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 int8u scanMaxTimeSeconds = 2; |
| readonly attribute 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 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; |
| } |
| |
| request struct AddOrUpdateWiFiNetworkRequest { |
| octet_string<32> ssid = 0; |
| octet_string<64> credentials = 1; |
| optional int64u breadcrumb = 2; |
| } |
| |
| request struct AddOrUpdateThreadNetworkRequest { |
| octet_string<254> operationalDataset = 0; |
| optional int64u breadcrumb = 1; |
| } |
| |
| request struct RemoveNetworkRequest { |
| octet_string<32> networkID = 0; |
| optional int64u breadcrumb = 1; |
| } |
| |
| request struct ConnectNetworkRequest { |
| octet_string<32> networkID = 0; |
| optional int64u breadcrumb = 1; |
| } |
| |
| request struct ReorderNetworkRequest { |
| octet_string<32> networkID = 0; |
| int8u networkIndex = 1; |
| optional int64u breadcrumb = 2; |
| } |
| |
| response struct ScanNetworksResponse = 1 { |
| NetworkCommissioningStatusEnum networkingStatus = 0; |
| optional char_string debugText = 1; |
| optional WiFiInterfaceScanResultStruct wiFiScanResults[] = 2; |
| optional ThreadInterfaceScanResultStruct threadScanResults[] = 3; |
| } |
| |
| response struct NetworkConfigResponse = 5 { |
| NetworkCommissioningStatusEnum networkingStatus = 0; |
| optional char_string<512> debugText = 1; |
| optional int8u networkIndex = 2; |
| } |
| |
| response struct ConnectNetworkResponse = 7 { |
| NetworkCommissioningStatusEnum networkingStatus = 0; |
| optional char_string debugText = 1; |
| nullable int32s errorValue = 2; |
| } |
| |
| command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0; |
| command access(invoke: administer) AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2; |
| command access(invoke: administer) AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3; |
| command access(invoke: administer) RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4; |
| command access(invoke: administer) ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6; |
| command access(invoke: administer) ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8; |
| } |
| |
| /** The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. */ |
| server cluster DiagnosticLogs = 50 { |
| 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; |
| } |
| |
| 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. */ |
| server cluster GeneralDiagnostics = 51 { |
| 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; |
| } |
| |
| 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 int64u upTime = 2; |
| readonly attribute int32u totalOperationalHours = 3; |
| readonly attribute BootReasonEnum bootReason = 4; |
| readonly attribute HardwareFaultEnum activeHardwareFaults[] = 5; |
| readonly attribute RadioFaultEnum activeRadioFaults[] = 6; |
| readonly attribute 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_us systemTimeUs = 0; |
| nullable epoch_us UTCTimeUs = 1; |
| } |
| |
| command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; |
| command TimeSnapshot(): TimeSnapshotResponse = 1; |
| } |
| |
| /** 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. */ |
| server cluster SoftwareDiagnostics = 52 { |
| 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 ThreadMetricsStruct threadMetrics[] = 0; |
| readonly attribute int64u currentHeapFree = 1; |
| readonly attribute int64u currentHeapUsed = 2; |
| readonly attribute 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; |
| |
| 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. */ |
| server cluster WiFiNetworkDiagnostics = 54 { |
| 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 nullable int32u beaconLostCount = 5; |
| readonly attribute nullable int32u beaconRxCount = 6; |
| readonly attribute nullable int32u packetMulticastRxCount = 7; |
| readonly attribute nullable int32u packetMulticastTxCount = 8; |
| readonly attribute nullable int32u packetUnicastRxCount = 9; |
| readonly attribute nullable int32u packetUnicastTxCount = 10; |
| readonly attribute nullable int64u currentMaxRate = 11; |
| readonly attribute 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; |
| |
| command ResetCounts(): DefaultSuccess = 0; |
| } |
| |
| /** Commands to trigger a Node to allow a new Administrator to commission it. */ |
| server cluster AdministratorCommissioning = 60 { |
| 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; |
| } |
| |
| timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0; |
| timed command access(invoke: administer) OpenBasicCommissioningWindow(OpenBasicCommissioningWindowRequest): DefaultSuccess = 1; |
| timed command access(invoke: administer) RevokeCommissioning(): DefaultSuccess = 2; |
| } |
| |
| /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ |
| server cluster OperationalCredentials = 62 { |
| enum CertificateChainTypeEnum : enum8 { |
| 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; |
| } |
| |
| request struct CertificateChainRequestRequest { |
| CertificateChainTypeEnum certificateType = 0; |
| } |
| |
| request struct CSRRequestRequest { |
| octet_string<32> CSRNonce = 0; |
| optional boolean isForUpdateNOC = 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; |
| } |
| |
| request struct UpdateFabricLabelRequest { |
| char_string<32> label = 0; |
| } |
| |
| request struct RemoveFabricRequest { |
| fabric_idx fabricIndex = 0; |
| } |
| |
| request struct AddTrustedRootCertificateRequest { |
| octet_string rootCACertificate = 0; |
| } |
| |
| response struct AttestationResponse = 1 { |
| octet_string<900> attestationElements = 0; |
| octet_string<64> attestationSignature = 1; |
| } |
| |
| response struct CertificateChainResponse = 3 { |
| octet_string<600> certificate = 0; |
| } |
| |
| response struct CSRResponse = 5 { |
| octet_string NOCSRElements = 0; |
| octet_string attestationSignature = 1; |
| } |
| |
| response struct NOCResponse = 8 { |
| NodeOperationalCertStatusEnum statusCode = 0; |
| optional fabric_idx fabricIndex = 1; |
| optional char_string<128> debugText = 2; |
| } |
| |
| command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0; |
| command access(invoke: administer) CertificateChainRequest(CertificateChainRequestRequest): CertificateChainResponse = 2; |
| command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; |
| command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; |
| fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; |
| fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; |
| command access(invoke: administer) RemoveFabric(RemoveFabricRequest): NOCResponse = 10; |
| command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; |
| } |
| |
| /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ |
| server cluster GroupKeyManagement = 63 { |
| 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; |
| } |
| |
| request struct KeySetRemoveRequest { |
| int16u groupKeySetID = 0; |
| } |
| |
| response struct KeySetReadResponse = 2 { |
| GroupKeySetStruct groupKeySet = 0; |
| } |
| |
| response struct KeySetReadAllIndicesResponse = 5 { |
| int16u groupKeySetIDs[] = 0; |
| } |
| |
| fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0; |
| fabric command access(invoke: administer) KeySetRead(KeySetReadRequest): KeySetReadResponse = 1; |
| fabric command access(invoke: administer) KeySetRemove(KeySetRemoveRequest): DefaultSuccess = 3; |
| 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. */ |
| server cluster FixedLabel = 64 { |
| 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. */ |
| server cluster UserLabel = 65 { |
| 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 controlling the color properties of a color-capable light. */ |
| server cluster ColorControl = 768 { |
| 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 int8u currentHue = 0; |
| readonly attribute int8u currentSaturation = 1; |
| readonly attribute int16u remainingTime = 2; |
| readonly attribute int16u currentX = 3; |
| readonly attribute int16u currentY = 4; |
| readonly attribute int16u colorTemperatureMireds = 7; |
| readonly attribute enum8 colorMode = 8; |
| attribute bitmap8 options = 15; |
| readonly attribute nullable int8u numberOfPrimaries = 16; |
| readonly attribute int16u enhancedCurrentHue = 16384; |
| readonly attribute enum8 enhancedColorMode = 16385; |
| readonly attribute int8u colorLoopActive = 16386; |
| readonly attribute int8u colorLoopDirection = 16387; |
| readonly attribute int16u colorLoopTime = 16388; |
| readonly attribute int16u colorLoopStartEnhancedHue = 16389; |
| readonly attribute int16u colorLoopStoredEnhancedHue = 16390; |
| readonly attribute bitmap16 colorCapabilities = 16394; |
| readonly attribute int16u colorTempPhysicalMinMireds = 16395; |
| readonly attribute int16u colorTempPhysicalMaxMireds = 16396; |
| readonly attribute int16u coupleColorTempToLevelMinMireds = 16397; |
| attribute access(write: manage) 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; |
| } |
| |
| command MoveToHue(MoveToHueRequest): DefaultSuccess = 0; |
| command MoveHue(MoveHueRequest): DefaultSuccess = 1; |
| command StepHue(StepHueRequest): DefaultSuccess = 2; |
| command MoveToSaturation(MoveToSaturationRequest): DefaultSuccess = 3; |
| command MoveSaturation(MoveSaturationRequest): DefaultSuccess = 4; |
| command StepSaturation(StepSaturationRequest): DefaultSuccess = 5; |
| command MoveToHueAndSaturation(MoveToHueAndSaturationRequest): DefaultSuccess = 6; |
| command MoveToColor(MoveToColorRequest): DefaultSuccess = 7; |
| command MoveColor(MoveColorRequest): DefaultSuccess = 8; |
| command StepColor(StepColorRequest): DefaultSuccess = 9; |
| command MoveToColorTemperature(MoveToColorTemperatureRequest): DefaultSuccess = 10; |
| command EnhancedMoveToHue(EnhancedMoveToHueRequest): DefaultSuccess = 64; |
| command EnhancedMoveHue(EnhancedMoveHueRequest): DefaultSuccess = 65; |
| command EnhancedStepHue(EnhancedStepHueRequest): DefaultSuccess = 66; |
| command EnhancedMoveToHueAndSaturation(EnhancedMoveToHueAndSaturationRequest): DefaultSuccess = 67; |
| command ColorLoopSet(ColorLoopSetRequest): DefaultSuccess = 68; |
| command StopMoveStep(StopMoveStepRequest): DefaultSuccess = 71; |
| command MoveColorTemperature(MoveColorTemperatureRequest): DefaultSuccess = 75; |
| 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; |
| ram attribute featureMap default = 0; |
| callback attribute clusterRevision default = 1; |
| } |
| |
| server cluster AccessControl { |
| emits event AccessControlEntryChanged; |
| emits event AccessControlExtensionChanged; |
| callback attribute acl; |
| callback attribute extension; |
| callback attribute subjectsPerAccessControlEntry default = 4; |
| callback attribute targetsPerAccessControlEntry default = 3; |
| callback attribute accessControlEntriesPerFabric default = 4; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0; |
| callback attribute clusterRevision default = 1; |
| } |
| |
| server cluster BasicInformation { |
| callback attribute dataModelRevision default = 10; |
| callback attribute vendorName; |
| callback attribute vendorID; |
| callback attribute productName; |
| callback attribute productID; |
| persist attribute nodeLabel; |
| callback attribute location default = "XX"; |
| callback attribute hardwareVersion default = 0; |
| callback attribute hardwareVersionString; |
| callback attribute softwareVersion default = 0; |
| callback attribute softwareVersionString; |
| callback attribute manufacturingDate default = "20210614123456ZZ"; |
| callback attribute partNumber; |
| callback attribute productURL; |
| callback attribute productLabel; |
| callback attribute serialNumber; |
| persist attribute localConfigDisabled default = 0; |
| callback attribute uniqueID; |
| callback attribute capabilityMinima; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 2; |
| } |
| |
| server cluster OtaSoftwareUpdateRequestor { |
| callback attribute defaultOTAProviders default = 0; |
| 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 default = 0; |
| callback attribute locationCapability default = 0; |
| callback attribute supportsConcurrentConnection default = 1; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| |
| handle command ArmFailSafe; |
| handle command ArmFailSafeResponse; |
| handle command SetRegulatoryConfig; |
| handle command SetRegulatoryConfigResponse; |
| handle command CommissioningComplete; |
| handle command CommissioningCompleteResponse; |
| } |
| |
| server cluster NetworkCommissioning { |
| ram attribute maxNetworks; |
| callback attribute networks; |
| ram attribute scanMaxTimeSeconds; |
| ram attribute connectMaxTimeSeconds; |
| ram attribute interfaceEnabled; |
| ram attribute lastNetworkingStatus; |
| ram attribute lastNetworkID; |
| ram attribute lastConnectErrorValue; |
| ram attribute featureMap default = 2; |
| ram attribute clusterRevision default = 1; |
| |
| handle command ScanNetworks; |
| handle command ScanNetworksResponse; |
| handle command AddOrUpdateWiFiNetwork; |
| handle command AddOrUpdateThreadNetwork; |
| handle command RemoveNetwork; |
| handle command NetworkConfigResponse; |
| handle command ConnectNetwork; |
| handle command ConnectNetworkResponse; |
| handle command ReorderNetwork; |
| } |
| |
| server cluster 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 default = 0x0000; |
| callback attribute upTime default = 0x0000000000000000; |
| callback attribute totalOperationalHours default = 0x00000000; |
| callback attribute bootReason; |
| callback attribute activeHardwareFaults; |
| callback attribute activeRadioFaults; |
| callback attribute activeNetworkFaults; |
| callback attribute testEventTriggersEnabled default = false; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 0x0002; |
| |
| handle command TestEventTrigger; |
| handle command TimeSnapshot; |
| handle command TimeSnapshotResponse; |
| } |
| |
| server cluster SoftwareDiagnostics { |
| emits event SoftwareFault; |
| callback attribute threadMetrics; |
| callback attribute currentHeapFree default = 0x0000000000000000; |
| callback attribute currentHeapUsed default = 0x0000000000000000; |
| callback attribute currentHeapHighWatermark default = 0x0000000000000000; |
| callback attribute featureMap default = 1; |
| ram attribute clusterRevision default = 1; |
| |
| handle command ResetWatermarks; |
| } |
| |
| server cluster WiFiNetworkDiagnostics { |
| callback attribute bssid; |
| callback attribute securityType; |
| callback attribute wiFiVersion; |
| callback attribute channelNumber default = 0x0000; |
| callback attribute rssi default = 0x00; |
| callback attribute beaconLostCount default = 0x00000000; |
| callback attribute beaconRxCount default = 0x00000000; |
| callback attribute packetMulticastRxCount default = 0x00000000; |
| callback attribute packetMulticastTxCount default = 0x00000000; |
| callback attribute packetUnicastRxCount default = 0x00000000; |
| callback attribute packetUnicastTxCount default = 0x00000000; |
| callback attribute currentMaxRate default = 0x0000000000000000; |
| callback attribute overrunCount default = 0x0000000000000000; |
| ram attribute featureMap default = 3; |
| ram attribute clusterRevision default = 1; |
| |
| handle command ResetCounts; |
| } |
| |
| server cluster AdministratorCommissioning { |
| callback attribute windowStatus default = 0; |
| callback attribute adminFabricIndex default = 1; |
| callback attribute adminVendorId default = 0; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| |
| handle command OpenCommissioningWindow; |
| handle command OpenBasicCommissioningWindow; |
| handle command RevokeCommissioning; |
| } |
| |
| server cluster OperationalCredentials { |
| 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 default = 0; |
| callback attribute clusterRevision default = 1; |
| |
| handle command KeySetWrite; |
| handle command KeySetRead; |
| handle command KeySetReadResponse; |
| handle command KeySetRemove; |
| handle command KeySetReadAllIndices; |
| handle command KeySetReadAllIndicesResponse; |
| } |
| |
| 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 Scenes { |
| callback attribute sceneCount default = 0x00; |
| ram attribute currentScene default = 0x00; |
| ram attribute currentGroup default = 0x0000; |
| ram attribute sceneValid default = 0x00; |
| ram attribute nameSupport default = 0x80; |
| ram attribute lastConfiguredBy; |
| ram attribute sceneTableSize default = 16; |
| callback attribute remainingCapacity default = 8; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute eventList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 7; |
| ram attribute clusterRevision default = 5; |
| |
| 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 EnhancedAddScene; |
| handle command EnhancedViewScene; |
| handle command CopyScene; |
| } |
| |
| 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 = 5; |
| |
| 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; |
| ram attribute featureMap default = 0; |
| callback attribute clusterRevision default = 1; |
| } |
| |
| 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 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; |
| } |
| } |
| |
| |