class documentation

class BaseRemoteComponent(RemoteUaObject['BaseRemoteComponent'], UaDataChangeSubscriber, UaEventSubscriber):

Known subclasses: client.remote_component.RemoteComponent

Constructor: BaseRemoteComponent(name, ua_node, parent, server, ...)

View In Hierarchy

The remote interface for a server-side BaseMachineryItem.

Method __init__ Cooperative constructor.
Method name.setter Undocumented
Async Method read_current_state Read the current state of the remote component.
Async Method read_monitoring Read all parameter set variables.
Async Method read_parameters Read all parameter set variables.
Async Method ua_on_data_change Undocumented
Async Method ua_on_event Handle "message" event notifications.
Async Method write_parameters Write given parameter set variables.
Instance Variable attributes Undocumented
Instance Variable components Undocumented
Instance Variable feasibility_check_set Undocumented
Instance Variable identification Undocumented
Instance Variable method_set Undocumented
Instance Variable monitoring Undocumented
Instance Variable notification_received Undocumented
Instance Variable parameter_set Undocumented
Instance Variable precondition_check_set Undocumented
Instance Variable resources Undocumented
Instance Variable skill_set Undocumented
Instance Variable status_changed Callback when the current state or its status changed.
Property current_state (Cached) Current state of the remote component (may not be up-to-date due to subscription delay).
Property current_state_sample (Cached) Current state with its status and timestamps.
Property name Return the name of the remote module.
Property type Return human-readable component type (mainly for UI purposes).
Async Method _browse_component Browse a single component in given ua_node with name.
Async Method _browse_components Browse all components in given ua_node.
Async Method _browse_lock Browse a single lock in given ua_node.
Async Method _browse_machinery_building_blocks Undocumented
Async Method _browse_method Browse a single method in given ua_node with name.
Async Method _browse_methods Browse all methods in given ua_node.
Async Method _browse_resource Browse a single resource in given ua_node with name.
Async Method _browse_resources Browse all resources in given ua_node.
Async Method _browse_skill Undocumented
Async Method _browse_skill_set Browse all skills in given ua_node.
Async Method _init Set up all subscriptions for all subcomponents and itself.
Async Method _init_machinery_building_blocks_handle_node Handle child node found during browsing our machinery building blocks OPC UA node.
Async Method _setup_notification Undocumented
Class Variable _ua_components Undocumented
Class Variable _ua_state_machine_node Undocumented
Instance Variable _current_state Undocumented
Instance Variable _lock Undocumented
Instance Variable _name Undocumented
Instance Variable _ua_current_state Undocumented
Instance Variable _ua_skill_set_node Undocumented
def __init__(self, *, name: str | ua.LocalizedText, ua_node: Node, parent: BaseRemoteComponent, server: RemoteServer, browse_rules: Iterable[BrowseRule] | None, ua_type: str | None = None, **kwargs):

Cooperative constructor.

def name(self, value: str | ua.LocalizedText):

Undocumented

async def read_current_state(self) -> MachineryItemState | None:

Read the current state of the remote component.

Is None when the component has no OPC UA CurrentState node (e.g. resources), or the server reports an empty state (yet).

Raises
UnknownStateErrorif the server reports a state not matching any MachineryItemState.
@deprecated('Please use monitoring.read_all() instead.')
async def read_monitoring(self) -> Mapping[str, Any]:

Read all parameter set variables.

@deprecated('Please use parameter_set.read_all() instead.')
async def read_parameters(self) -> Mapping[str, Any]:

Read all parameter set variables.

@override
async def ua_on_data_change(self, node: Node, val: Any, data: DataChangeNotif):

Undocumented

@override
async def ua_on_event(self, ua_event: UaEvent):

Handle "message" event notifications.

@deprecated('Please use parameter_set.write_all() instead.')
async def write_parameters(self, parameters: Mapping[str, Any]):

Write given parameter set variables.

attributes =

Undocumented

components: dict[str, RemoteComponent] =

Undocumented

feasibility_check_set: dict[str, RemoteSkill] =

Undocumented

identification =

Undocumented

method_set: dict[str, RemoteMethod] =

Undocumented

monitoring =

Undocumented

notification_received =

Undocumented

parameter_set =

Undocumented

precondition_check_set: dict[str, RemoteSkill] =

Undocumented

resources: dict[str, RemoteResource] =

Undocumented

skill_set: dict[str, RemoteSkill] =

Undocumented

status_changed =

Callback when the current state or its status changed.

@property
current_state: MachineryItemState | None =

(Cached) Current state of the remote component (may not be up-to-date due to subscription delay).

Is None when the component has no OPC UA CurrentState node (e.g. resources), the server has not reported a state yet, or reports a bad status (see current_state_sample). Empty or unknown state values are ignored, keeping the last valid state.

@property
current_state_sample: Sample[MachineryItemState] | None =

(Cached) Current state with its status and timestamps.

Is None when the component has no OPC UA CurrentState node (e.g. resources). Has the status BadWaitingForInitialData until the server reported a state.

@property
name: str =

Return the name of the remote module.

@property
type: str =

Return human-readable component type (mainly for UI purposes).

async def _browse_component(self, ua_node: Node, *, name: str):

Browse a single component in given ua_node with name.

async def _browse_components(self, ua_node: Node):

Browse all components in given ua_node.

async def _browse_lock(self, ua_node: Node):

Browse a single lock in given ua_node.

async def _browse_machinery_building_blocks(self, ua_node: Node, evaluated_browse_features: BrowseFeature):

Undocumented

async def _browse_method(self, ua_node: Node, *, name: str):

Browse a single method in given ua_node with name.

async def _browse_methods(self, ua_node: Node):

Browse all methods in given ua_node.

async def _browse_resource(self, ua_node: Node, *, name: str):

Browse a single resource in given ua_node with name.

async def _browse_resources(self, ua_node: Node):

Browse all resources in given ua_node.

async def _browse_skill(self, ua_node: Node, name: str):

Undocumented

async def _browse_skill_set(self, ua_node: Node):

Browse all skills in given ua_node.

@override
async def _init(self):

Set up all subscriptions for all subcomponents and itself.

async def _init_machinery_building_blocks_handle_node(self, ua_node: Node, browse_name: ua.QualifiedName, evaluated_browse_features: BrowseFeature) -> bool:

Handle child node found during browsing our machinery building blocks OPC UA node.

Returns
boolTrue if handled, False otherwise.
async def _setup_notification(self, ua_node: Node):

Undocumented

_ua_components: Node =

Undocumented

_ua_state_machine_node: Node =

Undocumented

_current_state =

Undocumented

_lock: RemoteLock | None =

Undocumented

_name =

Undocumented

_ua_current_state: Node | None =

Undocumented

_ua_skill_set_node: Node =

Undocumented