Commit Graph

89152 Commits (a135b4bb432ec47c1900771277fc5dab2acd970e)

Author SHA1 Message Date
Allen Porter 69938545df
Push more of the LLM conversation agent loop into ChatSession (#136602)
* Push more of the LLM conversation agent loop into ChatSession

* Revert unnecessary changes

* Revert changes to agent id filtering
2025-01-26 22:16:19 -05:00
Andrew Sayre dfbb48552c
Bump pyheos to v1.0.1 (#136604) 2025-01-26 20:49:55 -06:00
Marc Mueller 107184b55f
Update mypy-dev to 1.16.0a1 (#136544)
* Update mypy-dev to 1.16.0a1

* Fix

* Use type ignore until fixed upstream
2025-01-26 17:41:05 -06:00
Arie Catsman 642a06b0f0
Optimize enphase_envoy test integration setup. (#136572) 2025-01-26 17:38:45 -06:00
Pete Sage 3582d9b4da
Bump SoCo to 0.30.8 - Sonos (#136601)
update soco to 0.30.8
2025-01-26 17:34:16 -06:00
starkillerOG 17e12e6671
Prevent errors when Reolink privacy mode is turned on (#136506) 2025-01-26 22:44:15 +01:00
Jan Bouwhuis 3e0f6562c7
Cleanup stale devices on incomfort integration startup (#136566) 2025-01-26 14:57:32 -06:00
Steven B. 7133eec185
Bump python-kasa to 0.10.0 (#136586)
Bump python-kasa to 0.10.0

Release notes: https://github.com/python-kasa/python-kasa/releases/tag/0.10.0
2025-01-26 21:43:31 +01:00
starkillerOG 40127a5ca4
Add Reolink privacy switch entity (#136521) 2025-01-26 20:03:13 +01:00
Joris Pelgröm db2fed2034
Fix LetPot reauthentication flow tests setting up config entry (#136589)
Fix LetPot reauth tests setting up config entry
2025-01-26 09:42:44 -08:00
Joost Lekkerkerker 647a7ae8e0
Bump yt-dlp to 2025.01.26 (#136581) 2025-01-26 17:46:26 +01:00
epenet feb65c7e9f
Fix optional argument in deconz test type definition (#136411) 2025-01-26 17:42:10 +01:00
Norbert Rittel 909af0db82
Fix sentence-casing in action names, spelling of "IDs" (#136576) 2025-01-26 17:33:33 +01:00
Norbert Rittel 363ecde41b
Fix spelling of "Home Assistant" and "IDs" in xiaomi_aqara (#136578) 2025-01-26 17:32:09 +01:00
Andrew Sayre b27ee261bb
Fix HEOS play media type playlist (#136585) 2025-01-26 17:25:30 +01:00
Andrew Sayre 6a877ec77d
Don't cast type in HEOS services (#136583) 2025-01-26 16:53:10 +01:00
Andrew Sayre a2bc260dc1
Bump HEOS quality scale to silver (#136533)
bump heos quality scale
2025-01-26 09:51:29 -06:00
Andrew Sayre b467bb2813
Use typed ConfigEntry throughout HEOS (#136569) 2025-01-26 16:41:04 +01:00
Norbert Rittel c9218b91c1
Make casing of "server" and action descriptions consistent (#136561) 2025-01-26 16:33:43 +01:00
Markus Adrario a9f14ce174
Bump pyHomee to 1.2.5 (#136567) 2025-01-26 07:48:35 -06:00
Dan Raper 7044771876
Add select platform to Ohme (#136536)
* Add select platform

* Formatting

* Add parallel updates to select

* Remove comments
2025-01-26 13:52:01 +01:00
Markus Adrario 93a231fb19
Homee cover-test (#136563)
initial cover-test
2025-01-26 13:49:28 +01:00
tronikos 3adbf75154
Bump opower to 0.8.8 (#136555) 2025-01-26 12:06:05 +01:00
Andrew Sayre f8013655be
Move action implementation out of HEOS Coordinator (#136539)
* Move play_source

* Update property docstring

* Correct import location
2025-01-26 11:20:37 +01:00
Dan Raper ee07f1f290
Bump ohmepy version to 1.2.6 (#136547) 2025-01-25 19:05:20 -06:00
Martin Hjelmare 1a57992e78
Add restore backup tests (#136538)
* Test restore backup with busy manager

* Test restore backup with agent error

* Test restore backup with file error
2025-01-25 18:20:41 -06:00
Norbert Rittel 733e1feba3
Fix wrong plural on tado.add_meter_reading action (#136524)
As this action can only take a single argument the plural introduced in the descriptions is misleading.

This also makes the friendly name of the action consistent with its key name.
2025-01-25 18:20:05 -06:00
Robin Wohlers-Reichel cffb0a03d2
Add Darsstar as codeowner for solax integration (#136528)
* Add Darsstar as codeowner for solax integration

* Update manifest.json
2025-01-25 18:18:20 -06:00
Michael cf8409dcd2
Add backup agent to Synology DSM (#135227)
* pre-alpha state

* small type

* use ChunkAsyncStreamIterator from aiohttp_client helper

* create parent folders during upload if none exists

* check file station permissionsduring setup

* ensure backup-agents are reloaded

* adjust config flow

* fix check for availability of file station

* fix possible unbound

* add config flow tests

* fix existing tests

* add backup tests

* backup listeners are not async

* some more tests

* migrate existing config entries

* fix migration

* notify backup listeners only when needed during setup

* add backup settings to options flow

* switch back to the listener approach from the dev docs example

* add negative tests

* fix tests

* use HassKey

* fix tests

* Revert "use HassKey"

This reverts commit 71c5a4d6fa9c04b4907ff5f8df6ef7bd1737aa85.

* use hass loop call_soon instead of non-eager-start tasks

* use HassKey for backup-agent-listeners

* delete empty backup-agent-listener list from hass.data

* don't handle single file download errors

* Apply suggestions from code review

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

* add more tests

* we don't have entities related to file_station api

* add more backup tests

* test unload backup agent

* revert sorting of properties

* additional use hass config location for default backup path

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-01-25 22:31:30 +01:00
Christopher Fenner 5e6f624938
Add heat pump heating rod sensors in ViCare integration (#136467)
* add heating rod sensors

* add labels

* update snapshot
2025-01-25 21:42:49 +01:00
Keith 34e8595d19
Updated igloohome-api dependency to 0.1.0 (#136516)
- Updated igloohome-api to 0.1.0
2025-01-25 21:38:27 +01:00
J. Nick Koston 412636a198
Remove unneeded call active check in modbus (#136487)
We have an asyncio.Lock in place to prevent polling collisions
now so this is no longer needed

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-01-25 19:31:49 +02:00
Indu Prakash 1bf97e3f45
Bump pyvesync to 2.1.16 (#136493)
Update use pyvesync 2.1.16

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-01-25 19:31:16 +02:00
Abílio Costa 42f7bd0a8f
Reuse fixtures in config flow tests for Whirlpool (#136489)
* Use fixtures in config flow tests for Whirlpool

* Keep old tests; new one will go to separate PR
2025-01-25 19:30:52 +02:00
mkmer 821abc8c53
Bump AIOSomeComfort to 0.0.30 in Honeywell (#136523) 2025-01-25 19:22:03 +02:00
J. Nick Koston 772f61cf77
Reduce boilerplate code to setup modbus platform entities (#136491) 2025-01-25 07:14:06 -10:00
Andrew Sayre 2fb85aab8e
Incorporate GroupManager into HEOS Coordinator (#136462)
* Incorporate GroupManager

* Update quality scale

* Fix group params

* Revert quality scale change

* Rename varaible

* Move group action implementaton out of coordinator

* Fix get_group_members hass access

* entity -> entity_id
2025-01-25 18:04:33 +01:00
Joost Lekkerkerker 2db301fab9
Fix Spotify flaky test (#136529) 2025-01-25 18:53:27 +02:00
TimL 05bdfe7aa6
Abort config flow is device is unsupported (#136505)
* Abort config flow if device is not yet supported

* Abort on user step for unsupported device

* Add string for unsupported device

* fix tests due to extra get_info calls

* add tests for unsupported devices to abort flow
2025-01-25 13:17:38 +01:00
Ludovic BOUÉ 71d63bac8d
Add TemperatureLevel feature from Matter TemperatureControl cluster (#134532) 2025-01-25 12:22:45 +01:00
starkillerOG 8b24bac1d1
Bump reolink_aio to 0.11.8 (#136504) 2025-01-25 11:28:52 +01:00
Joost Lekkerkerker fb04c256a8
Refactor EZVIZ config flow tests (#136434) 2025-01-25 10:43:22 +01:00
Steven B. 28951096a8
Update tplink climate platform to use thermostat module (#136166) 2025-01-25 10:38:06 +01:00
TimL b25b97b6b6
Bump pysmlight to v0.1.6 (#136496) 2025-01-25 09:22:26 +01:00
J. Nick Koston d84fa1fcfb
Fix httpx late import of trio doing blocking I/O in the event loop (#136409)
httpx 0.28.1 moved the trio import to happen a bit later

```
2025-01-23 19:53:12.370 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open with args (/lib/c, rb) inside the event loop by integration rest at homeassistant/components/rest/data.py, line 88: self._async_client = create_async_httpx_client( (offender: /usr/local/lib/python3.13/ctypes/util.py, line 285: with open(filepath, rb) as fh:), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+rest%22
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 227, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 213, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 154, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 707, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 678, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2033, in _run_once
    handle._run()
  File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2360, in _async_forward_entry_setup
    result = await async_setup_component(
  File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component
    result = await _async_setup_component(hass, domain, config)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 420, in _async_setup_component
    result = await task
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 90, in async_setup
    await component.async_setup(config)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 146, in async_setup
    self.hass.async_create_task_internal(
  File "/usr/src/homeassistant/homeassistant/core.py", line 832, in async_create_task_internal
    task = create_eager_task(target, name=name, loop=self.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 307, in async_setup_platform
    await self._platforms[key].async_setup(platform_config, discovery_info)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 303, in async_setup
    await self._async_setup_platform(async_create_setup_awaitable)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 363, in _async_setup_platform
    awaitable = create_eager_task(awaitable, loop=hass.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/components/rest/sensor.py", line 85, in async_setup_platform
    await rest.async_update(log_errors=False)
  File "/usr/src/homeassistant/homeassistant/components/rest/data.py", line 88, in async_update
    self._async_client = create_async_httpx_client(

2025-01-23 19:53:12.371 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to glob with args (/lib/libc.so,) inside the event loop by integration rest at homeassistant/components/rest/data.py, line 88: self._async_client = create_async_httpx_client( (offender: /usr/local/lib/python3.13/ctypes/util.py, line 311: for f in glob({0}{1}.format(prefix, suffix)):), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+rest%22
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#glob
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 227, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 213, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 154, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 707, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 678, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2033, in _run_once
    handle._run()
  File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2360, in _async_forward_entry_setup
    result = await async_setup_component(
  File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component
    result = await _async_setup_component(hass, domain, config)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 420, in _async_setup_component
    result = await task
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 90, in async_setup
    await component.async_setup(config)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 146, in async_setup
    self.hass.async_create_task_internal(
  File "/usr/src/homeassistant/homeassistant/core.py", line 832, in async_create_task_internal
    task = create_eager_task(target, name=name, loop=self.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 307, in async_setup_platform
    await self._platforms[key].async_setup(platform_config, discovery_info)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 303, in async_setup
    await self._async_setup_platform(async_create_setup_awaitable)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 363, in _async_setup_platform
    awaitable = create_eager_task(awaitable, loop=hass.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/components/rest/sensor.py", line 85, in async_setup_platform
    await rest.async_update(log_errors=False)
  File "/usr/src/homeassistant/homeassistant/components/rest/data.py", line 88, in async_update
    self._async_client = create_async_httpx_client(

2025-01-23 19:53:12.372 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to iglob with args (/lib/libc.so,) inside the event loop by integration rest at homeassistant/components/rest/data.py, line 88: self._async_client = create_async_httpx_client( (offender: /usr/local/lib/python3.13/glob.py, line 31: return list(iglob(pathname, root_dir=root_dir, dir_fd=dir_fd, recursive=recursive,), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+rest%22
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#iglob
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 227, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 213, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 154, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 707, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 678, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2033, in _run_once
    handle._run()
  File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2360, in _async_forward_entry_setup
    result = await async_setup_component(
  File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component
    result = await _async_setup_component(hass, domain, config)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 420, in _async_setup_component
    result = await task
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 90, in async_setup
    await component.async_setup(config)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 146, in async_setup
    self.hass.async_create_task_internal(
  File "/usr/src/homeassistant/homeassistant/core.py", line 832, in async_create_task_internal
    task = create_eager_task(target, name=name, loop=self.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 307, in async_setup_platform
    await self._platforms[key].async_setup(platform_config, discovery_info)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 303, in async_setup
    await self._async_setup_platform(async_create_setup_awaitable)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 363, in _async_setup_platform
    awaitable = create_eager_task(awaitable, loop=hass.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/components/rest/sensor.py", line 85, in async_setup_platform
    await rest.async_update(log_errors=False)
  File "/usr/src/homeassistant/homeassistant/components/rest/data.py", line 88, in async_update
    self._async_client = create_async_httpx_client(

2025-01-23 19:53:12.374 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to scandir with args (/lib,) inside the event loop by integration rest at homeassistant/components/rest/data.py, line 88: self._async_client = create_async_httpx_client( (offender: /usr/local/lib/python3.13/glob.py, line 170: with os.scandir(arg) as it:), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+rest%22
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#scandir
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 227, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 213, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 154, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 707, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 678, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2033, in _run_once
    handle._run()
  File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2360, in _async_forward_entry_setup
    result = await async_setup_component(
  File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component
    result = await _async_setup_component(hass, domain, config)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 420, in _async_setup_component
    result = await task
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 90, in async_setup
    await component.async_setup(config)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 146, in async_setup
    self.hass.async_create_task_internal(
  File "/usr/src/homeassistant/homeassistant/core.py", line 832, in async_create_task_internal
    task = create_eager_task(target, name=name, loop=self.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 307, in async_setup_platform
    await self._platforms[key].async_setup(platform_config, discovery_info)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 303, in async_setup
    await self._async_setup_platform(async_create_setup_awaitable)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 363, in _async_setup_platform
    awaitable = create_eager_task(awaitable, loop=hass.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/components/rest/sensor.py", line 85, in async_setup_platform
    await rest.async_update(log_errors=False)
  File "/usr/src/homeassistant/homeassistant/components/rest/data.py", line 88, in async_update
    self._async_client = create_async_httpx_client(
```
2025-01-25 09:15:05 +01:00
epenet ddf071c80e
Move deconz function to util.py (#136414) 2025-01-25 08:41:54 +01:00
epenet 829fab5371
Cleanup update_listener in deconz (#136416) 2025-01-25 08:40:22 +01:00
J. Nick Koston 891485f306
Bump pydantic to 2.10.6 (#136483) 2025-01-24 12:17:52 -10:00
Steven Looman 8622beb8a7
Bump async-upnp-client to 0.43.0 (#136481) 2025-01-24 12:05:31 -10:00
Christian 9993a68a55
Powerwall: Reuse authentication cookie (#136147)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-01-24 11:52:24 -10:00