blob: 1865188c3118afb480a03bce9b7e826b79494b55 [file] [log] [blame]
// This IDL was generated automatically by ZAP.
// It is for view/code review purposes only.
struct ApplicationStruct {
int16u catalogVendorID = 0;
char_string applicationID = 1;
}
struct LabelStruct {
char_string<16> label = 0;
char_string<16> value = 1;
}
/** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */
server cluster Identify = 3 {
enum IdentifyEffectIdentifier : ENUM8 {
kBlink = 0;
kBreathe = 1;
kOkay = 2;
kChannelChange = 11;
kFinishEffect = 254;
kStopEffect = 255;
}
enum IdentifyEffectVariant : ENUM8 {
kDefault = 0;
}
enum IdentifyIdentifyType : ENUM8 {
kNone = 0;
kVisibleLight = 1;
kVisibleLED = 2;
kAudibleBeep = 3;
kDisplay = 4;
kActuator = 5;
}
attribute int16u identifyTime = 0;
readonly attribute enum8 identifyType = 1;
readonly attribute 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 {
IdentifyEffectIdentifier effectIdentifier = 0;
IdentifyEffectVariant effectVariant = 1;
}
command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0;
command access(invoke: manage) TriggerEffect(TriggerEffectRequest): DefaultSuccess = 64;
}
/** Attributes and commands for group configuration and manipulation. */
server cluster Groups = 4 {
bitmap Feature : BITMAP32 {
kGroupNames = 0x1;
}
readonly attribute bitmap8 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 scene configuration and manipulation. */
server cluster Scenes = 5 {
bitmap Feature : BITMAP32 {
kSceneNames = 0x1;
}
bitmap ScenesCopyMode : BITMAP8 {
kCopyAllScenes = 0x1;
}
struct AttributeValuePair {
optional attrib_id attributeID = 0;
int8u attributeValue[] = 1;
}
struct ExtensionFieldSet {
cluster_id clusterID = 0;
AttributeValuePair attributeValueList[] = 1;
}
readonly attribute int8u sceneCount = 0;
readonly attribute int8u currentScene = 1;
readonly attribute group_id currentGroup = 2;
readonly attribute boolean sceneValid = 3;
readonly attribute bitmap8 nameSupport = 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 AddSceneRequest {
group_id groupID = 0;
INT8U sceneID = 1;
INT16U transitionTime = 2;
CHAR_STRING sceneName = 3;
ExtensionFieldSet extensionFieldSets[] = 4;
}
request struct ViewSceneRequest {
group_id groupID = 0;
INT8U sceneID = 1;
}
request struct RemoveSceneRequest {
group_id groupID = 0;
INT8U sceneID = 1;
}
request struct RemoveAllScenesRequest {
group_id groupID = 0;
}
request struct StoreSceneRequest {
group_id groupID = 0;
INT8U sceneID = 1;
}
request struct RecallSceneRequest {
group_id groupID = 0;
INT8U sceneID = 1;
optional nullable INT16U transitionTime = 2;
}
request struct GetSceneMembershipRequest {
group_id groupID = 0;
}
response struct AddSceneResponse = 0 {
status status = 0;
group_id groupID = 1;
INT8U sceneID = 2;
}
response struct ViewSceneResponse = 1 {
status status = 0;
group_id groupID = 1;
INT8U sceneID = 2;
optional INT16U transitionTime = 3;
optional CHAR_STRING sceneName = 4;
optional ExtensionFieldSet extensionFieldSets[] = 5;
}
response struct RemoveSceneResponse = 2 {
status status = 0;
group_id groupID = 1;
INT8U sceneID = 2;
}
response struct RemoveAllScenesResponse = 3 {
status status = 0;
group_id groupID = 1;
}
response struct StoreSceneResponse = 4 {
status status = 0;
group_id groupID = 1;
INT8U sceneID = 2;
}
response struct GetSceneMembershipResponse = 6 {
status status = 0;
nullable INT8U capacity = 1;
group_id groupID = 2;
optional INT8U sceneList[] = 3;
}
fabric command access(invoke: manage) AddScene(AddSceneRequest): AddSceneResponse = 0;
fabric command ViewScene(ViewSceneRequest): ViewSceneResponse = 1;
fabric command access(invoke: manage) RemoveScene(RemoveSceneRequest): RemoveSceneResponse = 2;
fabric command access(invoke: manage) RemoveAllScenes(RemoveAllScenesRequest): RemoveAllScenesResponse = 3;
fabric command access(invoke: manage) StoreScene(StoreSceneRequest): StoreSceneResponse = 4;
fabric command RecallScene(RecallSceneRequest): DefaultSuccess = 5;
fabric command GetSceneMembership(GetSceneMembershipRequest): GetSceneMembershipResponse = 6;
}
/** Attributes and commands for switching devices between 'On' and 'Off' states. */
client cluster OnOff = 6 {
enum OnOffDelayedAllOffEffectVariant : ENUM8 {
kFadeToOffIn0p8Seconds = 0;
kNoFade = 1;
k50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds = 2;
}
enum OnOffDyingLightEffectVariant : ENUM8 {
k20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second = 0;
}
enum OnOffEffectIdentifier : ENUM8 {
kDelayedAllOff = 0;
kDyingLight = 1;
}
enum OnOffStartUpOnOff : ENUM8 {
kOff = 0;
kOn = 1;
kTogglePreviousOnOff = 2;
}
bitmap Feature : BITMAP32 {
kLighting = 0x1;
}
bitmap OnOffControl : BITMAP8 {
kAcceptOnlyWhenOn = 0x1;
}
readonly attribute boolean onOff = 0;
readonly attribute optional boolean globalSceneControl = 16384;
attribute optional int16u onTime = 16385;
attribute optional int16u offWaitTime = 16386;
attribute access(write: manage) optional nullable OnOffStartUpOnOff startUpOnOff = 16387;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct OffWithEffectRequest {
OnOffEffectIdentifier effectIdentifier = 0;
int8u effectVariant = 1;
}
request struct OnWithTimedOffRequest {
OnOffControl onOffControl = 0;
int16u onTime = 1;
int16u offWaitTime = 2;
}
/** On receipt of this command, a device SHALL enter its ‘Off’ state. This state is device dependent, but it is recommended that it is used for power off or similar functions. On receipt of the Off command, the OnTime attribute SHALL be set to 0. */
command Off(): DefaultSuccess = 0;
/** On receipt of this command, a device SHALL enter its ‘On’ state. This state is device dependent, but it is recommended that it is used for power on or similar functions. On receipt of the On command, if the value of the OnTime attribute is equal to 0, the device SHALL set the OffWaitTime attribute to 0. */
command On(): DefaultSuccess = 1;
/** On receipt of this command, if a device is in its ‘Off’ state it SHALL enter its ‘On’ state. Otherwise, if it is in its ‘On’ state it SHALL enter its ‘Off’ state. On receipt of the Toggle command, if the value of the OnOff attribute is equal to FALSE and if the value of the OnTime attribute is equal to 0, the device SHALL set the OffWaitTime attribute to 0. If the value of the OnOff attribute is equal to TRUE, the OnTime attribute SHALL be set to 0. */
command Toggle(): DefaultSuccess = 2;
/** The OffWithEffect command allows devices to be turned off using enhanced ways of fading. */
command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64;
/** The OnWithRecallGlobalScene command allows the recall of the settings when the device was turned off. */
command OnWithRecallGlobalScene(): DefaultSuccess = 65;
/** The OnWithTimedOff command allows devices to be turned on for a specific duration with a guarded off duration so that SHOULD the device be subsequently switched off, further OnWithTimedOff commands, received during this time, are prevented from turning the devices back on. */
command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66;
}
/** Attributes and commands for switching devices between 'On' and 'Off' states. */
server cluster OnOff = 6 {
enum OnOffDelayedAllOffEffectVariant : ENUM8 {
kFadeToOffIn0p8Seconds = 0;
kNoFade = 1;
k50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds = 2;
}
enum OnOffDyingLightEffectVariant : ENUM8 {
k20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second = 0;
}
enum OnOffEffectIdentifier : ENUM8 {
kDelayedAllOff = 0;
kDyingLight = 1;
}
enum OnOffStartUpOnOff : ENUM8 {
kOff = 0;
kOn = 1;
kTogglePreviousOnOff = 2;
}
bitmap Feature : BITMAP32 {
kLighting = 0x1;
}
bitmap OnOffControl : 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 OnOffStartUpOnOff startUpOnOff = 16387;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct OffWithEffectRequest {
OnOffEffectIdentifier effectIdentifier = 0;
int8u effectVariant = 1;
}
request struct OnWithTimedOffRequest {
OnOffControl onOffControl = 0;
int16u onTime = 1;
int16u offWaitTime = 2;
}
command Off(): DefaultSuccess = 0;
command On(): DefaultSuccess = 1;
command Toggle(): DefaultSuccess = 2;
command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64;
command OnWithRecallGlobalScene(): DefaultSuccess = 65;
command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66;
}
/** 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;
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 {
struct DeviceTypeStruct {
devtype_id deviceType = 0;
int16u revision = 1;
}
readonly attribute DeviceTypeStruct deviceTypeList[] = 0;
readonly attribute CLUSTER_ID serverList[] = 1;
readonly attribute CLUSTER_ID clientList[] = 2;
readonly attribute ENDPOINT_NO partsList[] = 3;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** The Access Control Cluster exposes a data model view of a
Node's Access Control List (ACL), which codifies the rules used to manage
and enforce Access Control for the Node's endpoints and their associated
cluster instances. */
server cluster AccessControl = 31 {
enum AccessControlEntryAuthModeEnum : ENUM8 {
kPase = 1;
kCase = 2;
kGroup = 3;
}
enum AccessControlEntryPrivilegeEnum : ENUM8 {
kView = 1;
kProxyView = 2;
kOperate = 3;
kManage = 4;
kAdminister = 5;
}
enum ChangeTypeEnum : ENUM8 {
kChanged = 0;
kAdded = 1;
kRemoved = 2;
}
struct AccessControlTargetStruct {
nullable cluster_id cluster = 0;
nullable endpoint_no endpoint = 1;
nullable devtype_id deviceType = 2;
}
fabric_scoped struct AccessControlEntryStruct {
fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
nullable fabric_sensitive int64u subjects[] = 3;
nullable fabric_sensitive AccessControlTargetStruct targets[] = 4;
fabric_idx fabricIndex = 254;
}
fabric_scoped struct AccessControlExtensionStruct {
fabric_sensitive octet_string<128> data = 1;
fabric_idx fabricIndex = 254;
}
fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 {
nullable node_id adminNodeID = 1;
nullable INT16U adminPasscodeID = 2;
ChangeTypeEnum changeType = 3;
nullable AccessControlEntryStruct latestValue = 4;
fabric_idx fabricIndex = 254;
}
fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 {
nullable node_id adminNodeID = 1;
nullable INT16U adminPasscodeID = 2;
ChangeTypeEnum changeType = 3;
nullable AccessControlExtensionStruct latestValue = 4;
fabric_idx fabricIndex = 254;
}
attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
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 a standardized way for a Node (typically a Bridge, but could be any Node) to expose action information. */
server cluster Actions = 37 {
enum ActionErrorEnum : ENUM8 {
kUnknown = 0;
kInterrupted = 1;
}
enum ActionStateEnum : ENUM8 {
kInactive = 0;
kActive = 1;
kPaused = 2;
kDisabled = 3;
}
enum ActionTypeEnum : ENUM8 {
kOther = 0;
kScene = 1;
kSequence = 2;
kAutomation = 3;
kException = 4;
kNotification = 5;
kAlarm = 6;
}
enum EndpointListTypeEnum : ENUM8 {
kOther = 0;
kRoom = 1;
kZone = 2;
}
bitmap CommandBits : BITMAP16 {
kInstantAction = 0x1;
kInstantActionWithTransition = 0x2;
kStartAction = 0x4;
kStartActionWithDuration = 0x8;
kStopAction = 0x10;
kPauseAction = 0x20;
kPauseActionWithDuration = 0x40;
kResumeAction = 0x80;
kEnableAction = 0x100;
kEnableActionWithDuration = 0x200;
kDisableAction = 0x400;
kDisableActionWithDuration = 0x800;
}
struct ActionStruct {
int16u actionID = 0;
char_string<32> name = 1;
ActionTypeEnum type = 2;
int16u endpointListID = 3;
CommandBits supportedCommands = 4;
ActionStateEnum state = 5;
}
struct EndpointListStruct {
int16u endpointListID = 0;
char_string<32> name = 1;
EndpointListTypeEnum type = 2;
endpoint_no endpoints[] = 3;
}
info event StateChanged = 0 {
INT16U actionID = 0;
INT32U invokeID = 1;
ActionStateEnum newState = 2;
}
info event ActionFailed = 1 {
INT16U actionID = 0;
INT32U invokeID = 1;
ActionStateEnum newState = 2;
ActionErrorEnum error = 3;
}
readonly attribute ActionStruct actionList[] = 0;
readonly attribute EndpointListStruct endpointLists[] = 1;
readonly attribute long_char_string<512> setupURL = 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 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 boolean reachable = 17;
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;
}
/** 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 */
client 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 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;
}
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;
}
/** Nodes should be expected to be deployed to any and all regions of the world. These global regions
may have differing preferences for the units in which values are conveyed in communication to a
user. As such, Nodes that visually or audibly convey measurable values to the user need a
mechanism by which they can be configured to use a user’s preferred unit. */
client cluster UnitLocalization = 45 {
enum TempUnitEnum : ENUM8 {
kFahrenheit = 0;
kCelsius = 1;
kKelvin = 2;
}
bitmap Feature : BITMAP32 {
kTemperatureUnit = 0x1;
}
attribute optional TempUnitEnum temperatureUnit = 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;
}
/** Nodes should be expected to be deployed to any and all regions of the world. These global regions
may have differing preferences for the units in which values are conveyed in communication to a
user. As such, Nodes that visually or audibly convey measurable values to the user need a
mechanism by which they can be configured to use a user’s preferred unit. */
server cluster UnitLocalization = 45 {
enum TempUnitEnum : ENUM8 {
kFahrenheit = 0;
kCelsius = 1;
kKelvin = 2;
}
bitmap Feature : BITMAP32 {
kTemperatureUnit = 0x1;
}
attribute TempUnitEnum temperatureUnit = 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;
}
/** This cluster is used to describe the configuration and capabilities of a Device's power system. */
server cluster PowerSourceConfiguration = 46 {
readonly attribute INT8U sources[] = 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;
}
/** This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. */
server cluster PowerSource = 47 {
enum BatApprovedChemistryEnum : ENUM16 {
kUnspecified = 0;
kAlkaline = 1;
kLithiumCarbonFluoride = 2;
kLithiumChromiumOxide = 3;
kLithiumCopperOxide = 4;
kLithiumIronDisulfide = 5;
kLithiumManganeseDioxide = 6;
kLithiumThionylChloride = 7;
kMagnesium = 8;
kMercuryOxide = 9;
kNickelOxyhydride = 10;
kSilverOxide = 11;
kZincAir = 12;
kZincCarbon = 13;
kZincChloride = 14;
kZincManganeseDioxide = 15;
kLeadAcid = 16;
kLithiumCobaltOxide = 17;
kLithiumIon = 18;
kLithiumIonPolymer = 19;
kLithiumIronPhosphate = 20;
kLithiumSulfur = 21;
kLithiumTitanate = 22;
kNickelCadmium = 23;
kNickelHydrogen = 24;
kNickelIron = 25;
kNickelMetalHydride = 26;
kNickelZinc = 27;
kSilverZinc = 28;
kSodiumIon = 29;
kSodiumSulfur = 30;
kZincBromide = 31;
kZincCerium = 32;
}
enum BatChargeFaultEnum : ENUM8 {
kUnspecified = 0;
kAmbientTooHot = 1;
kAmbientTooCold = 2;
kBatteryTooHot = 3;
kBatteryTooCold = 4;
kBatteryAbsent = 5;
kBatteryOverVoltage = 6;
kBatteryUnderVoltage = 7;
kChargerOverVoltage = 8;
kChargerUnderVoltage = 9;
kSafetyTimeout = 10;
}
enum BatChargeLevelEnum : ENUM8 {
kOk = 0;
kWarning = 1;
kCritical = 2;
}
enum BatChargeStateEnum : ENUM8 {
kUnknown = 0;
kIsCharging = 1;
kIsAtFullCharge = 2;
kIsNotCharging = 3;
}
enum BatCommonDesignationEnum : ENUM16 {
kUnspecified = 0;
kAaa = 1;
kAa = 2;
kC = 3;
kD = 4;
k4v5 = 5;
k6v0 = 6;
k9v0 = 7;
k12aa = 8;
kAaaa = 9;
kA = 10;
kB = 11;
kF = 12;
kN = 13;
kNo6 = 14;
kSubC = 15;
kA23 = 16;
kA27 = 17;
kBa5800 = 18;
kDuplex = 19;
k4sr44 = 20;
k523 = 21;
k531 = 22;
k15v0 = 23;
k22v5 = 24;
k30v0 = 25;
k45v0 = 26;
k67v5 = 27;
kJ = 28;
kCr123a = 29;
kCr2 = 30;
k2cr5 = 31;
kCrP2 = 32;
kCrV3 = 33;
kSr41 = 34;
kSr43 = 35;
kSr44 = 36;
kSr45 = 37;
kSr48 = 38;
kSr54 = 39;
kSr55 = 40;
kSr57 = 41;
kSr58 = 42;
kSr59 = 43;
kSr60 = 44;
kSr63 = 45;
kSr64 = 46;
kSr65 = 47;
kSr66 = 48;
kSr67 = 49;
kSr68 = 50;
kSr69 = 51;
kSr516 = 52;
kSr731 = 53;
kSr712 = 54;
kLr932 = 55;
kA5 = 56;
kA10 = 57;
kA13 = 58;
kA312 = 59;
kA675 = 60;
kAc41e = 61;
k10180 = 62;
k10280 = 63;
k10440 = 64;
k14250 = 65;
k14430 = 66;
k14500 = 67;
k14650 = 68;
k15270 = 69;
k16340 = 70;
kRcr123a = 71;
k17500 = 72;
k17670 = 73;
k18350 = 74;
k18500 = 75;
k18650 = 76;
k19670 = 77;
k25500 = 78;
k26650 = 79;
k32600 = 80;
}
enum BatFaultEnum : ENUM8 {
kUnspecified = 0;
kOverTemp = 1;
kUnderTemp = 2;
}
enum BatReplaceabilityEnum : ENUM8 {
kUnspecified = 0;
kNotReplaceable = 1;
kUserReplaceable = 2;
kFactoryReplaceable = 3;
}
enum PowerSourceStatusEnum : ENUM8 {
kUnspecified = 0;
kActive = 1;
kStandby = 2;
kUnavailable = 3;
}
enum WiredCurrentTypeEnum : ENUM8 {
kAc = 0;
kDc = 1;
}
enum WiredFaultEnum : ENUM8 {
kUnspecified = 0;
kOverVoltage = 1;
kUnderVoltage = 2;
}
bitmap Feature : BITMAP32 {
kWired = 0x1;
kBattery = 0x2;
kRechargeable = 0x4;
kReplaceable = 0x8;
}
struct BatChargeFaultChangeType {
BatChargeFaultEnum current[] = 0;
BatChargeFaultEnum previous[] = 1;
}
struct BatFaultChangeType {
BatFaultEnum current[] = 0;
BatFaultEnum previous[] = 1;
}
struct WiredFaultChangeType {
WiredFaultEnum current[] = 0;
WiredFaultEnum previous[] = 1;
}
info event WiredFaultChange = 0 {
WiredFaultEnum current[] = 0;
WiredFaultEnum previous[] = 1;
}
info event BatFaultChange = 1 {
BatFaultEnum current[] = 0;
BatFaultEnum previous[] = 1;
}
info event BatChargeFaultChange = 2 {
BatChargeFaultEnum current[] = 0;
BatChargeFaultEnum previous[] = 1;
}
readonly attribute PowerSourceStatusEnum status = 0;
readonly attribute int8u order = 1;
readonly attribute char_string<60> description = 2;
readonly attribute nullable int32u wiredAssessedInputVoltage = 3;
readonly attribute nullable int16u wiredAssessedInputFrequency = 4;
readonly attribute WiredCurrentTypeEnum wiredCurrentType = 5;
readonly attribute nullable int32u wiredAssessedCurrent = 6;
readonly attribute int32u wiredNominalVoltage = 7;
readonly attribute int32u wiredMaximumCurrent = 8;
readonly attribute boolean wiredPresent = 9;
readonly attribute WiredFaultEnum activeWiredFaults[] = 10;
readonly attribute nullable int32u batVoltage = 11;
readonly attribute nullable int8u batPercentRemaining = 12;
readonly attribute nullable int32u batTimeRemaining = 13;
readonly attribute BatChargeLevelEnum batChargeLevel = 14;
readonly attribute boolean batReplacementNeeded = 15;
readonly attribute BatReplaceabilityEnum batReplaceability = 16;
readonly attribute boolean batPresent = 17;
readonly attribute BatFaultEnum activeBatFaults[] = 18;
readonly attribute char_string<60> batReplacementDescription = 19;
readonly attribute BatCommonDesignationEnum batCommonDesignation = 20;
readonly attribute char_string<20> batANSIDesignation = 21;
readonly attribute char_string<20> batIECDesignation = 22;
readonly attribute BatApprovedChemistryEnum batApprovedChemistry = 23;
readonly attribute int32u batCapacity = 24;
readonly attribute int8u batQuantity = 25;
readonly attribute BatChargeStateEnum batChargeState = 26;
readonly attribute nullable int32u batTimeToFullCharge = 27;
readonly attribute boolean batFunctionalWhileCharging = 28;
readonly attribute nullable int32u batChargingCurrent = 29;
readonly attribute BatChargeFaultEnum activeBatChargeFaults[] = 30;
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. */
client 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;
}
response struct ArmFailSafeResponse = 1 {
CommissioningErrorEnum errorCode = 0;
CHAR_STRING debugText = 1;
}
request struct SetRegulatoryConfigRequest {
RegulatoryLocationTypeEnum newRegulatoryConfig = 0;
CHAR_STRING countryCode = 1;
INT64U breadcrumb = 2;
}
response struct SetRegulatoryConfigResponse = 3 {
CommissioningErrorEnum errorCode = 0;
CHAR_STRING debugText = 1;
}
response struct CommissioningCompleteResponse = 5 {
CommissioningErrorEnum errorCode = 0;
CHAR_STRING debugText = 1;
}
/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
}
/** 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 NetworkCommissioningStatus : ENUM8 {
kSuccess = 0;
kOutOfRange = 1;
kBoundsExceeded = 2;
kNetworkIDNotFound = 3;
kDuplicateNetworkID = 4;
kNetworkNotFound = 5;
kRegulatoryError = 6;
kAuthFailure = 7;
kUnsupportedSecurity = 8;
kOtherConnectionFailure = 9;
kIPV6Failed = 10;
kIPBindFailed = 11;
kUnknownError = 12;
}
enum WiFiBand : ENUM8 {
k2g4 = 0;
k3g65 = 1;
k5g = 2;
k6g = 3;
k60g = 4;
}
bitmap Feature : BITMAP32 {
kWiFiNetworkInterface = 0x1;
kThreadNetworkInterface = 0x2;
kEthernetNetworkInterface = 0x4;
}
bitmap WiFiSecurity : BITMAP8 {
kUnencrypted = 0x1;
kWep = 0x2;
kWpaPersonal = 0x4;
kWpa2Personal = 0x8;
kWpa3Personal = 0x10;
}
struct NetworkInfo {
octet_string<32> networkID = 0;
boolean connected = 1;
}
struct ThreadInterfaceScanResult {
int16u panId = 0;
int64u extendedPanId = 1;
char_string<16> networkName = 2;
int16u channel = 3;
int8u version = 4;
octet_string<8> extendedAddress = 5;
int8s rssi = 6;
int8u lqi = 7;
}
struct WiFiInterfaceScanResult {
WiFiSecurity security = 0;
octet_string<32> ssid = 1;
octet_string<6> bssid = 2;
int16u channel = 3;
WiFiBand wiFiBand = 4;
int8s rssi = 5;
}
readonly attribute access(read: administer) int8u maxNetworks = 0;
readonly attribute access(read: administer) NetworkInfo networks[] = 1;
readonly attribute int8u scanMaxTimeSeconds = 2;
readonly attribute int8u connectMaxTimeSeconds = 3;
attribute access(write: administer) boolean interfaceEnabled = 4;
readonly attribute access(read: administer) nullable NetworkCommissioningStatus lastNetworkingStatus = 5;
readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6;
readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7;
readonly attribute 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 {
NetworkCommissioningStatus networkingStatus = 0;
optional CHAR_STRING debugText = 1;
optional WiFiInterfaceScanResult wiFiScanResults[] = 2;
optional ThreadInterfaceScanResult threadScanResults[] = 3;
}
response struct NetworkConfigResponse = 5 {
NetworkCommissioningStatus networkingStatus = 0;
optional CHAR_STRING<512> debugText = 1;
optional INT8U networkIndex = 2;
}
response struct ConnectNetworkResponse = 7 {
NetworkCommissioningStatus networkingStatus = 0;
optional CHAR_STRING debugText = 1;
nullable INT32S errorValue = 2;
}
command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0;
command access(invoke: administer) AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2;
command access(invoke: administer) AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3;
command access(invoke: administer) RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4;
command access(invoke: administer) ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6;
command access(invoke: administer) ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8;
}
/** 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;
}
/** The Wi-Fi Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */
server cluster WiFiNetworkDiagnostics = 54 {
enum AssociationFailureCauseEnum : ENUM8 {
kUnknown = 0;
kAssociationFailed = 1;
kAuthenticationFailed = 2;
kSsidNotFound = 3;
}
enum ConnectionStatusEnum : ENUM8 {
kConnected = 0;
kNotConnected = 1;
}
enum SecurityTypeEnum : ENUM8 {
kUnspecified = 0;
kNone = 1;
kWep = 2;
kWpa = 3;
kWpa2 = 4;
kWpa3 = 5;
}
enum WiFiVersionEnum : ENUM8 {
kA = 0;
kB = 1;
kG = 2;
kN = 3;
kAc = 4;
kAx = 5;
}
bitmap Feature : BITMAP32 {
kPacketCounts = 0x1;
kErrorCounts = 0x2;
}
info event Disconnection = 0 {
INT16U reasonCode = 0;
}
info event AssociationFailure = 1 {
AssociationFailureCauseEnum associationFailure = 0;
INT16U status = 1;
}
info event ConnectionStatus = 2 {
ConnectionStatusEnum connectionStatus = 0;
}
readonly attribute nullable octet_string<6> bssid = 0;
readonly attribute nullable SecurityTypeEnum securityType = 1;
readonly attribute nullable WiFiVersionEnum wiFiVersion = 2;
readonly attribute nullable int16u channelNumber = 3;
readonly attribute nullable int8s rssi = 4;
readonly attribute nullable int32u beaconLostCount = 5;
readonly attribute nullable int32u beaconRxCount = 6;
readonly attribute nullable int32u packetMulticastRxCount = 7;
readonly attribute nullable int32u packetMulticastTxCount = 8;
readonly attribute nullable int32u packetUnicastRxCount = 9;
readonly attribute nullable int32u packetUnicastTxCount = 10;
readonly attribute nullable int64u currentMaxRate = 11;
readonly attribute nullable int64u overrunCount = 12;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
command ResetCounts(): DefaultSuccess = 0;
}
/** The Ethernet Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */
server cluster EthernetNetworkDiagnostics = 55 {
enum PHYRateEnum : ENUM8 {
kRate10M = 0;
kRate100M = 1;
kRate1G = 2;
kRate25g = 3;
kRate5G = 4;
kRate10G = 5;
kRate40G = 6;
kRate100G = 7;
kRate200G = 8;
kRate400G = 9;
}
bitmap Feature : BITMAP32 {
kPacketCounts = 0x1;
kErrorCounts = 0x2;
}
readonly attribute nullable PHYRateEnum PHYRate = 0;
readonly attribute nullable boolean fullDuplex = 1;
readonly attribute int64u packetRxCount = 2;
readonly attribute int64u packetTxCount = 3;
readonly attribute int64u txErrCount = 4;
readonly attribute int64u collisionCount = 5;
readonly attribute int64u overrunCount = 6;
readonly attribute nullable boolean carrierDetect = 7;
readonly attribute int64u timeSinceReset = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
command ResetCounts(): DefaultSuccess = 0;
}
/** This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices.
Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags.
Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */
client cluster Switch = 59 {
bitmap Feature : BITMAP32 {
kLatchingSwitch = 0x1;
kMomentarySwitch = 0x2;
kMomentarySwitchRelease = 0x4;
kMomentarySwitchLongPress = 0x8;
kMomentarySwitchMultiPress = 0x10;
}
info event SwitchLatched = 0 {
INT8U newPosition = 0;
}
info event InitialPress = 1 {
INT8U newPosition = 0;
}
info event LongPress = 2 {
INT8U newPosition = 0;
}
info event ShortRelease = 3 {
INT8U previousPosition = 0;
}
info event LongRelease = 4 {
INT8U previousPosition = 0;
}
info event MultiPressOngoing = 5 {
INT8U newPosition = 0;
INT8U currentNumberOfPressesCounted = 1;
}
info event MultiPressComplete = 6 {
INT8U previousPosition = 0;
INT8U totalNumberOfPressesCounted = 1;
}
readonly attribute int8u numberOfPositions = 0;
readonly attribute int8u currentPosition = 1;
readonly attribute optional int8u multiPressMax = 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 exposes interactions with a switch device, for the purpose of using those interactions by other devices.
Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags.
Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */
server cluster Switch = 59 {
bitmap Feature : BITMAP32 {
kLatchingSwitch = 0x1;
kMomentarySwitch = 0x2;
kMomentarySwitchRelease = 0x4;
kMomentarySwitchLongPress = 0x8;
kMomentarySwitchMultiPress = 0x10;
}
info event SwitchLatched = 0 {
INT8U newPosition = 0;
}
info event InitialPress = 1 {
INT8U newPosition = 0;
}
info event LongPress = 2 {
INT8U newPosition = 0;
}
info event ShortRelease = 3 {
INT8U previousPosition = 0;
}
info event LongRelease = 4 {
INT8U previousPosition = 0;
}
info event MultiPressOngoing = 5 {
INT8U newPosition = 0;
INT8U currentNumberOfPressesCounted = 1;
}
info event MultiPressComplete = 6 {
INT8U previousPosition = 0;
INT8U totalNumberOfPressesCounted = 1;
}
readonly attribute int8u numberOfPositions = 0;
readonly attribute int8u currentPosition = 1;
readonly attribute int8u multiPressMax = 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;
}
/** 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. */
client 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;
}
response struct AttestationResponse = 1 {
OCTET_STRING attestationElements = 0;
OCTET_STRING attestationSignature = 1;
}
request struct CertificateChainRequestRequest {
CertificateChainTypeEnum certificateType = 0;
}
response struct CertificateChainResponse = 3 {
OCTET_STRING certificate = 0;
}
request struct CSRRequestRequest {
OCTET_STRING CSRNonce = 0;
optional boolean isForUpdateNOC = 1;
}
response struct CSRResponse = 5 {
OCTET_STRING NOCSRElements = 0;
OCTET_STRING attestationSignature = 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;
}
response struct NOCResponse = 8 {
NodeOperationalCertStatusEnum statusCode = 0;
optional fabric_idx fabricIndex = 1;
optional CHAR_STRING 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;
}
/** 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 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 Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only
labels. */
client 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 Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only
labels. */
server cluster FixedLabel = 64 {
struct LabelStruct {
char_string<16> label = 0;
char_string<16> value = 1;
}
readonly attribute LabelStruct labelList[] = 0;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** The User Label Cluster provides a feature to tag an endpoint with zero or more labels. */
server cluster UserLabel = 65 {
struct LabelStruct {
char_string<16> label = 0;
char_string<16> value = 1;
}
attribute access(write: manage) LabelStruct labelList[] = 0;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** This cluster provides an interface to a boolean state called StateValue. */
server cluster BooleanState = 69 {
info event StateChange = 0 {
boolean stateValue = 0;
}
readonly attribute boolean stateValue = 0;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes and commands for selecting a mode from a list of supported options. */
client cluster ModeSelect = 80 {
bitmap Feature : BITMAP32 {
kDeponoff = 0x1;
}
struct SemanticTagStruct {
vendor_id mfgCode = 0;
enum16 value = 1;
}
struct ModeOptionStruct {
char_string<64> label = 0;
int8u mode = 1;
SemanticTagStruct semanticTags[] = 2;
}
readonly attribute char_string<32> description = 0;
readonly attribute nullable enum16 standardNamespace = 1;
readonly attribute ModeOptionStruct supportedModes[] = 2;
readonly attribute int8u currentMode = 3;
attribute optional nullable int8u startUpMode = 4;
attribute optional nullable int8u onMode = 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 ChangeToModeRequest {
INT8U newMode = 0;
}
/** On receipt of this command, if the NewMode field matches the Mode field in an entry of the SupportedModes list, the server SHALL set the CurrentMode attribute to the NewMode value, otherwise, the server SHALL respond with an INVALID_COMMAND status response. */
command ChangeToMode(ChangeToModeRequest): DefaultSuccess = 0;
}
/** Attributes and commands for selecting a mode from a list of supported options. */
server cluster ModeSelect = 80 {
bitmap Feature : BITMAP32 {
kDeponoff = 0x1;
}
struct SemanticTagStruct {
vendor_id mfgCode = 0;
enum16 value = 1;
}
struct ModeOptionStruct {
char_string<64> label = 0;
int8u mode = 1;
SemanticTagStruct semanticTags[] = 2;
}
readonly attribute char_string<32> description = 0;
readonly attribute nullable enum16 standardNamespace = 1;
readonly attribute ModeOptionStruct supportedModes[] = 2;
readonly attribute int8u currentMode = 3;
attribute nullable int8u startUpMode = 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 ChangeToModeRequest {
INT8U newMode = 0;
}
command ChangeToMode(ChangeToModeRequest): DefaultSuccess = 0;
}
/** Provides an interface for controlling and adjusting automatic window coverings. */
server cluster WindowCovering = 258 {
enum EndProductType : ENUM8 {
kRollerShade = 0;
kRomanShade = 1;
kBalloonShade = 2;
kWovenWood = 3;
kPleatedShade = 4;
kCellularShade = 5;
kLayeredShade = 6;
kLayeredShade2D = 7;
kSheerShade = 8;
kTiltOnlyInteriorBlind = 9;
kInteriorBlind = 10;
kVerticalBlindStripCurtain = 11;
kInteriorVenetianBlind = 12;
kExteriorVenetianBlind = 13;
kLateralLeftCurtain = 14;
kLateralRightCurtain = 15;
kCentralCurtain = 16;
kRollerShutter = 17;
kExteriorVerticalScreen = 18;
kAwningTerracePatio = 19;
kAwningVerticalScreen = 20;
kTiltOnlyPergola = 21;
kSwingingShutter = 22;
kSlidingShutter = 23;
kUnknown = 255;
}
enum Type : ENUM8 {
kRollerShade = 0;
kRollerShade2Motor = 1;
kRollerShadeExterior = 2;
kRollerShadeExterior2Motor = 3;
kDrapery = 4;
kAwning = 5;
kShutter = 6;
kTiltBlindTiltOnly = 7;
kTiltBlindLiftAndTilt = 8;
kProjectorScreen = 9;
kUnknown = 255;
}
bitmap ConfigStatus : BITMAP8 {
kOperational = 0x1;
kOnlineReserved = 0x2;
kLiftMovementReversed = 0x4;
kLiftPositionAware = 0x8;
kTiltPositionAware = 0x10;
kLiftEncoderControlled = 0x20;
kTiltEncoderControlled = 0x40;
}
bitmap Feature : BITMAP32 {
kLift = 0x1;
kTilt = 0x2;
kPositionAwareLift = 0x4;
kAbsolutePosition = 0x8;
kPositionAwareTilt = 0x10;
}
bitmap Mode : BITMAP8 {
kMotorDirectionReversed = 0x1;
kCalibrationMode = 0x2;
kMaintenanceMode = 0x4;
kLedFeedback = 0x8;
}
bitmap OperationalStatus : BITMAP8 {
kGlobal = 0x3;
kLift = 0xC;
kTilt = 0x30;
}
bitmap SafetyStatus : BITMAP16 {
kRemoteLockout = 0x1;
kTamperDetection = 0x2;
kFailedCommunication = 0x4;
kPositionFailure = 0x8;
kThermalProtection = 0x10;
kObstacleDetected = 0x20;
kPower = 0x40;
kStopInput = 0x80;
kMotorJammed = 0x100;
kHardwareFailure = 0x200;
kManualOperation = 0x400;
kProtection = 0x800;
}
readonly attribute Type type = 0;
readonly attribute nullable int16u currentPositionLift = 3;
readonly attribute nullable int16u currentPositionTilt = 4;
readonly attribute ConfigStatus configStatus = 7;
readonly attribute nullable Percent currentPositionLiftPercentage = 8;
readonly attribute nullable Percent currentPositionTiltPercentage = 9;
readonly attribute OperationalStatus operationalStatus = 10;
readonly attribute nullable Percent100ths targetPositionLiftPercent100ths = 11;
readonly attribute nullable Percent100ths targetPositionTiltPercent100ths = 12;
readonly attribute EndProductType endProductType = 13;
readonly attribute nullable Percent100ths currentPositionLiftPercent100ths = 14;
readonly attribute nullable Percent100ths currentPositionTiltPercent100ths = 15;
readonly attribute int16u installedOpenLimitLift = 16;
readonly attribute int16u installedClosedLimitLift = 17;
readonly attribute int16u installedOpenLimitTilt = 18;
readonly attribute int16u installedClosedLimitTilt = 19;
attribute access(write: manage) Mode mode = 23;
readonly attribute SafetyStatus safetyStatus = 26;
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 GoToLiftValueRequest {
INT16U liftValue = 0;
}
request struct GoToLiftPercentageRequest {
Percent100ths liftPercent100thsValue = 0;
}
request struct GoToTiltValueRequest {
INT16U tiltValue = 0;
}
request struct GoToTiltPercentageRequest {
Percent100ths tiltPercent100thsValue = 0;
}
command UpOrOpen(): DefaultSuccess = 0;
command DownOrClose(): DefaultSuccess = 1;
command StopMotion(): DefaultSuccess = 2;
command GoToLiftValue(GoToLiftValueRequest): DefaultSuccess = 4;
command GoToLiftPercentage(GoToLiftPercentageRequest): DefaultSuccess = 5;
command GoToTiltValue(GoToTiltValueRequest): DefaultSuccess = 7;
command GoToTiltPercentage(GoToTiltPercentageRequest): DefaultSuccess = 8;
}
/** An interface for configuring and controlling pumps. */
server cluster PumpConfigurationAndControl = 512 {
enum ControlModeEnum : ENUM8 {
kConstantSpeed = 0;
kConstantPressure = 1;
kProportionalPressure = 2;
kConstantFlow = 3;
kConstantTemperature = 5;
kAutomatic = 7;
}
enum OperationModeEnum : ENUM8 {
kNormal = 0;
kMinimum = 1;
kMaximum = 2;
kLocal = 3;
}
bitmap Feature : BITMAP32 {
kConstantPressure = 0x1;
kCompensatedPressure = 0x2;
kConstantFlow = 0x4;
kConstantSpeed = 0x8;
kConstantTemperature = 0x10;
kAutomatic = 0x20;
kLocalOperation = 0x40;
}
bitmap PumpStatusBitmap : BITMAP16 {
kDeviceFault = 0x1;
kSupplyfault = 0x2;
kSpeedLow = 0x4;
kSpeedHigh = 0x8;
kLocalOverride = 0x10;
kRunning = 0x20;
kRemotePressure = 0x40;
kRemoteFlow = 0x80;
kRemoteTemperature = 0x100;
}
info event SupplyVoltageLow = 0 {
}
info event SupplyVoltageHigh = 1 {
}
info event PowerMissingPhase = 2 {
}
info event SystemPressureLow = 3 {
}
info event SystemPressureHigh = 4 {
}
critical event DryRunning = 5 {
}
info event MotorTemperatureHigh = 6 {
}
critical event PumpMotorFatalFailure = 7 {
}
info event ElectronicTemperatureHigh = 8 {
}
critical event PumpBlocked = 9 {
}
info event SensorFailure = 10 {
}
info event ElectronicNonFatalFailure = 11 {
}
critical event ElectronicFatalFailure = 12 {
}
info event GeneralFault = 13 {
}
info event Leakage = 14 {
}
info event AirDetection = 15 {
}
info event TurbineOperation = 16 {
}
readonly attribute nullable int16s maxPressure = 0;
readonly attribute nullable int16u maxSpeed = 1;
readonly attribute nullable int16u maxFlow = 2;
readonly attribute nullable int16s minConstPressure = 3;
readonly attribute nullable int16s maxConstPressure = 4;
readonly attribute nullable int16s minCompPressure = 5;
readonly attribute nullable int16s maxCompPressure = 6;
readonly attribute nullable int16u minConstSpeed = 7;
readonly attribute nullable int16u maxConstSpeed = 8;
readonly attribute nullable int16u minConstFlow = 9;
readonly attribute nullable int16u maxConstFlow = 10;
readonly attribute nullable int16s minConstTemp = 11;
readonly attribute nullable int16s maxConstTemp = 12;
readonly attribute PumpStatusBitmap pumpStatus = 16;
readonly attribute OperationModeEnum effectiveOperationMode = 17;
readonly attribute ControlModeEnum effectiveControlMode = 18;
readonly attribute nullable int16s capacity = 19;
readonly attribute nullable int16u speed = 20;
attribute access(write: manage) nullable int24u lifetimeRunningHours = 21;
readonly attribute nullable int24u power = 22;
attribute access(write: manage) nullable int32u lifetimeEnergyConsumed = 23;
attribute access(write: manage) OperationModeEnum operationMode = 32;
attribute access(write: manage) ControlModeEnum controlMode = 33;
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;
}
/** An interface for configuring and controlling the functionality of a thermostat. */
server cluster Thermostat = 513 {
enum SetpointAdjustMode : ENUM8 {
kHeat = 0;
kCool = 1;
kBoth = 2;
}
enum ThermostatControlSequence : ENUM8 {
kCoolingOnly = 0;
kCoolingWithReheat = 1;
kHeatingOnly = 2;
kHeatingWithReheat = 3;
kCoolingAndHeating = 4;
kCoolingAndHeatingWithReheat = 5;
}
enum ThermostatRunningMode : ENUM8 {
kOff = 0;
kCool = 3;
kHeat = 4;
}
enum ThermostatSystemMode : ENUM8 {
kOff = 0;
kAuto = 1;
kCool = 3;
kHeat = 4;
kEmergencyHeat = 5;
kPrecooling = 6;
kFanOnly = 7;
kDry = 8;
kSleep = 9;
}
bitmap DayOfWeek : BITMAP8 {
kSunday = 0x1;
kMonday = 0x2;
kTuesday = 0x4;
kWednesday = 0x8;
kThursday = 0x10;
kFriday = 0x20;
kSaturday = 0x40;
kAway = 0x80;
}
bitmap Feature : BITMAP32 {
kHeating = 0x1;
kCooling = 0x2;
kOccupancy = 0x4;
kScheduleConfiguration = 0x8;
kSetback = 0x10;
kAutoMode = 0x20;
kLocalTemperatureNotExposed = 0x40;
}
bitmap ModeForSequence : BITMAP8 {
kHeatSetpointPresent = 0x1;
kCoolSetpointPresent = 0x2;
}
struct ThermostatScheduleTransition {
int16u transitionTime = 0;
nullable int16s heatSetpoint = 1;
nullable int16s coolSetpoint = 2;
}
readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMinCoolSetpointLimit = 5;
readonly attribute int16s absMaxCoolSetpointLimit = 6;
attribute int16s occupiedCoolingSetpoint = 17;
attribute int16s occupiedHeatingSetpoint = 18;
attribute access(write: manage) int16s minHeatSetpointLimit = 21;
attribute access(write: manage) int16s maxHeatSetpointLimit = 22;
attribute access(write: manage) int16s minCoolSetpointLimit = 23;
attribute access(write: manage) int16s maxCoolSetpointLimit = 24;
attribute access(write: manage) int8s minSetpointDeadBand = 25;
attribute access(write: manage) ThermostatControlSequence controlSequenceOfOperation = 27;
attribute access(write: manage) enum8 systemMode = 28;
readonly attribute enum8 startOfWeek = 32;
readonly attribute int8u numberOfWeeklyTransitions = 33;
readonly attribute int8u numberOfDailyTransitions = 34;
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;
}
/** An interface for configuring the user interface of a thermostat (which may be remote from the thermostat). */
client cluster ThermostatUserInterfaceConfiguration = 516 {
attribute enum8 temperatureDisplayMode = 0;
attribute access(write: manage) enum8 keypadLockout = 1;
attribute access(write: manage) optional enum8 scheduleProgrammingVisibility = 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;
}
/** An interface for configuring the user interface of a thermostat (which may be remote from the thermostat). */
server cluster ThermostatUserInterfaceConfiguration = 516 {
attribute enum8 temperatureDisplayMode = 0;
attribute access(write: manage) enum8 keypadLockout = 1;
attribute access(write: manage) enum8 scheduleProgrammingVisibility = 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;
}
/** Attributes and commands for controlling the color properties of a color-capable light. */
server cluster ColorControl = 768 {
enum ColorLoopAction : ENUM8 {
kDeactivate = 0;
kActivateFromColorLoopStartEnhancedHue = 1;
kActivateFromEnhancedCurrentHue = 2;
}
enum ColorLoopDirection : ENUM8 {
kDecrementHue = 0;
kIncrementHue = 1;
}
enum ColorMode : ENUM8 {
kCurrentHueAndCurrentSaturation = 0;
kCurrentXAndCurrentY = 1;
kColorTemperature = 2;
}
enum HueDirection : ENUM8 {
kShortestDistance = 0;
kLongestDistance = 1;
kUp = 2;
kDown = 3;
}
enum HueMoveMode : ENUM8 {
kStop = 0;
kUp = 1;
kDown = 3;
}
enum HueStepMode : ENUM8 {
kUp = 1;
kDown = 3;
}
enum SaturationMoveMode : ENUM8 {
kStop = 0;
kUp = 1;
kDown = 3;
}
enum SaturationStepMode : ENUM8 {
kUp = 1;
kDown = 3;
}
bitmap ColorCapabilities : BITMAP16 {
kHueSaturationSupported = 0x1;
kEnhancedHueSupported = 0x2;
kColorLoopSupported = 0x4;
kXYAttributesSupported = 0x8;
kColorTemperatureSupported = 0x10;
}
bitmap ColorLoopUpdateFlags : BITMAP8 {
kUpdateAction = 0x1;
kUpdateDirection = 0x2;
kUpdateTime = 0x4;
kUpdateStartHue = 0x8;
}
bitmap Feature : BITMAP32 {
kHueAndSaturation = 0x1;
kEnhancedHue = 0x2;
kColorLoop = 0x4;
kXy = 0x8;
kColorTemperature = 0x10;
}
readonly attribute int16u currentX = 3;
readonly attribute int16u currentY = 4;
attribute bitmap8 options = 15;
readonly attribute int16u coupleColorTempToLevelMinMireds = 16397;
attribute access(write: manage) nullable int16u startUpColorTemperatureMireds = 16400;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct MoveToColorRequest {
INT16U colorX = 0;
INT16U colorY = 1;
INT16U transitionTime = 2;
BITMAP8 optionsMask = 3;
BITMAP8 optionsOverride = 4;
}
request struct MoveColorRequest {
INT16S rateX = 0;
INT16S rateY = 1;
BITMAP8 optionsMask = 2;
BITMAP8 optionsOverride = 3;
}
request struct StepColorRequest {
INT16S stepX = 0;
INT16S stepY = 1;
INT16U transitionTime = 2;
BITMAP8 optionsMask = 3;
BITMAP8 optionsOverride = 4;
}
command MoveToColor(MoveToColorRequest): DefaultSuccess = 7;
command MoveColor(MoveColorRequest): DefaultSuccess = 8;
command StepColor(StepColorRequest): DefaultSuccess = 9;
}
/** Attributes and commands for configuring the measurement of illuminance, and reporting illuminance measurements. */
server cluster IlluminanceMeasurement = 1024 {
enum LightSensorType : ENUM8 {
kPhotodiode = 0;
kCmos = 1;
}
readonly attribute nullable int16u measuredValue = 0;
readonly attribute nullable int16u minMeasuredValue = 1;
readonly attribute nullable int16u maxMeasuredValue = 2;
readonly attribute int16u tolerance = 3;
readonly attribute nullable enum8 lightSensorType = 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;
}
/** Attributes and commands for configuring the measurement of temperature, and reporting temperature measurements. */
client cluster TemperatureMeasurement = 1026 {
readonly attribute nullable int16s measuredValue = 0;
readonly attribute nullable int16s minMeasuredValue = 1;
readonly attribute nullable int16s maxMeasuredValue = 2;
readonly attribute optional int16u tolerance = 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;
}
/** Attributes and commands for configuring the measurement of temperature, and reporting temperature measurements. */
server cluster TemperatureMeasurement = 1026 {
readonly attribute nullable int16s measuredValue = 0;
readonly attribute nullable int16s minMeasuredValue = 1;
readonly attribute nullable int16s maxMeasuredValue = 2;
readonly attribute int16u tolerance = 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;
}
/** Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */
server cluster PressureMeasurement = 1027 {
bitmap Feature : BITMAP32 {
kExtended = 0x1;
}
readonly attribute nullable int16s measuredValue = 0;
readonly attribute nullable int16s minMeasuredValue = 1;
readonly attribute nullable int16s maxMeasuredValue = 2;
readonly attribute int16u tolerance = 3;
readonly attribute nullable int16s scaledValue = 16;
readonly attribute nullable int16s minScaledValue = 17;
readonly attribute nullable int16s maxScaledValue = 18;
readonly attribute int16u scaledTolerance = 19;
readonly attribute int8s scale = 20;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes and commands for configuring the measurement of flow, and reporting flow measurements. */
server cluster FlowMeasurement = 1028 {
readonly attribute nullable int16u measuredValue = 0;
readonly attribute nullable int16u minMeasuredValue = 1;
readonly attribute nullable int16u maxMeasuredValue = 2;
readonly attribute int16u tolerance = 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;
}
/** Attributes and commands for configuring the measurement of relative humidity, and reporting relative humidity measurements. */
client cluster RelativeHumidityMeasurement = 1029 {
readonly attribute nullable int16u measuredValue = 0;
readonly attribute nullable int16u minMeasuredValue = 1;
readonly attribute nullable int16u maxMeasuredValue = 2;
readonly attribute optional int16u tolerance = 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;
}
/** Attributes and commands for configuring the measurement of relative humidity, and reporting relative humidity measurements. */
server cluster RelativeHumidityMeasurement = 1029 {
readonly attribute nullable int16u measuredValue = 0;
readonly attribute nullable int16u minMeasuredValue = 1;
readonly attribute nullable int16u maxMeasuredValue = 2;
readonly attribute int16u tolerance = 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;
}
/** Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */
server cluster OccupancySensing = 1030 {
enum OccupancySensorTypeEnum : ENUM8 {
kPir = 0;
kUltrasonic = 1;
kPIRAndUltrasonic = 2;
kPhysicalContact = 3;
}
bitmap OccupancyBitmap : BITMAP8 {
kOccupied = 0x1;
}
bitmap OccupancySensorTypeBitmap : BITMAP8 {
kPir = 0x1;
kUltrasonic = 0x2;
kPhysicalContact = 0x4;
}
readonly attribute OccupancyBitmap occupancy = 0;
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;
attribute access(write: manage) int16u PIROccupiedToUnoccupiedDelay = 16;
attribute access(write: manage) int16u PIRUnoccupiedToOccupiedDelay = 17;
attribute access(write: manage) int8u PIRUnoccupiedToOccupiedThreshold = 18;
attribute access(write: manage) int16u ultrasonicOccupiedToUnoccupiedDelay = 32;
attribute access(write: manage) int16u ultrasonicUnoccupiedToOccupiedDelay = 33;
attribute access(write: manage) int8u ultrasonicUnoccupiedToOccupiedThreshold = 34;
attribute access(write: manage) int16u physicalContactOccupiedToUnoccupiedDelay = 48;
attribute access(write: manage) int16u physicalContactUnoccupiedToOccupiedDelay = 49;
attribute access(write: manage) int8u physicalContactUnoccupiedToOccupiedThreshold = 50;
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 an interface for UX navigation within a set of targets on a device or endpoint. */
client cluster TargetNavigator = 1285 {
enum TargetNavigatorStatusEnum : ENUM8 {
kSuccess = 0;
kTargetNotFound = 1;
kNotAllowed = 2;
}
struct TargetInfoStruct {
int8u identifier = 0;
char_string<32> name = 1;
}
readonly attribute TargetInfoStruct targetList[] = 0;
readonly attribute optional int8u currentTarget = 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 NavigateTargetRequest {
INT8U target = 0;
optional CHAR_STRING data = 1;
}
response struct NavigateTargetResponse = 1 {
TargetNavigatorStatusEnum status = 0;
optional CHAR_STRING data = 1;
}
/** Upon receipt, this SHALL navigation the UX to the target identified. */
command NavigateTarget(NavigateTargetRequest): NavigateTargetResponse = 0;
}
/** This cluster provides an interface for UX navigation within a set of targets on a device or endpoint. */
server cluster TargetNavigator = 1285 {
enum TargetNavigatorStatusEnum : ENUM8 {
kSuccess = 0;
kTargetNotFound = 1;
kNotAllowed = 2;
}
struct TargetInfoStruct {
int8u identifier = 0;
char_string<32> name = 1;
}
readonly attribute TargetInfoStruct targetList[] = 0;
readonly attribute int8u currentTarget = 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 NavigateTargetRequest {
INT8U target = 0;
optional CHAR_STRING data = 1;
}
response struct NavigateTargetResponse = 1 {
TargetNavigatorStatusEnum status = 0;
optional CHAR_STRING data = 1;
}
command NavigateTarget(NavigateTargetRequest): NavigateTargetResponse = 0;
}
/** This cluster provides an interface for controlling a device like a TV using action commands such as UP, DOWN, and SELECT. */
client cluster KeypadInput = 1289 {
enum CecKeyCode : ENUM8 {
kSelect = 0;
kUp = 1;
kDown = 2;
kLeft = 3;
kRight = 4;
kRightUp = 5;
kRightDown = 6;
kLeftUp = 7;
kLeftDown = 8;
kRootMenu = 9;
kSetupMenu = 10;
kContentsMenu = 11;
kFavoriteMenu = 12;
kExit = 13;
kMediaTopMenu = 16;
kMediaContextSensitiveMenu = 17;
kNumberEntryMode = 29;
kNumber11 = 30;
kNumber12 = 31;
kNumber0OrNumber10 = 32;
kNumbers1 = 33;
kNumbers2 = 34;
kNumbers3 = 35;
kNumbers4 = 36;
kNumbers5 = 37;
kNumbers6 = 38;
kNumbers7 = 39;
kNumbers8 = 40;
kNumbers9 = 41;
kDot = 42;
kEnter = 43;
kClear = 44;
kNextFavorite = 47;
kChannelUp = 48;
kChannelDown = 49;
kPreviousChannel = 50;
kSoundSelect = 51;
kInputSelect = 52;
kDisplayInformation = 53;
kHelp = 54;
kPageUp = 55;
kPageDown = 56;
kPower = 64;
kVolumeUp = 65;
kVolumeDown = 66;
kMute = 67;
kPlay = 68;
kStop = 69;
kPause = 70;
kRecord = 71;
kRewind = 72;
kFastForward = 73;
kEject = 74;
kForward = 75;
kBackward = 76;
kStopRecord = 77;
kPauseRecord = 78;
kReserved = 79;
kAngle = 80;
kSubPicture = 81;
kVideoOnDemand = 82;
kElectronicProgramGuide = 83;
kTimerProgramming = 84;
kInitialConfiguration = 85;
kSelectBroadcastType = 86;
kSelectSoundPresentation = 87;
kPlayFunction = 96;
kPausePlayFunction = 97;
kRecordFunction = 98;
kPauseRecordFunction = 99;
kStopFunction = 100;
kMuteFunction = 101;
kRestoreVolumeFunction = 102;
kTuneFunction = 103;
kSelectMediaFunction = 104;
kSelectAvInputFunction = 105;
kSelectAudioInputFunction = 106;
kPowerToggleFunction = 107;
kPowerOffFunction = 108;
kPowerOnFunction = 109;
kF1Blue = 113;
kF2Red = 114;
kF3Green = 115;
kF4Yellow = 116;
kF5 = 117;
kData = 118;
}
enum KeypadInputStatusEnum : ENUM8 {
kSuccess = 0;
kUnsupportedKey = 1;
kInvalidKeyInCurrentState = 2;
}
bitmap Feature : BITMAP32 {
kNavigationKeyCodes = 0x1;
kLocationKeys = 0x2;
kNumberKeys = 0x4;
}
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 SendKeyRequest {
CecKeyCode keyCode = 0;
}
response struct SendKeyResponse = 1 {
KeypadInputStatusEnum status = 0;
}
/** Upon receipt, this SHALL process a keycode as input to the media device. */
command SendKey(SendKeyRequest): SendKeyResponse = 0;
}
/** This cluster provides an interface for controlling a device like a TV using action commands such as UP, DOWN, and SELECT. */
server cluster KeypadInput = 1289 {
enum CecKeyCode : ENUM8 {
kSelect = 0;
kUp = 1;
kDown = 2;
kLeft = 3;
kRight = 4;
kRightUp = 5;
kRightDown = 6;
kLeftUp = 7;
kLeftDown = 8;
kRootMenu = 9;
kSetupMenu = 10;
kContentsMenu = 11;
kFavoriteMenu = 12;
kExit = 13;
kMediaTopMenu = 16;
kMediaContextSensitiveMenu = 17;
kNumberEntryMode = 29;
kNumber11 = 30;
kNumber12 = 31;
kNumber0OrNumber10 = 32;
kNumbers1 = 33;
kNumbers2 = 34;
kNumbers3 = 35;
kNumbers4 = 36;
kNumbers5 = 37;
kNumbers6 = 38;
kNumbers7 = 39;
kNumbers8 = 40;
kNumbers9 = 41;
kDot = 42;
kEnter = 43;
kClear = 44;
kNextFavorite = 47;
kChannelUp = 48;
kChannelDown = 49;
kPreviousChannel = 50;
kSoundSelect = 51;
kInputSelect = 52;
kDisplayInformation = 53;
kHelp = 54;
kPageUp = 55;
kPageDown = 56;
kPower = 64;
kVolumeUp = 65;
kVolumeDown = 66;
kMute = 67;
kPlay = 68;
kStop = 69;
kPause = 70;
kRecord = 71;
kRewind = 72;
kFastForward = 73;
kEject = 74;
kForward = 75;
kBackward = 76;
kStopRecord = 77;
kPauseRecord = 78;
kReserved = 79;
kAngle = 80;
kSubPicture = 81;
kVideoOnDemand = 82;
kElectronicProgramGuide = 83;
kTimerProgramming = 84;
kInitialConfiguration = 85;
kSelectBroadcastType = 86;
kSelectSoundPresentation = 87;
kPlayFunction = 96;
kPausePlayFunction = 97;
kRecordFunction = 98;
kPauseRecordFunction = 99;
kStopFunction = 100;
kMuteFunction = 101;
kRestoreVolumeFunction = 102;
kTuneFunction = 103;
kSelectMediaFunction = 104;
kSelectAvInputFunction = 105;
kSelectAudioInputFunction = 106;
kPowerToggleFunction = 107;
kPowerOffFunction = 108;
kPowerOnFunction = 109;
kF1Blue = 113;
kF2Red = 114;
kF3Green = 115;
kF4Yellow = 116;
kF5 = 117;
kData = 118;
}
enum KeypadInputStatusEnum : ENUM8 {
kSuccess = 0;
kUnsupportedKey = 1;
kInvalidKeyInCurrentState = 2;
}
bitmap Feature : BITMAP32 {
kNavigationKeyCodes = 0x1;
kLocationKeys = 0x2;
kNumberKeys = 0x4;
}
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 SendKeyRequest {
CecKeyCode keyCode = 0;
}
response struct SendKeyResponse = 1 {
KeypadInputStatusEnum status = 0;
}
command SendKey(SendKeyRequest): SendKeyResponse = 0;
}
/** This cluster provides an interface for launching content on a media player device such as a TV or Speaker. */
client cluster ContentLauncher = 1290 {
enum ContentLaunchStatusEnum : ENUM8 {
kSuccess = 0;
kUrlNotAvailable = 1;
kAuthFailed = 2;
}
enum MetricTypeEnum : ENUM8 {
kPixels = 0;
kPercentage = 1;
}
enum ParameterEnum : ENUM8 {
kActor = 0;
kChannel = 1;
kCharacter = 2;
kDirector = 3;
kEvent = 4;
kFranchise = 5;
kGenre = 6;
kLeague = 7;
kPopularity = 8;
kProvider = 9;
kSport = 10;
kSportsTeam = 11;
kType = 12;
kVideo = 13;
}
bitmap Feature : BITMAP32 {
kContentSearch = 0x1;
kURLPlayback = 0x2;
}
bitmap SupportedStreamingProtocol : BITMAP32 {
kDash = 0x1;
kHls = 0x2;
}
struct DimensionStruct {
double width = 0;
double height = 1;
MetricTypeEnum metric = 2;
}
struct AdditionalInfoStruct {
char_string name = 0;
char_string value = 1;
}
struct ParameterStruct {
ParameterEnum type = 0;
char_string value = 1;
optional AdditionalInfoStruct externalIDList[] = 2;
}
struct ContentSearchStruct {
ParameterStruct parameterList[] = 0;
}
struct StyleInformationStruct {
optional char_string imageURL = 0;
optional char_string color = 1;
optional DimensionStruct size = 2;
}
struct BrandingInformationStruct {
char_string providerName = 0;
optional StyleInformationStruct background = 1;
optional StyleInformationStruct logo = 2;
optional StyleInformationStruct progressBar = 3;
optional StyleInformationStruct splash = 4;
optional StyleInformationStruct waterMark = 5;
}
readonly attribute optional CHAR_STRING acceptHeader[] = 0;
attribute optional bitmap32 supportedStreamingProtocols = 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 LaunchContentRequest {
ContentSearchStruct search = 0;
BOOLEAN autoPlay = 1;
optional CHAR_STRING data = 2;
}
request struct LaunchURLRequest {
CHAR_STRING contentURL = 0;
optional CHAR_STRING displayString = 1;
optional BrandingInformationStruct brandingInformation = 2;
}
response struct LauncherResponse = 2 {
ContentLaunchStatusEnum status = 0;
optional CHAR_STRING data = 1;
}
/** Upon receipt, this SHALL launch the specified content with optional search criteria. */
command LaunchContent(LaunchContentRequest): LauncherResponse = 0;
/** Upon receipt, this SHALL launch content from the specified URL. */
command LaunchURL(LaunchURLRequest): LauncherResponse = 1;
}
/** This cluster provides an interface for launching content on a media player device such as a TV or Speaker. */
server cluster ContentLauncher = 1290 {
enum ContentLaunchStatusEnum : ENUM8 {
kSuccess = 0;
kUrlNotAvailable = 1;
kAuthFailed = 2;
}
enum MetricTypeEnum : ENUM8 {
kPixels = 0;
kPercentage = 1;
}
enum ParameterEnum : ENUM8 {
kActor = 0;
kChannel = 1;
kCharacter = 2;
kDirector = 3;
kEvent = 4;
kFranchise = 5;
kGenre = 6;
kLeague = 7;
kPopularity = 8;
kProvider = 9;
kSport = 10;
kSportsTeam = 11;
kType = 12;
kVideo = 13;
}
bitmap Feature : BITMAP32 {
kContentSearch = 0x1;
kURLPlayback = 0x2;
}
bitmap SupportedStreamingProtocol : BITMAP32 {
kDash = 0x1;
kHls = 0x2;
}
struct DimensionStruct {
double width = 0;
double height = 1;
MetricTypeEnum metric = 2;
}
struct AdditionalInfoStruct {
char_string name = 0;
char_string value = 1;
}
struct ParameterStruct {
ParameterEnum type = 0;
char_string value = 1;
optional AdditionalInfoStruct externalIDList[] = 2;
}
struct ContentSearchStruct {
ParameterStruct parameterList[] = 0;
}
struct StyleInformationStruct {
optional char_string imageURL = 0;
optional char_string color = 1;
optional DimensionStruct size = 2;
}
struct BrandingInformationStruct {
char_string providerName = 0;
optional StyleInformationStruct background = 1;
optional StyleInformationStruct logo = 2;
optional StyleInformationStruct progressBar = 3;
optional StyleInformationStruct splash = 4;
optional StyleInformationStruct waterMark = 5;
}
readonly attribute CHAR_STRING acceptHeader[] = 0;
attribute bitmap32 supportedStreamingProtocols = 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 LaunchContentRequest {
ContentSearchStruct search = 0;
BOOLEAN autoPlay = 1;
optional CHAR_STRING data = 2;
}
request struct LaunchURLRequest {
CHAR_STRING contentURL = 0;
optional CHAR_STRING displayString = 1;
optional BrandingInformationStruct brandingInformation = 2;
}
response struct LauncherResponse = 2 {
ContentLaunchStatusEnum status = 0;
optional CHAR_STRING data = 1;
}
command LaunchContent(LaunchContentRequest): LauncherResponse = 0;
command LaunchURL(LaunchURLRequest): LauncherResponse = 1;
}
/** This cluster provides information about an application running on a TV or media player device which is represented as an endpoint. */
client cluster ApplicationBasic = 1293 {
enum ApplicationStatusEnum : ENUM8 {
kStopped = 0;
kActiveVisibleFocus = 1;
kActiveHidden = 2;
kActiveVisibleNotFocus = 3;
}
struct ApplicationStruct {
int16u catalogVendorID = 0;
char_string applicationID = 1;
}
readonly attribute optional char_string<32> vendorName = 0;
readonly attribute optional vendor_id vendorID = 1;
readonly attribute char_string<32> applicationName = 2;
readonly attribute optional int16u productID = 3;
readonly attribute ApplicationStruct application = 4;
readonly attribute ApplicationStatusEnum status = 5;
readonly attribute char_string<32> applicationVersion = 6;
readonly attribute vendor_id allowedVendorList[] = 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;
}
/** This cluster provides information about an application running on a TV or media player device which is represented as an endpoint. */
server cluster ApplicationBasic = 1293 {
enum ApplicationStatusEnum : ENUM8 {
kStopped = 0;
kActiveVisibleFocus = 1;
kActiveHidden = 2;
kActiveVisibleNotFocus = 3;
}
struct ApplicationStruct {
int16u catalogVendorID = 0;
char_string applicationID = 1;
}
readonly attribute char_string<32> vendorName = 0;
readonly attribute vendor_id vendorID = 1;
readonly attribute char_string<32> applicationName = 2;
readonly attribute int16u productID = 3;
readonly attribute ApplicationStruct application = 4;
readonly attribute ApplicationStatusEnum status = 5;
readonly attribute char_string<32> applicationVersion = 6;
readonly attribute vendor_id allowedVendorList[] = 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;
}
endpoint 0 {
device type anonymousEndpointType = 65280, version 1;
binding cluster OnOff;
binding cluster GeneralCommissioning;
binding cluster Switch;
binding cluster OperationalCredentials;
binding cluster ModeSelect;
binding cluster ThermostatUserInterfaceConfiguration;
binding cluster TemperatureMeasurement;
binding cluster RelativeHumidityMeasurement;
binding cluster TargetNavigator;
binding cluster KeypadInput;
binding cluster ContentLauncher;
binding cluster ApplicationBasic;
server cluster OnOff {
ram attribute onOff default = 0x00;
ram attribute globalSceneControl default = 0x01;
ram attribute onTime default = 0x0000;
ram attribute offWaitTime default = 0x0000;
ram attribute startUpOnOff default = 0xFF;
ram attribute featureMap default = 0x0001;
ram attribute clusterRevision default = 4;
}
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;
callback attribute acl;
callback attribute subjectsPerAccessControlEntry;
callback attribute targetsPerAccessControlEntry;
callback attribute accessControlEntriesPerFabric;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster Actions {
callback attribute actionList;
callback attribute endpointLists;
callback attribute setupURL;
ram attribute featureMap default = 0;
callback 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 TimeFormatLocalization {
callback attribute hourFormat;
callback attribute activeCalendarType;
callback attribute supportedCalendarTypes;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster PowerSourceConfiguration {
callback attribute sources;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster PowerSource {
ram attribute status;
ram attribute order;
ram attribute description;
ram attribute wiredAssessedInputVoltage;
ram attribute wiredAssessedInputFrequency;
ram attribute wiredCurrentType;
ram attribute wiredAssessedCurrent;
ram attribute wiredNominalVoltage;
ram attribute wiredMaximumCurrent;
ram attribute wiredPresent;
callback attribute activeWiredFaults;
ram attribute batVoltage;
ram attribute batPercentRemaining;
ram attribute batTimeRemaining;
ram attribute batChargeLevel;
ram attribute batReplacementNeeded;
ram attribute batReplaceability;
ram attribute batPresent;
callback attribute activeBatFaults;
ram attribute batReplacementDescription;
ram attribute batCommonDesignation;
ram attribute batANSIDesignation;
ram attribute batIECDesignation;
ram attribute batApprovedChemistry;
ram attribute batCapacity;
ram attribute batQuantity;
ram attribute batChargeState;
ram attribute batTimeToFullCharge;
ram attribute batFunctionalWhileCharging;
ram attribute batChargingCurrent;
callback attribute activeBatChargeFaults;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster GeneralCommissioning {
ram attribute breadcrumb default = 0x0000000000000000;
callback attribute basicCommissioningInfo;
callback attribute regulatoryConfig;
callback attribute locationCapability;
callback attribute supportsConcurrentConnection default = 1;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster NetworkCommissioning {
ram attribute maxNetworks;
callback attribute networks;
ram attribute scanMaxTimeSeconds;
ram attribute connectMaxTimeSeconds;
ram attribute interfaceEnabled;
ram attribute lastNetworkingStatus;
ram attribute lastNetworkID;
ram attribute lastConnectErrorValue;
ram attribute featureMap default = 2;
ram attribute clusterRevision default = 1;
}
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 = 1;
}
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 = 1;
}
server cluster WiFiNetworkDiagnostics {
emits event Disconnection;
emits event AssociationFailure;
emits event ConnectionStatus;
callback attribute bssid;
callback attribute securityType;
callback attribute wiFiVersion;
callback attribute channelNumber default = 0x0000;
callback attribute rssi default = 0x00;
callback attribute beaconLostCount default = 0x00000000;
callback attribute beaconRxCount default = 0x00000000;
callback attribute packetMulticastRxCount default = 0x00000000;
callback attribute packetMulticastTxCount default = 0x00000000;
callback attribute packetUnicastRxCount default = 0x00000000;
callback attribute packetUnicastTxCount default = 0x00000000;
callback attribute currentMaxRate default = 0x0000000000000000;
callback attribute overrunCount default = 0x0000000000000000;
ram attribute featureMap default = 3;
ram attribute clusterRevision default = 1;
}
server cluster EthernetNetworkDiagnostics {
callback attribute PHYRate;
callback attribute fullDuplex default = 0x00;
callback attribute packetRxCount default = 0x0000000000000000;
callback attribute packetTxCount default = 0x0000000000000000;
callback attribute txErrCount default = 0x0000000000000000;
callback attribute collisionCount default = 0x0000000000000000;
callback attribute overrunCount default = 0x0000000000000000;
callback attribute carrierDetect default = 0x00;
callback attribute timeSinceReset default = 0x0000000000000000;
ram attribute featureMap default = 3;
ram attribute clusterRevision default = 1;
}
server cluster Switch {
ram attribute numberOfPositions default = 2;
ram attribute currentPosition;
ram attribute multiPressMax default = 2;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster AdministratorCommissioning {
callback attribute windowStatus default = 0;
callback attribute adminFabricIndex default = 1;
callback attribute adminVendorId default = 0;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster OperationalCredentials {
callback attribute fabrics;
callback attribute supportedFabrics;
callback attribute commissionedFabrics;
callback attribute trustedRootCertificates;
callback attribute currentFabricIndex;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster BooleanState {
ram attribute stateValue default = 0;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster ModeSelect {
ram attribute description;
callback attribute standardNamespace;
callback attribute supportedModes default = 255;
ram attribute currentMode;
ram attribute startUpMode;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster WindowCovering {
ram attribute type default = 0x00;
persist attribute currentPositionLift default = 0x7FFF;
persist attribute currentPositionTilt default = 0x7FFF;
persist attribute configStatus default = 0x03;
persist attribute currentPositionLiftPercentage default = 50;
persist attribute currentPositionTiltPercentage default = 50;
ram attribute operationalStatus default = 0x00;
ram attribute targetPositionLiftPercent100ths default = 500;
ram attribute targetPositionTiltPercent100ths default = 500;
ram attribute endProductType default = 0x00;
persist attribute currentPositionLiftPercent100ths default = 500;
persist attribute currentPositionTiltPercent100ths default = 500;
persist attribute installedOpenLimitLift default = 0x0000;
persist attribute installedClosedLimitLift default = 0xFFFF;
persist attribute installedOpenLimitTilt default = 0x0000;
persist attribute installedClosedLimitTilt default = 0xFFFF;
persist attribute mode default = 0x00;
ram attribute safetyStatus default = 0x00;
ram attribute featureMap default = 0x17;
ram attribute clusterRevision default = 5;
}
server cluster PumpConfigurationAndControl {
ram attribute maxPressure;
ram attribute maxSpeed;
ram attribute maxFlow;
ram attribute minConstPressure;
ram attribute maxConstPressure;
ram attribute minCompPressure;
ram attribute maxCompPressure;
ram attribute minConstSpeed;
ram attribute maxConstSpeed;
ram attribute minConstFlow;
ram attribute maxConstFlow;
ram attribute minConstTemp;
ram attribute maxConstTemp;
ram attribute pumpStatus;
ram attribute effectiveOperationMode;
ram attribute effectiveControlMode;
ram attribute capacity;
ram attribute speed;
ram attribute lifetimeRunningHours default = 0x000000;
ram attribute power;
ram attribute lifetimeEnergyConsumed default = 0x00000000;
ram attribute operationMode default = 0x00;
ram attribute controlMode default = 0x00;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster Thermostat {
ram attribute localTemperature;
ram attribute absMinHeatSetpointLimit default = 0x02BC;
ram attribute absMinCoolSetpointLimit default = 0x0640;
ram attribute absMaxCoolSetpointLimit default = 0x0C80;
ram attribute occupiedCoolingSetpoint default = 0x0A28;
ram attribute occupiedHeatingSetpoint default = 0x07D0;
ram attribute minHeatSetpointLimit default = 0x02BC;
ram attribute maxHeatSetpointLimit default = 0x0BB8;
ram attribute minCoolSetpointLimit default = 0x0640;
ram attribute maxCoolSetpointLimit default = 0x0C80;
ram attribute minSetpointDeadBand default = 0x19;
ram attribute controlSequenceOfOperation default = 0x04;
ram attribute systemMode default = 0x01;
ram attribute startOfWeek default = 0;
ram attribute numberOfWeeklyTransitions default = 7;
ram attribute numberOfDailyTransitions default = 4;
ram attribute featureMap default = 0x000b;
ram attribute clusterRevision default = 5;
}
server cluster ThermostatUserInterfaceConfiguration {
ram attribute temperatureDisplayMode default = 0x00;
ram attribute keypadLockout default = 0x00;
ram attribute scheduleProgrammingVisibility;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 2;
}
server cluster IlluminanceMeasurement {
ram attribute measuredValue default = 0x0000;
ram attribute minMeasuredValue default = 0x01;
ram attribute maxMeasuredValue default = 0xFFFE;
ram attribute tolerance;
ram attribute lightSensorType default = 0xFF;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster TemperatureMeasurement {
ram attribute measuredValue default = 0x8000;
ram attribute minMeasuredValue default = 0x8000;
ram attribute maxMeasuredValue default = 0x8000;
ram attribute tolerance;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
}
server cluster PressureMeasurement {
ram attribute measuredValue default = 0x0000;
ram attribute minMeasuredValue;
ram attribute maxMeasuredValue;
ram attribute tolerance;
ram attribute scaledValue default = 0x0000;
ram attribute minScaledValue default = 0x0000;
ram attribute maxScaledValue default = 0x0000;
ram attribute scaledTolerance;
ram attribute scale default = 0;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster FlowMeasurement {
ram attribute measuredValue;
ram attribute minMeasuredValue;
ram attribute maxMeasuredValue;
ram attribute tolerance default = 0;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster RelativeHumidityMeasurement {
ram attribute measuredValue;
ram attribute minMeasuredValue default = 0;
ram attribute maxMeasuredValue default = 0x2710;
ram attribute tolerance;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster TargetNavigator {
callback attribute targetList;
ram attribute currentTarget default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster KeypadInput {
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster ContentLauncher {
callback attribute acceptHeader;
ram attribute supportedStreamingProtocols default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster ApplicationBasic {
ram attribute vendorName;
ram attribute vendorID default = 0x0;
ram attribute applicationName;
ram attribute productID default = 0x0;
callback attribute application;
ram attribute status default = 0x01;
ram attribute applicationVersion;
callback attribute allowedVendorList;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
}
endpoint 1 {
device type anonymousEndpointType = 257, version 1;
binding cluster OnOff;
binding cluster LocalizationConfiguration;
binding cluster UnitLocalization;
binding cluster FixedLabel;
server cluster Identify {
ram attribute identifyTime default = 0x0;
ram attribute identifyType default = 0x0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
}
server cluster Groups {
ram attribute nameSupport;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
}
server cluster Scenes {
ram attribute sceneCount default = 0x00;
ram attribute currentScene default = 0x00;
ram attribute currentGroup default = 0x0000;
ram attribute sceneValid default = 0x00;
ram attribute nameSupport;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
}
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;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
}
server cluster LevelControl {
ram attribute currentLevel default = 0x00;
ram attribute remainingTime default = 0x0000;
ram attribute options default = 0x00;
ram attribute onLevel;
ram attribute startUpCurrentLevel;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 5;
}
server cluster Descriptor {
callback attribute deviceTypeList;
callback attribute serverList;
callback attribute clientList;
callback attribute partsList;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster BasicInformation {
callback attribute dataModelRevision default = 10;
callback attribute vendorName;
callback attribute vendorID;
callback attribute productName;
callback attribute productID;
persist attribute nodeLabel;
callback attribute location default = "XX";
callback attribute hardwareVersion default = 0;
callback attribute hardwareVersionString;
callback attribute softwareVersion default = 0;
callback attribute softwareVersionString;
callback attribute manufacturingDate default = "20210614123456ZZ";
callback attribute partNumber;
callback attribute productURL;
callback attribute productLabel;
callback attribute serialNumber;
persist attribute localConfigDisabled default = 0;
ram attribute reachable default = 1;
callback attribute uniqueID;
callback attribute capabilityMinima;
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 UnitLocalization {
ram attribute temperatureUnit;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster FixedLabel {
callback attribute labelList;
ram attribute clusterRevision default = 1;
}
server cluster UserLabel {
callback attribute labelList;
ram attribute featureMap default = 0;
callback attribute clusterRevision default = 1;
}
server cluster ColorControl {
ram attribute currentX default = 0x616B;
ram attribute currentY default = 0x607D;
ram attribute options default = 0x00;
ram attribute coupleColorTempToLevelMinMireds;
ram attribute startUpColorTemperatureMireds;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 5;
}
server cluster OccupancySensing {
ram attribute occupancy;
ram attribute occupancySensorType;
ram attribute occupancySensorTypeBitmap;
ram attribute PIROccupiedToUnoccupiedDelay default = 0x00;
ram attribute PIRUnoccupiedToOccupiedDelay default = 0x00;
ram attribute PIRUnoccupiedToOccupiedThreshold default = 1;
ram attribute ultrasonicOccupiedToUnoccupiedDelay default = 0x00;
ram attribute ultrasonicUnoccupiedToOccupiedDelay default = 0x00;
ram attribute ultrasonicUnoccupiedToOccupiedThreshold default = 1;
ram attribute physicalContactOccupiedToUnoccupiedDelay default = 0x00;
ram attribute physicalContactUnoccupiedToOccupiedDelay default = 0x00;
ram attribute physicalContactUnoccupiedToOccupiedThreshold default = 1;
ram attribute featureMap default = 0;
callback attribute clusterRevision default = 3;
}
}