<!--
{
  "documentType" : "article",
  "framework" : "Matter",
  "identifier" : "/documentation/Matter/accessory-control",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Accessory control"
}
-->

# Accessory control

Communicate with commissioned Matter accessories.

## Discussion

Once you’ve commissioned a Matter accessory, use these methods to read and write data, subscribe to data updates, and send commands.

## Topics

### Controlling accessories

[`class MTRAttributeRequestPath`](/documentation/Matter/MTRAttributeRequestPath)

[`class MTREventRequestPath`](/documentation/Matter/MTREventRequestPath)

[`class MTRProductIdentity`](/documentation/Matter/MTRProductIdentity)

[`class MTRDevice`](/documentation/Matter/MTRDevice)

[`class MTRBaseDevice`](/documentation/Matter/MTRBaseDevice)

[`class MTRClusterStateCacheContainer`](/documentation/Matter/MTRClusterStateCacheContainer)

[`class MTRWriteParams`](/documentation/Matter/MTRWriteParams)

[`class MTRReadParams`](/documentation/Matter/MTRReadParams)

[`class MTRSubscribeParams`](/documentation/Matter/MTRSubscribeParams)

[`class MTRClusterPath`](/documentation/Matter/MTRClusterPath)

[`class MTRAttributePath`](/documentation/Matter/MTRAttributePath)

[`class MTREventPath`](/documentation/Matter/MTREventPath)

[`class MTRCommandPath`](/documentation/Matter/MTRCommandPath)

[`class MTRAttributeReport`](/documentation/Matter/MTRAttributeReport)

[`class MTREventReport`](/documentation/Matter/MTREventReport)

[`protocol MTRDeviceDelegate`](/documentation/Matter/MTRDeviceDelegate)

[`protocol MTRDeviceControllerClientProtocol`](/documentation/Matter/MTRDeviceControllerClientProtocol)

[`protocol MTRDeviceControllerServerProtocol`](/documentation/Matter/MTRDeviceControllerServerProtocol)

[`class MTRAsyncCallbackQueueWorkItem`](/documentation/Matter/MTRAsyncCallbackQueueWorkItem)

[`class MTRAsyncCallbackWorkQueue`](/documentation/Matter/MTRAsyncCallbackWorkQueue)

[`class MTRAttributeCacheContainer`](/documentation/Matter/MTRAttributeCacheContainer)

[`class MTROTAHeaderParser`](/documentation/Matter/MTROTAHeaderParser)

### Logging information

[`typealias MTRLogCallback`](/documentation/Matter/MTRLogCallback)

[`func MTRSetLogCallback(MTRLogType, MTRLogCallback?)`](/documentation/Matter/MTRSetLogCallback(_:_:))

### Handling errors

[`typealias MTRDeviceErrorHandler`](/documentation/Matter/MTRDeviceErrorHandler)

[`struct MTRError`](/documentation/Matter/MTRError)

[`enum Code`](/documentation/Matter/MTRError/Code)



---

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)