<!--
{
  "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/MTRBaseClusterOnOff",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Matter"
    ],
    "preciseIdentifier" : "c:objc(cs)MTRBaseClusterOnOff"
  },
  "title" : "MTRBaseClusterOnOff"
}
-->

# MTRBaseClusterOnOff

```
class MTRBaseClusterOnOff
```

## Topics

### Initializers

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

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

### Instance Methods

[`-  offWithCompletion:`](/documentation/Matter/MTRBaseClusterOnOff/off(completion:))

[`-  offWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/off(completionHandler:))

[`-  offWithParams:completion:`](/documentation/Matter/MTRBaseClusterOnOff/off(with:completion:))

[`-  offWithParams:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/off(with:completionHandler:))

[`-  offWithEffectWithParams:completion:`](/documentation/Matter/MTRBaseClusterOnOff/offWithEffect(with:completion:))

[`-  offWithEffectWithParams:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/offWithEffect(with:completionHandler:))

[`-  onWithCompletion:`](/documentation/Matter/MTRBaseClusterOnOff/on(completion:))

[`-  onWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/on(completionHandler:))

[`-  onWithParams:completion:`](/documentation/Matter/MTRBaseClusterOnOff/on(with:completion:))

[`-  onWithParams:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/on(with:completionHandler:))

[`-  onWithRecallGlobalSceneWithCompletion:`](/documentation/Matter/MTRBaseClusterOnOff/onWithRecallGlobalScene(completion:))

[`-  onWithRecallGlobalSceneWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/onWithRecallGlobalScene(completionHandler:))

[`-  onWithRecallGlobalSceneWithParams:completion:`](/documentation/Matter/MTRBaseClusterOnOff/onWithRecallGlobalScene(with:completion:))

[`-  onWithRecallGlobalSceneWithParams:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/onWithRecallGlobalScene(with:completionHandler:))

[`-  onWithTimedOffWithParams:completion:`](/documentation/Matter/MTRBaseClusterOnOff/onWithTimedOff(with:completion:))

[`-  onWithTimedOffWithParams:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/onWithTimedOff(with:completionHandler:))

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

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

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

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

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

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

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

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

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

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

[`-  readAttributeGlobalSceneControlWithCompletion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeGlobalSceneControl(completion:))

[`-  readAttributeGlobalSceneControlWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeGlobalSceneControl(completionHandler:))

[`-  readAttributeOffWaitTimeWithCompletion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOffWaitTime(completion:))

[`-  readAttributeOffWaitTimeWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOffWaitTime(completionHandler:))

[`-  readAttributeOnOffWithCompletion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOnOff(completion:))

[`-  readAttributeOnOffWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOnOff(completionHandler:))

[`-  readAttributeOnTimeWithCompletion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOnTime(completion:))

[`-  readAttributeOnTimeWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOnTime(completionHandler:))

[`-  readAttributeStartUpOnOffWithCompletion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeStartUp(completion:))

[`-  readAttributeStartUpOnOffWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeStartUp(completionHandler:))

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

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

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

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

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

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

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

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

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

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

[`-  subscribeAttributeGlobalSceneControlWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeGlobalSceneControl(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeGlobalSceneControlWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeGlobalSceneControl(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeOffWaitTimeWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeOffWaitTime(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeOffWaitTimeWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeOffWaitTime(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeOnOffWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeOnOff(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeOnOffWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeOnOff(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeOnTimeWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeOnTime(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeOnTimeWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeOnTime(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeStartUpOnOffWithParams:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeStartUp(with:subscriptionEstablished:reportHandler:))

[`-  subscribeAttributeStartUpOnOffWithMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:`](/documentation/Matter/MTRBaseClusterOnOff/subscribeAttributeStartUp(withMinInterval:maxInterval:params:subscriptionEstablished:reportHandler:))

[`-  toggleWithCompletion:`](/documentation/Matter/MTRBaseClusterOnOff/toggle(completion:))

[`-  toggleWithCompletionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/toggle(completionHandler:))

[`-  toggleWithParams:completion:`](/documentation/Matter/MTRBaseClusterOnOff/toggle(with:completion:))

[`-  toggleWithParams:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/toggle(with:completionHandler:))

[`-  writeAttributeOffWaitTimeWithValue:completion:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeOffWaitTime(withValue:completion:))

[`-  writeAttributeOffWaitTimeWithValue:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeOffWaitTime(withValue:completionHandler:))

[`-  writeAttributeOffWaitTimeWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeOffWaitTime(withValue:params:completion:))

[`-  writeAttributeOffWaitTimeWithValue:params:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeOffWaitTime(withValue:params:completionHandler:))

[`-  writeAttributeOnTimeWithValue:completion:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeOnTime(withValue:completion:))

[`-  writeAttributeOnTimeWithValue:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeOnTime(withValue:completionHandler:))

[`-  writeAttributeOnTimeWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeOnTime(withValue:params:completion:))

[`-  writeAttributeOnTimeWithValue:params:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeOnTime(withValue:params:completionHandler:))

[`-  writeAttributeStartUpOnOffWithValue:completion:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeStartUp(withValue:completion:))

[`-  writeAttributeStartUpOnOffWithValue:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeStartUp(withValue:completionHandler:))

[`-  writeAttributeStartUpOnOffWithValue:params:completion:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeStartUp(withValue:params:completion:))

[`-  writeAttributeStartUpOnOffWithValue:params:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/writeAttributeStartUp(withValue:params:completionHandler:))

### Type Methods

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

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

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

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

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

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

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

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

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

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

[`+  readAttributeGlobalSceneControlWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeGlobalSceneControl(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeGlobalSceneControlWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeGlobalSceneControl(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeOffWaitTimeWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOffWaitTime(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeOffWaitTimeWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOffWaitTime(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeOnOffWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOnOff(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeOnOffWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOnOff(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeOnTimeWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOnTime(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeOnTimeWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeOnTime(withClusterStateCache:endpoint:queue:completion:))

[`+  readAttributeStartUpOnOffWithAttributeCache:endpoint:queue:completionHandler:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeStartUp(withAttributeCache:endpoint:queue:completionHandler:))

[`+  readAttributeStartUpOnOffWithClusterStateCache:endpoint:queue:completion:`](/documentation/Matter/MTRBaseClusterOnOff/readAttributeStartUp(withClusterStateCache:endpoint:queue:completion:))

## Relationships

### Inherits From

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

### Conforms To

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

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

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

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

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

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

---

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)