Home Assistant Unofficial Reference 2024.12.1
homeassistant.helpers.script.Script Class Reference

Public Member Functions

None __init__ (self, HomeAssistant hass, Sequence[dict[str, Any]] sequence, str name, str domain, *Callable[[], Any]|None change_listener=None, bool copy_variables=False, bool log_exceptions=True, logging.Logger|None logger=None, str max_exceeded=DEFAULT_MAX_EXCEEDED, int max_runs=DEFAULT_MAX, str|None running_description=None, str script_mode=DEFAULT_SCRIPT_MODE, bool top_level=True, ScriptVariables|None variables=None)
 
ScriptRunResult|None async_run (self, _VarsType|None run_variables=None, Context|None context=None, Callable[..., Any]|None started_action=None)
 
None async_stop (self, bool update_state=True, _ScriptRun|None spare=None)
 
Callable[..., Any]|None change_listener (self)
 
None change_listener (self, Callable[[], Any] change_listener)
 
bool is_running (self)
 
set[str] referenced_areas (self)
 
set[str] referenced_devices (self)
 
set[str] referenced_entities (self)
 
set[str] referenced_floors (self)
 
set[str] referenced_labels (self)
 
None run (self, _VarsType|None variables=None, Context|None context=None)
 
int runs (self)
 
bool supports_max (self)
 
None update_logger (self, logging.Logger|None logger=None)
 

Public Attributes

 domain
 
 last_action
 
 last_triggered
 
 max_runs
 
 name
 
 running_description
 
 runs
 
 script_mode
 
 sequence
 
 top_level
 
 unique_id
 
 variables
 

Private Member Functions

_ChooseData _async_get_choose_data (self, int step)
 
ConditionCheckerType _async_get_condition (self, ConfigType config)
 
_IfData _async_get_if_data (self, int step)
 
list[Script_async_get_parallel_scripts (self, int step)
 
Script _async_get_sequence_script (self, int step)
 
_ChooseData _async_prep_choose_data (self, int step)
 
_IfData _async_prep_if_data (self, int step)
 
list[Script_async_prep_parallel_scripts (self, int step)
 
Script _async_prep_sequence_script (self, int step)
 
None _async_stop (self, list[asyncio.Task[None]] aws, bool update_state)
 
None _chain_change_listener (self, Script sub_script)
 
None _changed (self)
 
Script _get_repeat_script (self, int step)
 
None _log (self, str msg, *Any args, int level=logging.INFO, **Any kwargs)
 
Script _prep_repeat_script (self, int step)
 
None _set_logger (self, logging.Logger|None logger=None)
 

Static Private Member Functions

None _find_referenced_devices (set[str] referenced, Sequence[dict[str, Any]] sequence)
 
None _find_referenced_entities (set[str] referenced, Sequence[dict[str, Any]] sequence)
 
None _find_referenced_target (Literal["area_id", "floor_id", "label_id"] target, set[str] referenced, Sequence[dict[str, Any]] sequence)
 

Private Attributes

 _change_listener
 
 _change_listener_job
 
 _copy_variables_on_run
 
 _hass
 
 _log_exceptions
 
 _logger
 
 _max_exceeded
 
 _queue_lck
 
 _variables_dynamic
 

Detailed Description

Representation of a script.

Definition at line 1399 of file script.py.

Constructor & Destructor Documentation

◆ __init__()

None homeassistant.helpers.script.Script.__init__ (   self,
HomeAssistant  hass,
Sequence[dict[str, Any]]  sequence,
str  name,
str  domain,
*Callable[[], Any] | None   change_listener = None,
bool   copy_variables = False,
bool   log_exceptions = True,
logging.Logger | None   logger = None,
str   max_exceeded = DEFAULT_MAX_EXCEEDED,
int   max_runs = DEFAULT_MAX,
str | None   running_description = None,
str   script_mode = DEFAULT_SCRIPT_MODE,
bool   top_level = True,
ScriptVariables | None   variables = None 
)
Initialize the script.

Definition at line 1402 of file script.py.

Member Function Documentation

◆ _async_get_choose_data()

_ChooseData homeassistant.helpers.script.Script._async_get_choose_data (   self,
int  step 
)
private

Definition at line 1905 of file script.py.

◆ _async_get_condition()

ConditionCheckerType homeassistant.helpers.script.Script._async_get_condition (   self,
ConfigType  config 
)
private

Definition at line 1828 of file script.py.

◆ _async_get_if_data()

_IfData homeassistant.helpers.script.Script._async_get_if_data (   self,
int  step 
)
private

Definition at line 1957 of file script.py.

◆ _async_get_parallel_scripts()

list[Script] homeassistant.helpers.script.Script._async_get_parallel_scripts (   self,
int  step 
)
private

Definition at line 1988 of file script.py.

◆ _async_get_sequence_script()

Script homeassistant.helpers.script.Script._async_get_sequence_script (   self,
int  step 
)
private
Get a (cached) sequence script.

Definition at line 2016 of file script.py.

◆ _async_prep_choose_data()

_ChooseData homeassistant.helpers.script.Script._async_prep_choose_data (   self,
int  step 
)
private

Definition at line 1858 of file script.py.

◆ _async_prep_if_data()

_IfData homeassistant.helpers.script.Script._async_prep_if_data (   self,
int  step 
)
private
Prepare data for an if statement.

Definition at line 1911 of file script.py.

◆ _async_prep_parallel_scripts()

list[Script] homeassistant.helpers.script.Script._async_prep_parallel_scripts (   self,
int  step 
)
private

Definition at line 1963 of file script.py.

◆ _async_prep_sequence_script()

Script homeassistant.helpers.script.Script._async_prep_sequence_script (   self,
int  step 
)
private
Prepare a sequence script.

Definition at line 1994 of file script.py.

◆ _async_stop()

None homeassistant.helpers.script.Script._async_stop (   self,
list[asyncio.Task[None]]  aws,
bool   update_state 
)
private

Definition at line 1807 of file script.py.

◆ _chain_change_listener()

None homeassistant.helpers.script.Script._chain_change_listener (   self,
Script  sub_script 
)
private

Definition at line 1512 of file script.py.

◆ _changed()

None homeassistant.helpers.script.Script._changed (   self)
private

Definition at line 1507 of file script.py.

◆ _find_referenced_devices()

None homeassistant.helpers.script.Script._find_referenced_devices ( set[str]  referenced,
Sequence[dict[str, Any]]   sequence 
)
staticprivate

Definition at line 1600 of file script.py.

◆ _find_referenced_entities()

None homeassistant.helpers.script.Script._find_referenced_entities ( set[str]  referenced,
Sequence[dict[str, Any]]   sequence 
)
staticprivate

Definition at line 1647 of file script.py.

◆ _find_referenced_target()

None homeassistant.helpers.script.Script._find_referenced_target ( Literal["area_id", "floor_id", "label_id"]  target,
set[str]  referenced,
Sequence[dict[str, Any]]  sequence 
)
staticprivate
Find referenced target in a sequence.

Definition at line 1554 of file script.py.

◆ _get_repeat_script()

Script homeassistant.helpers.script.Script._get_repeat_script (   self,
int  step 
)
private

Definition at line 1852 of file script.py.

◆ _log()

None homeassistant.helpers.script.Script._log (   self,
str  msg,
*Any  args,
int   level = logging.INFO,
**Any   kwargs 
)
private

Definition at line 2023 of file script.py.

◆ _prep_repeat_script()

Script homeassistant.helpers.script.Script._prep_repeat_script (   self,
int  step 
)
private

Definition at line 1835 of file script.py.

◆ _set_logger()

None homeassistant.helpers.script.Script._set_logger (   self,
logging.Logger | None   logger = None 
)
private

Definition at line 1483 of file script.py.

◆ async_run()

ScriptRunResult | None homeassistant.helpers.script.Script.async_run (   self,
_VarsType | None   run_variables = None,
Context | None   context = None,
Callable[..., Any] | None   started_action = None 
)
Run script.

Definition at line 1695 of file script.py.

◆ async_stop()

None homeassistant.helpers.script.Script.async_stop (   self,
bool   update_state = True,
_ScriptRun | None   spare = None 
)
Stop running script.

Definition at line 1814 of file script.py.

◆ change_listener() [1/2]

Callable[..., Any] | None homeassistant.helpers.script.Script.change_listener (   self)
Return the change_listener.

Definition at line 1469 of file script.py.

◆ change_listener() [2/2]

None homeassistant.helpers.script.Script.change_listener (   self,
Callable[[], Any]  change_listener 
)
Update the change_listener.

Definition at line 1474 of file script.py.

◆ is_running()

bool homeassistant.helpers.script.Script.is_running (   self)
Return true if script is on.

Definition at line 1518 of file script.py.

◆ referenced_areas()

set[str] homeassistant.helpers.script.Script.referenced_areas (   self)
Return a set of referenced areas.

Definition at line 1547 of file script.py.

◆ referenced_devices()

set[str] homeassistant.helpers.script.Script.referenced_devices (   self)
Return a set of referenced devices.

Definition at line 1593 of file script.py.

◆ referenced_entities()

set[str] homeassistant.helpers.script.Script.referenced_entities (   self)
Return a set of referenced entities.

Definition at line 1640 of file script.py.

◆ referenced_floors()

set[str] homeassistant.helpers.script.Script.referenced_floors (   self)
Return a set of referenced fooors.

Definition at line 1540 of file script.py.

◆ referenced_labels()

set[str] homeassistant.helpers.script.Script.referenced_labels (   self)
Return a set of referenced labels.

Definition at line 1533 of file script.py.

◆ run()

None homeassistant.helpers.script.Script.run (   self,
_VarsType | None   variables = None,
Context | None   context = None 
)
Run script.

Definition at line 1687 of file script.py.

◆ runs()

int homeassistant.helpers.script.Script.runs (   self)
Return the number of current runs.

Definition at line 1523 of file script.py.

◆ supports_max()

bool homeassistant.helpers.script.Script.supports_max (   self)
Return true if the current mode support max.

Definition at line 1528 of file script.py.

◆ update_logger()

None homeassistant.helpers.script.Script.update_logger (   self,
logging.Logger | None   logger = None 
)
Update logger.

Definition at line 1489 of file script.py.

Member Data Documentation

◆ _change_listener

homeassistant.helpers.script.Script._change_listener
private

Definition at line 1441 of file script.py.

◆ _change_listener_job

homeassistant.helpers.script.Script._change_listener_job
private

Definition at line 1442 of file script.py.

◆ _copy_variables_on_run

homeassistant.helpers.script.Script._copy_variables_on_run
private

Definition at line 1466 of file script.py.

◆ _hass

homeassistant.helpers.script.Script._hass
private

Definition at line 1435 of file script.py.

◆ _log_exceptions

homeassistant.helpers.script.Script._log_exceptions
private

Definition at line 1448 of file script.py.

◆ _logger

homeassistant.helpers.script.Script._logger
private

Definition at line 1485 of file script.py.

◆ _max_exceeded

homeassistant.helpers.script.Script._max_exceeded
private

Definition at line 1455 of file script.py.

◆ _queue_lck

homeassistant.helpers.script.Script._queue_lck
private

Definition at line 1457 of file script.py.

◆ _variables_dynamic

homeassistant.helpers.script.Script._variables_dynamic
private

Definition at line 1465 of file script.py.

◆ domain

homeassistant.helpers.script.Script.domain

Definition at line 1439 of file script.py.

◆ last_action

homeassistant.helpers.script.Script.last_action

Definition at line 1514 of file script.py.

◆ last_triggered

homeassistant.helpers.script.Script.last_triggered

Definition at line 1797 of file script.py.

◆ max_runs

homeassistant.helpers.script.Script.max_runs

Definition at line 1454 of file script.py.

◆ name

homeassistant.helpers.script.Script.name

Definition at line 1437 of file script.py.

◆ running_description

homeassistant.helpers.script.Script.running_description

Definition at line 1440 of file script.py.

◆ runs

homeassistant.helpers.script.Script.runs

Definition at line 1720 of file script.py.

◆ script_mode

homeassistant.helpers.script.Script.script_mode

Definition at line 1446 of file script.py.

◆ sequence

homeassistant.helpers.script.Script.sequence

Definition at line 1436 of file script.py.

◆ top_level

homeassistant.helpers.script.Script.top_level

Definition at line 1427 of file script.py.

◆ unique_id

homeassistant.helpers.script.Script.unique_id

Definition at line 1438 of file script.py.

◆ variables

homeassistant.helpers.script.Script.variables

Definition at line 1464 of file script.py.


The documentation for this class was generated from the following file: