diff --git a/test/py/base/opcua_client.py b/test/py/base/opcua_client.py
index 100b4b9c42101eb399267f2db839659b5dad8165..7f8fc910425cb0a26c861d055f7ad3c319430006 100644
--- a/test/py/base/opcua_client.py
+++ b/test/py/base/opcua_client.py
@@ -62,6 +62,20 @@ VARIANTTYPE = {'VariantType.Boolean': ua.VariantType.Boolean,
                'VariantType.String' : ua.VariantType.String,
                '12'                 : ua.VariantType.String}
 
+DATATYPE = {'1': "Boolean",
+            '2': "SByte",
+            '3': "Byte",
+            '4': "Int16",
+            '5': "UInt16",
+            '6': "Int32",
+            '7': "UInt32",
+            '8': "Int64",
+            '9': "UInt64",
+            '10': "Float",
+            '11': "Double",
+            '12': "String"}
+
+
 OPCUA_FIXED_N_NODES = 16
 
 
@@ -246,6 +260,9 @@ class OpcuaClient:
         if datapoint 'name' not excists return None
         """
         if self._check_name(name) is True:
+            datatype = self.child_datatype[name]
+            if datatype.isnumeric():
+                return DATATYPE[datatype]
             return str(self.child_datatype[name]).split(".")[1]
         return None