Commit graph

73680 commits

Author SHA1 Message Date
J. Nick Koston
331989de4c
Migrate condition/state/trigger helper to use async_get_platform ()
Currently these would always load the platform in the loop
if it was not already loaded
2024-03-03 21:20:47 -05:00
J. Nick Koston
f1eab3f11f
Preload config flow if it exists when loading a component ()
Since config_entries always requires the config_flow to be loaded
to check for migrations, load it if we know it exists when loading
the underlying integration
2024-03-03 21:16:50 -05:00
J. Nick Koston
d50b4ccd62
Split up hassio coordinator and data into new file to allow preload ()
* Split up hassio coordinator and data into new file to allow preload

Since we cannot mark hassio as having a config_flow, it will
not get preloaded and since cloud will almost always load right
after it and block the import executor, we want to preload
the hassio config_flow and platform modules so the other
dependants can continue on while cloud is being imported
to not delay startup

* tweak

* tweak
2024-03-03 21:16:02 -05:00
Robert Svensson
ec8d23d0af
Fix places not changed to hub in Axis tests () 2024-03-03 20:45:06 -05:00
Allen Porter
5cb5a1141f
Limit rainbird aiohttp client session to a single connection ()
Limit rainbird to a single open http connection
2024-03-03 19:54:05 -05:00
David F. Mulcahey
f9e00ed45b
Fix ZHA groups page ()
* Fix ZHA groups page

* test
2024-03-03 19:17:02 -05:00
J. Nick Koston
60f81c8340
Fix async_prepare_setup_platform test () 2024-03-03 14:16:44 -10:00
starkillerOG
68f17b5eab
Add Reolink PTZ patrol start/stop () 2024-03-03 23:13:40 +01:00
J. Nick Koston
d6cbadba3e
Ensure setup loads top level component before platforms () 2024-03-03 11:42:16 -10:00
Joost Lekkerkerker
3c960b7d4e
Add icon translations to Melnor ()
* Use default icon for Melnor

* Use default icon for Melnor
2024-03-03 21:33:33 +01:00
J. Nick Koston
ec1400d392
Fix flakey tplink test ()
The test here was assuming the first slow was the one it
wanted, but sometimes the other flow wins the race
2024-03-03 21:29:45 +01:00
J. Nick Koston
ba9733e90b
Try to preload the config platform when loading a component () 2024-03-03 10:23:08 -10:00
starkillerOG
372886bf6c
Add package detection to Reolink ()
Add package detection
2024-03-03 12:58:28 -05:00
J. Nick Koston
da6eca7b68
Avoid compiling entity service schema when passed defaults ()
* Avoid compiling entity service schema when passed defaults

* dry
2024-03-03 12:50:04 -05:00
J. Nick Koston
0a462071c8
Import screenlogic in the executor to avoid blocking the loop () 2024-03-03 12:48:28 -05:00
J. Nick Koston
9af12a0639
Avoid calling async_get_component twice for each component being setup ()
We already have the component so we can pass it to
async_process_component_config to avoid having to
look it up again
2024-03-03 12:48:07 -05:00
starkillerOG
72efb3dab5
Bump reolink-aio to 0.8.9 ()
* Update strings.json

* Bump reolink-aio to 0.8.9
2024-03-03 12:47:09 -05:00
Jan-Philipp Benecke
f20e1ad560
Exclude tankerkoenig attributes from recording () 2024-03-03 12:46:51 -05:00
Robert Svensson
4eb24b2db7
Clean up setup and teardown of Axis integration () 2024-03-03 12:42:44 -05:00
Luke Lashley
74f1420410
Add the ability to resume cleaning on start button () 2024-03-03 12:41:31 -05:00
Michael
409dc02d36
Ignore failing gas stations in Tankerkoening () 2024-03-03 18:29:02 +01:00
G Johansson
cdd7b94a95
Move all System Monitor updates into single Data Update Coordinator () 2024-03-03 07:24:04 -10:00
J. Nick Koston
faee9d996d
Import steamist in the executor to avoid blocking the loop () 2024-03-03 07:21:55 -10:00
Jan-Philipp Benecke
911cf60678
Address late review for Ping ()
* Address late review for Ping

* Fix import
2024-03-03 18:10:22 +01:00
J. Nick Koston
a37c82e34c
Add comment to integration platform helper about blocking I/O () 2024-03-03 07:00:35 -10:00
David F. Mulcahey
7af82161a0
Bump Zigpy to 0.63.4 () 2024-03-03 11:31:23 -05:00
Joakim Plate
13653be09b
Add event platform to rfxtrx () 2024-03-03 17:15:54 +01:00
J. Nick Koston
9fff638311
Load wyoming in the executor to avoid blocking the event loop () 2024-03-03 08:56:08 -06:00
Åke Strandberg
073fcfcd6f
Add tests for number of devices created in myuplink ()
* Add tests for number of devices created

* Change default fixture to 2 devices in one system

* Update snapshot

* Change deviuce to test

* Merge tests to one module
2024-03-03 14:27:24 +01:00
Joost Lekkerkerker
f02e60533d
Add icon translations to Nexia ()
* Add icon translations to Nexia

* Add icon translations to Nexia
2024-03-03 14:08:33 +01:00
Joost Lekkerkerker
895dc6fce1
Add icon translations to Nextbus () 2024-03-03 14:08:19 +01:00
Álvaro Fernández Rojas
25ba046ff1
Fix flakey airzone_cloud tests by avoiding creation of the websocket () 2024-03-03 00:56:14 -10:00
Matrix
2f223ae377
Add YoLInk YS7905-UC Support ()
* Add YS7905-UC Support

* Fix as suggestion
2024-03-03 11:11:45 +01:00
Jan-Philipp Benecke
25551fa938
Move Ping binary sensor attributes to sensor entities ()
* Move Ping binary sensor attributes to sensor entities

* Process code review

* Update snapshot
2024-03-03 11:08:28 +01:00
J. Nick Koston
6a243d6705
Preload platform integrations to better group executor usage () 2024-03-02 23:03:35 -10:00
J. Nick Koston
c8cb0ff61d
Avoid trying to import platforms that do not exist ()
* Avoid trying to import platforms that do not exist

* adjust

* fixes

* cleanup

* cleanup

* cleanup

* Apply suggestions from code review

* docs

* fixes

* fixes

* comment

* coverage

* coverage

* coverage

* Switch config to use async_get_component

This was another path where integrations that were marked to load in the executor
would be loaded in the loop

* Switch config to use async_get_component/async_get_platform

This was another path where integrations that were marked to load in the executor
would be loaded in the loop

* merge

* refactor

* refactor

* coverage

* preen

* preen
2024-03-02 22:14:28 -05:00
David Knowles
a253991c6d
Bump pydrawise to 2024.3.0 () 2024-03-02 22:00:50 -05:00
J. Nick Koston
dc3c7c95f7
Import stream in the executor to avoid blocking the event loop ()
* Import stream in the executor to avoid blocking the event loop

This one has some large deps

* one more place

* avoid call if no change

* just in case
2024-03-02 22:00:28 -05:00
J. Nick Koston
aaa2d8745f
Import template in the executor to avoid blocking the event loop ()
Importing template has a very long dep tree
2024-03-02 21:59:34 -05:00
J. Nick Koston
2fe12ade4c
Ensure all homekit_controller controllers are imported in advance ()
* Ensure all homekit_controllers are imported in advance

We want to avoid importing them in the event loop later

* Ensure all homekit_controllers are imported in advance

We want to avoid importing them in the event loop later
2024-03-02 21:56:33 -05:00
J. Nick Koston
131068358a
Import yeelight in the executor to avoid blocking the event loop () 2024-03-02 21:55:55 -05:00
J. Nick Koston
f415746e26
Import caldav in the executor to avoid blocking the event loop ()
2024-03-02 18:21:51.794 DEBUG (MainThread) [homeassistant.loader] Component caldav import took 0.676 seconds (loaded_executor=False)
2024-03-02 21:55:20 -05:00
J. Nick Koston
8d2fe73faa
Fix bootstrap being fetched three times during unifiprotect startup ()
We always fetch it to check if the device is online.
Avoid fetching it again for migration by passing
it to the migrators
2024-03-02 21:55:04 -05:00
J. Nick Koston
ea9c969d15
Fix executor being overloaded in caldav ()
Migrate to using a single executor job instead of creating
one per calendar. If the user had a lot of calendars the
executor would get overloaded
2024-03-02 21:53:51 -05:00
J. Nick Koston
08c96efebe
Import baf in the executor to avoid blocking the event loop () 2024-03-02 21:52:40 -05:00
J. Nick Koston
5e5da2bf3a
Import integrations using sense-energy in the executor to avoid loop blocking ()
Import integrations using sense-enegy in the executor to avoid blocking the event loop
2024-03-02 21:52:11 -05:00
J. Nick Koston
a07f6d9d76
Import smtp in the executor to avoid blocking the loop ()
This one has no external requirements, but the email imports
from stdlib take ~0.6s on a green
2024-03-02 21:51:45 -05:00
J. Nick Koston
6421a08ba8
Avoid expensive inspect calls in config validators ()
* Avoid expensive inspect calls in config validators

inspect has a performance problem https://github.com/python/cpython/issues/92041

We now avoid calling inspect unless we are going to log

* remove unused

* reduce

* get_integration_logger
2024-03-02 21:50:35 -05:00
J. Nick Koston
9353ad0690
Import switchbot in the executor to avoid blocking the event loop () 2024-03-03 01:18:03 +01:00
J. Nick Koston
3808e8b0bc
Switch config to use async_get_component/async_get_platform () 2024-03-02 13:56:25 -10:00