<!--
{
  "availability" : [
    "iOS: 16.1.0 -",
    "iPadOS: 16.1.0 -",
    "macCatalyst: 16.1.0 -",
    "macOS: 13.0.0 -",
    "tvOS: 16.1.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 9.1.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Matter",
  "identifier" : "/documentation/Matter/MTRBaseClusterFanControl",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Matter"
    ],
    "preciseIdentifier" : "c:objc(cs)MTRBaseClusterFanControl"
  },
  "title" : "MTRBaseClusterFanControl"
}
-->

# MTRBaseClusterFanControl

```
class MTRBaseClusterFanControl
```

## Topics

### Initializers

[`-  initWithDevice:endpoint:queue:`](/documentation/Matter/MTRBaseClusterFanControl/init(device:endpoint:queue:))

[`-  initWithDevice:endpointID:queue:`](/documentation/Matter/MTRBaseClusterFanControl/init(device:endpointID:queue:))

### Instance Methods

[`-  readAttributeAcceptedCommandListWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAcceptedCommandList(completion:))

[`-  readAttributeAcceptedCommandListWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAcceptedCommandList(completionHandler:))

[`-  readAttributeAirflowDirectionWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAirflowDirection(completion:))

[`-  readAttributeAttributeListWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAttributeList(completion:))

[`-  readAttributeAttributeListWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAttributeList(completionHandler:))

[`-  readAttributeClusterRevisionWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeClusterRevision(completion:))

[`-  readAttributeClusterRevisionWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeClusterRevision(completionHandler:))

[`-  readAttributeFanModeWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFanMode(completion:))

[`-  readAttributeFanModeWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFanMode(completionHandler:))

[`-  readAttributeFanModeSequenceWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFanModeSequence(completion:))

[`-  readAttributeFanModeSequenceWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFanModeSequence(completionHandler:))

[`-  readAttributeFeatureMapWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFeatureMap(completion:))

[`-  readAttributeFeatureMapWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFeatureMap(completionHandler:))

[`-  readAttributeGeneratedCommandListWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeGeneratedCommandList(completion:))

[`-  readAttributeGeneratedCommandListWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeGeneratedCommandList(completionHandler:))

[`-  readAttributePercentCurrentWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributePercentCurrent(completion:))

[`-  readAttributePercentCurrentWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributePercentCurrent(completionHandler:))

[`-  readAttributePercentSettingWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributePercentSetting(completion:))

[`-  readAttributePercentSettingWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributePercentSetting(completionHandler:))

[`-  readAttributeRockSettingWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeRockSetting(completion:))

[`-  readAttributeRockSettingWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeRockSetting(completionHandler:))

[`-  readAttributeRockSupportWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeRockSupport(completion:))

[`-  readAttributeRockSupportWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeRockSupport(completionHandler:))

[`-  readAttributeSpeedCurrentWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedCurrent(completion:))

[`-  readAttributeSpeedCurrentWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedCurrent(completionHandler:))

[`-  readAttributeSpeedMaxWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedMax(completion:))

[`-  readAttributeSpeedMaxWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedMax(completionHandler:))

[`-  readAttributeSpeedSettingWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedSetting(completion:))

[`-  readAttributeSpeedSettingWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedSetting(completionHandler:))

[`-  readAttributeWindSettingWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeWindSetting(completion:))

[`-  readAttributeWindSettingWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeWindSetting(completionHandler:))

[`-  readAttributeWindSupportWithCompletion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeWindSupport(completion:))

[`-  readAttributeWindSupportWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeWindSupport(completionHandler:))

[`-  stepWithParams:completion:`](/documentation/Matter/MTRBaseClusterFanControl/step(with:completion:))

[`-  subscribeAttributeAcceptedCommandListWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeAcceptedCommandList(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeAcceptedCommandListWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeAcceptedCommandList(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeAirflowDirectionWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeAirflowDirection(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeAttributeListWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeAttributeList(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeAttributeListWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeAttributeList(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeClusterRevisionWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeClusterRevision(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeClusterRevisionWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeClusterRevision(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeFanModeWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeFanMode(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeFanModeWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeFanMode(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeFanModeSequenceWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeFanModeSequence(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeFanModeSequenceWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeFanModeSequence(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeFeatureMapWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeFeatureMap(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeFeatureMapWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeFeatureMap(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeGeneratedCommandListWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeGeneratedCommandList(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeGeneratedCommandListWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeGeneratedCommandList(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributePercentCurrentWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributePercentCurrent(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributePercentCurrentWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributePercentCurrent(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributePercentSettingWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributePercentSetting(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributePercentSettingWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributePercentSetting(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeRockSettingWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeRockSetting(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeRockSettingWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeRockSetting(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeRockSupportWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeRockSupport(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeRockSupportWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeRockSupport(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeSpeedCurrentWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeSpeedCurrent(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeSpeedCurrentWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeSpeedCurrent(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeSpeedMaxWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeSpeedMax(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeSpeedMaxWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeSpeedMax(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeSpeedSettingWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeSpeedSetting(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeSpeedSettingWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeSpeedSetting(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeWindSettingWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeWindSetting(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeWindSettingWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeWindSetting(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeWindSupportWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeWindSupport(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeWindSupportWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterFanControl/subscribeAttributeWindSupport(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  writeAttributeAirflowDirectionWithValue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeAirflowDirection(withValue:completion:))

[`-  writeAttributeAirflowDirectionWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeAirflowDirection(withValue:params:completion:))

[`-  writeAttributeFanModeWithValue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeFanMode(withValue:completion:))

[`-  writeAttributeFanModeWithValue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeFanMode(withValue:completionHandler:))

[`-  writeAttributeFanModeWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeFanMode(withValue:params:completion:))

[`-  writeAttributeFanModeWithValue:params:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeFanMode(withValue:params:completionHandler:))

[`-  writeAttributeFanModeSequenceWithValue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeFanModeSequence(withValue:completion:))

[`-  writeAttributeFanModeSequenceWithValue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeFanModeSequence(withValue:completionHandler:))

[`-  writeAttributeFanModeSequenceWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeFanModeSequence(withValue:params:completion:))

[`-  writeAttributeFanModeSequenceWithValue:params:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeFanModeSequence(withValue:params:completionHandler:))

[`-  writeAttributePercentSettingWithValue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributePercentSetting(withValue:completion:))

[`-  writeAttributePercentSettingWithValue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributePercentSetting(withValue:completionHandler:))

[`-  writeAttributePercentSettingWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributePercentSetting(withValue:params:completion:))

[`-  writeAttributePercentSettingWithValue:params:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributePercentSetting(withValue:params:completionHandler:))

[`-  writeAttributeRockSettingWithValue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeRockSetting(withValue:completion:))

[`-  writeAttributeRockSettingWithValue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeRockSetting(withValue:completionHandler:))

[`-  writeAttributeRockSettingWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeRockSetting(withValue:params:completion:))

[`-  writeAttributeRockSettingWithValue:params:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeRockSetting(withValue:params:completionHandler:))

[`-  writeAttributeSpeedSettingWithValue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeSpeedSetting(withValue:completion:))

[`-  writeAttributeSpeedSettingWithValue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeSpeedSetting(withValue:completionHandler:))

[`-  writeAttributeSpeedSettingWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeSpeedSetting(withValue:params:completion:))

[`-  writeAttributeSpeedSettingWithValue:params:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeSpeedSetting(withValue:params:completionHandler:))

[`-  writeAttributeWindSettingWithValue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeWindSetting(withValue:completion:))

[`-  writeAttributeWindSettingWithValue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeWindSetting(withValue:completionHandler:))

[`-  writeAttributeWindSettingWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeWindSetting(withValue:params:completion:))

[`-  writeAttributeWindSettingWithValue:params:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/writeAttributeWindSetting(withValue:params:completionHandler:))

### Type Methods

[`+  readAttributeAcceptedCommandListWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAcceptedCommandList(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeAcceptedCommandListWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAcceptedCommandList(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeAirflowDirectionWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAirflowDirection(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeAttributeListWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAttributeList(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeAttributeListWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeAttributeList(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeClusterRevisionWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeClusterRevision(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeClusterRevisionWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeClusterRevision(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeFanModeWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFanMode(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeFanModeWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFanMode(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeFanModeSequenceWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFanModeSequence(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeFanModeSequenceWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFanModeSequence(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeFeatureMapWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFeatureMap(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeFeatureMapWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeFeatureMap(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeGeneratedCommandListWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeGeneratedCommandList(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeGeneratedCommandListWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeGeneratedCommandList(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributePercentCurrentWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributePercentCurrent(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributePercentCurrentWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributePercentCurrent(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributePercentSettingWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributePercentSetting(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributePercentSettingWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributePercentSetting(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeRockSettingWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeRockSetting(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeRockSettingWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeRockSetting(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeRockSupportWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeRockSupport(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeRockSupportWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeRockSupport(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeSpeedCurrentWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedCurrent(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeSpeedCurrentWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedCurrent(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeSpeedMaxWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedMax(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeSpeedMaxWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedMax(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeSpeedSettingWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedSetting(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeSpeedSettingWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeSpeedSetting(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeWindSettingWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeWindSetting(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeWindSettingWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeWindSetting(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeWindSupportWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeWindSupport(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeWindSupportWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterFanControl/readAttributeWindSupport(withClusterStateCache:endpoint:queue:completion:))

## Relationships

### Conforms To

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

### Inherits From

[`MTRGenericBaseCluster`](/documentation/Matter/MTRGenericBaseCluster)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)