Commit 8cd54934 authored by Olivier's avatar Olivier

update address space to 1.05.03

parent 445f256f
This diff is collapsed.
......@@ -674,6 +674,8 @@ class SyncNode:
self.tloop = tloop
def __eq__(self, other):
if not isinstance(other, SyncNode):
return False
return other is not None and self.aio_obj == other.aio_obj
def __ne__(self, other):
......
# AUTOGENERATED!!! Date: 2022-09-22 16:18:39.122902
# AUTOGENERATED!!! Date: 2024-04-25 09:57:44.229792
from enum import IntEnum
......
This diff is collapsed.
# AUTOGENERATED!!! Date: 2023-09-01 13:13:28.813732
# AUTOGENERATED!!! Date: 2024-04-25 09:57:44.890009
from typing import Dict, Tuple
......@@ -60,6 +60,8 @@ class StatusCodes:
BadLicenseExpired = 0x810E0000
BadLicenseLimitsExceeded = 0x810F0000
BadLicenseNotAvailable = 0x81100000
BadServerTooBusy = 0x80EE0000
GoodPasswordChangeRequired = 0x00EF0000
GoodSubscriptionTransferred = 0x002D0000
GoodCompletesAsynchronously = 0x002E0000
GoodOverload = 0x002F0000
......@@ -71,6 +73,7 @@ class StatusCodes:
BadAttributeIdInvalid = 0x80350000
BadIndexRangeInvalid = 0x80360000
BadIndexRangeNoData = 0x80370000
BadIndexRangeDataMismatch = 0x80EA0000
BadDataEncodingInvalid = 0x80380000
BadDataEncodingUnsupported = 0x80390000
BadNotReadable = 0x803A0000
......@@ -100,6 +103,8 @@ class StatusCodes:
BadBrowseDirectionInvalid = 0x804D0000
BadNodeNotInView = 0x804E0000
BadNumericOverflow = 0x81120000
BadLocaleNotSupported = 0x80ED0000
BadNoValue = 0x80F00000
BadServerUriInvalid = 0x804F0000
BadServerNameMissing = 0x80500000
BadDiscoveryUrlMissing = 0x80510000
......@@ -187,6 +192,7 @@ class StatusCodes:
UncertainEngineeringUnitsExceeded = 0x40940000
UncertainSubNormal = 0x40950000
GoodLocalOverride = 0x00960000
GoodSubNormal = 0x00EB0000
BadRefreshInProgress = 0x80970000
BadConditionAlreadyDisabled = 0x80980000
BadConditionAlreadyEnabled = 0x80CC0000
......@@ -224,6 +230,7 @@ class StatusCodes:
BadTicketRequired = 0x811F0000
BadTicketInvalid = 0x81200000
BadLocked = 0x80E90000
BadRequiresLock = 0x80EC0000
GoodEdited = 0x00DC0000
GoodPostActionFailed = 0x00DD0000
UncertainDominantValueChanged = 0x40DE0000
......@@ -284,7 +291,7 @@ code_to_name_doc: Dict[int, Tuple[str, str]] = {
0x80070000: ('BadDecodingError', 'Decoding halted because of invalid data in the stream.'),
0x80080000: ('BadEncodingLimitsExceeded', 'The message encoding/decoding limits imposed by the stack have been exceeded.'),
0x80B80000: ('BadRequestTooLarge', 'The request message size exceeds limits set by the server.'),
0x80B90000: ('BadResponseTooLarge', 'The response message size exceeds limits set by the client.'),
0x80B90000: ('BadResponseTooLarge', 'The response message size exceeds limits set by the client or server.'),
0x80090000: ('BadUnknownResponse', 'An unrecognized response was received from the server.'),
0x800A0000: ('BadTimeout', 'The operation timed out.'),
0x800B0000: ('BadServiceUnsupported', 'The server does not support the requested service.'),
......@@ -327,17 +334,20 @@ code_to_name_doc: Dict[int, Tuple[str, str]] = {
0x810E0000: ('BadLicenseExpired', 'The server requires a license to operate in general or to perform a service or operation, but existing license is expired.'),
0x810F0000: ('BadLicenseLimitsExceeded', 'The server has limits on number of allowed operations / objects, based on installed licenses, and these limits where exceeded.'),
0x81100000: ('BadLicenseNotAvailable', 'The server does not have a license which is required to operate in general or to perform a service or operation.'),
0x80EE0000: ('BadServerTooBusy', 'The Server does not have the resources to process the request at this time.'),
0x00EF0000: ('GoodPasswordChangeRequired', 'The log-on for the user succeeded but the user is required to change the password.'),
0x002D0000: ('GoodSubscriptionTransferred', 'The subscription was transferred to another session.'),
0x002E0000: ('GoodCompletesAsynchronously', 'The processing will complete asynchronously.'),
0x002F0000: ('GoodOverload', 'Sampling has slowed down due to resource limitations.'),
0x00300000: ('GoodClamped', 'The value written was accepted but was clamped.'),
0x80310000: ('BadNoCommunication', 'Communication with the data source is defined, but not established, and there is no last known value available.'),
0x80320000: ('BadWaitingForInitialData', 'Waiting for the server to obtain values from the underlying data source.'),
0x80330000: ('BadNodeIdInvalid', 'The syntax of the node id is not valid.'),
0x80330000: ('BadNodeIdInvalid', 'The syntax the node id is not valid or refers to a node that is not valid for the operation.'),
0x80340000: ('BadNodeIdUnknown', 'The node id refers to a node that does not exist in the server address space.'),
0x80350000: ('BadAttributeIdInvalid', 'The attribute is not supported for the specified Node.'),
0x80360000: ('BadIndexRangeInvalid', 'The syntax of the index range parameter is invalid.'),
0x80370000: ('BadIndexRangeNoData', 'No data exists within the range of indexes specified.'),
0x80EA0000: ('BadIndexRangeDataMismatch', 'The written data does not match the IndexRange specified.'),
0x80380000: ('BadDataEncodingInvalid', 'The data encoding is invalid.'),
0x80390000: ('BadDataEncodingUnsupported', 'The server does not support the requested data encoding for the node.'),
0x803A0000: ('BadNotReadable', 'The access level does not allow reading or subscribing to the Node.'),
......@@ -367,6 +377,8 @@ code_to_name_doc: Dict[int, Tuple[str, str]] = {
0x804D0000: ('BadBrowseDirectionInvalid', 'The browse direction is not valid.'),
0x804E0000: ('BadNodeNotInView', 'The node is not part of the view.'),
0x81120000: ('BadNumericOverflow', 'The number was not accepted because of a numeric overflow.'),
0x80ED0000: ('BadLocaleNotSupported', 'The locale in the requested write operation is not supported.'),
0x80F00000: ('BadNoValue', 'The variable has no default value and no initial value.'),
0x804F0000: ('BadServerUriInvalid', 'The ServerUri is not a valid URI.'),
0x80500000: ('BadServerNameMissing', 'No ServerName was specified.'),
0x80510000: ('BadDiscoveryUrlMissing', 'No DiscoveryUrl was specified.'),
......@@ -452,8 +464,9 @@ code_to_name_doc: Dict[int, Tuple[str, str]] = {
0x40920000: ('UncertainInitialValue', 'The value is an initial value for a variable that normally receives its value from another variable.'),
0x40930000: ('UncertainSensorNotAccurate', 'The value is at one of the sensor limits.'),
0x40940000: ('UncertainEngineeringUnitsExceeded', 'The value is outside of the range of values defined for this parameter.'),
0x40950000: ('UncertainSubNormal', 'The value is derived from multiple sources and has less than the required number of Good sources.'),
0x40950000: ('UncertainSubNormal', 'The data value is derived from multiple sources and has less than the required number of Good sources.'),
0x00960000: ('GoodLocalOverride', 'The value has been overridden.'),
0x00EB0000: ('GoodSubNormal', 'The value is derived from multiple sources and has the required number of Good sources, but less than the full number of Good sources.'),
0x80970000: ('BadRefreshInProgress', 'This Condition refresh failed, a Condition refresh operation is already in progress.'),
0x80980000: ('BadConditionAlreadyDisabled', 'This condition has already been disabled.'),
0x80CC0000: ('BadConditionAlreadyEnabled', 'This condition has already been enabled.'),
......@@ -474,10 +487,10 @@ code_to_name_doc: Dict[int, Tuple[str, str]] = {
0x809E0000: ('BadDataUnavailable', 'Expected data is unavailable for the requested time range due to an un-mounted volume, an off-line archive or tape, or similar reason for temporary unavailability.'),
0x809F0000: ('BadEntryExists', 'The data or event was not successfully inserted because a matching entry exists.'),
0x80A00000: ('BadNoEntryExists', 'The data or event was not successfully updated because no matching entry exists.'),
0x80A10000: ('BadTimestampNotSupported', 'The client requested history using a timestamp format the server does not support (i.e requested ServerTimestamp when server only supports SourceTimestamp).'),
0x80A10000: ('BadTimestampNotSupported', 'The Client requested history using a TimestampsToReturn the Server does not support.'),
0x00A20000: ('GoodEntryInserted', 'The data or event was successfully inserted into the historical database.'),
0x00A30000: ('GoodEntryReplaced', 'The data or event field was successfully replaced in the historical database.'),
0x40A40000: ('UncertainDataSubNormal', 'The value is derived from multiple values and has less than the required number of Good values.'),
0x40A40000: ('UncertainDataSubNormal', 'The aggregate value is derived from multiple values and has less than the required number of Good values.'),
0x00A50000: ('GoodNoData', 'No data exists for the requested time range or event filter.'),
0x00A60000: ('GoodMoreData', 'More data is available in the time range beyond the number of values requested.'),
0x80D40000: ('BadAggregateListMismatch', 'The requested number of Aggregates does not match the requested number of NodeIds.'),
......@@ -491,6 +504,7 @@ code_to_name_doc: Dict[int, Tuple[str, str]] = {
0x811F0000: ('BadTicketRequired', 'The device identity needs a ticket before it can be accepted.'),
0x81200000: ('BadTicketInvalid', 'The device identity needs a ticket before it can be accepted.'),
0x80E90000: ('BadLocked', 'The requested operation is not allowed, because the Node is locked by a different application.'),
0x80EC0000: ('BadRequiresLock', 'The requested operation is not allowed, because the Node is not locked by the application.'),
0x00DC0000: ('GoodEdited', 'The value does not come from the real source and has been edited by the server.'),
0x00DD0000: ('GoodPostActionFailed', 'There was an error in execution of these post-actions.'),
0x40DE0000: ('UncertainDominantValueChanged', 'The related EngineeringUnit has been changed but the Variable Value is still provided based on the previous unit.'),
......
# AUTOGENERATED!!! Date: 2022-09-22 16:18:40.859695
#AUTOGENERATED!!! Date: 2024-04-25 09:57:44.892146
from asyncua.ua.uaerrors import UaStatusCodeError
......@@ -215,6 +215,10 @@ class BadLicenseNotAvailable(UaStatusCodeError):
code = 0x81100000
class BadServerTooBusy(UaStatusCodeError):
code = 0x80EE0000
class BadNoCommunication(UaStatusCodeError):
code = 0x80310000
......@@ -243,6 +247,10 @@ class BadIndexRangeNoData(UaStatusCodeError):
code = 0x80370000
class BadIndexRangeDataMismatch(UaStatusCodeError):
code = 0x80EA0000
class BadDataEncodingInvalid(UaStatusCodeError):
code = 0x80380000
......@@ -359,6 +367,14 @@ class BadNumericOverflow(UaStatusCodeError):
code = 0x81120000
class BadLocaleNotSupported(UaStatusCodeError):
code = 0x80ED0000
class BadNoValue(UaStatusCodeError):
code = 0x80F00000
class BadServerUriInvalid(UaStatusCodeError):
code = 0x804F0000
......@@ -763,6 +779,10 @@ class BadRequestNotComplete(UaStatusCodeError):
code = 0x81130000
class BadTransactionPending(UaStatusCodeError):
code = 0x80E80000
class BadTicketRequired(UaStatusCodeError):
code = 0x811F0000
......@@ -771,6 +791,14 @@ class BadTicketInvalid(UaStatusCodeError):
code = 0x81200000
class BadLocked(UaStatusCodeError):
code = 0x80E90000
class BadRequiresLock(UaStatusCodeError):
code = 0x80EC0000
class BadDominantValueChanged(UaStatusCodeError):
code = 0x80E10000
......
This diff is collapsed.
......@@ -97,9 +97,11 @@ def test_sync_client_get_node(client, idx):
node = client.get_node(85)
assert node == client.nodes.objects
nodes = node.get_children()
assert len(nodes) > 2
assert nodes[0] == client.nodes.server
assert isinstance(nodes[0], SyncNode)
assert len(nodes) > 2
child = node.get_child(["0:Server"])
assert child == client.nodes.server
results = node.get_children_by_path([[f"{idx}:MyObject", f"{idx}:MyVariable"]])
assert len(results) == 1
......@@ -177,9 +179,11 @@ def test_sync_server_get_node(server, idx):
assert node == server.nodes.objects
nodes = node.get_children()
assert len(nodes) > 2
assert nodes[0] == server.nodes.server
assert isinstance(nodes[0], SyncNode)
child = node.get_child(["0:Server"])
assert child == server.nodes.server
results = node.get_children_by_path([[f"{idx}:MyObject", f"{idx}:MyVariable"]])
assert len(results) == 1
vars = results[0]
......
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