* 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
* 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 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>
* Fix recorder ws_info blocking the event loop
Fixes
```
2024-02-15 06:37:55.423 WARNING (MainThread) [asyncio] Executing <Task pending name=websocket_api.async:ws_info coro=<_handle_async_response() running at /usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py:26> wait_for=<_GatheringFuture pending cb=[Task.task_wakeup()] created at /usr/local/lib/python3.12/asyncio/tasks.py:712> cb=[set.remove()] created at /usr/src/homeassistant/homeassistant/core.py:653> took 0.332 seconds
```
* no instance did not actually work
current_average_demand and maximum_demand_current_month are missing a state class, which gives errors in the statistics tab in HA.
So adding them to the sensor.
* Move late import of config flows in loader to load time
There does not seem to be any reason to import the
generated flows late. Import them at load time
with the rest of the generated files
* tests
* Update wallbox plugin version
Closes#110566
* Fix unit tests failing
* Fix import order
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add some myuplink tests
* Update fixtures for api endpoints
* Adjust according to review
* Update snapshot file
* Remove unneded fixtures and improve typing
* More cleanup
* One last session scope removed
* Fix typing
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix formatting of mac addresses from dhcp discovery mocking in broadlink
dhcp returns addresses in lowercase without :
* fix missed ones
* broadlink has same format
* Correct misaligned formatting of mac addresses in samsungtv
dhcp returns addresses in lowercase without : and there were places
were it was not passed through format_mac which resulted in the wrong
format being saved in the config entry
* safer