blob: 0e4d5b1fd20c94eb1d59355f0a46ab387abe0aa6 [file] [log] [blame]
// This IDL was generated automatically by ZAP.
// It is for view/code review purposes only.
/** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */
server cluster Identify = 3 {
revision 4;
enum EffectIdentifierEnum : enum8 {
kBlink = 0;
kBreathe = 1;
kOkay = 2;
kChannelChange = 11;
kFinishEffect = 254;
kStopEffect = 255;
}
enum EffectVariantEnum : enum8 {
kDefault = 0;
}
enum IdentifyTypeEnum : enum8 {
kNone = 0;
kLightOutput = 1;
kVisibleIndicator = 2;
kAudibleBeep = 3;
kDisplay = 4;
kActuator = 5;
}
attribute int16u identifyTime = 0;
readonly attribute IdentifyTypeEnum identifyType = 1;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct IdentifyRequest {
int16u identifyTime = 0;
}
request struct TriggerEffectRequest {
EffectIdentifierEnum effectIdentifier = 0;
EffectVariantEnum effectVariant = 1;
}
command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0;
command access(invoke: manage) TriggerEffect(TriggerEffectRequest): DefaultSuccess = 64;
}
/** 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 {
revision 2;
bitmap Feature : bitmap32 {
kTagList = 0x1;
}
struct DeviceTypeStruct {
devtype_id deviceType = 0;
int16u revision = 1;
}
struct SemanticTagStruct {
nullable vendor_id mfgCode = 0;
enum8 namespaceID = 1;
enum8 tag = 2;
optional nullable char_string label = 3;
}
readonly attribute DeviceTypeStruct deviceTypeList[] = 0;
readonly attribute cluster_id serverList[] = 1;
readonly attribute cluster_id clientList[] = 2;
readonly attribute endpoint_no partsList[] = 3;
readonly attribute 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 {
revision 1; // NOTE: Default/not specifically set
enum AccessControlEntryAuthModeEnum : enum8 {
kPASE = 1;
kCASE = 2;
kGroup = 3;
}
enum AccessControlEntryPrivilegeEnum : enum8 {
kView = 1;
kProxyView = 2;
kOperate = 3;
kManage = 4;
kAdminister = 5;
}
enum ChangeTypeEnum : enum8 {
kChanged = 0;
kAdded = 1;
kRemoved = 2;
}
struct AccessControlTargetStruct {
nullable cluster_id cluster = 0;
nullable endpoint_no endpoint = 1;
nullable devtype_id deviceType = 2;
}
fabric_scoped struct AccessControlEntryStruct {
fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
nullable fabric_sensitive int64u subjects[] = 3;
nullable fabric_sensitive AccessControlTargetStruct targets[] = 4;
fabric_idx fabricIndex = 254;
}
fabric_scoped struct AccessControlExtensionStruct {
fabric_sensitive octet_string<128> data = 1;
fabric_idx fabricIndex = 254;
}
fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 {
nullable node_id adminNodeID = 1;
nullable int16u adminPasscodeID = 2;
ChangeTypeEnum changeType = 3;
nullable AccessControlEntryStruct latestValue = 4;
fabric_idx fabricIndex = 254;
}
fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 {
nullable node_id adminNodeID = 1;
nullable int16u adminPasscodeID = 2;
ChangeTypeEnum changeType = 3;
nullable AccessControlExtensionStruct latestValue = 4;
fabric_idx fabricIndex = 254;
}
attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
readonly attribute int16u subjectsPerAccessControlEntry = 2;
readonly attribute int16u targetsPerAccessControlEntry = 3;
readonly attribute int16u accessControlEntriesPerFabric = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** This cluster provides attributes and events for determining basic information about Nodes, which supports both
Commissioning and operational determination of Node characteristics, such as Vendor ID, Product ID and serial number,
which apply to the whole Node. Also allows setting user device information such as location. */
server cluster BasicInformation = 40 {
revision 3;
enum ColorEnum : enum8 {
kBlack = 0;
kNavy = 1;
kGreen = 2;
kTeal = 3;
kMaroon = 4;
kPurple = 5;
kOlive = 6;
kGray = 7;
kBlue = 8;
kLime = 9;
kAqua = 10;
kRed = 11;
kFuchsia = 12;
kYellow = 13;
kWhite = 14;
kNickel = 15;
kChrome = 16;
kBrass = 17;
kCopper = 18;
kSilver = 19;
kGold = 20;
}
enum ProductFinishEnum : enum8 {
kOther = 0;
kMatte = 1;
kSatin = 2;
kPolished = 3;
kRugged = 4;
kFabric = 5;
}
struct CapabilityMinimaStruct {
int16u caseSessionsPerFabric = 0;
int16u subscriptionsPerFabric = 1;
}
struct ProductAppearanceStruct {
ProductFinishEnum finish = 0;
nullable ColorEnum primaryColor = 1;
}
critical event StartUp = 0 {
int32u softwareVersion = 0;
}
critical event ShutDown = 1 {
}
info event Leave = 2 {
fabric_idx fabricIndex = 0;
}
info event ReachableChanged = 3 {
boolean reachableNewValue = 0;
}
readonly attribute int16u dataModelRevision = 0;
readonly attribute char_string<32> vendorName = 1;
readonly attribute vendor_id vendorID = 2;
readonly attribute char_string<32> productName = 3;
readonly attribute int16u productID = 4;
attribute access(write: manage) char_string<32> nodeLabel = 5;
attribute access(write: administer) char_string<2> location = 6;
readonly attribute int16u hardwareVersion = 7;
readonly attribute char_string<64> hardwareVersionString = 8;
readonly attribute int32u softwareVersion = 9;
readonly attribute char_string<64> softwareVersionString = 10;
readonly attribute char_string<16> manufacturingDate = 11;
readonly attribute char_string<32> partNumber = 12;
readonly attribute long_char_string<256> productURL = 13;
readonly attribute char_string<64> productLabel = 14;
readonly attribute char_string<32> serialNumber = 15;
attribute access(write: manage) boolean localConfigDisabled = 16;
readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute int32u specificationVersion = 21;
readonly attribute int16u maxPathsPerInvoke = 22;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Provides an interface for providing OTA software updates */
client cluster OtaSoftwareUpdateProvider = 41 {
revision 1; // NOTE: Default/not specifically set
enum ApplyUpdateActionEnum : enum8 {
kProceed = 0;
kAwaitNextAction = 1;
kDiscontinue = 2;
}
enum DownloadProtocolEnum : enum8 {
kBDXSynchronous = 0;
kBDXAsynchronous = 1;
kHTTPS = 2;
kVendorSpecific = 3;
}
enum StatusEnum : enum8 {
kUpdateAvailable = 0;
kBusy = 1;
kNotAvailable = 2;
kDownloadProtocolNotSupported = 3;
}
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct QueryImageRequest {
vendor_id vendorID = 0;
int16u productID = 1;
int32u softwareVersion = 2;
DownloadProtocolEnum protocolsSupported[] = 3;
optional int16u hardwareVersion = 4;
optional char_string<2> location = 5;
optional boolean requestorCanConsent = 6;
optional octet_string<512> metadataForProvider = 7;
}
response struct QueryImageResponse = 1 {
StatusEnum status = 0;
optional int32u delayedActionTime = 1;
optional char_string<256> imageURI = 2;
optional int32u softwareVersion = 3;
optional char_string<64> softwareVersionString = 4;
optional octet_string<32> updateToken = 5;
optional boolean userConsentNeeded = 6;
optional octet_string<512> metadataForRequestor = 7;
}
request struct ApplyUpdateRequestRequest {
octet_string<32> updateToken = 0;
int32u newVersion = 1;
}
response struct ApplyUpdateResponse = 3 {
ApplyUpdateActionEnum action = 0;
int32u delayedActionTime = 1;
}
request struct NotifyUpdateAppliedRequest {
octet_string<32> updateToken = 0;
int32u softwareVersion = 1;
}
/** Determine availability of a new Software Image */
command QueryImage(QueryImageRequest): QueryImageResponse = 0;
/** Determine next action to take for a downloaded Software Image */
command ApplyUpdateRequest(ApplyUpdateRequestRequest): ApplyUpdateResponse = 2;
/** Notify OTA Provider that an update was applied */
command NotifyUpdateApplied(NotifyUpdateAppliedRequest): DefaultSuccess = 4;
}
/** Provides an interface for downloading and applying OTA software updates */
server cluster OtaSoftwareUpdateRequestor = 42 {
revision 1; // NOTE: Default/not specifically set
enum AnnouncementReasonEnum : enum8 {
kSimpleAnnouncement = 0;
kUpdateAvailable = 1;
kUrgentUpdateAvailable = 2;
}
enum ChangeReasonEnum : enum8 {
kUnknown = 0;
kSuccess = 1;
kFailure = 2;
kTimeOut = 3;
kDelayByProvider = 4;
}
enum UpdateStateEnum : enum8 {
kUnknown = 0;
kIdle = 1;
kQuerying = 2;
kDelayedOnQuery = 3;
kDownloading = 4;
kApplying = 5;
kDelayedOnApply = 6;
kRollingBack = 7;
kDelayedOnUserConsent = 8;
}
fabric_scoped struct ProviderLocation {
node_id providerNodeID = 1;
endpoint_no endpoint = 2;
fabric_idx fabricIndex = 254;
}
info event StateTransition = 0 {
UpdateStateEnum previousState = 0;
UpdateStateEnum newState = 1;
ChangeReasonEnum reason = 2;
nullable int32u targetSoftwareVersion = 3;
}
critical event VersionApplied = 1 {
int32u softwareVersion = 0;
int16u productID = 1;
}
info event DownloadError = 2 {
int32u softwareVersion = 0;
int64u bytesDownloaded = 1;
nullable int8u progressPercent = 2;
nullable int64s platformCode = 3;
}
attribute ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct AnnounceOTAProviderRequest {
node_id providerNodeID = 0;
vendor_id vendorID = 1;
AnnouncementReasonEnum announcementReason = 2;
optional octet_string<512> metadataForNode = 3;
endpoint_no endpoint = 4;
}
command AnnounceOTAProvider(AnnounceOTAProviderRequest): DefaultSuccess = 0;
}
/** This cluster is used to manage global aspects of the Commissioning flow. */
server cluster GeneralCommissioning = 48 {
revision 1; // NOTE: Default/not specifically set
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<2> countryCode = 1;
int64u breadcrumb = 2;
}
response struct ArmFailSafeResponse = 1 {
CommissioningErrorEnum errorCode = 0;
char_string<128> 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 {
revision 1; // NOTE: Default/not specifically set
enum NetworkCommissioningStatusEnum : enum8 {
kSuccess = 0;
kOutOfRange = 1;
kBoundsExceeded = 2;
kNetworkIDNotFound = 3;
kDuplicateNetworkID = 4;
kNetworkNotFound = 5;
kRegulatoryError = 6;
kAuthFailure = 7;
kUnsupportedSecurity = 8;
kOtherConnectionFailure = 9;
kIPV6Failed = 10;
kIPBindFailed = 11;
kUnknownError = 12;
}
enum WiFiBandEnum : enum8 {
k2G4 = 0;
k3G65 = 1;
k5G = 2;
k6G = 3;
k60G = 4;
k1G = 5;
}
bitmap Feature : bitmap32 {
kWiFiNetworkInterface = 0x1;
kThreadNetworkInterface = 0x2;
kEthernetNetworkInterface = 0x4;
kPerDeviceCredentials = 0x8;
}
bitmap ThreadCapabilitiesBitmap : bitmap16 {
kIsBorderRouterCapable = 0x1;
kIsRouterCapable = 0x2;
kIsSleepyEndDeviceCapable = 0x4;
kIsFullThreadDevice = 0x8;
kIsSynchronizedSleepyEndDeviceCapable = 0x10;
}
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
kWPAPersonal = 0x4;
kWPA2Personal = 0x8;
kWPA3Personal = 0x10;
kWPA3MatterPDC = 0x20;
}
struct NetworkInfoStruct {
octet_string<32> networkID = 0;
boolean connected = 1;
optional nullable octet_string<20> networkIdentifier = 2;
optional nullable octet_string<20> clientIdentifier = 3;
}
struct ThreadInterfaceScanResultStruct {
int16u panId = 0;
int64u extendedPanId = 1;
char_string<16> networkName = 2;
int16u channel = 3;
int8u version = 4;
octet_string<8> extendedAddress = 5;
int8s rssi = 6;
int8u lqi = 7;
}
struct WiFiInterfaceScanResultStruct {
WiFiSecurityBitmap security = 0;
octet_string<32> ssid = 1;
octet_string<6> bssid = 2;
int16u channel = 3;
WiFiBandEnum wiFiBand = 4;
int8s rssi = 5;
}
readonly attribute access(read: administer) int8u maxNetworks = 0;
readonly attribute access(read: administer) NetworkInfoStruct networks[] = 1;
readonly attribute int8u scanMaxTimeSeconds = 2;
readonly attribute int8u connectMaxTimeSeconds = 3;
attribute access(write: administer) boolean interfaceEnabled = 4;
readonly attribute access(read: administer) nullable NetworkCommissioningStatusEnum lastNetworkingStatus = 5;
readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6;
readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct ScanNetworksRequest {
optional nullable octet_string<32> ssid = 0;
optional int64u breadcrumb = 1;
}
request struct AddOrUpdateWiFiNetworkRequest {
octet_string<32> ssid = 0;
octet_string<64> credentials = 1;
optional int64u breadcrumb = 2;
optional octet_string<140> networkIdentity = 3;
optional octet_string<20> clientIdentifier = 4;
optional octet_string<32> possessionNonce = 5;
}
request struct AddOrUpdateThreadNetworkRequest {
octet_string<254> operationalDataset = 0;
optional int64u breadcrumb = 1;
}
request struct RemoveNetworkRequest {
octet_string<32> networkID = 0;
optional int64u breadcrumb = 1;
}
request struct ConnectNetworkRequest {
octet_string<32> networkID = 0;
optional int64u breadcrumb = 1;
}
request struct ReorderNetworkRequest {
octet_string<32> networkID = 0;
int8u networkIndex = 1;
optional int64u breadcrumb = 2;
}
response struct ScanNetworksResponse = 1 {
NetworkCommissioningStatusEnum networkingStatus = 0;
optional char_string debugText = 1;
optional WiFiInterfaceScanResultStruct wiFiScanResults[] = 2;
optional ThreadInterfaceScanResultStruct threadScanResults[] = 3;
}
response struct NetworkConfigResponse = 5 {
NetworkCommissioningStatusEnum networkingStatus = 0;
optional char_string<512> debugText = 1;
optional int8u networkIndex = 2;
optional octet_string<140> clientIdentity = 3;
optional octet_string<64> possessionSignature = 4;
}
response struct ConnectNetworkResponse = 7 {
NetworkCommissioningStatusEnum networkingStatus = 0;
optional char_string debugText = 1;
nullable int32s errorValue = 2;
}
command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0;
command access(invoke: administer) AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2;
command access(invoke: administer) AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3;
command access(invoke: administer) RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4;
command access(invoke: administer) ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6;
command access(invoke: administer) ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8;
}
/** The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. */
server cluster DiagnosticLogs = 50 {
revision 1; // NOTE: Default/not specifically set
enum IntentEnum : enum8 {
kEndUserSupport = 0;
kNetworkDiag = 1;
kCrashLogs = 2;
}
enum StatusEnum : enum8 {
kSuccess = 0;
kExhausted = 1;
kNoLogs = 2;
kBusy = 3;
kDenied = 4;
}
enum TransferProtocolEnum : enum8 {
kResponsePayload = 0;
kBDX = 1;
}
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct RetrieveLogsRequestRequest {
IntentEnum intent = 0;
TransferProtocolEnum requestedProtocol = 1;
optional char_string<32> transferFileDesignator = 2;
}
command RetrieveLogsRequest(RetrieveLogsRequestRequest): RetrieveLogsResponse = 0;
}
/** The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */
server cluster GeneralDiagnostics = 51 {
revision 1; // NOTE: Default/not specifically set
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;
}
response struct TimeSnapshotResponse = 2 {
systime_us systemTimeUs = 0;
nullable epoch_us UTCTimeUs = 1;
}
command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0;
command TimeSnapshot(): TimeSnapshotResponse = 1;
}
/** Commands to trigger a Node to allow a new Administrator to commission it. */
server cluster AdministratorCommissioning = 60 {
revision 1; // NOTE: Default/not specifically set
enum CommissioningWindowStatusEnum : enum8 {
kWindowNotOpen = 0;
kEnhancedWindowOpen = 1;
kBasicWindowOpen = 2;
}
enum StatusCode : enum8 {
kBusy = 2;
kPAKEParameterError = 3;
kWindowNotOpen = 4;
}
bitmap Feature : bitmap32 {
kBasic = 0x1;
}
readonly attribute CommissioningWindowStatusEnum windowStatus = 0;
readonly attribute nullable fabric_idx adminFabricIndex = 1;
readonly attribute nullable vendor_id adminVendorId = 2;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct OpenCommissioningWindowRequest {
int16u commissioningTimeout = 0;
octet_string PAKEPasscodeVerifier = 1;
int16u discriminator = 2;
int32u iterations = 3;
octet_string<32> salt = 4;
}
timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0;
timed command access(invoke: administer) RevokeCommissioning(): DefaultSuccess = 2;
}
/** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */
server cluster OperationalCredentials = 62 {
revision 1; // NOTE: Default/not specifically set
enum CertificateChainTypeEnum : enum8 {
kDACCertificate = 1;
kPAICertificate = 2;
}
enum NodeOperationalCertStatusEnum : enum8 {
kOK = 0;
kInvalidPublicKey = 1;
kInvalidNodeOpId = 2;
kInvalidNOC = 3;
kMissingCsr = 4;
kTableFull = 5;
kInvalidAdminSubject = 6;
kFabricConflict = 9;
kLabelConflict = 10;
kInvalidFabricIndex = 11;
}
fabric_scoped struct FabricDescriptorStruct {
octet_string<65> rootPublicKey = 1;
vendor_id vendorID = 2;
fabric_id fabricID = 3;
node_id nodeID = 4;
char_string<32> label = 5;
fabric_idx fabricIndex = 254;
}
fabric_scoped struct NOCStruct {
fabric_sensitive octet_string noc = 1;
nullable fabric_sensitive octet_string icac = 2;
fabric_idx fabricIndex = 254;
}
readonly attribute access(read: administer) NOCStruct NOCs[] = 0;
readonly attribute FabricDescriptorStruct fabrics[] = 1;
readonly attribute int8u supportedFabrics = 2;
readonly attribute int8u commissionedFabrics = 3;
readonly attribute octet_string trustedRootCertificates[] = 4;
readonly attribute int8u currentFabricIndex = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct AttestationRequestRequest {
octet_string<32> attestationNonce = 0;
}
request struct CertificateChainRequestRequest {
CertificateChainTypeEnum certificateType = 0;
}
request struct CSRRequestRequest {
octet_string<32> CSRNonce = 0;
optional boolean isForUpdateNOC = 1;
}
request struct AddNOCRequest {
octet_string<400> NOCValue = 0;
optional octet_string<400> ICACValue = 1;
octet_string<16> IPKValue = 2;
int64u caseAdminSubject = 3;
vendor_id adminVendorId = 4;
}
request struct UpdateNOCRequest {
octet_string NOCValue = 0;
optional octet_string ICACValue = 1;
}
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<900> attestationElements = 0;
octet_string<64> attestationSignature = 1;
}
response struct CertificateChainResponse = 3 {
octet_string<600> 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<128> debugText = 2;
}
command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0;
command access(invoke: administer) CertificateChainRequest(CertificateChainRequestRequest): CertificateChainResponse = 2;
command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4;
command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6;
fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7;
fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9;
command access(invoke: administer) RemoveFabric(RemoveFabricRequest): NOCResponse = 10;
command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11;
}
/** The Group Key Management Cluster is the mechanism by which group keys are managed. */
server cluster GroupKeyManagement = 63 {
revision 1; // NOTE: Default/not specifically set
enum GroupKeySecurityPolicyEnum : enum8 {
kTrustFirst = 0;
kCacheAndSync = 1;
}
bitmap Feature : bitmap32 {
kCacheAndSync = 0x1;
}
fabric_scoped struct GroupInfoMapStruct {
group_id groupId = 1;
endpoint_no endpoints[] = 2;
optional char_string<16> groupName = 3;
fabric_idx fabricIndex = 254;
}
fabric_scoped struct GroupKeyMapStruct {
group_id groupId = 1;
int16u groupKeySetID = 2;
fabric_idx fabricIndex = 254;
}
struct GroupKeySetStruct {
int16u groupKeySetID = 0;
GroupKeySecurityPolicyEnum groupKeySecurityPolicy = 1;
nullable octet_string<16> epochKey0 = 2;
nullable epoch_us epochStartTime0 = 3;
nullable octet_string<16> epochKey1 = 4;
nullable epoch_us epochStartTime1 = 5;
nullable octet_string<16> epochKey2 = 6;
nullable epoch_us epochStartTime2 = 7;
}
attribute access(write: manage) GroupKeyMapStruct groupKeyMap[] = 0;
readonly attribute GroupInfoMapStruct groupTable[] = 1;
readonly attribute int16u maxGroupsPerFabric = 2;
readonly attribute int16u maxGroupKeysPerFabric = 3;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
request struct KeySetWriteRequest {
GroupKeySetStruct groupKeySet = 0;
}
request struct KeySetReadRequest {
int16u groupKeySetID = 0;
}
request struct KeySetRemoveRequest {
int16u groupKeySetID = 0;
}
response struct KeySetReadResponse = 2 {
GroupKeySetStruct groupKeySet = 0;
}
response struct KeySetReadAllIndicesResponse = 5 {
int16u groupKeySetIDs[] = 0;
}
fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0;
fabric command access(invoke: administer) KeySetRead(KeySetReadRequest): KeySetReadResponse = 1;
fabric command access(invoke: administer) KeySetRemove(KeySetRemoveRequest): DefaultSuccess = 3;
fabric command access(invoke: administer) KeySetReadAllIndices(): KeySetReadAllIndicesResponse = 4;
}
/** Attributes for reporting air quality classification */
server cluster AirQuality = 91 {
revision 1; // NOTE: Default/not specifically set
enum AirQualityEnum : enum8 {
kUnknown = 0;
kGood = 1;
kFair = 2;
kModerate = 3;
kPoor = 4;
kVeryPoor = 5;
kExtremelyPoor = 6;
}
bitmap Feature : bitmap32 {
kFair = 0x1;
kModerate = 0x2;
kVeryPoor = 0x4;
kExtremelyPoor = 0x8;
}
readonly attribute AirQualityEnum airQuality = 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 monitoring HEPA filters in a device */
server cluster HepaFilterMonitoring = 113 {
revision 1; // NOTE: Default/not specifically set
enum ChangeIndicationEnum : enum8 {
kOK = 0;
kWarning = 1;
kCritical = 2;
}
enum DegradationDirectionEnum : enum8 {
kUp = 0;
kDown = 1;
}
enum ProductIdentifierTypeEnum : enum8 {
kUPC = 0;
kGTIN8 = 1;
kEAN = 2;
kGTIN14 = 3;
kOEM = 4;
}
bitmap Feature : bitmap32 {
kCondition = 0x1;
kWarning = 0x2;
kReplacementProductList = 0x4;
}
struct ReplacementProductStruct {
ProductIdentifierTypeEnum productIdentifierType = 0;
char_string<20> productIdentifierValue = 1;
}
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute boolean inPlaceIndicator = 3;
attribute nullable epoch_s lastChangedTime = 4;
readonly attribute ReplacementProductStruct replacementProductList[] = 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;
command ResetCondition(): DefaultSuccess = 0;
}
/** Attributes and commands for monitoring activated carbon filters in a device */
server cluster ActivatedCarbonFilterMonitoring = 114 {
revision 1; // NOTE: Default/not specifically set
enum ChangeIndicationEnum : enum8 {
kOK = 0;
kWarning = 1;
kCritical = 2;
}
enum DegradationDirectionEnum : enum8 {
kUp = 0;
kDown = 1;
}
enum ProductIdentifierTypeEnum : enum8 {
kUPC = 0;
kGTIN8 = 1;
kEAN = 2;
kGTIN14 = 3;
kOEM = 4;
}
bitmap Feature : bitmap32 {
kCondition = 0x1;
kWarning = 0x2;
kReplacementProductList = 0x4;
}
struct ReplacementProductStruct {
ProductIdentifierTypeEnum productIdentifierType = 0;
char_string<20> productIdentifierValue = 1;
}
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute boolean inPlaceIndicator = 3;
attribute nullable epoch_s lastChangedTime = 4;
readonly attribute ReplacementProductStruct replacementProductList[] = 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;
command ResetCondition(): DefaultSuccess = 0;
}
/** An interface for controlling a fan in a heating/cooling system. */
provisional server cluster FanControl = 514 {
revision 4;
enum AirflowDirectionEnum : enum8 {
kForward = 0;
kReverse = 1;
}
enum FanModeEnum : enum8 {
kOff = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kOn = 4;
kAuto = 5;
kSmart = 6;
}
enum FanModeSequenceEnum : enum8 {
kOffLowMedHigh = 0;
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
kOffHighAuto = 4;
kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
kIncrease = 0;
kDecrease = 1;
}
bitmap Feature : bitmap32 {
kMultiSpeed = 0x1;
kAuto = 0x2;
kRocking = 0x4;
kWind = 0x8;
kStep = 0x10;
kAirflowDirection = 0x20;
}
bitmap RockBitmap : bitmap8 {
kRockLeftRight = 0x1;
kRockUpDown = 0x2;
kRockRound = 0x4;
}
bitmap WindBitmap : bitmap8 {
kSleepWind = 0x1;
kNaturalWind = 0x2;
}
attribute FanModeEnum fanMode = 0;
readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute int8u speedMax = 4;
attribute nullable int8u speedSetting = 5;
readonly attribute int8u speedCurrent = 6;
readonly attribute RockBitmap rockSupport = 7;
attribute RockBitmap rockSetting = 8;
readonly attribute WindBitmap windSupport = 9;
attribute WindBitmap windSetting = 10;
attribute AirflowDirectionEnum airflowDirection = 11;
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 StepRequest {
StepDirectionEnum direction = 0;
optional boolean wrap = 1;
optional boolean lowestOff = 2;
}
command Step(StepRequest): DefaultSuccess = 0;
}
/** Attributes and commands for configuring the measurement of temperature, and reporting temperature measurements. */
server cluster TemperatureMeasurement = 1026 {
revision 1; // NOTE: Default/not specifically set
readonly attribute nullable temperature measuredValue = 0;
readonly attribute nullable temperature minMeasuredValue = 1;
readonly attribute nullable temperature 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. */
server cluster RelativeHumidityMeasurement = 1029 {
revision 3;
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 for reporting carbon monoxide concentration measurements */
server cluster CarbonMonoxideConcentrationMeasurement = 1036 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes for reporting carbon dioxide concentration measurements */
server cluster CarbonDioxideConcentrationMeasurement = 1037 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes for reporting nitrogen dioxide concentration measurements */
server cluster NitrogenDioxideConcentrationMeasurement = 1043 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes for reporting ozone concentration measurements */
server cluster OzoneConcentrationMeasurement = 1045 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes for reporting PM2.5 concentration measurements */
server cluster Pm25ConcentrationMeasurement = 1066 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes for reporting formaldehyde concentration measurements */
server cluster FormaldehydeConcentrationMeasurement = 1067 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes for reporting PM1 concentration measurements */
server cluster Pm1ConcentrationMeasurement = 1068 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes for reporting PM10 concentration measurements */
server cluster Pm10ConcentrationMeasurement = 1069 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes for reporting total volatile organic compounds concentration measurements */
server cluster TotalVolatileOrganicCompoundsConcentrationMeasurement = 1070 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
/** Attributes for reporting radon concentration measurements */
server cluster RadonConcentrationMeasurement = 1071 {
revision 3;
enum LevelValueEnum : enum8 {
kUnknown = 0;
kLow = 1;
kMedium = 2;
kHigh = 3;
kCritical = 4;
}
enum MeasurementMediumEnum : enum8 {
kAir = 0;
kWater = 1;
kSoil = 2;
}
enum MeasurementUnitEnum : enum8 {
kPPM = 0;
kPPB = 1;
kPPT = 2;
kMGM3 = 3;
kUGM3 = 4;
kNGM3 = 5;
kPM3 = 6;
kBQM3 = 7;
}
bitmap Feature : bitmap32 {
kNumericMeasurement = 0x1;
kLevelIndication = 0x2;
kMediumLevel = 0x4;
kCriticalLevel = 0x8;
kPeakMeasurement = 0x10;
kAverageMeasurement = 0x20;
}
readonly attribute nullable single measuredValue = 0;
readonly attribute nullable single minMeasuredValue = 1;
readonly attribute nullable single maxMeasuredValue = 2;
readonly attribute nullable single peakMeasuredValue = 3;
readonly attribute elapsed_s peakMeasuredValueWindow = 4;
readonly attribute nullable single averageMeasuredValue = 5;
readonly attribute elapsed_s averageMeasuredValueWindow = 6;
readonly attribute single uncertainty = 7;
readonly attribute MeasurementUnitEnum measurementUnit = 8;
readonly attribute MeasurementMediumEnum measurementMedium = 9;
readonly attribute LevelValueEnum levelValue = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}
endpoint 0 {
device type ma_rootdevice = 22, version 1;
binding cluster OtaSoftwareUpdateProvider;
server cluster Descriptor {
callback attribute deviceTypeList;
callback attribute serverList;
callback attribute clientList;
callback attribute partsList;
ram attribute featureMap default = 0;
callback attribute clusterRevision default = 1;
}
server cluster AccessControl {
emits event AccessControlEntryChanged;
emits event AccessControlExtensionChanged;
callback attribute acl;
callback attribute extension;
callback attribute subjectsPerAccessControlEntry;
callback attribute targetsPerAccessControlEntry;
callback attribute accessControlEntriesPerFabric;
callback attribute attributeList;
ram attribute featureMap default = 0;
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;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster OtaSoftwareUpdateRequestor {
emits event StateTransition;
emits event VersionApplied;
emits event DownloadError;
callback attribute defaultOTAProviders;
ram attribute updatePossible default = 1;
ram attribute updateState default = 0;
ram attribute updateStateProgress default = 0;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
handle command AnnounceOTAProvider;
}
server cluster GeneralCommissioning {
ram attribute breadcrumb default = 0x0000000000000000;
callback attribute basicCommissioningInfo;
callback attribute regulatoryConfig default = 0;
callback attribute locationCapability default = 0;
callback attribute supportsConcurrentConnection default = 1;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 0x0001;
handle command ArmFailSafe;
handle command ArmFailSafeResponse;
handle command SetRegulatoryConfig;
handle command SetRegulatoryConfigResponse;
handle command CommissioningComplete;
handle command CommissioningCompleteResponse;
}
server cluster NetworkCommissioning {
ram attribute maxNetworks;
callback attribute networks;
ram attribute scanMaxTimeSeconds;
ram attribute connectMaxTimeSeconds;
ram attribute interfaceEnabled;
ram attribute lastNetworkingStatus;
ram attribute lastNetworkID;
ram attribute lastConnectErrorValue;
ram attribute featureMap default = 1;
ram attribute clusterRevision default = 0x0001;
handle command ScanNetworks;
handle command ScanNetworksResponse;
handle command AddOrUpdateWiFiNetwork;
handle command AddOrUpdateThreadNetwork;
handle command RemoveNetwork;
handle command NetworkConfigResponse;
handle command ConnectNetwork;
handle command ConnectNetworkResponse;
handle command ReorderNetwork;
}
server cluster DiagnosticLogs {
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
handle command RetrieveLogsRequest;
}
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 = 0x0002;
handle command TestEventTrigger;
handle command TimeSnapshot;
handle command TimeSnapshotResponse;
}
server cluster AdministratorCommissioning {
callback attribute windowStatus default = 0;
callback attribute adminFabricIndex default = 1;
callback attribute adminVendorId default = 0;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 0x0001;
handle command OpenCommissioningWindow;
handle command RevokeCommissioning;
}
server cluster OperationalCredentials {
callback attribute NOCs;
callback attribute fabrics;
callback attribute supportedFabrics;
callback attribute commissionedFabrics;
callback attribute trustedRootCertificates;
callback attribute currentFabricIndex;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 0x0001;
handle command AttestationRequest;
handle command AttestationResponse;
handle command CertificateChainRequest;
handle command CertificateChainResponse;
handle command CSRRequest;
handle command CSRResponse;
handle command AddNOC;
handle command UpdateNOC;
handle command NOCResponse;
handle command UpdateFabricLabel;
handle command RemoveFabric;
handle command AddTrustedRootCertificate;
}
server cluster GroupKeyManagement {
callback attribute groupKeyMap;
callback attribute groupTable;
callback attribute maxGroupsPerFabric;
callback attribute maxGroupKeysPerFabric;
callback attribute featureMap default = 0;
callback attribute clusterRevision default = 1;
handle command KeySetWrite;
handle command KeySetRead;
handle command KeySetReadResponse;
handle command KeySetRemove;
handle command KeySetReadAllIndices;
handle command KeySetReadAllIndicesResponse;
}
}
endpoint 1 {
device type ma_air_purifier = 45, version 1;
server cluster Identify {
ram attribute identifyTime default = 0x0;
ram attribute identifyType default = 0x0;
callback attribute generatedCommandList default = 0;
callback attribute acceptedCommandList default = 0;
callback attribute eventList;
callback attribute attributeList default = 0;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
handle command Identify;
handle command TriggerEffect;
}
server cluster Descriptor {
callback attribute deviceTypeList default = 0;
callback attribute serverList default = 0;
callback attribute clientList default = 0;
callback attribute partsList default = 0;
callback attribute generatedCommandList default = 0;
callback attribute acceptedCommandList default = 0;
callback attribute eventList;
callback attribute attributeList default = 0;
ram attribute featureMap default = 0;
callback attribute clusterRevision default = 1;
}
server cluster HepaFilterMonitoring {
callback attribute condition default = 100;
callback attribute degradationDirection default = 1;
callback attribute changeIndication default = 0;
callback attribute inPlaceIndicator default = 1;
callback attribute lastChangedTime;
callback attribute replacementProductList;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
handle command ResetCondition;
}
server cluster ActivatedCarbonFilterMonitoring {
callback attribute condition default = 100;
callback attribute degradationDirection default = 1;
callback attribute changeIndication default = 0;
callback attribute inPlaceIndicator default = 1;
callback attribute lastChangedTime;
callback attribute replacementProductList;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
handle command ResetCondition;
}
server cluster FanControl {
ram attribute fanMode default = 0;
ram attribute fanModeSequence default = 2;
ram attribute percentSetting default = 0;
ram attribute percentCurrent default = 0;
ram attribute speedMax default = 10;
ram attribute speedSetting default = 0;
ram attribute speedCurrent default = 0;
ram attribute rockSupport default = 0x01;
ram attribute rockSetting default = 0x00;
ram attribute windSupport default = 0x03;
ram attribute windSetting default = 0x00;
ram attribute airflowDirection default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 63;
ram attribute clusterRevision default = 4;
handle command Step;
}
}
endpoint 2 {
device type ma_air_quality_sensor = 44, version 1;
server cluster Identify {
ram attribute identifyTime default = 0x0;
ram attribute identifyType default = 0x00;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
handle command Identify;
}
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;
callback attribute clusterRevision default = 1;
}
server cluster AirQuality {
callback attribute airQuality default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 1;
}
server cluster CarbonMonoxideConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster CarbonDioxideConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster NitrogenDioxideConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster OzoneConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster Pm25ConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster FormaldehydeConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster Pm1ConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster Pm10ConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster TotalVolatileOrganicCompoundsConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
server cluster RadonConcentrationMeasurement {
callback attribute measuredValue;
callback attribute minMeasuredValue;
callback attribute maxMeasuredValue;
callback attribute peakMeasuredValue;
callback attribute peakMeasuredValueWindow default = 1;
callback attribute averageMeasuredValue;
callback attribute averageMeasuredValueWindow default = 1;
callback attribute uncertainty default = 0;
callback attribute measurementUnit default = 0;
callback attribute measurementMedium default = 0;
callback attribute levelValue default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
callback attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
}
endpoint 3 {
device type ma_tempsensor = 770, version 1;
server cluster Identify {
ram attribute identifyTime default = 0x0;
ram attribute identifyType default = 0x00;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
handle command Identify;
handle command TriggerEffect;
}
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;
callback attribute clusterRevision default = 1;
}
server cluster TemperatureMeasurement {
ram attribute measuredValue default = 0x8000;
ram attribute minMeasuredValue default = 0x8000;
ram attribute maxMeasuredValue default = 0x8000;
ram attribute tolerance default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
}
}
endpoint 4 {
device type ma_humiditysensor = 775, version 1;
server cluster Identify {
ram attribute identifyTime default = 0x0;
ram attribute identifyType default = 0x00;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 4;
handle command Identify;
handle command TriggerEffect;
}
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;
callback attribute clusterRevision default = 1;
}
server cluster RelativeHumidityMeasurement {
ram attribute measuredValue default = 0;
ram attribute minMeasuredValue default = 0;
ram attribute maxMeasuredValue default = 0x2710;
ram attribute tolerance;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 3;
}
}