Commit graph

60879 commits

Author SHA1 Message Date
David Bonnes
42b9c0448c
Add coordinator to evohome and prune async_update code (#119432)
* functional programming tweak

* doctweak

* typing hint

* rename symbol

* Switch to DataUpdateCoordinator

* move from async_setup to EvoBroker

* tweaks - add v1 back in

* tidy up

* tidy up docstring

* lint

* remove redundant logging

* rename symbol

* split back to inject authenticator clas

* rename symbols

* rename symbol

* Update homeassistant/components/evohome/__init__.py

Co-authored-by: Joakim Plate <elupus@ecce.se>

* allow exception to pass through

* allow re-authentication with diff credentials

* lint

* undo unrelated change

* use async_refresh instead of async_config_entry_first_refresh

* assign None instead of empty dict as Falsey value

* use class attrs instead of type hints

* speed up mypy hint

* speed up mypy check

* small tidy up

* small tidy up

---------

Co-authored-by: Joakim Plate <elupus@ecce.se>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-07-23 16:47:53 +02:00
Marc Mueller
da6a7ebd42
Update clientsession socket family typing (#122464) 2024-07-23 09:04:09 -05:00
Phill (pssc)
f260d63c58
Add squeezebox server device with common init (#122396)
* squeezebox moves common elements into __init__ to allow for server sensors and device, improves player device

* Update with feedback from PR

* squeezebox Formating fixes, Logging Fixes, remove nasty stored callback

* squeezebox Formating fixes, Logging Fixes, remove nasty stored callback

* squeezebox refactor to use own ConfigEntry and Data

* squeezebox remove own data class

* Update homeassistant/components/squeezebox/__init__.py

Correct typo

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

* Update homeassistant/components/squeezebox/media_player.py

Stronger typing on entry setup SqueezeboxConfigEntry

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

* squeezebox add SqueezeboxConfigEntry

* squeezebox fix mypy type errors

* squeezebox use right Callable

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-23 15:53:58 +02:00
Marc Mueller
5727f30026
Changes for aiohttp 3.10.0 (#122463) 2024-07-23 15:37:26 +02:00
Robert Resch
51ef5cd3ba
Add model_id to Ecovacs integration (#122457) 2024-07-23 15:28:16 +02:00
Stefan Agner
07b2a7537b
Add Matter update entities for devices with OTA requestor (#120304)
* Add Matter update entities for devices with OTA requestor

Matter devices which support the OTA requestor cluster can receive
updates from a OTA provider. The Home Assistant Python Matter Server
implements such an OTA provider now.

Add update entities for devices which support the OTA requestor cluster
and check for available updates. Allow the user to update the firmware.
The update progress will be read directly from the devices' OTA
requestor cluster.

* Update homeassistant/components/matter/update.py

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

* Bump python-matter-server to 6.3.0

This includes models and commands required for device firmware updates.

* Fix tests by including the new bluetooth_enabled field

* Add update entity tests

* Fix update entity test

* Update entity picture docstring

* Add note about reasons for progress state change update

* Enable polling for update entities by default

Matter entities don't enable polling any longer. Enable polling for
update entities by default.

* Add comment about why Update entities are polled

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-07-23 15:25:02 +02:00
starkillerOG
b46b74df90
Check for incompatible special chars in Reolink password (#122461) 2024-07-23 15:22:23 +02:00
Marc Mueller
156a2427ff
Use aiohttp.ClientTimeout for timeout (#122458) 2024-07-23 08:20:04 -05:00
Robert Resch
545514c5cd
Add created_at/modified_at to category registry (#122454) 2024-07-23 14:39:38 +02:00
Erik Montnemery
92acfc1464
Indicate database migration in /api/core/state response (#122445)
* Indicate database migration in /api/core/state response

* Change API response according to review comment

* Adjust API response

* Update test

* Add test
2024-07-23 14:13:08 +02:00
Stefan Agner
73ea62edd4
Disable polling for Matter entities by default (#122452)
Matter entities don't implement async_update, they get their update
from the Matter subscriptions through the WebSocket from the Matter
Server. This change disables polling for all Matter Entities by
default.
2024-07-23 13:43:12 +02:00
starkillerOG
1fd3c9d6dd
Replace Reolink HDR switch by HDR select entity (#122373)
* Add HDR select

* Update strings.json

* Update strings.json

* add icon

* remove HDR switch

* cleanup old HDR switch

* add tests

* Keep HDR switch entity around untill HA 2025.2.0

* Add repair issue

* Update strings.json

* fixes and review comments

* Add tests

* Update homeassistant/components/reolink/strings.json

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

* Update homeassistant/components/reolink/switch.py

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

* fixes and simplify

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-23 13:28:33 +02:00
Robert Resch
0d765a27c9
Add created_at/modified_at to entity registry (#122444) 2024-07-23 13:12:29 +02:00
Brett Adams
8d14095cb9
Improve API calls in Teslemetry (#122449)
* Improve API calls

* Small tweak

* typing fixtures
2024-07-23 12:59:25 +02:00
fustom
77282ed4b0
Use external temp if needed in Broadlink (#118375)
* Use external temp for current temp depends on the sensor state

* Add SensorMode enum

* Add tests for Broadlink climate

* Check is the sensor included in the data

* Use IntEnum as parent of SensorMode

* Use SensorMode enum value for sensor test data

* Parametrizing tests

* Readd accidentally removed assert

* Use local sensor variable

Co-authored-by: Robert Resch <robert@resch.dev>

* Refactor test_climate. Check call_counts.

* Add parameter types

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/broadlink/climate.py

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-23 12:30:06 +02:00
Marcel van der Veldt
632dec614a
Fix several issues with the Matter Generic Switch Cluster (#122191) 2024-07-23 10:10:32 +02:00
Franck Nijhof
d3d91a83e5
Update wled to 0.20.0 (#122441) 2024-07-23 09:56:23 +02:00
Joost Lekkerkerker
cd48278671
Extract Geniushub base entities in separate module (#122331) 2024-07-23 09:34:00 +02:00
Allen Porter
be4c7291bd
Update google tasks to return completed items (#122437) 2024-07-23 09:31:22 +02:00
J. Nick Koston
0039f1bb49
Make frontend url and route a cached_property (#122430) 2024-07-23 08:39:18 +02:00
Denis Shulyaka
975cfa6457
Fix gemini api format conversion (#122403)
* Fix gemini api format conversion

* add tests

* fix tests

* fix tests

* fix coverage
2024-07-22 17:56:13 -07:00
Erik Montnemery
5d3c57ecfe
Freeze integration setup timeout for recorder during non-live migration (#122431) 2024-07-22 18:48:55 -05:00
Erik Montnemery
96de0a4c94
Correct off-by-one bug in recorder non live schema migration (#122428)
* Correct off-by-one bug in recorder non live schema migration

* Remove change from the future
2024-07-23 00:30:31 +02:00
J. Nick Koston
d0ba5534cd
Bump async-upnp-client to 0.40.0 (#122427) 2024-07-22 17:04:29 -05:00
Erik Montnemery
9b2118e556
Remove recorder from websocket_api after dependencies (#122422)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-22 16:50:05 -05:00
Erik Montnemery
42716723e6
Register WS command recorder/info early (#122425) 2024-07-22 16:26:52 -05:00
ribbal
ba276a5cb6
Add missing binary sensors to Hive integration (#122296)
* add missing sensors

* add missing sensors

* add missing sensors

* add missing sensors

* add missing sensors

* add missing sensors

* add missing sensors

* add missing sensors

* add missing sensors

* add missing sensors

* add missing sensors

* add missing sensors
2024-07-22 23:15:36 +02:00
Erik Montnemery
3df6b34a03
Split recorder and frontend bootstrap steps (#122420) 2024-07-22 23:07:49 +02:00
Denis Shulyaka
ee30510b23
Remove deprecated DALL-E image formats (#122388) 2024-07-22 21:57:48 +02:00
Alexandre CUER
489457c47b
Add async_update_data to emoncms coordinator (#122416)
* Add async_update_data to coordinator

* Add const module
2024-07-22 21:47:01 +02:00
Joakim Plate
a1cdd91d23
Continue transition from legacy dict to attr in dsmr (#121906) 2024-07-22 21:41:24 +02:00
Mr. Bubbles
fed17a4905
Add DeviceInfo to OTP integration (#122392) 2024-07-22 21:39:22 +02:00
Erik Montnemery
d3df903d1e
Make device registry migration unconditional (#122414) 2024-07-22 21:37:47 +02:00
Erik Montnemery
db6704271c
Avoid repeated calls to utc_from_timestamp(0).isoformat() when migrating (#122413) 2024-07-22 21:36:36 +02:00
Erik Montnemery
3dc36cf068
Improve error handling when creating new SQLite database (#122406)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-22 14:16:11 -05:00
Erik Montnemery
20fc5233a1
Add recorder data migrator class to clean up states table (#122069) 2024-07-22 13:04:01 -05:00
Robert Resch
4c853803f1
Add created_at/modified_at to device registry (#122369) 2024-07-22 19:15:23 +02:00
Noah Husby
19d9a91392
Add device info to Russound RIO (#122395)
* Add device info to Russound RIO

* Set device info name to Russound model

* Add device class to Russound media player

* Move device info to constructor

* Use connections instead of identifiers for russound

* Add via_device attr to Russound

* Reinstate russound identifiers

* Move has entity name attr
2024-07-22 19:06:13 +02:00
Erik Montnemery
76cd53a864
Improve error handling when recorder schema migration fails (#122397) 2024-07-22 18:55:12 +02:00
Noah Husby
02c34ba3f8
Bump aiorussound to 2.0.7 (#122389) 2024-07-22 18:01:54 +02:00
Erik Montnemery
b14e8d1609
Remove SchemaValidationStatus.valid (#122394) 2024-07-22 17:33:13 +02:00
Erik Montnemery
e8b88557ee
Refactor recorder schema migration (#122372)
* Refactor recorder schema migration

* Simplify

* Remove unused imports

* Refactor _migrate_schema according to review comments

* Add comment
2024-07-22 16:53:54 +02:00
Erik Montnemery
c73e7ae178
Handle integration with missing dependencies (#122386) 2024-07-22 15:41:55 +02:00
Joost Lekkerkerker
7ec41275d5
Add mealie service to set mealplan (#122317) 2024-07-22 15:34:10 +02:00
Erik Montnemery
debebcfd25
Improve language in loader error messages (#122387) 2024-07-22 15:32:36 +02:00
Pete Sage
186ca49b16
Fix group media player play_media not passing kwargs (#122258) 2024-07-22 14:30:23 +02:00
Robert Resch
243a68fb1f
Frontend wants a timestamp for the created_at/modified_at attributes (#122377) 2024-07-22 14:10:16 +02:00
J. Nick Koston
d421525f1b
Fix missing translation key for august doorbells (#122251) 2024-07-22 13:15:43 +02:00
Allen Porter
7ec332f857
Fix platforms on media pause and unpause intents (#122357) 2024-07-22 13:15:05 +02:00
Brett Adams
31d3b3b675
Handle empty energy sites in Tesla integrations (#122355) 2024-07-22 13:14:15 +02:00