blob: 04368bc3032d03df6c1889cc28763b5b0402687b [file] [log] [blame]
// This IDL was generated automatically by ZAP.
// It is for view/code review purposes only.
struct LabelStruct {
CHAR_STRING<16> label = 0;
CHAR_STRING<16> value = 1;
}
server cluster AccessControl = 31 {
enum AuthMode : ENUM8 {
kPase = 1;
kCase = 2;
kGroup = 3;
}
enum ChangeTypeEnum : ENUM8 {
kChanged = 0;
kAdded = 1;
kRemoved = 2;
}
enum Privilege : ENUM8 {
kView = 1;
kProxyView = 2;
kOperate = 3;
kManage = 4;
kAdminister = 5;
}
struct AccessControlEntry {
Privilege privilege = 1;
AuthMode authMode = 2;
nullable INT64U subjects[] = 3;
nullable Target targets[] = 4;
fabric_idx fabricIndex = 254;
}
struct Target {
nullable cluster_id cluster = 0;
nullable endpoint_no endpoint = 1;
nullable devtype_id deviceType = 2;
}
struct ExtensionEntry {
OCTET_STRING<254> data = 1;
fabric_idx fabricIndex = 254;
}
info event AccessControlEntryChanged = 0 {
nullable node_id adminNodeID = 1;
nullable INT16U adminPasscodeID = 2;
ChangeTypeEnum changeType = 3;
nullable AccessControlEntry latestValue = 4;
fabric_idx adminFabricIndex = 254;
}
info event AccessControlExtensionChanged = 1 {
nullable node_id adminNodeID = 1;
nullable INT16U adminPasscodeID = 2;
ChangeTypeEnum changeType = 3;
nullable ExtensionEntry latestValue = 4;
fabric_idx adminFabricIndex = 254;
}
attribute AccessControlEntry acl[] = 0;
attribute ExtensionEntry extension[] = 1;
readonly global attribute attrib_id attributeList[] = 65531;
readonly global attribute int16u clusterRevision = 65533;
}
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
kEnhancedWindowOpen = 1;
kBasicWindowOpen = 2;
}
enum StatusCode : ENUM8 {
kBusy = 1;
kPAKEParameterError = 2;
kWindowNotOpen = 3;
}
readonly attribute int8u windowStatus = 0;
readonly attribute fabric_idx adminFabricIndex = 1;
readonly attribute int16u adminVendorId = 2;
readonly global attribute int16u clusterRevision = 65533;
request struct OpenCommissioningWindowRequest {
INT16U commissioningTimeout = 0;
OCTET_STRING PAKEVerifier = 1;
INT16U discriminator = 2;
INT32U iterations = 3;
OCTET_STRING salt = 4;
}
request struct OpenBasicCommissioningWindowRequest {
INT16U commissioningTimeout = 0;
}
timed command OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0;
timed command OpenBasicCommissioningWindow(OpenBasicCommissioningWindowRequest): DefaultSuccess = 1;
timed command RevokeCommissioning(): DefaultSuccess = 2;
}
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;
}
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 char_string<32> nodeLabel = 5;
attribute 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 boolean localConfigDisabled = 16;
readonly attribute boolean reachable = 17;
readonly attribute char_string<32> uniqueID = 18;
readonly global attribute int16u clusterRevision = 65533;
}
server cluster Descriptor = 29 {
struct DeviceType {
DEVTYPE_ID type = 0;
INT16U revision = 1;
}
readonly attribute DeviceType deviceList[] = 0;
readonly attribute CLUSTER_ID serverList[] = 1;
readonly attribute CLUSTER_ID clientList[] = 2;
readonly attribute ENDPOINT_NO partsList[] = 3;
readonly global attribute int16u clusterRevision = 65533;
}
server cluster DiagnosticLogs = 50 {
enum LogsIntent : ENUM8 {
kEndUserSupport = 0;
kNetworkDiag = 1;
kCrashLogs = 2;
}
enum LogsStatus : ENUM8 {
kSuccess = 0;
kExhausted = 1;
kNoLogs = 2;
kBusy = 3;
kDenied = 4;
}
enum LogsTransferProtocol : ENUM8 {
kResponsePayload = 0;
kBdx = 1;
}
request struct RetrieveLogsRequestRequest {
LogsIntent intent = 0;
LogsTransferProtocol requestedProtocol = 1;
OCTET_STRING transferFileDesignator = 2;
}
command RetrieveLogsRequest(RetrieveLogsRequestRequest): RetrieveLogsResponse = 0;
}
server cluster EthernetNetworkDiagnostics = 55 {
enum PHYRateType : ENUM8 {
k10m = 0;
k100m = 1;
k1000m = 2;
k25g = 3;
k5g = 4;
k10g = 5;
k40g = 6;
k100g = 7;
k200g = 8;
k400g = 9;
}
readonly attribute nullable PHYRateType 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 global attribute bitmap32 featureMap = 65532;
readonly global attribute int16u clusterRevision = 65533;
command ResetCounts(): DefaultSuccess = 0;
}
server cluster FixedLabel = 64 {
readonly attribute LabelStruct labelList[] = 0;
readonly global attribute int16u clusterRevision = 65533;
}
server cluster GeneralCommissioning = 48 {
enum CommissioningError : ENUM8 {
kOk = 0;
kValueOutsideRange = 1;
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
}
enum RegulatoryLocationType : ENUM8 {
kIndoor = 0;
kOutdoor = 1;
kIndoorOutdoor = 2;
}
struct BasicCommissioningInfo {
INT16U failSafeExpiryLengthSeconds = 0;
}
attribute int64u breadcrumb = 0;
readonly attribute BasicCommissioningInfo basicCommissioningInfo = 1;
readonly attribute RegulatoryLocationType regulatoryConfig = 2;
readonly attribute RegulatoryLocationType locationCapability = 3;
readonly global attribute bitmap32 featureMap = 65532;
readonly global attribute 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 {
CommissioningError errorCode = 0;
CHAR_STRING debugText = 1;
}
response struct SetRegulatoryConfigResponse {
CommissioningError errorCode = 0;
CHAR_STRING debugText = 1;
}
response struct CommissioningCompleteResponse {
CommissioningError errorCode = 0;
CHAR_STRING debugText = 1;
}
command ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
command SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
command CommissioningComplete(): CommissioningCompleteResponse = 4;
}
server cluster GeneralDiagnostics = 51 {
enum BootReasonType : ENUM8 {
kUnspecified = 0;
kPowerOnReboot = 1;
kBrownOutReset = 2;
kSoftwareWatchdogReset = 3;
kHardwareWatchdogReset = 4;
kSoftwareUpdateCompleted = 5;
kSoftwareReset = 6;
}
enum HardwareFaultType : ENUM8 {
kUnspecified = 0;
kRadio = 1;
kSensor = 2;
kResettableOverTemp = 3;
kNonResettableOverTemp = 4;
kPowerSource = 5;
kVisualDisplayFault = 6;
kAudioOutputFault = 7;
kUserInterfaceFault = 8;
kNonVolatileMemoryError = 9;
kTamperDetected = 10;
}
enum InterfaceType : ENUM8 {
kUnspecified = 0;
kWiFi = 1;
kEthernet = 2;
kCellular = 3;
kThread = 4;
}
enum NetworkFaultType : ENUM8 {
kUnspecified = 0;
kHardwareFailure = 1;
kNetworkJammed = 2;
kConnectionFailed = 3;
}
enum RadioFaultType : ENUM8 {
kUnspecified = 0;
kWiFiFault = 1;
kCellularFault = 2;
kThreadFault = 3;
kNFCFault = 4;
kBLEFault = 5;
kEthernetFault = 6;
}
struct NetworkInterfaceType {
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;
InterfaceType type = 7;
}
critical event HardwareFaultChange = 0 {
HardwareFaultType current[] = 0;
HardwareFaultType previous[] = 1;
}
critical event RadioFaultChange = 1 {
RadioFaultType current[] = 0;
RadioFaultType previous[] = 1;
}
critical event NetworkFaultChange = 2 {
NetworkFaultType current[] = 0;
NetworkFaultType previous[] = 1;
}
critical event BootReason = 3 {
BootReasonType bootReason = 0;
}
readonly attribute NetworkInterfaceType networkInterfaces[] = 0;
readonly attribute int16u rebootCount = 1;
readonly attribute int64u upTime = 2;
readonly attribute int32u totalOperationalHours = 3;
readonly attribute enum8 bootReasons = 4;
readonly attribute ENUM8 activeHardwareFaults[] = 5;
readonly attribute ENUM8 activeRadioFaults[] = 6;
readonly attribute ENUM8 activeNetworkFaults[] = 7;
readonly global attribute int16u clusterRevision = 65533;
}
server cluster LocalizationConfiguration = 43 {
attribute char_string<35> activeLocale = 1;
readonly attribute CHAR_STRING supportedLocales[] = 2;
readonly global attribute int16u clusterRevision = 65533;
}
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 NetworkCommissioningFeature : BITMAP32 {
kWiFiNetworkInterface = 0x1;
kThreadNetworkInterface = 0x2;
kEthernetNetworkInterface = 0x4;
}
struct NetworkInfo {
OCTET_STRING networkID = 0;
BOOLEAN connected = 1;
}
struct WiFiInterfaceScanResult {
BITMAP8 security = 0;
OCTET_STRING ssid = 1;
OCTET_STRING bssid = 2;
INT16U channel = 3;
WiFiBand wiFiBand = 4;
INT8S rssi = 5;
}
struct ThreadInterfaceScanResult {
INT64U panId = 0;
INT64U extendedPanId = 1;
CHAR_STRING networkName = 2;
INT16U channel = 3;
INT8U version = 4;
INT64U extendedAddress = 5;
INT8S rssi = 6;
INT8U lqi = 7;
}
readonly attribute int8u maxNetworks = 0;
readonly attribute NetworkInfo networks[] = 1;
readonly attribute int8u scanMaxTimeSeconds = 2;
readonly attribute int8u connectMaxTimeSeconds = 3;
attribute boolean interfaceEnabled = 4;
readonly attribute nullable NetworkCommissioningStatus lastNetworkingStatus = 5;
readonly attribute nullable octet_string<32> lastNetworkID = 6;
readonly attribute nullable int32s lastConnectErrorValue = 7;
readonly global attribute bitmap32 featureMap = 65532;
readonly global attribute int16u clusterRevision = 65533;
request struct ScanNetworksRequest {
OCTET_STRING ssid = 0;
INT64U breadcrumb = 1;
}
request struct AddOrUpdateWiFiNetworkRequest {
OCTET_STRING ssid = 0;
OCTET_STRING credentials = 1;
INT64U breadcrumb = 2;
}
request struct AddOrUpdateThreadNetworkRequest {
OCTET_STRING operationalDataset = 0;
INT64U breadcrumb = 1;
}
request struct RemoveNetworkRequest {
OCTET_STRING networkID = 0;
INT64U breadcrumb = 1;
}
request struct ConnectNetworkRequest {
OCTET_STRING networkID = 0;
INT64U breadcrumb = 1;
}
request struct ReorderNetworkRequest {
OCTET_STRING networkID = 0;
INT8U networkIndex = 1;
INT64U breadcrumb = 2;
}
response struct ScanNetworksResponse {
NetworkCommissioningStatus networkingStatus = 0;
CHAR_STRING debugText = 1;
optional WiFiInterfaceScanResult wiFiScanResults[] = 2;
optional ThreadInterfaceScanResult threadScanResults[] = 3;
}
response struct NetworkConfigResponse {
NetworkCommissioningStatus networkingStatus = 0;
CHAR_STRING debugText = 1;
}
response struct ConnectNetworkResponse {
NetworkCommissioningStatus networkingStatus = 0;
CHAR_STRING debugText = 1;
INT32S errorValue = 2;
}
command ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0;
command AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2;
command AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3;
command RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4;
command ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6;
command ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8;
}
client cluster OtaSoftwareUpdateProvider = 41 {
enum OTAApplyUpdateAction : ENUM8 {
kProceed = 0;
kAwaitNextAction = 1;
kDiscontinue = 2;
}
enum OTADownloadProtocol : ENUM8 {
kBDXSynchronous = 0;
kBDXAsynchronous = 1;
kHttps = 2;
kVendorSpecific = 3;
}
enum OTAQueryStatus : ENUM8 {
kUpdateAvailable = 0;
kBusy = 1;
kNotAvailable = 2;
kDownloadProtocolNotSupported = 3;
}
readonly global attribute int16u clusterRevision = 65533;
request struct QueryImageRequest {
vendor_id vendorId = 0;
INT16U productId = 1;
INT32U softwareVersion = 2;
OTADownloadProtocol protocolsSupported[] = 3;
optional INT16U hardwareVersion = 4;
optional CHAR_STRING location = 5;
optional BOOLEAN requestorCanConsent = 6;
optional OCTET_STRING metadataForProvider = 7;
}
request struct ApplyUpdateRequestRequest {
OCTET_STRING updateToken = 0;
INT32U newVersion = 1;
}
request struct NotifyUpdateAppliedRequest {
OCTET_STRING updateToken = 0;
INT32U softwareVersion = 1;
}
response struct QueryImageResponse {
OTAQueryStatus status = 0;
optional INT32U delayedActionTime = 1;
optional CHAR_STRING imageURI = 2;
optional INT32U softwareVersion = 3;
optional CHAR_STRING softwareVersionString = 4;
optional OCTET_STRING updateToken = 5;
optional BOOLEAN userConsentNeeded = 6;
optional OCTET_STRING metadataForRequestor = 7;
}
response struct ApplyUpdateResponse {
OTAApplyUpdateAction action = 0;
INT32U delayedActionTime = 1;
}
command QueryImage(QueryImageRequest): QueryImageResponse = 0;
command ApplyUpdateRequest(ApplyUpdateRequestRequest): ApplyUpdateResponse = 2;
command NotifyUpdateApplied(NotifyUpdateAppliedRequest): DefaultSuccess = 4;
}
server cluster OtaSoftwareUpdateRequestor = 42 {
enum OTAAnnouncementReason : ENUM8 {
kSimpleAnnouncement = 0;
kUpdateAvailable = 1;
kUrgentUpdateAvailable = 2;
}
enum OTAChangeReasonEnum : ENUM8 {
kUnknown = 0;
kSuccess = 1;
kFailure = 2;
kTimeOut = 3;
kDelayByProvider = 4;
}
enum OTAUpdateStateEnum : ENUM8 {
kUnknown = 0;
kIdle = 1;
kQuerying = 2;
kDelayedOnQuery = 3;
kDownloading = 4;
kApplying = 5;
kDelayedOnApply = 6;
kRollingBack = 7;
kDelayedOnUserConsent = 8;
}
struct ProviderLocation {
node_id providerNodeID = 1;
endpoint_no endpoint = 2;
fabric_idx fabricIndex = 254;
}
info event StateTransition = 0 {
OTAUpdateStateEnum previousState = 0;
OTAUpdateStateEnum newState = 1;
OTAChangeReasonEnum reason = 2;
nullable INT32U targetSoftwareVersion = 3;
}
critical event VersionApplied = 1 {
INT32U softwareVersion = 0;
INT16U productID = 1;
}
info event DownloadError = 2 {
INT32U softwareVersion = 0;
INT64U bytesDownloaded = 1;
nullable INT8U progressPercent = 2;
nullable INT64S platformCode = 3;
}
attribute ProviderLocation defaultOtaProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute OTAUpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
readonly global attribute int16u clusterRevision = 65533;
request struct AnnounceOtaProviderRequest {
node_id providerNodeId = 0;
vendor_id vendorId = 1;
OTAAnnouncementReason announcementReason = 2;
optional OCTET_STRING metadataForNode = 3;
endpoint_no endpoint = 4;
}
command AnnounceOtaProvider(AnnounceOtaProviderRequest): DefaultSuccess = 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;
}
enum OnOffStartUpOnOff : ENUM8 {
kOff = 0;
kOn = 1;
kTogglePreviousOnOff = 2;
}
bitmap OnOffControl : BITMAP8 {
kAcceptOnlyWhenOn = 0x1;
}
bitmap OnOffFeature : BITMAP32 {
kLighting = 0x1;
}
readonly attribute boolean onOff = 0;
readonly attribute boolean globalSceneControl = 16384;
attribute int16u onTime = 16385;
attribute int16u offWaitTime = 16386;
attribute nullable OnOffStartUpOnOff startUpOnOff = 16387;
readonly global attribute bitmap32 featureMap = 65532;
readonly global attribute int16u clusterRevision = 65533;
command Off(): DefaultSuccess = 0;
command On(): DefaultSuccess = 1;
command Toggle(): DefaultSuccess = 2;
}
server cluster OperationalCredentials = 62 {
enum OperationalCertStatus : ENUM8 {
kSuccess = 0;
kInvalidPublicKey = 1;
kInvalidNodeOpId = 2;
kInvalidNOC = 3;
kMissingCsr = 4;
kTableFull = 5;
kInsufficientPrivilege = 8;
kFabricConflict = 9;
kLabelConflict = 10;
kInvalidFabricIndex = 11;
}
struct NOCStruct {
OCTET_STRING noc = 1;
nullable OCTET_STRING icac = 2;
fabric_idx fabricIndex = 254;
}
struct FabricDescriptor {
OCTET_STRING<65> rootPublicKey = 1;
INT16U vendorId = 2;
FABRIC_ID fabricId = 3;
NODE_ID nodeId = 4;
CHAR_STRING<32> label = 5;
fabric_idx fabricIndex = 254;
}
readonly attribute NOCStruct NOCs[] = 0;
readonly attribute FabricDescriptor fabrics[] = 1;
readonly attribute int8u supportedFabrics = 2;
readonly attribute int8u commissionedFabrics = 3;
readonly attribute OCTET_STRING trustedRootCertificates[] = 4;
readonly attribute fabric_idx currentFabricIndex = 5;
readonly global attribute int16u clusterRevision = 65533;
request struct AttestationRequestRequest {
OCTET_STRING attestationNonce = 0;
}
request struct CertificateChainRequestRequest {
INT8U certificateType = 0;
}
request struct CSRRequestRequest {
OCTET_STRING CSRNonce = 0;
}
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 UpdateNOCRequest {
OCTET_STRING NOCValue = 0;
optional OCTET_STRING ICACValue = 1;
}
request struct UpdateFabricLabelRequest {
CHAR_STRING label = 0;
}
request struct RemoveFabricRequest {
fabric_idx fabricIndex = 0;
}
request struct AddTrustedRootCertificateRequest {
OCTET_STRING rootCertificate = 0;
}
request struct RemoveTrustedRootCertificateRequest {
OCTET_STRING trustedRootIdentifier = 0;
}
response struct AttestationResponse {
OCTET_STRING attestationElements = 0;
OCTET_STRING signature = 1;
}
response struct CertificateChainResponse {
OCTET_STRING certificate = 0;
}
response struct CSRResponse {
OCTET_STRING NOCSRElements = 0;
OCTET_STRING attestationSignature = 1;
}
response struct NOCResponse {
OperationalCertStatus statusCode = 0;
optional fabric_idx fabricIndex = 1;
optional CHAR_STRING debugText = 2;
}
command AttestationRequest(AttestationRequestRequest): AttestationResponse = 0;
command CertificateChainRequest(CertificateChainRequestRequest): CertificateChainResponse = 2;
command CSRRequest(CSRRequestRequest): CSRResponse = 4;
command AddNOC(AddNOCRequest): NOCResponse = 6;
command UpdateNOC(UpdateNOCRequest): NOCResponse = 7;
command UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9;
command RemoveFabric(RemoveFabricRequest): NOCResponse = 10;
command AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11;
command RemoveTrustedRootCertificate(RemoveTrustedRootCertificateRequest): DefaultSuccess = 12;
}
server cluster PowerSource = 47 {
enum BatChargeFaultType : ENUM8 {
kUnspecfied = 0;
kAmbientTooHot = 1;
kAmbientTooCold = 2;
kBatteryTooHot = 3;
kBatteryTooCold = 4;
kBatteryAbsent = 5;
kBatteryOverVoltage = 6;
kBatteryUnderVoltage = 7;
kChargerOverVoltage = 8;
kChargerUnderVoltage = 9;
kSafetyTimeout = 10;
}
enum BatChargeLevel : ENUM8 {
kOk = 0;
kWarning = 1;
kCritical = 2;
}
enum BatChargeState : ENUM8 {
kUnknown = 0;
kIsCharging = 1;
kIsAtFullCharge = 2;
kIsNotCharging = 3;
}
enum BatFaultType : ENUM8 {
kUnspecfied = 0;
kOverTemp = 1;
kUnderTemp = 2;
}
enum BatReplaceability : ENUM8 {
kUnspecified = 0;
kNotReplaceable = 1;
kUserReplaceable = 2;
kFactoryReplaceable = 3;
}
enum PowerSourceStatus : ENUM8 {
kUnspecfied = 0;
kActive = 1;
kStandby = 2;
kUnavailable = 3;
}
enum WiredCurrentType : ENUM8 {
kAc = 0;
kDc = 1;
}
enum WiredFaultType : ENUM8 {
kUnspecfied = 0;
kOverVoltage = 1;
kUnderVoltage = 2;
}
bitmap PowerSourceFeature : BITMAP32 {
kWired = 0x1;
kBattery = 0x2;
kRechargeable = 0x4;
kReplaceable = 0x8;
}
readonly attribute enum8 status = 0;
readonly attribute int8u order = 1;
readonly attribute char_string<60> description = 2;
readonly attribute int32u wiredAssessedCurrent = 6;
readonly attribute enum8 batteryChargeLevel = 14;
readonly attribute boolean batteryReplacementNeeded = 15;
readonly attribute enum8 batteryReplaceability = 16;
readonly attribute char_string<60> batteryReplacementDescription = 19;
readonly global attribute bitmap32 featureMap = 65532;
readonly global attribute int16u clusterRevision = 65533;
}
server cluster PowerSourceConfiguration = 46 {
readonly attribute INT8U sources[] = 0;
readonly global attribute int16u clusterRevision = 65533;
}
server cluster SoftwareDiagnostics = 52 {
struct ThreadMetrics {
INT64U id = 0;
CHAR_STRING<8> name = 1;
INT32U stackFreeCurrent = 2;
INT32U stackFreeMinimum = 3;
INT32U stackSize = 4;
}
info event SoftwareFault = 0 {
SoftwareFaultStruct softwareFault = 0;
}
readonly attribute ThreadMetrics threadMetrics[] = 0;
readonly attribute int64u currentHeapFree = 1;
readonly attribute int64u currentHeapUsed = 2;
readonly attribute int64u currentHeapHighWatermark = 3;
readonly global attribute bitmap32 featureMap = 65532;
readonly global attribute int16u clusterRevision = 65533;
command ResetWatermarks(): DefaultSuccess = 0;
}
server cluster ThreadNetworkDiagnostics = 53 {
enum NetworkFault : ENUM8 {
kUnspecified = 0;
kLinkDown = 1;
kHardwareFailure = 2;
kNetworkJammed = 3;
}
enum RoutingRole : ENUM8 {
kUnspecified = 0;
kUnassigned = 1;
kSleepyEndDevice = 2;
kEndDevice = 3;
kReed = 4;
kRouter = 5;
kLeader = 6;
}
enum ThreadConnectionStatus : ENUM8 {
kConnected = 0;
kNotConnected = 1;
}
bitmap ThreadNetworkDiagnosticsFeature : BITMAP32 {
kPacketCounts = 0x1;
kErrorCounts = 0x2;
kMLECounts = 0x4;
kMACCounts = 0x8;
}
struct NeighborTable {
INT64U extAddress = 0;
INT32U age = 1;
INT16U rloc16 = 2;
INT32U linkFrameCounter = 3;
INT32U mleFrameCounter = 4;
INT8U lqi = 5;
INT8S averageRssi = 6;
INT8S lastRssi = 7;
INT8U frameErrorRate = 8;
INT8U messageErrorRate = 9;
BOOLEAN rxOnWhenIdle = 10;
BOOLEAN fullThreadDevice = 11;
BOOLEAN fullNetworkData = 12;
BOOLEAN isChild = 13;
}
struct RouteTable {
INT64U extAddress = 0;
INT16U rloc16 = 1;
INT8U routerId = 2;
INT8U nextHop = 3;
INT8U pathCost = 4;
INT8U LQIIn = 5;
INT8U LQIOut = 6;
INT8U age = 7;
BOOLEAN allocated = 8;
BOOLEAN linkEstablished = 9;
}
struct SecurityPolicy {
INT16U rotationTime = 0;
BITMAP16 flags = 1;
}
struct OperationalDatasetComponents {
BOOLEAN activeTimestampPresent = 0;
BOOLEAN pendingTimestampPresent = 1;
BOOLEAN masterKeyPresent = 2;
BOOLEAN networkNamePresent = 3;
BOOLEAN extendedPanIdPresent = 4;
BOOLEAN meshLocalPrefixPresent = 5;
BOOLEAN delayPresent = 6;
BOOLEAN panIdPresent = 7;
BOOLEAN channelPresent = 8;
BOOLEAN pskcPresent = 9;
BOOLEAN securityPolicyPresent = 10;
BOOLEAN channelMaskPresent = 11;
}
info event ConnectionStatus = 0 {
ThreadConnectionStatus connectionStatus = 0;
}
readonly attribute int16u channel = 0;
readonly attribute enum8 routingRole = 1;
readonly attribute char_string<16> networkName = 2;
readonly attribute int16u panId = 3;
readonly attribute int64u extendedPanId = 4;
readonly attribute octet_string<17> meshLocalPrefix = 5;
readonly attribute int64u overrunCount = 6;
readonly attribute NeighborTable neighborTableList[] = 7;
readonly attribute RouteTable routeTableList[] = 8;
readonly attribute int32u partitionId = 9;
readonly attribute int8u weighting = 10;
readonly attribute int8u dataVersion = 11;
readonly attribute int8u stableDataVersion = 12;
readonly attribute int8u leaderRouterId = 13;
readonly attribute int16u detachedRoleCount = 14;
readonly attribute int16u childRoleCount = 15;
readonly attribute int16u routerRoleCount = 16;
readonly attribute int16u leaderRoleCount = 17;
readonly attribute int16u attachAttemptCount = 18;
readonly attribute int16u partitionIdChangeCount = 19;
readonly attribute int16u betterPartitionAttachAttemptCount = 20;
readonly attribute int16u parentChangeCount = 21;
readonly attribute int32u txTotalCount = 22;
readonly attribute int32u txUnicastCount = 23;
readonly attribute int32u txBroadcastCount = 24;
readonly attribute int32u txAckRequestedCount = 25;
readonly attribute int32u txAckedCount = 26;
readonly attribute int32u txNoAckRequestedCount = 27;
readonly attribute int32u txDataCount = 28;
readonly attribute int32u txDataPollCount = 29;
readonly attribute int32u txBeaconCount = 30;
readonly attribute int32u txBeaconRequestCount = 31;
readonly attribute int32u txOtherCount = 32;
readonly attribute int32u txRetryCount = 33;
readonly attribute int32u txDirectMaxRetryExpiryCount = 34;
readonly attribute int32u txIndirectMaxRetryExpiryCount = 35;
readonly attribute int32u txErrCcaCount = 36;
readonly attribute int32u txErrAbortCount = 37;
readonly attribute int32u txErrBusyChannelCount = 38;
readonly attribute int32u rxTotalCount = 39;
readonly attribute int32u rxUnicastCount = 40;
readonly attribute int32u rxBroadcastCount = 41;
readonly attribute int32u rxDataCount = 42;
readonly attribute int32u rxDataPollCount = 43;
readonly attribute int32u rxBeaconCount = 44;
readonly attribute int32u rxBeaconRequestCount = 45;
readonly attribute int32u rxOtherCount = 46;
readonly attribute int32u rxAddressFilteredCount = 47;
readonly attribute int32u rxDestAddrFilteredCount = 48;
readonly attribute int32u rxDuplicatedCount = 49;
readonly attribute int32u rxErrNoFrameCount = 50;
readonly attribute int32u rxErrUnknownNeighborCount = 51;
readonly attribute int32u rxErrInvalidSrcAddrCount = 52;
readonly attribute int32u rxErrSecCount = 53;
readonly attribute int32u rxErrFcsCount = 54;
readonly attribute int32u rxErrOtherCount = 55;
readonly attribute int64u activeTimestamp = 56;
readonly attribute int64u pendingTimestamp = 57;
readonly attribute int32u delay = 58;
readonly attribute SecurityPolicy securityPolicy[] = 59;
readonly attribute octet_string<4> channelMask = 60;
readonly attribute OperationalDatasetComponents operationalDatasetComponents[] = 61;
readonly attribute NetworkFault activeNetworkFaultsList[] = 62;
readonly global attribute bitmap32 featureMap = 65532;
readonly global attribute int16u clusterRevision = 65533;
command ResetCounts(): DefaultSuccess = 0;
}
server cluster TimeFormatLocalization = 44 {
enum CalendarType : 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 HourFormat : ENUM8 {
k12hr = 0;
k24hr = 1;
}
attribute HourFormat hourFormat = 0;
attribute CalendarType activeCalendarType = 1;
readonly attribute CalendarType supportedCalendarTypes[] = 2;
readonly global attribute int16u clusterRevision = 65533;
}
server cluster UserLabel = 65 {
attribute LabelStruct labelList[] = 0;
readonly global attribute int16u clusterRevision = 65533;
}
server cluster WiFiNetworkDiagnostics = 54 {
enum AssociationFailureCause : ENUM8 {
kUnknown = 0;
kAssociationFailed = 1;
kAuthenticationFailed = 2;
kSsidNotFound = 3;
}
enum SecurityType : ENUM8 {
kUnspecified = 0;
kNone = 1;
kWep = 2;
kWpa = 3;
kWpa2 = 4;
kWpa3 = 5;
}
enum WiFiConnectionStatus : ENUM8 {
kConnected = 0;
kNotConnected = 1;
}
enum WiFiVersionType : ENUM8 {
k80211a = 0;
k80211b = 1;
k80211g = 2;
k80211n = 3;
k80211ac = 4;
k80211ax = 5;
}
info event Disconnection = 0 {
INT16U reasonCode = 0;
}
info event AssociationFailure = 1 {
AssociationFailureCause associationFailure = 0;
INT16U status = 1;
}
info event ConnectionStatus = 2 {
WiFiConnectionStatus connectionStatus = 0;
}
readonly attribute nullable octet_string<6> bssid = 0;
readonly attribute nullable SecurityType securityType = 1;
readonly attribute nullable WiFiVersionType wiFiVersion = 2;
readonly attribute nullable int16u channelNumber = 3;
readonly attribute nullable int8s rssi = 4;
readonly attribute int32u beaconLostCount = 5;
readonly attribute int32u beaconRxCount = 6;
readonly attribute int32u packetMulticastRxCount = 7;
readonly attribute int32u packetMulticastTxCount = 8;
readonly attribute int32u packetUnicastRxCount = 9;
readonly attribute int32u packetUnicastTxCount = 10;
readonly attribute int64u currentMaxRate = 11;
readonly attribute int64u overrunCount = 12;
readonly global attribute bitmap32 featureMap = 65532;
readonly global attribute int16u clusterRevision = 65533;
command ResetCounts(): DefaultSuccess = 0;
}
endpoint 0 {
server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Descriptor;
server cluster DiagnosticLogs;
server cluster EthernetNetworkDiagnostics;
server cluster FixedLabel;
server cluster GeneralCommissioning;
server cluster GeneralDiagnostics;
server cluster LocalizationConfiguration;
server cluster NetworkCommissioning;
binding cluster OtaSoftwareUpdateProvider;
server cluster OtaSoftwareUpdateRequestor;
server cluster OperationalCredentials;
server cluster PowerSource;
server cluster PowerSourceConfiguration;
server cluster SoftwareDiagnostics;
server cluster ThreadNetworkDiagnostics;
server cluster TimeFormatLocalization;
server cluster UserLabel;
server cluster WiFiNetworkDiagnostics;
}
endpoint 1 {
server cluster Descriptor;
server cluster OnOff;
server cluster PowerSource;
}