# OPC-UA Driver Allow Reading without Predefined Nodes

**URL:** <https://forum.inductiveautomation.com/t/opc-ua-driver-allow-reading-without-predefined-nodes/53267>\
**Category:** Module Development\
**Created:** [November 18, 2021, 10:50pm UTC](https://forum.inductiveautomation.com/t/opc-ua-driver-allow-reading-without-predefined-nodes/53267 "2021-11-18T22:50:30Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [November 18, 2021, 10:59pm UTC](https://forum.inductiveautomation.com/t/opc-ua-driver-allow-reading-without-predefined-nodes/53267/2 "2021-11-18T22:59:30Z")

</div>

ManagedDevice (and all the Managed\* Milo classes) might be the wrong approach for having dynamically addressable Nodes, but you can probably still get it to work by overriding the `read` and `write` methods at the very least. Implementing just `onDataItemsCreated` isn’t enough - you’ll never get far enough to have that called for a dynamically addressed Node if `read` isn’t implemented to return attributes for those Nodes.

If your device implementation will be entirely dynamic and not a hybrid then the “Managed” abstractions are probably wrong for you all together. They basically just take care of implementing browse, read, and write based on the assumption all Nodes will be registered with the NodeManager. If that’s not going to be true at all you may as well just implement `Device` directly.

---

_[View the full topic](https://forum.inductiveautomation.com/t/opc-ua-driver-allow-reading-without-predefined-nodes/53267)._
