| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600 |
- // This IDL was generated automatically by ZAP.
- // It is for view/code review purposes only.
- struct ModeTagStruct {
- optional vendor_id mfgCode = 0;
- enum16 value = 1;
- }
- struct ModeOptionStruct {
- char_string<64> label = 0;
- int8u mode = 1;
- ModeTagStruct modeTags[] = 2;
- }
- struct ApplicationStruct {
- int16u catalogVendorID = 0;
- char_string applicationID = 1;
- }
- struct ErrorStateStruct {
- enum8 errorStateID = 0;
- optional char_string<64> errorStateLabel = 1;
- optional char_string<64> errorStateDetails = 2;
- }
- struct LabelStruct {
- char_string<16> label = 0;
- char_string<16> value = 1;
- }
- struct OperationalStateStruct {
- enum8 operationalStateID = 0;
- optional char_string<64> operationalStateLabel = 1;
- }
- /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */
- server cluster Identify = 3 {
- enum EffectIdentifierEnum : ENUM8 {
- kBlink = 0;
- kBreathe = 1;
- kOkay = 2;
- kChannelChange = 11;
- kFinishEffect = 254;
- kStopEffect = 255;
- }
- enum EffectVariantEnum : ENUM8 {
- kDefault = 0;
- }
- enum IdentifyTypeEnum : ENUM8 {
- kNone = 0;
- kLightOutput = 1;
- kVisibleIndicator = 2;
- kAudibleBeep = 3;
- kDisplay = 4;
- kActuator = 5;
- }
- attribute int16u identifyTime = 0;
- readonly attribute IdentifyTypeEnum identifyType = 1;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- request struct IdentifyRequest {
- INT16U identifyTime = 0;
- }
- command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0;
- }
- /** Attributes and commands for group configuration and manipulation. */
- server cluster Groups = 4 {
- bitmap Feature : BITMAP32 {
- kGroupNames = 0x1;
- }
- bitmap NameSupportBitmap : BITMAP8 {
- kGroupNames = 0x80;
- }
- readonly attribute NameSupportBitmap nameSupport = 0;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- request struct AddGroupRequest {
- group_id groupID = 0;
- CHAR_STRING groupName = 1;
- }
- request struct ViewGroupRequest {
- group_id groupID = 0;
- }
- request struct GetGroupMembershipRequest {
- group_id groupList[] = 0;
- }
- request struct RemoveGroupRequest {
- group_id groupID = 0;
- }
- request struct AddGroupIfIdentifyingRequest {
- group_id groupID = 0;
- CHAR_STRING groupName = 1;
- }
- response struct AddGroupResponse = 0 {
- ENUM8 status = 0;
- group_id groupID = 1;
- }
- response struct ViewGroupResponse = 1 {
- ENUM8 status = 0;
- group_id groupID = 1;
- CHAR_STRING groupName = 2;
- }
- response struct GetGroupMembershipResponse = 2 {
- nullable INT8U capacity = 0;
- group_id groupList[] = 1;
- }
- response struct RemoveGroupResponse = 3 {
- ENUM8 status = 0;
- group_id groupID = 1;
- }
- fabric command access(invoke: manage) AddGroup(AddGroupRequest): AddGroupResponse = 0;
- fabric command ViewGroup(ViewGroupRequest): ViewGroupResponse = 1;
- fabric command GetGroupMembership(GetGroupMembershipRequest): GetGroupMembershipResponse = 2;
- fabric command access(invoke: manage) RemoveGroup(RemoveGroupRequest): RemoveGroupResponse = 3;
- fabric command access(invoke: manage) RemoveAllGroups(): DefaultSuccess = 4;
- fabric command access(invoke: manage) AddGroupIfIdentifying(AddGroupIfIdentifyingRequest): DefaultSuccess = 5;
- }
- /** Attributes and commands for switching devices between 'On' and 'Off' states. */
- server cluster OnOff = 6 {
- enum DelayedAllOffEffectVariantEnum : ENUM8 {
- kDelayedOffFastFade = 0;
- kNoFade = 1;
- kDelayedOffSlowFade = 2;
- }
- enum DyingLightEffectVariantEnum : ENUM8 {
- kDyingLightFadeOff = 0;
- }
- enum EffectIdentifierEnum : ENUM8 {
- kDelayedAllOff = 0;
- kDyingLight = 1;
- }
- enum StartUpOnOffEnum : ENUM8 {
- kOff = 0;
- kOn = 1;
- kToggle = 2;
- }
- bitmap Feature : BITMAP32 {
- kLighting = 0x1;
- kDeadFrontBehavior = 0x2;
- }
- bitmap OnOffControlBitmap : BITMAP8 {
- kAcceptOnlyWhenOn = 0x1;
- }
- readonly attribute boolean onOff = 0;
- readonly attribute boolean globalSceneControl = 16384;
- attribute int16u onTime = 16385;
- attribute int16u offWaitTime = 16386;
- attribute access(write: manage) nullable StartUpOnOffEnum startUpOnOff = 16387;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- command Off(): DefaultSuccess = 0;
- command On(): DefaultSuccess = 1;
- command Toggle(): DefaultSuccess = 2;
- }
- /** Attributes and commands for controlling devices that can be set to a level between fully 'On' and fully 'Off.' */
- server cluster LevelControl = 8 {
- enum MoveMode : ENUM8 {
- kUp = 0;
- kDown = 1;
- }
- enum StepMode : ENUM8 {
- kUp = 0;
- kDown = 1;
- }
- bitmap Feature : BITMAP32 {
- kOnOff = 0x1;
- kLighting = 0x2;
- kFrequency = 0x4;
- }
- bitmap LevelControlOptions : BITMAP8 {
- kExecuteIfOff = 0x1;
- kCoupleColorTempToLevel = 0x2;
- }
- readonly attribute nullable int8u currentLevel = 0;
- readonly attribute int16u remainingTime = 1;
- readonly attribute int8u minLevel = 2;
- readonly attribute int8u maxLevel = 3;
- attribute LevelControlOptions options = 15;
- attribute nullable int8u onLevel = 17;
- attribute access(write: manage) nullable int8u startUpCurrentLevel = 16384;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- request struct MoveToLevelRequest {
- INT8U level = 0;
- nullable INT16U transitionTime = 1;
- LevelControlOptions optionsMask = 2;
- LevelControlOptions optionsOverride = 3;
- }
- request struct MoveRequest {
- MoveMode moveMode = 0;
- nullable INT8U rate = 1;
- LevelControlOptions optionsMask = 2;
- LevelControlOptions optionsOverride = 3;
- }
- request struct StepRequest {
- StepMode stepMode = 0;
- INT8U stepSize = 1;
- nullable INT16U transitionTime = 2;
- LevelControlOptions optionsMask = 3;
- LevelControlOptions optionsOverride = 4;
- }
- request struct StopRequest {
- LevelControlOptions optionsMask = 0;
- LevelControlOptions optionsOverride = 1;
- }
- request struct MoveToLevelWithOnOffRequest {
- INT8U level = 0;
- nullable INT16U transitionTime = 1;
- LevelControlOptions optionsMask = 2;
- LevelControlOptions optionsOverride = 3;
- }
- request struct MoveWithOnOffRequest {
- MoveMode moveMode = 0;
- nullable INT8U rate = 1;
- LevelControlOptions optionsMask = 2;
- LevelControlOptions optionsOverride = 3;
- }
- request struct StepWithOnOffRequest {
- StepMode stepMode = 0;
- INT8U stepSize = 1;
- nullable INT16U transitionTime = 2;
- LevelControlOptions optionsMask = 3;
- LevelControlOptions optionsOverride = 4;
- }
- request struct StopWithOnOffRequest {
- LevelControlOptions optionsMask = 0;
- LevelControlOptions optionsOverride = 1;
- }
- command MoveToLevel(MoveToLevelRequest): DefaultSuccess = 0;
- command Move(MoveRequest): DefaultSuccess = 1;
- command Step(StepRequest): DefaultSuccess = 2;
- command Stop(StopRequest): DefaultSuccess = 3;
- command MoveToLevelWithOnOff(MoveToLevelWithOnOffRequest): DefaultSuccess = 4;
- command MoveWithOnOff(MoveWithOnOffRequest): DefaultSuccess = 5;
- command StepWithOnOff(StepWithOnOffRequest): DefaultSuccess = 6;
- command StopWithOnOff(StopWithOnOffRequest): DefaultSuccess = 7;
- }
- /** The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */
- server cluster Descriptor = 29 {
- bitmap Feature : BITMAP32 {
- kTagList = 0x1;
- }
- struct DeviceTypeStruct {
- devtype_id deviceType = 0;
- int16u revision = 1;
- }
- struct SemanticTagStruct {
- nullable vendor_id mfgCode = 0;
- enum8 namespaceID = 1;
- enum8 tag = 2;
- optional nullable char_string label = 3;
- }
- readonly attribute DeviceTypeStruct deviceTypeList[] = 0;
- readonly attribute CLUSTER_ID serverList[] = 1;
- readonly attribute CLUSTER_ID clientList[] = 2;
- readonly attribute ENDPOINT_NO partsList[] = 3;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- }
- /** The Binding Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for supporting the binding table. */
- client cluster Binding = 30 {
- fabric_scoped struct TargetStruct {
- optional node_id node = 1;
- optional group_id group = 2;
- optional endpoint_no endpoint = 3;
- optional cluster_id cluster = 4;
- fabric_idx fabricIndex = 254;
- }
- attribute TargetStruct binding[] = 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 Access Control Cluster exposes a data model view of a
- Node's Access Control List (ACL), which codifies the rules used to manage
- and enforce Access Control for the Node's endpoints and their associated
- cluster instances. */
- server cluster AccessControl = 31 {
- enum AccessControlEntryAuthModeEnum : ENUM8 {
- kPASE = 1;
- kCASE = 2;
- kGroup = 3;
- }
- enum AccessControlEntryPrivilegeEnum : ENUM8 {
- kView = 1;
- kProxyView = 2;
- kOperate = 3;
- kManage = 4;
- kAdminister = 5;
- }
- enum ChangeTypeEnum : ENUM8 {
- kChanged = 0;
- kAdded = 1;
- kRemoved = 2;
- }
- struct AccessControlTargetStruct {
- nullable cluster_id cluster = 0;
- nullable endpoint_no endpoint = 1;
- nullable devtype_id deviceType = 2;
- }
- fabric_scoped struct AccessControlEntryStruct {
- fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
- fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
- nullable fabric_sensitive int64u subjects[] = 3;
- nullable fabric_sensitive AccessControlTargetStruct targets[] = 4;
- fabric_idx fabricIndex = 254;
- }
- fabric_scoped struct AccessControlExtensionStruct {
- fabric_sensitive octet_string<128> data = 1;
- fabric_idx fabricIndex = 254;
- }
- fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 {
- nullable node_id adminNodeID = 1;
- nullable INT16U adminPasscodeID = 2;
- ChangeTypeEnum changeType = 3;
- nullable AccessControlEntryStruct latestValue = 4;
- fabric_idx fabricIndex = 254;
- }
- fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 {
- nullable node_id adminNodeID = 1;
- nullable INT16U adminPasscodeID = 2;
- ChangeTypeEnum changeType = 3;
- nullable AccessControlExtensionStruct latestValue = 4;
- fabric_idx fabricIndex = 254;
- }
- attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
- attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
- readonly attribute int16u subjectsPerAccessControlEntry = 2;
- readonly attribute int16u targetsPerAccessControlEntry = 3;
- readonly attribute int16u accessControlEntriesPerFabric = 4;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- }
- /** This cluster provides attributes and events for determining basic information about Nodes, which supports both
- Commissioning and operational determination of Node characteristics, such as Vendor ID, Product ID and serial number,
- which apply to the whole Node. Also allows setting user device information such as location. */
- server cluster BasicInformation = 40 {
- enum ColorEnum : ENUM8 {
- kBlack = 0;
- kNavy = 1;
- kGreen = 2;
- kTeal = 3;
- kMaroon = 4;
- kPurple = 5;
- kOlive = 6;
- kGray = 7;
- kBlue = 8;
- kLime = 9;
- kAqua = 10;
- kRed = 11;
- kFuchsia = 12;
- kYellow = 13;
- kWhite = 14;
- kNickel = 15;
- kChrome = 16;
- kBrass = 17;
- kCopper = 18;
- kSilver = 19;
- kGold = 20;
- }
- enum ProductFinishEnum : ENUM8 {
- kOther = 0;
- kMatte = 1;
- kSatin = 2;
- kPolished = 3;
- kRugged = 4;
- kFabric = 5;
- }
- struct CapabilityMinimaStruct {
- int16u caseSessionsPerFabric = 0;
- int16u subscriptionsPerFabric = 1;
- }
- struct ProductAppearanceStruct {
- ProductFinishEnum finish = 0;
- nullable ColorEnum primaryColor = 1;
- }
- critical event StartUp = 0 {
- INT32U softwareVersion = 0;
- }
- critical event ShutDown = 1 {
- }
- info event Leave = 2 {
- fabric_idx fabricIndex = 0;
- }
- info event ReachableChanged = 3 {
- boolean reachableNewValue = 0;
- }
- readonly attribute int16u dataModelRevision = 0;
- readonly attribute char_string<32> vendorName = 1;
- readonly attribute vendor_id vendorID = 2;
- readonly attribute char_string<32> productName = 3;
- readonly attribute int16u productID = 4;
- attribute access(write: manage) char_string<32> nodeLabel = 5;
- attribute access(write: administer) char_string<2> location = 6;
- readonly attribute int16u hardwareVersion = 7;
- readonly attribute char_string<64> hardwareVersionString = 8;
- readonly attribute int32u softwareVersion = 9;
- readonly attribute char_string<64> softwareVersionString = 10;
- readonly attribute char_string<16> manufacturingDate = 11;
- readonly attribute char_string<32> partNumber = 12;
- readonly attribute long_char_string<256> productURL = 13;
- readonly attribute char_string<64> productLabel = 14;
- readonly attribute char_string<32> serialNumber = 15;
- attribute access(write: manage) boolean localConfigDisabled = 16;
- readonly attribute char_string<32> uniqueID = 18;
- readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- }
- /** Provides an interface for providing OTA software updates */
- client cluster OtaSoftwareUpdateProvider = 41 {
- enum OTAApplyUpdateAction : ENUM8 {
- kProceed = 0;
- kAwaitNextAction = 1;
- kDiscontinue = 2;
- }
- enum OTADownloadProtocol : ENUM8 {
- kBDXSynchronous = 0;
- kBDXAsynchronous = 1;
- kHTTPS = 2;
- kVendorSpecific = 3;
- }
- enum OTAQueryStatus : ENUM8 {
- kUpdateAvailable = 0;
- kBusy = 1;
- kNotAvailable = 2;
- kDownloadProtocolNotSupported = 3;
- }
- readonly attribute 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;
- OTADownloadProtocol protocolsSupported[] = 3;
- optional INT16U hardwareVersion = 4;
- optional CHAR_STRING<2> location = 5;
- optional BOOLEAN requestorCanConsent = 6;
- optional OCTET_STRING<512> metadataForProvider = 7;
- }
- response struct QueryImageResponse = 1 {
- OTAQueryStatus status = 0;
- optional INT32U delayedActionTime = 1;
- optional CHAR_STRING<256> imageURI = 2;
- optional INT32U softwareVersion = 3;
- optional CHAR_STRING<64> softwareVersionString = 4;
- optional OCTET_STRING<32> updateToken = 5;
- optional BOOLEAN userConsentNeeded = 6;
- optional OCTET_STRING<512> metadataForRequestor = 7;
- }
- request struct ApplyUpdateRequestRequest {
- OCTET_STRING<32> updateToken = 0;
- INT32U newVersion = 1;
- }
- response struct ApplyUpdateResponse = 3 {
- OTAApplyUpdateAction action = 0;
- INT32U delayedActionTime = 1;
- }
- request struct NotifyUpdateAppliedRequest {
- OCTET_STRING<32> updateToken = 0;
- INT32U softwareVersion = 1;
- }
- /** Determine availability of a new Software Image */
- command QueryImage(QueryImageRequest): QueryImageResponse = 0;
- /** Determine next action to take for a downloaded Software Image */
- command ApplyUpdateRequest(ApplyUpdateRequestRequest): ApplyUpdateResponse = 2;
- /** Notify OTA Provider that an update was applied */
- command NotifyUpdateApplied(NotifyUpdateAppliedRequest): DefaultSuccess = 4;
- }
- /** Provides an interface for downloading and applying OTA software updates */
- server cluster OtaSoftwareUpdateRequestor = 42 {
- enum OTAAnnouncementReason : ENUM8 {
- kSimpleAnnouncement = 0;
- kUpdateAvailable = 1;
- kUrgentUpdateAvailable = 2;
- }
- enum OTAChangeReasonEnum : ENUM8 {
- kUnknown = 0;
- kSuccess = 1;
- kFailure = 2;
- kTimeOut = 3;
- kDelayByProvider = 4;
- }
- enum OTAUpdateStateEnum : ENUM8 {
- kUnknown = 0;
- kIdle = 1;
- kQuerying = 2;
- kDelayedOnQuery = 3;
- kDownloading = 4;
- kApplying = 5;
- kDelayedOnApply = 6;
- kRollingBack = 7;
- kDelayedOnUserConsent = 8;
- }
- fabric_scoped struct ProviderLocation {
- node_id providerNodeID = 1;
- endpoint_no endpoint = 2;
- fabric_idx fabricIndex = 254;
- }
- info event StateTransition = 0 {
- OTAUpdateStateEnum previousState = 0;
- OTAUpdateStateEnum newState = 1;
- OTAChangeReasonEnum reason = 2;
- nullable INT32U targetSoftwareVersion = 3;
- }
- critical event VersionApplied = 1 {
- INT32U softwareVersion = 0;
- INT16U productID = 1;
- }
- info event DownloadError = 2 {
- INT32U softwareVersion = 0;
- INT64U bytesDownloaded = 1;
- nullable INT8U progressPercent = 2;
- nullable INT64S platformCode = 3;
- }
- attribute ProviderLocation defaultOTAProviders[] = 0;
- readonly attribute boolean updatePossible = 1;
- readonly attribute OTAUpdateStateEnum updateState = 2;
- readonly attribute nullable int8u updateStateProgress = 3;
- readonly attribute 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;
- OTAAnnouncementReason announcementReason = 2;
- optional OCTET_STRING<512> metadataForNode = 3;
- endpoint_no endpoint = 4;
- }
- command AnnounceOTAProvider(AnnounceOTAProviderRequest): DefaultSuccess = 0;
- }
- /** Nodes should be expected to be deployed to any and all regions of the world. These global regions
- may have differing common languages, units of measurements, and numerical formatting
- standards. As such, Nodes that visually or audibly convey information need a mechanism by which
- they can be configured to use a user’s preferred language, units, etc */
- server cluster LocalizationConfiguration = 43 {
- attribute char_string<35> activeLocale = 0;
- readonly attribute CHAR_STRING supportedLocales[] = 1;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- }
- /** Nodes should be expected to be deployed to any and all regions of the world. These global regions
- may have differing preferences for how dates and times are conveyed. As such, Nodes that visually
- or audibly convey time information need a mechanism by which they can be configured to use a
- user’s preferred format. */
- server cluster TimeFormatLocalization = 44 {
- enum CalendarTypeEnum : ENUM8 {
- kBuddhist = 0;
- kChinese = 1;
- kCoptic = 2;
- kEthiopian = 3;
- kGregorian = 4;
- kHebrew = 5;
- kIndian = 6;
- kIslamic = 7;
- kJapanese = 8;
- kKorean = 9;
- kPersian = 10;
- kTaiwanese = 11;
- }
- enum HourFormatEnum : ENUM8 {
- k12hr = 0;
- k24hr = 1;
- }
- bitmap Feature : BITMAP32 {
- kCalendarFormat = 0x1;
- }
- attribute HourFormatEnum hourFormat = 0;
- attribute CalendarTypeEnum activeCalendarType = 1;
- readonly attribute CalendarTypeEnum supportedCalendarTypes[] = 2;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- }
- /** This cluster is used to manage global aspects of the Commissioning flow. */
- server cluster GeneralCommissioning = 48 {
- enum CommissioningErrorEnum : ENUM8 {
- kOK = 0;
- kValueOutsideRange = 1;
- kInvalidAuthentication = 2;
- kNoFailSafe = 3;
- kBusyWithOtherAdmin = 4;
- }
- enum RegulatoryLocationTypeEnum : ENUM8 {
- kIndoor = 0;
- kOutdoor = 1;
- kIndoorOutdoor = 2;
- }
- struct BasicCommissioningInfo {
- int16u failSafeExpiryLengthSeconds = 0;
- int16u maxCumulativeFailsafeSeconds = 1;
- }
- attribute access(write: administer) int64u breadcrumb = 0;
- readonly attribute BasicCommissioningInfo basicCommissioningInfo = 1;
- readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
- readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
- readonly attribute boolean supportsConcurrentConnection = 4;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- request struct ArmFailSafeRequest {
- INT16U expiryLengthSeconds = 0;
- INT64U breadcrumb = 1;
- }
- request struct SetRegulatoryConfigRequest {
- RegulatoryLocationTypeEnum newRegulatoryConfig = 0;
- CHAR_STRING countryCode = 1;
- INT64U breadcrumb = 2;
- }
- response struct ArmFailSafeResponse = 1 {
- CommissioningErrorEnum errorCode = 0;
- CHAR_STRING debugText = 1;
- }
- response struct SetRegulatoryConfigResponse = 3 {
- CommissioningErrorEnum errorCode = 0;
- CHAR_STRING debugText = 1;
- }
- response struct CommissioningCompleteResponse = 5 {
- CommissioningErrorEnum errorCode = 0;
- CHAR_STRING debugText = 1;
- }
- command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
- command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
- fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
- }
- /** Functionality to configure, enable, disable network credentials and access on a Matter device. */
- server cluster NetworkCommissioning = 49 {
- enum NetworkCommissioningStatusEnum : ENUM8 {
- kSuccess = 0;
- kOutOfRange = 1;
- kBoundsExceeded = 2;
- kNetworkIDNotFound = 3;
- kDuplicateNetworkID = 4;
- kNetworkNotFound = 5;
- kRegulatoryError = 6;
- kAuthFailure = 7;
- kUnsupportedSecurity = 8;
- kOtherConnectionFailure = 9;
- kIPV6Failed = 10;
- kIPBindFailed = 11;
- kUnknownError = 12;
- }
- enum WiFiBandEnum : ENUM8 {
- k2G4 = 0;
- k3G65 = 1;
- k5G = 2;
- k6G = 3;
- k60G = 4;
- k1G = 5;
- }
- bitmap Feature : BITMAP32 {
- kWiFiNetworkInterface = 0x1;
- kThreadNetworkInterface = 0x2;
- kEthernetNetworkInterface = 0x4;
- }
- bitmap WiFiSecurityBitmap : BITMAP8 {
- kUnencrypted = 0x1;
- kWEP = 0x2;
- kWPAPersonal = 0x4;
- kWPA2Personal = 0x8;
- kWPA3Personal = 0x10;
- }
- struct NetworkInfoStruct {
- octet_string<32> networkID = 0;
- boolean connected = 1;
- }
- struct ThreadInterfaceScanResultStruct {
- int16u panId = 0;
- int64u extendedPanId = 1;
- char_string<16> networkName = 2;
- int16u channel = 3;
- int8u version = 4;
- octet_string<8> extendedAddress = 5;
- int8s rssi = 6;
- int8u lqi = 7;
- }
- struct WiFiInterfaceScanResultStruct {
- WiFiSecurityBitmap security = 0;
- octet_string<32> ssid = 1;
- octet_string<6> bssid = 2;
- int16u channel = 3;
- WiFiBandEnum wiFiBand = 4;
- int8s rssi = 5;
- }
- readonly attribute access(read: administer) int8u maxNetworks = 0;
- readonly attribute access(read: administer) NetworkInfoStruct networks[] = 1;
- readonly attribute int8u scanMaxTimeSeconds = 2;
- readonly attribute int8u connectMaxTimeSeconds = 3;
- attribute access(write: administer) boolean interfaceEnabled = 4;
- readonly attribute access(read: administer) nullable NetworkCommissioningStatusEnum lastNetworkingStatus = 5;
- readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6;
- readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- request struct ScanNetworksRequest {
- optional nullable OCTET_STRING<32> ssid = 0;
- optional INT64U breadcrumb = 1;
- }
- request struct AddOrUpdateWiFiNetworkRequest {
- OCTET_STRING<32> ssid = 0;
- OCTET_STRING<64> credentials = 1;
- optional INT64U breadcrumb = 2;
- }
- request struct AddOrUpdateThreadNetworkRequest {
- OCTET_STRING<254> operationalDataset = 0;
- optional INT64U breadcrumb = 1;
- }
- request struct RemoveNetworkRequest {
- OCTET_STRING<32> networkID = 0;
- optional INT64U breadcrumb = 1;
- }
- request struct ConnectNetworkRequest {
- OCTET_STRING<32> networkID = 0;
- optional INT64U breadcrumb = 1;
- }
- request struct ReorderNetworkRequest {
- OCTET_STRING<32> networkID = 0;
- INT8U networkIndex = 1;
- optional INT64U breadcrumb = 2;
- }
- response struct ScanNetworksResponse = 1 {
- NetworkCommissioningStatusEnum networkingStatus = 0;
- optional CHAR_STRING debugText = 1;
- optional WiFiInterfaceScanResultStruct wiFiScanResults[] = 2;
- optional ThreadInterfaceScanResultStruct threadScanResults[] = 3;
- }
- response struct NetworkConfigResponse = 5 {
- NetworkCommissioningStatusEnum networkingStatus = 0;
- optional CHAR_STRING<512> debugText = 1;
- optional INT8U networkIndex = 2;
- }
- response struct ConnectNetworkResponse = 7 {
- NetworkCommissioningStatusEnum networkingStatus = 0;
- optional CHAR_STRING debugText = 1;
- nullable INT32S errorValue = 2;
- }
- command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0;
- command access(invoke: administer) AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2;
- command access(invoke: administer) AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3;
- command access(invoke: administer) RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4;
- command access(invoke: administer) ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6;
- command access(invoke: administer) ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8;
- }
- /** The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. */
- server cluster DiagnosticLogs = 50 {
- enum IntentEnum : ENUM8 {
- kEndUserSupport = 0;
- kNetworkDiag = 1;
- kCrashLogs = 2;
- }
- enum StatusEnum : ENUM8 {
- kSuccess = 0;
- kExhausted = 1;
- kNoLogs = 2;
- kBusy = 3;
- kDenied = 4;
- }
- enum TransferProtocolEnum : ENUM8 {
- kResponsePayload = 0;
- kBDX = 1;
- }
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- request struct RetrieveLogsRequestRequest {
- IntentEnum intent = 0;
- TransferProtocolEnum requestedProtocol = 1;
- optional CHAR_STRING<32> transferFileDesignator = 2;
- }
- command RetrieveLogsRequest(RetrieveLogsRequestRequest): RetrieveLogsResponse = 0;
- }
- /** The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */
- server cluster GeneralDiagnostics = 51 {
- enum BootReasonEnum : ENUM8 {
- kUnspecified = 0;
- kPowerOnReboot = 1;
- kBrownOutReset = 2;
- kSoftwareWatchdogReset = 3;
- kHardwareWatchdogReset = 4;
- kSoftwareUpdateCompleted = 5;
- kSoftwareReset = 6;
- }
- enum HardwareFaultEnum : ENUM8 {
- kUnspecified = 0;
- kRadio = 1;
- kSensor = 2;
- kResettableOverTemp = 3;
- kNonResettableOverTemp = 4;
- kPowerSource = 5;
- kVisualDisplayFault = 6;
- kAudioOutputFault = 7;
- kUserInterfaceFault = 8;
- kNonVolatileMemoryError = 9;
- kTamperDetected = 10;
- }
- enum InterfaceTypeEnum : ENUM8 {
- kUnspecified = 0;
- kWiFi = 1;
- kEthernet = 2;
- kCellular = 3;
- kThread = 4;
- }
- enum NetworkFaultEnum : ENUM8 {
- kUnspecified = 0;
- kHardwareFailure = 1;
- kNetworkJammed = 2;
- kConnectionFailed = 3;
- }
- enum RadioFaultEnum : ENUM8 {
- kUnspecified = 0;
- kWiFiFault = 1;
- kCellularFault = 2;
- kThreadFault = 3;
- kNFCFault = 4;
- kBLEFault = 5;
- kEthernetFault = 6;
- }
- struct NetworkInterface {
- char_string<32> name = 0;
- boolean isOperational = 1;
- nullable boolean offPremiseServicesReachableIPv4 = 2;
- nullable boolean offPremiseServicesReachableIPv6 = 3;
- octet_string<8> hardwareAddress = 4;
- octet_string IPv4Addresses[] = 5;
- octet_string IPv6Addresses[] = 6;
- InterfaceTypeEnum type = 7;
- }
- critical event HardwareFaultChange = 0 {
- HardwareFaultEnum current[] = 0;
- HardwareFaultEnum previous[] = 1;
- }
- critical event RadioFaultChange = 1 {
- RadioFaultEnum current[] = 0;
- RadioFaultEnum previous[] = 1;
- }
- critical event NetworkFaultChange = 2 {
- NetworkFaultEnum current[] = 0;
- NetworkFaultEnum previous[] = 1;
- }
- critical event BootReason = 3 {
- BootReasonEnum bootReason = 0;
- }
- readonly attribute NetworkInterface networkInterfaces[] = 0;
- readonly attribute int16u rebootCount = 1;
- readonly attribute int64u upTime = 2;
- readonly attribute int32u totalOperationalHours = 3;
- readonly attribute BootReasonEnum bootReason = 4;
- readonly attribute HardwareFaultEnum activeHardwareFaults[] = 5;
- readonly attribute RadioFaultEnum activeRadioFaults[] = 6;
- readonly attribute NetworkFaultEnum activeNetworkFaults[] = 7;
- readonly attribute boolean testEventTriggersEnabled = 8;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- request struct TestEventTriggerRequest {
- OCTET_STRING<16> enableKey = 0;
- INT64U eventTrigger = 1;
- }
- command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0;
- }
- /** The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */
- server cluster SoftwareDiagnostics = 52 {
- bitmap Feature : BITMAP32 {
- kWaterMarks = 0x1;
- }
- struct ThreadMetricsStruct {
- int64u id = 0;
- optional char_string<8> name = 1;
- optional int32u stackFreeCurrent = 2;
- optional int32u stackFreeMinimum = 3;
- optional int32u stackSize = 4;
- }
- info event SoftwareFault = 0 {
- INT64U id = 0;
- optional CHAR_STRING name = 1;
- optional OCTET_STRING faultRecording = 2;
- }
- readonly attribute ThreadMetricsStruct threadMetrics[] = 0;
- readonly attribute int64u currentHeapFree = 1;
- readonly attribute int64u currentHeapUsed = 2;
- readonly attribute int64u currentHeapHighWatermark = 3;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- command ResetWatermarks(): DefaultSuccess = 0;
- }
- /** Commands to trigger a Node to allow a new Administrator to commission it. */
- server cluster AdministratorCommissioning = 60 {
- enum CommissioningWindowStatusEnum : ENUM8 {
- kWindowNotOpen = 0;
- kEnhancedWindowOpen = 1;
- kBasicWindowOpen = 2;
- }
- enum StatusCode : ENUM8 {
- kBusy = 2;
- kPAKEParameterError = 3;
- kWindowNotOpen = 4;
- }
- readonly attribute CommissioningWindowStatusEnum windowStatus = 0;
- readonly attribute nullable fabric_idx adminFabricIndex = 1;
- readonly attribute nullable int16u 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 salt = 4;
- }
- request struct OpenBasicCommissioningWindowRequest {
- INT16U commissioningTimeout = 0;
- }
- timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0;
- timed command access(invoke: administer) OpenBasicCommissioningWindow(OpenBasicCommissioningWindowRequest): DefaultSuccess = 1;
- timed command access(invoke: administer) RevokeCommissioning(): DefaultSuccess = 2;
- }
- /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */
- server cluster OperationalCredentials = 62 {
- enum CertificateChainTypeEnum : ENUM8 {
- kDACCertificate = 1;
- kPAICertificate = 2;
- }
- enum NodeOperationalCertStatusEnum : ENUM8 {
- kOK = 0;
- kInvalidPublicKey = 1;
- kInvalidNodeOpId = 2;
- kInvalidNOC = 3;
- kMissingCsr = 4;
- kTableFull = 5;
- kInvalidAdminSubject = 6;
- kFabricConflict = 9;
- kLabelConflict = 10;
- kInvalidFabricIndex = 11;
- }
- fabric_scoped struct FabricDescriptorStruct {
- octet_string<65> rootPublicKey = 1;
- vendor_id vendorID = 2;
- fabric_id fabricID = 3;
- node_id nodeID = 4;
- char_string<32> label = 5;
- fabric_idx fabricIndex = 254;
- }
- fabric_scoped struct NOCStruct {
- fabric_sensitive octet_string noc = 1;
- nullable fabric_sensitive octet_string icac = 2;
- fabric_idx fabricIndex = 254;
- }
- readonly attribute access(read: administer) NOCStruct NOCs[] = 0;
- readonly attribute FabricDescriptorStruct fabrics[] = 1;
- readonly attribute int8u supportedFabrics = 2;
- readonly attribute int8u commissionedFabrics = 3;
- readonly attribute OCTET_STRING trustedRootCertificates[] = 4;
- readonly attribute int8u currentFabricIndex = 5;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- request struct AttestationRequestRequest {
- OCTET_STRING attestationNonce = 0;
- }
- request struct CertificateChainRequestRequest {
- CertificateChainTypeEnum certificateType = 0;
- }
- request struct CSRRequestRequest {
- OCTET_STRING CSRNonce = 0;
- optional boolean isForUpdateNOC = 1;
- }
- request struct AddNOCRequest {
- OCTET_STRING NOCValue = 0;
- optional OCTET_STRING ICACValue = 1;
- OCTET_STRING IPKValue = 2;
- Int64u caseAdminSubject = 3;
- VENDOR_ID adminVendorId = 4;
- }
- request struct UpdateNOCRequest {
- OCTET_STRING NOCValue = 0;
- optional OCTET_STRING ICACValue = 1;
- }
- request struct UpdateFabricLabelRequest {
- CHAR_STRING<32> label = 0;
- }
- request struct RemoveFabricRequest {
- fabric_idx fabricIndex = 0;
- }
- request struct AddTrustedRootCertificateRequest {
- OCTET_STRING rootCACertificate = 0;
- }
- response struct AttestationResponse = 1 {
- OCTET_STRING attestationElements = 0;
- OCTET_STRING attestationSignature = 1;
- }
- response struct CertificateChainResponse = 3 {
- OCTET_STRING certificate = 0;
- }
- response struct CSRResponse = 5 {
- OCTET_STRING NOCSRElements = 0;
- OCTET_STRING attestationSignature = 1;
- }
- response struct NOCResponse = 8 {
- NodeOperationalCertStatusEnum statusCode = 0;
- optional fabric_idx fabricIndex = 1;
- optional CHAR_STRING debugText = 2;
- }
- command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0;
- command access(invoke: administer) CertificateChainRequest(CertificateChainRequestRequest): CertificateChainResponse = 2;
- command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4;
- command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6;
- fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7;
- fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9;
- command access(invoke: administer) RemoveFabric(RemoveFabricRequest): NOCResponse = 10;
- command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11;
- }
- /** The Group Key Management Cluster is the mechanism by which group keys are managed. */
- server cluster GroupKeyManagement = 63 {
- enum GroupKeySecurityPolicyEnum : ENUM8 {
- kTrustFirst = 0;
- kCacheAndSync = 1;
- }
- bitmap Feature : BITMAP32 {
- kCacheAndSync = 0x1;
- }
- fabric_scoped struct GroupInfoMapStruct {
- group_id groupId = 1;
- endpoint_no endpoints[] = 2;
- optional char_string<16> groupName = 3;
- fabric_idx fabricIndex = 254;
- }
- fabric_scoped struct GroupKeyMapStruct {
- group_id groupId = 1;
- int16u groupKeySetID = 2;
- fabric_idx fabricIndex = 254;
- }
- struct GroupKeySetStruct {
- int16u groupKeySetID = 0;
- GroupKeySecurityPolicyEnum groupKeySecurityPolicy = 1;
- nullable octet_string<16> epochKey0 = 2;
- nullable epoch_us epochStartTime0 = 3;
- nullable octet_string<16> epochKey1 = 4;
- nullable epoch_us epochStartTime1 = 5;
- nullable octet_string<16> epochKey2 = 6;
- nullable epoch_us epochStartTime2 = 7;
- }
- attribute access(write: manage) GroupKeyMapStruct groupKeyMap[] = 0;
- readonly attribute GroupInfoMapStruct groupTable[] = 1;
- readonly attribute int16u maxGroupsPerFabric = 2;
- readonly attribute int16u maxGroupKeysPerFabric = 3;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- request struct KeySetWriteRequest {
- GroupKeySetStruct groupKeySet = 0;
- }
- request struct KeySetReadRequest {
- INT16U groupKeySetID = 0;
- }
- request struct KeySetRemoveRequest {
- INT16U groupKeySetID = 0;
- }
- response struct KeySetReadResponse = 2 {
- GroupKeySetStruct groupKeySet = 0;
- }
- response struct KeySetReadAllIndicesResponse = 5 {
- INT16U groupKeySetIDs[] = 0;
- }
- fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0;
- fabric command access(invoke: administer) KeySetRead(KeySetReadRequest): KeySetReadResponse = 1;
- fabric command access(invoke: administer) KeySetRemove(KeySetRemoveRequest): DefaultSuccess = 3;
- fabric command access(invoke: administer) KeySetReadAllIndices(): KeySetReadAllIndicesResponse = 4;
- }
- /** The Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only
- labels. */
- server cluster FixedLabel = 64 {
- struct LabelStruct {
- char_string<16> label = 0;
- char_string<16> value = 1;
- }
- readonly attribute LabelStruct labelList[] = 0;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
- }
- /** The Sample MEI cluster showcases a cluster manufacturer extensions */
- server cluster SampleMei = 4294048800 {
- attribute boolean flipFlop = 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 AddArgumentsRequest {
- INT8U arg1 = 0;
- INT8U arg2 = 1;
- }
- response struct AddArgumentsResponse = 1 {
- INT8U returnValue = 0;
- }
- command Ping(): DefaultSuccess = 0;
- command AddArguments(AddArgumentsRequest): AddArgumentsResponse = 2;
- }
- endpoint 0 {
- device type ma_rootdevice = 22, version 1;
- binding cluster OtaSoftwareUpdateProvider;
- server cluster Descriptor {
- callback attribute deviceTypeList;
- callback attribute serverList;
- callback attribute clientList;
- callback attribute partsList;
- ram attribute featureMap default = 0;
- callback attribute clusterRevision default = 1;
- }
- server cluster AccessControl {
- emits event AccessControlEntryChanged;
- emits event AccessControlExtensionChanged;
- callback attribute acl;
- callback attribute extension;
- callback attribute subjectsPerAccessControlEntry;
- callback attribute targetsPerAccessControlEntry;
- callback attribute accessControlEntriesPerFabric;
- callback attribute attributeList;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- server cluster BasicInformation {
- emits event StartUp;
- emits event ShutDown;
- emits event Leave;
- callback attribute dataModelRevision default = 10;
- callback attribute vendorName;
- callback attribute vendorID;
- callback attribute productName;
- callback attribute productID;
- persist attribute nodeLabel;
- callback attribute location default = "XX";
- callback attribute hardwareVersion default = 0;
- callback attribute hardwareVersionString;
- callback attribute softwareVersion default = 0;
- callback attribute softwareVersionString;
- callback attribute manufacturingDate default = "20210614123456ZZ";
- callback attribute partNumber;
- callback attribute productURL;
- callback attribute productLabel;
- callback attribute serialNumber;
- persist attribute localConfigDisabled default = 0;
- callback attribute uniqueID;
- callback attribute capabilityMinima;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- 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;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- server cluster LocalizationConfiguration {
- ram attribute activeLocale;
- callback attribute supportedLocales;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- server cluster TimeFormatLocalization {
- persist attribute hourFormat default = 0;
- persist attribute activeCalendarType default = 0;
- callback attribute supportedCalendarTypes;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- server cluster GeneralCommissioning {
- ram attribute breadcrumb default = 0x0000000000000000;
- callback attribute basicCommissioningInfo;
- callback attribute regulatoryConfig default = 0;
- callback attribute locationCapability default = 0;
- callback attribute supportsConcurrentConnection default = 1;
- ram attribute featureMap default = 6;
- ram attribute clusterRevision default = 0x0001;
- }
- server cluster NetworkCommissioning {
- ram attribute maxNetworks;
- callback attribute networks;
- ram attribute scanMaxTimeSeconds;
- ram attribute connectMaxTimeSeconds;
- ram attribute interfaceEnabled;
- ram attribute lastNetworkingStatus;
- ram attribute lastNetworkID;
- ram attribute lastConnectErrorValue;
- ram attribute featureMap default = 1;
- ram attribute clusterRevision default = 0x0001;
- }
- server cluster DiagnosticLogs {
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- server cluster GeneralDiagnostics {
- emits event BootReason;
- callback attribute networkInterfaces;
- callback attribute rebootCount default = 0x0000;
- callback attribute upTime default = 0x0000000000000000;
- callback attribute totalOperationalHours default = 0x00000000;
- callback attribute bootReason;
- callback attribute activeHardwareFaults;
- callback attribute activeRadioFaults;
- callback attribute activeNetworkFaults;
- callback attribute testEventTriggersEnabled default = false;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 0x0001;
- }
- server cluster SoftwareDiagnostics {
- callback attribute threadMetrics;
- callback attribute currentHeapFree default = 0x0000000000000000;
- callback attribute currentHeapUsed default = 0x0000000000000000;
- callback attribute currentHeapHighWatermark default = 0x0000000000000000;
- ram attribute featureMap default = 1;
- ram attribute clusterRevision default = 0x0001;
- }
- server cluster AdministratorCommissioning {
- callback attribute windowStatus default = 0;
- callback attribute adminFabricIndex default = 1;
- callback attribute adminVendorId default = 0;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 0x0001;
- }
- server cluster OperationalCredentials {
- callback attribute NOCs;
- callback attribute fabrics;
- callback attribute supportedFabrics;
- callback attribute commissionedFabrics;
- callback attribute trustedRootCertificates;
- callback attribute currentFabricIndex;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 0x0001;
- }
- server cluster GroupKeyManagement {
- callback attribute groupKeyMap;
- callback attribute groupTable;
- callback attribute maxGroupsPerFabric;
- callback attribute maxGroupKeysPerFabric;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- server cluster FixedLabel {
- callback attribute labelList;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- }
- endpoint 1 {
- device type ma_onofflight = 256, version 1;
- binding cluster Binding;
- server cluster Identify {
- ram attribute identifyTime default = 0x0;
- ram attribute identifyType default = 0x0;
- callback attribute generatedCommandList default = 0;
- callback attribute acceptedCommandList default = 0;
- callback attribute attributeList default = 0;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 2;
- }
- server cluster Groups {
- ram attribute nameSupport default = 0;
- callback attribute generatedCommandList default = 0;
- callback attribute acceptedCommandList default = 0;
- callback attribute attributeList default = 0;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 3;
- }
- server cluster OnOff {
- ram attribute onOff default = 0;
- ram attribute globalSceneControl default = 1;
- ram attribute onTime default = 0;
- ram attribute offWaitTime default = 0;
- ram attribute startUpOnOff default = 0;
- callback attribute generatedCommandList default = 0;
- callback attribute acceptedCommandList default = 0;
- callback attribute attributeList default = 0;
- ram attribute featureMap default = 1;
- ram attribute clusterRevision default = 5;
- }
- server cluster LevelControl {
- ram attribute currentLevel default = 0x01;
- ram attribute remainingTime default = 0x0000;
- ram attribute minLevel default = 0x01;
- ram attribute maxLevel default = 0xFE;
- ram attribute options default = 0x01;
- ram attribute onLevel default = 0xFE;
- ram attribute startUpCurrentLevel default = 0x01;
- callback attribute generatedCommandList default = 0;
- callback attribute acceptedCommandList default = 0;
- callback attribute attributeList default = 0;
- ram attribute featureMap default = 3;
- ram attribute clusterRevision default = 5;
- }
- server cluster Descriptor {
- callback attribute deviceTypeList default = 0;
- callback attribute serverList default = 0;
- callback attribute clientList default = 0;
- callback attribute partsList default = 0;
- callback attribute generatedCommandList default = 0;
- callback attribute acceptedCommandList default = 0;
- callback attribute attributeList default = 0;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- server cluster SampleMei {
- ram attribute flipFlop default = false;
- callback attribute generatedCommandList;
- callback attribute acceptedCommandList;
- callback attribute attributeList;
- ram attribute featureMap default = 0;
- ram attribute clusterRevision default = 1;
- }
- }
|