Commit Graph

20220 Commits (b644c03fa743d0a022607a650facf0e75102aad7)

Author SHA1 Message Date
Jan Bouwhuis c608d1cb85
Fix mqtt platform setup race (#112888) 2024-03-10 08:36:17 -10:00
Shai Ungar eb81bf1d49
Improve 17track tests (#112734)
* 17Track tests

* add 17Track sensor to coverage

* extract repeated code

* 1. _goto_future - call tick only once
2. change test name to reflect test
3. remove ifs from test

* remove undersocre from _goto_future
2024-03-10 18:57:28 +01:00
Ernst Klamer e91a38eede
Add Locks to Xiaomi-BLE (#111156) 2024-03-09 22:29:48 -10:00
A Björck e631224372
Bump yalexs to 2.0.0 (#111706)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-09 22:11:10 -10:00
Robert Svensson ffcbab1c20
Split out deCONZ hub (#112854)
* Rename DeconzGateway to DeconzHub

* Move gateway.py to hub/hub.py
2024-03-10 08:25:12 +01:00
J. Nick Koston f1b5dcdd1b
Refactor handling of device updates in ESPHome (#112864) 2024-03-09 20:30:17 -10:00
J. Nick Koston 60bddc2861
Schedule coroutine functions eagerly when async_listen uses run_immediately (#112846)
We have a few places where we call async_listen with a callback so we can schedule
the coro eagerly. We can drop these in favor of setting run_immediately now.
2024-03-09 23:04:25 -05:00
Jan Bouwhuis caaa03536b
Cleanup mqtt PLATFORMS constant and CI-test platform filters (#112847) 2024-03-09 23:48:54 +01:00
J. Nick Koston 23ebd80285
Schedule coroutines with eager_task from async_track_state_change_event (#112807) 2024-03-09 11:24:54 -10:00
J. Nick Koston 4882fed939
Avoid saving auth right after we load it during startup (#112008) 2024-03-09 11:03:22 -10:00
Arie Catsman 44abe329a2
Enphase Envoy refactor and extend diagnostics (#109080)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-09 11:03:07 -10:00
Jan Bouwhuis 3b0ea52167
Allow Just-in-Time platform setup for mqtt (#112720)
* Allow Just-in-Time platform setup for mqtt

* Only forward the setup of new platforms

* Fix new  platforms being setup at reload + test

* Revert not related changes

* Remove unused partial

* Address comments, only import plaforms if needed

* Apply suggestions from code review

* Add multipl platform discovery test

* Improve test

* Use a lock per platform
2024-03-09 21:55:00 +01:00
J. Nick Koston d0d1af8991
Improve performance of image streams (#112810) 2024-03-09 10:26:48 -10:00
Joost Lekkerkerker 033dd35655
Add icon translations to Yeelight (#112363)
* Add icon translations to Yeelight

* Add icon translations to Yeelight
2024-03-09 20:48:21 +01:00
Robert Svensson 020b656f51
Split out Axis config data (#112825)
Split out config data
2024-03-09 13:00:25 -05:00
Robert Svensson 03e4a20cdf
Rename get_deconz_session to get_deconz_api (#112826)
Move and rename get_deconz_session to get_deconz_api
2024-03-09 18:32:31 +01:00
jan iversen 59083b4e82
Remove deprecated retry_on_empty from modbus (#112822)
Remove deprecated retry_on_empty.
2024-03-09 13:59:09 +01:00
jan iversen 797983236f
Remove deprecated CLOSE_COMM_ON_ERROR from modbus (#112821) 2024-03-09 13:24:06 +01:00
Jan Bouwhuis 6534943837
Revert "Cleanup mqtt discovery code" (#112818)
Revert "Cleanup mqtt discovery code (#112749)"

This reverts commit 87318c9111.
2024-03-09 12:54:10 +01:00
jan iversen fca3ac9903
Update modbus test to include a dummy sensor (#112820) 2024-03-09 12:19:57 +01:00
Jan Bouwhuis 87318c9111
Cleanup mqtt discovery code (#112749)
* Cleanup mqtt discovery code

* Cleanup mqtt discovery code
2024-03-09 11:54:27 +01:00
J. Nick Koston 2b0b3c238a
Make SSDP tasks background HassJob to avoid delaying startup (#112668) 2024-03-08 23:11:00 -10:00
J. Nick Koston b7d9f26cee
Cache the job type for entity service calls (#112793) 2024-03-08 22:49:08 -10:00
Robert Svensson f2879e6f39
Break out UniFi platform registration to its own class (#112514) 2024-03-09 09:18:23 +01:00
J. Nick Koston a50883d975
Run service call tasks eagerly (#112791) 2024-03-08 20:37:21 -10:00
Allen Porter 2789060bbe
Fix local calendar handling of empty recurrence ids (#112745)
* Fix handling of empty recurrence ids

* Revert logging changes
2024-03-08 22:28:04 -05:00
Aaron Bach 3405bda835
Make sure Notion saves new refresh token upon startup (#112676)
* Make sure Notion saves new refresh token upon startup

* Code review

* Typing

* Smoother syntax

* Fix tests

* Fix tests for real
2024-03-08 22:27:56 -05:00
J. Nick Koston 65358c129a
Replace periodic tasks with background tasks (#112726)
* Phase out periodic tasks

* false by default or some tests will block forever, will need to fix each one manually

* kwarg works

* kwarg works

* kwarg works

* fixes

* fix more tests

* fix more tests

* fix lifx

* opensky

* pvpc_hourly_pricing

* adjust more

* adjust more

* smarttub

* adjust more

* adjust more

* adjust more

* adjust more

* adjust

* no eager executor

* zha

* qnap_qsw

* fix more

* fix fix

* docs

* its a wrapper now

* add more coverage

* coverage

* cover all combos

* more fixes

* more fixes

* more fixes

* remaining issues are legit bugs in tests

* make tplink test more predictable

* more fixes

* feedreader

* grind out some more

* make test race safe

* one more
2024-03-08 21:45:10 -05:00
J. Nick Koston 08416974c9
Avoid trying to load translations for integrations that have none (#112683) 2024-03-08 14:21:44 -10:00
J. Nick Koston af6f2a516e
Guard against db corruption when renaming entities (#112718) 2024-03-08 11:34:07 -10:00
Marc Mueller cef20506dc
Replace EventType with Event [missing] (#112753) 2024-03-08 21:56:42 +01:00
Marc Mueller aa16a9d707
Add empty line after module docstring (3) (#112750) 2024-03-08 20:38:34 +01:00
puddly 55b2d1a00c
Disable updating ZHA coordinator path from discovery info (#112415)
* Never update the device path from config flows

* Bring coverage up to 100%

* Update tests/components/zha/test_config_flow.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-08 14:33:33 -05:00
Marc Mueller 959826c4b4
Update byte string formatting (#112752) 2024-03-08 20:32:40 +01:00
Sid 0e86f182cc
Add diagnostics to webmin (#112543) 2024-03-08 20:09:31 +01:00
Marc Mueller b026b5d589
Replace EventType with Event [helpers] (#112743) 2024-03-08 19:41:50 +01:00
Marc Mueller a6b842f818
Add empty line after module docstring (2) [other] (#112738) 2024-03-08 19:16:38 +01:00
Marc Mueller 32f3f46542
Add empty line after module docstring (2) [tests.components] (#112737) 2024-03-08 19:16:21 +01:00
Marc Mueller cb8c14496c
Use more f-strings [ruff] (#112695) 2024-03-08 18:44:42 +01:00
Marc Mueller 19ab3d6daf
Add empty line after module docstring [helpers + other] (#112707) 2024-03-08 10:36:11 -05:00
jan iversen ea89fa6b1e
Allow duplicate names in different modbus entities (#112701)
Allow duplicate names in different entities.
2024-03-08 15:10:35 +01:00
Marc Mueller 1722e23df8
Add empty line after module docstring [tests l-p] (#112710) 2024-03-08 14:55:15 +01:00
Marc Mueller 38adfbf1a3
Add empty line after module docstring [tests a-e] (#112708) 2024-03-08 08:50:25 -05:00
Marc Mueller c88b337600
Add empty line after module docstring [tests f-k] (#112709) 2024-03-08 14:50:04 +01:00
Marc Mueller 7d6251ca08
Add empty line after module docstring [tests q-s] (#112711) 2024-03-08 14:47:22 +01:00
Marc Mueller 87165c0d6e
Add empty line after module docstring [tests t-z] (#112712) 2024-03-08 14:44:56 +01:00
Marc Mueller 2d701d5a7d
Use aiohttp.AppKey for http cors keys (#112658) 2024-03-08 11:51:59 +01:00
Thomas55555 9ba5159ae2
Add reauthentication for husqvarna_automower (#109930)
* Add reauthentication for husqvarna_automower

* Remove unneded lines

* Don't extract token on reauth

* Update homeassistant/components/husqvarna_automower/config_flow.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update tests/components/husqvarna_automower/conftest.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Use helper

* Test if authentication is done with the right account

* switch to ConfigFlowResult

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-08 11:30:39 +01:00
Marc Mueller eb8f8e1ae4
Use aiohttp.AppKey for http ban keys (#112657) 2024-03-08 11:13:24 +01:00
Jim d2effd8693
Bump python-telegram-bot package to 21.0.1 (#110297)
* Bump python-telegram-bot package version to the latest.

* PySocks is no longer required as python-telegram-bot doesn't use urllib3 anymore.

* Fix moved ParseMode import

* Update filters import to new structure.

* Refactor removed Request objects to HTTPXRequest objects.

* Update to support asyncc functions

* Update timeout to new kwarg

connect_timeout is the most obvious option based on current param description, but this may need changing.

* Compatibility typo.

* Make methods async and use Bot client async natively

* Type needs to be Optional

That's what the source types are from the library
Also handle new possibility of None value

* Add socks support version of the library

* Refactor load_data function

Update to be async friendly
Refactor to use httpx instead of requests.

* Refactor Dispatcher references to Application

This is the newer model of the same class.

* Make more stuff async-friendly.

* Update tests to refactor Dispatcher usage out.

* Remove import and reference directly

* Refactor typing method

* Use async_fire now we have async support

* Fix some over complicate inheritance.

* Add the polling test telegram_text event fired back in.

* Add extra context to comment

* Handler should also be async

* Use underscores instead of camelCase

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Renamed kwarg.

* Refactor current timeout param to be read timeout

Reading the old version of the library code I believe this matches the existing functionality best

* Combine unload methods into one listener

* Fix test by stopping HA as part of fixture

* Add new fixture to mock stop_polling call

Use this in all polling tests.

* No longer need to check if application is running

It was to stop a test failing.

* Make sure the updater is started in tests

Mock external call methods
Remove stop_polling mock.

* Use cleaner references to patched methods

* Improve test by letting the library create the Update object

* Mock component tear down methods to be async

* Bump mypy cache version

* Update dependency to install from git

Allows use as a custom component in 2024.3
Allows us to track mypy issue resolution.

* Update manifest and requirements for new python-telegram-bot release.

* Remove pytest filterwarnings entry for old version of python-telegram-bot library.

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-08 08:56:26 +01:00
J. Nick Koston caefdc6192
Avoid writing registries to disk during startup (#112662) 2024-03-07 19:14:42 -10:00
J. Nick Koston a6b17dbe68
Schedule polling as periodic tasks (#112640)
* Schedule periodic coordinator updates as background tasks.

Currently, the coordinator's periodic refreshes delay startup because they are not scheduled as background tasks. We will wait if the startup takes long enough for the first planned refresh. Another coordinator's scheduled refresh will be fired on busy systems, further delaying the startup. This chain of events results in the startup taking a long time and hitting the safety timeout because too many coordinators are refreshing.

This case can also happen with scheduled entity refreshes, but it's less common. A future PR will address that case.

* periodic_tasks

* periodic_tasks

* periodic_tasks

* merge

* merge

* merge

* merge

* merge

* fix test that call the sync api from async

* one more place

* cannot chain

* async_run_periodic_hass_job

* sun and pattern time changes from automations also block startup

* Revert "sun and pattern time changes from automations also block startup"

This reverts commit 6de2defa05.

* make sure polling is cancelled when config entry is unloaded

* Revert "Revert "sun and pattern time changes from automations also block startup""

This reverts commit e8f12aad55.

* remove DisabledError from homewizard test as it relies on a race

* fix race

* direct coverage
2024-03-07 23:32:26 -05:00
J. Nick Koston 5da629b3e5
Log waiting tasks in bootstrap that are delaying startup (#112637) 2024-03-07 13:18:18 -10:00
Joost Lekkerkerker c1d45f63f5
Fix Bang and olufsen naming (#111344)
* Fix Bang and olufsen naming

* Fix

* Fix tests

* Fix tests
2024-03-07 20:15:52 +01:00
Marc Mueller f3594c543d
Use KEY_HASS [a-g] (#112609) 2024-03-07 18:09:20 +01:00
Marc Mueller 8ca127df2a
Use KEY_HASS [h-z] (#112610) 2024-03-07 18:03:44 +01:00
Erik Montnemery fa4c0d78e9
Restore the juicenet integration (#112578) 2024-03-07 16:41:54 +01:00
Marc Mueller 531e25cbc6
Change KEY_HASS to be an aiohttp AppKey (#111954) 2024-03-07 13:37:48 +01:00
Joost Lekkerkerker d42dd0114d
Add icon translations to Twinkly (#112328) 2024-03-07 12:33:28 +01:00
J. Nick Koston 1fb9cfe37e
Speed up the frame helper (#112562) 2024-03-06 20:54:09 -10:00
J. Nick Koston e12e129065
Make HassJob job_type lookup lazy (#112563) 2024-03-06 17:03:27 -10:00
J. Nick Koston a7b4cd3512
Pass job type to event listeners when creating entities (#112551) 2024-03-06 16:10:07 -10:00
J. Nick Koston 1772e5257c
Move analytics setup to later stage to avoid delaying frontend startup (#112535)
Move analytics setup to stage 1 to avoid delaying frontend startup

analytics was only needed in the frontend startup phase for onboarding.
Its very unlikely the user will be able to complete the onboarding
steps and get to the analytics screen before analytics is done loading
so we can delay loading it until stage 1. To be absolutely sure that
it is ready, the core_config step in onboarding will wait to proceed
if it is some how still being setup
2024-03-06 20:37:41 -05:00
Joost Lekkerkerker 74dabff4a7
Add icon translations to Waze Travel Time (#112352)
* Add icon translations to Waze Travel Time

* Fix tests
2024-03-06 17:06:41 -05:00
J. Nick Koston 675b1a392b
Fix homekit creating executor jobs to resolve default listen ips (#112522) 2024-03-06 11:46:23 -10:00
J. Nick Koston b8e39bd968
Increase bootstrap preload test timeout (#112520) 2024-03-06 11:06:55 -10:00
Sid d50e4f6645
Add snapshot tests to webmin (#112518)
add snapshot tests to webmin
2024-03-06 20:22:08 +01:00
Erik Montnemery 770e48d512
Simplify color mode logic in Tuya light (#110327)
* Simplify color mode logic in Tuya light

* Remove exclusion from LightEntity.__should_report_light_issue

* Fix test
2024-03-06 18:28:12 +01:00
Joost Lekkerkerker c8f39911cc
Enable some PERF rules (#112498)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-06 17:50:41 +01:00
Joost Lekkerkerker 656ef143da
Add icon translations to Wallbox (#112350)
* Add icon translations to Wallbox

* fix
2024-03-06 16:27:13 +01:00
Joost Lekkerkerker f368457544
Add icon translations to Sonarr (#112233) 2024-03-06 16:05:35 +01:00
Erik Montnemery 807c3ca76b
Add custom integration block list (#112481)
* Add custom integration block list

* Fix typo

* Add version condition

* Add block reason, simplify blocked versions, add tests

* Change logic for OK versions

* Add link to custom integration's issue tracker

* Add missing file

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 13:56:47 +01:00
Joost Lekkerkerker 0cdc90468e
Add icon translations to Tailscale (#112302) 2024-03-06 13:38:32 +01:00
Joost Lekkerkerker a23dbe4727
Add icon translations to Whois (#112356) 2024-03-06 13:36:01 +01:00
Joost Lekkerkerker 6be2fa1293
Add icon translations to Zerproc (#112366) 2024-03-06 13:35:08 +01:00
Joost Lekkerkerker 503d39ef0d
Add icon translations to TP-Link Omada (#112318)
* Add icon translations to TP-Link Omada

* Add icon translations to TP-Link Omada
2024-03-06 12:36:20 +01:00
Joost Lekkerkerker dc2d83f131
Add icon translations to ViCare (#112346)
* Add icon translations to ViCare

* Add icon translations to ViCare
2024-03-06 12:35:30 +01:00
Joost Lekkerkerker c00426293d
Add icon translations to Twentemilieu (#112327) 2024-03-06 11:51:23 +01:00
Joost Lekkerkerker c8f340966e
Add icon translations to Elgato (#111423) 2024-03-06 11:49:36 +01:00
Joost Lekkerkerker 2c42517ac4
Add icon translations to Tailwind (#112303) 2024-03-06 11:37:05 +01:00
Thomas55555 0a11cb5382
Avoid errors when there is no internet connection in Husqvarna Automower (#111101)
* Avoid errors when no internet connection

* Add error

* Create task in HA

* change from matter to automower

* tests

* Update homeassistant/components/husqvarna_automower/coordinator.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* address review

* Make websocket optional

* fix aioautomower version

* Fix tests

* Use stored websocket

* reset reconnect time after sucessful connection

* Typo

* Remove comment

* Add test

* Address review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 11:25:56 +01:00
Erik Montnemery 8c2c3e0839
Improve integration_entities template function (#111943) 2024-03-06 11:05:06 +01:00
Aidan Timson 2599252600
Post System Bridge 4.x.x integration improvements (#112189)
* Dont remove api key during migration

* Fix return

* Fix test

* Make lambda more readable

* Move fixtures to init, move migration test to test_init.py

* Refactor config_entry data assignment

* Refactor system_bridge migration tests

* Fix type for debug message

* Fix type for debug message

* Remove duplicated unused code (rebase error)

* Refactor test_migration_minor_2_to_1 to test_migration_minor_future_to_2

* Fix version check in async_migrate_entry

* Update migration logic to handle future minor version

* Add ConfigEntryState assertion in test_init.py

* Change condition to minor_version < 2

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Refactor system bridge migration tests

* Remove minor downgrade code

* Update tests/components/system_bridge/test_init.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/system_bridge/test_init.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Move dataclass to store requested data to data.py

* Use dataclass in config flow

* Move media player and sensor onto data.py dataclass

* Move data and handler inside validate

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 10:47:21 +01:00
J. Nick Koston 72ac2f127f
Wait to start emulated_hue until the started event (#112477) 2024-03-05 22:25:11 -10:00
Brett Adams f801ec45ce
Bump tesla-fleet-api to 0.4.9 (#112288)
* Bump to 0.4.9

* Use SubscriptionRequired instead of PaymentRequired
2024-03-06 09:09:15 +01:00
J. Nick Koston f3a9756f81
Avoid waiting for integration platforms in the parent integration (#112467) 2024-03-05 21:16:42 -10:00
J. Nick Koston 87739bc072
Add test to ensure bootstrap continues if an integraton raises CancelledError (#112472) 2024-03-05 19:34:16 -10:00
Joost Lekkerkerker fdb85f9e9e
Add icon translations to TechnoVE (#112306)
* Add icon translations to TechnoVE

* Add icon translations to TechnoVE
2024-03-06 06:31:58 +01:00
J. Nick Koston 8fe80a4766
Migrate remaining get_platform in check_config to async_get_platform (#112470)
These were very likely to be cached so they were low on the
list to migrate, but since they are called in the event loop
its best to be sure we do no blocking I/O
2024-03-05 23:47:41 -05:00
J. Nick Koston 982c8f8f4a
Fix incorrect scope on checking files to load in translations (#112457)
discovered in https://github.com/home-assistant/core/pull/112295#discussion_r1513505710

We only checked if the last language had files to load
instead of all of them. The checks for each language
are the same because the only reason we would skip
a language is a missing/broken integration or the integration
is a single file. Both of these loop conditions are always
the same reguardless of the language so the check worked
2024-03-05 23:46:24 -05:00
J. Nick Koston aa216f0298
Add system_health to the hassio pre-imports to avoid a late executor job (#112466)
* Add system_health to the hassio pre-imports to avoid a late executor job

`2024-03-05 17:01:33.034 DEBUG (MainThread) [homeassistant.loader] Importing platforms for hassio executor=[system_health] loop=[] took 0.12s`

This one does not take that much time but it happens at a time where
the import executor is the most busy during startup

* key

* move patch as its too early now
2024-03-05 21:31:38 -05:00
J. Nick Koston 3f9dbd3e25
Fix config modules being imported in the event loop (#112462)
* Fix config modules being imported in the event loop

There was a late import in this integration because of the circular import.

The code has been rearranged to avoid the circular imports

* fixes

* fixes

* fix patching

* make eager

* remove unrelated change from this branch
2024-03-05 21:18:57 -05:00
J. Nick Koston fbabbc8f92
Limit legacy state translations to custom components (#112295)
* Limit legacy state translations to custom components

We were trying to load **thousands** of `*.light.json`, `*.switch.json` files at run time that did not exist.

There have been replaced with entity translations: https://github.com/home-assistant/developers.home-assistant/pull/1557 https://github.com/home-assistant/core/pull/82701

https://github.com/home-assistant/core/pull/112023 will completely remove them, but
for now we will only load them for custom components to reduce the number
of files having to be examined

* reduce

* reduce

* reduce

* reduce

* comment

* coverage

* try to remove empty dict in loaded_translations fallback when missing
2024-03-05 17:27:45 -05:00
J. Nick Koston 235771aaa2
Bump SQLAlchemy to 2.0.28 (#112314) 2024-03-05 12:14:30 -10:00
Erik Montnemery 3d3e9900c3
Add TypeVar default for FlowResult (#112345)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-03-05 22:52:11 +01:00
jan iversen 4a1681bb4b
Allow duplicate modbus addresses on different devices (#112434) 2024-03-05 22:11:04 +01:00
Robert Svensson 7c9891fff9
Break out UniFi config handling to own class (#111325) 2024-03-05 21:36:26 +01:00
Jan-Philipp Benecke dda0f0d9aa
Remove the deprecated YAML support for Aftership (#112390) 2024-03-05 21:28:50 +01:00
Erik Montnemery a515603aaf
Add button to homeworks (#112269) 2024-03-05 19:10:13 +01:00
J. Nick Koston 946572e382
Simplify loader preload logic for config_flows (#112290)
We previously checked Integration.config_flow to see if we should
pre-import the config flow, but this is now always set for some
integration like `homeassistant_green`, `hassio`, etc. Instead
we can add it to the rest of the platforms since we already know
which files exist. This simplifies the logic and ensures the pre-import
still happens if the file is there even if its not listed in the
manifest

`2024-03-04 22:54:31.906 DEBUG (MainThread) [homeassistant.loader] Importing platforms for homeassistant_green executor=[config_flow] loop=[] took 2.74s`
2024-03-05 10:02:23 -05:00
J. Nick Koston 7cb8a8bbc9
Migrate remaining calls in config modules to async_get_component (#112293)
* Migrate remaining calls in config modules to async_get_component

There were a few cases that were still using get_component that
could have done blocking I/O in the event loop, although it
was unlikely.

The caching check in async_get_component has been moved
up to avoid creating the future if the module is already in
the cache

* fix one more
2024-03-05 09:59:52 -05:00
Joost Lekkerkerker dca7083026
Add icon translations to Uptimerobot (#112336)
* Add icon translations to Uptimerobot

* Add icon translations to Uptimerobot
2024-03-05 15:32:12 +01:00
fwestenberg 385b29bdf5
Add Beaufort to wind_speed (#105795)
* Add Beaufort to wind_speed

* Add Bft to UnitOfSpeed

* Update tests with Bft

* Remove check for unit

* Fix test_deprecated_constants

* Test depricated constant Beaufort

* Fix test_unit_system.py for Beaufort

* Remove _DEPRECATED_SPEED_FEET_BEAUFORT

* Remove maxsize from lru_cache

* Update test_deprecated_constants

* Update comment

* Add missing docstring

* Apply suggestions from code review

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-05 14:55:59 +01:00
J. Nick Koston f3eb292c2d
Remove async_entity_ids and get_entity_ids from entity registry (#112311)
added in #112277 but not used yet.
2024-03-05 14:50:41 +01:00
Álvaro Fernández Rojas bf596562bf
Update aioairzone-cloud to v0.4.6 (#112198)
This adds Cloud Push related functionality.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-05 15:25:15 +02:00
Joost Lekkerkerker d3f28718ec
Add icon translations to Tedee (#112307)
* Add icon translations to Tedee

* Add icon translations to Tedee
2024-03-05 14:20:59 +01:00
Joost Lekkerkerker afdb7d15ca
Add icon translations to YouTube (#112365)
* Add icon translations to YouTube

* Add icon translations to YouTube
2024-03-05 13:59:08 +01:00
Joost Lekkerkerker d9e9b55a4b
Add icon translations to Trafikverket Ferry (#112321)
* Add icon translations to Trafikverket Ferry

* Add icon translations to Trafikverket Ferry
2024-03-05 12:58:51 +01:00
Joost Lekkerkerker 6e99ca0d8a
Add icon translations to Trafikverket Train (#112322)
* Add icon translations to Trafikverket Train

* Add icon translations to Trafikverket Train
2024-03-05 12:58:19 +01:00
Robert Svensson 4437b3bc97
Fix deCONZ light entity might not report a supported color mode (#112116)
* Handle case where deCONZ light entity might not report a supported color mode

* If in an unknown color mode set ColorMode.UNKNOWN

* Fix comment from external discussion
2024-03-05 11:55:22 +01:00
Joost Lekkerkerker 0b4fafddbc
Add icon translations to Systemmonitor (#112300)
* Add icon translations to Systemmonitor

* Add icon translations to Systemmonitor
2024-03-05 11:52:50 +01:00
Joost Lekkerkerker 0e0c1d337f
Add icon translations to P1 monitor (#111998)
* Add icon translations to P1 monitor

* Add icon translations to P1 monitor
2024-03-05 08:50:46 +01:00
Jan Bouwhuis 0c2cf881ac
Deprecate old config options for MQTT json light (#111676)
* add deprecaction

* Deprecate old config options for mqtt json light

* Do not deprecate brightness flag

* Enable brightness support by default

* Keep `false` as default for brightness flag

* Add warnings and register issue

* log warning and register on use of color_mode flag

* Remove redundant cv.deprecated logging + follow up comments
2024-03-05 08:49:05 +01:00
Joost Lekkerkerker b8be90efa8
Add icon translations to Rituals perfume genie (#112213)
* Add icon translations to Rituals perfume genie

* Add icon translations to Rituals perfume genie
2024-03-05 08:45:47 +01:00
Joost Lekkerkerker a3a758bd17
Add icon translations to Ring (#112212)
* Add icon translations to Ring

* Add icon translations to Ring
2024-03-05 08:45:33 +01:00
Joost Lekkerkerker 926159ab9a
Add icon translations to RDW (#112203)
* Add icon translations to RDW

* Add icon translations to RDW
2024-03-05 08:45:10 +01:00
Robert Svensson ab4750c2ea
Remove unnecessary access to UniFi hub object in tests (#112275)
* Remove unnecessary access to UniFi hub object

* Split strings

* Skip + on concatenating f-strings

* Use single quotes inside double quotes
2024-03-05 08:23:17 +01:00
J. Nick Koston 8b017016b0
Refactor integration platforms to import in the executor (#112168)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-04 19:21:18 -10:00
J. Nick Koston 1e173e82d0
Add support for preloading platforms in the loader (#112282)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-04 16:33:12 -10:00
J. Nick Koston 2c179dc5fb
Reduce some linear searches to cleanup the device registry (#112277)
Some of the data we had to search for was already available
in a dict or underlying data structure. Make it available
instead of having to build it every time.

There are more places these can be used, but I only did
the device registry cleanup for now
2024-03-04 20:59:12 -05:00
Luke Lashley 59df20f1d4
Bump python_roborock to 0.40.0 (#112238)
* bump to python_roborock 0.40.0

* manifest went away in merge?
2024-03-04 20:28:53 +01:00
Erik Montnemery 7e7f25c859
Add config flow to homeworks (#112042) 2024-03-04 19:09:39 +01:00
Brett Adams b5528de807
Add sensor platform to Teslemetry (#109088)
* Adding Energy

* Adding Energy

* Work in progress

* Add fixtures

* Add product info

* Add sensors

* Add icons

* Update metadata

* Use SensorEntityDescription for Energy

* Use ENERGY_STORAGE

* Add tests

* Fix coverage

* Update wall connector precision and units

* Change devices

* Fix serial number

* Add icons and VIN to wall connector

* Fix serial number again

* Update snapshots

* Use timestamp for minutes to arrival

* Cleanup snapshot

* Improvements

* Update fixture

* Add "code" to translations

* Add "code" to snapshot

* Use async_add_entities once

* Disable a bunch of sensors

* Ruff

* Improve fixture and test coverage

* Regen Snapshots

* Add init to coordinator
2024-03-04 18:42:56 +01:00
Xiretza b195c3fa7b
Fix spaceapi attribute for closed icon (#108596)
spaceapi: fix attribute for closed icon

The JSON field is "state.icon.closed", not "state.icon.close".
2024-03-04 18:22:18 +01:00
hopkins-tk 3d1fbe444e
Fix authentication issues for asekopool (#99495)
* fix: handle authentication issues for asekopool

* fix: handle authentication issues for asekopool

* feat: add config migration

* feat: add re-authentication step

* fix: add reauth message

* fix: add tests for config flow

* fix: tests clean up

* Update homeassistant/components/aseko_pool_live/__init__.py

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

* Update homeassistant/components/aseko_pool_live/__init__.py

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

* fix: Reformat code

* Fix bad merge

* Really fix bad merge

* Update config_flow.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-04 17:20:46 +01:00
Joost Lekkerkerker 91b2dd4b83
Add icon translations to Sensibo (#112222)
* Add icon translations to Sensibo

* Add icon translations to Sensibo

* Add icon translations to Sensibo
2024-03-04 17:20:27 +01:00
belangp 58d0420a6b
Add Hyperion sensor to report active priority on each instance (#102333)
* Implement code review comments

* Update homeassistant/components/hyperion/sensor.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-04 17:20:20 +01:00
Joost Lekkerkerker 2db0da3915
Add icon translations to Renault (#112205)
* Add icon translations to Renault

* Add icon translations to Renault
2024-03-04 15:46:14 +01:00
Joost Lekkerkerker d811125eb7
Add icon translations to Rainbird (#112200)
* Add icon translations to Rainbird

* Add icon translations to Rainbird
2024-03-04 15:26:41 +01:00
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
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
Erik Montnemery c58828aac0
Remove unused test helper mock_area_registry (#112172) 2024-03-04 06:09:27 -05: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
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
J. Nick Koston 943996b60b
Avoid multiple executor jobs with concurrent calls to async_get_component (#112155) 2024-03-03 20:22:31 -10: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
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
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
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
G Johansson cdd7b94a95
Move all System Monitor updates into single Data Update Coordinator (#112055) 2024-03-03 07:24:04 -10:00
Joakim Plate 13653be09b
Add event platform to rfxtrx (#111526) 2024-03-03 17:15:54 +01:00
Åke Strandberg 073fcfcd6f
Add tests for number of devices created in myuplink (#111816)
* 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 (#111980)
* Add icon translations to Nexia

* Add icon translations to Nexia
2024-03-03 14:08:33 +01:00
Álvaro Fernández Rojas 25ba046ff1
Fix flakey airzone_cloud tests by avoiding creation of the websocket (#112102) 2024-03-03 00:56:14 -10:00
Jan-Philipp Benecke 25551fa938
Move Ping binary sensor attributes to sensor entities (#112004)
* 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 (#112010) 2024-03-02 23:03:35 -10:00
J. Nick Koston c8cb0ff61d
Avoid trying to import platforms that do not exist (#112028)
* 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
J. Nick Koston 6421a08ba8
Avoid expensive inspect calls in config validators (#112085)
* 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 3808e8b0bc
Switch config to use async_get_component/async_get_platform (#112071) 2024-03-02 13:56:25 -10:00
J. Nick Koston 08897137ff
Pre-import more frontend deps to avoid importing when the event loop is running (#112031) 2024-03-02 13:44:06 -10:00
elmurato 9e428c6c5f
Fix setup failure due to temporary DNS issue in Minecraft Server (#112068)
Change ConfigEntryError to ConfigEntryNotReady on failed init
2024-03-02 17:28:27 -05:00
J. Nick Koston 546fc1e282
Refactor file_upload to avoid janus dep (#112032) 2024-03-02 10:58:08 -10:00
Álvaro Fernández Rojas 61e28291be
Update aioairzone-cloud to v0.4.5 (#112034)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-02 19:14:00 +01:00
Robert Svensson ece5587e1f
Streamline naming in the Axis integration (#112044)
* Rename device.py to hub.py

* Rename AxisNetworkDevice to AxisHub

* Move hub.py into hub package

* Rename get_axis_device to get_axis_api

* Split out get_axis_api to its own module

* Rename device object to hub

* Rename device to api in config flow

* Convenience method to get hub
2024-03-02 11:32:51 -05:00
Jan-Philipp Benecke 196089e8b7
Remove deprecated `hass.components.hassio` usage (#111878) 2024-03-02 15:38:31 +01:00
J. Nick Koston c0f7ade92b
Convert command_line to use asyncio for subprocesses (#111927)
* Convert command_line to use asyncio for subprocesses

* fixes

* fix

* fixes

* more test fixes

* more fixes

* fixes

* preen
2024-03-01 23:15:10 -05:00
Joost Lekkerkerker dd2d7e579d
Add icon translations to Opensky (#111994)
* Add icon translations to Opensky

* Add icon translations to Opensky
2024-03-02 00:56:34 +01:00
Joost Lekkerkerker 2e12e5cda1
Add icon translations to Netgear LTE (#111974)
* Add icon translations to Netgear LTE

* Add icon translations to Netgear LTE

* Update homeassistant/components/netgear_lte/icons.json
2024-03-02 00:35:17 +01:00
Joost Lekkerkerker 4ae7102f63
Add icon translations to Modern Forms (#111933)
* Add icon translations to Modern Forms

* Add icon translations to Modern Forms
2024-03-02 00:20:21 +01:00
Paulus Schoutsen 0628c26ea0
Update reporting for media_source.async_resolve_media (#111969)
* Update reporting for media_source.async_resolve_media

* Don't raise on core

* Fix tests
2024-03-01 16:18:58 -05:00
Marc Mueller 1f173aff17
Fix loader test warning (#111965) 2024-03-01 19:26:44 +01:00
Arie Catsman 99f08fb417
Fix LingeringTask after test completion in enphase_envoy (#111940) 2024-03-01 07:12:08 -10:00
gibwar 52fe0a5e96
Fix utility meter reset without tarrifs (#102884)
* Fix utility meter reset without tarrifs

When using a utility_meter helper set up with a "Meter reset cycle" of
"No cycle" it is impossible to properly reset the meter to 0 and utilize
the "last reset" and "last period" attributes on the helper.

With these changes the service call can now directly reset a meter in
such a configuration and the UI selector has been updated to include
utility meters in the selection list.

Fixes #96920

* Undo UI target selection modes

As requested to not cause confusion by being able to reset individual
meters when using multiple tariffs.

* Adjust logic to only reset standalone sensors

The original logic would allow resetting meters with multiple tariffs
which was an unintended side effect.
2024-03-01 16:44:24 +01:00
Joost Lekkerkerker e43c62af1e
Add icon translations to Litterrobot (#111899) 2024-03-01 13:40:37 +01:00
Joost Lekkerkerker 1f3b0a4371
Add icon translations to Minecraft Server (#111928)
* Add icon translations to Minecraft Server

* Add icon translations to Minecraft Server

* Add icon translations to Minecraft
2024-03-01 07:20:51 -05:00
Erik Montnemery 3a5e0c14bf
Remove config flow specifics from FlowResult (#111932)
* Remove config flow specifics from FlowResult

* Improve docstring

* Update pylint rules
2024-03-01 13:07:13 +01:00
G Johansson 9989a63cdf
Add reconfigure step to config flow (#108794)
* Initial commit reconfigure

* test config config_entries

* Fix reconfigure

* test_config_entries

* review comment

* No reconfigure if reauth ongoing

* Fix tests

* Fix tests

* handle source creating flows

* combine

* No black

* Also check reconfigure in reauth flow

* Fix support

* Add entry id

* reset data entry flow

* Mods

* context data

* reset formatting

* Fix config flow platforms

* Fix tests

* Fix step message

* Handling reconfigure step

* Fix more tests

* Config entries tests

* entry_id always means reconfigure

* Mods

* Remove no longer valid exception

* Fixes

* reset silabs test

* dev reg

* resets

* assist pipeline

* Adjust config_entries

* Fix

* Fixes

* docstrings

* Review comment

* docstring
2024-03-01 12:29:35 +01:00
Joost Lekkerkerker cc2ce4f4a6
Add icon translations to Flipr (#111540) 2024-03-01 12:25:34 +01:00
Jevgeni Kiski ce3d774222
Add Vallox filter replacement date (#111391)
* Vallox: reset filter button

* Better names

* Change from button to date platform

* Review

* Fix

* Drop ValloxDateEntityDescription

* Stale docstrings

* Stale docstring
2024-03-01 10:02:50 +01:00
Michael Hansen 0d0b64d351
Move HassSetPosition to homeassistant domain (#111867)
* Move HassSetPosition to homeassistant domain

* Add test for unsupported domain with HassSetPosition

* Split service intent handler

* cleanup

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-29 21:53:52 -05:00
Christopher Bailey 5890a7d38c
Add person tracking for UniFi Protect (#111289) 2024-02-29 16:26:24 -10:00
J. Nick Koston c1750f7c3a
Fix circular imports in core integrations (#111875)
* Fix circular imports in core integrations

* fix circular import

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* adjust

* fix

* increase timeout

* remove unused logger

* keep up to date

* make sure its reprod
2024-02-29 21:04:41 -05:00
J. Nick Koston 25510fc13c
Limit executor imports to a single thread (#111898)
* Limit executor imports to a single thread

* test for import executor

* test for import executor

* test for import executor

* fixes

* better fix
2024-02-29 21:02:13 -05:00
J. Nick Koston 3b93c21d9d
Switch influxdb to use a SimpleQueue (#111798) 2024-02-29 12:49:43 -10:00
Robert Svensson b39b2d161c
Deconz fix gradient color mode (#111890)
* Fix deconz gradient colormode

* Fix gradient light not reporting color mode in deCONZ
2024-02-29 22:43:47 +01:00
Erik Montnemery 9ec9ac4fd4
Migrate integrations u-z to generic flowhandler (#111866) 2024-02-29 20:08:16 +01:00
Erik Montnemery 6fe28d3764
Migrate integrations a-d to generic flowhandler (#111861) 2024-02-29 20:07:14 +01:00
J. Nick Koston ba4120d779
Fallback to event loop import on deadlock (#111868) 2024-02-29 09:01:03 -10:00
Michael Hansen f0deae319e
Use correct service name with Wyoming satellite + local wake word detection (#111870)
* Use correct service name with satellite + local wake word detection

* Don't load platforms for satellite services

* Update homeassistant/components/wyoming/data.py

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

* Fix ruff error

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-29 13:09:38 -05:00
Joost Lekkerkerker 36a5c71dc7
Add icon translations to Lastfm (#111855)
* Add icon translations to Lastfm

* Add icon translations to Lastfm
2024-02-29 17:01:09 +01:00
Robert Resch bfdc640e04
Remove unused translation key from Ecovacs mower (#111754)
* Remove unused translation key

* Update snapshots
2024-02-29 10:54:02 -05:00
Erik Montnemery a0e558c457
Add generic classes BaseFlowHandler and BaseFlowManager (#111814)
* Add generic classes BaseFlowHandler and BaseFlowManager

* Migrate zwave_js

* Update tests

* Update tests

* Address review comments
2024-02-29 16:52:39 +01:00
David F. Mulcahey 73b6e2bac8
Add support for ZHA entities exposed by Zigpy quirks (#111176)
* Add counter entities to the ZHA coordinator device

* rework to prepare for non coordinator device counters

* Initial scaffolding to support quirks v2 entities

* update for zigpy changes

* add assertion error message

* clean up test

* update group entity discovery kwargs

* constants and clearer names

* apply custom device configuration

* quirks switches

* quirks select entities

* quirks sensor entities

* update discovery

* move call to super

* add complex quirks v2 discovery test

* remove duplicate replaces

* add quirks v2 button entity support

* add quirks v2 binary sensor entity support

* fix exception in counter entitiy discovery

* oops

* update formatting

* support custom on and off values

* logging

* don't filter out entities quirks says should be created

* fix type alias warnings

* sync up with zigpy changes and additions

* add a binary sensor test

* button coverage

* switch coverage

* initial select coverage

* number coverage

* sensor coverage

* update discovery after rebase

* coverage

* single line

* line lengths

* fix double underscore

* review comments

* set category from quirks in base entity

* line lengths

* move comment

* imports

* simplify

* simplify
2024-02-29 10:38:21 -05:00
J. Nick Koston f59268b2ee
Include filename in exception when loading a json file fails (#111802)
* Include filename in exception when loading a json file fails

* fix
2024-02-29 10:30:29 -05:00