Classes | |
| class | _KeyedEventData |
| class | _KeyedEventTracker |
| class | _TrackPointUTCTime |
| class | _TrackStateChangeFiltered |
| class | _TrackTimeInterval |
| class | _TrackUTCTimeChange |
| class | SunListener |
| class | TrackStates |
| class | TrackTemplate |
| class | TrackTemplateResult |
| class | TrackTemplateResultInfo |
Functions | |
| bool | _async_device_registry_updated_filter (HomeAssistant hass, dict[str, list[HassJob[[Event[EventDeviceRegistryUpdatedData]], Any]]] callbacks, EventDeviceRegistryUpdatedData event_data) |
| None | _async_dispatch_device_id_event (HomeAssistant hass, dict[str, list[HassJob[[Event[EventDeviceRegistryUpdatedData]], Any]]] callbacks, Event[EventDeviceRegistryUpdatedData] event) |
| None | _async_dispatch_domain_event (HomeAssistant hass, dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]] callbacks, Event[EventStateChangedData] event) |
| None | _async_dispatch_entity_id_event (HomeAssistant hass, dict[str, list[HassJob[[Event[_StateEventDataT]], Any]]] callbacks, Event[_StateEventDataT] event) |
| None | _async_dispatch_entity_id_event_soon (HomeAssistant hass, dict[str, list[HassJob[[Event[_StateEventDataT]], Any]]] callbacks, Event[_StateEventDataT] event) |
| None | _async_dispatch_old_entity_id_or_entity_id_event (HomeAssistant hass, dict[str, list[HassJob[[Event[EventEntityRegistryUpdatedData]], Any]]] callbacks, Event[EventEntityRegistryUpdatedData] event) |
| bool | _async_domain_added_filter (HomeAssistant hass, dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]] callbacks, EventStateChangedData event_data) |
| bool | _async_domain_removed_filter (HomeAssistant hass, dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]] callbacks, EventStateChangedData event_data) |
| bool | _async_entity_registry_updated_filter (HomeAssistant hass, dict[str, list[HassJob[[Event[EventEntityRegistryUpdatedData]], Any]]] callbacks, EventEntityRegistryUpdatedData event_data) |
| bool | _async_state_filter (HomeAssistant hass, dict[str, list[HassJob[[Event[_StateEventDataT]], Any]]] callbacks, _StateEventDataT event_data) |
| list[str] | _async_string_to_lower_list (str|Iterable[str] instr) |
| CALLBACK_TYPE | _async_track_event (_KeyedEventTracker[_TypedDictT] tracker, HomeAssistant hass, str|Iterable[str] keys, Callable[[Event[_TypedDictT]], None] action, HassJobType|None job_type) |
| CALLBACK_TYPE | _async_track_state_added_domain (HomeAssistant hass, str|Iterable[str] domains, Callable[[Event[EventStateChangedData]], Any] action, HassJobType|None job_type) |
| CALLBACK_TYPE | _async_track_state_change_event (HomeAssistant hass, str|Iterable[str] entity_ids, Callable[[Event[EventStateChangedData]], Any] action, HassJobType|None job_type) |
| tuple[set[str], set[str]] | _entities_domains_from_render_infos (Iterable[RenderInfo] render_infos) |
| bool | _event_triggers_rerender (Event[EventStateChangedData] event, RenderInfo info) |
| Callable[Concatenate[HomeAssistant, _P], CALLBACK_TYPE] | _P (Callable[Concatenate[HomeAssistant, _P], Any] async_factory) |
| float|None | _rate_limit_for_event (Event[EventStateChangedData] event, RenderInfo info, TrackTemplate track_template_) |
| None | _remove_empty_listener () |
| None | _remove_listener (HomeAssistant hass, _KeyedEventTracker[_TypedDictT] tracker, Iterable[str] keys, HassJob[[Event[_TypedDictT]], Any] job, dict[str, list[HassJob[[Event[_TypedDictT]], Any]]] callbacks) |
| bool | _render_infos_needs_all_listener (Iterable[RenderInfo] render_infos) |
| TrackStates | _render_infos_to_track_states (Iterable[RenderInfo] render_infos) |
| None | _run_async_call_action (HomeAssistant hass, HassJob[[datetime], Coroutine[Any, Any, None]|None] job) |
| RenderInfo | _suppress_domain_all_in_render_info (RenderInfo render_info) |
| CALLBACK_TYPE | async_call_at (HomeAssistant hass, HassJob[[datetime], Coroutine[Any, Any, None]|None]|Callable[[datetime], Coroutine[Any, Any, None]|None] action, float loop_time) |
| CALLBACK_TYPE | async_call_later (HomeAssistant hass, float|timedelta delay, HassJob[[datetime], Coroutine[Any, Any, None]|None]|Callable[[datetime], Coroutine[Any, Any, None]|None] action) |
| CALLBACK_TYPE | async_track_device_registry_updated_event (HomeAssistant hass, str|Iterable[str] device_ids, Callable[[Event[EventDeviceRegistryUpdatedData]], Any] action, HassJobType|None job_type=None) |
| CALLBACK_TYPE | async_track_entity_registry_updated_event (HomeAssistant hass, str|Iterable[str] entity_ids, Callable[[Event[EventEntityRegistryUpdatedData]], Any] action, HassJobType|None job_type=None) |
| CALLBACK_TYPE | async_track_point_in_time (HomeAssistant hass, HassJob[[datetime], Coroutine[Any, Any, None]|None]|Callable[[datetime], Coroutine[Any, Any, None]|None] action, datetime point_in_time) |
| CALLBACK_TYPE | async_track_point_in_utc_time (HomeAssistant hass, HassJob[[datetime], Coroutine[Any, Any, None]|None]|Callable[[datetime], Coroutine[Any, Any, None]|None] action, datetime point_in_time) |
| CALLBACK_TYPE | async_track_same_state (HomeAssistant hass, timedelta period, Callable[[], Coroutine[Any, Any, None]|None] action, Callable[[str, State|None, State|None], bool] async_check_same_func, str|Iterable[str] entity_ids=MATCH_ALL) |
| CALLBACK_TYPE | async_track_state_added_domain (HomeAssistant hass, str|Iterable[str] domains, Callable[[Event[EventStateChangedData]], Any] action, HassJobType|None job_type=None) |
| CALLBACK_TYPE | async_track_state_change (HomeAssistant hass, str|Iterable[str] entity_ids, Callable[[str, State|None, State|None], Coroutine[Any, Any, None]|None] action, str|Iterable[str]|None from_state=None, str|Iterable[str]|None to_state=None) |
| CALLBACK_TYPE | async_track_state_change_event (HomeAssistant hass, str|Iterable[str] entity_ids, Callable[[Event[EventStateChangedData]], Any] action, HassJobType|None job_type=None) |
| _TrackStateChangeFiltered | async_track_state_change_filtered (HomeAssistant hass, TrackStates track_states, Callable[[Event[EventStateChangedData]], Any] action) |
| CALLBACK_TYPE | async_track_state_removed_domain (HomeAssistant hass, str|Iterable[str] domains, Callable[[Event[EventStateChangedData]], Any] action, HassJobType|None job_type=None) |
| CALLBACK_TYPE | async_track_state_report_event (HomeAssistant hass, str|Iterable[str] entity_ids, Callable[[Event[EventStateReportedData]], Any] action, HassJobType|None job_type=None) |
| CALLBACK_TYPE | async_track_sunrise (HomeAssistant hass, Callable[[], None] action, timedelta|None offset=None) |
| CALLBACK_TYPE | async_track_sunset (HomeAssistant hass, Callable[[], None] action, timedelta|None offset=None) |
| CALLBACK_TYPE | async_track_template (HomeAssistant hass, Template template, Callable[[str, State|None, State|None], Coroutine[Any, Any, None]|None] action, TemplateVarsType|None variables=None) |
| TrackTemplateResultInfo | async_track_template_result (HomeAssistant hass, Sequence[TrackTemplate] track_templates, TrackTemplateResultListener action, bool strict=False, Callable[[int, str], None]|None log_fn=None, bool has_super_template=False) |
| CALLBACK_TYPE | async_track_time_change (HomeAssistant hass, Callable[[datetime], Coroutine[Any, Any, None]|None] action, Any|None hour=None, Any|None minute=None, Any|None second=None) |
| CALLBACK_TYPE | async_track_time_interval (HomeAssistant hass, Callable[[datetime], Coroutine[Any, Any, None]|None] action, timedelta interval, *str|None name=None, bool|None cancel_on_shutdown=None) |
| CALLBACK_TYPE | async_track_utc_time_change (HomeAssistant hass, Callable[[datetime], Coroutine[Any, Any, None]|None] action, Any|None hour=None, Any|None minute=None, Any|None second=None, bool local=False) |
| Callable[[str|None], bool] | process_state_match (str|Iterable[str]|None parameter, bool invert=False) |
Helpers for listening to events.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| CALLBACK_TYPE homeassistant.helpers.event.async_call_at | ( | HomeAssistant | hass, |
| HassJob[[datetime], Coroutine[Any, Any, None] | None] | Callable[[datetime], Coroutine[Any, Any, None] | None] | action, | ||
| float | loop_time | ||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_call_later | ( | HomeAssistant | hass, |
| float | timedelta | delay, | ||
| HassJob[[datetime], Coroutine[Any, Any, None] | None] | Callable[[datetime], Coroutine[Any, Any, None] | None] | action | ||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_device_registry_updated_event | ( | HomeAssistant | hass, |
| str | Iterable[str] | device_ids, | ||
| Callable[[Event[EventDeviceRegistryUpdatedData]], Any] | action, | ||
| HassJobType | None | job_type = None |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_entity_registry_updated_event | ( | HomeAssistant | hass, |
| str | Iterable[str] | entity_ids, | ||
| Callable[[Event[EventEntityRegistryUpdatedData]], Any] | action, | ||
| HassJobType | None | job_type = None |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_point_in_time | ( | HomeAssistant | hass, |
| HassJob[[datetime], Coroutine[Any, Any, None] | None] | Callable[[datetime], Coroutine[Any, Any, None] | None] | action, | ||
| datetime | point_in_time | ||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_point_in_utc_time | ( | HomeAssistant | hass, |
| HassJob[[datetime], Coroutine[Any, Any, None] | None] | Callable[[datetime], Coroutine[Any, Any, None] | None] | action, | ||
| datetime | point_in_time | ||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_same_state | ( | HomeAssistant | hass, |
| timedelta | period, | ||
| Callable[[], Coroutine[Any, Any, None] | None] | action, | ||
| Callable[[str, State | None, State | None], bool] | async_check_same_func, | ||
| str | Iterable[str] | entity_ids = MATCH_ALL |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_state_added_domain | ( | HomeAssistant | hass, |
| str | Iterable[str] | domains, | ||
| Callable[[Event[EventStateChangedData]], Any] | action, | ||
| HassJobType | None | job_type = None |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_state_change | ( | HomeAssistant | hass, |
| str | Iterable[str] | entity_ids, | ||
| Callable[ [str, State | None, State | None], Coroutine[Any, Any, None] | None ] | action, | ||
| str | Iterable[str] | None | from_state = None, |
||
| str | Iterable[str] | None | to_state = None |
||
| ) |
Track specific state changes. entity_ids, from_state and to_state can be string or list. Use list to match multiple. Returns a function that can be called to remove the listener. If entity_ids are not MATCH_ALL along with from_state and to_state being None, async_track_state_change_event should be used instead as it is slightly faster. This function is deprecated and will be removed in Home Assistant 2025.5. Must be run within the event loop.
| CALLBACK_TYPE homeassistant.helpers.event.async_track_state_change_event | ( | HomeAssistant | hass, |
| str | Iterable[str] | entity_ids, | ||
| Callable[[Event[EventStateChangedData]], Any] | action, | ||
| HassJobType | None | job_type = None |
||
| ) |
Track specific state change events indexed by entity_id. Unlike async_track_state_change, async_track_state_change_event passes the full event to the callback. In order to avoid having to iterate a long list of EVENT_STATE_CHANGED and fire and create a job for each one, we keep a dict of entity ids that care about the state change events so we can do a fast dict lookup to route events. The passed in entity_ids will be automatically lower cased. EVENT_STATE_CHANGED is fired on each occasion the state is updated and changed, opposite of EVENT_STATE_REPORTED.
| _TrackStateChangeFiltered homeassistant.helpers.event.async_track_state_change_filtered | ( | HomeAssistant | hass, |
| TrackStates | track_states, | ||
| Callable[[Event[EventStateChangedData]], Any] | action | ||
| ) |
Track state changes with a TrackStates filter that can be updated.
Parameters
----------
hass
Home assistant object.
track_states
A TrackStates data class.
action
Callable to call with results.
Returns
-------
Object used to update the listeners (async_update_listeners) with a new
TrackStates or cancel the tracking (async_remove).
| CALLBACK_TYPE homeassistant.helpers.event.async_track_state_removed_domain | ( | HomeAssistant | hass, |
| str | Iterable[str] | domains, | ||
| Callable[[Event[EventStateChangedData]], Any] | action, | ||
| HassJobType | None | job_type = None |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_state_report_event | ( | HomeAssistant | hass, |
| str | Iterable[str] | entity_ids, | ||
| Callable[[Event[EventStateReportedData]], Any] | action, | ||
| HassJobType | None | job_type = None |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_sunrise | ( | HomeAssistant | hass, |
| Callable[[], None] | action, | ||
| timedelta | None | offset = None |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_sunset | ( | HomeAssistant | hass, |
| Callable[[], None] | action, | ||
| timedelta | None | offset = None |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_template | ( | HomeAssistant | hass, |
| Template | template, | ||
| Callable[ [str, State | None, State | None], Coroutine[Any, Any, None] | None ] | action, | ||
| TemplateVarsType | None | variables = None |
||
| ) |
Add a listener that fires when a template evaluates to 'true'.
Listen for the result of the template becoming true, or a true-like
string result, such as 'On', 'Open', or 'Yes'. If the template results
in an error state when the value changes, this will be logged and not
passed through.
If the initial check of the template is invalid and results in an
exception, the listener will still be registered but will only
fire if the template result becomes true without an exception.
Action arguments
----------------
entity_id
ID of the entity that triggered the state change.
old_state
The old state of the entity that changed.
new_state
New state of the entity that changed.
Parameters
----------
hass
Home assistant object.
template
The template to calculate.
action
Callable to call with results. See above for arguments.
variables
Variables to pass to the template.
Returns
-------
Callable to unregister the listener.
| TrackTemplateResultInfo homeassistant.helpers.event.async_track_template_result | ( | HomeAssistant | hass, |
| Sequence[TrackTemplate] | track_templates, | ||
| TrackTemplateResultListener | action, | ||
| bool | strict = False, |
||
| Callable[[int, str], None] | None | log_fn = None, |
||
| bool | has_super_template = False |
||
| ) |
Add a listener that fires when the result of a template changes.
The action will fire with the initial result from the template, and
then whenever the output from the template changes. The template will
be reevaluated if any states referenced in the last run of the
template change, or if manually triggered. If the result of the
evaluation is different from the previous run, the listener is passed
the result.
If the template results in an TemplateError, this will be returned to
the listener the first time this happens but not for subsequent errors.
Once the template returns to a non-error condition the result is sent
to the action as usual.
Parameters
----------
hass
Home assistant object.
track_templates
An iterable of TrackTemplate.
action
Callable to call with results.
strict
When set to True, raise on undefined variables.
log_fn
If not None, template error messages will logging by calling log_fn
instead of the normal logging facility.
has_super_template
When set to True, the first template will block rendering of other
templates if it doesn't render as True.
Returns
-------
Info object used to unregister the listener, and refresh the template.
| CALLBACK_TYPE homeassistant.helpers.event.async_track_time_change | ( | HomeAssistant | hass, |
| Callable[[datetime], Coroutine[Any, Any, None] | None] | action, | ||
| Any | None | hour = None, |
||
| Any | None | minute = None, |
||
| Any | None | second = None |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_time_interval | ( | HomeAssistant | hass, |
| Callable[[datetime], Coroutine[Any, Any, None] | None] | action, | ||
| timedelta | interval, | ||
| *str | None | name = None, |
||
| bool | None | cancel_on_shutdown = None |
||
| ) |
| CALLBACK_TYPE homeassistant.helpers.event.async_track_utc_time_change | ( | HomeAssistant | hass, |
| Callable[[datetime], Coroutine[Any, Any, None] | None] | action, | ||
| Any | None | hour = None, |
||
| Any | None | minute = None, |
||
| Any | None | second = None, |
||
| bool | local = False |
||
| ) |
| Callable[[str | None], bool] homeassistant.helpers.event.process_state_match | ( | str | Iterable[str] | None | parameter, |
| bool | invert = False |
||
| ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| None homeassistant.helpers.event.dispatcher_callable = _async_dispatch_entity_id_event_soon, |
| homeassistant.helpers.event.event_type = EVENT_STATE_CHANGED, |
| bool homeassistant.helpers.event.filter_callable = _async_state_filter, |
| homeassistant.helpers.event.key = _TRACK_STATE_CHANGE_DATA, |