With Home Assistant Core 0.113, we began transiting to using the asyncio event loop for scheduling events.
With 2022.5, we are excited to announce that this process is now complete. The legacy
time_changed event, also known as
EVENT_TIME_CHANGED is no longer fired every second. Integrations that listen for all events no longer need to filter out
EVENT_TIME_CHANGED. Integrations that run in a separate thread may see slight performance benefits since they will no longer be awakened every second.
With the previous implementation, consumers would subscribe to the
time_changed event and check the time every time it fired to see if it was a match. This pattern led to many callbacks where most of the time, the callback would reject the event and continue receiving callbacks until the desired time was reached.
If your custom integration is still relying on listening for
time_changed events, it will need to transition to using one of the built-in event helpers, which are, in most cases, a one-line drop-in replacement. For more information, please review the integration
documentation on listening for events.