summaryrefslogtreecommitdiffstats
path: root/src/plugins/opcua/freeopcua/qfreeopcuaclient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/opcua/freeopcua/qfreeopcuaclient.cpp')
-rw-r--r--src/plugins/opcua/freeopcua/qfreeopcuaclient.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/opcua/freeopcua/qfreeopcuaclient.cpp b/src/plugins/opcua/freeopcua/qfreeopcuaclient.cpp
index a84aceb..9afe4ff 100644
--- a/src/plugins/opcua/freeopcua/qfreeopcuaclient.cpp
+++ b/src/plugins/opcua/freeopcua/qfreeopcuaclient.cpp
@@ -36,6 +36,7 @@
#include "qfreeopcuaclient.h"
#include "qfreeopcuanode.h"
+#include "qfreeopcuavalueconverter.h"
#include "qfreeopcuaworker.h"
#include <private/qopcuaclient_p.h>
@@ -79,8 +80,13 @@ QOpcUaNode *QFreeOpcUaClientImpl::node(const QString &nodeId)
if (!m_opcuaWorker)
return nullptr;
+ OpcUa::NodeId id = QFreeOpcUaValueConverter::stringToNodeId(nodeId);
+
+ if (id.IsNull())
+ return nullptr;
+
try {
- OpcUa::Node node = m_opcuaWorker->GetNode(nodeId.toStdString());
+ OpcUa::Node node = m_opcuaWorker->GetNode(id);
QFreeOpcUaNode *n = new QFreeOpcUaNode(node, this);
return new QOpcUaNode(n, m_client);
} catch (const std::exception &ex) {