async def _create_object(server, parentnodeid, nodeid, qname, objecttype): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.ParentNodeId = parentnodeid if await make_node(server, parentnodeid).get_type_definition() == ua.NodeId( ua.ObjectIds.FolderType): addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) else: addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) addnode.NodeClass = ua.NodeClass.Object if isinstance(objecttype, int): addnode.TypeDefinition = ua.NodeId(objecttype) else: addnode.TypeDefinition = objecttype attrs = ua.ObjectAttributes() attrs.EventNotifier = 0 attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId
async def add_object(self, obj, no_namespace_migration=False): node = self._get_add_node_item(obj, no_namespace_migration) attrs = ua.ObjectAttributes() if obj.desc: attrs.Description = ua.LocalizedText(obj.desc) attrs.DisplayName = ua.LocalizedText(obj.displayname) attrs.EventNotifier = obj.eventnotifier node.NodeAttributes = attrs res = await self._get_server().add_nodes([node]) await self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId
async def add_object(self, obj): node = self._get_node(obj) attrs = ua.ObjectAttributes() if obj.desc: attrs.Description = ua.LocalizedText(obj.desc) attrs.DisplayName = ua.LocalizedText(obj.displayname) attrs.EventNotifier = obj.eventnotifier node.NodeAttributes = attrs res = await self._add_node(node) await self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId
def create_standard_address_space_Part17(server): node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23455, 0) node.BrowseName = QualifiedName('AliasNameType', 0) node.NodeClass = NodeClass.ObjectType node.ParentNodeId = NumericNodeId(58, 0) node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() attrs.DisplayName = LocalizedText("AliasNameType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(45, 0) ref.SourceNodeId = NumericNodeId(23455, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23456, 0) node.BrowseName = QualifiedName('AliasNameCategoryType', 0) node.NodeClass = NodeClass.ObjectType node.ParentNodeId = NumericNodeId(61, 0) node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() attrs.DisplayName = LocalizedText("AliasNameCategoryType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23456, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23457, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23456, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23458, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23456, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23462, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(45, 0) ref.SourceNodeId = NumericNodeId(23456, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23457, 0) node.BrowseName = QualifiedName('<Alias>', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(23456, 0) node.ReferenceTypeId = NumericNodeId(47, 0) node.TypeDefinition = NumericNodeId(23455, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("<Alias>") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23457, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23455, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(23457, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23457, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23456, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23458, 0) node.BrowseName = QualifiedName('<SubAliasNameCategories>', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(23456, 0) node.ReferenceTypeId = NumericNodeId(47, 0) node.TypeDefinition = NumericNodeId(23456, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("<SubAliasNameCategories>") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23458, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23459, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23458, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23456, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(23458, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23458, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23456, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23459, 0) node.BrowseName = QualifiedName('FindAlias', 0) node.NodeClass = NodeClass.Method node.ParentNodeId = NumericNodeId(23458, 0) node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() attrs.DisplayName = LocalizedText("FindAlias") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23459, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23460, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23459, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23461, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(23459, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23459, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23458, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23460, 0) node.BrowseName = QualifiedName('InputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23459, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("InputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNameSearchPattern' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'ReferenceTypeFilter' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23460, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(23460, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23460, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23459, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23461, 0) node.BrowseName = QualifiedName('OutputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23459, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("OutputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNodeList' extobj.DataType = NumericNodeId(23468, 0) extobj.ValueRank = 1 extobj.ArrayDimensions = 0 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23461, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(23461, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23461, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23459, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23462, 0) node.BrowseName = QualifiedName('FindAlias', 0) node.NodeClass = NodeClass.Method node.ParentNodeId = NumericNodeId(23456, 0) node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() attrs.DisplayName = LocalizedText("FindAlias") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23462, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23463, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23462, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23464, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(23462, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23462, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23456, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23463, 0) node.BrowseName = QualifiedName('InputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23462, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("InputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNameSearchPattern' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'ReferenceTypeFilter' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23463, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(23463, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23463, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23462, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23464, 0) node.BrowseName = QualifiedName('OutputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23462, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("OutputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNodeList' extobj.DataType = NumericNodeId(23468, 0) extobj.ValueRank = 1 extobj.ArrayDimensions = 0 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23464, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(23464, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23464, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23462, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23468, 0) node.BrowseName = QualifiedName('AliasNameDataType', 0) node.NodeClass = NodeClass.DataType node.ParentNodeId = NumericNodeId(22, 0) node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() attrs.DisplayName = LocalizedText("AliasNameDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(45, 0) ref.SourceNodeId = NumericNodeId(23468, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23469, 0) node.BrowseName = QualifiedName('AliasFor', 0) node.NodeClass = NodeClass.ReferenceType node.ParentNodeId = NumericNodeId(32, 0) node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() attrs.DisplayName = LocalizedText("AliasFor") attrs.InverseName = LocalizedText("HasAlias") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(45, 0) ref.SourceNodeId = NumericNodeId(23469, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23470, 0) node.BrowseName = QualifiedName('Aliases', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(85, 0) node.ReferenceTypeId = NumericNodeId(35, 0) node.TypeDefinition = NumericNodeId(23456, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Aliases") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23470, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23476, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(35, 0) ref.SourceNodeId = NumericNodeId(23470, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(85, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23470, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23456, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23476, 0) node.BrowseName = QualifiedName('FindAlias', 0) node.NodeClass = NodeClass.Method node.ParentNodeId = NumericNodeId(23470, 0) node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() attrs.DisplayName = LocalizedText("FindAlias") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23476, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23477, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23476, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23478, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23476, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23470, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23477, 0) node.BrowseName = QualifiedName('InputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23476, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("InputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNameSearchPattern' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'ReferenceTypeFilter' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23477, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23477, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23476, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23478, 0) node.BrowseName = QualifiedName('OutputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23476, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("OutputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNodeList' extobj.DataType = NumericNodeId(23468, 0) extobj.ValueRank = 1 extobj.ArrayDimensions = 0 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23478, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23478, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23476, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23479, 0) node.BrowseName = QualifiedName('Tags', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(23470, 0) node.ReferenceTypeId = NumericNodeId(35, 0) node.TypeDefinition = NumericNodeId(23456, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Tags") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23479, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23485, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(35, 0) ref.SourceNodeId = NumericNodeId(23479, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23470, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23479, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23456, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23485, 0) node.BrowseName = QualifiedName('FindAlias', 0) node.NodeClass = NodeClass.Method node.ParentNodeId = NumericNodeId(23479, 0) node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() attrs.DisplayName = LocalizedText("FindAlias") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23485, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23486, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23485, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23487, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23485, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23479, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23486, 0) node.BrowseName = QualifiedName('InputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23485, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("InputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNameSearchPattern' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'ReferenceTypeFilter' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23486, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23486, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23485, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23487, 0) node.BrowseName = QualifiedName('OutputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23485, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("OutputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNodeList' extobj.DataType = NumericNodeId(23468, 0) extobj.ValueRank = 1 extobj.ArrayDimensions = 0 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23487, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23487, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23485, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23488, 0) node.BrowseName = QualifiedName('Topics', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(23470, 0) node.ReferenceTypeId = NumericNodeId(35, 0) node.TypeDefinition = NumericNodeId(23456, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Topics") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23488, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23494, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(35, 0) ref.SourceNodeId = NumericNodeId(23488, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23470, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23488, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23456, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23494, 0) node.BrowseName = QualifiedName('FindAlias', 0) node.NodeClass = NodeClass.Method node.ParentNodeId = NumericNodeId(23488, 0) node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() attrs.DisplayName = LocalizedText("FindAlias") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23494, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23495, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23494, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23496, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(23494, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23488, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23495, 0) node.BrowseName = QualifiedName('InputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23494, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("InputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNameSearchPattern' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'ReferenceTypeFilter' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23495, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23495, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23494, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23496, 0) node.BrowseName = QualifiedName('OutputArguments', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(23494, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("OutputArguments") attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'AliasNodeList' extobj.DataType = NumericNodeId(23468, 0) extobj.ValueRank = 1 extobj.ArrayDimensions = 0 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23496, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(23496, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23494, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23499, 0) node.BrowseName = QualifiedName('Default Binary', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(23468, 0) node.ReferenceTypeId = NumericNodeId(38, 0) node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(38, 0) ref.SourceNodeId = NumericNodeId(23499, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23468, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(39, 0) ref.SourceNodeId = NumericNodeId(23499, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23502, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23499, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23505, 0) node.BrowseName = QualifiedName('Default XML', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(23468, 0) node.ReferenceTypeId = NumericNodeId(38, 0) node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(38, 0) ref.SourceNodeId = NumericNodeId(23505, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23468, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(39, 0) ref.SourceNodeId = NumericNodeId(23505, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23505, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(23511, 0) node.BrowseName = QualifiedName('Default JSON', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(23468, 0) node.ReferenceTypeId = NumericNodeId(38, 0) node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(38, 0) ref.SourceNodeId = NumericNodeId(23511, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(23468, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(23511, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs)
def create_standard_address_space_Part13(server): node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11187, 0) node.BrowseName = QualifiedName('AggregateConfigurationType', 0) node.NodeClass = NodeClass.ObjectType node.ParentNodeId = NumericNodeId(58, 0) node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() attrs.DisplayName = LocalizedText("AggregateConfigurationType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11188, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11189, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11190, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11191, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(45, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11188, 0) node.BrowseName = QualifiedName('TreatUncertainAsBad', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(11187, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("TreatUncertainAsBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11188, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(11188, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11188, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11189, 0) node.BrowseName = QualifiedName('PercentDataBad', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(11187, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("PercentDataBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11189, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(11189, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11189, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11190, 0) node.BrowseName = QualifiedName('PercentDataGood', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(11187, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("PercentDataGood") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11190, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(11190, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11190, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11191, 0) node.BrowseName = QualifiedName('UseSlopedExtrapolation', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(11187, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("UseSlopedExtrapolation") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11191, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(11191, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11191, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2341, 0) node.BrowseName = QualifiedName('Interpolative', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Interpolative") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2341, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2342, 0) node.BrowseName = QualifiedName('Average', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Average") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2342, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2343, 0) node.BrowseName = QualifiedName('TimeAverage', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("TimeAverage") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2343, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11285, 0) node.BrowseName = QualifiedName('TimeAverage2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("TimeAverage2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11285, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2344, 0) node.BrowseName = QualifiedName('Total', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Total") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2344, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11304, 0) node.BrowseName = QualifiedName('Total2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Total2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11304, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2346, 0) node.BrowseName = QualifiedName('Minimum', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Minimum") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2346, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2347, 0) node.BrowseName = QualifiedName('Maximum', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Maximum") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2347, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2348, 0) node.BrowseName = QualifiedName('MinimumActualTime', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("MinimumActualTime") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2348, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2349, 0) node.BrowseName = QualifiedName('MaximumActualTime', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("MaximumActualTime") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2349, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2350, 0) node.BrowseName = QualifiedName('Range', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Range") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2350, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11286, 0) node.BrowseName = QualifiedName('Minimum2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Minimum2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11286, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11287, 0) node.BrowseName = QualifiedName('Maximum2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Maximum2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11287, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11305, 0) node.BrowseName = QualifiedName('MinimumActualTime2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("MinimumActualTime2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11305, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11306, 0) node.BrowseName = QualifiedName('MaximumActualTime2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("MaximumActualTime2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11306, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11288, 0) node.BrowseName = QualifiedName('Range2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Range2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11288, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2351, 0) node.BrowseName = QualifiedName('AnnotationCount', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("AnnotationCount") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2351, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2352, 0) node.BrowseName = QualifiedName('Count', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Count") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2352, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11307, 0) node.BrowseName = QualifiedName('DurationInStateZero', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("DurationInStateZero") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11307, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11308, 0) node.BrowseName = QualifiedName('DurationInStateNonZero', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("DurationInStateNonZero") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11308, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2355, 0) node.BrowseName = QualifiedName('NumberOfTransitions', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("NumberOfTransitions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2355, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2357, 0) node.BrowseName = QualifiedName('Start', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Start") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2357, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2358, 0) node.BrowseName = QualifiedName('End', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("End") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2358, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2359, 0) node.BrowseName = QualifiedName('Delta', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("Delta") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2359, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11505, 0) node.BrowseName = QualifiedName('StartBound', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("StartBound") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11505, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11506, 0) node.BrowseName = QualifiedName('EndBound', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("EndBound") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11506, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11507, 0) node.BrowseName = QualifiedName('DeltaBounds', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("DeltaBounds") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11507, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2360, 0) node.BrowseName = QualifiedName('DurationGood', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("DurationGood") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2360, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2361, 0) node.BrowseName = QualifiedName('DurationBad', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("DurationBad") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2361, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2362, 0) node.BrowseName = QualifiedName('PercentGood', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("PercentGood") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2362, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2363, 0) node.BrowseName = QualifiedName('PercentBad', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("PercentBad") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2363, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2364, 0) node.BrowseName = QualifiedName('WorstQuality', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("WorstQuality") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2364, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11292, 0) node.BrowseName = QualifiedName('WorstQuality2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("WorstQuality2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11292, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11426, 0) node.BrowseName = QualifiedName('StandardDeviationSample', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("StandardDeviationSample") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11426, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11427, 0) node.BrowseName = QualifiedName('StandardDeviationPopulation', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("StandardDeviationPopulation") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11427, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11428, 0) node.BrowseName = QualifiedName('VarianceSample', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("VarianceSample") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11428, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11429, 0) node.BrowseName = QualifiedName('VariancePopulation', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("VariancePopulation") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11429, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs)
async def _create_data_type(self, type_name, nodeid=None, init=True): #name = _to_camel_case(type_name) name = type_name if nodeid is None: # create data type node dt_node = ua.AddNodesItem() dt_node.RequestedNewNodeId = ua.NodeId(0, self._idx) dt_node.BrowseName = ua.QualifiedName(name, self._idx) dt_node.NodeClass = ua.NodeClass.DataType dt_node.ParentNodeId = ua.NodeId(ua.ObjectIds.Structure, 0) dt_node.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype, 0) dt_attributes = ua.DataTypeAttributes() dt_attributes.DisplayName = ua.LocalizedText(type_name) dt_node.NodeAttributes = dt_attributes res = await self._session_server.add_nodes([dt_node]) data_type_node_id = res[0].AddedNodeId else: data_type_node_id = nodeid added = [data_type_node_id] if init: # create description node desc_node = ua.AddNodesItem() desc_node.RequestedNewNodeId = ua.NodeId(0, self._idx) desc_node.BrowseName = ua.QualifiedName(name, self._idx) desc_node.NodeClass = ua.NodeClass.Variable desc_node.ParentNodeId = self.dict_id desc_node.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent, 0) desc_node.TypeDefinition = ua.NodeId( ua.ObjectIds.DataTypeDescriptionType, 0) desc_attributes = ua.VariableAttributes() desc_attributes.DisplayName = ua.LocalizedText(type_name) desc_attributes.DataType = ua.NodeId(ua.ObjectIds.String) desc_attributes.Value = ua.Variant(name, ua.VariantType.String) desc_attributes.ValueRank = -1 desc_node.NodeAttributes = desc_attributes res = await self._session_server.add_nodes([desc_node]) description_node_id = res[0].AddedNodeId added.append(description_node_id) # create object node which the loaded python class should link to obj_node = ua.AddNodesItem() obj_node.RequestedNewNodeId = ua.NodeId(0, self._idx) obj_node.BrowseName = ua.QualifiedName('Default Binary', 0) obj_node.NodeClass = ua.NodeClass.Object obj_node.ParentNodeId = data_type_node_id obj_node.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasEncoding, 0) obj_node.TypeDefinition = ua.NodeId( ua.ObjectIds.DataTypeEncodingType, 0) obj_attributes = ua.ObjectAttributes() obj_attributes.DisplayName = ua.LocalizedText('Default Binary') obj_attributes.EventNotifier = 0 obj_node.NodeAttributes = obj_attributes res = await self._session_server.add_nodes([obj_node]) bind_obj_node_id = res[0].AddedNodeId added.append(bind_obj_node_id) await self._link_nodes(bind_obj_node_id, data_type_node_id, description_node_id) self._type_dictionary.append_struct(type_name) return StructNode(self, data_type_node_id, type_name, added)
async def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=None, recursive=True, instantiate_optional=True): """ instantiate a node type under parent """ addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = bname addnode.ParentNodeId = parentid addnode.ReferenceTypeId = rdesc.ReferenceTypeId addnode.TypeDefinition = rdesc.TypeDefinition if rdesc.NodeClass in (ua.NodeClass.Object, ua.NodeClass.ObjectType): addnode.NodeClass = ua.NodeClass.Object await _read_and_copy_attrs(node_type, ua.ObjectAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.Variable, ua.NodeClass.VariableType): addnode.NodeClass = ua.NodeClass.Variable await _read_and_copy_attrs(node_type, ua.VariableAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.Method, ): addnode.NodeClass = ua.NodeClass.Method await _read_and_copy_attrs(node_type, ua.MethodAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.DataType, ): addnode.NodeClass = ua.NodeClass.DataType await _read_and_copy_attrs(node_type, ua.DataTypeAttributes(), addnode) else: logger.error("Instantiate: Node class not supported: %s", rdesc.NodeClass) raise RuntimeError("Instantiate: Node class not supported") if dname is not None: addnode.NodeAttributes.DisplayName = dname res = (await server.add_nodes([addnode]))[0] added_nodes = [res.AddedNodeId] if recursive: parents = await get_node_supertypes(node_type, includeitself=True) node = make_node(server, res.AddedNodeId) for parent in parents: descs = await parent.get_children_descriptions( includesubtypes=False) for c_rdesc in descs: # skip items that already exists, prefer the 'lowest' one in object hierarchy if not await is_child_present(node, c_rdesc.BrowseName): c_node_type = make_node(server, c_rdesc.NodeId) refs = await c_node_type.get_referenced_nodes( refs=ua.ObjectIds.HasModellingRule) if not refs: # spec says to ignore nodes without modelling rules logger.info( "Instantiate: Skip node without modelling rule %s as part of %s", c_rdesc.BrowseName, addnode.BrowseName) continue # exclude nodes with optional ModellingRule if requested if refs[0].nodeid in ( ua.NodeId(ua.ObjectIds.ModellingRule_Optional), ua.NodeId( ua.ObjectIds.ModellingRule_OptionalPlaceholder) ): # instatiate optionals if not instantiate_optional: logger.info( "Instantiate: Skip optional node %s as part of %s", c_rdesc.BrowseName, addnode.BrowseName) continue # if root node being instantiated has a String NodeId, create the children with a String NodeId if res.AddedNodeId.NodeIdType is ua.NodeIdType.String: inst_nodeid = res.AddedNodeId.Identifier + "." + c_rdesc.BrowseName.Name nodeids = await _instantiate_node( server, c_node_type, res.AddedNodeId, c_rdesc, nodeid=ua.NodeId( Identifier=inst_nodeid, NamespaceIndex=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName, instantiate_optional=instantiate_optional) else: nodeids = await _instantiate_node( server, c_node_type, res.AddedNodeId, c_rdesc, nodeid=ua.NodeId( NamespaceIndex=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName, instantiate_optional=instantiate_optional) added_nodes.extend(nodeids) return added_nodes
def create_standard_address_space_Part13(server): node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11187, 0) node.BrowseName = QualifiedName('AggregateConfigurationType', 0) node.NodeClass = NodeClass.ObjectType node.ParentNodeId = NumericNodeId(58, 0) node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() attrs.DisplayName = LocalizedText("AggregateConfigurationType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11188, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11189, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11190, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11191, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(45, 0) ref.SourceNodeId = NumericNodeId(11187, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11188, 0) node.BrowseName = QualifiedName('TreatUncertainAsBad', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(11187, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("TreatUncertainAsBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11188, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(11188, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11188, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11189, 0) node.BrowseName = QualifiedName('PercentDataBad', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(11187, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("PercentDataBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11189, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(11189, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11189, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11190, 0) node.BrowseName = QualifiedName('PercentDataGood', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(11187, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("PercentDataGood") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11190, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(11190, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11190, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11191, 0) node.BrowseName = QualifiedName('UseSlopedExtrapolation', 0) node.NodeClass = NodeClass.Variable node.ParentNodeId = NumericNodeId(11187, 0) node.ReferenceTypeId = NumericNodeId(46, 0) node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("UseSlopedExtrapolation") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11191, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(37, 0) ref.SourceNodeId = NumericNodeId(11191, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = NumericNodeId(46, 0) ref.SourceNodeId = NumericNodeId(11191, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2341, 0) node.BrowseName = QualifiedName('Interpolative', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp." ) attrs.DisplayName = LocalizedText("Interpolative") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2341, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2342, 0) node.BrowseName = QualifiedName('Average', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the average value of the data over the interval.") attrs.DisplayName = LocalizedText("Average") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2342, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2343, 0) node.BrowseName = QualifiedName('TimeAverage', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the time weighted average data over the interval using Interpolated Bounding Values." ) attrs.DisplayName = LocalizedText("TimeAverage") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2343, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11285, 0) node.BrowseName = QualifiedName('TimeAverage2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the time weighted average data over the interval using Simple Bounding Values." ) attrs.DisplayName = LocalizedText("TimeAverage2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11285, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2344, 0) node.BrowseName = QualifiedName('Total', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values." ) attrs.DisplayName = LocalizedText("Total") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2344, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11304, 0) node.BrowseName = QualifiedName('Total2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the total (time integral) of the data over the interval using Simple Bounding Values." ) attrs.DisplayName = LocalizedText("Total2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11304, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2346, 0) node.BrowseName = QualifiedName('Minimum', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the minimum raw value in the interval with the timestamp of the start of the interval." ) attrs.DisplayName = LocalizedText("Minimum") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2346, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2347, 0) node.BrowseName = QualifiedName('Maximum', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the maximum raw value in the interval with the timestamp of the start of the interval." ) attrs.DisplayName = LocalizedText("Maximum") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2347, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2348, 0) node.BrowseName = QualifiedName('MinimumActualTime', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the minimum value in the interval and the Timestamp of the minimum value." ) attrs.DisplayName = LocalizedText("MinimumActualTime") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2348, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2349, 0) node.BrowseName = QualifiedName('MaximumActualTime', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the maximum value in the interval and the Timestamp of the maximum value." ) attrs.DisplayName = LocalizedText("MaximumActualTime") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2349, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2350, 0) node.BrowseName = QualifiedName('Range', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the difference between the minimum and maximum Value over the interval." ) attrs.DisplayName = LocalizedText("Range") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2350, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11286, 0) node.BrowseName = QualifiedName('Minimum2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the minimum value in the interval including the Simple Bounding Values." ) attrs.DisplayName = LocalizedText("Minimum2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11286, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11287, 0) node.BrowseName = QualifiedName('Maximum2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the maximum value in the interval including the Simple Bounding Values." ) attrs.DisplayName = LocalizedText("Maximum2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11287, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11305, 0) node.BrowseName = QualifiedName('MinimumActualTime2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the minimum value with the actual timestamp including the Simple Bounding Values." ) attrs.DisplayName = LocalizedText("MinimumActualTime2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11305, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11306, 0) node.BrowseName = QualifiedName('MaximumActualTime2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the maximum value with the actual timestamp including the Simple Bounding Values." ) attrs.DisplayName = LocalizedText("MaximumActualTime2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11306, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11288, 0) node.BrowseName = QualifiedName('Range2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the difference between the Minimum2 and Maximum2 value over the interval." ) attrs.DisplayName = LocalizedText("Range2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11288, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2351, 0) node.BrowseName = QualifiedName('AnnotationCount', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the number of Annotations in the interval.") attrs.DisplayName = LocalizedText("AnnotationCount") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2351, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2352, 0) node.BrowseName = QualifiedName('Count', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the number of raw values over the interval.") attrs.DisplayName = LocalizedText("Count") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2352, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11307, 0) node.BrowseName = QualifiedName('DurationInStateZero', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values." ) attrs.DisplayName = LocalizedText("DurationInStateZero") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11307, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11308, 0) node.BrowseName = QualifiedName('DurationInStateNonZero', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values." ) attrs.DisplayName = LocalizedText("DurationInStateNonZero") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11308, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2355, 0) node.BrowseName = QualifiedName('NumberOfTransitions', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval." ) attrs.DisplayName = LocalizedText("NumberOfTransitions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2355, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2357, 0) node.BrowseName = QualifiedName('Start', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the value at the beginning of the interval using Interpolated Bounding Values." ) attrs.DisplayName = LocalizedText("Start") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2357, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2358, 0) node.BrowseName = QualifiedName('End', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the value at the end of the interval using Interpolated Bounding Values." ) attrs.DisplayName = LocalizedText("End") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2358, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2359, 0) node.BrowseName = QualifiedName('Delta', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the difference between the Start and End value in the interval." ) attrs.DisplayName = LocalizedText("Delta") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2359, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11505, 0) node.BrowseName = QualifiedName('StartBound', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the value at the beginning of the interval using Simple Bounding Values." ) attrs.DisplayName = LocalizedText("StartBound") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11505, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11506, 0) node.BrowseName = QualifiedName('EndBound', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the value at the end of the interval using Simple Bounding Values." ) attrs.DisplayName = LocalizedText("EndBound") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11506, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11507, 0) node.BrowseName = QualifiedName('DeltaBounds', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the difference between the StartBound and EndBound value in the interval." ) attrs.DisplayName = LocalizedText("DeltaBounds") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11507, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2360, 0) node.BrowseName = QualifiedName('DurationGood', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the total duration of time in the interval during which the data is good." ) attrs.DisplayName = LocalizedText("DurationGood") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2360, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2361, 0) node.BrowseName = QualifiedName('DurationBad', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the total duration of time in the interval during which the data is bad." ) attrs.DisplayName = LocalizedText("DurationBad") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2361, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2362, 0) node.BrowseName = QualifiedName('PercentGood', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode." ) attrs.DisplayName = LocalizedText("PercentGood") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2362, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2363, 0) node.BrowseName = QualifiedName('PercentBad', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode." ) attrs.DisplayName = LocalizedText("PercentBad") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2363, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2364, 0) node.BrowseName = QualifiedName('WorstQuality', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the worst StatusCode of data in the interval.") attrs.DisplayName = LocalizedText("WorstQuality") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(2364, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11292, 0) node.BrowseName = QualifiedName('WorstQuality2', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values." ) attrs.DisplayName = LocalizedText("WorstQuality2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11292, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11426, 0) node.BrowseName = QualifiedName('StandardDeviationSample', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the standard deviation for the interval for a sample of the population (n-1)." ) attrs.DisplayName = LocalizedText("StandardDeviationSample") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11426, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11427, 0) node.BrowseName = QualifiedName('StandardDeviationPopulation', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values." ) attrs.DisplayName = LocalizedText("StandardDeviationPopulation") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11427, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11428, 0) node.BrowseName = QualifiedName('VarianceSample', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the variance for the interval as calculated by the StandardDeviationSample." ) attrs.DisplayName = LocalizedText("VarianceSample") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11428, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(11429, 0) node.BrowseName = QualifiedName('VariancePopulation', 0) node.NodeClass = NodeClass.Object node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText( "Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values." ) attrs.DisplayName = LocalizedText("VariancePopulation") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(11429, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs)