* Avoid creating tasks for checking integrations platforms
This is a followup to #110743 to avoid creating a task to check
if the integration platform exists. We created tasks because
we needed to await async_get_integrations but since its always
called from EVENT_COMPONENT_LOADED firing, we can use the
async_get_loaded_integration version which does not need
to be awaited. This eliminates one task for every loaded
component
* there is no more race risk
* reduce
* coro or callback
* reduce
* tweak
* race safe
* fix type
* fixes
* use built-in helper to make it smaller
* use built-in helper to make it smaller
* use built-in helper to make it smaller
* add coverage to ensure exceptions are logged
* improve readability a bit
* platforms
* Improve performance of async_get_integration_with_requirements
- Migrate to the future pattern instead of using asyncio.Event
- Use sets in a few places to avoid linear searching
- Check the cache when processing deps so we do not
create tasks to process requirements for deps that
have already been processed
* name
* add concurrency test
* Update homeassistant/requirements.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/requirements.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/requirements.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/requirements.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* reset_mock
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improve performance of _async_when_setup
Use an event filter to avoid creating a task until the
filter matches
* Improve performance of _async_when_setup
Use an event filter to avoid creating a task until the
filter matches
* Add translation keys for binary sensor names
* Update version_available string in system_bridge component
* Remove unused code in SystemBridgeBinarySensor class
* Restrict SystemBridgeBinarySensorEntityDescription name type to str
* Refactor binary sensor entity descriptions and remove unused translation keys
* WIP test
* WIP
* WIP Reauth flow. Test fail otherways OK.
* Minor adjustments to tests
* Merge
* Merge
* Next level...
* Cleanup according to review
* It works!
* Simplify setup
* Remove default
* Remove files from PR
* Add back test_init
* Add back test_sensor
* Adjust error message
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
reverts #110751 and replaces it with a change to wait for the
assist_pipeline.async_pipeline_from_audio_stream to be called
which will actually solve the problem and unblock #110743
* Add breeze switch
* Cleanup code
* Replace switch entity with new fan entity
* Revert "Replace switch entity with new fan entity"
This reverts commit 4fc1ac22e67091a7e980aefd217652f2a88bed17.
* Add toggle service to climate
* Fix mqtt test
* Add comments
* Fix rebase
* Remove not needed properties
* Fix toggle service
* Fix test
* Test
* Mod mqtt test
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Make context in data entry flow possible to modify for subclasses
* mypy
* Make get_context
* base view
* Review comments
* Remove context from options flow