---
title: "deviceController(_:nodeID:readAttributeWithEndpointID:clusterID:attributeID:params:withReply:)"
framework: matter
role: symbol
role_heading: Instance Method
path: "matter/mtrxpcserverprotocol_mtrdevice/devicecontroller(_:nodeid:readattributewithendpointid:clusterid:attributeid:params:withreply:)"
---

# deviceController(_:nodeID:readAttributeWithEndpointID:clusterID:attributeID:params:withReply:)

## Declaration

```swift
func deviceController(_ controller: UUID, nodeID: NSNumber, readAttributeWithEndpointID endpointID: NSNumber, clusterID: NSNumber, attributeID: NSNumber, params: MTRReadParams?, withReply reply: @escaping @Sendable ([String : Any]?) -> Void)
```

```swift
func deviceController(_ controller: UUID, nodeID: NSNumber, readAttributeWithEndpointID endpointID: NSNumber, clusterID: NSNumber, attributeID: NSNumber, params: MTRReadParams?) async -> [String : Any]?
```
