class documentation

Abstract base skill without state machine logic.

For skills with logic in Python, there is FiniteSkillLogicMixin and ContinuousSkillLogicMixin.

Derived classes must implement at least the reset(), start() and halt() methods for a non-suspendable skill. The _condition_skill_ready() method can be overridden in order to add skill specific conditions before the start() method is allowed to be executed by the state machine.

Method __init__ Cooperative Constructor. Create a new skill instance.
Async Method add_feasibility_check Add a feasibility check for this skill.
Async Method add_precondition_check Add a precondition check for this skill.
Async Method _init_check Undocumented
Instance Variable _feasibility_check Undocumented
Instance Variable _precondition_check Undocumented

Inherited from _BaseSkill:

Async Method call_other_continuous_skill Call another continuous skill from this skill.
Async Method call_other_finite_skill Call another finite skill from this skill.
Async Method wait_for_state Undocumented
Property current_state Return the current state of the skill.
Property ua_state_machine Undocumented
Async Method _condition_is_suspendable Undocumented
Async Method _get_sub_node Undocumented
Async Method _halt_running_called_skills Undocumented
Async Method _init Undocumented
Async Method _write_current_state Undocumented
Instance Variable _called_skills Undocumented
Instance Variable _condition Undocumented
Instance Variable _current_state Undocumented
Instance Variable _suspendable Undocumented
Instance Variable _ua_current_state OPC UA node if the state variable of the state machine.
Instance Variable _ua_state_machine OPC UA base node of state machine.
def __init__(self, *, name: str | None = None, suspendable: bool = False, minimum_access_level: int | None = None, parent: UaObject | None = None, **kwargs):

Cooperative Constructor. Create a new skill instance.

Parameters
name:str | Nonename of the skill.
suspendable:boolwhether the skill can be suspended/resumed.
minimum_access_level:int | NoneMinimum required access level to start the skill (see User for more info).
parent:UaObject | NoneUndocumented
**kwargsUndocumented
async def add_feasibility_check(self, check: BaseFeasibilityCheck):

Add a feasibility check for this skill.

async def add_precondition_check(self, check: BasePreconditionCheck):

Add a precondition check for this skill.

async def _init_check(self, check: BaseCheck):

Undocumented

_feasibility_check: BaseFeasibilityCheck | None =

Undocumented

_precondition_check: BasePreconditionCheck | None =

Undocumented