Commit 4e9f8fe2 authored by cirp-usf's avatar cirp-usf Committed by Christian Bergmiller

cherry-pick/merge a1a621f0

parent a17000d9
...@@ -41,6 +41,7 @@ class AuditSecurityEvent(AuditEvent): ...@@ -41,6 +41,7 @@ class AuditSecurityEvent(AuditEvent):
def __init__(self, sourcenode=None, message=None, severity=1): def __init__(self, sourcenode=None, message=None, severity=1):
super(AuditSecurityEvent, self).__init__(sourcenode, message, severity) super(AuditSecurityEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditSecurityEventType) self.EventType = ua.NodeId(ua.ObjectIds.AuditSecurityEventType)
self.add_property('StatusCodeId', None, ua.VariantType.StatusCode)
class AuditChannelEvent(AuditSecurityEvent): class AuditChannelEvent(AuditSecurityEvent):
""" """
...@@ -373,7 +374,7 @@ class AuditConditionCommentEvent(AuditConditionEvent): ...@@ -373,7 +374,7 @@ class AuditConditionCommentEvent(AuditConditionEvent):
def __init__(self, sourcenode=None, message=None, severity=1): def __init__(self, sourcenode=None, message=None, severity=1):
super(AuditConditionCommentEvent, self).__init__(sourcenode, message, severity) super(AuditConditionCommentEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionCommentEventType) self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionCommentEventType)
self.add_property('EventId', None, ua.VariantType.ByteString) self.add_property('ConditionEventId', None, ua.VariantType.ByteString)
self.add_property('Comment', None, ua.VariantType.LocalizedText) self.add_property('Comment', None, ua.VariantType.LocalizedText)
class AuditHistoryEventUpdateEvent(AuditHistoryUpdateEvent): class AuditHistoryEventUpdateEvent(AuditHistoryUpdateEvent):
...@@ -474,7 +475,7 @@ class AuditConditionAcknowledgeEvent(AuditConditionEvent): ...@@ -474,7 +475,7 @@ class AuditConditionAcknowledgeEvent(AuditConditionEvent):
def __init__(self, sourcenode=None, message=None, severity=1): def __init__(self, sourcenode=None, message=None, severity=1):
super(AuditConditionAcknowledgeEvent, self).__init__(sourcenode, message, severity) super(AuditConditionAcknowledgeEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionAcknowledgeEventType) self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionAcknowledgeEventType)
self.add_property('EventId', None, ua.VariantType.ByteString) self.add_property('ConditionEventId', None, ua.VariantType.ByteString)
self.add_property('Comment', None, ua.VariantType.LocalizedText) self.add_property('Comment', None, ua.VariantType.LocalizedText)
class AuditConditionConfirmEvent(AuditConditionEvent): class AuditConditionConfirmEvent(AuditConditionEvent):
...@@ -484,7 +485,7 @@ class AuditConditionConfirmEvent(AuditConditionEvent): ...@@ -484,7 +485,7 @@ class AuditConditionConfirmEvent(AuditConditionEvent):
def __init__(self, sourcenode=None, message=None, severity=1): def __init__(self, sourcenode=None, message=None, severity=1):
super(AuditConditionConfirmEvent, self).__init__(sourcenode, message, severity) super(AuditConditionConfirmEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionConfirmEventType) self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionConfirmEventType)
self.add_property('EventId', None, ua.VariantType.ByteString) self.add_property('ConditionEventId', None, ua.VariantType.ByteString)
self.add_property('Comment', None, ua.VariantType.LocalizedText) self.add_property('Comment', None, ua.VariantType.LocalizedText)
class AuditConditionShelvingEvent(AuditConditionEvent): class AuditConditionShelvingEvent(AuditConditionEvent):
...@@ -542,6 +543,101 @@ class CertificateUpdatedAuditEvent(AuditUpdateMethodEvent): ...@@ -542,6 +543,101 @@ class CertificateUpdatedAuditEvent(AuditUpdateMethodEvent):
self.add_property('CertificateGroup', ua.NodeId(ua.ObjectIds.CertificateUpdatedAuditEventType), ua.VariantType.NodeId) self.add_property('CertificateGroup', ua.NodeId(ua.ObjectIds.CertificateUpdatedAuditEventType), ua.VariantType.NodeId)
self.add_property('CertificateType', ua.NodeId(ua.ObjectIds.CertificateUpdatedAuditEventType), ua.VariantType.NodeId) self.add_property('CertificateType', ua.NodeId(ua.ObjectIds.CertificateUpdatedAuditEventType), ua.VariantType.NodeId)
class AuditConditionResetEvent(AuditConditionEvent):
"""
AuditConditionResetEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(AuditConditionResetEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionResetEventType)
class PubSubStatusEvent(SystemEvent):
"""
PubSubStatusEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(PubSubStatusEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.PubSubStatusEventType)
self.add_property('ConnectionId', ua.NodeId(ua.ObjectIds.PubSubStatusEventType), ua.VariantType.NodeId)
self.add_property('GroupId', ua.NodeId(ua.ObjectIds.PubSubStatusEventType), ua.VariantType.NodeId)
self.add_property('State', None, ua.NodeId(ua.ObjectIds.PubSubState))
class PubSubTransportLimitsExceedEvent(PubSubStatusEvent):
"""
PubSubTransportLimitsExceedEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(PubSubTransportLimitsExceedEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.PubSubTransportLimitsExceedEventType)
self.add_property('Actual', None, ua.VariantType.UInt32)
self.add_property('Maximum', None, ua.VariantType.UInt32)
class PubSubCommunicationFailureEvent(PubSubStatusEvent):
"""
PubSubCommunicationFailureEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(PubSubCommunicationFailureEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.PubSubCommunicationFailureEventType)
self.add_property('Error', None, ua.VariantType.StatusCode)
class AuditConditionSuppressEvent(AuditConditionEvent):
"""
AuditConditionSuppressEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(AuditConditionSuppressEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionSuppressEventType)
class AuditConditionSilenceEvent(AuditConditionEvent):
"""
AuditConditionSilenceEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(AuditConditionSilenceEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionSilenceEventType)
class AuditConditionOutOfServiceEvent(AuditConditionEvent):
"""
AuditConditionOutOfServiceEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(AuditConditionOutOfServiceEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionOutOfServiceEventType)
class RoleMappingRuleChangedAuditEvent(AuditUpdateMethodEvent):
"""
RoleMappingRuleChangedAuditEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(RoleMappingRuleChangedAuditEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.RoleMappingRuleChangedAuditEventType)
class KeyCredentialAuditEvent(AuditUpdateMethodEvent):
"""
KeyCredentialAuditEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(KeyCredentialAuditEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.KeyCredentialAuditEventType)
self.add_property('ResourceUri', None, ua.VariantType.String)
class KeyCredentialUpdatedAuditEvent(KeyCredentialAuditEvent):
"""
KeyCredentialUpdatedAuditEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(KeyCredentialUpdatedAuditEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.KeyCredentialUpdatedAuditEventType)
class KeyCredentialDeletedAuditEvent(KeyCredentialAuditEvent):
"""
KeyCredentialDeletedAuditEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super(KeyCredentialDeletedAuditEvent, self).__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.KeyCredentialDeletedAuditEventType)
IMPLEMENTED_EVENTS = { IMPLEMENTED_EVENTS = {
ua.ObjectIds.BaseEventType: BaseEvent, ua.ObjectIds.BaseEventType: BaseEvent,
...@@ -601,4 +697,15 @@ IMPLEMENTED_EVENTS = { ...@@ -601,4 +697,15 @@ IMPLEMENTED_EVENTS = {
ua.ObjectIds.AuditProgramTransitionEventType: AuditProgramTransitionEvent, ua.ObjectIds.AuditProgramTransitionEventType: AuditProgramTransitionEvent,
ua.ObjectIds.TrustListUpdatedAuditEventType: TrustListUpdatedAuditEvent, ua.ObjectIds.TrustListUpdatedAuditEventType: TrustListUpdatedAuditEvent,
ua.ObjectIds.CertificateUpdatedAuditEventType: CertificateUpdatedAuditEvent, ua.ObjectIds.CertificateUpdatedAuditEventType: CertificateUpdatedAuditEvent,
ua.ObjectIds.AuditConditionResetEventType: AuditConditionResetEvent,
ua.ObjectIds.PubSubStatusEventType: PubSubStatusEvent,
ua.ObjectIds.PubSubTransportLimitsExceedEventType: PubSubTransportLimitsExceedEvent,
ua.ObjectIds.PubSubCommunicationFailureEventType: PubSubCommunicationFailureEvent,
ua.ObjectIds.AuditConditionSuppressEventType: AuditConditionSuppressEvent,
ua.ObjectIds.AuditConditionSilenceEventType: AuditConditionSilenceEvent,
ua.ObjectIds.AuditConditionOutOfServiceEventType: AuditConditionOutOfServiceEvent,
ua.ObjectIds.RoleMappingRuleChangedAuditEventType: RoleMappingRuleChangedAuditEvent,
ua.ObjectIds.KeyCredentialAuditEventType: KeyCredentialAuditEvent,
ua.ObjectIds.KeyCredentialUpdatedAuditEventType: KeyCredentialUpdatedAuditEvent,
ua.ObjectIds.KeyCredentialDeletedAuditEventType: KeyCredentialDeletedAuditEvent,
} }
...@@ -3189,7 +3189,7 @@ def create_standard_address_space_Part11(server): ...@@ -3189,7 +3189,7 @@ def create_standard_address_space_Part11(server):
attrs = ua.VariableAttributes() attrs = ua.VariableAttributes()
attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DisplayName = ua.LocalizedText("EnumStrings")
attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText)
attrs.Value = [ua.LocalizedText("AbsoluteValue"),ua.LocalizedText("PercentOfValue"),ua.LocalizedText("PercentOfRange"),ua.LocalizedText("PercentOfEURange"),ua.LocalizedText("Unknown")] attrs.Value = [ua.LocalizedText('AbsoluteValue'),ua.LocalizedText('PercentOfValue'),ua.LocalizedText('PercentOfRange'),ua.LocalizedText('PercentOfEURange'),ua.LocalizedText('Unknown')]
attrs.ValueRank = 1 attrs.ValueRank = 1
node.NodeAttributes = attrs node.NodeAttributes = attrs
server.add_nodes([node]) server.add_nodes([node])
...@@ -3217,6 +3217,42 @@ def create_standard_address_space_Part11(server): ...@@ -3217,6 +3217,42 @@ def create_standard_address_space_Part11(server):
refs.append(ref) refs.append(ref)
server.add_references(refs) server.add_references(refs)
node = ua.AddNodesItem()
node.RequestedNewNodeId = ua.NodeId.from_string("i=893")
node.BrowseName = ua.QualifiedName.from_string("Default Binary")
node.NodeClass = ua.NodeClass.Object
node.ParentNodeId = ua.NodeId.from_string("i=891")
node.ReferenceTypeId = ua.NodeId.from_string("i=38")
node.TypeDefinition = ua.NodeId.from_string("i=76")
attrs = ua.ObjectAttributes()
attrs.DisplayName = ua.LocalizedText("Default Binary")
attrs.EventNotifier = 0
node.NodeAttributes = attrs
server.add_nodes([node])
refs = []
ref = ua.AddReferencesItem()
ref.IsForward = False
ref.ReferenceTypeId = ua.NodeId.from_string("i=38")
ref.SourceNodeId = ua.NodeId.from_string("i=893")
ref.TargetNodeClass = ua.NodeClass.DataType
ref.TargetNodeId = ua.NodeId.from_string("i=891")
refs.append(ref)
ref = ua.AddReferencesItem()
ref.IsForward = True
ref.ReferenceTypeId = ua.NodeId.from_string("i=39")
ref.SourceNodeId = ua.NodeId.from_string("i=893")
ref.TargetNodeClass = ua.NodeClass.DataType
ref.TargetNodeId = ua.NodeId.from_string("i=8244")
refs.append(ref)
ref = ua.AddReferencesItem()
ref.IsForward = True
ref.ReferenceTypeId = ua.NodeId.from_string("i=40")
ref.SourceNodeId = ua.NodeId.from_string("i=893")
ref.TargetNodeClass = ua.NodeClass.DataType
ref.TargetNodeId = ua.NodeId.from_string("i=76")
refs.append(ref)
server.add_references(refs)
node = ua.AddNodesItem() node = ua.AddNodesItem()
node.RequestedNewNodeId = ua.NodeId.from_string("i=892") node.RequestedNewNodeId = ua.NodeId.from_string("i=892")
node.BrowseName = ua.QualifiedName.from_string("Default XML") node.BrowseName = ua.QualifiedName.from_string("Default XML")
...@@ -3254,14 +3290,14 @@ def create_standard_address_space_Part11(server): ...@@ -3254,14 +3290,14 @@ def create_standard_address_space_Part11(server):
server.add_references(refs) server.add_references(refs)
node = ua.AddNodesItem() node = ua.AddNodesItem()
node.RequestedNewNodeId = ua.NodeId.from_string("i=893") node.RequestedNewNodeId = ua.NodeId.from_string("i=15382")
node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.BrowseName = ua.QualifiedName.from_string("Default JSON")
node.NodeClass = ua.NodeClass.Object node.NodeClass = ua.NodeClass.Object
node.ParentNodeId = ua.NodeId.from_string("i=891") node.ParentNodeId = ua.NodeId.from_string("i=891")
node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.ReferenceTypeId = ua.NodeId.from_string("i=38")
node.TypeDefinition = ua.NodeId.from_string("i=76") node.TypeDefinition = ua.NodeId.from_string("i=76")
attrs = ua.ObjectAttributes() attrs = ua.ObjectAttributes()
attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.DisplayName = ua.LocalizedText("Default JSON")
attrs.EventNotifier = 0 attrs.EventNotifier = 0
node.NodeAttributes = attrs node.NodeAttributes = attrs
server.add_nodes([node]) server.add_nodes([node])
...@@ -3269,21 +3305,14 @@ def create_standard_address_space_Part11(server): ...@@ -3269,21 +3305,14 @@ def create_standard_address_space_Part11(server):
ref = ua.AddReferencesItem() ref = ua.AddReferencesItem()
ref.IsForward = False ref.IsForward = False
ref.ReferenceTypeId = ua.NodeId.from_string("i=38") ref.ReferenceTypeId = ua.NodeId.from_string("i=38")
ref.SourceNodeId = ua.NodeId.from_string("i=893") ref.SourceNodeId = ua.NodeId.from_string("i=15382")
ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeClass = ua.NodeClass.DataType
ref.TargetNodeId = ua.NodeId.from_string("i=891") ref.TargetNodeId = ua.NodeId.from_string("i=891")
refs.append(ref) refs.append(ref)
ref = ua.AddReferencesItem() ref = ua.AddReferencesItem()
ref.IsForward = True ref.IsForward = True
ref.ReferenceTypeId = ua.NodeId.from_string("i=39")
ref.SourceNodeId = ua.NodeId.from_string("i=893")
ref.TargetNodeClass = ua.NodeClass.DataType
ref.TargetNodeId = ua.NodeId.from_string("i=8244")
refs.append(ref)
ref = ua.AddReferencesItem()
ref.IsForward = True
ref.ReferenceTypeId = ua.NodeId.from_string("i=40") ref.ReferenceTypeId = ua.NodeId.from_string("i=40")
ref.SourceNodeId = ua.NodeId.from_string("i=893") ref.SourceNodeId = ua.NodeId.from_string("i=15382")
ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeClass = ua.NodeClass.DataType
ref.TargetNodeId = ua.NodeId.from_string("i=76") ref.TargetNodeId = ua.NodeId.from_string("i=76")
refs.append(ref) refs.append(ref)
......
...@@ -1384,7 +1384,7 @@ def create_standard_address_space_Part8(server): ...@@ -1384,7 +1384,7 @@ def create_standard_address_space_Part8(server):
attrs = ua.VariableAttributes() attrs = ua.VariableAttributes()
attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DisplayName = ua.LocalizedText("EnumStrings")
attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText)
attrs.Value = [ua.LocalizedText("Linear"),ua.LocalizedText("Log"),ua.LocalizedText("Ln")] attrs.Value = [ua.LocalizedText('Linear'),ua.LocalizedText('Log'),ua.LocalizedText('Ln')]
attrs.ValueRank = 1 attrs.ValueRank = 1
node.NodeAttributes = attrs node.NodeAttributes = attrs
server.add_nodes([node]) server.add_nodes([node])
......
...@@ -25,3 +25,8 @@ class AttributeIds(IntEnum): ...@@ -25,3 +25,8 @@ class AttributeIds(IntEnum):
Historizing = 20 Historizing = 20
Executable = 21 Executable = 21
UserExecutable = 22 UserExecutable = 22
DataTypeDefinition = 23
RolePermissions = 24
UserRolePermissions = 25
AccessRestrictions = 26
AccessLevelEx = 27
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment