Commit defa1ffa authored by Alexander Schrode's avatar Alexander Schrode Committed by oroulet

update schema to v1_05

parent ae1ec34e
...@@ -3,16 +3,16 @@ ...@@ -3,16 +3,16 @@
Autogenerated code from xml" Autogenerated code from xml"
Model Uri:http://opcfoundation.org/UA/" Model Uri:http://opcfoundation.org/UA/"
Version:1.04.10" Version:1.05.01"
Publication date:2021-09-15T00:00:00Z" Publication date:2022-02-24T00:00:00Z"
File creation Date:2022-08-18 16:12:45.602922" File creation Date:2022-09-22 16:18:40.843698"
""" """
from asyncua import ua from asyncua import ua
from .events import Event from .events import Event
__all__ = ["BaseEvent", "AuditEvent", "AuditSecurityEvent", "AuditChannelEvent", "AuditOpenSecureChannelEvent", "AuditSessionEvent", "AuditCreateSessionEvent", "AuditActivateSessionEvent", "AuditCancelEvent", "AuditCertificateEvent", "AuditCertificateDataMismatchEvent", "AuditCertificateExpiredEvent", "AuditCertificateInvalidEvent", "AuditCertificateUntrustedEvent", "AuditCertificateRevokedEvent", "AuditCertificateMismatchEvent", "AuditNodeManagementEvent", "AuditAddNodesEvent", "AuditDeleteNodesEvent", "AuditAddReferencesEvent", "AuditDeleteReferencesEvent", "AuditUpdateEvent", "AuditWriteUpdateEvent", "AuditHistoryUpdateEvent", "AuditUpdateMethodEvent", "SystemEvent", "DeviceFailureEvent", "BaseModelChangeEvent", "GeneralModelChangeEvent", "TransitionEvent", "AuditUpdateStateEvent", "ProgramTransitionEvent", "SemanticChangeEvent", "AuditUrlMismatchEvent", "Condition", "RefreshStartEvent", "RefreshEndEvent", "RefreshRequiredEvent", "AuditConditionEvent", "AuditConditionEnableEvent", "AuditConditionCommentEvent", "DialogCondition", "AcknowledgeableCondition", "AlarmCondition", "LimitAlarm", "AuditHistoryEventUpdateEvent", "AuditHistoryValueUpdateEvent", "AuditHistoryDeleteEvent", "AuditHistoryRawModifyDeleteEvent", "AuditHistoryAtTimeDeleteEvent", "AuditHistoryEventDeleteEvent", "EventQueueOverflowEvent", "ProgramTransitionAuditEvent", "AuditConditionRespondEvent", "AuditConditionAcknowledgeEvent", "AuditConditionConfirmEvent", "ExclusiveLimitAlarm", "ExclusiveLevelAlarm", "ExclusiveRateOfChangeAlarm", "ExclusiveDeviationAlarm", "NonExclusiveLimitAlarm", "NonExclusiveLevelAlarm", "NonExclusiveRateOfChangeAlarm", "NonExclusiveDeviationAlarm", "DiscreteAlarm", "OffNormalAlarm", "TripAlarm", "AuditConditionShelvingEvent", "ProgressEvent", "SystemStatusChangeEvent", "SystemOffNormalAlarm", "AuditProgramTransitionEvent", "TrustListUpdatedAuditEvent", "CertificateUpdatedAuditEvent", "CertificateExpirationAlarm", "AuditConditionResetEvent", "PubSubStatusEvent", "PubSubTransportLimitsExceedEvent", "PubSubCommunicationFailureEvent", "DiscrepancyAlarm", "AuditConditionSuppressionEvent", "AuditConditionSilenceEvent", "AuditConditionOutOfServiceEvent", "RoleMappingRuleChangedAuditEvent", "KeyCredentialAuditEvent", "KeyCredentialUpdatedAuditEvent", "KeyCredentialDeletedAuditEvent", "InstrumentDiagnosticAlarm", "SystemDiagnosticAlarm", "AuditHistoryAnnotationUpdateEvent", "TrustListOutOfDateAlarm"] __all__ = ["BaseEvent", "AuditEvent", "AuditSecurityEvent", "AuditChannelEvent", "AuditOpenSecureChannelEvent", "AuditSessionEvent", "AuditCreateSessionEvent", "AuditActivateSessionEvent", "AuditCancelEvent", "AuditCertificateEvent", "AuditCertificateDataMismatchEvent", "AuditCertificateExpiredEvent", "AuditCertificateInvalidEvent", "AuditCertificateUntrustedEvent", "AuditCertificateRevokedEvent", "AuditCertificateMismatchEvent", "AuditNodeManagementEvent", "AuditAddNodesEvent", "AuditDeleteNodesEvent", "AuditAddReferencesEvent", "AuditDeleteReferencesEvent", "AuditUpdateEvent", "AuditWriteUpdateEvent", "AuditHistoryUpdateEvent", "AuditUpdateMethodEvent", "SystemEvent", "DeviceFailureEvent", "BaseModelChangeEvent", "GeneralModelChangeEvent", "TransitionEvent", "AuditUpdateStateEvent", "ProgramTransitionEvent", "SemanticChangeEvent", "AuditUrlMismatchEvent", "Condition", "RefreshStartEvent", "RefreshEndEvent", "RefreshRequiredEvent", "AuditConditionEvent", "AuditConditionEnableEvent", "AuditConditionCommentEvent", "DialogCondition", "AcknowledgeableCondition", "AlarmCondition", "LimitAlarm", "AuditHistoryEventUpdateEvent", "AuditHistoryValueUpdateEvent", "AuditHistoryDeleteEvent", "AuditHistoryRawModifyDeleteEvent", "AuditHistoryAtTimeDeleteEvent", "AuditHistoryEventDeleteEvent", "EventQueueOverflowEvent", "ProgramTransitionAuditEvent", "AuditConditionRespondEvent", "AuditConditionAcknowledgeEvent", "AuditConditionConfirmEvent", "ExclusiveLimitAlarm", "ExclusiveLevelAlarm", "ExclusiveRateOfChangeAlarm", "ExclusiveDeviationAlarm", "NonExclusiveLimitAlarm", "NonExclusiveLevelAlarm", "NonExclusiveRateOfChangeAlarm", "NonExclusiveDeviationAlarm", "DiscreteAlarm", "OffNormalAlarm", "TripAlarm", "AuditConditionShelvingEvent", "ProgressEvent", "SystemStatusChangeEvent", "SystemOffNormalAlarm", "AuditProgramTransitionEvent", "TrustListUpdatedAuditEvent", "CertificateUpdatedAuditEvent", "CertificateExpirationAlarm", "AuditConditionResetEvent", "PubSubStatusEvent", "PubSubTransportLimitsExceedEvent", "PubSubCommunicationFailureEvent", "DiscrepancyAlarm", "AuditConditionSuppressionEvent", "AuditConditionSilenceEvent", "AuditConditionOutOfServiceEvent", "RoleMappingRuleChangedAuditEvent", "KeyCredentialAuditEvent", "KeyCredentialUpdatedAuditEvent", "KeyCredentialDeletedAuditEvent", "InstrumentDiagnosticAlarm", "SystemDiagnosticAlarm", "AuditHistoryAnnotationUpdateEvent", "TrustListOutOfDateAlarm", "AuditClientEvent", "AuditClientUpdateMethodResultEvent"]
...@@ -80,6 +80,7 @@ class AuditOpenSecureChannelEvent(AuditChannelEvent): ...@@ -80,6 +80,7 @@ class AuditOpenSecureChannelEvent(AuditChannelEvent):
self.add_property('SecurityPolicyUri', None, ua.VariantType.String) self.add_property('SecurityPolicyUri', None, ua.VariantType.String)
self.add_property('SecurityMode', None, ua.NodeId(ua.ObjectIds.MessageSecurityMode)) self.add_property('SecurityMode', None, ua.NodeId(ua.ObjectIds.MessageSecurityMode))
self.add_property('RequestedLifetime', None, ua.NodeId(ua.ObjectIds.Duration)) self.add_property('RequestedLifetime', None, ua.NodeId(ua.ObjectIds.Duration))
self.add_property('CertificateErrorEventId', None, ua.VariantType.String)
class AuditSessionEvent(AuditSecurityEvent): class AuditSessionEvent(AuditSecurityEvent):
...@@ -570,6 +571,14 @@ class LimitAlarm(AlarmCondition): ...@@ -570,6 +571,14 @@ class LimitAlarm(AlarmCondition):
self.add_property('BaseHighLimit', None, ua.VariantType.Double) self.add_property('BaseHighLimit', None, ua.VariantType.Double)
self.add_property('BaseLowLimit', None, ua.VariantType.Double) self.add_property('BaseLowLimit', None, ua.VariantType.Double)
self.add_property('BaseLowLowLimit', None, ua.VariantType.Double) self.add_property('BaseLowLowLimit', None, ua.VariantType.Double)
self.add_property('SeverityHighHigh', None, ua.VariantType.UInt16)
self.add_property('SeverityHigh', None, ua.VariantType.UInt16)
self.add_property('SeverityLow', None, ua.VariantType.UInt16)
self.add_property('SeverityLowLow', None, ua.VariantType.UInt16)
self.add_property('HighHighDeadband', None, ua.VariantType.Double)
self.add_property('HighDeadband', None, ua.VariantType.Double)
self.add_property('LowDeadband', None, ua.VariantType.Double)
self.add_property('LowLowDeadband', None, ua.VariantType.Double)
class AuditHistoryEventUpdateEvent(AuditHistoryUpdateEvent): class AuditHistoryEventUpdateEvent(AuditHistoryUpdateEvent):
...@@ -1025,6 +1034,7 @@ class KeyCredentialDeletedAuditEvent(KeyCredentialAuditEvent): ...@@ -1025,6 +1034,7 @@ class KeyCredentialDeletedAuditEvent(KeyCredentialAuditEvent):
def __init__(self, sourcenode=None, message=None, severity=1): def __init__(self, sourcenode=None, message=None, severity=1):
super().__init__(sourcenode, message, severity) super().__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.KeyCredentialDeletedAuditEventType) self.EventType = ua.NodeId(ua.ObjectIds.KeyCredentialDeletedAuditEventType)
self.add_property('ResourceUri', None, ua.VariantType.String)
class InstrumentDiagnosticAlarm(OffNormalAlarm): class InstrumentDiagnosticAlarm(OffNormalAlarm):
...@@ -1069,6 +1079,30 @@ class TrustListOutOfDateAlarm(SystemOffNormalAlarm): ...@@ -1069,6 +1079,30 @@ class TrustListOutOfDateAlarm(SystemOffNormalAlarm):
self.add_property('UpdateFrequency', None, ua.NodeId(ua.ObjectIds.Duration)) self.add_property('UpdateFrequency', None, ua.NodeId(ua.ObjectIds.Duration))
class AuditClientEvent(AuditEvent):
"""
AuditClientEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super().__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditClientEventType)
self.add_property('ServerUri', None, ua.NodeId(ua.ObjectIds.UriString))
class AuditClientUpdateMethodResultEvent(AuditClientEvent):
"""
AuditClientUpdateMethodResultEvent:
"""
def __init__(self, sourcenode=None, message=None, severity=1):
super().__init__(sourcenode, message, severity)
self.EventType = ua.NodeId(ua.ObjectIds.AuditClientUpdateMethodResultEventType)
self.add_property('ObjectId', ua.NodeId(ua.ObjectIds.AuditClientUpdateMethodResultEventType), ua.VariantType.NodeId)
self.add_property('MethodId', ua.NodeId(ua.ObjectIds.AuditClientUpdateMethodResultEventType), ua.VariantType.NodeId)
self.add_property('StatusCodeId', None, ua.VariantType.StatusCode)
self.add_property('InputArguments', None, ua.NodeId(ua.ObjectIds.Argument))
self.add_property('OutputArguments', None, ua.NodeId(ua.ObjectIds.Argument))
IMPLEMENTED_EVENTS = { IMPLEMENTED_EVENTS = {
ua.ObjectIds.BaseEventType: BaseEvent, ua.ObjectIds.BaseEventType: BaseEvent,
ua.ObjectIds.AuditEventType: AuditEvent, ua.ObjectIds.AuditEventType: AuditEvent,
...@@ -1161,4 +1195,6 @@ IMPLEMENTED_EVENTS = { ...@@ -1161,4 +1195,6 @@ IMPLEMENTED_EVENTS = {
ua.ObjectIds.SystemDiagnosticAlarmType: SystemDiagnosticAlarm, ua.ObjectIds.SystemDiagnosticAlarmType: SystemDiagnosticAlarm,
ua.ObjectIds.AuditHistoryAnnotationUpdateEventType: AuditHistoryAnnotationUpdateEvent, ua.ObjectIds.AuditHistoryAnnotationUpdateEventType: AuditHistoryAnnotationUpdateEvent,
ua.ObjectIds.TrustListOutOfDateAlarmType: TrustListOutOfDateAlarm, ua.ObjectIds.TrustListOutOfDateAlarmType: TrustListOutOfDateAlarm,
ua.ObjectIds.AuditClientEventType: AuditClientEvent,
ua.ObjectIds.AuditClientUpdateMethodResultEventType: AuditClientUpdateMethodResultEvent,
} }
#AUTOGENERATED!!! Date: 2022-04-30 13:47:35.208760 #AUTOGENERATED!!! Date: 2022-09-22 16:18:39.122902
from enum import IntEnum from enum import IntEnum
......
This source diff could not be displayed because it is too large. You can view the blob instead.
#AUTOGENERATED!!! Date: 2022-04-30 13:47:54.280842 #AUTOGENERATED!!! Date: 2022-09-22 16:18:40.855698
from asyncua.ua.uaerrors import UaStatusCodeError from asyncua.ua.uaerrors import UaStatusCodeError
...@@ -264,6 +264,7 @@ class StatusCodes: ...@@ -264,6 +264,7 @@ class StatusCodes:
GoodFaultStateActive = 0x04070000 GoodFaultStateActive = 0x04070000
GoodInitiateFaultState = 0x04080000 GoodInitiateFaultState = 0x04080000
GoodCascade = 0x04090000 GoodCascade = 0x04090000
BadDataSetIdInvalid = 0x80E70000
code_to_name_doc = { code_to_name_doc = {
...@@ -286,7 +287,7 @@ code_to_name_doc = { ...@@ -286,7 +287,7 @@ code_to_name_doc = {
0x800C0000: ('BadShutdown', '"The operation was cancelled because the application is shutting down."'), 0x800C0000: ('BadShutdown', '"The operation was cancelled because the application is shutting down."'),
0x800D0000: ('BadServerNotConnected', '"The operation could not complete because the client is not connected to the server."'), 0x800D0000: ('BadServerNotConnected', '"The operation could not complete because the client is not connected to the server."'),
0x800E0000: ('BadServerHalted', '"The server has stopped and cannot process any requests."'), 0x800E0000: ('BadServerHalted', '"The server has stopped and cannot process any requests."'),
0x800F0000: ('BadNothingToDo', '"There was nothing to do because the client passed a list of operations with no elements."'), 0x800F0000: ('BadNothingToDo', '"No processing could be done because there was nothing to do."'),
0x80100000: ('BadTooManyOperations', '"The request could not be processed because it specified too many operations."'), 0x80100000: ('BadTooManyOperations', '"The request could not be processed because it specified too many operations."'),
0x80DB0000: ('BadTooManyMonitoredItems', '"The request could not be processed because there are too many monitored items in the subscription."'), 0x80DB0000: ('BadTooManyMonitoredItems', '"The request could not be processed because there are too many monitored items in the subscription."'),
0x80110000: ('BadDataTypeIdUnknown', '"The extension object cannot be (de)serialized because the data type id is not recognized."'), 0x80110000: ('BadDataTypeIdUnknown', '"The extension object cannot be (de)serialized because the data type id is not recognized."'),
...@@ -528,6 +529,7 @@ code_to_name_doc = { ...@@ -528,6 +529,7 @@ code_to_name_doc = {
0x04070000: ('GoodFaultStateActive', '"There is a fault state condition active in the value source."'), 0x04070000: ('GoodFaultStateActive', '"There is a fault state condition active in the value source."'),
0x04080000: ('GoodInitiateFaultState', '"A fault state condition is being requested of the destination."'), 0x04080000: ('GoodInitiateFaultState', '"A fault state condition is being requested of the destination."'),
0x04090000: ('GoodCascade', '"The value is accurate, and the signal source supports cascade handshaking."'), 0x04090000: ('GoodCascade', '"The value is accurate, and the signal source supports cascade handshaking."'),
0x80E70000: ('BadDataSetIdInvalid', '"The DataSet specified for the DataSetWriter creation is invalid."'),
} }
......
#AUTOGENERATED!!! Date: 2022-04-30 13:47:58.131870 #AUTOGENERATED!!! Date: 2022-09-22 16:18:40.859695
from asyncua.ua.uaerrors import UaStatusCodeError from asyncua.ua.uaerrors import UaStatusCodeError
...@@ -855,3 +855,7 @@ class BadMaxConnectionsReached(UaStatusCodeError): ...@@ -855,3 +855,7 @@ class BadMaxConnectionsReached(UaStatusCodeError):
code = 0x80B70000 code = 0x80B70000
class BadDataSetIdInvalid(UaStatusCodeError):
code = 0x80E70000
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -145,12 +145,12 @@ class CodeGenerator: ...@@ -145,12 +145,12 @@ class CodeGenerator:
for field in obj.fields: for field in obj.fields:
typestring = field.data_type typestring = field.data_type
if field.allow_subtypes and typestring != 'ExtensionObject':
typestring = f"Type[{typestring}]"
if field.is_array(): if field.is_array():
typestring = f"List[{typestring}]" typestring = f"List[{typestring}]"
if field.is_optional: if field.is_optional:
typestring = f"Optional[{typestring}]" typestring = f"Optional[{typestring}]"
if field.allow_subtypes:
typestring = f"Type[{typestring}]"
if field.name == field.data_type: if field.name == field.data_type:
# variable name and type name are the same. Dataclass do not like it # variable name and type name are the same. Dataclass do not like it
hack_names.append(field.name) hack_names.append(field.name)
......
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