This integration would call async_add_entities before
it has set the data that the entity needed. There is
no guarantee that the entity would take long enough
to add that the data would be there
* Use an eager task to setup entity platforms
Ideally we would have awaited this function instead, but we want
to shield it from cancellation so we wrap it in asyncio.shield
which schedules it as a task. Since we have integrations that
never suspend in async_setup_entry, we can avoid scheduling on
the evnet loop with an eager task for this case
* its an executor future
* its an executor future
* fix
* doc string lied
* Extend thermostat local temperature calibration range
* Extend thermostat local temperature calibration range only for TRVZB
* Change _attr_native_min_value and _attr_native_max_value back to -2.5 and 2.5
* Adjust _attr_native_step for TRVZB to 0.2
* Implement requested changes
* Fix platform for MULTI_MATCH
* Implement requested changes
* Implement requested changes
* introduce preserve last value option
* improve comments
* add unit test
* skip scheduling purge on a preserved value
* do not schedule sensor update if preserving last value
* fix unit test to use new mock time pattern
pattern introduced in https://github.com/home-assistant/core/pull/93499
* rename preserve_last_val to keep_last_sample
* add keep_last_sample config validation
* Deprecate Logi Circle integration
* Update homeassistant/components/logi_circle/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Remove zeroconf from ssdp after deps
This was added in #36277 but is no longer needed since
we setup discovery integrations ahead of time to ensure
their deps are updated before other integrations can load
them
* adjust test
* Use an eager task in the update coordinator scheduled refresh
We have a lot of places that will not suspend because the refresh function
decides it does not need to update. Currently these have to be scheduled
on the event loop even though they are a noop.
Since _handle_refresh_interval is subclassed in some integrations, I created
a dunder wrapper function to avoid integraions subclassing it
* fix time fires outside of patch
`2024-02-26 21:12:28.305 DEBUG (MainThread) [homeassistant.loader] Importing platform samsungtv.config_flow took 1.10s (loaded_executor=False)`
This one has a long requirements list
Discovery integrations load a lot earlier when many modules
are not yet loaded so they have a lot less overlapping deps
dhcp uses scapy which is large to import. I hope one
day to replace it with something more lightweight
* Use eager task creation for entity platform polling
We have lots of places where `async_update` does not suspend and
is only a coro because its required to be a coro to run in the
event loop
* try again
Nothing was being awaited here so there was no need to create
a task per person at the start event.
The async_update_config coro remains since its required
by the collection but is now a wrapper around a callback
_async_update_config