| // This IDL was generated automatically by ZAP. |
| // It is for view/code review purposes only. |
| |
| enum AreaTypeTag : enum8 { |
| kAisle = 0; |
| kAttic = 1; |
| kBackDoor = 2; |
| kBackYard = 3; |
| kBalcony = 4; |
| kBallroom = 5; |
| kBathroom = 6; |
| kBedroom = 7; |
| kBorder = 8; |
| kBoxroom = 9; |
| kBreakfastRoom = 10; |
| kCarport = 11; |
| kCellar = 12; |
| kCloakroom = 13; |
| kCloset = 14; |
| kConservatory = 15; |
| kCorridor = 16; |
| kCraftRoom = 17; |
| kCupboard = 18; |
| kDeck = 19; |
| kDen = 20; |
| kDining = 21; |
| kDrawingRoom = 22; |
| kDressingRoom = 23; |
| kDriveway = 24; |
| kElevator = 25; |
| kEnsuite = 26; |
| kEntrance = 27; |
| kEntryway = 28; |
| kFamilyRoom = 29; |
| kFoyer = 30; |
| kFrontDoor = 31; |
| kFrontYard = 32; |
| kGameRoom = 33; |
| kGarage = 34; |
| kGarageDoor = 35; |
| kGarden = 36; |
| kGardenDoor = 37; |
| kGuestBathroom = 38; |
| kGuestBedroom = 39; |
| kGuestRestroom = 40; |
| kGuestRoom = 41; |
| kGym = 42; |
| kHallway = 43; |
| kHearthRoom = 44; |
| kKidsRoom = 45; |
| kKidsBedroom = 46; |
| kKitchen = 47; |
| kLarder = 48; |
| kLaundryRoom = 49; |
| kLawn = 50; |
| kLibrary = 51; |
| kLivingRoom = 52; |
| kLounge = 53; |
| kMediaTVRoom = 54; |
| kMudRoom = 55; |
| kMusicRoom = 56; |
| kNursery = 57; |
| kOffice = 58; |
| kOutdoorKitchen = 59; |
| kOutside = 60; |
| kPantry = 61; |
| kParkingLot = 62; |
| kParlor = 63; |
| kPatio = 64; |
| kPlayRoom = 65; |
| kPoolRoom = 66; |
| kPorch = 67; |
| kPrimaryBathroom = 68; |
| kPrimaryBedroom = 69; |
| kRamp = 70; |
| kReceptionRoom = 71; |
| kRecreationRoom = 72; |
| kRestroom = 73; |
| kRoof = 74; |
| kSauna = 75; |
| kScullery = 76; |
| kSewingRoom = 77; |
| kShed = 78; |
| kSideDoor = 79; |
| kSideYard = 80; |
| kSittingRoom = 81; |
| kSnug = 82; |
| kSpa = 83; |
| kStaircase = 84; |
| kSteamRoom = 85; |
| kStorageRoom = 86; |
| kStudio = 87; |
| kStudy = 88; |
| kSunRoom = 89; |
| kSwimmingPool = 90; |
| kTerrace = 91; |
| kUtilityRoom = 92; |
| kWard = 93; |
| kWorkshop = 94; |
| } |
| |
| enum AtomicRequestTypeEnum : enum8 { |
| kBeginWrite = 0; |
| kCommitWrite = 1; |
| kRollbackWrite = 2; |
| } |
| |
| enum FloorSurfaceTag : enum8 { |
| kCarpet = 0; |
| kCeramic = 1; |
| kConcrete = 2; |
| kCork = 3; |
| kDeepCarpet = 4; |
| kDirt = 5; |
| kEngineeredWood = 6; |
| kGlass = 7; |
| kGrass = 8; |
| kHardwood = 9; |
| kLaminate = 10; |
| kLinoleum = 11; |
| kMat = 12; |
| kMetal = 13; |
| kPlastic = 14; |
| kPolishedConcrete = 15; |
| kRubber = 16; |
| kRug = 17; |
| kSand = 18; |
| kStone = 19; |
| kTatami = 20; |
| kTerrazzo = 21; |
| kTile = 22; |
| kVinyl = 23; |
| } |
| |
| enum LandmarkTag : enum8 { |
| kAirConditioner = 0; |
| kAirPurifier = 1; |
| kBackDoor = 2; |
| kBarStool = 3; |
| kBathMat = 4; |
| kBathtub = 5; |
| kBed = 6; |
| kBookshelf = 7; |
| kChair = 8; |
| kChristmasTree = 9; |
| kCoatRack = 10; |
| kCoffeeTable = 11; |
| kCookingRange = 12; |
| kCouch = 13; |
| kCountertop = 14; |
| kCradle = 15; |
| kCrib = 16; |
| kDesk = 17; |
| kDiningTable = 18; |
| kDishwasher = 19; |
| kDoor = 20; |
| kDresser = 21; |
| kLaundryDryer = 22; |
| kFan = 23; |
| kFireplace = 24; |
| kFreezer = 25; |
| kFrontDoor = 26; |
| kHighChair = 27; |
| kKitchenIsland = 28; |
| kLamp = 29; |
| kLitterBox = 30; |
| kMirror = 31; |
| kNightstand = 32; |
| kOven = 33; |
| kPetBed = 34; |
| kPetBowl = 35; |
| kPetCrate = 36; |
| kRefrigerator = 37; |
| kScratchingPost = 38; |
| kShoeRack = 39; |
| kShower = 40; |
| kSideDoor = 41; |
| kSink = 42; |
| kSofa = 43; |
| kStove = 44; |
| kTable = 45; |
| kToilet = 46; |
| kTrashCan = 47; |
| kLaundryWasher = 48; |
| kWindow = 49; |
| kWineCooler = 50; |
| } |
| |
| enum PositionTag : enum8 { |
| kLeft = 0; |
| kRight = 1; |
| kTop = 2; |
| kBottom = 3; |
| kMiddle = 4; |
| kRow = 5; |
| kColumn = 6; |
| } |
| |
| enum RelativePositionTag : enum8 { |
| kUnder = 0; |
| kNextTo = 1; |
| kAround = 2; |
| kOn = 3; |
| kAbove = 4; |
| kFrontOf = 5; |
| kBehind = 6; |
| } |
| |
| enum TestGlobalEnum : enum8 { |
| kSomeValue = 0; |
| kSomeOtherValue = 1; |
| kFinalValue = 2; |
| } |
| |
| bitmap TestGlobalBitmap : bitmap32 { |
| kFirstBit = 0x1; |
| kSecondBit = 0x2; |
| } |
| |
| struct TestGlobalStruct { |
| char_string<128> name = 0; |
| nullable TestGlobalBitmap myBitmap = 1; |
| optional nullable TestGlobalEnum myEnum = 2; |
| } |
| |
| struct LocationDescriptorStruct { |
| char_string<128> locationName = 0; |
| nullable int16s floorNumber = 1; |
| nullable AreaTypeTag areaType = 2; |
| } |
| |
| struct AtomicAttributeStatusStruct { |
| attrib_id attributeID = 0; |
| status statusCode = 1; |
| } |
| |
| /** 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; |
| } |
| |
| /** 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 2; |
| |
| enum AccessControlEntryAuthModeEnum : enum8 { |
| kPASE = 1; |
| kCASE = 2; |
| kGroup = 3; |
| } |
| |
| enum AccessControlEntryPrivilegeEnum : enum8 { |
| kView = 1; |
| kProxyView = 2; |
| kOperate = 3; |
| kManage = 4; |
| kAdminister = 5; |
| } |
| |
| enum AccessRestrictionTypeEnum : enum8 { |
| kAttributeAccessForbidden = 0; |
| kAttributeWriteForbidden = 1; |
| kCommandForbidden = 2; |
| kEventForbidden = 3; |
| } |
| |
| enum ChangeTypeEnum : enum8 { |
| kChanged = 0; |
| kAdded = 1; |
| kRemoved = 2; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kExtension = 0x1; |
| kManagedDevice = 0x2; |
| } |
| |
| struct AccessRestrictionStruct { |
| AccessRestrictionTypeEnum type = 0; |
| nullable int32u id = 1; |
| } |
| |
| struct CommissioningAccessRestrictionEntryStruct { |
| endpoint_no endpoint = 0; |
| cluster_id cluster = 1; |
| AccessRestrictionStruct restrictions[] = 2; |
| } |
| |
| fabric_scoped struct AccessRestrictionEntryStruct { |
| fabric_sensitive endpoint_no endpoint = 0; |
| fabric_sensitive cluster_id cluster = 1; |
| fabric_sensitive AccessRestrictionStruct restrictions[] = 2; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| 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; |
| } |
| |
| fabric_sensitive info event access(read: administer) AccessRestrictionEntryChanged = 2 { |
| fabric_idx fabricIndex = 254; |
| } |
| |
| fabric_sensitive info event access(read: administer) FabricRestrictionReviewUpdate = 3 { |
| int64u token = 0; |
| nullable long_char_string instruction = 1; |
| nullable long_char_string redirectURL = 2; |
| 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 optional CommissioningAccessRestrictionEntryStruct commissioningARL[] = 5; |
| readonly attribute optional AccessRestrictionEntryStruct arl[] = 6; |
| 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 ReviewFabricRestrictionsRequest { |
| CommissioningAccessRestrictionEntryStruct arl[] = 0; |
| } |
| |
| response struct ReviewFabricRestrictionsResponse = 1 { |
| int64u token = 0; |
| } |
| |
| /** This command signals to the service associated with the device vendor that the fabric administrator would like a review of the current restrictions on the accessing fabric. */ |
| fabric command access(invoke: administer) ReviewFabricRestrictions(ReviewFabricRestrictionsRequest): DefaultSuccess = 0; |
| } |
| |
| /** 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 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; |
| } |
| |
| /** 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; |
| kRequiredTCNotAccepted = 5; |
| kTCAcknowledgementsNotReceived = 6; |
| kTCMinVersionNotMet = 7; |
| } |
| |
| enum RegulatoryLocationTypeEnum : enum8 { |
| kIndoor = 0; |
| kOutdoor = 1; |
| kIndoorOutdoor = 2; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kTermsAndConditions = 0x1; |
| } |
| |
| 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; |
| provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5; |
| provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6; |
| provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7; |
| provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 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 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; |
| } |
| |
| request struct SetTCAcknowledgementsRequest { |
| int16u TCVersion = 0; |
| bitmap16 TCUserResponse = 1; |
| } |
| |
| response struct SetTCAcknowledgementsResponse = 7 { |
| CommissioningErrorEnum errorCode = 0; |
| } |
| |
| /** 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; |
| /** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */ |
| command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6; |
| } |
| |
| /** 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; |
| provisional readonly attribute optional WiFiBandEnum supportedWiFiBands[] = 8; |
| provisional readonly attribute optional ThreadCapabilitiesBitmap supportedThreadFeatures = 9; |
| provisional 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 Thread Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems */ |
| cluster ThreadNetworkDiagnostics = 53 { |
| revision 2; |
| |
| enum ConnectionStatusEnum : enum8 { |
| kConnected = 0; |
| kNotConnected = 1; |
| } |
| |
| enum NetworkFaultEnum : enum8 { |
| kUnspecified = 0; |
| kLinkDown = 1; |
| kHardwareFailure = 2; |
| kNetworkJammed = 3; |
| } |
| |
| enum RoutingRoleEnum : enum8 { |
| kUnspecified = 0; |
| kUnassigned = 1; |
| kSleepyEndDevice = 2; |
| kEndDevice = 3; |
| kREED = 4; |
| kRouter = 5; |
| kLeader = 6; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kPacketCounts = 0x1; |
| kErrorCounts = 0x2; |
| kMLECounts = 0x4; |
| kMACCounts = 0x8; |
| } |
| |
| struct NeighborTableStruct { |
| int64u extAddress = 0; |
| int32u age = 1; |
| int16u rloc16 = 2; |
| int32u linkFrameCounter = 3; |
| int32u mleFrameCounter = 4; |
| int8u lqi = 5; |
| nullable int8s averageRssi = 6; |
| nullable int8s lastRssi = 7; |
| int8u frameErrorRate = 8; |
| int8u messageErrorRate = 9; |
| boolean rxOnWhenIdle = 10; |
| boolean fullThreadDevice = 11; |
| boolean fullNetworkData = 12; |
| boolean isChild = 13; |
| } |
| |
| struct OperationalDatasetComponents { |
| boolean activeTimestampPresent = 0; |
| boolean pendingTimestampPresent = 1; |
| boolean masterKeyPresent = 2; |
| boolean networkNamePresent = 3; |
| boolean extendedPanIdPresent = 4; |
| boolean meshLocalPrefixPresent = 5; |
| boolean delayPresent = 6; |
| boolean panIdPresent = 7; |
| boolean channelPresent = 8; |
| boolean pskcPresent = 9; |
| boolean securityPolicyPresent = 10; |
| boolean channelMaskPresent = 11; |
| } |
| |
| struct RouteTableStruct { |
| int64u extAddress = 0; |
| int16u rloc16 = 1; |
| int8u routerId = 2; |
| int8u nextHop = 3; |
| int8u pathCost = 4; |
| int8u LQIIn = 5; |
| int8u LQIOut = 6; |
| int8u age = 7; |
| boolean allocated = 8; |
| boolean linkEstablished = 9; |
| } |
| |
| struct SecurityPolicy { |
| int16u rotationTime = 0; |
| int16u flags = 1; |
| } |
| |
| info event ConnectionStatus = 0 { |
| ConnectionStatusEnum connectionStatus = 0; |
| } |
| |
| info event NetworkFaultChange = 1 { |
| NetworkFaultEnum current[] = 0; |
| NetworkFaultEnum previous[] = 1; |
| } |
| |
| readonly attribute nullable int16u channel = 0; |
| readonly attribute nullable RoutingRoleEnum routingRole = 1; |
| readonly attribute nullable char_string<16> networkName = 2; |
| readonly attribute nullable int16u panId = 3; |
| readonly attribute nullable int64u extendedPanId = 4; |
| readonly attribute nullable octet_string<17> meshLocalPrefix = 5; |
| readonly attribute optional int64u overrunCount = 6; |
| readonly attribute NeighborTableStruct neighborTable[] = 7; |
| readonly attribute RouteTableStruct routeTable[] = 8; |
| readonly attribute nullable int32u partitionId = 9; |
| readonly attribute nullable int16u weighting = 10; |
| readonly attribute nullable int16u dataVersion = 11; |
| readonly attribute nullable int16u stableDataVersion = 12; |
| readonly attribute nullable int8u leaderRouterId = 13; |
| readonly attribute optional int16u detachedRoleCount = 14; |
| readonly attribute optional int16u childRoleCount = 15; |
| readonly attribute optional int16u routerRoleCount = 16; |
| readonly attribute optional int16u leaderRoleCount = 17; |
| readonly attribute optional int16u attachAttemptCount = 18; |
| readonly attribute optional int16u partitionIdChangeCount = 19; |
| readonly attribute optional int16u betterPartitionAttachAttemptCount = 20; |
| readonly attribute optional int16u parentChangeCount = 21; |
| readonly attribute optional int32u txTotalCount = 22; |
| readonly attribute optional int32u txUnicastCount = 23; |
| readonly attribute optional int32u txBroadcastCount = 24; |
| readonly attribute optional int32u txAckRequestedCount = 25; |
| readonly attribute optional int32u txAckedCount = 26; |
| readonly attribute optional int32u txNoAckRequestedCount = 27; |
| readonly attribute optional int32u txDataCount = 28; |
| readonly attribute optional int32u txDataPollCount = 29; |
| readonly attribute optional int32u txBeaconCount = 30; |
| readonly attribute optional int32u txBeaconRequestCount = 31; |
| readonly attribute optional int32u txOtherCount = 32; |
| readonly attribute optional int32u txRetryCount = 33; |
| readonly attribute optional int32u txDirectMaxRetryExpiryCount = 34; |
| readonly attribute optional int32u txIndirectMaxRetryExpiryCount = 35; |
| readonly attribute optional int32u txErrCcaCount = 36; |
| readonly attribute optional int32u txErrAbortCount = 37; |
| readonly attribute optional int32u txErrBusyChannelCount = 38; |
| readonly attribute optional int32u rxTotalCount = 39; |
| readonly attribute optional int32u rxUnicastCount = 40; |
| readonly attribute optional int32u rxBroadcastCount = 41; |
| readonly attribute optional int32u rxDataCount = 42; |
| readonly attribute optional int32u rxDataPollCount = 43; |
| readonly attribute optional int32u rxBeaconCount = 44; |
| readonly attribute optional int32u rxBeaconRequestCount = 45; |
| readonly attribute optional int32u rxOtherCount = 46; |
| readonly attribute optional int32u rxAddressFilteredCount = 47; |
| readonly attribute optional int32u rxDestAddrFilteredCount = 48; |
| readonly attribute optional int32u rxDuplicatedCount = 49; |
| readonly attribute optional int32u rxErrNoFrameCount = 50; |
| readonly attribute optional int32u rxErrUnknownNeighborCount = 51; |
| readonly attribute optional int32u rxErrInvalidSrcAddrCount = 52; |
| readonly attribute optional int32u rxErrSecCount = 53; |
| readonly attribute optional int32u rxErrFcsCount = 54; |
| readonly attribute optional int32u rxErrOtherCount = 55; |
| readonly attribute optional nullable int64u activeTimestamp = 56; |
| readonly attribute optional nullable int64u pendingTimestamp = 57; |
| readonly attribute optional nullable int32u delay = 58; |
| readonly attribute nullable SecurityPolicy securityPolicy = 59; |
| readonly attribute nullable octet_string<4> channelPage0Mask = 60; |
| readonly attribute nullable OperationalDatasetComponents operationalDatasetComponents = 61; |
| readonly attribute NetworkFaultEnum activeNetworkFaultsList[] = 62; |
| 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 OverrunCount attributes to 0 */ |
| command access(invoke: manage) 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; |
| } |
| |
| /** Allows servers to ensure that listed clients are notified when a server is available for communication. */ |
| cluster IcdManagement = 70 { |
| revision 3; |
| |
| enum ClientTypeEnum : enum8 { |
| kPermanent = 0; |
| kEphemeral = 1; |
| } |
| |
| enum OperatingModeEnum : enum8 { |
| kSIT = 0; |
| kLIT = 1; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kCheckInProtocolSupport = 0x1; |
| kUserActiveModeTrigger = 0x2; |
| kLongIdleTimeSupport = 0x4; |
| kDynamicSitLitSupport = 0x8; |
| } |
| |
| bitmap UserActiveModeTriggerBitmap : bitmap32 { |
| kPowerCycle = 0x1; |
| kSettingsMenu = 0x2; |
| kCustomInstruction = 0x4; |
| kDeviceManual = 0x8; |
| kActuateSensor = 0x10; |
| kActuateSensorSeconds = 0x20; |
| kActuateSensorTimes = 0x40; |
| kActuateSensorLightsBlink = 0x80; |
| kResetButton = 0x100; |
| kResetButtonLightsBlink = 0x200; |
| kResetButtonSeconds = 0x400; |
| kResetButtonTimes = 0x800; |
| kSetupButton = 0x1000; |
| kSetupButtonSeconds = 0x2000; |
| kSetupButtonLightsBlink = 0x4000; |
| kSetupButtonTimes = 0x8000; |
| kAppDefinedButton = 0x10000; |
| } |
| |
| fabric_scoped struct MonitoringRegistrationStruct { |
| fabric_sensitive node_id checkInNodeID = 1; |
| fabric_sensitive int64u monitoredSubject = 2; |
| fabric_sensitive ClientTypeEnum clientType = 4; |
| fabric_idx fabricIndex = 254; |
| } |
| |
| readonly attribute int32u idleModeDuration = 0; |
| readonly attribute int32u activeModeDuration = 1; |
| readonly attribute int16u activeModeThreshold = 2; |
| readonly attribute access(read: administer) optional MonitoringRegistrationStruct registeredClients[] = 3; |
| readonly attribute access(read: administer) optional int32u ICDCounter = 4; |
| readonly attribute optional int16u clientsSupportedPerFabric = 5; |
| provisional readonly attribute optional UserActiveModeTriggerBitmap userActiveModeTriggerHint = 6; |
| provisional readonly attribute optional char_string<128> userActiveModeTriggerInstruction = 7; |
| provisional readonly attribute optional OperatingModeEnum operatingMode = 8; |
| provisional readonly attribute optional int32u maximumCheckInBackOff = 9; |
| 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 RegisterClientRequest { |
| node_id checkInNodeID = 0; |
| int64u monitoredSubject = 1; |
| octet_string<16> key = 2; |
| optional octet_string<16> verificationKey = 3; |
| ClientTypeEnum clientType = 4; |
| } |
| |
| response struct RegisterClientResponse = 1 { |
| int32u ICDCounter = 0; |
| } |
| |
| request struct UnregisterClientRequest { |
| node_id checkInNodeID = 0; |
| optional octet_string<16> verificationKey = 1; |
| } |
| |
| request struct StayActiveRequestRequest { |
| int32u stayActiveDuration = 0; |
| } |
| |
| response struct StayActiveResponse = 4 { |
| int32u promisedActiveDuration = 0; |
| } |
| |
| /** Register a client to the end device */ |
| fabric command access(invoke: manage) RegisterClient(RegisterClientRequest): RegisterClientResponse = 0; |
| /** Unregister a client from an end device */ |
| fabric command access(invoke: manage) UnregisterClient(UnregisterClientRequest): DefaultSuccess = 2; |
| /** Request the end device to stay in Active Mode for an additional ActiveModeThreshold */ |
| command access(invoke: manage) StayActiveRequest(StayActiveRequestRequest): StayActiveResponse = 3; |
| } |
| |
| /** An interface to a generic way to secure a door */ |
| cluster DoorLock = 257 { |
| revision 7; |
| |
| enum AlarmCodeEnum : enum8 { |
| kLockJammed = 0; |
| kLockFactoryReset = 1; |
| kLockRadioPowerCycled = 3; |
| kWrongCodeEntryLimit = 4; |
| kFrontEsceutcheonRemoved = 5; |
| kDoorForcedOpen = 6; |
| kDoorAjar = 7; |
| kForcedUser = 8; |
| } |
| |
| enum CredentialRuleEnum : enum8 { |
| kSingle = 0; |
| kDual = 1; |
| kTri = 2; |
| } |
| |
| enum CredentialTypeEnum : enum8 { |
| kProgrammingPIN = 0; |
| kPIN = 1; |
| kRFID = 2; |
| kFingerprint = 3; |
| kFingerVein = 4; |
| kFace = 5; |
| kAliroCredentialIssuerKey = 6; |
| kAliroEvictableEndpointKey = 7; |
| kAliroNonEvictableEndpointKey = 8; |
| } |
| |
| enum DataOperationTypeEnum : enum8 { |
| kAdd = 0; |
| kClear = 1; |
| kModify = 2; |
| } |
| |
| enum DlLockState : enum8 { |
| kNotFullyLocked = 0; |
| kLocked = 1; |
| kUnlocked = 2; |
| kUnlatched = 3; |
| } |
| |
| enum DlLockType : enum8 { |
| kDeadBolt = 0; |
| kMagnetic = 1; |
| kOther = 2; |
| kMortise = 3; |
| kRim = 4; |
| kLatchBolt = 5; |
| kCylindricalLock = 6; |
| kTubularLock = 7; |
| kInterconnectedLock = 8; |
| kDeadLatch = 9; |
| kDoorFurniture = 10; |
| kEurocylinder = 11; |
| } |
| |
| enum DlStatus : enum8 { |
| kSuccess = 0; |
| kFailure = 1; |
| kDuplicate = 2; |
| kOccupied = 3; |
| kInvalidField = 133; |
| kResourceExhausted = 137; |
| kNotFound = 139; |
| } |
| |
| enum DoorLockOperationEventCode : enum8 { |
| kUnknownOrMfgSpecific = 0; |
| kLock = 1; |
| kUnlock = 2; |
| kLockInvalidPinOrId = 3; |
| kLockInvalidSchedule = 4; |
| kUnlockInvalidPinOrId = 5; |
| kUnlockInvalidSchedule = 6; |
| kOneTouchLock = 7; |
| kKeyLock = 8; |
| kKeyUnlock = 9; |
| kAutoLock = 10; |
| kScheduleLock = 11; |
| kScheduleUnlock = 12; |
| kManualLock = 13; |
| kManualUnlock = 14; |
| } |
| |
| enum DoorLockProgrammingEventCode : enum8 { |
| kUnknownOrMfgSpecific = 0; |
| kMasterCodeChanged = 1; |
| kPinAdded = 2; |
| kPinDeleted = 3; |
| kPinChanged = 4; |
| kIdAdded = 5; |
| kIdDeleted = 6; |
| } |
| |
| enum DoorLockSetPinOrIdStatus : enum8 { |
| kSuccess = 0; |
| kGeneralFailure = 1; |
| kMemoryFull = 2; |
| kDuplicateCodeError = 3; |
| } |
| |
| enum DoorLockUserStatus : enum8 { |
| kAvailable = 0; |
| kOccupiedEnabled = 1; |
| kOccupiedDisabled = 3; |
| kNotSupported = 255; |
| } |
| |
| enum DoorLockUserType : enum8 { |
| kUnrestricted = 0; |
| kYearDayScheduleUser = 1; |
| kWeekDayScheduleUser = 2; |
| kMasterUser = 3; |
| kNonAccessUser = 4; |
| kNotSupported = 255; |
| } |
| |
| enum DoorStateEnum : enum8 { |
| kDoorOpen = 0; |
| kDoorClosed = 1; |
| kDoorJammed = 2; |
| kDoorForcedOpen = 3; |
| kDoorUnspecifiedError = 4; |
| kDoorAjar = 5; |
| } |
| |
| enum LockDataTypeEnum : enum8 { |
| kUnspecified = 0; |
| kProgrammingCode = 1; |
| kUserIndex = 2; |
| kWeekDaySchedule = 3; |
| kYearDaySchedule = 4; |
| kHolidaySchedule = 5; |
| kPIN = 6; |
| kRFID = 7; |
| kFingerprint = 8; |
| kFingerVein = 9; |
| kFace = 10; |
| kAliroCredentialIssuerKey = 11; |
| kAliroEvictableEndpointKey = 12; |
| kAliroNonEvictableEndpointKey = 13; |
| } |
| |
| enum LockOperationTypeEnum : enum8 { |
| kLock = 0; |
| kUnlock = 1; |
| kNonAccessUserEvent = 2; |
| kForcedUserEvent = 3; |
| kUnlatch = 4; |
| } |
| |
| enum OperatingModeEnum : enum8 { |
| kNormal = 0; |
| kVacation = 1; |
| kPrivacy = 2; |
| kNoRemoteLockUnlock = 3; |
| kPassage = 4; |
| } |
| |
| enum OperationErrorEnum : enum8 { |
| kUnspecified = 0; |
| kInvalidCredential = 1; |
| kDisabledUserDenied = 2; |
| kRestricted = 3; |
| kInsufficientBattery = 4; |
| } |
| |
| enum OperationSourceEnum : enum8 { |
| kUnspecified = 0; |
| kManual = 1; |
| kProprietaryRemote = 2; |
| kKeypad = 3; |
| kAuto = 4; |
| kButton = 5; |
| kSchedule = 6; |
| kRemote = 7; |
| kRFID = 8; |
| kBiometric = 9; |
| kAliro = 10; |
| } |
| |
| enum UserStatusEnum : enum8 { |
| kAvailable = 0; |
| kOccupiedEnabled = 1; |
| kOccupiedDisabled = 3; |
| } |
| |
| enum UserTypeEnum : enum8 { |
| kUnrestrictedUser = 0; |
| kYearDayScheduleUser = 1; |
| kWeekDayScheduleUser = 2; |
| kProgrammingUser = 3; |
| kNonAccessUser = 4; |
| kForcedUser = 5; |
| kDisposableUser = 6; |
| kExpiringUser = 7; |
| kScheduleRestrictedUser = 8; |
| kRemoteOnlyUser = 9; |
| } |
| |
| bitmap DaysMaskMap : bitmap8 { |
| kSunday = 0x1; |
| kMonday = 0x2; |
| kTuesday = 0x4; |
| kWednesday = 0x8; |
| kThursday = 0x10; |
| kFriday = 0x20; |
| kSaturday = 0x40; |
| } |
| |
| bitmap DlCredentialRuleMask : bitmap8 { |
| kSingle = 0x1; |
| kDual = 0x2; |
| kTri = 0x4; |
| } |
| |
| bitmap DlCredentialRulesSupport : bitmap8 { |
| kSingle = 0x1; |
| kDual = 0x2; |
| kTri = 0x4; |
| } |
| |
| bitmap DlDefaultConfigurationRegister : bitmap16 { |
| kEnableLocalProgrammingEnabled = 0x1; |
| kKeypadInterfaceDefaultAccessEnabled = 0x2; |
| kRemoteInterfaceDefaultAccessIsEnabled = 0x4; |
| kSoundEnabled = 0x20; |
| kAutoRelockTimeSet = 0x40; |
| kLEDSettingsSet = 0x80; |
| } |
| |
| bitmap DlKeypadOperationEventMask : bitmap16 { |
| kUnknown = 0x1; |
| kLock = 0x2; |
| kUnlock = 0x4; |
| kLockInvalidPIN = 0x8; |
| kLockInvalidSchedule = 0x10; |
| kUnlockInvalidCode = 0x20; |
| kUnlockInvalidSchedule = 0x40; |
| kNonAccessUserOpEvent = 0x80; |
| } |
| |
| bitmap DlKeypadProgrammingEventMask : bitmap16 { |
| kUnknown = 0x1; |
| kProgrammingPINChanged = 0x2; |
| kPINAdded = 0x4; |
| kPINCleared = 0x8; |
| kPINChanged = 0x10; |
| } |
| |
| bitmap DlLocalProgrammingFeatures : bitmap8 { |
| kAddUsersCredentialsSchedulesLocally = 0x1; |
| kModifyUsersCredentialsSchedulesLocally = 0x2; |
| kClearUsersCredentialsSchedulesLocally = 0x4; |
| kAdjustLockSettingsLocally = 0x8; |
| } |
| |
| bitmap DlManualOperationEventMask : bitmap16 { |
| kUnknown = 0x1; |
| kThumbturnLock = 0x2; |
| kThumbturnUnlock = 0x4; |
| kOneTouchLock = 0x8; |
| kKeyLock = 0x10; |
| kKeyUnlock = 0x20; |
| kAutoLock = 0x40; |
| kScheduleLock = 0x80; |
| kScheduleUnlock = 0x100; |
| kManualLock = 0x200; |
| kManualUnlock = 0x400; |
| } |
| |
| bitmap DlRFIDOperationEventMask : bitmap16 { |
| kUnknown = 0x1; |
| kLock = 0x2; |
| kUnlock = 0x4; |
| kLockInvalidRFID = 0x8; |
| kLockInvalidSchedule = 0x10; |
| kUnlockInvalidRFID = 0x20; |
| kUnlockInvalidSchedule = 0x40; |
| } |
| |
| bitmap DlRFIDProgrammingEventMask : bitmap16 { |
| kUnknown = 0x1; |
| kRFIDCodeAdded = 0x20; |
| kRFIDCodeCleared = 0x40; |
| } |
| |
| bitmap DlRemoteOperationEventMask : bitmap16 { |
| kUnknown = 0x1; |
| kLock = 0x2; |
| kUnlock = 0x4; |
| kLockInvalidCode = 0x8; |
| kLockInvalidSchedule = 0x10; |
| kUnlockInvalidCode = 0x20; |
| kUnlockInvalidSchedule = 0x40; |
| } |
| |
| bitmap DlRemoteProgrammingEventMask : bitmap16 { |
| kUnknown = 0x1; |
| kProgrammingPINChanged = 0x2; |
| kPINAdded = 0x4; |
| kPINCleared = 0x8; |
| kPINChanged = 0x10; |
| kRFIDCodeAdded = 0x20; |
| kRFIDCodeCleared = 0x40; |
| } |
| |
| bitmap DlSupportedOperatingModes : bitmap16 { |
| kNormal = 0x1; |
| kVacation = 0x2; |
| kPrivacy = 0x4; |
| kNoRemoteLockUnlock = 0x8; |
| kPassage = 0x10; |
| } |
| |
| bitmap DoorLockDayOfWeek : bitmap8 { |
| kSunday = 0x1; |
| kMonday = 0x2; |
| kTuesday = 0x4; |
| kWednesday = 0x8; |
| kThursday = 0x10; |
| kFriday = 0x20; |
| kSaturday = 0x40; |
| } |
| |
| bitmap Feature : bitmap32 { |
| kPINCredential = 0x1; |
| kRFIDCredential = 0x2; |
| kFingerCredentials = 0x4; |
| kLogging = 0x8; |
| kWeekDayAccessSchedules = 0x10; |
| kDoorPositionSensor = 0x20; |
| kFaceCredentials = 0x40; |
| kCredentialsOverTheAirAccess = 0x80; |
| kUser = 0x100; |
| kNotification = 0x200; |
| kYearDayAccessSchedules = 0x400; |
| kHolidaySchedules = 0x800; |
| kUnbolt = 0x1000; |
| kAliroProvisioning = 0x2000; |
| kAliroBLEUWB = 0x4000; |
| } |
| |
| struct CredentialStruct { |
| CredentialTypeEnum credentialType = 0; |
| int16u credentialIndex = 1; |
| } |
| |
| critical event DoorLockAlarm = 0 { |
| AlarmCodeEnum alarmCode = 0; |
| } |
| |
| critical event DoorStateChange = 1 { |
| DoorStateEnum doorState = 0; |
| } |
| |
| critical event LockOperation = 2 { |
| LockOperationTypeEnum lockOperationType = 0; |
| OperationSourceEnum operationSource = 1; |
| nullable int16u userIndex = 2; |
| nullable fabric_idx fabricIndex = 3; |
| nullable node_id sourceNode = 4; |
| optional nullable CredentialStruct credentials[] = 5; |
| } |
| |
| critical event LockOperationError = 3 { |
| LockOperationTypeEnum lockOperationType = 0; |
| OperationSourceEnum operationSource = 1; |
| OperationErrorEnum operationError = 2; |
| nullable int16u userIndex = 3; |
| nullable fabric_idx fabricIndex = 4; |
| nullable node_id sourceNode = 5; |
| optional nullable CredentialStruct credentials[] = 6; |
| } |
| |
| info event LockUserChange = 4 { |
| LockDataTypeEnum lockDataType = 0; |
| DataOperationTypeEnum dataOperationType = 1; |
| OperationSourceEnum operationSource = 2; |
| nullable int16u userIndex = 3; |
| nullable fabric_idx fabricIndex = 4; |
| nullable node_id sourceNode = 5; |
| nullable int16u dataIndex = 6; |
| } |
| |
| readonly attribute nullable DlLockState lockState = 0; |
| readonly attribute DlLockType lockType = 1; |
| readonly attribute boolean actuatorEnabled = 2; |
| readonly attribute optional nullable DoorStateEnum doorState = 3; |
| attribute access(write: manage) optional int32u doorOpenEvents = 4; |
| attribute access(write: manage) optional int32u doorClosedEvents = 5; |
| attribute access(write: manage) optional int16u openPeriod = 6; |
| readonly attribute optional int16u numberOfTotalUsersSupported = 17; |
| readonly attribute optional int16u numberOfPINUsersSupported = 18; |
| readonly attribute optional int16u numberOfRFIDUsersSupported = 19; |
| readonly attribute optional int8u numberOfWeekDaySchedulesSupportedPerUser = 20; |
| readonly attribute optional int8u numberOfYearDaySchedulesSupportedPerUser = 21; |
| readonly attribute optional int8u numberOfHolidaySchedulesSupported = 22; |
| readonly attribute optional int8u maxPINCodeLength = 23; |
| readonly attribute optional int8u minPINCodeLength = 24; |
| readonly attribute optional int8u maxRFIDCodeLength = 25; |
| readonly attribute optional int8u minRFIDCodeLength = 26; |
| readonly attribute optional DlCredentialRuleMask credentialRulesSupport = 27; |
| readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28; |
| attribute access(write: manage) optional char_string<3> language = 33; |
| attribute access(write: manage) optional int8u LEDSettings = 34; |
| attribute access(write: manage) optional int32u autoRelockTime = 35; |
| attribute access(write: manage) optional int8u soundVolume = 36; |
| attribute access(write: manage) OperatingModeEnum operatingMode = 37; |
| readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38; |
| readonly attribute optional DlDefaultConfigurationRegister defaultConfigurationRegister = 39; |
| attribute access(write: administer) optional boolean enableLocalProgramming = 40; |
| attribute access(write: manage) optional boolean enableOneTouchLocking = 41; |
| attribute access(write: manage) optional boolean enableInsideStatusLED = 42; |
| attribute access(write: manage) optional boolean enablePrivacyModeButton = 43; |
| attribute access(write: administer) optional DlLocalProgrammingFeatures localProgrammingFeatures = 44; |
| attribute access(write: administer) optional int8u wrongCodeEntryLimit = 48; |
| attribute access(write: administer) optional int8u userCodeTemporaryDisableTime = 49; |
| attribute access(write: administer) optional boolean sendPINOverTheAir = 50; |
| attribute access(write: administer) optional boolean requirePINforRemoteOperation = 51; |
| attribute access(write: administer) optional int16u expiringUserTimeout = 53; |
| provisional readonly attribute access(read: administer) optional nullable octet_string<65> aliroReaderVerificationKey = 128; |
| provisional readonly attribute access(read: administer) optional nullable octet_string<16> aliroReaderGroupIdentifier = 129; |
| provisional readonly attribute access(read: administer) optional octet_string<16> aliroReaderGroupSubIdentifier = 130; |
| provisional readonly attribute access(read: administer) optional octet_string aliroExpeditedTransactionSupportedProtocolVersions[] = 131; |
| provisional readonly attribute access(read: administer) optional nullable octet_string<16> aliroGroupResolvingKey = 132; |
| provisional readonly attribute access(read: administer) optional octet_string aliroSupportedBLEUWBProtocolVersions[] = 133; |
| provisional readonly attribute access(read: administer) optional int8u aliroBLEAdvertisingVersion = 134; |
| provisional readonly attribute optional int16u numberOfAliroCredentialIssuerKeysSupported = 135; |
| provisional readonly attribute optional int16u numberOfAliroEndpointKeysSupported = 136; |
| 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 LockDoorRequest { |
| optional octet_string PINCode = 0; |
| } |
| |
| request struct UnlockDoorRequest { |
| optional octet_string PINCode = 0; |
| } |
| |
| request struct UnlockWithTimeoutRequest { |
| int16u timeout = 0; |
| optional octet_string PINCode = 1; |
| } |
| |
| request struct SetWeekDayScheduleRequest { |
| int8u weekDayIndex = 0; |
| int16u userIndex = 1; |
| DaysMaskMap daysMask = 2; |
| int8u startHour = 3; |
| int8u startMinute = 4; |
| int8u endHour = 5; |
| int8u endMinute = 6; |
| } |
| |
| request struct GetWeekDayScheduleRequest { |
| int8u weekDayIndex = 0; |
| int16u userIndex = 1; |
| } |
| |
| response struct GetWeekDayScheduleResponse = 12 { |
| int8u weekDayIndex = 0; |
| int16u userIndex = 1; |
| DlStatus status = 2; |
| optional DaysMaskMap daysMask = 3; |
| optional int8u startHour = 4; |
| optional int8u startMinute = 5; |
| optional int8u endHour = 6; |
| optional int8u endMinute = 7; |
| } |
| |
| request struct ClearWeekDayScheduleRequest { |
| int8u weekDayIndex = 0; |
| int16u userIndex = 1; |
| } |
| |
| request struct SetYearDayScheduleRequest { |
| int8u yearDayIndex = 0; |
| int16u userIndex = 1; |
| epoch_s localStartTime = 2; |
| epoch_s localEndTime = 3; |
| } |
| |
| request struct GetYearDayScheduleRequest { |
| int8u yearDayIndex = 0; |
| int16u userIndex = 1; |
| } |
| |
| response struct GetYearDayScheduleResponse = 15 { |
| int8u yearDayIndex = 0; |
| int16u userIndex = 1; |
| DlStatus status = 2; |
| optional epoch_s localStartTime = 3; |
| optional epoch_s localEndTime = 4; |
| } |
| |
| request struct ClearYearDayScheduleRequest { |
| int8u yearDayIndex = 0; |
| int16u userIndex = 1; |
| } |
| |
| request struct SetHolidayScheduleRequest { |
| int8u holidayIndex = 0; |
| epoch_s localStartTime = 1; |
| epoch_s localEndTime = 2; |
| OperatingModeEnum operatingMode = 3; |
| } |
| |
| request struct GetHolidayScheduleRequest { |
| int8u holidayIndex = 0; |
| } |
| |
| response struct GetHolidayScheduleResponse = 18 { |
| int8u holidayIndex = 0; |
| DlStatus status = 1; |
| optional epoch_s localStartTime = 2; |
| optional epoch_s localEndTime = 3; |
| optional OperatingModeEnum operatingMode = 4; |
| } |
| |
| request struct ClearHolidayScheduleRequest { |
| int8u holidayIndex = 0; |
| } |
| |
| request struct SetUserRequest { |
| DataOperationTypeEnum operationType = 0; |
| int16u userIndex = 1; |
| nullable char_string userName = 2; |
| nullable int32u userUniqueID = 3; |
| nullable UserStatusEnum userStatus = 4; |
| nullable UserTypeEnum userType = 5; |
| nullable CredentialRuleEnum credentialRule = 6; |
| } |
| |
| request struct GetUserRequest { |
| int16u userIndex = 0; |
| } |
| |
| response struct GetUserResponse = 28 { |
| int16u userIndex = 0; |
| nullable char_string userName = 1; |
| nullable int32u userUniqueID = 2; |
| nullable UserStatusEnum userStatus = 3; |
| nullable UserTypeEnum userType = 4; |
| nullable CredentialRuleEnum credentialRule = 5; |
| nullable CredentialStruct credentials[] = 6; |
| nullable fabric_idx creatorFabricIndex = 7; |
| nullable fabric_idx lastModifiedFabricIndex = 8; |
| nullable int16u nextUserIndex = 9; |
| } |
| |
| request struct ClearUserRequest { |
| int16u userIndex = 0; |
| } |
| |
| request struct SetCredentialRequest { |
| DataOperationTypeEnum operationType = 0; |
| CredentialStruct credential = 1; |
| long_octet_string credentialData = 2; |
| nullable int16u userIndex = 3; |
| nullable UserStatusEnum userStatus = 4; |
| nullable UserTypeEnum userType = 5; |
| } |
| |
| response struct SetCredentialResponse = 35 { |
| DlStatus status = 0; |
| nullable int16u userIndex = 1; |
| nullable int16u nextCredentialIndex = 2; |
| } |
| |
| request struct GetCredentialStatusRequest { |
| CredentialStruct credential = 0; |
| } |
| |
| response struct GetCredentialStatusResponse = 37 { |
| boolean credentialExists = 0; |
| nullable int16u userIndex = 1; |
| nullable fabric_idx creatorFabricIndex = 2; |
| nullable fabric_idx lastModifiedFabricIndex = 3; |
| nullable int16u nextCredentialIndex = 4; |
| } |
| |
| request struct ClearCredentialRequest { |
| nullable CredentialStruct credential = 0; |
| } |
| |
| request struct UnboltDoorRequest { |
| optional octet_string PINCode = 0; |
| } |
| |
| request struct SetAliroReaderConfigRequest { |
| octet_string<32> signingKey = 0; |
| octet_string<65> verificationKey = 1; |
| octet_string<16> groupIdentifier = 2; |
| optional octet_string<16> groupResolvingKey = 3; |
| } |
| |
| /** This command causes the lock device to lock the door. */ |
| timed command LockDoor(LockDoorRequest): DefaultSuccess = 0; |
| /** This command causes the lock device to unlock the door. */ |
| timed command UnlockDoor(UnlockDoorRequest): DefaultSuccess = 1; |
| /** This command causes the lock device to unlock the door with a timeout parameter. */ |
| timed command UnlockWithTimeout(UnlockWithTimeoutRequest): DefaultSuccess = 3; |
| /** Set a weekly repeating schedule for a specified user. */ |
| command access(invoke: administer) SetWeekDaySchedule(SetWeekDayScheduleRequest): DefaultSuccess = 11; |
| /** Retrieve the specific weekly schedule for the specific user. */ |
| command access(invoke: administer) GetWeekDaySchedule(GetWeekDayScheduleRequest): GetWeekDayScheduleResponse = 12; |
| /** Clear the specific weekly schedule or all weekly schedules for the specific user. */ |
| command access(invoke: administer) ClearWeekDaySchedule(ClearWeekDayScheduleRequest): DefaultSuccess = 13; |
| /** Set a time-specific schedule ID for a specified user. */ |
| command access(invoke: administer) SetYearDaySchedule(SetYearDayScheduleRequest): DefaultSuccess = 14; |
| /** Returns the year day schedule data for the specified schedule and user indexes. */ |
| command access(invoke: administer) GetYearDaySchedule(GetYearDayScheduleRequest): GetYearDayScheduleResponse = 15; |
| /** Clears the specific year day schedule or all year day schedules for the specific user. */ |
| command access(invoke: administer) ClearYearDaySchedule(ClearYearDayScheduleRequest): DefaultSuccess = 16; |
| /** Set the holiday Schedule by specifying local start time and local end time with respect to any Lock Operating Mode. */ |
| command access(invoke: administer) SetHolidaySchedule(SetHolidayScheduleRequest): DefaultSuccess = 17; |
| /** Get the holiday schedule for the specified index. */ |
| command access(invoke: administer) GetHolidaySchedule(GetHolidayScheduleRequest): GetHolidayScheduleResponse = 18; |
| /** Clears the holiday schedule or all holiday schedules. */ |
| command access(invoke: administer) ClearHolidaySchedule(ClearHolidayScheduleRequest): DefaultSuccess = 19; |
| /** Set User into the lock. */ |
| timed command access(invoke: administer) SetUser(SetUserRequest): DefaultSuccess = 26; |
| /** Retrieve User. */ |
| command access(invoke: administer) GetUser(GetUserRequest): GetUserResponse = 27; |
| /** Clears a User or all Users. */ |
| timed command access(invoke: administer) ClearUser(ClearUserRequest): DefaultSuccess = 29; |
| /** Set a credential (e.g. PIN, RFID, Fingerprint, etc.) into the lock for a new user, existing user, or ProgrammingUser. */ |
| timed command access(invoke: administer) SetCredential(SetCredentialRequest): SetCredentialResponse = 34; |
| /** Retrieve the status of a particular credential (e.g. PIN, RFID, Fingerprint, etc.) by index. */ |
| command access(invoke: administer) GetCredentialStatus(GetCredentialStatusRequest): GetCredentialStatusResponse = 36; |
| /** Clear one, one type, or all credentials except ProgrammingPIN credential. */ |
| timed command access(invoke: administer) ClearCredential(ClearCredentialRequest): DefaultSuccess = 38; |
| /** This command causes the lock device to unlock the door without pulling the latch. */ |
| timed command UnboltDoor(UnboltDoorRequest): DefaultSuccess = 39; |
| /** This command communicates an Aliro Reader configuration to the lock. */ |
| timed command access(invoke: administer) SetAliroReaderConfig(SetAliroReaderConfigRequest): DefaultSuccess = 40; |
| /** This command clears an existing Aliro Reader configuration for the lock. */ |
| timed command access(invoke: administer) ClearAliroReaderConfig(): DefaultSuccess = 41; |
| } |
| |
| 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 generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| 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 generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0; |
| callback attribute clusterRevision; |
| } |
| |
| server cluster BasicInformation { |
| emits event StartUp; |
| emits event ShutDown; |
| emits event Leave; |
| 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; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 3; |
| } |
| |
| server cluster OtaSoftwareUpdateRequestor { |
| emits event StateTransition; |
| emits event VersionApplied; |
| emits event DownloadError; |
| callback attribute defaultOTAProviders; |
| ram attribute updatePossible default = 1; |
| ram attribute updateState default = 0; |
| ram attribute updateStateProgress default = 0; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| |
| handle command AnnounceOTAProvider; |
| } |
| |
| server cluster GeneralCommissioning { |
| ram attribute breadcrumb default = 0x0000000000000000; |
| callback attribute basicCommissioningInfo; |
| callback attribute regulatoryConfig; |
| callback attribute locationCapability; |
| callback attribute supportsConcurrentConnection; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| 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 supportedThreadFeatures; |
| callback attribute threadVersion; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 2; |
| ram attribute clusterRevision default = 1; |
| |
| handle command ScanNetworks; |
| handle command ScanNetworksResponse; |
| handle command AddOrUpdateThreadNetwork; |
| handle command RemoveNetwork; |
| handle command NetworkConfigResponse; |
| handle command ConnectNetwork; |
| handle command ConnectNetworkResponse; |
| handle command ReorderNetwork; |
| } |
| |
| server cluster DiagnosticLogs { |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| |
| handle command RetrieveLogsRequest; |
| handle command RetrieveLogsResponse; |
| } |
| |
| server cluster GeneralDiagnostics { |
| emits event HardwareFaultChange; |
| emits event RadioFaultChange; |
| emits event NetworkFaultChange; |
| 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 generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| callback attribute featureMap; |
| callback attribute clusterRevision; |
| |
| handle command TestEventTrigger; |
| handle command TimeSnapshot; |
| handle command TimeSnapshotResponse; |
| } |
| |
| server cluster SoftwareDiagnostics { |
| callback attribute threadMetrics; |
| callback attribute currentHeapFree; |
| callback attribute currentHeapUsed; |
| callback attribute currentHeapHighWatermark; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| callback attribute featureMap; |
| ram attribute clusterRevision default = 1; |
| |
| handle command ResetWatermarks; |
| } |
| |
| server cluster ThreadNetworkDiagnostics { |
| callback attribute channel; |
| callback attribute routingRole; |
| callback attribute networkName; |
| callback attribute panId; |
| callback attribute extendedPanId; |
| callback attribute meshLocalPrefix; |
| callback attribute overrunCount; |
| callback attribute neighborTable; |
| callback attribute routeTable; |
| callback attribute partitionId; |
| callback attribute weighting; |
| callback attribute dataVersion; |
| callback attribute stableDataVersion; |
| callback attribute leaderRouterId; |
| callback attribute detachedRoleCount; |
| callback attribute childRoleCount; |
| callback attribute routerRoleCount; |
| callback attribute leaderRoleCount; |
| callback attribute attachAttemptCount; |
| callback attribute partitionIdChangeCount; |
| callback attribute betterPartitionAttachAttemptCount; |
| callback attribute parentChangeCount; |
| callback attribute txTotalCount; |
| callback attribute txUnicastCount; |
| callback attribute txBroadcastCount; |
| callback attribute txAckRequestedCount; |
| callback attribute txAckedCount; |
| callback attribute txNoAckRequestedCount; |
| callback attribute txDataCount; |
| callback attribute txDataPollCount; |
| callback attribute txBeaconCount; |
| callback attribute txBeaconRequestCount; |
| callback attribute txOtherCount; |
| callback attribute txRetryCount; |
| callback attribute txDirectMaxRetryExpiryCount; |
| callback attribute txIndirectMaxRetryExpiryCount; |
| callback attribute txErrCcaCount; |
| callback attribute txErrAbortCount; |
| callback attribute txErrBusyChannelCount; |
| callback attribute rxTotalCount; |
| callback attribute rxUnicastCount; |
| callback attribute rxBroadcastCount; |
| callback attribute rxDataCount; |
| callback attribute rxDataPollCount; |
| callback attribute rxBeaconCount; |
| callback attribute rxBeaconRequestCount; |
| callback attribute rxOtherCount; |
| callback attribute rxAddressFilteredCount; |
| callback attribute rxDestAddrFilteredCount; |
| callback attribute rxDuplicatedCount; |
| callback attribute rxErrNoFrameCount; |
| callback attribute rxErrUnknownNeighborCount; |
| callback attribute rxErrInvalidSrcAddrCount; |
| callback attribute rxErrSecCount; |
| callback attribute rxErrFcsCount; |
| callback attribute rxErrOtherCount; |
| callback attribute securityPolicy; |
| callback attribute channelPage0Mask; |
| callback attribute operationalDatasetComponents; |
| callback attribute activeNetworkFaultsList; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0x000F; |
| ram attribute clusterRevision default = 2; |
| |
| handle command ResetCounts; |
| } |
| |
| server cluster AdministratorCommissioning { |
| callback attribute windowStatus; |
| callback attribute adminFabricIndex; |
| callback attribute adminVendorId; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 1; |
| 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; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| 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 generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| 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; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| } |
| |
| server cluster UserLabel { |
| callback attribute labelList; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0; |
| ram attribute clusterRevision default = 1; |
| } |
| |
| server cluster IcdManagement { |
| callback attribute idleModeDuration; |
| callback attribute activeModeDuration; |
| callback attribute activeModeThreshold; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute eventList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0x0000; |
| ram attribute clusterRevision default = 3; |
| } |
| } |
| endpoint 1 { |
| device type ma_doorlock = 10, version 1; |
| |
| |
| server cluster Identify { |
| ram attribute identifyTime default = 0x0000; |
| ram attribute identifyType default = 0x0; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| 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 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 Descriptor { |
| callback attribute deviceTypeList; |
| callback attribute serverList; |
| callback attribute clientList; |
| callback attribute partsList; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| callback attribute featureMap; |
| callback attribute clusterRevision; |
| } |
| |
| server cluster DoorLock { |
| emits event DoorLockAlarm; |
| emits event DoorStateChange; |
| emits event LockOperation; |
| emits event LockOperationError; |
| emits event LockUserChange; |
| persist attribute lockState default = 1; |
| ram attribute lockType; |
| ram attribute actuatorEnabled; |
| ram attribute numberOfTotalUsersSupported default = 10; |
| ram attribute numberOfPINUsersSupported default = 10; |
| ram attribute maxPINCodeLength default = 8; |
| ram attribute minPINCodeLength default = 6; |
| ram attribute credentialRulesSupport default = 1; |
| ram attribute numberOfCredentialsSupportedPerUser default = 5; |
| ram attribute autoRelockTime default = 60; |
| ram attribute operatingMode default = 0x00; |
| ram attribute supportedOperatingModes default = 0xFFF6; |
| ram attribute wrongCodeEntryLimit default = 3; |
| ram attribute userCodeTemporaryDisableTime default = 10; |
| ram attribute requirePINforRemoteOperation default = 0; |
| callback attribute generatedCommandList; |
| callback attribute acceptedCommandList; |
| callback attribute attributeList; |
| ram attribute featureMap default = 0x181; |
| ram attribute clusterRevision default = 7; |
| |
| handle command LockDoor; |
| handle command UnlockDoor; |
| handle command UnlockWithTimeout; |
| handle command SetUser; |
| handle command GetUser; |
| handle command GetUserResponse; |
| handle command ClearUser; |
| handle command SetCredential; |
| handle command SetCredentialResponse; |
| handle command GetCredentialStatus; |
| handle command GetCredentialStatusResponse; |
| handle command ClearCredential; |
| } |
| } |
| |
| |