Commit Graph

74000 Commits (1daaffc01f03f5d8a93d708c4faaba4b645f9d5b)

Author SHA1 Message Date
RoboMagus b381922a20
Issues template function (#95206)
* Add 'issues' template function for listing active issues.

* Add issue template function test

* Add 'issue' template function for getting specific issue by domain and issue_id

* Remove comment

* Fix function description

* Remove reduntant function,
Fix tests

* remove pass_context

* remove issues filter

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-04 14:22:14 +01:00
Aidan Timson c2a991625d
Update systembridgeconnector to 4.0.2 (#112174) 2024-03-04 14:16:22 +02:00
J. Nick Koston 917f0f849d
Import in the executor by default for core integrations (#112127)
* Import in the executor by default for core integration

* merge correct branch in

* Group loading of platforms in the import executor

* adjust test

* remove other pr

* Fix async_prepare_setup_platform test

The message changed because the order changed but was not caught before
merge because it required the combination of PRs to change
the error message

* fix

* tweak

* fix

* self review

* review

* fix hue mocking

* Update homeassistant/loader.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* lint

* Fix async_get_component loading in the executor when the module is already loaded

The sys.modules check was incorrect (only on dev)

* fix

* Avoid multiple executor jobs with concurrent calls to async_get_component

Return a future that can be awaited if the component is
curently being loaded

* adjust

* coverage

* coverage

* concurrent platforms load test

* doc strings

* coverage

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-04 06:29:32 -05:00
J. Nick Koston dd00a87ac5
Migrate application_credentials to use async_get_platform (#112161)
This ensures that if application_credentials loads the integration's
application_credentials platform it will get loaded in the executor if enabled
2024-03-04 06:27:52 -05:00
J. Nick Koston a698bd5800
Migrate rest to use eager tasks for setup (#112166)
The refresh tasks will avoid one iteration of the event loop
to start fetching data

The load tasks will likely never suspend and avoid being
scheduled on the event loop
2024-03-04 06:26:55 -05:00
J. Nick Koston 613bf1c226
Migrate device_automation to use async_get_platform (#112162)
This ensures that if device_automation loads an integration's
platform it will get loaded in the executor if enabled
2024-03-04 06:11:34 -05:00
J. Nick Koston 9d7c947d19
Migrate config to use async_get_component (#112160)
The component should always be loaded here but in the rare
case it might not be, we should not block the loop when it
loads
2024-03-04 06:10:44 -05:00
Erik Montnemery c58828aac0
Remove unused test helper mock_area_registry (#112172) 2024-03-04 06:09:27 -05:00
dependabot[bot] 1b7c3061f3
Bump actions/download-artifact from 4.1.3 to 4.1.4 (#112159) 2024-03-04 11:50:31 +01:00
Alberto Geniola 86039de3cd
Add local API support to elmax (#94392)
* Add support for local (lan) panel integration

* Fix merge conflicts

* Remove executable flag from non-executable files

* Fix tests

* Update homeassistant/components/elmax/__init__.py

Shorten comment

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Fix typehint

* Rename DummyPanel into DirectPanel

* Update homeassistant/components/elmax/__init__.py

Rewording

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/elmax/__init__.py

Rewording

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Refactor option step into menu step

* Change requirement statement

* Refactor dictionary key entries to use existing constants

* Align step names to new constants

* Align step names to new constants amd align tests

* Align step names to new constants amd align tests

* Align step names to new constants

* Simplify logic to handle entire entry instead of a portion of the state

* Simplify working mode checks

* Add data_description dictionary to better explain SSL and FOLLOW_MDSN options

* Add support for local (lan) panel integration

* Fix merge conflicts

* Remove executable flag from non-executable files

* Fix tests

* Update homeassistant/components/elmax/__init__.py

Shorten comment

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Fix typehint

* Rename DummyPanel into DirectPanel

* Update homeassistant/components/elmax/__init__.py

Rewording

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/elmax/__init__.py

Rewording

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Refactor option step into menu step

* Change requirement statement

* Refactor dictionary key entries to use existing constants

* Align step names to new constants

* Align step names to new constants amd align tests

* Align step names to new constants amd align tests

* Align step names to new constants

* Simplify logic to handle entire entry instead of a portion of the state

* Simplify working mode checks

* Add data_description dictionary to better explain SSL and FOLLOW_MDSN options

* Add newline at end of file

* Remove CONF_ELMAX_MODE_DIRECT_FOLLOW_MDNS option

* Fix Ruff pre-check

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-04 11:39:13 +01:00
Aidan Timson 4c67670566
Update System Bridge to support version 4.x.x and above (#107957)
* Update System Bridge to support version 4.x.x and above

Update systembridgeconnector to version 4.0.0.dev4

Update system_bridgeconnector version to 4.0.0.dev6

Refactor WebSocket client handling in config_flow.py

Update strings

Update data handling

Add default field values to SystemBridgeCoordinatorData

Add version check and issue creation for unsupported System Bridge versions

Update coordinator.py to set disks and memory to None

Update system bridge coordinator to use token instead of API key

Update systembridgeconnector version to 4.0.0.dev7

Update systembridgeconnector version to 4.0.0.dev8

Update systembridgeconnector version to 4.0.0.dev9

Changes

Update units

Fix GPU memory calculation in sensor.py

Update GPU memory unit of measurement

Add translation keys for binary sensor names

Cleanup

Add async_migrate_entry function for entry migration

Update systembridgeconnector version to 4.0.0.dev10

Update systembridgeconnector version to 4.0.0.dev11

Add version check and authentication handling

Update token description in strings.json

Fix skipping partitions without data in system_bridge sensor

Update systembridgeconnector version to 4.0.0.dev12

Update systembridgeconnector version to 4.0.0

Add check for unsupported version of System Bridge

Update systembridgeconnector version to 4.0.1

Update debug log message in async_setup_entry function

Remove debug log statement

Fixes

Update key to token

Update tests

Update tests

Remove unused import in test_config_flow.py

Remove added missing translations for another PR

Refactor CPU power per CPU calculation

Make one liner into lambda

Refactors

Fix exception type in async_setup_entry function

Move checks to class and set minor version

Remove unnecessary comment in gpu_memory_free function

Remove translation_key for memory_used_percentage sensor

Reverse string change

Update token placeholder in strings.json

Remove suggested_display_precision from sensor descriptions

Remove suggested_display_precision from GPU sensor setup

Refactor sensor code

* Update migrate entry

* Refactor GPU-related functions to use a decorator

* Move per cpu functions to use decorator

* Refactor functions to use decorators for data availability

* Remove CONF_API_KEY from config entry data

* Add test for migration

* Refactor import statement in test_config_flow.py
2024-03-04 11:14:46 +01:00
Christopher Fenner faef5da1c5
Handle exception in ViCare integration (#111128) 2024-03-04 10:10:59 +01:00
Allen Porter ac416f7e07
Add rainbird request debouncer and immediately update entity switch state (#112152) 2024-03-04 10:05:28 +01:00
Yuxin Wang 2c5510df30
Avoid using coordinator in config flow of APCUPSD (#112121)
* Separate data class out of coordinator

* Further fix the imports

* Update homeassistant/components/apcupsd/coordinator.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Use `or` to make it a bit cleaner when trying to find the UPS model

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* Use or to make it a bit cleaner when trying to find the UPS model

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* Use plain dict instead of `OrderedDict`

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-04 09:40:59 +01:00
J. Nick Koston 38f9285bd6
Group platform loads in homekit_controller to minimize executor use (#112148) 2024-03-03 22:39:07 -10:00
J. Nick Koston 40c0b4caf0
Import recorder and common recorder platforms before asyncio starts (#112131) 2024-03-03 22:03:30 -10:00
Jan Bouwhuis c13231fc00
Improve mqtt value template error logging (#110492)
* Refactor mqtt value template error logging

* Remove import
2024-03-04 08:49:12 +01:00
J. Nick Koston 5227976aa2
Group loading of platforms in the import executor (#112141)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-03 21:32:19 -10:00
Christopher Fenner e0a8a9d551
Ignore unsupported devices (room sensors, floor heating) in ViCare integration (#112106)
* ignore unsupported devices

* Update __init__.py

* move unsupported device to const

* fix ruff
2024-03-04 07:56:45 +01:00
J. Nick Koston 943996b60b
Avoid multiple executor jobs with concurrent calls to async_get_component (#112155) 2024-03-03 20:22:31 -10:00
Robert Svensson 99414d8b85
Streamline UniFi entity descriptions (#112136)
* Use kw_only=True to get rid of Mixins

* Clarify which inputs are optional and make them have default values
Add doc strings to optional inputs
2024-03-04 00:00:17 -05:00
J. Nick Koston d7507fd8a3
Run more of hassio setup in in tasks (#112151)
* Run more of hassio setup in in tasks

There were a few more places were we waited in sequence
where we have to make remote api calls that could be
moved to tasks

* tweak

* tweak
2024-03-03 23:57:01 -05:00
Adam Goode a049d0e846
Add types throughout the prometheus tests (#112156) 2024-03-03 20:13:35 -08:00
J. Nick Koston f4b2c9b569
Fix async_get_component loading in the executor when the module is already loaded (#112153) 2024-03-03 17:56:50 -10:00
J. Nick Koston bef8376f83
Use MockConfigEntry in hue tests (#112149)
needed for https://github.com/home-assistant/core/pull/112141
2024-03-03 21:21:33 -05:00
J. Nick Koston 331989de4c
Migrate condition/state/trigger helper to use async_get_platform (#112144)
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 (#112145)
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 (#112147)
* 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 (#112128) 2024-03-03 20:45:06 -05:00
Allen Porter 5cb5a1141f
Limit rainbird aiohttp client session to a single connection (#112146)
Limit rainbird to a single open http connection
2024-03-03 19:54:05 -05:00
David F. Mulcahey f9e00ed45b
Fix ZHA groups page (#112140)
* Fix ZHA groups page

* test
2024-03-03 19:17:02 -05:00
J. Nick Koston 60f81c8340
Fix async_prepare_setup_platform test (#112143) 2024-03-03 14:16:44 -10:00
starkillerOG 68f17b5eab
Add Reolink PTZ patrol start/stop (#112129) 2024-03-03 23:13:40 +01:00
J. Nick Koston d6cbadba3e
Ensure setup loads top level component before platforms (#112057) 2024-03-03 11:42:16 -10:00
Joost Lekkerkerker 3c960b7d4e
Add icon translations to Melnor (#111906)
* 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 (#112135)
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 (#112104) 2024-03-03 10:23:08 -10:00
starkillerOG 372886bf6c
Add package detection to Reolink (#112126)
Add package detection
2024-03-03 12:58:28 -05:00
J. Nick Koston da6eca7b68
Avoid compiling entity service schema when passed defaults (#112099)
* 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 (#112097) 2024-03-03 12:48:28 -05:00
J. Nick Koston 9af12a0639
Avoid calling async_get_component twice for each component being setup (#112096)
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 (#112124)
* 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 (#112109) 2024-03-03 12:46:51 -05:00
Robert Svensson 4eb24b2db7
Clean up setup and teardown of Axis integration (#112120) 2024-03-03 12:42:44 -05:00
Luke Lashley 74f1420410
Add the ability to resume cleaning on start button (#112122) 2024-03-03 12:41:31 -05:00
Michael 409dc02d36
Ignore failing gas stations in Tankerkoening (#112125) 2024-03-03 18:29:02 +01:00
G Johansson cdd7b94a95
Move all System Monitor updates into single Data Update Coordinator (#112055) 2024-03-03 07:24:04 -10:00
J. Nick Koston faee9d996d
Import steamist in the executor to avoid blocking the loop (#112111) 2024-03-03 07:21:55 -10:00
Jan-Philipp Benecke 911cf60678
Address late review for Ping (#112123)
* 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 (#112103) 2024-03-03 07:00:35 -10:00