* 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
The likely outcome from most discoveries is an near immediate abort
so we run them eagerly to avoid having to schedule on the event loop
for the common case