---
title: "deviceController(_:nodeID:openCommissioningWindowWithSetupPasscode:discriminator:duration:completion:)"
framework: matter
role: symbol
role_heading: Instance Method
path: "matter/mtrxpcserverprotocol_mtrdevice/devicecontroller(_:nodeid:opencommissioningwindowwithsetuppasscode:discriminator:duration:completion:)"
---

# deviceController(_:nodeID:openCommissioningWindowWithSetupPasscode:discriminator:duration:completion:)

## Declaration

```swift
func deviceController(_ controller: UUID, nodeID: NSNumber, openCommissioningWindowWithSetupPasscode setupPasscode: NSNumber, discriminator: NSNumber, duration: NSNumber, completion: @escaping @Sendable (MTRSetupPayload?, (any Error)?) -> Void)
```

```swift
func deviceController(_ controller: UUID, nodeID: NSNumber, openCommissioningWindowWithSetupPasscode setupPasscode: NSNumber, discriminator: NSNumber, duration: NSNumber) async throws -> MTRSetupPayload
```
