class documentation
class _BaseSkill(BaseCallable, AbstractSkill):
Known subclasses: server.base_skill.BaseCheck, server.base_skill.BaseSkill
Constructor: _BaseSkill(name, suspendable, minimum_access_level, parent, ...)
Undocumented
| Method | __init__ |
Cooperative Constructor. Create a new skill instance. |
| Async Method | call |
Call another continuous skill from this skill. |
| Async Method | call |
Call another finite skill from this skill. |
| Async Method | wait |
Undocumented |
| Property | current |
Return the current state of the skill. |
| Property | ua |
Undocumented |
| Async Method | _condition |
Undocumented |
| Async Method | _get |
Undocumented |
| Async Method | _halt |
Undocumented |
| Async Method | _init |
Undocumented |
| Async Method | _write |
Undocumented |
| Instance Variable | _called |
Undocumented |
| Instance Variable | _condition |
Undocumented |
| Instance Variable | _current |
Undocumented |
| Instance Variable | _suspendable |
Undocumented |
| Instance Variable | _ua |
OPC UA node if the state variable of the state machine. |
| Instance Variable | _ua |
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):
¶
overridden in
server.base_skill.BaseSkillCooperative Constructor. Create a new skill instance.
| Parameters | |
name:str | None | name of the skill. |
suspendable:bool | whether the skill can be suspended/resumed. |
minimumint | None | Minimum required access level to start the skill (see User for more info). |
parent:UaObject | None | Undocumented |
| **kwargs | Undocumented |
async def call_other_continuous_skill(self, skill:
BaseSkill, *, wait_for_running: bool = True, timeout: float | None = 10.0):
¶
Call another continuous skill from this skill.
| Parameters | |
skill:BaseSkill | the continuous skill to call. |
waitbool | should this method block until the timeout is reached or the skill is running? |
timeout:float | None | timeout in seconds, can be disabled by setting it to None. |
| Raises | |
TypeError | if given skill is not continuous. |
asyncio.TimeoutError | if the timeout is reached. |
@asynccontextmanager
async def call_other_finite_skill(self, skill: BaseSkill, *, wait_for_completion: bool = True, timeout: float | None = 60.0, reset_after_completion: bool = True) -> AsyncGenerator:
¶
Call another finite skill from this skill.
| Parameters | |
skill:BaseSkill | the finite skill to call. |
waitbool | should this method block until the timeout is reached or the skill is completed? |
timeout:float | None | timeout in seconds, can be disabled by setting it to None. |
resetbool | should the called skill be reset after completion? |
| Returns | |
AsyncGenerator | Undocumented |
| Raises | |
TypeError | if given skill is not finite. |
asyncio.TimeoutError | if the timeout is reached. |