blob: 4be14a2d0221225bb2a939adb29494c944a7ea28 [file] [log] [blame]
// This IDL was generated automatically by ZAP.
// It is for view/code review purposes only.
server cluster Basic = 40 {
critical event StartUp = 0 {
INT32U softwareVersion = 0;
}
critical event ShutDown = 1 {
}
info event Leave = 2 {
}
info event ReachableChanged = 3 {
boolean reachableNewValue = 0;
}
attribute(readonly) int16u interactionModelVersion = 0;
attribute(readonly) char_string vendorName = 1;
attribute(readonly) vendor_id vendorID = 2;
attribute(readonly) char_string productName = 3;
attribute(readonly) int16u productID = 4;
attribute(writable) char_string nodeLabel = 5;
attribute(writable) char_string location = 6;
attribute(readonly) int16u hardwareVersion = 7;
attribute(readonly) char_string hardwareVersionString = 8;
attribute(readonly) int32u softwareVersion = 9;
attribute(readonly) char_string softwareVersionString = 10;
attribute(readonly) char_string manufacturingDate = 11;
attribute(readonly) char_string partNumber = 12;
attribute(readonly) long_char_string productURL = 13;
attribute(readonly) char_string productLabel = 14;
attribute(readonly) char_string serialNumber = 15;
attribute(writable) boolean localConfigDisabled = 16;
attribute(readonly) boolean reachable = 17;
attribute(readonly) char_string uniqueID = 18;
attribute(readonly) int16u clusterRevision = 65533;
}
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;
}
attribute(readonly) int16u currentX = 3;
attribute(readonly) int16u currentY = 4;
attribute(writable) bitmap8 colorControlOptions = 15;
attribute(readonly) int16u coupleColorTempToLevelMinMireds = 16397;
attribute(writable) int16u startUpColorTemperatureMireds = 16400;
attribute(readonly) int16u clusterRevision = 65533;
request struct MoveColorRequest {
INT16S rateX = 0;
INT16S rateY = 1;
BITMAP8 optionsMask = 2;
BITMAP8 optionsOverride = 3;
}
request struct MoveToColorRequest {
INT16U colorX = 0;
INT16U colorY = 1;
INT16U transitionTime = 2;
BITMAP8 optionsMask = 3;
BITMAP8 optionsOverride = 4;
}
request struct StepColorRequest {
INT16S stepX = 0;
INT16S stepY = 1;
INT16U transitionTime = 2;
BITMAP8 optionsMask = 3;
BITMAP8 optionsOverride = 4;
}
command MoveColor(MoveColorRequest): DefaultSuccess = 8;
command MoveToColor(MoveToColorRequest): DefaultSuccess = 7;
command StepColor(StepColorRequest): DefaultSuccess = 9;
}
server cluster Descriptor = 29 {
struct DeviceType {
DEVTYPE_ID type = 1;
INT16U revision = 2;
}
attribute(readonly) DeviceType deviceList[] = 0;
attribute(readonly) CLUSTER_ID serverList[] = 1;
attribute(readonly) CLUSTER_ID clientList[] = 2;
attribute(readonly) ENDPOINT_NO partsList[] = 3;
attribute(readonly) int16u clusterRevision = 65533;
}
server cluster GeneralCommissioning = 48 {
enum GeneralCommissioningError : ENUM8 {
kOk = 0;
kValueOutsideRange = 1;
kInvalidAuthentication = 2;
kNotCommissioning = 3;
}
enum RegulatoryLocationType : ENUM8 {
kIndoor = 0;
kOutdoor = 1;
kIndoorOutdoor = 2;
}
struct BasicCommissioningInfoType {
INT32U failSafeExpiryLengthMs = 1;
}
attribute(writable) int64u breadcrumb = 0;
attribute(readonly) BasicCommissioningInfoType basicCommissioningInfoList[] = 1;
attribute(readonly) int16u clusterRevision = 65533;
request struct ArmFailSafeRequest {
INT16U expiryLengthSeconds = 0;
INT64U breadcrumb = 1;
INT32U timeoutMs = 2;
}
request struct SetRegulatoryConfigRequest {
RegulatoryLocationType location = 0;
CHAR_STRING countryCode = 1;
INT64U breadcrumb = 2;
INT32U timeoutMs = 3;
}
response struct ArmFailSafeResponse {
GeneralCommissioningError errorCode = 0;
CHAR_STRING debugText = 1;
}
response struct CommissioningCompleteResponse {
GeneralCommissioningError errorCode = 0;
CHAR_STRING debugText = 1;
}
response struct SetRegulatoryConfigResponse {
GeneralCommissioningError errorCode = 0;
CHAR_STRING debugText = 1;
}
command ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
command CommissioningComplete(): CommissioningCompleteResponse = 4;
command SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
}
server cluster Groups = 4 {
attribute(readonly) bitmap8 nameSupport = 0;
attribute(readonly) int16u clusterRevision = 65533;
request struct AddGroupRequest {
INT16U groupId = 0;
CHAR_STRING groupName = 1;
}
request struct AddGroupIfIdentifyingRequest {
INT16U groupId = 0;
CHAR_STRING groupName = 1;
}
request struct GetGroupMembershipRequest {
INT16U groupList[] = 0;
}
request struct RemoveGroupRequest {
INT16U groupId = 0;
}
request struct ViewGroupRequest {
INT16U groupId = 0;
}
response struct AddGroupResponse {
ENUM8 status = 0;
INT16U groupId = 1;
}
response struct GetGroupMembershipResponse {
INT8U capacity = 0;
INT16U groupList[] = 1;
}
response struct RemoveGroupResponse {
ENUM8 status = 0;
INT16U groupId = 1;
}
response struct ViewGroupResponse {
ENUM8 status = 0;
INT16U groupId = 1;
CHAR_STRING groupName = 2;
}
command AddGroup(AddGroupRequest): AddGroupResponse = 0;
command AddGroupIfIdentifying(AddGroupIfIdentifyingRequest): DefaultSuccess = 5;
command GetGroupMembership(GetGroupMembershipRequest): GetGroupMembershipResponse = 2;
command RemoveAllGroups(): DefaultSuccess = 4;
command RemoveGroup(RemoveGroupRequest): RemoveGroupResponse = 3;
command ViewGroup(ViewGroupRequest): ViewGroupResponse = 1;
}
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(writable) int16u identifyTime = 0;
attribute(readonly) enum8 identifyType = 1;
attribute(readonly) int16u clusterRevision = 65533;
request struct IdentifyRequest {
INT16U identifyTime = 0;
}
response struct IdentifyQueryResponse {
INT16U timeout = 0;
}
command Identify(IdentifyRequest): DefaultSuccess = 0;
command IdentifyQuery(): IdentifyQueryResponse = 1;
}
server cluster LevelControl = 8 {
enum MoveMode : ENUM8 {
kUp = 0;
kDown = 1;
}
enum StepMode : ENUM8 {
kUp = 0;
kDown = 1;
}
attribute(readonly) int8u currentLevel = 0;
attribute(readonly) int16u clusterRevision = 65533;
request struct MoveRequest {
MoveMode moveMode = 0;
INT8U rate = 1;
BITMAP8 optionMask = 2;
BITMAP8 optionOverride = 3;
}
request struct MoveToLevelRequest {
INT8U level = 0;
INT16U transitionTime = 1;
BITMAP8 optionMask = 2;
BITMAP8 optionOverride = 3;
}
request struct MoveToLevelWithOnOffRequest {
INT8U level = 0;
INT16U transitionTime = 1;
}
request struct MoveWithOnOffRequest {
MoveMode moveMode = 0;
INT8U rate = 1;
}
request struct StepRequest {
StepMode stepMode = 0;
INT8U stepSize = 1;
INT16U transitionTime = 2;
BITMAP8 optionMask = 3;
BITMAP8 optionOverride = 4;
}
request struct StepWithOnOffRequest {
StepMode stepMode = 0;
INT8U stepSize = 1;
INT16U transitionTime = 2;
}
request struct StopRequest {
BITMAP8 optionMask = 0;
BITMAP8 optionOverride = 1;
}
command Move(MoveRequest): DefaultSuccess = 1;
command MoveToLevel(MoveToLevelRequest): DefaultSuccess = 0;
command MoveToLevelWithOnOff(MoveToLevelWithOnOffRequest): DefaultSuccess = 4;
command MoveWithOnOff(MoveWithOnOffRequest): DefaultSuccess = 5;
command Step(StepRequest): DefaultSuccess = 2;
command StepWithOnOff(StepWithOnOffRequest): DefaultSuccess = 6;
command Stop(StopRequest): DefaultSuccess = 3;
command StopWithOnOff(): DefaultSuccess = 7;
}
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;
}
struct NetworkInfo {
OCTET_STRING networkID = 1;
BOOLEAN connected = 2;
}
struct WiFiInterfaceScanResult {
BITMAP8 security = 1;
OCTET_STRING ssid = 2;
OCTET_STRING bssid = 3;
INT16U channel = 4;
WiFiBand wiFiBand = 5;
INT8S rssi = 6;
}
struct ThreadInterfaceScanResult {
INT64U panId = 1;
INT64U extendedPanId = 2;
CHAR_STRING networkName = 3;
INT16U channel = 4;
INT8U version = 5;
INT64U extendedAddress = 6;
INT8S rssi = 7;
INT8U lqi = 8;
}
attribute(readonly) int8u maxNetworks = 0;
attribute(readonly) NetworkInfo networks[] = 1;
attribute(readonly) int8u scanMaxTimeSeconds = 2;
attribute(readonly) int8u connectMaxTimeSeconds = 3;
attribute(writable) boolean interfaceEnabled = 4;
attribute(readonly) NetworkCommissioningStatus lastNetworkingStatus = 5;
attribute(readonly) octet_string lastNetworkID = 6;
attribute(readonly) int32u lastConnectErrorValue = 7;
attribute(readonly) bitmap32 featureMap = 65532;
attribute(readonly) int16u clusterRevision = 65533;
request struct AddOrUpdateThreadNetworkRequest {
OCTET_STRING operationalDataset = 0;
INT64U breadcrumb = 1;
}
request struct AddOrUpdateWiFiNetworkRequest {
OCTET_STRING ssid = 0;
OCTET_STRING credentials = 1;
INT64U breadcrumb = 2;
}
request struct ConnectNetworkRequest {
OCTET_STRING networkID = 0;
INT64U breadcrumb = 1;
}
request struct RemoveNetworkRequest {
OCTET_STRING networkID = 0;
INT64U breadcrumb = 1;
}
request struct ReorderNetworkRequest {
OCTET_STRING networkID = 0;
INT8U networkIndex = 1;
INT64U breadcrumb = 2;
}
request struct ScanNetworksRequest {
OCTET_STRING ssid = 0;
INT64U breadcrumb = 1;
}
response struct ConnectNetworkResponse {
NetworkCommissioningStatus networkingStatus = 0;
CHAR_STRING debugText = 1;
INT32S errorValue = 2;
}
response struct NetworkConfigResponse {
NetworkCommissioningStatus networkingStatus = 0;
CHAR_STRING debugText = 1;
}
response struct ScanNetworksResponse {
NetworkCommissioningStatus networkingStatus = 0;
CHAR_STRING debugText = 1;
optional WiFiInterfaceScanResult wiFiScanResults[] = 2;
optional ThreadInterfaceScanResult threadScanResults[] = 3;
}
command AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3;
command AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2;
command ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6;
command RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4;
command ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8;
command ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0;
}
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;
}
attribute(readonly) boolean onOff = 0;
attribute(readonly) int16u clusterRevision = 65533;
command Off(): DefaultSuccess = 0;
command On(): DefaultSuccess = 1;
command Toggle(): DefaultSuccess = 2;
}
server cluster OperationalCredentials = 62 {
enum NodeOperationalCertStatus : ENUM8 {
kSuccess = 0;
kInvalidPublicKey = 1;
kInvalidNodeOpId = 2;
kInvalidNOC = 3;
kMissingCsr = 4;
kTableFull = 5;
kInsufficientPrivilege = 8;
kFabricConflict = 9;
kLabelConflict = 10;
kInvalidFabricIndex = 11;
}
struct FabricDescriptor {
INT8U fabricIndex = 1;
OCTET_STRING rootPublicKey = 2;
INT16U vendorId = 3;
FABRIC_ID fabricId = 4;
NODE_ID nodeId = 5;
CHAR_STRING label = 6;
}
attribute(readonly) FabricDescriptor fabricsList[] = 1;
attribute(readonly) int8u supportedFabrics = 2;
attribute(readonly) int8u commissionedFabrics = 3;
attribute(readonly) OCTET_STRING trustedRootCertificates[] = 4;
attribute(readonly) fabric_idx currentFabricIndex = 5;
attribute(readonly) int16u clusterRevision = 65533;
request struct AddNOCRequest {
OCTET_STRING NOCValue = 0;
optional OCTET_STRING ICACValue = 1;
OCTET_STRING IPKValue = 2;
NODE_ID caseAdminNode = 3;
INT16U adminVendorId = 4;
}
request struct AddTrustedRootCertificateRequest {
OCTET_STRING rootCertificate = 0;
}
request struct AttestationRequestRequest {
OCTET_STRING attestationNonce = 0;
}
request struct CertificateChainRequestRequest {
INT8U certificateType = 0;
}
request struct OpCSRRequestRequest {
OCTET_STRING CSRNonce = 0;
}
request struct RemoveFabricRequest {
INT8U fabricIndex = 0;
}
request struct RemoveTrustedRootCertificateRequest {
OCTET_STRING trustedRootIdentifier = 0;
}
request struct UpdateFabricLabelRequest {
CHAR_STRING label = 0;
}
request struct UpdateNOCRequest {
OCTET_STRING NOCValue = 0;
optional OCTET_STRING ICACValue = 1;
}
response struct AttestationResponse {
OCTET_STRING attestationElements = 0;
OCTET_STRING signature = 1;
}
response struct CertificateChainResponse {
OCTET_STRING certificate = 0;
}
response struct NOCResponse {
INT8U statusCode = 0;
INT8U fabricIndex = 1;
CHAR_STRING debugText = 2;
}
response struct OpCSRResponse {
OCTET_STRING NOCSRElements = 0;
OCTET_STRING attestationSignature = 1;
}
command AddNOC(AddNOCRequest): NOCResponse = 6;
command AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11;
command AttestationRequest(AttestationRequestRequest): AttestationResponse = 0;
command CertificateChainRequest(CertificateChainRequestRequest): CertificateChainResponse = 2;
command OpCSRRequest(OpCSRRequestRequest): OpCSRResponse = 4;
command RemoveFabric(RemoveFabricRequest): NOCResponse = 10;
command RemoveTrustedRootCertificate(RemoveTrustedRootCertificateRequest): DefaultSuccess = 12;
command UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9;
command UpdateNOC(UpdateNOCRequest): NOCResponse = 7;
}
server cluster Scenes = 5 {
struct SceneExtensionFieldSet {
CLUSTER_ID clusterId = 1;
INT8U length = 2;
INT8U value = 3;
}
attribute(readonly) int8u sceneCount = 0;
attribute(readonly) int8u currentScene = 1;
attribute(readonly) int16u currentGroup = 2;
attribute(readonly) boolean sceneValid = 3;
attribute(readonly) bitmap8 nameSupport = 4;
attribute(readonly) int16u clusterRevision = 65533;
request struct AddSceneRequest {
INT16U groupId = 0;
INT8U sceneId = 1;
INT16U transitionTime = 2;
CHAR_STRING sceneName = 3;
SceneExtensionFieldSet extensionFieldSets[] = 4;
}
request struct GetSceneMembershipRequest {
INT16U groupId = 0;
}
request struct RecallSceneRequest {
INT16U groupId = 0;
INT8U sceneId = 1;
INT16U transitionTime = 2;
}
request struct RemoveAllScenesRequest {
INT16U groupId = 0;
}
request struct RemoveSceneRequest {
INT16U groupId = 0;
INT8U sceneId = 1;
}
request struct StoreSceneRequest {
INT16U groupId = 0;
INT8U sceneId = 1;
}
request struct ViewSceneRequest {
INT16U groupId = 0;
INT8U sceneId = 1;
}
response struct AddSceneResponse {
ENUM8 status = 0;
INT16U groupId = 1;
INT8U sceneId = 2;
}
response struct GetSceneMembershipResponse {
ENUM8 status = 0;
INT8U capacity = 1;
INT16U groupId = 2;
INT8U sceneCount = 3;
INT8U sceneList[] = 4;
}
response struct RemoveAllScenesResponse {
ENUM8 status = 0;
INT16U groupId = 1;
}
response struct RemoveSceneResponse {
ENUM8 status = 0;
INT16U groupId = 1;
INT8U sceneId = 2;
}
response struct StoreSceneResponse {
ENUM8 status = 0;
INT16U groupId = 1;
INT8U sceneId = 2;
}
response struct ViewSceneResponse {
ENUM8 status = 0;
INT16U groupId = 1;
INT8U sceneId = 2;
INT16U transitionTime = 3;
CHAR_STRING sceneName = 4;
SceneExtensionFieldSet extensionFieldSets[] = 5;
}
command AddScene(AddSceneRequest): AddSceneResponse = 0;
command GetSceneMembership(GetSceneMembershipRequest): GetSceneMembershipResponse = 6;
command RecallScene(RecallSceneRequest): DefaultSuccess = 5;
command RemoveAllScenes(RemoveAllScenesRequest): RemoveAllScenesResponse = 3;
command RemoveScene(RemoveSceneRequest): RemoveSceneResponse = 2;
command StoreScene(StoreSceneRequest): StoreSceneResponse = 4;
command ViewScene(ViewSceneRequest): ViewSceneResponse = 1;
}
client cluster TemperatureMeasurement = 1026 {
attribute(readonly) int16s measuredValue = 0;
attribute(readonly) int16s minMeasuredValue = 1;
attribute(readonly) int16s maxMeasuredValue = 2;
attribute(readonly) int16u clusterRevision = 65533;
}
server cluster TemperatureMeasurement = 1026 {
attribute(readonly) int16s measuredValue = 0;
attribute(readonly) int16s minMeasuredValue = 1;
attribute(readonly) int16s maxMeasuredValue = 2;
attribute(readonly) int16u clusterRevision = 65533;
}
endpoint 0 {
server cluster Basic;
server cluster Descriptor;
server cluster GeneralCommissioning;
server cluster NetworkCommissioning;
server cluster OperationalCredentials;
binding cluster TemperatureMeasurement;
server cluster TemperatureMeasurement;
}
endpoint 1 {
server cluster Basic;
server cluster ColorControl;
server cluster Groups;
server cluster Identify;
server cluster LevelControl;
server cluster OnOff;
server cluster Scenes;
}