---
title: MTRDeviceController
framework: matter
role: symbol
role_heading: Class
path: matter/mtrdevicecontroller
---

# MTRDeviceController

## Declaration

```swift
class MTRDeviceController
```

## Mentioned in

Onboarding a Matter device

## Topics

### Initializers

- [init(parameters:)](matter/mtrdevicecontroller/init(parameters:).md)

### Instance Properties

- [controllerNodeID](matter/mtrdevicecontroller/controllernodeid-6a04u.md)
- [controllerNodeId](matter/mtrdevicecontroller/controllernodeid-6a03y.md)
- [isRunning](matter/mtrdevicecontroller/isrunning.md)
- [uniqueIdentifier](matter/mtrdevicecontroller/uniqueidentifier.md)
- [devices](matter/mtrdevicecontroller/devices.md)
- [isSuspended](matter/mtrdevicecontroller/issuspended.md)
- [nodesWithStoredData](matter/mtrdevicecontroller/nodeswithstoreddata.md)

### Instance Methods

- [add(_:)](matter/mtrdevicecontroller/add(_:).md)
- [attestationChallenge(forDeviceID:)](matter/mtrdevicecontroller/attestationchallenge(fordeviceid:).md)
- [cancelCommissioning(forNodeID:)](matter/mtrdevicecontroller/cancelcommissioning(fornodeid:).md)
- [commissionDevice(_:commissioningParams:)](matter/mtrdevicecontroller/commissiondevice(_:commissioningparams:).md)
- [commissionNode(withID:commissioningParams:)](matter/mtrdevicecontroller/commissionnode(withid:commissioningparams:).md)
- [computePaseVerifier(_:iterations:salt:)](matter/mtrdevicecontroller/computepaseverifier(_:iterations:salt:).md)
- [continueCommissioningDevice(_:ignoreAttestationFailure:)](matter/mtrdevicecontroller/continuecommissioningdevice(_:ignoreattestationfailure:).md)
- [deviceBeingCommissioned(withNodeID:)](matter/mtrdevicecontroller/devicebeingcommissioned(withnodeid:).md)
- [fetchAttestationChallenge(forDeviceId:)](matter/mtrdevicecontroller/fetchattestationchallenge(fordeviceid:).md)
- [getBaseDevice(_:queue:completionHandler:)](matter/mtrdevicecontroller/getbasedevice(_:queue:completionhandler:).md)
- [getDeviceBeingCommissioned(_:)](matter/mtrdevicecontroller/getdevicebeingcommissioned(_:).md)
- [openPairingWindow(_:duration:)](matter/mtrdevicecontroller/openpairingwindow(_:duration:).md)
- [openPairingWindow(withPIN:duration:discriminator:setupPIN:)](matter/mtrdevicecontroller/openpairingwindow(withpin:duration:discriminator:setuppin:).md)
- [pairDevice(_:address:port:setupPINCode:)](matter/mtrdevicecontroller/pairdevice(_:address:port:setuppincode:).md)
- [pairDevice(_:discriminator:setupPINCode:)](matter/mtrdevicecontroller/pairdevice(_:discriminator:setuppincode:).md)
- [pairDevice(_:onboardingPayload:)](matter/mtrdevicecontroller/pairdevice(_:onboardingpayload:).md)
- [preWarmCommissioningSession()](matter/mtrdevicecontroller/prewarmcommissioningsession().md)
- [remove(_:queue:completion:)](matter/mtrdevicecontroller/remove(_:queue:completion:).md)
- [setDeviceControllerDelegate(_:queue:)](matter/mtrdevicecontroller/setdevicecontrollerdelegate(_:queue:).md)
- [setNocChainIssuer(_:queue:)](matter/mtrdevicecontroller/setnocchainissuer(_:queue:).md)
- [setPairingDelegate(_:queue:)](matter/mtrdevicecontroller/setpairingdelegate(_:queue:).md)
- [setupCommissioningSession(with:newNodeID:)](matter/mtrdevicecontroller/setupcommissioningsession(with:newnodeid:).md)
- [setupCommissioningSession(withDiscoveredDevice:payload:newNodeID:)](matter/mtrdevicecontroller/setupcommissioningsession(withdiscovereddevice:payload:newnodeid:).md)
- [shutdown()](matter/mtrdevicecontroller/shutdown().md)
- [startBrowse(forCommissionables:queue:)](matter/mtrdevicecontroller/startbrowse(forcommissionables:queue:).md)
- [stopBrowseForCommissionables()](matter/mtrdevicecontroller/stopbrowseforcommissionables().md)
- [stopDevicePairing(_:)](matter/mtrdevicecontroller/stopdevicepairing(_:).md)
- [add(_:queue:)](matter/mtrdevicecontroller/add(_:queue:).md)
- [forgetDevice(withNodeID:)](matter/mtrdevicecontroller/forgetdevice(withnodeid:).md)
- [remove(_:)](matter/mtrdevicecontroller/remove(_:)-2i5l5.md)
- [remove(_:)](matter/mtrdevicecontroller/remove(_:)-8pxve.md)
- [resume()](matter/mtrdevicecontroller/resume().md)
- [suspend()](matter/mtrdevicecontroller/suspend().md)

### Type Methods

- [computePASEVerifier(forSetupPasscode:iterations:salt:)](matter/mtrdevicecontroller/computepaseverifier(forsetuppasscode:iterations:salt:).md)
- [decodeXPCReadParams(_:)](matter/mtrdevicecontroller/decodexpcreadparams(_:).md)
- [decodeXPCResponseValues(_:)](matter/mtrdevicecontroller/decodexpcresponsevalues(_:).md)
- [decodeXPCSubscribeParams(_:)](matter/mtrdevicecontroller/decodexpcsubscribeparams(_:).md)
- [encodeXPCReadParams(_:)](matter/mtrdevicecontroller/encodexpcreadparams(_:).md)
- [encodeXPCResponseValues(_:)](matter/mtrdevicecontroller/encodexpcresponsevalues(_:).md)
- [encodeXPCSubscribeParams(_:)](matter/mtrdevicecontroller/encodexpcsubscribeparams(_:).md)
- [sharedController(withID:xpcConnect:)](matter/mtrdevicecontroller/sharedcontroller(withid:xpcconnect:)-5yhq4.md)
- [sharedController(withId:xpcConnect:)](matter/mtrdevicecontroller/sharedcontroller(withid:xpcconnect:)-6rg64.md)
- [xpcInterfaceForClientProtocol()](matter/mtrdevicecontroller/xpcinterfaceforclientprotocol().md)
- [xpcInterfaceForServerProtocol()](matter/mtrdevicecontroller/xpcinterfaceforserverprotocol().md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
