mirror of
https://github.com/home-assistant/core.git
synced 2025-11-09 02:49:40 +00:00
Revert to using call_soon for event triggers and state changed event trackers (#122735)
This commit is contained in:
@@ -328,6 +328,16 @@ def async_track_state_change_event(
|
||||
return _async_track_state_change_event(hass, entity_ids, action, job_type)
|
||||
|
||||
|
||||
@callback
|
||||
def _async_dispatch_entity_id_event_soon(
|
||||
hass: HomeAssistant,
|
||||
callbacks: dict[str, list[HassJob[[Event[_StateEventDataT]], Any]]],
|
||||
event: Event[_StateEventDataT],
|
||||
) -> None:
|
||||
"""Dispatch to listeners soon to ensure one event loop runs before dispatch."""
|
||||
hass.loop.call_soon(_async_dispatch_entity_id_event, hass, callbacks, event)
|
||||
|
||||
|
||||
@callback
|
||||
def _async_dispatch_entity_id_event(
|
||||
hass: HomeAssistant,
|
||||
@@ -361,7 +371,7 @@ def _async_state_filter(
|
||||
_KEYED_TRACK_STATE_CHANGE = _KeyedEventTracker(
|
||||
key=_TRACK_STATE_CHANGE_DATA,
|
||||
event_type=EVENT_STATE_CHANGED,
|
||||
dispatcher_callable=_async_dispatch_entity_id_event,
|
||||
dispatcher_callable=_async_dispatch_entity_id_event_soon,
|
||||
filter_callable=_async_state_filter,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user