Compare commits

...

7559 Commits

Author SHA1 Message Date
Bram Kragten
3af11fb2b1 Bump version to 2024.9.0b3 2024-09-02 20:06:41 +02:00
Steven B.
c839cc1f15 Call async_write_ha_state after ring update (#125096)
Use async_write_ha_state after ring update
2024-09-02 20:06:21 +02:00
Paul Bottein
a0f2e2ebdd Update frontend to 20240902.0 (#125093) 2024-09-02 20:06:20 +02:00
dontinelli
d07e62b2f1 Bump fyta_cli to 0.6.6 (#125065) 2024-09-02 20:06:19 +02:00
tronikos
e7f957def2 Bump androidtvremote2 to 0.1.2 to fix blocking event loop when loading ssl certificate chain (#125061)
Bump androidtvremote2 to 0.1.2
2024-09-02 20:06:19 +02:00
Erik Montnemery
16ab57c9a6 Fix motionblinds_ble tests (#125060) 2024-09-02 20:06:18 +02:00
J. Nick Koston
1a67052cbd Bump habluetooth to 3.4.0 (#125058)
changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v3.3.2...v3.4.0
2024-09-02 20:06:17 +02:00
Erik Montnemery
f85a802ebd Don't raise when registering entity service with invalid schema (#125057)
* Don't raise when registering entity service with invalid schema

* Update homeassistant/helpers/service.py

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-09-02 20:06:16 +02:00
Shay Levy
3b5c08ecf8 Bump aioshelly to 11.4.2 (#125036) 2024-09-02 20:06:16 +02:00
J. Nick Koston
450c63ad28 Bump yarl to 1.9.7 (#125035) 2024-09-02 20:06:15 +02:00
Michael
a8f472f44e Add diagnostics platform to modern forms (#125032) 2024-09-02 20:06:14 +02:00
dontinelli
fa3a301e97 Add ConductivityConverter in websocket_api.py (#125029) 2024-09-02 20:06:13 +02:00
Martin Hjelmare
b1ef1be9a3 Bump python-telegram-bot to 21.5 (#125025) 2024-09-02 20:06:12 +02:00
Joost Lekkerkerker
62ef951ace Bump aiomealie to 0.9.1 (#125017) 2024-09-02 20:06:12 +02:00
Richard Kroegel
06660f9170 Fix BMW client blocking on load_default_certs (#125015)
* Fix BMW client blocking load_default_certs

* Use get_default_context
2024-09-02 20:06:11 +02:00
Richard Kroegel
7662ca8a96 Fix telegram_bot blocking on load_default_certs (#125014)
* Fix telegram_bot blocking on load_default_certs

* Use sync variant of create_issue
2024-09-02 20:06:10 +02:00
Richard Kroegel
e04fc74fcf Fix ollama blocking on load_default_certs (#125012)
* Fix ollama blocking on load_default_certs

* Use get_default_context instead of client_context
2024-09-02 20:06:09 +02:00
Alan Murray
f9bca7619c Bump aiopulse to 0.4.6 (#124964)
Non-breaking changes to fix isses:
 * eliminating hub exceptions raised due use of unicode strings.
 * eliminating hub exceptions raised due to Timers being configured on hub.
2024-09-02 20:06:08 +02:00
J. Nick Koston
1b9aa727f8 Bump yarl to 1.9.6 (#124955)
* Bump yarl to 1.9.5

changelog: https://github.com/aio-libs/yarl/compare/v1.9.4...v1.9.5

* remove default port since mocker does exact matching and yarl now normalizes this

* 1.9.6
2024-09-02 20:06:07 +02:00
Joost Lekkerkerker
d54c1935f8 Define household support in Mealie (#124950) 2024-09-02 20:06:07 +02:00
Steven B.
9cfad05793 Exclude tplink firmware entities (#124935)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-02 20:06:06 +02:00
Steven B.
03ab471d23 Bump python-kasa to 0.7.2 (#124930) 2024-09-02 20:06:05 +02:00
Joost Lekkerkerker
b2b69e40fd Make set_value required in number template (#124917)
* Make set_value required in number template

* Make set_value required in number template

* Fix tests
2024-09-02 20:06:04 +02:00
J. Nick Koston
c6ff445dd4 Bump aioshelly to 11.4.1 to accomodate shelly GetStatus calls that take a few seconds to respond (#124893)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-09-02 20:06:03 +02:00
vhkristof
0948a94409 Bump renault-api to v0.2.7 (#124858)
* Bump renault-api to v0.2.7

* Updated requirements_all and requirements_test_all
2024-09-02 20:06:02 +02:00
J. Nick Koston
9be20d6130 Restore sisyphus integration (#124749)
* Revert "Disable sisyphus integration (#124742)"

This reverts commit 1b304e60d9.

* Restore sisyphus integration

reverts #124742 and updates the lib instead

changelog: https://github.com/jkeljo/sisyphus-control/compare/v3.1.3...v3.1.4

release is pending: https://github.com/jkeljo/sisyphus-control/pull/8#issuecomment-2313893689
2024-09-02 20:06:01 +02:00
Etienne Soufflet
c4e484539d Fix Tado fan speed for AC (#122415)
* change capabilities

* fix tests 2

* improve usability with capabilities

* fix swings management

* Update homeassistant/components/tado/climate.py

Co-authored-by: Erwin Douna <e.douna@gmail.com>

* fix after Erwin's review

* fix after joostlek's review

* use constant

* use in instead of get

---------

Co-authored-by: Erwin Douna <e.douna@gmail.com>
2024-09-02 20:06:00 +02:00
Jeef
234f32265e Bump Intellifire to 4.1.9 (#121091)
* rebase

* Minor patch to fix duplicate DeviceInfo beign created - if data hasnt updated yet

* rebase

* Minor patch to fix duplicate DeviceInfo beign created - if data hasnt updated yet

* fixing formatting

* Update homeassistant/components/intellifire/__init__.py

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

* Update homeassistant/components/intellifire/__init__.py

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

* Removing cloud connectivity sensor - leaving local one in

* Renaming class to something more useful

* addressing pr

* Update homeassistant/components/intellifire/__init__.py

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

* add ruff exception

* Fix test annotations

* remove access to private variable

* Bumping to 4.1.9 instead of 4.1.5

* A renaming

* rename

* Updated testing

* Update __init__.py

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

* updateing styrings

* Update tests/components/intellifire/conftest.py

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

* Testing refactor - WIP

* everything is passing - cleanup still needed

* cleaning up comments

* update pr

* unrename

* Update homeassistant/components/intellifire/coordinator.py

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

* fixing sentence

* fixed fixture and removed error codes

* reverted a bad change

* fixing strings.json

* revert renaming

* fix

* typing inother pr

* adding extra tests - one has a really dumb name

* using a real value

* added a migration in

* Update homeassistant/components/intellifire/config_flow.py

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

* Update tests/components/intellifire/test_init.py

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

* cleanup continues

* addressing pr

* switch back to debug

* Update tests/components/intellifire/conftest.py

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

* some changes

* restore property mock cuase didnt work otherwise

* cleanup has begun

* removed extra text

* addressing pr stuff

* fixed reauth

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-02 20:05:59 +02:00
Bram Kragten
411b014da2 Bump version to 2024.9.0b2 2024-08-30 20:08:46 +02:00
Joost Lekkerkerker
3a8aa4200d Bump aiomealie to 0.9.0 (#124924)
* Bump aiomealie to 0.9.0

* Bump aiomealie to 0.9.0
2024-08-30 20:08:20 +02:00
Josef Zweck
dd8471e786 Bump lmcloud 1.2.2 (#124911)
bump lmcloud 1.2.2
2024-08-30 20:08:19 +02:00
Josef Zweck
f33b4b0dc0 Bump lmcloud to 1.2.1 (#124908) 2024-08-30 20:08:19 +02:00
J. Nick Koston
8ab8f7a740 Add a repair issue for Yale Home users using the August integration (#124895)
The Yale Home brand will stop working with the August integration very
soon. Users must migrate to the Yale integration to avoid an interruption in service.
2024-08-30 20:08:18 +02:00
J. Nick Koston
ee9e3fe27b Bump yalexs to 8.5.5 (#124891)
changelog: https://github.com/bdraco/yalexs/compare/v8.5.4...v8.5.5
2024-08-30 20:08:17 +02:00
J. Nick Koston
d4830caac0 Bump aioesphomeapi to 25.3.1 (#124890)
changelog: https://github.com/esphome/aioesphomeapi/compare/v25.2.1...v25.3.1
2024-08-30 20:08:16 +02:00
TheJulianJES
3b4e3b1370 Fix ZHA group removal entity registry cleanup (#124889)
* Fix ZHA cleanup entity registry parameter

* Fix missing `gateway` when accessing coordinator device

* Get `ZHADeviceProxy` for coordinator device
2024-08-30 20:08:15 +02:00
J. Nick Koston
533c8ca31c Address yale review comments part 2 (#124887)
* Remove some unneeded block till done

* Additional state check cleanups and snapshots

* Use more snapshots in yale tests
2024-08-30 20:08:15 +02:00
Michael Hansen
8668af17f6 Bump intents to 2024.8.29 (#124874) 2024-08-30 20:08:14 +02:00
Louis Christ
5b866e071c Handle CancelledError in bluesound integration (#124873)
Catch CancledError in async_will_remove_from_hass
2024-08-30 20:08:13 +02:00
IceBotYT
37af180edc Bump nice-go to 0.3.8 (#124872)
* Bump nice-go to 0.3.6

* Bump to 0.3.7

* Bump to 0.3.8
2024-08-30 20:08:13 +02:00
Robert Resch
0d5dc01048 Bump PyTurboJPEG to 1.7.5 (#124865) 2024-08-30 20:08:12 +02:00
Robert Resch
bd2be0a763 Optimize hassfest image (#124855)
* Optimize hassfest docker image

* Adjust CI

* Use dynamic uv version

* Remove workaround
2024-08-30 20:08:11 +02:00
J. Nick Koston
98cbd7d8da Address august review comments (#124819)
* Address august review comments

Followup to https://github.com/home-assistant/core/pull/124677

* cleanup loop

* drop mixin name

* event entity add cleanup

* remove duplicate prop

* pep0695 type

* remove some not needed block till done

* cleanup august tests

* switch to freezegun

* snapshots for dev reg

* SOURCE_USER nit

* snapshots

* pytest.raises

* not loaded check
2024-08-30 20:08:10 +02:00
puddly
26f3305743 Bump ZHA to 0.0.32 (#124804)
* Always prefer XY color mode in ZHA

Remove a few more HS remnants

* Use new ZHA OTA format

* Bump ZHA to 0.0.32

* Fix existing OTA unit tests

* Fix schema conversion test to account for new command parameters

* Update snapshot with new `zcl_type` kwarg

* Migrate existing entities to icon translations

* Remove "no longer compatible" test

* Test that the library release summary is correctly exposed to ZHA

* Revert "Always prefer XY color mode in ZHA"

This reverts commit 8fb7789ea8.

* Test `release_notes`, not `release_summary`
2024-08-30 20:08:10 +02:00
tronikos
3c0480596d Attempt to fix IndexError in Opower (#124478)
* Change the order of async_add_external_statistics in Opower

* Use consumption_statistic_id instead of cost_statistic_id
2024-08-30 20:08:09 +02:00
Jeef
81d2231e6f Bump weatherflow4py to 0.2.23 (#124072)
patch weatherflow for new data
2024-08-30 20:08:08 +02:00
Tony
2d041a1fa9 Bump aioruckus to v0.41 removing blocking call to load_default_certs from ruckus_unleashed integration (#123974)
* fix ruckusd_unleashed blocking call to load_default_certs

* remove extra loggers, bump aioruckus ver for debian packagers
2024-08-30 20:08:07 +02:00
Bram Kragten
03a02fa565 Bump version to 2024.9.0b1 2024-08-29 17:31:37 +02:00
Bram Kragten
b2f27a4519 Update frontend to 20240829.0 (#124864) 2024-08-29 17:28:06 +02:00
Joost Lekkerkerker
b906a1b521 Add missing translation key in Knocki (#124862) 2024-08-29 17:28:06 +02:00
Fredrik Erlandsson
754e4255b6 Bump pydaikin to 2.13.6 (#124852) 2024-08-29 17:28:05 +02:00
Andrew Jackson
ff39f09c4e Fix Mastodon migrate config entry log warning (#124848)
Fix migrate config entry
2024-08-29 17:28:04 +02:00
AutonomousOwl
3078b47d06 Update utility_account_id in Opower to be lowercase in statistic id (#124837)
Update utility_account_id to be lowercase in statistic id
2024-08-29 17:28:03 +02:00
J. Nick Koston
71de50dae8 Add missing dependencies to yale (#124821)
* Add missing dependencies to yale

* try another way

* Revert "try another way"

This reverts commit fbb731a334.

* patch out cloud setup
2024-08-29 17:28:03 +02:00
J. Nick Koston
e8b722f7b2 Redirect virtual integration yale_home to point to yale (#124817) 2024-08-29 17:28:02 +02:00
Pete Sage
a2053d073f Fix sonos get_queue service call to restrict to sonos media_player entities (#124815)
add sonos to filter
2024-08-29 17:28:01 +02:00
J. Nick Koston
aa72b08c16 Address yale review comments (#124810)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-29 17:28:00 +02:00
Fredrik Erlandsson
66480da218 Bump pydaikin to 2.13.5 (#124802)
bump pydaikin version
2024-08-29 17:27:59 +02:00
Tobias Sauerwein
3b214f6610 Bump pyatmo to 8.1.0 (#124340) 2024-08-29 17:27:59 +02:00
Bram Kragten
1e035064f4 2024.9.0b0: It's beta time (#124807) 2024-08-28 19:02:42 +02:00
Robert Resch
2856525c12 Bump version to 2024.9.0b0 2024-08-28 16:40:52 +00:00
Robert Resch
22cfb7059a Merge remote-tracking branch 'origin/rc' into edenhaus-2024.9.0b0 2024-08-28 16:36:20 +00:00
Matthias Alphart
1650cee16c Check KNX integration is loaded on websocket calls (#123178) 2024-08-28 18:10:38 +02:00
Kristian Haugene
25cdd737a9 Add current intraday price ranking to Tibber price sensor (#124595) 2024-08-28 18:05:27 +02:00
Sid
9153d16a6d Enable Ruff TCH rules (#124396)
* Enable Ruff TCH rules

* Ignore TCH001-003

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-08-28 18:01:41 +02:00
J. Nick Koston
03ead27f6c Split august and yale integrations (#124677)
* Split august and yale integrations [part 1] (#122253)

* merge with dev

* Remove unused constant

* Remove yale IPv6 workaround (#123409)

* Convert yale to use oauth (#123806)

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

* Update yale for switch from pubnub to websockets (#124675)

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-28 17:46:03 +02:00
epenet
edad766fd3 Use start_reauth helper method in integration tests (u-z) (#124796) 2024-08-28 16:51:16 +02:00
epenet
9bcc31a9fe Use start_reauth helper method in integration tests (s) (#124793) 2024-08-28 16:49:05 +02:00
epenet
7652c35ee6 Use start_reauth helper method in integration tests (t) (#124794) 2024-08-28 16:47:10 +02:00
G Johansson
dd52f4c84a Remove deprecated mailbox platform (#123740)
* Remove deprecated mailbox platform

* Remove from const

* Remove from type hints

* Remove from pyproject
2024-08-28 16:41:23 +02:00
Robert Resch
45bb2cdd82 Build hassfest docker image and pushlish it on beta/stable releases (#124706) 2024-08-28 16:38:12 +02:00
Paul Bottein
a4bfb0e92c Update frontend to 20240828.0 (#124791) 2024-08-28 16:35:44 +02:00
epenet
26006f8036 Use start_reauth helper method in broadlink and bthome (#124783)
* Use start_reauth helper method in broadlink reauth tests

* Also include bthome
2024-08-28 16:34:09 +02:00
epenet
ef4caa951c Use start_reauth helper method in integration tests (p-r) (#124792) 2024-08-28 16:20:47 +02:00
Pete Sage
5824d06fd7 Add get_queue action for Sonos (#124707)
* initial commit

* use constants

* use constants

* update typing

* add queue fixture

* remove blank line

* update docstring

* update icons

* use list comprehension
2024-08-28 16:19:48 +02:00
epenet
57a73d1b1b Use start_reauth helper method in integration tests (m-o) (#124790) 2024-08-28 16:19:31 +02:00
Aidan Timson
731aaaafe2 Update aioazuredevops to 2.2.1 (#124788)
* Update aioazuredevops to 2.2.1

* Update test
2024-08-28 16:01:32 +02:00
epenet
bdd3aa8e39 Use start_reauth helper method in config flow tests (a-d) (#124780)
* Use start_reauth helper method in integration tests (a-d)

* Revert broadlink

* Revert bthome
2024-08-28 15:48:36 +02:00
epenet
99335a07e5 Use start_reauth helper method in integration tests (e-g) (#124785)
* Use start_reauth helper method in integration tests (e-g)

* Include fireservicerota
2024-08-28 15:47:57 +02:00
epenet
9d633f2087 Use start_reauth helper method in integration tests (h-l) (#124787) 2024-08-28 15:47:35 +02:00
Erik Montnemery
174f22aa2f Prevent nesting sections in data entry flows (#124645) 2024-08-28 15:42:15 +02:00
Brett Adams
e39b3796f3 Fix OAuth reauth in Tesla Fleet (#124744)
* Fix auth failure

* Test

* Fix test

* Only reauth on 401

* Cover 401 and others

* Update homeassistant/components/tesla_fleet/strings.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-08-28 14:58:16 +02:00
Michael
11370979e5 Fix translation for AVM Fritz!Box Tools (#124784)
add missing ssl option to strings
2024-08-28 14:54:30 +02:00
Erik Montnemery
0afae45bc5 Trigger full CI run on Blueprint integration changes (#124778) 2024-08-28 14:27:01 +02:00
Matrix
f8ac952cd7 Add YoLink lock V2 support (#124202)
* Add Lock V2 Support

* Change as suggestions
2024-08-28 14:18:55 +02:00
Erik Montnemery
c4e5d67551 Enforce new service icon schema for core integrations (#124772)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-08-28 14:14:45 +02:00
Erik Montnemery
cff4e46694 Deduplicate TTS mocks (#124773) 2024-08-28 13:48:49 +02:00
Erik Montnemery
38ef216894 Update icons.json to new service schema part 4 (#124771) 2024-08-28 13:48:13 +02:00
Erik Montnemery
1a2d013c97 Update icons.json to new service schema part 3 (#124770) 2024-08-28 13:48:01 +02:00
Erik Montnemery
cffa8b4feb Update icons.json to new service schema part 2 (#124769) 2024-08-28 13:47:41 +02:00
Erik Montnemery
fce2e21c9f Update icons.json to new service schema part 1 (#124768) 2024-08-28 13:47:02 +02:00
epenet
a0ffa69b49 Standardize reauth step variable name in aseko_pool_live (#124765) 2024-08-28 13:29:18 +02:00
epenet
a0089685dd Simplify aussie_broadband reauth flow (#124774)
* Simplify aussie_broadband config flow

* Apply suggestions from code review

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

* Update config_flow.py

* Update config_flow.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-28 13:19:58 +02:00
Matthias Alphart
633ff0ea42 Handle KNX expose conversion exceptions and unavailable states (#124776) 2024-08-28 13:14:34 +02:00
epenet
163795e73a Use reauth_confirm in weatherflow_cloud (#124761) 2024-08-28 13:09:45 +02:00
epenet
45eebf3285 Use reauth_confirm in sharkiq (#124762) 2024-08-28 13:09:21 +02:00
epenet
14eec2e57a Add start_reauth helper method to MockConfigEntry (#124767)
* Add start_reauth helper method to MockConfigEntry

* Two more
2024-08-28 13:08:26 +02:00
epenet
274d98f4d7 Standardize reauth step variable name in permobil (#124764) 2024-08-28 13:02:21 +02:00
epenet
51a5a78eb5 Standardize reauth step variable name in config flows (#124760) 2024-08-28 13:01:00 +02:00
epenet
d4ae592a85 Improve config flow type hints in sms (#124352)
* Improve config flow type hints in sms

* Drop async_step_import
2024-08-28 13:00:30 +02:00
epenet
8ff8ed7f76 Cleanup unused import in upb config flow (#124694)
* Cleanup unused import in upb config flow

* More cleanup
2024-08-28 13:00:10 +02:00
epenet
18b49a6f62 Cleanup unused import in solarlog config flow (#124713) 2024-08-28 12:59:53 +02:00
epenet
35d318818a Improve config flow type hints in sense (#124350) 2024-08-28 12:59:12 +02:00
epenet
0a94242337 Improve config flow type hints in vesync (#124351) 2024-08-28 12:56:22 +02:00
starkillerOG
d1681fac72 Improve mediabrowser names for DUO lens Reolink cameras (#124766)
* Improve playback of DUO lens cameras like TrackMix

* fix styling

* Adjust tests accordingly
2024-08-28 12:54:30 +02:00
Matthias Alphart
8504a16e83 Use KNX group address format from project (#124084) 2024-08-28 12:34:28 +02:00
Matthias Alphart
41e66edd14 Set default name for KNX outgoing telegram source (#124439) 2024-08-28 12:31:30 +02:00
starkillerOG
10b3119b4a Use Position instead of Angle for TiltOnlyDevice in motion blinds (#123521)
Use Position instead of Angle for TiltOnlyBlinds
2024-08-28 11:27:34 +02:00
Erik Montnemery
c772c4a2d5 Allow specifying icons for service sections (#124656)
* Allow specifying icons for service sections

* Improve kitchen_sink example
2024-08-28 11:15:26 +02:00
starkillerOG
e9830f0835 Bump reolink_aio to 0.9.8 (#124763) 2024-08-28 11:13:37 +02:00
epenet
bcc66c9a86 Standardize import step variable name (part 5) (#124698)
* Standardize import step variable name (part 5)

* Revert point

* Adjust soma tests
2024-08-28 09:51:49 +02:00
epenet
1f3c99dff3 Standardize import step variable name in cert_expiry (#124696) 2024-08-28 09:51:25 +02:00
epenet
b085ac9296 Standardize import step variable name in geonetnz_volcano (#124699) 2024-08-28 09:48:17 +02:00
Erik Montnemery
1add00a68d Deduplicate STT mocks (#124754) 2024-08-28 09:25:56 +02:00
J. Nick Koston
f9bf7f7e05 Small cleanups to shelly (#124758) 2024-08-27 21:00:31 -10:00
J. Nick Koston
a63c5e6725 Cache shelly coordinator properties that never change (#124756) 2024-08-27 21:00:20 -10:00
Sergey Dudanov
4108b7ada6 Remove unused normalized units from unit converters (#122797)
remove unused normalized units in unit converters
2024-08-28 08:45:40 +02:00
J. Nick Koston
42388450e1 Restore control4 integration (#124750)
* Revert "Disable control4 integration (#124746)"

This reverts commit 16dd6b1712.

* Restore control4 integration

reverts #124746 and updates the lib instead

changelog: https://github.com/lawtancool/pyControl4/compare/v1.1.0...v1.1.3

Note that there is no release yet, see https://github.com/lawtancool/pyControl4/pull/32

* Apply suggestions from code review
2024-08-28 07:54:28 +02:00
Jan Bouwhuis
e720a14dc4 Cleanup removed schema option from mqtt vacuum platform (#124722) 2024-08-28 07:49:05 +02:00
J. Nick Koston
9d3895d69a Bump yalexs to 8.5.4 (#124672) 2024-08-27 15:36:00 -10:00
J. Nick Koston
16dd6b1712 Disable control4 integration (#124746) 2024-08-27 15:12:52 -10:00
functionpointer
e447d83024 Use ssl util in Tibber (#123369)
Tibber: Use homeassistant.util.ssl
2024-08-28 03:04:08 +02:00
Michael Hansen
8fee1975b4 Bump pyspeex-noise to 1.0.2 (#124721)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-08-27 14:26:46 -10:00
puddly
3533ac163c Remove unnecessary assertion for the Yellow firmware type (#124747) 2024-08-28 01:57:08 +02:00
J. Nick Koston
1b304e60d9 Disable sisyphus integration (#124742) 2024-08-27 12:53:48 -10:00
J. Nick Koston
5bd17c9198 Bump aioshelly to 11.3.0 (#124741) 2024-08-27 12:34:30 -10:00
J. Nick Koston
136f0e423e Bump aioambient to 2024.08.0 (#124729) 2024-08-27 12:33:17 -10:00
Jesse Hills
e84d9e21f7 Handle single state requests from ESPHome (#124660)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-27 12:15:41 -10:00
J. Nick Koston
fa084143ef Bump dbus-fast to 2.24.0 (#124737)
changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v2.23.0...v2.24.0
2024-08-27 23:58:11 +02:00
J. Nick Koston
ca17c70109 Remove socketio constraints (#124730)
We have been stuck on an old version of socketio for a few years
now due to https://github.com/jkeljo/sisyphus-control/issues/6 and
no solution has been reached.

The constraint is blocking any integration from using socketio 4.x servers as the old version
only supports socketio 3.x servers which have reached EOL (https://socket.io/docs/v3/)
2024-08-27 23:42:42 +02:00
puddly
5818e2c2d4 Yellow firmware selection options flow (#122868)
* Implement Yellow config flow for firmware selection

* Use the probed firmware type when setting up Yellow

* Add translation strings

* Ensure (most) existing `init` tests pass

* Remove multi-PAN setup config flow unit tests

* Get existing config flow unit tests passing

* Add unit tests for uninstalling multi-PAN and such

* Consolidate entity creation for Yellow and clean up steps

* Be explicit with multiple inheritance overrides

* Address review comments
2024-08-27 23:14:41 +02:00
Shay Levy
467749eb57 Fix Shelly sleepy RPC setup if device is already awake (#124734) 2024-08-27 10:48:13 -10:00
Jan Bouwhuis
dd0c353afb Fix nice_go integration tests (#124736) 2024-08-27 10:28:54 -10:00
IceBotYT
9e762fa222 Bump Nice G.O. to 0.3.5 (#124667)
* Bump Nice G.O. to 0.3.1

* Bump to 0.3.5
2024-08-27 19:53:00 +02:00
Michael
ea04269c49 Improve test coverage for nextcloud (#123148)
* add first data driven tests

* remove unused mock

* test unique_id migration

* test errors during setup

* test error during data update

* test update entity

* system_versionis always available

* make use of snapshot_platform helper

* use parametrize test for coordinator update errors

* apply suggestions

* don't touch internals on coordinator tests

* rework to use async_get_or_create instead of mock_registry
2024-08-27 19:48:39 +02:00
Erik Montnemery
e2d84f9a58 Add support for multiple otbr config entries (#124289)
* Add support for multiple otbr config entries

* Fix test

* Drop useless fixture

* Address review comments

* Change unique id from xa to id

* Improve error text

* Store data in ConfigEntry.runtime_data

* Remove useless function
2024-08-27 19:07:35 +02:00
Erik Montnemery
52b6f00363 Adjust name of Google Translate TTS provider (#124688) 2024-08-27 19:07:04 +02:00
Erik Montnemery
55c42fde88 Improve validation of entity service schemas (#124102)
* Improve validation of entity service schemas

* Update tests/helpers/test_entity_platform.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-27 19:05:49 +02:00
epenet
0dc1eb8757 Cleanup unused import in zwave_js config flow (#124716) 2024-08-27 18:41:27 +02:00
Paulus Schoutsen
1936aeccb9 Add a test for async_converse (#124697) 2024-08-27 11:01:00 -05:00
epenet
c1c158c0aa Adjust docstring in airvisual_pro config flow (#124712) 2024-08-27 16:48:04 +02:00
epenet
bcfc7ea481 Cleanup unused import in google config flow (#124711) 2024-08-27 07:36:07 -07:00
Antoine Reversat
de8bbaadd1 Fix review comments in fglair (#124710)
* Replace if len() == 0 with if not

* Replace list + filter with list comprehensions

* Move consts that are only used in one module to said module
2024-08-27 16:26:18 +02:00
epenet
318259689f Standardize import step variable name (part 4) (#124692)
* Standardize import step variable name (part 4)

* One more

* Revert geonetnz_volcano

* Revert SMS due to coverage

* Revert somfy_mylink due to coverage
2024-08-27 16:18:11 +02:00
epenet
f802611359 Cleanup unused import in somfy_mylink config flow (#124709) 2024-08-27 16:04:00 +02:00
Erik Montnemery
53479b5924 Adjust name of legacy Home Assistant Cloud TTS provider (#124685) 2024-08-27 15:13:58 +02:00
Erik Montnemery
9cae786f40 Add ConfigEntries.async_get_loaded (#124705) 2024-08-27 14:20:57 +02:00
functionpointer
48292beec8 Update pyTibber to 0.30.1 (#124407)
Update to pyTibber==0.30.1
2024-08-27 13:19:15 +02:00
Matrix
a45ba51f89 Update YoLink FlexFob Automation (#123631)
* Change FlexFob Trigger

* Update device trigger tests
2024-08-27 13:17:14 +02:00
Jon Seager
9119884e53 Add touchlinesl integration (#124557)
* touchlinesl: init integration

* integration(touchlinesl): address review feedback

* integration(touchlinesl): address review feedback

* integration(touchlinesl): add a coordinator to manage data updates

* integration(touchlinesl): address review feedback

* integration(touchline_sl): address feedback (and rename)

* integration(touchline_sl): address feedback

* integration(touchline_sl): address feedback

* integration(touchline_sl): update strings

* integration(touchline_sl): address feedback

* integration(touchline_sl): address feedback
2024-08-27 13:15:31 +02:00
Matrix
37e2839fa3 Add power entity for yolink plug (#124678)
* Add Plug power entity

* change state class to total

* Add translations and moving icon to icon.json

* sort translation key

* Fix suggestions
2024-08-27 12:03:50 +02:00
epenet
6b0428774d Standardize import step variable name (part 2) (#124679) 2024-08-27 11:22:35 +02:00
J. Nick Koston
0d2f22838a Reduce complexity of _sorted_statistics_to_dict (#123936)
* comp stats queries

* tweak

* reduce
2024-08-27 11:22:10 +02:00
J. Nick Koston
4bc19876ca Small speed up to creating stats database rows (#124587)
* Small speed up to creating stats database rows

Calling .timestamp() directly is faster on new cpython

* more cleanup
2024-08-27 11:18:12 +02:00
J. Nick Koston
902d76da36 Small cleanup to normalize states (#124614)
- Remove duplicate state_unit lookup
- Use undefined instead of object
2024-08-27 11:17:34 +02:00
J. Nick Koston
d8161c431f Add support for using an entityfilter to subscribe_entities (#124641)
* Add support for using an entityfilter to subscribe_entities

* filter init

* fix

* coverage
2024-08-27 11:17:05 +02:00
J. Nick Koston
68d6f1c1aa Bump zeroconf to 0.133.0 (#124673)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.132.2...0.133.0
2024-08-27 11:15:00 +02:00
Erik Montnemery
ef1d53c207 Include engine name in TTS WS responses (#124683) 2024-08-27 11:14:41 +02:00
Erik Montnemery
823b62d8ab Include engine name in STT WS responses (#124684) 2024-08-27 11:14:17 +02:00
epenet
dece7e0f9c Cleanup unused import in proximity config flow (#124681)
* Cleanup unused import in proximity config flow

* Cleanup tests
2024-08-27 11:08:33 +02:00
epenet
68cdf8877c Standardize import step variable name (part 3) (#124680) 2024-08-27 10:50:13 +02:00
epenet
831a1d7ad1 Standardize import step variable name (part 1) (#124674) 2024-08-27 10:34:47 +02:00
Erik Montnemery
715f4bd2c3 Set deprecated flag on TTS engines replaced by entities in WS list (#124676) 2024-08-27 10:09:49 +02:00
Yuxin Wang
74a12bb802 Replace LASTSTEST with LAST_S_TEST (#124668) 2024-08-27 06:50:15 +02:00
Ståle Storø Hauknes
51fd8e1288 Bump airthings-ble to 0.9.1 (#124658) 2024-08-26 13:59:28 -10:00
Richard Kroegel
2fe19c04b9 Bump bimmer_connected to 0.16.2 (#124651) 2024-08-26 13:57:25 -10:00
Jesse Hills
37019d33fd Bump aioesphomeapi to 25.2.1 (#124659) 2024-08-26 12:29:54 -10:00
Alexey ALERT Rubashёff
0fe939cd7c Update overkiz Atlantic Water Heater operation mode switching (#124619)
* conventional operation state usage

* MartinHjelmare indentation request

* Manual Mode binary sensor

* Removed usage of unconventional operation states

* Removed usage of unconventional operation state

* STATE_OFF operation mode support
2024-08-26 21:31:07 +02:00
Maciej Bieniek
b960ebeb8b Add WS outbound config to Shelly diagnostics (#124654)
Add WS Outbound config to diagnostics
2024-08-26 22:17:38 +03:00
starkillerOG
7334fb0125 Add Reolink chime play action (#123245)
* Add chime play service

* fix supported_feature

* finalize

* add tests

* Adjust to device service

* fix issue

* Add tests

* actions -> services

* fix styling

* Use conftest fixture for test_chime

* Update tests/components/reolink/test_services.py

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

* use ATTR_RINGTONE and rename chime_play to play_chime

* Add translatable exceptions

* fix styling

* Remove option to use entity_id

* fixes

* Fix translations

* fix

* fix translation key

* remove translation key

* use callback for async_setup_services

* fix styling

* Add test_play_chime_service_unloaded

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-26 21:12:32 +02:00
Maciej Bieniek
d8fe3c5377 Add missing units for xpercent, xfreq and xcounts Shelly sensors (#124288) 2024-08-26 08:59:18 -10:00
J. Nick Koston
76182c246d Auto configure outbound websocket for sleepy shelly RPC devices (#124545) 2024-08-26 08:37:36 -10:00
Erik Montnemery
b9aaba0432 Prevent duplicating constraints during schema migration (#124616) 2024-08-26 08:35:54 -10:00
Paulus Schoutsen
156948c496 Fix defaults for cloud STT/TTS (#121229)
* Fix defaults for cloud STT/TTS

* Prefer entity over legacy provider

* Remove unrealistic tests

* Add tests which show cloud stt/tts entity is preferred

---------

Co-authored-by: Erik <erik@montnemery.com>
2024-08-26 19:39:09 +02:00
ilan
547dbf77aa Use runtime data instead of hass.data in jvc projector (#124608)
* feat: use runtime data instead of hass.data

* fix: extend ConfigEntry
2024-08-26 19:26:53 +02:00
Erik Montnemery
a68cd712c6 Move data entry section translations (#124648) 2024-08-26 18:45:28 +02:00
Maciej Bieniek
9e7aeed848 Bump nextdns to version 3.2.0 (#124646) 2024-08-26 18:25:10 +02:00
Álvaro Fernández Rojas
95fa123a0b Add Airzone main zone mode select (#124566)
* airzone: select: add zone master mode

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: select: use MAIN instead of MASTER

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: select: call async_add_entities once

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: select: add options lambda function

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: select: implement requested changes

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: select: options_fn: return list

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-26 17:57:31 +02:00
WebSpider
657ff58500 Fix device class for motion_light blueprint (#124495)
* Fix device class for motion_light blueprint.
Fixes #124353

* Update to accept both motion and occupancy
2024-08-26 17:39:27 +02:00
Jan Bouwhuis
ff029e5efc Cleanup not used data field for mqtt hassio config flow confirm step (#124486) 2024-08-26 17:33:47 +02:00
Erik Montnemery
f4528b288f Fix overriding name in MockTTSEntity (#124639)
* Fix overriding name in MockTTSEntity

* Fix
2024-08-26 15:28:55 +02:00
Paulus Schoutsen
1aa0dbdaf5 Revert "Revert "Use speex for noise suppression and auto gain"" (#124637)
Revert "Revert "Use speex for noise suppression and auto gain" (#124620)"

This reverts commit 302ffe5e56.
2024-08-26 15:10:43 +02:00
J. Nick Koston
743df84569 Reduce multiple calls to calculate sensor unit in tplink (#124606)
accessing unit on the feature is not cached and it had
to be looked up every time
2024-08-26 13:49:26 +02:00
J. Nick Koston
16231da5ef Bump cached-ipaddress to 0.5.0 (#124602)
changelog: https://github.com/bdraco/cached-ipaddress/compare/v0.3.0...v0.5.0
2024-08-26 13:48:52 +02:00
Erik Montnemery
7b71f024fb Prefer stt entity over legacy stt provider (#124625)
* Prefer stt entity over legacy stt provider

* Update assist_pipeline tests
2024-08-26 13:43:14 +02:00
darkfader
0a05cdc381 Add conductivity sensor to bthome (#124312)
* Add conductivity sensor to bthome

* Update icons.json

* Update sensor.py
2024-08-26 13:40:40 +02:00
dependabot[bot]
106559371c Bump github/codeql-action from 3.26.4 to 3.26.5 (#124615)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.4 to 3.26.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.26.4...v3.26.5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 13:33:55 +02:00
Erik Montnemery
cafd953f87 Add test showing we prefer tts entity over legacy tts provider (#124624) 2024-08-26 11:10:58 +02:00
Andre Lengwenus
7ddd755acc Handle LCN entity instances only in corresponding platform (#124589)
* Handle switch entity instance only in switch platform

* Add other platforms
2024-08-26 10:17:51 +02:00
Paulus Schoutsen
302ffe5e56 Revert "Use speex for noise suppression and auto gain" (#124620)
Revert "Use speex for noise suppression and auto gain (#124591)"

This reverts commit 592f60643a.
2024-08-26 10:12:05 +02:00
Jan Bouwhuis
65216df3a5 Auto recover mqtt config entry secret if Mosquitto add-on was re-installed (#124514)
Auto recover mqtt config entry secret if Mosquitto add-on is re-installed
2024-08-26 09:40:25 +02:00
J. Nick Koston
76ebb0df08 Improve performance of generate diffs of state change events (#124601)
dict comps are inlined in cpython 3.12+
2024-08-26 08:49:31 +02:00
Christopher Fenner
0591b5e47b Improve code quality for ViCare integration (#124613)
* move type to module

* set translation key outside of init

* align import alias

* align constructor parameter order/naming

* move static attr init outside init function

* add missing types

* fix test

* revert move of _attributes
2024-08-26 08:30:28 +02:00
Yuxin Wang
bb6f9ec844 Set native value to be None instead of STATE_UNKNOWN for APCUPSD integration (#124609) 2024-08-25 19:09:37 -10:00
Michael Hansen
592f60643a Use speex for noise suppression and auto gain (#124591) 2024-08-25 23:50:32 -05:00
Brett Adams
3035588dfa Dont turn HVAC off with preset in Teslemetry (#124604)
Dont turn HVAC off with preset
2024-08-25 20:58:59 -07:00
J. Nick Koston
6e727a49bf Remove unused constant in dhcp (#124605) 2024-08-25 20:58:20 -07:00
Jeef
0dfe12840d Add SimpleFin binary sensor for errors (#122554)
* Binary Sensor Support

* updated requirements

* ng ambr

* update strings.json

* update snapshot
2024-08-25 20:57:57 -07:00
Jesse Hills
d915fee833 Bump aioesphomeapi to 25.2.0 (#124607) 2024-08-25 17:47:48 -10:00
J. Nick Koston
9ea41b4d26 Bump yalexs to 8.4.2 (#124593)
changelog: https://github.com/bdraco/yalexs/compare/v8.4.1...v8.4.2

If the pubnub connection failed, the integration would fallback
to polling. This would could get users banned so we no longer do that.
2024-08-25 23:45:06 +03:00
Pete Sage
8bc9fd23bb Add Sonos tests for announce and update error handling (#124539)
* initial commit

* update error message

* use match for error message
2024-08-25 21:25:20 +02:00
Allen Porter
18212052a4 Update nest events to include attachment image and video urls (#124554) 2024-08-25 21:24:06 +02:00
Allen Porter
3304e27fa3 Add ollama context window size configuration (#124555)
* Add ollama context window size configuration

* Set higher max context size
2024-08-25 21:22:57 +02:00
J. Nick Koston
be206156b0 Fix shelly sleepy entities never being created (#124547) 2024-08-25 09:21:23 -10:00
J. Nick Koston
0628f96713 Ensure all chars are polling when requesting manual update in homekit_controller (#124582)
related issue #123963
2024-08-25 21:21:15 +02:00
J. Nick Koston
41b129e990 Split esphome state property decorators (#124332) 2024-08-25 18:48:17 +02:00
epenet
ebc49d938a Improve config flow type hints (part 2) (#124344) 2024-08-25 18:36:44 +02:00
epenet
58b7711bdd Improve config flow type hints (part 3) (#124346) 2024-08-25 18:36:03 +02:00
epenet
909dfcc436 Improve config flow type hints (part 5) (#124349) 2024-08-25 18:34:39 +02:00
J. Nick Koston
70fc8fa2eb Improve performance of fetching stats metadata (#124428) 2024-08-25 18:33:21 +02:00
J. Nick Koston
242aae514e Small cleanups to list_statistic_ids (#124451) 2024-08-25 18:32:32 +02:00
dontinelli
d94b1e6e8a Add icons for conductivity (#124576) 2024-08-25 18:14:38 +02:00
Allen Porter
d18e81f932 Update a roborock blocking call to be fully async (#124266)
Remove a blocking call in roborock
2024-08-25 08:56:17 -07:00
Paulus Schoutsen
d3293336b1 Ensure write access to hassrelease data folder (#124573)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-08-25 17:24:06 +02:00
dontinelli
1eeb3bdcdf Bump fyta_cli to 0.6.3 (#124574) 2024-08-25 17:23:21 +02:00
Avi Miller
36bfd7b9ce Bump aiolifx to 1.0.8 to support LIFX B10 and T10 Candles (#124263)
Signed-off-by: Avi Miller <me@dje.li>
2024-08-25 07:15:51 -07:00
J. Nick Koston
f84a04e113 Bump ulid-transform to 1.0.2 (#124544)
changelog: https://github.com/bdraco/ulid-transform/compare/v0.13.1...v1.0.2

python 3.13 support added
python 3.10 support dropped
2024-08-25 07:13:40 -07:00
J. Nick Koston
2d5289e7dd Revert "Exclude aiohappyeyeballs from license check" (#124116) 2024-08-25 13:41:47 +00:00
Paulus Schoutsen
18efd84a35 Bump version to 2024.8.3 2024-08-25 13:26:00 +00:00
Jan Bouwhuis
b34c90b189 Only support remote activity on Alexa if feature is set and at least one feature is in the activity_list (#124567)
Only support remote activity on Alexa if feaure is set and at least one feature is in the activity_list
2024-08-25 13:24:42 +00:00
Mr. Bubbles
a45c1a3914 Fix missing id in Habitica completed todos API response (#124565)
* Fix missing id in completed todos API response

* Copy id only if none

* Update homeassistant/components/habitica/coordinator.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-08-25 13:24:42 +00:00
J. Nick Koston
1bdf9d657e Bump yalexs to 8.4.1 (#124553)
changelog: https://github.com/bdraco/yalexs/compare/v8.4.0...v8.4.1
2024-08-25 13:24:41 +00:00
J. Nick Koston
b294a92ad2 Bump yalexs to 8.4.0 (#124520) 2024-08-25 13:24:40 +00:00
J. Nick Koston
2db362ab3d Bump yalexs to 8.3.3 (#124492)
* Bump yalexs to 8.2.0

changelog: https://github.com/bdraco/yalexs/compare/v8.1.4...v8.2.0

* bump to 8.3.1

* bump

* one more bump to ensure we do not hit the ratelimit/shutdown cleanly

* empty commit to restart ci since close/open did not work in flight
2024-08-25 13:24:39 +00:00
Joost Lekkerkerker
5f275a6b9c Don't raise WLED user flow unique_id check (#124481) 2024-08-25 13:22:59 +00:00
Ino Dekker
fa914b2811 Bump aiohue to version 4.7.3 (#124436) 2024-08-25 13:22:58 +00:00
J. Nick Koston
a128e2e4fc Bump yalexs to 8.1.4 (#124425)
changelog: https://github.com/bdraco/yalexs/compare/v8.1.2...v8.1.4
2024-08-25 13:22:57 +00:00
Penny Wood
03c7f2cf5b Add supported features for iZone (#124416)
* Fix for #123462

* Set outside of constructor
2024-08-25 13:22:57 +00:00
Angel Nunez Mencias
102528e5d3 update ttn_client - fix crash with SenseCAP devices (#124370)
update ttn_client
2024-08-25 13:22:56 +00:00
Pete Sage
8f4af4f7c2 Fix Spotify Media Browsing fails for new config entries (#124368)
* initial commit

* tests

* tests

* update tests

* update tests

* update tests
2024-08-25 13:22:55 +00:00
karwosts
667af10017 Add missing strings for riemann options flow (#124317) 2024-08-25 13:22:54 +00:00
G Johansson
e5a64a1e0a Bump python-holidays to 0.55 (#124314) 2024-08-25 13:22:54 +00:00
G Johansson
236fa8e238 Bump python-holidays to 0.54 (#124170) 2024-08-25 13:22:53 +00:00
J. Nick Koston
70a58a0bb0 Bump yalexs to 8.1.2 (#124303) 2024-08-25 13:20:54 +00:00
Joost Lekkerkerker
769c7f1ea3 Don't abort airgradient user flow if flow in progress (#124300) 2024-08-25 13:20:53 +00:00
Marcel van der Veldt
5a8045d1fb Prevent KeyError when Matter device sends invalid value for StartUpOnOff (#124280) 2024-08-25 13:20:52 +00:00
Allen Porter
5a73b636e3 Bump python-roborock to 2.6.0 (#124268) 2024-08-25 13:20:51 +00:00
Matthias Alphart
524e09b45e Update xknx to 3.1.1 (#124257) 2024-08-25 13:20:51 +00:00
J. Nick Koston
1f46670266 Bump aiohttp to 3.10.5 (#124254) 2024-08-25 13:20:50 +00:00
Erik Montnemery
a857f603c8 Bump pyhomeworks to 1.1.2 (#124199) 2024-08-25 13:20:49 +00:00
J. Nick Koston
b7d8f3d005 Fix shelly available check when device is not initialized (#124182)
* Fix shelly available check when device is not initialized

available needs to check for device.initialized or if the device
is sleepy as calls to status will raise NotInitialized which results
in many unretrieved exceptions while writing state

fixes
```
2024-08-18 09:33:03.757 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/config/custom_components/shelly/entity.py", line 374, in _update_callback
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/binary_sensor/__init__.py", line 293, in state
    if (is_on := self.is_on) is None:
                 ^^^^^^^^^^
  File "/config/custom_components/shelly/binary_sensor.py", line 331, in is_on
    return bool(self.attribute_value)
                ^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/shelly/entity.py", line 545, in attribute_value
    self._last_value = self.sub_status
                       ^^^^^^^^^^^^^^^
  File "/config/custom_components/shelly/entity.py", line 534, in sub_status
    return self.status[self.entity_description.sub_key]
           ^^^^^^^^^^^
  File "/config/custom_components/shelly/entity.py", line 364, in status
    return cast(dict, self.coordinator.device.status[self.key])
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aioshelly/rpc_device/device.py", line 390, in status
    raise NotInitialized
aioshelly.exceptions.NotInitialized
```

* tweak

* cover

* fix

* cover

* fixes
2024-08-25 13:19:57 +00:00
Shay Levy
129035967b Shelly RPC - do not stop BLE scanner if a sleeping device (#124147) 2024-08-25 13:17:46 +00:00
Christopher Maio
45b44f8a59 Update Matter light transition blocklist to include GE Cync Undercabinet Lights (#124138) 2024-08-25 13:17:45 +00:00
J. Nick Koston
e80dc52175 Bump aiohttp to 3.10.4 (#124137)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.10.3...v3.10.4
2024-08-25 13:17:45 +00:00
MarkGodwin
22bb3e5477 Bump tplink-omada-api to 1.4.2 (#124136)
Fix for bad pre-registered clients
2024-08-25 13:17:44 +00:00
Allen Porter
f89e8e6ceb Bump nest to 4.0.7 to increase subscriber deadline (#124131)
Bump nest to 4.0.7
2024-08-25 13:17:43 +00:00
J. Nick Koston
157a61845b Bump aiohomekit to 3.2.3 (#124115) 2024-08-25 13:17:43 +00:00
Artem Draft
0fcdc3c200 Bump pybravia to 0.3.4 (#124113) 2024-08-25 13:17:42 +00:00
cdnninja
d1f09ecd0c Add Alt Core300s model to vesync integration (#124091) 2024-08-25 13:17:41 +00:00
J. Nick Koston
3484ab3c0c Bump aioshelly to 11.2.4 (#124080) 2024-08-25 13:17:40 +00:00
J. Nick Koston
80df582ebd Bump yalexs to 8.0.2 (#123817) 2024-08-25 13:17:39 +00:00
J. Nick Koston
dc967e2ef2 Bump yalexs to 6.5.0 (#123739) 2024-08-25 13:17:39 +00:00
Daniel Rozycki
e2c1a38d87 Skip NextBus update if integration is still loading (#123564)
* Skip NextBus update if integration is still loading

Fixes a race between the loading thread and
update thread leading to an unrecoverable error

* Use async_at_started

* Use local copy of _route_stops to avoid NextBus race condition

* Update homeassistant/components/nextbus/coordinator.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-25 13:17:38 +00:00
Mr. Bubbles
c9e7c76ee5 Fix missing id in Habitica completed todos API response (#124565)
* Fix missing id in completed todos API response

* Copy id only if none

* Update homeassistant/components/habitica/coordinator.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-08-25 15:15:47 +02:00
Jan Bouwhuis
5550b1a74e Only support remote activity on Alexa if feature is set and at least one feature is in the activity_list (#124567)
Only support remote activity on Alexa if feaure is set and at least one feature is in the activity_list
2024-08-25 15:09:08 +02:00
Marcel van der Veldt
51b520db0c Prevent KeyError when Matter device sends invalid value for StartUpOnOff (#124280) 2024-08-25 15:06:16 +02:00
Christopher Maio
f06c21c8cc Update Matter light transition blocklist to include GE Cync Undercabinet Lights (#124138) 2024-08-25 15:05:13 +02:00
IceBotYT
fcf0bef2cd Remove platform from unique ID in Nice G.O. (#124548)
* Remove domain from unique ID in Nice G.O.

* Snapshots
2024-08-25 14:13:50 +02:00
J. Nick Koston
7c8e00e5e0 Bump yalexs to 8.4.1 (#124553)
changelog: https://github.com/bdraco/yalexs/compare/v8.4.0...v8.4.1
2024-08-25 13:16:20 +02:00
Jonas Bergler
ce72157bf7 Bump pyEmby to 1.10 (#124549) 2024-08-25 11:43:21 +02:00
Andrew Jackson
31f5539311 Change logger level on config migration for Mastodon (#124558) 2024-08-25 09:53:30 +02:00
J. Nick Koston
b63fb9f17f Bump bluetooth-data-tools to 1.20.0 (#124542)
changelog: https://github.com/Bluetooth-Devices/bluetooth-data-tools/compare/v1.19.4...v1.20.0
2024-08-24 18:18:54 -10:00
IceBotYT
9b3718edfb Remove sync API use in Nice G.O. (#124546) 2024-08-25 03:27:08 +02:00
Michael Hansen
156e39ebb2 Add minimum command seconds to VAD (#124447) 2024-08-24 22:21:03 +02:00
Allen Porter
c506188c13 Fix nest event entities to only register a single event per session (#124535) 2024-08-24 22:17:59 +02:00
Allen Porter
b64c21cce6 Bump to python-nest-sdm to 5.0.0 (#124536) 2024-08-24 22:16:55 +02:00
David F. Mulcahey
e85755fbda Fix ZHA device lookup when ZHA devices are shared with additional integrations (#124429)
* Fix ZHA device lookup when ZHA devices are shared with additional integrations

* clean up except error types

* remove impossible to create exceptions
2024-08-24 15:52:27 -04:00
Allen Porter
3e3d27f48d Add nest event platform (#123042)
* Add nest event platform

* Translate entities

* Put motion events into a single entity type

* Remove none types

* Set event entity descriptions as kw only

* Update translations for event entities

* Add single event entity per trait type

* Update translation keys
2024-08-24 08:44:44 -07:00
red-island
32f75597a9 Fix tilt calculation for HomeKit cover devices (#123532) 2024-08-24 16:12:32 +01:00
cnico
d7d35f74f2 Bump flipr-api to 1.6.0 (#124522)
bump flipr-api to 1.6.0
2024-08-24 17:09:52 +02:00
Markus Jacobsen
5dc03752ca Add type hinting to Bang & Olufsen test (#124423) 2024-08-24 12:59:08 +02:00
Michael Arthur
b26446bd88 Add returning activity to ecovacs lawn mower (#124519) 2024-08-24 12:53:49 +02:00
Robert Svensson
9e13184256 Add deCONZ Air Purifier Fan Mode select entity support (#124513)
* Add deCONZ Air Purifier Fan Mode select entity support

* Remove unused constants
2024-08-24 09:51:09 +02:00
J. Nick Koston
b7170c78a5 Bump yalexs to 8.4.0 (#124520) 2024-08-23 20:44:12 -10:00
Steven B.
e26d363b5e Convert ring integration to the async ring-doorbell api (#124365)
* Bump ring-doorbell to 0.9.0

* Convert ring integration to async ring-doorbell api

* Use mock auth fixture class to get token_updater

* Fix typo in fixture name
2024-08-24 08:23:31 +02:00
Joost Lekkerkerker
7ae8f4c9d0 Don't abort airgradient user flow if flow in progress (#124300) 2024-08-24 07:20:00 +02:00
Lenn
664e0258bf Bump motionblindsble to 0.1.1 (#124322) 2024-08-24 07:19:11 +02:00
Joost Lekkerkerker
8023cbcc38 Don't raise WLED user flow unique_id check (#124481) 2024-08-24 07:04:50 +02:00
jjlawren
22c322fc37 Bump plexapi to 4.15.16 (#124512) 2024-08-24 07:01:25 +02:00
J. Nick Koston
2bb4a8747c Bump fnv-hash-fast to 1.0.2 (#124489) 2024-08-24 06:58:52 +02:00
Andre Lengwenus
098a006f32 Bump lcn-frontend to 0.1.6 (#124490) 2024-08-24 06:56:48 +02:00
David F. Mulcahey
d47a296d7a Resolve versions of ZHA dependencies earlier to prevent blocking call in event loop (#124496) 2024-08-24 06:52:58 +02:00
Matthias Alphart
c2ce71a38c Update xknx to 3.1.1 (#124257) 2024-08-24 06:48:02 +02:00
Artur Pragacz
a7c6abc54e Always assign unique_id in Onkyo (#120543) 2024-08-23 21:04:44 -07:00
Christophe Gagnier
79ba315008 Add charging enabled switch to TechnoVE (#121484)
* Add session_active switch to TechnoVE

* Replace multi-line lambda with function def

* Make lambda one line
2024-08-23 22:45:26 +02:00
Jan Bouwhuis
26e87509be Cleanup hassio fixtures in home assistant hardware integration tests (#124500) 2024-08-23 19:40:35 +02:00
J. Nick Koston
af2fec89d8 Bump yalexs to 8.3.3 (#124492)
* Bump yalexs to 8.2.0

changelog: https://github.com/bdraco/yalexs/compare/v8.1.4...v8.2.0

* bump to 8.3.1

* bump

* one more bump to ensure we do not hit the ratelimit/shutdown cleanly

* empty commit to restart ci since close/open did not work in flight
2024-08-23 19:23:05 +02:00
Steven B.
61cee043e6 Do not report tplink discovery failures as legacy connection failures (#124432)
* Do not report discovery failures as legacy connection failures

* Fix catching BaseException
2024-08-23 10:17:48 -05:00
Jan Bouwhuis
fd57931cc9 Cleanup redundant fixtures on matter integration for addon tests (#124445) 2024-08-23 16:27:14 +02:00
Jan Bouwhuis
44b6bca89a Refactor and cleanup zwave_js fixtures to share them (#124485)
Refactor and cleanup zwave_js fixtures to use
2024-08-23 15:42:57 +02:00
starkillerOG
0bd9386df2 Reolink add 100% coverage of siren platform (#124474) 2024-08-23 15:15:04 +02:00
Ino Dekker
611723e44b Bump aiohue to version 4.7.3 (#124436) 2024-08-23 13:43:17 +02:00
tronikos
f8e65c1161 Bump opower to 0.7.0 (#124475) 2024-08-23 12:43:16 +02:00
starkillerOG
ab064a7f36 Reolink add 100% coverage of number platform (#124465)
* Add 100% number test coverage

* review comments

* fix styling

* re-add AsyncMock for chime
2024-08-23 12:34:58 +02:00
Willem-Jan van Rootselaar
4e94ce0cc7 Refactor bsblan coordinator (#124308)
* chore: Refactor BSBLanUpdateCoordinator to improve code readability and maintainability

* feat: Add BSBLan integration models

This commit adds the models for the BSB-Lan integration. It includes a dataclass for the BSBLanCoordinatorData, which stores the state and sensor information.

* refactor: Update BSBLANClimate class to use DataUpdateCoordinator without specifying the State type

* chore: Remove unused Sensor import in BSBLan models

* feat: Refactor BSBLanEntity to use CoordinatorEntity

The BSBLanEntity class has been refactored to inherit from the CoordinatorEntity class, which provides better integration with the update coordinator. This change improves code readability and maintainability.

* refactor: Remove unused config_entry variable in BSBLanUpdateCoordinator

* refactor: Update BSBLANClimate class to use DataUpdateCoordinator

Refactor the BSBLANClimate class to use the Coordinator of the entity

* refactor: Update tests to use the new structure

* fix coverage

 it should be the same as before

* refactor: moved dataclass BSBLanCoordinatorData

* use the data class inside init

* refactor: Remove unused config_entry variable in BSBLanUpdateCoordinator

* refactor: use BSBLanData from init

* remove entry data from diagnostics

* fix: add random interval back

* refactor: Simplify coordinator_data assignment in async_get_config_entry_diagnostics

* revert back to original except dataclass import

* revert: Add MAC address back to device info in BSBLanEntity
2024-08-23 08:42:36 +02:00
Raman Gupta
7c6e3fe9c4 Fix zwave_js services.yaml schema (#124455)
Fix zwave_Js services.yaml schema
2024-08-23 08:38:08 +02:00
J. Nick Koston
7579ebc02a Replace statistics _get_unit_class function with a dict lookup (#124452) 2024-08-22 21:14:31 -05:00
J. Nick Koston
61ac4c7af7 Use identity checks for ESPHome Enums (#124334)
Enums are singletons and should use is to compare.

The valve platform was updated but cover and lock were missed.
2024-08-22 22:50:15 +03:00
J. Nick Koston
2533bde27a Bump yalexs to 8.1.4 (#124425)
changelog: https://github.com/bdraco/yalexs/compare/v8.1.2...v8.1.4
2024-08-22 22:46:54 +03:00
Raman Gupta
fc1ed7d7cb Refactor targets for zwave_js services (#115734)
* Let labels be used as targets for zwave_js services

* add coverage

* Fix test bug and switch from targets to fields

* Remove label addition

* Remove labels from service descriptions

* Remove labels from strings

* More changes
2024-08-22 21:07:21 +02:00
Joost Lekkerkerker
281a9f042b Check minimum amount of integrations for a brand (#124310) 2024-08-22 21:01:48 +02:00
J. Nick Koston
1d35c745bb Reduce ESPHome entity state write overhead (#124329) 2024-08-22 21:00:30 +02:00
Jan Bouwhuis
51dba1eec3 Cleanup redundant fixtures and move all other hassio addon fixtures to be shared (#124437) 2024-08-22 20:58:05 +02:00
Sid
6e5e96b047 Bump ruff to 0.6.2 (#124433) 2024-08-22 20:51:57 +02:00
Jan Bouwhuis
e13f8996f2 Fix Import ReceivePayloadType (#124431)
* Fix Import ReceivePayloadType

* Do not assert export `ReceivePayloadType` on mqtt integration level as helper should be used.
2024-08-22 20:13:30 +02:00
Jan Bouwhuis
7887bcba89 Allow to set options for an MQTT enum sensor (#123248)
* Add options attribute support for MQTT sensor

* Add comment
2024-08-22 19:16:08 +02:00
Michael Arthur
3a92899081 Add LawnMowerActivity.RETURNING to Lawn Mower (#124261)
* Add returning activity state

* update tests

* update tests

* set can return to returning state

* update MQTT tests

* update mqtt back to docked

* fix up other tests that I broke again

* re-add mower_can_dock
2024-08-22 19:13:54 +02:00
Petro31
5d64155bb6 Add zip to template engine (#122460)
* add zip to template engine

* fix doc strings
2024-08-22 19:11:08 +02:00
J. Nick Koston
6f66f37fc7 Shutdown database engine before waiting for executor shutdown (#117339)
* Close database connection before stopping the executor

related issue #117004

* Close database connection before waiting for database executor to finish

related issue #117004

* fix test

* fix

* drop unused arg

* Revert "drop unused arg"

This reverts commit 8a9fe6a24a.

* docstring

* comment
2024-08-22 16:47:22 +02:00
Markus Jacobsen
890c6e97fd Add Bang & Olufsen websocket testing (#123075)
* Add websocket.py testing
Convert media_player testing dispatch events to the proper websocket events

* Fix WebSocket testing by using callbacks

* Add typing

* Add caplog checking
Check dispatch events directly
Check event bus directly
Avoid using internals

* Fix event and / dispatch callbacks not necessarily being checked

* Remove unnecessary caplog log level handling
2024-08-22 16:31:15 +02:00
Erik Montnemery
404a7bab18 Wrap OSError in loader.load_yaml (#124406) 2024-08-22 09:06:41 -05:00
Markus Jacobsen
2337c3ff69 Improve Bang olufsen test typing and parameter order (#124419)
* Add proper media_player typing to tests

* Add proper typing to init tests

* Add proper typing to config_flow tests

* Fix order of parameters of tests

* Add more typing
Reorder parameters
2024-08-22 15:49:42 +02:00
Penny Wood
4a6f833fca Add supported features for iZone (#124416)
* Fix for #123462

* Set outside of constructor
2024-08-22 15:39:09 +02:00
Jakob Schlyter
c541cb5cba Automatically generate Amazon Polly list of voices and regions (#119198)
* Automatically generate list of voices and regions. Requires AWS credentials.

* add missing commit

* replace pydantic with dataclass

* dictionary values are strings or list of strings

* also generated set of supported engines

* use sets for amazon polly parameters

* move default for readability
2024-08-22 15:36:11 +02:00
J. Nick Koston
df82567356 Fix shelly available check when device is not initialized (#124182)
* Fix shelly available check when device is not initialized

available needs to check for device.initialized or if the device
is sleepy as calls to status will raise NotInitialized which results
in many unretrieved exceptions while writing state

fixes
```
2024-08-18 09:33:03.757 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/config/custom_components/shelly/entity.py", line 374, in _update_callback
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/binary_sensor/__init__.py", line 293, in state
    if (is_on := self.is_on) is None:
                 ^^^^^^^^^^
  File "/config/custom_components/shelly/binary_sensor.py", line 331, in is_on
    return bool(self.attribute_value)
                ^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/shelly/entity.py", line 545, in attribute_value
    self._last_value = self.sub_status
                       ^^^^^^^^^^^^^^^
  File "/config/custom_components/shelly/entity.py", line 534, in sub_status
    return self.status[self.entity_description.sub_key]
           ^^^^^^^^^^^
  File "/config/custom_components/shelly/entity.py", line 364, in status
    return cast(dict, self.coordinator.device.status[self.key])
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aioshelly/rpc_device/device.py", line 390, in status
    raise NotInitialized
aioshelly.exceptions.NotInitialized
```

* tweak

* cover

* fix

* cover

* fixes
2024-08-22 16:14:45 +03:00
epenet
1bc0ec201a Drop ignore-missing-annotations from pylint tests (#120302) 2024-08-22 15:13:00 +02:00
epenet
403db6277f Improve type hints in lcn tests (#124415) 2024-08-22 14:50:45 +02:00
epenet
4e3bd55c73 Revert UnitOfReactivePower change from iotawatt (#124393)
Revert "Change POWER_VOLT_AMPERE_REACTIVE to UnitOfReactivePower (#117153)"

This reverts commit 3e53cc175f.
2024-08-22 12:11:07 +02:00
Erik Montnemery
ab6d0e3277 Handle !include without arguments in configuration.yaml (#124399)
* Prevent !include without arguments in configuration.yaml from crashing core

* Add test
2024-08-22 12:08:24 +02:00
TimL
480e748b04 Bump pysmlight to 0.0.13 (#124398)
Better handle socket uptime disconnected
Raise auth error on get/post requests that fail
2024-08-22 12:04:03 +02:00
Jan Bouwhuis
b541d214ed Fix lingering mqtt unload entry test (#124392) 2024-08-22 11:03:35 +02:00
G Johansson
0c8ed18ca5 Use setup_test_component_platform in Climate tests (#123941)
* Use setup_test_component_platform in Climate tests

* Rename mock integration helper

* Change name to register_test_integration

* Change name in tests

* Fix ruff format
2024-08-22 09:38:27 +02:00
Jan Bouwhuis
61114d8328 Install and start Mosquitto MQTT broker add on from MQTT config flow (#124106)
* Opt in to install Mosquitto broker add-on in MQTT config flow

* rephrase

* Tests with supervisor and running add-on

* Complete tests for success flows

* Also set up entry in success flow

* Use realistic names for addon and broker

* Finetuning and fail test cases

* Spelling

* Improve translation strings

* Update addon docstr

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

* Raise AddonError if add-on does not start

* Only show the option to use the add-on

* Simplify flow, rework and cleanup

* Revert unrelated cleanup, process suggestion

* Move ADDON_SLUG const to addon module

* Move fixture to component level

* Move back supervisor fixture

* Move addon_setup_time_fixture and superfixe to config flow model tests

* Refactor hassio fixture

* Rename helpers as they are no fixtures, remove fixture from their names

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-08-22 09:07:45 +02:00
spongebobberts
9b9e98a26e Fix typo in Alexa resources docstring (#124388)
Fixed typo in Alexa resources docstring
2024-08-22 09:05:13 +02:00
dependabot[bot]
60f9fbf800 Bump home-assistant/builder from 2024.08.1 to 2024.08.2 (#124341) 2024-08-22 08:55:43 +02:00
dependabot[bot]
2ff326b563 Bump github/codeql-action from 3.26.2 to 3.26.4 (#124390) 2024-08-22 08:55:16 +02:00
G Johansson
266cd623a5 Bump python-holidays to 0.55 (#124314) 2024-08-22 07:59:21 +02:00
J. Nick Koston
ad362b1d4c Bump dbus-fast to 2.23.0 (#124384) 2024-08-22 07:48:25 +02:00
epenet
47beddc6c6 Improve config flow type hints (part 4) (#124348) 2024-08-21 22:43:42 +02:00
epenet
913e5404da Improve config flow type hints (part 1) (#124343)
* Improve config flow type hints

* Revert sms
2024-08-21 22:42:58 +02:00
Mr. Bubbles
67bc568db6 Add tests for Bring integration (#123087)
* Add tests to bring integration

* use more parametrization

* json fixture loading, move notification tests
2024-08-21 22:18:33 +02:00
Patrick Frazer
5f53d3f917 Add DROP Alert product support (#117867)
* Add DROP Alert product support

* Add DROP Alert to sensor selftest

* Fix Alert sensor naming ambiguity

* Reorder a constant

* Alphabetize strings

* Remove unnecessary translation key
2024-08-21 21:56:59 +02:00
Angel Nunez Mencias
e9798cd1b4 update ttn_client - fix crash with SenseCAP devices (#124370)
update ttn_client
2024-08-21 21:14:03 +02:00
Anrijs
4ef55e5088 Add Aranet Radon Plus support (#124197)
added aranet radon plus support
2024-08-21 22:12:20 +03:00
Pete Sage
9399a54c7a Fix Spotify Media Browsing fails for new config entries (#124368)
* initial commit

* tests

* tests

* update tests

* update tests

* update tests
2024-08-21 21:05:09 +02:00
Markus Jacobsen
d86b816491 Convert Bang & Olufsen testing logging patches to caplog (#124366)
* Convert logging patches to caplog

* Remove unnecessary caplog log level handling
2024-08-21 17:11:01 +02:00
Markus Jacobsen
88b95c1236 Remove unneeded check for Bang & Olufsen events and device update (#124363)
Remove unneeded check for device and HomeAssistant availability
2024-08-21 17:03:21 +02:00
J. Nick Koston
e56c235424 Bump async-interrupt to 1.2.0 (#124360)
changelog: https://github.com/bdraco/async_interrupt/compare/v1.1.2...v1.2.0
2024-08-21 16:59:41 +02:00
mvn23
ec256166cc Rename OpenThermGatewayDevice to OpenThermGatewayHub (#124361)
* Rename OpenThermGatewayDevice to OpenThermGatewayHub
Update references accordingly

* Update tests
2024-08-21 16:56:57 +02:00
Jeef
9de90ca7d5 Fix Weatherflow Cloud lightning (#124082)
* Adding a error condition and a fix for missing lightning epoch values

* adding parentheses around the lambda

* Updating PR

* removed the dumb test

* Updated tests to support good stuff

* Updated snapshots
2024-08-21 16:16:16 +02:00
Christian Neumeier
3e53cc175f Change POWER_VOLT_AMPERE_REACTIVE to UnitOfReactivePower (#117153)
* Refactoring: exchange POWER_VOLT_AMPERE_REACTIVE with UnitOfReactivePower

* updated iotawatt and mysensors from VOLT_AMPERE_REACTIVE to UnitOfReactivePower.VOLT_AMPERE_REACTIVE

* deprecation period for POWER_VOLT_AMPERE_REACTIVE changed to one year.

* POWER_VOLT_AMPERE_REACTIVE changed to UnitOfReactivePower in blebox integration

* Update homeassistant/const.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-08-21 15:36:45 +02:00
Mr. Bubbles
b21b300625 Disable Habitica deprecated entities by default (#123522)
Deprecated sensor task entites disable by default
2024-08-21 14:59:08 +02:00
Christopher Fenner
52c0a09107 Add test cases for ViCare entities (#122983)
* add test case

* add test case

* add test case

* add test case

* add test case

* add test case

* remove commented code

* test only fan platform

* add test case

* remove fan mock
2024-08-21 14:42:58 +02:00
Mr. Bubbles
8d97fafb2d Add tests for IronOS integration (#123078)
Add tests
2024-08-21 14:03:40 +02:00
Joram
fa5f47127c Fix state name for binary_sensor Power from clear/detected to on/off (#116994)
Fixed state name for binary_sensor Power from clear/detected to on/off
2024-08-21 13:37:43 +02:00
Michał Jaworski
316a57864a Extend blebox shutterbox tilt support (#110547)
* blebox: extend shutterbox tilt support

* feat: add test for new open/close tilt code in blebox covers

* blebox: resign from using future compat branch for cover open/close tilt

* Update homeassistant/components/blebox/cover.py

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

* blebox: revert changes to BLEBOX_TO_HASS_COVER_STATES

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-08-21 12:53:40 +02:00
Michał Jaworski
a287c8259d blebox: use blebox_uniapi.cover.BleboxCoverState enum members instead of plain integers (#124302)
* blebox: use blebox_uniapi.cover.BleboxCoverState enum members instead of plain integers

* Apply suggestion from code review

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-08-21 12:53:09 +02:00
Andre Lengwenus
c276cfc371 Add custom panel for LCN configuration (#108664)
* Add LCN panel using lcn-frontend module

* Move panel from sidebar to integration configuration

* Change OptionFlow to reconfigure step

* Change OptionFlow to reconfigure step

* Remove deprecation warning

* Fix docstring

* Add tests for lcn websockets

* Remove deepcopy

* Bump lcn-frontend to 0.1.3

* Add tests for lcn websockets

* Remove websocket command lcn/hosts

* Websocket scan tests cover modules not stored in config_entry

* Add comment to mock of hass.http

* Add a decorater to ensure the config_entry exists and return it

* Use entry_id instead of host_id

* Bump lcn-frontend to 0.1.5

* Use auto_id for websocket client send_json

* Create issues on yaml import errors

* Remove low level key deprecation warnings

* Method renaming

* Change issue id in issue creation

* Update tests for issue creation
2024-08-21 11:33:47 +02:00
Markus Jacobsen
f33328308c Improve Bang & Olufsen notification type comparison (#123067)
* Change notification comparison

* Use try_parse_enum to determine notification type
2024-08-21 11:31:19 +02:00
J. Nick Koston
1d1a6ee52f Bump habluetooth to 3.3.2 (#124321) 2024-08-20 12:50:37 -05:00
karwosts
d248bf596a Add missing strings for riemann options flow (#124317) 2024-08-20 18:45:16 +02:00
J. Nick Koston
ce82c79ff9 Bump yalexs to 8.1.2 (#124303) 2024-08-20 11:38:29 -05:00
Pete Sage
d327ec904c Add Sonos tests for media_player play Sonos Playlist and improve error handling (#124126)
* initial commit

* initial commit

* initial commit

* updates

* add json fixture

* use match on pytest.raises
2024-08-20 18:38:04 +02:00
Jan Bouwhuis
b74aced6f3 Subscribe per component for MQTT discovery (#119974)
* Subscribe per component for MQTT discovery

* Use single assignment

* Handle wildcard subscriptions first

* Split subsRecription handling, update helper

* Fix help_all_subscribe_calls

* Fix import

* Fix test

* Update import order

* Undo move self._last_subscribe

* Recover removed test

* Revert not needed changes to binary_sensor platform tests

* Revert line removal

* Rework interation of discovery topics

* Reduce

* Add comment

* Move comment

* Chain subscriptions
2024-08-20 17:02:48 +02:00
Erik Montnemery
a1e3e7f24f Deduplicate OTBR test fixtures (#124293) 2024-08-20 14:58:34 +02:00
Erik Montnemery
15976b8207 Disable expensive pskc computation in all otbr tests (#124292)
* Disable expensive pskc computation in all otbr tests

* Update tests and fixtures which patched compute_pskc
2024-08-20 14:53:06 +02:00
mvn23
b1d9e5580c Update opentherm_gw.sensor to use entity_description (#124283) 2024-08-20 14:51:08 +02:00
epenet
3dc83ef19d Add missing hass type hint in component tests (t) (#124274) 2024-08-20 12:55:39 +02:00
epenet
14775c822f Add missing hass type hint in component tests (y) (#124286) 2024-08-20 12:55:14 +02:00
epenet
69a5605551 Add missing hass type hint in component tests (x) (#124285) 2024-08-20 12:54:57 +02:00
epenet
c2dc4ef215 Add missing hass type hint in component tests (w) (#124284) 2024-08-20 12:54:42 +02:00
epenet
e6eedc0717 Add missing hass type hint in component tests (v) (#124281) 2024-08-20 12:54:15 +02:00
epenet
d901cb04b8 Add missing hass type hint in component tests (u) (#124275) 2024-08-20 12:53:48 +02:00
epenet
f66b539027 Add missing hass type hint in component tests (s) (#124272) 2024-08-20 12:53:29 +02:00
epenet
d961e20b15 Add missing hass type hint in component tests (p) (#124227) 2024-08-20 12:52:33 +02:00
epenet
93f791e5d0 Add missing hass type hint in component tests (n) (#124225) 2024-08-20 12:48:06 +02:00
epenet
db92f29c00 Improve type hints in homekit and homekit_controller tests (#124213)
Add missing hass type hint in homekit and homekit_controller tests
2024-08-20 12:47:41 +02:00
Stefan Agner
be255613de Add additional tests for Matter update entity (#122575)
* Add additional tests for Matter update entity

Extend test coverage for Matter update entity. This includes tests for
error handling and state store/restore.

* Improve test descriptions

* Add restore test only (using mock_restore_cache_with_extra_data)

* Fix test_update_state_save_and_restore test

* Use homeassistant constants

* Use update component constants

* Use freezer to skip time for device update check

We check device updates every 12h currently. Use the freezer to skip
time.

Still add a test which uses the service call to make sure this works
too.
2024-08-20 12:10:25 +02:00
TimL
98a007cb2f New Integration: SMLIGHT SLZB-06 Adapters Integration (#118675)
* Initial SMLIGHT integration

Signed-off-by: Tim Lunn <tl@smlight.tech>

* Generated content

Signed-off-by: Tim Lunn <tl@smlight.tech>

* Cleanup LOGGING

* Use runtime data

* Call super first

* coordinator instance attributes

* Move coordinatorEntity and attr to base class

* cleanup sensors

* update strings to use sentence case

* Improve reauth flow on incorrect credentials

* Use fixture for config_flow tests and test to completion

* Split uptime hndling into a new uptime sensor entity

* Drop server side events and internet callback

will bring this back with binary sensor Platform

* consolidate coordinator setup

* entity always include connections

* get_hostname tweak

* Add tests for init, coordinator and sensor

* Use custom type SmConfigEntry

* update sensor snapshot

* Drop reauth flow for later PR

* Use _async_setup for initial setup

* drop internet to be set later

* sensor fixes

* config flow re

* typing fixes

* Bump pysmlight dependency to 0.0.12

* dont trigger invalid auth message when first loading auth step

* Merge uptime sensors back into main sensor class

* clarify uptime handling

* Apply suggestions from code review

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

* address review comments

* pass host as parameter to the dataCoordinator

* drop uptime sensors for a later PR

* update sensor test snapshot

* move coordinator unique_id to _async_setup

* fix CI

* Apply suggestions from code review

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

* drop invalid_auth test tag

* use snapshot_platform, update fixtures

* Finish all tests with abort or create entry

* drop coordinator tests and remove hostname support

* add test for update failure on connection error

* use freezer for update_failed test

* fix pysmlight imports

---------

Signed-off-by: Tim Lunn <tl@smlight.tech>
Co-authored-by: Tim Lunn <tim@feathertop.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-20 10:44:06 +02:00
Erik Montnemery
b4648136c5 Deduplicate otbr tests (#124270) 2024-08-20 10:33:16 +02:00
Erik Montnemery
d3deaa6a82 Improve otbr error handling (#124277) 2024-08-20 10:33:02 +02:00
mvn23
e81aa1cdb2 Update opentherm_gw.binary_sensor to use entity_description (#121969)
* Update opentherm_gw.binary_sensor to use entity_description

* Move binary_sensor related code to binary_sensor.py
Move common entity code to entity.py

* Remove unused logger from binary_sensor.py

* Add type hints
Address feedback
2024-08-20 10:20:27 +02:00
Allen Porter
24f0c88123 Bump python-roborock to 2.6.0 (#124268) 2024-08-20 09:51:44 +02:00
Erik Montnemery
b31c6012ae Use HassKey in otbr (#124240) 2024-08-20 08:16:59 +02:00
Ian
d99f1631ca Add Uplink info to UniFi Device tracker attributes (#123032)
Add device uplink mac sensor
2024-08-20 07:57:03 +02:00
IceBotYT
8260264416 Bump nice-go to 0.3.0 (#124262) 2024-08-19 22:38:10 -07:00
Yuxin Wang
097162eceb Add handling for RoborockTooFrequentCodeRequests for roborock integration (#123759)
* Add handling for RoborockTooFrequentCodeRequests

* Add tests for coverage
2024-08-19 21:09:01 -07:00
J. Nick Koston
d8cbb3540f Bump aioshelly to 11.2.4 (#124080) 2024-08-19 19:13:35 -05:00
J. Nick Koston
0f90a3cf60 Bump aiohttp to 3.10.5 (#124254) 2024-08-19 15:40:32 -05:00
J. Nick Koston
108a54a4a8 Handle WebSocket client disconnect during prepare (#124173) 2024-08-19 15:28:05 -05:00
IceBotYT
fc767ee562 Add event platform to Nice G.O. (#124253)
* Add event platform to Nice G.O.

* Add icon for barrier obstructed event

* Better assertions

* More test improvements
2024-08-19 22:09:22 +02:00
Sid
566c00ef12 Skip interfaces without mac in enigma2 device_info (#124249) 2024-08-19 22:05:43 +02:00
Artur Pragacz
407e4f6ca2 Add entity matching to intent_script (#120973) 2024-08-19 15:01:35 -05:00
Andrii Mitnovych
254aa8c9ea Add entity deduplication by assist device ID in conversation agent (#123957)
* Add entities deduplication by assist device ID in default conversation agent

* Updated test.
2024-08-19 15:00:23 -05:00
epenet
b4afca3e7e Add missing hass type hint in component tests (r) (#124231) 2024-08-19 21:38:41 +02:00
IceBotYT
20f7af25e9 Add switch platform to Nice G.O. (#124237)
* Add switch platform to Nice G.O.

* Replace cover with switch in switch.py

* Use  icon translations

* Fix tests

* Use constants in test_switch.py

* Use ATTR_ENTITY_ID
2024-08-19 21:25:11 +02:00
Erik Montnemery
69652ca2ca Use PEP 695 for decorator typing with type aliases in esphome (#124234) 2024-08-19 14:13:48 -05:00
IceBotYT
89728f41e1 Bump nice-go to 0.2.1 (#124238)
* Bump nice-go to 0.2.0

* Bump nice-go to 0.2.1
2024-08-19 20:45:25 +02:00
Sid
9283d766d3 Bump ruff to 0.6.1 (#124250)
* Bump ruff to 0.6.0

* Bump ruff to 0.6.1
2024-08-19 20:43:50 +02:00
Joost Lekkerkerker
bcd92b43ce Bump aiowithings to 3.0.3 (#124154) 2024-08-19 20:40:23 +02:00
Christopher Fenner
de82f21446 Use library fork for ViCare integration (#124107)
* switch dependency to fork

* Update manifest.json

* Update requirements_all.txt

* Update requirements_test_all.txt
2024-08-19 20:14:33 +02:00
Marlon
984a534300 Bump apsystems-ez1 to 2.2.1 (#124243)
* Update apsystems library

* Bump apsystems library to 2.2.1
2024-08-19 19:44:28 +02:00
Erik Montnemery
50f3c891fa Prepare otbr.silabs_multiprotocol for multiple config entries (#124219)
* Prepare otbr.silabs_multiprotocol for multiple config entries

* Simplify
2024-08-19 17:30:48 +02:00
Marlon
e3ab30a2a5 Add support for whole apsystems ez1 series (#123356)
* Add support for whole apsystems ez1 series by configuring the max_output at setup to match the value by the inverter

* Check Max output for apsystems on startup, not setup

* Move max output check into coordinator

* Raise UpdateFailed on error in apsystems
2024-08-19 16:57:43 +02:00
Erik Montnemery
f2d41bd99c Minor improvements of otbr tests (#124224) 2024-08-19 16:29:34 +02:00
epenet
b53ae884a6 Add missing hass type hint in component tests (o) (#124226) 2024-08-19 16:16:34 +02:00
Marlon
f4997e46fb Bump apsystems-ez1 to 2.1.0 (#123225)
Library update for apsystems fixing breaking changes
2024-08-19 16:15:27 +02:00
Erik Montnemery
110ee9ff35 Strip trailing / from OTBR url (#124223) 2024-08-19 16:06:20 +02:00
epenet
c76d68503a Add missing hass type hint in history and recorder tests (#124204) 2024-08-19 15:41:09 +02:00
epenet
5470d14a11 Add missing hass type hint in component tests (m) (#124222) 2024-08-19 15:36:37 +02:00
epenet
02139fcca6 Add missing hass type hint in component tests (l) (#124220) 2024-08-19 15:36:23 +02:00
cnico
16e52f0427 Allow manually updating entity state in chacon dio (#124187)
* Addition of a reload service to manually retrieve the status of the devices.

* Removal of reload_state service replaced by the homeassistant.update_entity supported service

* remove api update to v1.2.1 for another PR

* Review corrections

* Review corrections
2024-08-19 14:05:12 +02:00
Erik Montnemery
96edaebdd3 Remove unused function otbr.async_get_active_dataset_tlvs (#124210) 2024-08-19 13:15:50 +02:00
cnico
8907b7e911 Bump dio-chacon-wifi-api to 1.2.1 (#124215)
* chacon_dio api version to 1.2.1

* corrected CI for PR
2024-08-19 12:58:00 +02:00
Philip Vanloo
fd0f093e10 Bump python-linkplay to 0.0.8 (#123875)
* Bump python-linkplay to 0.0.7

* Bump python-linkplay to 0.0.8
2024-08-19 12:45:11 +02:00
Erik Montnemery
e88007af2d Improve suggested values in homeworks config flow (#124200) 2024-08-19 12:41:47 +02:00
epenet
a24fdd1c2b Add missing hass type hint in component tests (h) (#124209)
* Add missing hass type hint in component tests (h)

* Fix import
2024-08-19 12:40:56 +02:00
epenet
f0af33bd2b Add missing hass type hint in component tests (i) (#124216) 2024-08-19 12:40:17 +02:00
Shai Ungar
057f31132b Bump pyseventeentrack to 1.0.1 (#124211) 2024-08-19 12:02:34 +02:00
epenet
197e65c3a9 Improve type hints in homematicip_cloud tests (#124207)
Add missing hass type hint in homematicip_cloud tests
2024-08-19 11:06:50 +02:00
Antoine Reversat
d9aa931fac Add reauth to fujitsu_fglair (#124166)
* Add reauth to fujitsu_fglair

* Add test for reauth when an exception occurs.

* Address comments

* Always assert

* Address comments
2024-08-19 11:04:34 +02:00
Joost Lekkerkerker
2577fb804b Add sonos snapshot test (#124036) 2024-08-19 11:00:33 +02:00
Erik Montnemery
bab930a456 Fix flapping ista_ecotrend tests (#124205) 2024-08-19 10:37:17 +02:00
Erik Montnemery
511ec4ba8a Remove test helper get_test_home_assistant (#124177) 2024-08-19 10:23:25 +02:00
IceBotYT
013b91394e Add diagnostics to Nice G.O. (#124194) 2024-08-19 10:22:36 +02:00
Erik Montnemery
d9c98316fd Bump pyhomeworks to 1.1.2 (#124199) 2024-08-19 10:20:58 +02:00
Erik Montnemery
88d79d35eb Simplify bring todo service schema (#124206) 2024-08-19 10:18:09 +02:00
epenet
25d33e96cc Add missing hass type hint in component tests (g) (#124203) 2024-08-19 00:29:26 -07:00
tdfountain
1fdcbc3f15 Fix comment typo for _serial_from_status() in NUT (#124175)
Fix comment typo for _serial_from_status()
2024-08-18 22:14:54 +01:00
G Johansson
05aeb3fbd1 Bump yalesmartalarmclient to 0.4.0 (#124165)
* Bump yalesmartalarmclient to 0.4.0

* Fix various
2024-08-18 22:41:45 +02:00
G Johansson
50f9c1e5a4 Fix Pure AQI value sensor in Sensibo (#124151)
* fix Pure AQI value sensor in Sensibo

* Fix tests

* Make enum
2024-08-18 22:41:31 +02:00
Dylan Corrales
02b26ac4e6 Add state for alarm_control_panel in Prometheus (#123753)
* Prometheus: Add state for alarm_control_panel

* Prometheus: Add pytest for alarm_control_panel
2024-08-18 22:11:37 +02:00
G Johansson
11d2258afc Improve code quality in Manual alarm (#123142)
* Improve code quality in Manual alarm

* Review

* Remove helper

* Remove unique id

* Reset demo and fix unique id

* next_state variable

* Fixes

* Is helper

* Fix unique id

* exception message

* Fix mypy
2024-08-18 21:31:44 +02:00
J. Nick Koston
14c2ca85ec Refactor websocket handler to reduce complexity (#124174) 2024-08-18 14:17:17 -05:00
ilan
1010edf4bd Add reconfigure flow to Madvr (#122477)
* feat: add reconfigure

* feat: add reconfigure step

* fix: don't abort unique on reconfigure

* fix: add success string

* fix: improve reconfigure

* fix: entry will never be none

* fix: update ip in abort

* fix: check unique id on reconfigure

* feat: add test in case of new device

* fix: fail reconfigure if mac changes

* fix: abort instead of form

* feat: use is, dont mock config flow

* fix: implement comments
2024-08-18 21:17:10 +02:00
Erik Montnemery
9e8260736b Fix schema for input_datetime.set_datetime action (#124108) 2024-08-18 21:14:57 +02:00
Erik Montnemery
06d1bbc20f Update recorder tests to async (#124161) 2024-08-18 21:14:41 +02:00
epenet
135ebaafa0 Add missing hass type hint in august tests (#124062) 2024-08-18 13:21:38 -05:00
Erik Montnemery
ce2ffde22e Update sensor recorder tests to async (#124061) 2024-08-18 13:20:58 -05:00
G Johansson
7d5ddbf51c Bump python-holidays to 0.54 (#124170) 2024-08-18 20:05:41 +02:00
Ryan Mattson
df58068e84 Update aiolyric to 2.0.1 (#123424)
update aiolyric to 2.0.1
2024-08-18 20:05:30 +02:00
epenet
7d326ff076 Add missing hass type hint in component tests (d) (#124074) 2024-08-18 18:57:29 +02:00
Shay Levy
49c59339d9 Shelly RPC - do not stop BLE scanner if a sleeping device (#124147) 2024-08-18 18:35:02 +03:00
John Hollowell
4ab3f1f41f Add Venstar air filter sensors (#115832)
* Add sensors for HVAC filter usage

The number of hours and the number of days are not linked.
The number of hours is a sum of the hours the filter has been in use (fan running). The days is just the number of days since the filter was reset.

* Update filter sensors' names

* Split consumables entity descriptions and move names to translations

* Scale filterHours to match real-world time

It looks like the integer returned by the thermostat is actually 100 times the number of hours.

* Address review comments/changes
2024-08-18 17:22:44 +02:00
Artur Pragacz
e6c61f207d Rework Onkyo discovery and interview (#120668)
* Rework Onkyo discovery and interview

* Move class outside setup function

* Revert changing default name

* Rename to volume resolution
2024-08-18 17:14:33 +02:00
Lenn
4e7e896601 Disable entities for Motiontionblinds Bluetooth (#124159)
* Set entity_registry_enabled_default to False for RSSI sensor

* Use entity description

* Update homeassistant/components/motionblinds_ble/sensor.py

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

* Update homeassistant/components/motionblinds_ble/sensor.py

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

* Use entity_registry_enabled_by_default fixture for tests

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-18 17:14:05 +02:00
IceBotYT
55cf3b60eb Add light platform to Nice G.O. (#124019)
* Add light platform to Nice G.O.

* Update homeassistant/components/nice_go/light.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-18 15:57:05 +02:00
epenet
1a628588b4 Improve type hints in scripts/auth (#124049) 2024-08-18 15:43:15 +02:00
epenet
ba3872ff87 Add missing hass type in tests/*.py (#124048) 2024-08-18 15:42:41 +02:00
Eric Trudeau
69843e9ac4 Add support for Levoit EverestAir air purifiers (#123428) 2024-08-18 15:42:05 +02:00
J. Nick Koston
a4fb4e76cb Bump aiohttp to 3.10.4 (#124137)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.10.3...v3.10.4
2024-08-18 08:39:56 -05:00
epenet
489ceab4b5 Add missing hass type hint in component tests (b) (#124065) 2024-08-18 15:39:26 +02:00
Antoine Reversat
1afed8ae15 Add Fujitsu FGLair integration (#109335)
* Add support for Fujitsu HVAC devices

* Add the entity code to .coveragerc

* Only include code that can fail in the try/except block

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove empty keys from manifest

* Remove VERSION as it's already the default

* Remve the get_devices function and use asyncio.gather to parallelize dev updates

* Move initial step to a function

* Let KeyError bubble up. If we are passed an invalid mode it's probably worth raising an exception.

* Await the gather

* Use the async version of the refresh_auth call

* Use the serial number as unique id

* Use HA constant for precision

* Use dev instead of self._dev

* Move to property decorated methods

* Remove bidict dependency

* Setup one config entry for our api credentials instead of per device

* Remove bidict from requirements

* Signout and remove our api object on unload

* Use app credentials from ayla_iot_unofficial

* Use entry_id as a key to store our API object

* Delete unused code

* Create reverse mappings from forward mapping instead of hardcoding them

* Clean up the property methods

* Only import part of config_entries we are using

* Implement suggested changes

* Fix tests to use new API consts

* Add support for reauth

* Use a coordinator instead of doing per-entity refresh

* Auto is equivalent to HEAT_COOL not AUTO

* Add ON and OFF to list of supported features

* Use the mock_setup_entry fixture for the reauth tests

* Parametrize testing of config flow exceptions

* Only wrap fallable code in try/except

* Add tests for coordinator

* Use self.coordinator_context instead of self._dev.device_serial_number

* Move timeout to ayla_iot_unofficial

* Add description for is_europe field

* Bump version of ayla-iot-unofficial

* Remove turn_on/turn_off warning

* Move coordinator creating to __init__

* Add the type of coordinator to the CoordiatorEntity

* Update docstring for FujitsuHVACDevice constructor

* Fix missed self._dev to dev

* Abort instead of showing the form again with an error when usernames are different

* Remove useless argument

* Fix tests

* Implement some suggestions

* Use a device property the maps to the coordinator data

* Fix api sign out when unloading the entry

* Address comments

* Fix device lookup

* Move API sign in to coordinator setup

* Get rid of FujitsuHVACConfigData

* Fix async_setup_entry signature

* Fix mock_ayla_api

* Cleanup common errors

* Add test to check that re adding the same account fails

* Also patch new_ayla_api in __init__.py

* Create a fixture to generate test devices

* Add a setup_integration function that does the setup for a mock config entry

* Rework unit tests for the coordinator

* Fix typos

* Use hass session

* Rework reauth config flow to only modify password

* Update name to be more use-friendly

* Fix wrong type for entry in async_unload_entry

* Let TimeoutError bubble up as teh base class handles it

* Make the mock ayla api return some devices by default

* Move test to test_climate.py

* Move tests to test_init.py

* Remove reauth flow

* Remove useless mock setup

* Make our mock devices look real

* Fix tests

* Rename fujitsu_hvac to fujitsu_fglair and rename the integration to FGLair

* Add the Fujitsu brand

* Add a helper function to generate an entity_id from a device

* Use entity_id to remove hardcoded entity ids

* Add a test to increase code coverage

---------

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-08-18 15:37:33 +02:00
cdnninja
10c27c3189 Add Alt Core300s model to vesync integration (#124091) 2024-08-18 15:36:03 +02:00
epenet
975363b660 Add missing hass type hint in component tests (c) (#124067) 2024-08-18 15:35:31 +02:00
epenet
c8797298ea Add missing hass type hint in component tests (e) (#124075) 2024-08-18 15:34:59 +02:00
Duco Sebel
565f271c5c Bumb python-homewizard-energy to 6.3.0 (#124150) 2024-08-18 15:21:04 +02:00
Michael
0c5a3fab22 Cleanup the Fritz!Smarthome light entity (#123488)
* use self.data when ever possible

* use short hand attributes for color mode and supported color modes

* color mode can change during runtime

* group executer jobs
2024-08-18 14:53:35 +02:00
Daniel Rozycki
04b0760e27 Skip NextBus update if integration is still loading (#123564)
* Skip NextBus update if integration is still loading

Fixes a race between the loading thread and
update thread leading to an unrecoverable error

* Use async_at_started

* Use local copy of _route_stops to avoid NextBus race condition

* Update homeassistant/components/nextbus/coordinator.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-18 14:24:44 +02:00
MarkGodwin
e3287b93a5 Bump tplink-omada-api to 1.4.2 (#124136)
Fix for bad pre-registered clients
2024-08-18 14:23:47 +02:00
epenet
c4fee124b3 Add missing hass type hint in flux tests (#124078) 2024-08-18 13:53:59 +02:00
Maciej Bieniek
ec0012209d Add missing sensors for Shelly Plus RGBW PM (#123589)
* Add missing sensors for Shelly Plus RGBW PM

* Add tests
2024-08-18 12:58:51 +03:00
Michael
59d72bb4ed Use better config validation for integrations with legacy setup method, but only config entry setup (#123203)
use config_entry_only_config_schema over cv.removed

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-18 00:49:39 +02:00
J. Nick Koston
3b2893f2f4 Fix blocking I/O while validating core config schema (#124125) 2024-08-17 15:14:28 -05:00
Erik Montnemery
63d1cc10e2 Update homeassistant integration tests to async (#124117) 2024-08-17 12:11:32 -07:00
Allen Porter
d72d4286db Bump nest to 4.0.7 to increase subscriber deadline (#124131)
Bump nest to 4.0.7
2024-08-17 12:11:19 -07:00
Jordi
23fb4b50c9 Add brand selection to support additional brands who use the same API for AquaCell integration (#121817)
* Support harvey brand

* Update tests

* Moved the brand selection step to the same step as credentials

* Update tests/components/aquacell/test_init.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-17 20:45:24 +02:00
Erik Montnemery
08a76133c2 Simplify water_heater.set_temperature service schema (#124101) 2024-08-17 19:24:35 +02:00
J. Nick Koston
08234efedf Bump aiohomekit to 3.2.3 (#124115) 2024-08-17 10:32:58 -05:00
J. Nick Koston
1bab373707 Revert "Exclude aiohappyeyeballs from license check" (#124116) 2024-08-17 10:10:45 -05:00
Artem Draft
85a47ffb68 Bump pybravia to 0.3.4 (#124113) 2024-08-17 16:30:26 +02:00
Pete Sage
153eef16bb Add Sonos Test for plex media player enqueue options (#124120)
initial commit
2024-08-17 16:29:27 +02:00
Pete Sage
7efd8089c8 Add Sonos test for media_player play, pause, stop, previous, next (#122978)
* initial commit

* update to use constant

* retrigger checks
2024-08-17 13:47:27 +02:00
Erik Montnemery
533442f33e Add async friendly helper for validating config schemas (#123800)
* Add async friendly helper for validating config schemas

* Improve docstrings

* Add tests
2024-08-17 11:01:49 +02:00
Erik Montnemery
a7bca9bcea Use BIGINT SQL type for ID columns (#123973)
Redo recorder ID migration from INT to BIGINT
2024-08-17 11:01:14 +02:00
Erik Montnemery
6c01e4b99c Use BaseEventLoop._thread_id instead of a custom attribute (#124054)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-17 10:59:39 +02:00
Erik Montnemery
7deb9bf30f Do not override hass.loop_thread_id in tests (#124053) 2024-08-16 16:59:21 -05:00
Joost Lekkerkerker
1614e2c825 Use constants in Sonos media player tests (#124037) 2024-08-16 16:58:42 -05:00
Maciej Bieniek
69700f068f Migrate back from pysnmp-lextudio to pysnmp (#123579) 2024-08-16 16:57:10 -05:00
J. Nick Koston
91951ed734 Speed up initializing config flows (#124015) 2024-08-16 16:48:03 -05:00
epenet
24680b731f Add missing hass type hint in component tests (f) (#124076) 2024-08-16 21:51:58 +02:00
Kim de Vos
a8a7d01a84 Add temperature sensors for unifi device (#122518)
* Add temperature sensors for device

* Move to single line

* Use right reference

* Always return a value

* Update tests

* Use slugify for id name

* Return default value if not present

* Make _device_temperature return value

* Add default value if temperatures is None

* Set value to go over all code paths

* Add test for no matching temperatures

* make first part deterministic
2024-08-16 21:37:24 +02:00
epenet
9b11aaf1eb Add missing hass type hint in alexa tests (#124064)
* Add missing hass type hint in alexa tests

* One more
2024-08-16 19:00:44 +02:00
Joost Lekkerkerker
a2027fc78c Exclude aiohappyeyeballs from license check (#124041) 2024-08-16 18:13:33 +02:00
Franck Nijhof
be5577c2f9 Bump version to 2024.8.2 2024-08-16 18:02:52 +02:00
Joost Lekkerkerker
93dc08a05f Bump aiomealie to 0.8.1 (#124047) 2024-08-16 18:02:41 +02:00
Matthias Alphart
def2ace4ec Fix loading KNX integration actions when not using YAML (#124027)
* Fix loading KNX integration services when not using YAML

* remove unnecessary comment

* Remove unreachable test
2024-08-16 18:02:38 +02:00
J. Nick Koston
4f0261d739 Bump bluetooth-adapters to 0.19.4 (#124018)
Fixes a call to enumerate USB devices that did blocking
I/O
2024-08-16 18:02:35 +02:00
Brett Adams
6103811de8 Fix rear trunk logic in Tessie (#124011)
Allow open to be anything not zero
2024-08-16 18:02:32 +02:00
Robert Svensson
fd904c65a7 Bump aiounifi to v80 (#124004) 2024-08-16 18:02:29 +02:00
Joost Lekkerkerker
04bf8482b2 Re-enable concord232 (#124000) 2024-08-16 18:02:26 +02:00
Sid
f5fd5e0457 Bump openwebifpy to 4.2.7 (#123995)
* Bump openwebifpy to 4.2.6

* Bump openwebifpy to 4.2.7

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-16 18:02:23 +02:00
J. Nick Koston
0de89b42aa Ensure event entities are allowed for linked homekit config via YAML (#123994) 2024-08-16 18:02:20 +02:00
Erik Montnemery
e8914552b1 Bump pyhomeworks to 1.1.1 (#123981) 2024-08-16 18:02:17 +02:00
Glenn Waters
bfd302109e Environment Canada weather format fix (#123960)
* Add missing isoformat.

* Move fixture loading to common conftest.py

* Add deepcopy.
2024-08-16 18:02:14 +02:00
Andre Lengwenus
796ad47dd0 Bump pypck to 0.7.20 (#123948) 2024-08-16 18:02:11 +02:00
IceBotYT
e9915463a9 Bump LaCrosse View to 1.0.2, fixes blocking call (#123935) 2024-08-16 18:02:07 +02:00
Michael
59aecda8cf Fix PI-Hole update entity when no update available (#123930)
show installed version when no update available
2024-08-16 17:58:24 +02:00
J. Nick Koston
7d00ccbbbc Bump pylutron_caseta to 0.21.1 (#123924) 2024-08-16 17:58:21 +02:00
Álvaro Fernández Rojas
55a911120c Handle timeouts on Airzone DHCP config flow (#123869)
airzone: config_flow: dhcp: catch timeout exception

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-16 17:58:18 +02:00
Michael
80abf90c87 Fix translation for integration not found repair issue (#123868)
* correct setp id in strings

* add issue_ignored string
2024-08-16 17:58:15 +02:00
Robert Resch
8539591307 Fix blocking I/O of SSLContext.load_default_certs in Ecovacs (#123856) 2024-08-16 17:58:12 +02:00
Michael
6234deeee1 Bump py-synologydsm-api to 2.4.5 (#123815)
bump py-synologydsm-api to 2.4.5
2024-08-16 17:57:59 +02:00
Louis Christ
81fabb1bfa Fix status update loop in bluesound integration (#123790)
* Fix retry loop for status update

* Use 'available' instead of _is_online

* Fix tests
2024-08-16 17:56:23 +02:00
dontinelli
8a110abc82 Bump fyta_cli to 0.6.0 (#123816)
* Bump fyta_cli to 0.5.1

* Code adjustments to enable strit typing

* Update homeassistant/components/fyta/__init__.py

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

* Update diagnostics

* Update config_flow + init (ruff)

* Update sensor

* Update coordinator

* Update homeassistant/components/fyta/diagnostics.py

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

* Update homeassistant/components/fyta/diagnostics.py

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

* Update homeassistant/components/fyta/sensor.py

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

* Set one ph sensor to null/none

* Update sensor

* Clean-up (ruff)

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-16 17:46:37 +02:00
Erik Montnemery
e07768412a Update ffmpeg tests to async (#124058) 2024-08-16 10:16:56 -05:00
Matthias Alphart
ff4e5859cf Fix KNX UI Light color temperature DPT (#123778) 2024-08-16 17:13:31 +02:00
Matthias Alphart
f2e42eafc7 Update xknx to 3.1.0 and fix climate read only mode (#123776) 2024-08-16 17:13:28 +02:00
Allen Porter
63f28ae2fe Bump python-nest-sdm to 4.0.6 (#123762) 2024-08-16 17:13:25 +02:00
Ian
5b6c6141c5 Bump py-nextbusnext to 2.0.4 (#123750) 2024-08-16 17:13:22 +02:00
Michael
396ef7a642 Fix error message in html5 (#123749) 2024-08-16 17:13:19 +02:00
Franck Nijhof
17f59a5665 Update wled to 0.20.2 (#123746) 2024-08-16 17:13:16 +02:00
David F. Mulcahey
10846dc97b Bump ZHA lib to 0.0.31 (#123743) 2024-08-16 17:13:13 +02:00
Álvaro Fernández Rojas
17bb00727d Update aioqsw to v0.4.1 (#123721) 2024-08-16 17:13:10 +02:00
Álvaro Fernández Rojas
bc021dbbc6 Update aioairzone-cloud to v0.6.2 (#123719) 2024-08-16 17:13:06 +02:00
Álvaro Fernández Rojas
e3cb9c0844 Update AEMET-OpenData to v0.5.4 (#123716) 2024-08-16 17:13:03 +02:00
David Knowles
050e2c9404 Bump pyschlage to 2024.8.0 (#123714) 2024-08-16 17:13:00 +02:00
Cyrill Raccaud
5ea447ba48 Fix startup block from Swiss public transport (#123704) 2024-08-16 17:12:57 +02:00
J. Nick Koston
a23b063922 Bump aiohomekit to 3.2.2 (#123669) 2024-08-16 17:12:53 +02:00
Aidan Timson
c269d57259 System Bridge package updates (#123657) 2024-08-16 17:12:50 +02:00
kingy444
d512f327c5 Bump pydaikin to 2.13.4 (#123623)
* bump pydaikin to 2.13.3

* bump pydaikin to 2.13.4
2024-08-16 17:12:46 +02:00
Maciej Bieniek
9bf8c5a54b Bump aioshelly to version 11.2.0 (#123602)
Bump aioshelly to version 11.2.0
2024-08-16 17:12:43 +02:00
J. Nick Koston
725e2f16f5 Ensure HomeKit connection is kept alive for devices that timeout too quickly (#123601) 2024-08-16 17:12:21 +02:00
epenet
56b4a7f291 Add missing hass type in tests/helpers (#124039) 2024-08-16 17:09:12 +02:00
epenet
2cd4456762 Add missing hass type hint in component tests (a) (#124059) 2024-08-16 17:07:57 +02:00
G Johansson
d98d0cdad0 Change WoL to be secondary on device info (#123591) 2024-08-16 17:07:24 +02:00
Noah Husby
e2f4aa893f Fix secondary russound controller discovery failure (#123590) 2024-08-16 17:07:21 +02:00
Matthias Alphart
6b81fa89d3 Update knx-frontend to 2024.8.9.225351 (#123557) 2024-08-16 17:07:18 +02:00
J. Nick Koston
c886587915 Bump aiohttp to 3.10.3 (#123549) 2024-08-16 17:07:15 +02:00
Phill (pssc)
059d3eed98 Handle Yamaha ValueError (#123547)
* fix yamaha remove info logging

* ruff

* fix yamnaha supress rxv.find UnicodeDecodeError

* fix formatting

* make more realistic

* make more realistic and use parms

* add value error after more feedback

* ruff format

* Update homeassistant/components/yamaha/media_player.py

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

* remove unused method

* add more debugging

* Increase discovery timeout add more debug allow config to overrite dicovery for name

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-08-16 17:07:12 +02:00
Erik Montnemery
f9ae2b4453 Drop violating rows before adding foreign constraints in DB schema 44 migration (#123454)
* Drop violating rows before adding foreign constraints

* Don't delete rows with null-references

* Only delete rows when integrityerror is caught

* Move restore of dropped foreign key constraints to a separate migration step

* Use aliases for tables

* Update homeassistant/components/recorder/migration.py

* Update test

* Don't use alias for table we're deleting from, improve test

* Fix MySQL

* Update instead of deleting in case of self references

* Improve log messages

* Batch updates

* Add workaround for unsupported LIMIT in PostgreSQL

* Simplify

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-16 17:07:09 +02:00
ilan
742c7ba23f Fix Madvr sensor values on startup (#122479)
* fix: add startup values

* fix: update snap

* fix: use native value to show None
2024-08-16 17:07:06 +02:00
wittypluck
e7ae5c5c24 Avoid Exception on Glances missing key (#114628)
* Handle case of sensors removed server side

* Update available state on value update

* Set uptime to None if key is missing

* Replace _attr_available by _data_valid
2024-08-16 17:07:02 +02:00
Erik Montnemery
115c5d1704 Fix threading in get_test_home_assistant test helper (#124056) 2024-08-16 16:59:33 +02:00
Joost Lekkerkerker
06209dd94c Bump ruff to 0.6.0 (#123985) 2024-08-16 16:54:20 +02:00
J. Nick Koston
c8b0c939e4 Ensure event entities are allowed for linked homekit config via YAML (#123994) 2024-08-16 16:48:59 +02:00
Joost Lekkerkerker
e8d57bf636 Bump aiomealie to 0.8.1 (#124047) 2024-08-16 16:48:33 +02:00
Joost Lekkerkerker
0cb0af496e Re-enable concord232 (#124000) 2024-08-16 16:46:58 +02:00
Mr. Bubbles
ea4443f79e Add statistics import to Ista EcoTrend integration (#118788)
* Add statistics import to Ista EcoTrend integration

* Use decorator for fixtures

* define recorder as after_dependency

* Increase test coverage

* remember initial statistic_id

* fix type checking
2024-08-16 16:12:15 +02:00
J. Nick Koston
cb8a6af12d Add additional blocking operations to loop protection (#124017) 2024-08-16 09:03:24 -05:00
Erik Montnemery
14a3217d7e Improve entity platform tests (#124051) 2024-08-16 15:08:37 +02:00
J. Nick Koston
c717e7a6f6 Bump bluetooth-adapters to 0.19.4 (#124018)
Fixes a call to enumerate USB devices that did blocking
I/O
2024-08-16 07:12:17 -05:00
Erik Montnemery
f1b7847d1c Simplify cv._make_entity_service_schema (#124046) 2024-08-16 14:09:09 +02:00
Erik Montnemery
69943af68a Deduplicate async_register_entity_service (#124045) 2024-08-16 14:06:35 +02:00
Sid
738cc5095d Bump openwebifpy to 4.2.7 (#123995)
* Bump openwebifpy to 4.2.6

* Bump openwebifpy to 4.2.7

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-16 13:53:11 +02:00
Joost Lekkerkerker
4cc4ec44b0 Exclude aiohappyeyeballs from license check (#124041) 2024-08-16 13:50:02 +02:00
epenet
0a846cfca8 Add missing hass type in tests/test_util (#124043) 2024-08-16 13:43:43 +02:00
Matthias Alphart
ea52acd7bd Fix loading KNX integration actions when not using YAML (#124027)
* Fix loading KNX integration services when not using YAML

* remove unnecessary comment

* Remove unreachable test
2024-08-16 13:43:02 +02:00
Erik Montnemery
799e95c1bd Do sanity check in EntityComponent.async_register_entity_service schema (#124029)
* Do sanity check in EntityComponent.async_register_entity_service schema

* Improve test
2024-08-16 13:39:25 +02:00
Jan Bouwhuis
183c191d63 Allow raw mqtt payload to be in mqtt publish action (#123900)
* Publish raw rendered mqtt payload as raw for mqtt publish action

* Move check out of try block

* Only try to eval `bytes` is payload starts with supported string

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

* Improve docst

* Add `evaluate_bytes` option to publish action

* Rename to `evaluate_payload`

* Update homeassistant/components/mqtt/strings.json

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

* Extend test to assert literal_eval is called or not

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-08-16 13:34:14 +02:00
epenet
f3e2d06922 Add missing hass type in tests/scripts (#124042) 2024-08-16 13:21:39 +02:00
Erik Montnemery
99ab2566c2 Correct water heater service schemas (#124038)
* Correct water heater service schemas

* Update tests
2024-08-16 12:58:05 +02:00
starkillerOG
0093276e93 Reolink add 100% coverage of binary_sensor platfrom (#123862)
* Implement 100% coverage of binary_sensor

* fix styling

* Apply suggestions from code review

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

* use get().state instead of is_state

* Remove unneeded "is True"

* Remove unneeded "is True"

* reset the mock and use assert_not_called

* use freezer

* fix styling

* fix styling

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-16 12:46:51 +02:00
WebSpider
461ef33553 Bump meteoalert to 0.3.1 (#123848)
Bump meteoalertapi to 0.3.1
2024-08-16 12:27:20 +02:00
J. Nick Koston
723ea6173e Add Python-2.0.1 license to list of approved licenses (#124020)
https://spdx.org/licenses/Python-2.0.1.html
2024-08-16 12:04:57 +02:00
Pete Sage
1f214bec93 Add Sonos tests for media_player shuffle and repeat (#122816)
* initial commit

* initial commit

* update comments
2024-08-16 11:49:00 +02:00
Mr. Bubbles
4b62dcfd19 Improve rate limit handling in Habitica integration (#121763)
* Adjustments to requests and update interval due to rate limiting

* Use debounced refresh for to-do lists

* Use debounced refresh in switch and buttons

* Request refresh only if a to-do was changed

* Update task order provisionally in the coordinator
2024-08-16 11:41:04 +02:00
epenet
66a8733333 Add missing return type in test __init__ method (part 4) (#123947) 2024-08-16 10:26:12 +02:00
Erik Montnemery
f9ade788eb Do sanity check EntityPlatform.async_register_entity_service schema (#123058)
* Do a sanity check of schema passed to EntityPlatform.async_register_entity_service

* Only attempt to check schema of Schema

* Handle All/Any wrapped in schema

* Clarify comment

* Apply suggestions from code review

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-08-16 10:01:12 +02:00
Andre Lengwenus
6d9764185b Bump pypck to 0.7.21 (#124023) 2024-08-16 09:22:00 +02:00
Robert Svensson
a944541c58 Bump aiounifi to v80 (#124004) 2024-08-15 21:36:06 -05:00
Brett Adams
2f8766a9ec Fix rear trunk logic in Tessie (#124011)
Allow open to be anything not zero
2024-08-15 23:52:18 +02:00
Robert Svensson
37328c78c1 Use snapshot in UniFi switch tests (#122871)
* Use snapshot in UniFi switch tests

* Fix review comment
2024-08-15 21:29:32 +02:00
Austin Mroczek
142469be95 TotalConnect state attribute deprecation warning (#122320)
* add warning comment

* make comments smaller and put at top

* Update homeassistant/components/totalconnect/alarm_control_panel.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-15 20:25:56 +02:00
Mr. Bubbles
7d552b64f7 Use clearCompletedTodos API endpoint for deleting Habitica todos (#121877)
Use clearCompletedTodos endpoint for deleting multiple completed todo items
2024-08-15 20:06:23 +02:00
Noah Husby
65fa4a34ed Add configuration url to russound device (#124001)
feat: add configuration url
2024-08-15 20:05:28 +02:00
dougiteixeira
f581066747 Add config flow for platform number in Template (#121849)
* Add config flow to select platform in Template

* Remove device id duplicate in schema

* Add config flow for number platform in Template

* Remove mode
2024-08-15 20:02:51 +02:00
Noah Husby
29c0a7f324 Bump aiorussound to 2.3.2 (#123997) 2024-08-15 19:23:35 +02:00
Mr. Bubbles
bf9d621939 Revert "Rename sensor to finished downloads in pyLoad integration" (#121483)
Revert "Rename sensor to finished downloads in pyLoad integration (#120483)"

This reverts commit 8e598ec3ff.
2024-08-15 19:09:21 +02:00
Erik Montnemery
64a68b17f4 Simplify recorder.migration._drop_foreign_key_constraints (#123968) 2024-08-15 11:58:52 -05:00
IceBotYT
46357519e0 Add Nice G.O. integration (#122748)
* Convert Linear Garage Door to Nice G.O.

* Remove useless fixtures

* Update manifest (now cloud push! 🎉)

* Fix entry unload

* Extend config entry type

* Fix circular import

* Bump nice-go (hopefully fix dep conflict)

* Bump nice-go (moves type stubs to dev deps)

* Remove lingering mentions of Linear

* Add nice-go as logger

* Convert nice_go into a new integration and restore linear_garage_door

* Add missing new lines to snapshots

* Fixes suggested by @joostlek

* More fixes

* Fixes

* Fixes

* Fix coordinator tests

* Move coordinator tests

* Move test_no_connection_state from test_cover to test_init

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-08-15 18:46:06 +02:00
G Johansson
24a20c75eb Add options flow to File (#120269)
* Add options flow to File

* Review comments
2024-08-15 18:21:07 +02:00
Michael
e39bfeac08 Allow shared Synology DSM Photo albums shown in media browser (#123613) 2024-08-15 18:18:05 +02:00
Joost Lekkerkerker
874ae15d6a Fix motionblinds ble test (#123990)
* Fix motionblinds ble test

* Fix motionblinds ble test
2024-08-15 18:16:49 +02:00
Glenn Waters
a50aeb0a66 Environment Canada weather format fix (#123960)
* Add missing isoformat.

* Move fixture loading to common conftest.py

* Add deepcopy.
2024-08-15 16:14:01 +02:00
Philip Vanloo
983806817b Add ArtSound as a virtual integration (#122636)
* Add ArtSound as a virtual integration and brand

* Remove ArtSound as brand

* Add docstring for __init__

* Address hassfest
2024-08-15 15:48:02 +02:00
cnico
21c9cd1caa Add switch platform to chacon_dio integration (#122514)
* Adding switch platform for dio devices

* Remove useless logger

* Review corrections

* review corrections
2024-08-15 15:44:49 +02:00
Lenn
c674a25eba Add Motionblinds Bluetooth full test coverage (#121878)
* Add tests

* Fix entity test

* Format

* Fix sensor tests

* Fix sensor tests

* Fix sensor tests

* Add init tests

* Change service info

* Rename test_sensor parameters

* Removce ConfigEntryState.LOADED assertion

* Remove platforms parameter from setup_platform

* Rename setup_platform to setup_integration

* Fixture for blind_type and mock_config_entry

* Use mock for MotionDevice

* Use mock for MotionDevice

* Add type hint

* Use Mock instead of patch

* Use mock_config_entry fixture

* Move constants to init

* Fix entity_id name

* Use fixture

* Use fixtures instead of constants

* Use display_name fixture

* Rename mac to mac_code

* Remove one patch

* Use fixtures for mock_config_entry

* Apply suggestion

* Replace patch with mock

* Replace patch with mock

* Replace patch with mock

* Fix

* Use pytest.mark.usefixtures if parameter not used

* Base mac code on address

* Remove if statement from entity test

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-08-15 15:39:47 +02:00
Erik Montnemery
f72d9a2c02 Raise on database error in recorder.migration._modify_columns (#123642)
* Raise on database error in recorder.migration._modify_columns

* Improve test coverage
2024-08-15 14:46:23 +02:00
Erik Montnemery
ab163c356f Bump pyhomeworks to 1.1.1 (#123981) 2024-08-15 12:39:01 +02:00
Brett Adams
b3399082a8 Gold quality for Tesla Fleet (#122235)
gold quality
2024-08-15 11:33:31 +02:00
Erik Montnemery
26e80cec3d Deduplicate some recorder migration tests (#123972) 2024-08-15 11:09:24 +02:00
Michael Hansen
f2d39feec0 Adjust VAD seconds better for microVAD (#123942) 2024-08-15 11:08:40 +02:00
Brett Adams
9b78ae5908 Handle InvalidRegion in Tesla Fleet (#123958) 2024-08-15 11:00:07 +02:00
Erik Montnemery
72e235ad9f Improve some comments in recorder migration code (#123969) 2024-08-15 10:56:56 +02:00
Erik Montnemery
629b919707 Remove unnecessary assignment of Template.hass from knx (#123977) 2024-08-15 10:56:04 +02:00
Matthias Alphart
d6d016e029 Fix KNX UI Light color temperature DPT (#123778) 2024-08-15 10:52:55 +02:00
Erik Montnemery
81c4bb5f72 Fix flaky recorder migration tests (#123971) 2024-08-15 10:32:40 +02:00
Erik Montnemery
5836f8edb5 Pass None instead of empty dict when registering entity services (#123879)
* Pass None instead of empty dict when registering entity services

* Update rainmachine
2024-08-15 10:11:43 +02:00
Phill (pssc)
2c3d97d373 Handle Yamaha ValueError (#123547)
* fix yamaha remove info logging

* ruff

* fix yamnaha supress rxv.find UnicodeDecodeError

* fix formatting

* make more realistic

* make more realistic and use parms

* add value error after more feedback

* ruff format

* Update homeassistant/components/yamaha/media_player.py

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

* remove unused method

* add more debugging

* Increase discovery timeout add more debug allow config to overrite dicovery for name

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-08-15 10:03:03 +02:00
Brett Adams
dde1ecbf5b Improve code quality of Tesla Fleet tests (#123959) 2024-08-15 09:59:08 +02:00
dependabot[bot]
ac30efb5ac Bump home-assistant/builder from 2024.03.5 to 2024.08.1 (#123967)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-15 09:31:42 +02:00
dependabot[bot]
1f684330e0 Bump github/codeql-action from 3.26.0 to 3.26.2 (#123966)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-15 09:18:20 +02:00
Matthias Alphart
b042ebe4ff Rename KNX Climate preset modes according to specification (#123964)
* Rename KNX Climate preset modes according to specification

* change icon for "standby"
2024-08-15 08:37:10 +02:00
Thomas55555
9911aa4ede Enable confirm error button in Husqvarna Automower by default (#123927) 2024-08-15 08:29:06 +02:00
Erik Montnemery
667414a457 Raise on database error in recorder.migration._drop_foreign_key_constraints (#123645)
* Raise on database error in recorder.migration._drop_foreign_key_constraints

* Fix test

* Fix test

* Revert "Fix test"

This reverts commit 940b8cb506e912826d43d09d7697c10888bdf685.

* Update test

* Improve test coverage

* Disable test for SQLite
2024-08-15 08:25:18 +02:00
Lars
e6b3d35cdf Remove unnecessary check in fritz light (#123829)
* Remove unnecessary check in fritz light

* Revert remove SUPPORTED_COLOR_MODES
2024-08-14 22:53:29 +02:00
Erik Montnemery
e6ed3c8c5c Raise on database error in recorder.migration function (#123644)
* Raise on database error in recorder.migration._update_states_table_with_foreign_key_options

* Improve test coverage

* Fix test

* Fix test
2024-08-14 22:37:23 +02:00
ilan
392f64d33e Fix Madvr sensor values on startup (#122479)
* fix: add startup values

* fix: update snap

* fix: use native value to show None
2024-08-14 22:06:57 +02:00
Jan Bouwhuis
aee1be1e64 Use elif in alexa handlers code to avoid additional checks (#123853) 2024-08-14 21:47:47 +02:00
Andre Lengwenus
58851f0048 Bump pypck to 0.7.20 (#123948) 2024-08-14 21:36:11 +02:00
Erik Montnemery
9c4677a3c6 Add comment clarifying recorder migration to schema version 16 (#123902) 2024-08-14 14:22:06 -05:00
Michael
0790611b93 Fix PI-Hole update entity when no update available (#123930)
show installed version when no update available
2024-08-14 20:39:15 +02:00
J. Nick Koston
9b33d2f17e Fix paste error in homekit climate update (#123943) 2024-08-14 11:00:11 -05:00
epenet
3e967700fd Add missing return type in test __init__ method (part 2) (#123939)
* Add missing return type in test __init__ method (part 2)

* Adjust

* One more

* One more

* More
2024-08-14 17:59:15 +02:00
IceBotYT
3322fa0294 Bump LaCrosse View to 1.0.2, fixes blocking call (#123935) 2024-08-14 10:39:23 -05:00
epenet
178482068d Add missing return type in test __init__ method (part 3) (#123940) 2024-08-14 17:38:30 +02:00
Noah Husby
5e6f8373e1 Set quality scale to silver for Russound RIO (#123937) 2024-08-14 17:22:36 +02:00
J. Nick Koston
5958ef363f Bump pylutron_caseta to 0.21.1 (#123924) 2024-08-14 10:02:44 -05:00
epenet
5608301178 Add missing return type in test __init__ methods (#123932)
* Add missing return type in test __init__ methods

* Adjust
2024-08-14 16:48:52 +02:00
Noah Husby
faacfe3f90 Set available property in russound base entity (#123933)
* Set available property in Russound base entity

* Fix

* Fix
2024-08-14 16:38:40 +02:00
Noah Husby
bb88961968 Bump aiorussound to 2.3.1 (#123929) 2024-08-14 16:10:59 +02:00
starkillerOG
bba298a44d Add favorite position buttons to Motion Blinds (#123489) 2024-08-14 16:08:34 +02:00
epenet
ae6ac31d02 Improve type hints in smarttub tests (#123910) 2024-08-14 16:02:47 +02:00
Robert Resch
c761d75550 Fix blocking I/O of SSLContext.load_default_certs in Ecovacs (#123856) 2024-08-14 15:55:59 +02:00
epenet
e33a7ecefa Improve type hints in websocket_api tests (#123922) 2024-08-14 15:54:00 +02:00
Robert Svensson
04598c6fb1 Use more snapshot in UniFi sensor tests (#122875)
* Use more snapshot in UniFi sensor tests

* Fix comment
2024-08-14 15:45:08 +02:00
epenet
ff4dac8f3a Improve type hints in watttime tests (#123921) 2024-08-14 15:42:53 +02:00
epenet
1227cd8693 Improve type hints in zerproc tests (#123925) 2024-08-14 15:41:15 +02:00
epenet
c65f845329 Improve type hints in wemo tests (#123923)
* Improve type hints in wemo tests

* typo
2024-08-14 15:40:57 +02:00
epenet
e6fc34325d Improve type hints in zha tests (#123926) 2024-08-14 15:39:52 +02:00
J. Nick Koston
17f0d9ce45 Map pre-heating and defrosting hvac actions in homekit (#123907)
closes #123864
2024-08-14 15:36:49 +02:00
epenet
f7e017aa73 Improve type hints in sia tests (#123909) 2024-08-14 15:08:55 +02:00
epenet
3e5d0eb632 Improve type hints in owntracks tests (#123905) 2024-08-14 15:08:10 +02:00
epenet
fa8f86b672 Improve type hints in smartthings tests (#123912) 2024-08-14 15:07:55 +02:00
epenet
2c99bd178c Improve type hints in subaru tests (#123911) 2024-08-14 15:06:33 +02:00
epenet
99b1fc75d3 Improve type hints in traccar tests (#123919) 2024-08-14 15:04:51 +02:00
epenet
78c868c075 Improve type hints in tile tests (#123916) 2024-08-14 15:03:51 +02:00
epenet
1e5762fbf7 Improve type hints in tod tests (#123917) 2024-08-14 15:03:38 +02:00
epenet
7f6bf95aa6 Improve type hints in universal tests (#123920) 2024-08-14 15:02:52 +02:00
epenet
67f761c0e9 Improve type hints in template tests (#123915) 2024-08-14 14:58:16 +02:00
epenet
324b6529e8 Improve type hints in telegram_bot tests (#123914) 2024-08-14 14:56:58 +02:00
epenet
ccde51da85 Improve type hints in tasmota tests (#123913) 2024-08-14 14:56:03 +02:00
J. Nick Koston
f6cb28eb5b Bump aioesphomeapi to 25.1.0 (#123851) 2024-08-14 07:42:20 -05:00
Erik Montnemery
e050d187c4 Clarify SQLite can't drop foreign key constraints (#123898) 2024-08-14 07:04:53 -05:00
Erik Montnemery
ea7e88d000 Pass None instead of empty dict when registering entity services (#123878) 2024-08-14 07:04:29 -05:00
Erik Montnemery
80f5683cd6 Raise on database error in recorder.migration._add_constraint (#123646)
* Raise on database error in recorder.migration._add_constraint

* Fix test
2024-08-14 13:59:06 +02:00
Joost Lekkerkerker
b698dd8f32 Bump pyflic to 2.0.4 (#123895) 2024-08-14 13:49:10 +02:00
Thomas55555
3b1b600606 Bump aioautomower to 2024.8.0 (#123826) 2024-08-14 13:47:49 +02:00
G Johansson
dc2886d9b1 Use coordinator setup method in yale_smart_alarm (#123819) 2024-08-14 13:27:21 +02:00
epenet
1ddc723274 Improve type hints in powerwall tests (#123872) 2024-08-14 13:12:24 +02:00
epenet
d4082aee5a Improve type hints in owntracks tests (#123866) 2024-08-14 13:08:54 +02:00
Álvaro Fernández Rojas
903342b394 Handle timeouts on Airzone DHCP config flow (#123869)
airzone: config_flow: dhcp: catch timeout exception

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-14 13:06:52 +02:00
epenet
5f1d7e5566 Improve type hints in purpleair tests (#123874) 2024-08-14 13:05:52 +02:00
epenet
1af6528f4f Improve type hints in prusalink tests (#123873) 2024-08-14 13:05:43 +02:00
epenet
f414f5d77a Improve type hints in person tests (#123871) 2024-08-14 13:00:07 +02:00
epenet
8117532cc7 Improve type hints in rainforest_eagle tests (#123880) 2024-08-14 12:58:49 +02:00
Andrew Jackson
ac223e64f9 Migrate Mastodon unique id (#123877)
* Migrate unique id

* Fix unique id check

* Switch to minor version and other fixes
2024-08-14 12:55:59 +02:00
epenet
d50bac3b3e Improve type hints in rainmachine tests (#123881) 2024-08-14 12:52:09 +02:00
epenet
6626c63bb5 Improve type hints in recollect_waste tests (#123882) 2024-08-14 12:51:52 +02:00
epenet
7fe2f175aa Improve type hints in ridwell tests (#123886) 2024-08-14 12:50:51 +02:00
epenet
13b071fd72 Improve type hints in risco tests (#123887) 2024-08-14 12:50:29 +02:00
epenet
7ff368fe0d Improve type hints in sharkiq tests (#123888) 2024-08-14 12:50:08 +02:00
epenet
f8879a51fe Improve type hints in sma tests (#123889) 2024-08-14 12:49:53 +02:00
epenet
57902fed22 Improve type hints in smart_meter_texas tests (#123890) 2024-08-14 12:49:27 +02:00
epenet
24a8060f43 Improve type hints in sonos tests (#123891) 2024-08-14 12:48:36 +02:00
epenet
165ec62405 Improve type hints in ssdp tests (#123892) 2024-08-14 12:48:10 +02:00
epenet
a712eca70a Improve type hints in stream tests (#123894) 2024-08-14 12:47:38 +02:00
epenet
36f9b69923 Improve type hints in rfxtrx tests (#123885) 2024-08-14 12:33:26 +02:00
kingy444
cd382bcdda Bump pydaikin to 2.13.4 (#123623)
* bump pydaikin to 2.13.3

* bump pydaikin to 2.13.4
2024-08-14 12:31:18 +02:00
epenet
bd509469ab Improve type hints in reolink tests (#123883) 2024-08-14 12:16:38 +02:00
Michael
82c705e188 Fix translation for integration not found repair issue (#123868)
* correct setp id in strings

* add issue_ignored string
2024-08-14 12:09:46 +02:00
Erik Montnemery
e1a0a855d5 Support None schema in EntityComponent.async_register_entity_service (#123867) 2024-08-14 11:44:38 +02:00
Erik Montnemery
7063541733 Support None schema in EntityPlatform.async_register_entity_service (#123064) 2024-08-14 10:46:29 +02:00
Andrew Jackson
5f967fdee2 Correct case of config strings in Mastodon (#123859)
Fix string casing
2024-08-14 10:11:11 +02:00
Erik Montnemery
b7bbc938d3 Drop violating rows before adding foreign constraints in DB schema 44 migration (#123454)
* Drop violating rows before adding foreign constraints

* Don't delete rows with null-references

* Only delete rows when integrityerror is caught

* Move restore of dropped foreign key constraints to a separate migration step

* Use aliases for tables

* Update homeassistant/components/recorder/migration.py

* Update test

* Don't use alias for table we're deleting from, improve test

* Fix MySQL

* Update instead of deleting in case of self references

* Improve log messages

* Batch updates

* Add workaround for unsupported LIMIT in PostgreSQL

* Simplify

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-14 09:31:37 +02:00
Noah Husby
29887c2a17 Add base entity to Russound RIO integration (#123842)
* Add base entity to Russound RIO integration

* Set entity back to primary mac addr

* Switch to type shorthand
2024-08-13 23:40:51 +02:00
J. Nick Koston
2b6949f3c7 Bump uiprotect to 6.0.2 (#123808)
changelog: https://github.com/uilibs/uiprotect/compare/v6.0.1...v6.0.2
2024-08-13 16:29:26 -05:00
Michael
4a6e812963 Bump py-synologydsm-api to 2.4.5 (#123815)
bump py-synologydsm-api to 2.4.5
2024-08-13 22:21:48 +02:00
Paarth Shah
f8bc662620 Bump matrix-nio to 0.25.0 (#123832)
Bump matrix-nio to 0.25.0

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-13 14:31:59 -05:00
J. Nick Koston
f14d5ba5f2 Bump yalexs to 8.0.2 (#123817) 2024-08-13 14:06:38 -05:00
Joost Lekkerkerker
493859e589 Add update platform to AirGradient (#123534) 2024-08-13 18:44:12 +02:00
epenet
ba54a19d4b Simplify mock_tts_cache_dir_autouse fixture (#123783) 2024-08-13 18:01:06 +02:00
Noah Husby
995ed77849 Add error handling for Russound RIO async calls (#123756)
Add better error handling to Russound RIO
2024-08-13 16:23:13 +02:00
epenet
679baddd3d Improve type hints in openalpr_cloud tests (#123812) 2024-08-13 16:08:36 +02:00
epenet
e8157ed9a2 Improve type hints in otbr tests (#123814) 2024-08-13 16:08:15 +02:00
epenet
4cc3f7211b Improve type hints in openuv tests (#123813) 2024-08-13 16:07:17 +02:00
epenet
135f15fdc3 Improve type hints in openai_conversation tests (#123811) 2024-08-13 16:01:24 +02:00
epenet
04b1d2414d Improve type hints in mobile_app tests (#123793) 2024-08-13 15:19:08 +02:00
epenet
ae74fdf252 Improve type hints in nzbget tests (#123798) 2024-08-13 14:57:24 +02:00
Erik Montnemery
f0247e942e Remove unnecessary assignment of Template.hass from alert (#123766) 2024-08-13 14:31:12 +02:00
J. Nick Koston
2859dde697 Remove unifiprotect deprecate_package_sensor repair (#123807) 2024-08-13 06:56:10 -05:00
epenet
2c4b7c2577 Improve type hints in knx tests (#123787) 2024-08-13 13:32:44 +02:00
Matthias Alphart
b3d1d79a49 Update xknx to 3.1.0 and fix climate read only mode (#123776) 2024-08-13 13:28:37 +02:00
Aidan Timson
71e23e7849 System Bridge package updates (#123657) 2024-08-13 13:15:58 +02:00
epenet
8e0dfbcd13 Improve type hints in modbus tests (#123795) 2024-08-13 13:15:35 +02:00
Louis Christ
30994710e6 Fix status update loop in bluesound integration (#123790)
* Fix retry loop for status update

* Use 'available' instead of _is_online

* Fix tests
2024-08-13 12:55:01 +02:00
epenet
193a7b7360 Improve type hints in dsmr tests (#123785) 2024-08-13 12:18:59 +02:00
epenet
e15ac2fbe0 Improve type hints in elevenlabs tests (#123786) 2024-08-13 12:10:15 +02:00
Erik Montnemery
78f7b3340d Remove unnecessary assignment of Template.hass from event helper (#123777) 2024-08-13 12:09:30 +02:00
epenet
4ceb9b9dbf Improve type hints in anthropic tests (#123784) 2024-08-13 11:59:48 +02:00
epenet
3660c2dbb4 Improve type hints in mailgun tests (#123789) 2024-08-13 11:59:22 +02:00
epenet
2b968dfd9a Improve type hints in mfi tests (#123792) 2024-08-13 11:56:55 +02:00
epenet
5f694d9a84 Improve type hints in mochad tests (#123794) 2024-08-13 11:56:18 +02:00
Erik Montnemery
992de497f2 Remove unnecessary assignment of Template.hass from script helper (#123780) 2024-08-13 11:55:37 +02:00
Erik Montnemery
e9682fe003 Remove unnecessary assignment of Template.hass from xiaomi (#123774) 2024-08-13 11:54:56 +02:00
Erik Montnemery
dc462aa529 Remove unnecessary assignment of Template.hass from template (#123773) 2024-08-13 11:54:36 +02:00
Erik Montnemery
5837450a05 Remove unnecessary assignment of Template.hass from influxdb (#123768) 2024-08-13 11:53:39 +02:00
Erik Montnemery
f97fc8a907 Remove unnecessary assignment of Template.hass from rest (#123772) 2024-08-13 11:53:24 +02:00
Erik Montnemery
314ee9c74c Remove unnecessary assignment of Template.hass from manual_mqtt (#123771) 2024-08-13 11:53:06 +02:00
Erik Montnemery
a6f3e587bc Remove unnecessary assignment of Template.hass from manual (#123770) 2024-08-13 11:52:46 +02:00
Erik Montnemery
6317053cc6 Remove unnecessary assignment of Template.hass from condition helper (#123775) 2024-08-13 11:52:27 +02:00
Erik Montnemery
04570edb3f Remove unnecessary assignment of Template.hass from generic camera (#123767) 2024-08-13 11:00:33 +02:00
Jan Rieger
86322973d0 Migrate GPSD extra state attributes to separate states (#122193)
* Migrate GPSD extra state attributes to separate states

* Use common translations

* Address feedback
2024-08-13 10:37:43 +02:00
Ian
6406065e1f Bump py-nextbusnext to 2.0.4 (#123750) 2024-08-13 08:51:41 +02:00
Michael
a988cd050b Fix error message in html5 (#123749) 2024-08-13 08:50:02 +02:00
Allen Porter
dee06d5777 Bump python-nest-sdm to 4.0.6 (#123762) 2024-08-13 08:47:47 +02:00
Franck Nijhof
7eccb38851 Update wled to 0.20.2 (#123746) 2024-08-12 23:23:34 +02:00
J. Nick Koston
e06e9bb39c Bump pyatv to 0.15.0 (#123674) 2024-08-12 22:41:19 +02:00
J. Nick Koston
831c28e890 Bump yalexs to 6.5.0 (#123739) 2024-08-12 22:40:35 +02:00
David F. Mulcahey
732b4b95db Bump ZHA lib to 0.0.31 (#123743) 2024-08-12 22:38:59 +02:00
G Johansson
52f52394d5 Remove demo mailbox (#123741) 2024-08-12 22:36:36 +02:00
epenet
416d2fb82a Improve type hints in locative tests (#123643) 2024-08-12 21:55:44 +02:00
epenet
b0d1d7bdb2 Improve type hints in lcn tests (#123648) 2024-08-12 21:53:32 +02:00
J. Nick Koston
31dcc6f685 Bump protobuf to 4.25.4 (#123675) 2024-08-12 21:51:45 +02:00
Erik Montnemery
c49a31e0de Remove unnecessary assignment of Template.hass from script variables helper (#123712) 2024-08-12 21:51:24 +02:00
Erik Montnemery
c5e8710889 Remove unnecessary assignment of Template.hass from service helper (#123710) 2024-08-12 21:51:02 +02:00
Erik Montnemery
6caec89793 Remove unnecessary assignment of Template.hass from trigger entity helper (#123709) 2024-08-12 21:50:50 +02:00
Erik Montnemery
5e75c5faff Remove unnecessary assignment of Template.hass from mobile_app (#123702) 2024-08-12 21:50:34 +02:00
Erik Montnemery
6bde80ad65 Remove unnecessary assignment of Template.hass from esphome (#123701) 2024-08-12 21:50:23 +02:00
Erik Montnemery
bf55cc605a Remove unnecessary assignment of Template.hass from velbus (#123696) 2024-08-12 21:50:11 +02:00
Erik Montnemery
9d67956fc8 Remove unnecessary assignment of Template.hass from tensorflow (#123695) 2024-08-12 21:49:58 +02:00
Erik Montnemery
b62f216c53 Remove unnecessary assignment of Template.hass from telnet (#123694) 2024-08-12 21:49:46 +02:00
epenet
3c864322f7 Combine requirements files in CI (#123687) 2024-08-12 21:49:10 +02:00
Noah Husby
7cf5d12ec0 Fix secondary russound controller discovery failure (#123590) 2024-08-12 21:45:05 +02:00
G Johansson
b09c6654ec Replace not needed guard in command_line with type check (#123722) 2024-08-12 21:42:00 +02:00
G Johansson
178cb0659a Guard for no discovery info in command_line (#123717) 2024-08-12 21:35:02 +02:00
Álvaro Fernández Rojas
d1dff95ac8 Update aioairzone to v0.8.2 (#123718) 2024-08-12 21:33:56 +02:00
G Johansson
f46fe7eeb2 Remove deprecated yaml import for velux (#123724) 2024-08-12 21:32:28 +02:00
G Johansson
d8b13c8c02 Remove deprecated yaml import for gpsd (#123725) 2024-08-12 21:31:42 +02:00
G Johansson
05c4b1a6a9 Remove deprecated logi_circle integration (#123727) 2024-08-12 21:31:10 +02:00
Shay Levy
ff0a44cc12 Bump aioswitcher to 4.0.2 (#123734) 2024-08-12 21:28:39 +02:00
G Johansson
a4f0234841 Reduce logging in command_line (#123723) 2024-08-12 13:42:39 -05:00
Jan Bouwhuis
21987a67e7 Cleanup unneeded assignment of hass property on MQTT Template objects (#123706)
* Cleanup unneeded assignment of hass property on MQTT Template objects

* Commented out code and unneeded checks

* Consistent assign hass to Template in mqtt tests

* Remove unused hass attribute

* Missed line
2024-08-12 19:20:21 +02:00
David Knowles
74a09073c2 Bump pyschlage to 2024.8.0 (#123714) 2024-08-12 19:01:07 +02:00
Álvaro Fernández Rojas
138d229fef Update AEMET-OpenData to v0.5.4 (#123716) 2024-08-12 18:59:31 +02:00
Álvaro Fernández Rojas
93eb74d970 Update aioairzone-cloud to v0.6.2 (#123719) 2024-08-12 18:57:34 +02:00
Álvaro Fernández Rojas
b7a0bf152b Update aioqsw to v0.4.1 (#123721) 2024-08-12 18:56:54 +02:00
Erik Montnemery
5fb6c65d23 Remove unnecessary assignment of Template.hass from alexa (#123699) 2024-08-12 17:01:31 +02:00
Cyrill Raccaud
200f04bf21 Fix startup block from Swiss public transport (#123704) 2024-08-12 17:01:06 +02:00
Shay Levy
26a69458b0 Bump aioswitcher to 4.0.1 (#123697) 2024-08-12 16:52:37 +02:00
Cyrill Raccaud
5cb9901134 Cleaner unit tests for Swiss public transport (#123660)
cleaner unit tests
2024-08-12 16:19:36 +02:00
Erik Montnemery
342ba1b599 Remove unnecessary assignment of Template.hass from telegram_bot (#123693) 2024-08-12 16:06:19 +02:00
J. Nick Koston
7985974a58 Bump aiohomekit to 3.2.2 (#123669) 2024-08-12 09:02:23 -05:00
Erik Montnemery
2d41723cfe Remove unnecessary assignment of Template.hass from minio (#123679) 2024-08-12 15:54:35 +02:00
Erik Montnemery
c47fdf7074 Remove unnecessary assignment of Template.hass from intent_script (#123676) 2024-08-12 15:54:20 +02:00
Erik Montnemery
4dadf0ea1b Remove unnecessary assignment of Template.hass from snmp (#123689) 2024-08-12 15:54:06 +02:00
Erik Montnemery
81788790df Remove unnecessary assignment of Template.hass from rss_feed_template (#123683) 2024-08-12 15:53:32 +02:00
Erik Montnemery
268044cd01 Remove unnecessary assignment of Template.hass from notify (#123680) 2024-08-12 15:53:19 +02:00
Erik Montnemery
b04e3dc6fd Remove unnecessary assignment of Template.hass from serial (#123686) 2024-08-12 15:52:41 +02:00
Erik Montnemery
ecd061d46f Remove unnecessary assignment of Template.hass from rest (#123682) 2024-08-12 15:52:03 +02:00
Erik Montnemery
1c9a1c71d3 Remove unnecessary assignment of Template.hass from scrape (#123685) 2024-08-12 15:51:37 +02:00
Erik Montnemery
efa3f228a5 Remove unnecessary assignment of Template.hass from slack (#123688) 2024-08-12 15:51:26 +02:00
Erik Montnemery
533e383d5d Remove unnecessary assignment of Template.hass from sql (#123690) 2024-08-12 15:51:02 +02:00
Erik Montnemery
4639e7d5c7 Remove unnecessary assignment of Template.hass from tcp (#123691) 2024-08-12 08:49:37 -05:00
Erik Montnemery
78b6cdb201 Remove unnecessary assignment of Template.hass from logi_circle (#123678) 2024-08-12 15:39:34 +02:00
Erik Montnemery
11fd1086af Remove unnecessary assignment of Template.hass from logbook (#123677) 2024-08-12 15:39:18 +02:00
Erik Montnemery
5b5b9ac4ef Remove unnecessary assignment of Template.hass from influxdb (#123673) 2024-08-12 14:56:29 +02:00
J. Nick Koston
b20623447e Ensure HomeKit connection is kept alive for devices that timeout too quickly (#123601) 2024-08-12 14:54:57 +02:00
Erik Montnemery
f6e82ae0ba Remove unnecessary assignment of Template.hass from camera (#123663) 2024-08-12 14:54:41 +02:00
Erik Montnemery
82bedb1ab5 Remove unnecessary assignment of Template.hass from dweet (#123667) 2024-08-12 14:54:31 +02:00
Erik Montnemery
33a22ae208 Remove unnecessary assignment of Template.hass from triggers (#123672) 2024-08-12 14:54:03 +02:00
Erik Montnemery
77e9acd864 Remove unnecessary assignment of Template.hass from emulated_kasa (#123670) 2024-08-12 14:53:22 +02:00
Erik Montnemery
b9010e96a0 Remove unnecessary assignment of Template.hass from emoncms (#123668) 2024-08-12 14:52:51 +02:00
Erik Montnemery
27d76f5953 Remove unnecessary assignment of Template.hass from history_stats (#123671) 2024-08-12 14:52:34 +02:00
Robert Resch
64ceb11f8c Remove libcst constraint (#123661) 2024-08-12 14:44:52 +02:00
Erik Montnemery
32d2218ff0 Remove unnecessary assignment of Template.hass from doods (#123666) 2024-08-12 14:31:11 +02:00
Erik Montnemery
ecc308c326 Remove unnecessary assignment of Template.hass from command_line (#123664) 2024-08-12 14:30:48 +02:00
Erik Montnemery
840d9a0923 Remove unnecessary assignment of Template.hass from arest (#123662) 2024-08-12 14:30:35 +02:00
Barry vd. Heuvel
81faf1b582 Add homematicip_cloud service set cooling home (#121943)
* [homematicip_cloud] Add service to set cooling mode

* Create seperate test for cooling

* Rename service to set_home_cooling_mode

* Raise exception when accesspoint not found
2024-08-12 14:01:12 +02:00
epenet
ecf22e4c4f Improve type hints in logbook tests (#123652) 2024-08-12 13:29:38 +02:00
Joost Lekkerkerker
e8d7eb05ae Delete unused snapshots (#123656)
* Delete unused snapshots

* Delete unused snapshots
2024-08-12 13:28:09 +02:00
Robert Resch
8c5748dcc1 Remove regex constraint (#123650) 2024-08-12 13:23:10 +02:00
Cyrill Raccaud
0803ac9b0b Add Swiss public transport fetch connections service (#114671)
* add service to fetch more connections

* improve error messages

* better errors

* wip

* fix service register

* add working tests

* improve tests

* temp availability

* test availability

* remove availability test

* change error type for coordinator update

* fix missed coverage

* convert from entity service to integration service

* cleanup changes

* add more tests for the service
2024-08-12 11:26:42 +02:00
Willem-Jan van Rootselaar
8cfac68317 Bump BSBLan to 0.6.2 (#123594)
* chore: Update bsblan library to version 0.6.1

* add dataclass BSBLANConfig

remove session as bsblan has it's own session

* Update temperature unit handling in BSBLANClimate

* chore: Remove unused constant in bsblan/const.py

* chore: Update python-bsblan library to version 0.6.2

* feat: Add async_get_clientsession to BSBLAN initialization

This commit adds the `async_get_clientsession` function to the initialization of the `BSBLAN` class in both `__init__.py` and `config_flow.py` files. This allows the `BSBLAN` instance to have its own session for making HTTP requests. This change improves the performance and reliability of the BSBLAN integration.
2024-08-12 10:57:51 +02:00
epenet
e64ca7c274 Enable implicit-return (RET503) rule in ruff (#122771) 2024-08-12 10:04:16 +02:00
epenet
0bb8c4832d Enable raise-within-try (TRY301) rule in ruff (#123351) 2024-08-12 09:16:33 +02:00
J. Nick Koston
b15ea58851 Relocate code to get scheduled TimerHandles (#123546) 2024-08-12 09:15:33 +02:00
G Johansson
86df43879c Define Manual alarm as a helper (#123587) 2024-08-12 09:14:48 +02:00
Amit Finkelstein
4527de18d5 Bump pycoolmasternet-async to 0.2.2 (#123634) 2024-08-12 09:13:52 +02:00
G Johansson
bbefe47aeb Add unique id to Manual alarm (#123588) 2024-08-12 09:12:26 +02:00
G Johansson
b19758ff71 Change WoL to be secondary on device info (#123591) 2024-08-12 09:11:44 +02:00
G Johansson
401e36b885 Remove deprecated yaml import from Ecovacs (#123605) 2024-08-12 09:09:51 +02:00
G Johansson
6343a086e4 Remove deprecated process sensor from System monitor (#123616) 2024-08-12 09:08:40 +02:00
Joost Lekkerkerker
5b6bfa9ac8 Remove Spotify scope check (#123545) 2024-08-12 09:04:12 +02:00
Matthias Alphart
e1336a1975 Update knx-frontend to 2024.8.9.225351 (#123557) 2024-08-12 08:55:24 +02:00
G Johansson
ca34bac479 Remove deprecated horn switch in starline (#123608) 2024-08-11 22:38:59 +02:00
G Johansson
4a099ab942 Remove deprecated yaml import from lupusec (#123606) 2024-08-11 22:38:20 +02:00
G Johansson
4daefe0b6e Remove deprecated fan as light in lutron (#123607)
* Remove deprecated fan as light in lutron

* Remove more
2024-08-11 22:37:33 +02:00
Maciej Bieniek
a040f1a9d1 Bump aioshelly to version 11.2.0 (#123602)
Bump aioshelly to version 11.2.0
2024-08-11 20:56:12 +03:00
wittypluck
766733b3b2 Avoid Exception on Glances missing key (#114628)
* Handle case of sensors removed server side

* Update available state on value update

* Set uptime to None if key is missing

* Replace _attr_available by _data_valid
2024-08-11 19:14:43 +02:00
Carlos Gustavo Sarmiento
b392d61391 Update MPD Player to use HOST and PORT to detect duplicate configs (#123410)
* Allow Monetary device_class to accept `Measurement` state_class

* Update MPD Player to use HOST and PORT to detect duplicate configs
2024-08-11 18:50:11 +02:00
Andrew Jackson
be3e720c57 Add diagnostics platform to Mastodon (#123592)
Diagnostics
2024-08-11 14:53:44 +02:00
G Johansson
e93d0dfdfc Use setup method in coordinator for Trafikverket Train (#123138)
* Use setup method in coordinator for Trafikverket Train

* Overwrite types
2024-08-11 14:15:20 +02:00
Pavel Skuratovich
9be8616cc0 Add state_class to starline sensors to generate long-term statistics (#123540)
* starline: Add state_class to sensors to generate long-term statistics

* starline: Add 'errors' unit to 'errors' sensor
2024-08-11 12:54:31 +02:00
J. Nick Koston
7aed35b3f0 Bump aiohttp to 3.10.3 (#123549) 2024-08-10 15:09:18 -05:00
Joakim Plate
f69507527b Make sure diagnostic data is output in deterministic order ZHA (#123551)
Make sure diagnostic data is output in deterministic order

Sets are not ordered, so the tests for this failed sporadically since it is
converted into a list when converted to json.
2024-08-10 20:55:31 +02:00
Joakim Plate
f53da62026 Extend ZHA attribute diagnostic information (#123199)
* Include full attribute representation in in data

* Extend attribute diagnostics for zha
2024-08-10 19:25:21 +02:00
Franck Nijhof
2ef337ec2e Bump version to 2024.8.1 2024-08-10 18:41:57 +02:00
cnico
723b7bd532 Upgrade chacon_dio_api to version 1.2.0 (#123528)
Upgrade api version 1.2.0 with the first user feedback improvement
2024-08-10 18:41:39 +02:00
Joost Lekkerkerker
4fdb11b0d8 Bump AirGradient to 0.8.0 (#123527) 2024-08-10 18:41:36 +02:00
Matt Way
fe2e6c37f4 Bump pydaikin to 2.13.2 (#123519) 2024-08-10 18:41:32 +02:00
Michael
4a75c55a8f Fix cleanup of old orphan device entries in AVM Fritz!Tools (#123516)
fix cleanup of old orphan device entries
2024-08-10 18:41:29 +02:00
Duco Sebel
dfb59469cf Bumb python-homewizard-energy to 6.2.0 (#123514) 2024-08-10 18:41:26 +02:00
David F. Mulcahey
bdb2e1e2e9 Bump zha lib to 0.0.30 (#123499) 2024-08-10 18:41:22 +02:00
Franck Nijhof
c4f6f1e3d8 Update frontend to 20240809.0 (#123485) 2024-08-10 18:41:19 +02:00
Louis Christ
fb3eae54ea Fix startup blocked by bluesound integration (#123483) 2024-08-10 18:41:16 +02:00
Jake Martin
d3f8fce788 Bump monzopy to 1.3.2 (#123480) 2024-08-10 18:41:13 +02:00
Steve Easley
44e58a8c87 Bump pyjvcprojector to 1.0.12 to fix blocking call (#123473) 2024-08-10 18:41:09 +02:00
puddly
3d3879b0db Bump ZHA library to 0.0.29 (#123464)
* Bump zha to 0.0.29

* Pass the Core timezone to ZHA

* Add a unit test
2024-08-10 18:41:06 +02:00
Franck Nijhof
a8b1eb34f3 Support action YAML syntax in old-style notify groups (#123457) 2024-08-10 18:41:03 +02:00
Matrix
fd77058def Bump YoLink API to 0.4.7 (#123441) 2024-08-10 18:41:00 +02:00
Brett Adams
b147ca6c5b Add missing logger to Tessie (#123413) 2024-08-10 18:40:57 +02:00
dupondje
670c4cacfa Also migrate dsmr entries for devices with correct serial (#123407)
dsmr: also migrate entries for devices with correct serial

When the dsmr code could not find the serial_nr for the gas meter,
it creates the gas meter device with the entry_id as identifier.

But when there is a correct serial_nr, it will use that as identifier
for the dsmr gas device.

Now the migration code did not take this into account, so migration to
the new name failed since it didn't look for the device with correct
serial_nr.

This commit fixes this and adds a test for this.
2024-08-10 18:40:53 +02:00
J. Nick Koston
1ed0a89303 Bump aiohttp to 3.10.2 (#123394) 2024-08-10 18:40:50 +02:00
J. Nick Koston
ab0597da7b Ensure legacy event foreign key is removed from the states table when a previous rebuild failed (#123388)
* Ensure legacy event foreign key is removed from the states table

If the system ran out of disk space removing the FK, it would
fail. #121938 fixed that to try again, however that PR was made
ineffective by #122069 since it will never reach the check.

To solve this, the migration version is incremented to 2, and
the migration is no longer marked as done unless the rebuild
/fk removal is successful.

* fix logic for mysql

* fix test

* asserts

* coverage

* coverage

* narrow test

* fixes

* split tests

* should have skipped

* fixture must be used
2024-08-10 18:40:47 +02:00
Erik Montnemery
a3db6bc8fa Revert "Fix blocking I/O while validating config schema" (#123377) 2024-08-10 18:40:44 +02:00
Noah Husby
9bfc8f6e27 Bump aiorussound to 2.2.2 (#123319) 2024-08-10 18:40:41 +02:00
J. Nick Koston
6fddef2dc5 Fix doorbird with externally added events (#123313) 2024-08-10 18:40:38 +02:00
fustom
ec08a85aa0 Fix limit and order property for transmission integration (#123305) 2024-08-10 18:40:35 +02:00
Evgeny
de7af575c5 Bump OpenWeatherMap to 0.1.1 (#120178)
* add owm modes

* fix tests

* fix modes

* remove sensors

* Update homeassistant/components/openweathermap/sensor.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-10 18:40:32 +02:00
Tom Brien
d3831bae4e Add support for v3 Coinbase API (#116345)
* Add support for v3 Coinbase API

* Add deps

* Move tests
2024-08-10 18:40:28 +02:00
Franck Nijhof
0558c85b5d Revert "Remove ESPHome legacy entity naming" (#123453) 2024-08-10 18:38:20 +02:00
J. Nick Koston
ef2ddbf86d Revert "Bump chacha20poly1305-reuseable to 0.13.2" (#123505) 2024-08-10 18:37:00 +02:00
Joost Lekkerkerker
778194f7a0 Bump AirGradient to 0.8.0 (#123527) 2024-08-10 18:31:17 +02:00
Joost Lekkerkerker
13b12a7657 Clean up codespell words (#123541) 2024-08-10 18:28:01 +02:00
Michael
257742de46 Fix cleanup of old orphan device entries in AVM Fritz!Tools (#123516)
fix cleanup of old orphan device entries
2024-08-10 18:01:15 +02:00
cnico
ace6385f5e Upgrade chacon_dio_api to version 1.2.0 (#123528)
Upgrade api version 1.2.0 with the first user feedback improvement
2024-08-10 17:01:49 +02:00
Evgeny
4f8a6979d9 Bump OpenWeatherMap to 0.1.1 (#120178)
* add owm modes

* fix tests

* fix modes

* remove sensors

* Update homeassistant/components/openweathermap/sensor.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-10 17:01:26 +02:00
Duco Sebel
f02fceed5b Bumb python-homewizard-energy to 6.2.0 (#123514) 2024-08-10 17:01:17 +02:00
David F. Mulcahey
cfd2ca3abb Bump zha lib to 0.0.30 (#123499) 2024-08-10 08:07:08 -04:00
Sid
9b678e474b Bump ruff to 0.5.7 (#123531) 2024-08-10 14:04:27 +02:00
Michael
5f73c73a88 Improve test coverage for Proximity (#123523)
* remove unneccessary type checking

* remove unused method after #123158

* test when tracked zone is removed
2024-08-10 13:21:01 +02:00
Matt Way
5f03589d3e Bump pydaikin to 2.13.2 (#123519) 2024-08-10 13:06:29 +02:00
Willem-Jan van Rootselaar
089d855c47 Bump bsblan to 0.5.19 (#123515)
* bump bsblan lib version

* chore: Update bsblan diagnostics to use to_dict() instead of dict() method
2024-08-10 12:28:48 +02:00
dupondje
750bce2b86 Also migrate dsmr entries for devices with correct serial (#123407)
dsmr: also migrate entries for devices with correct serial

When the dsmr code could not find the serial_nr for the gas meter,
it creates the gas meter device with the entry_id as identifier.

But when there is a correct serial_nr, it will use that as identifier
for the dsmr gas device.

Now the migration code did not take this into account, so migration to
the new name failed since it didn't look for the device with correct
serial_nr.

This commit fixes this and adds a test for this.
2024-08-10 10:40:11 +02:00
Michael
94af95c95b Post merge review for Proximity (#123500)
remove commented code
2024-08-10 01:25:38 +02:00
Brett Adams
ec9944b92a Add missing logger to Tessie (#123413) 2024-08-09 20:33:13 +02:00
J. Nick Koston
2b95a642fc Remove august IPv6 workaround (#123408) 2024-08-09 20:32:11 +02:00
Franck Nijhof
eb1c2f5d9f Update frontend to 20240809.0 (#123485) 2024-08-09 20:30:39 +02:00
Michael
ac28d34ad5 Improve test coverage for AVM Fritz!Smarthome (#122974) 2024-08-09 20:23:00 +02:00
starkillerOG
65f33f58e9 Bump motionblinds to 0.6.24 (#123395) 2024-08-09 20:22:16 +02:00
Louis Christ
86c4ded4cd Fix startup blocked by bluesound integration (#123483) 2024-08-09 19:36:58 +02:00
YogevBokobza
57da71c537 Bump aioswitcher to 4.0.0 (#123260)
* Bump aioswitcher to 4.0.0

* switcher fix version

* swithcer fix test

* switcher fix tests
2024-08-09 20:04:11 +03:00
Jake Martin
8e34a0d3c7 Bump monzopy to 1.3.2 (#123480) 2024-08-09 11:52:07 -05:00
Steve Easley
1ad1a2d51e Bump pyjvcprojector to 1.0.12 to fix blocking call (#123473) 2024-08-09 11:51:50 -05:00
J. Nick Koston
acda7bc5c4 Bump uiprotect to 6.0.1 (#123481) 2024-08-09 11:50:05 -05:00
yangqian
618efdb326 Bump chacha20poly1305-reuseable to 0.13.2 (#123471)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-09 11:25:53 -05:00
J. Nick Koston
b445517244 Bump orjson to 3.10.7 (#123465) 2024-08-09 17:34:21 +02:00
J. Nick Koston
6e1978971a Bump PyYAML to 6.0.2 (#123466) 2024-08-09 17:33:48 +02:00
J. Nick Koston
572293fb8b Bump uiprotect to 6.0.0 (#123402) 2024-08-09 17:27:16 +02:00
David Knowles
85cbc2437c Bump pydrawise to 2024.8.0 (#123461) 2024-08-09 17:25:25 +02:00
Franck Nijhof
228db1c063 Support action YAML syntax in old-style notify groups (#123457) 2024-08-09 17:18:42 +02:00
puddly
97410474f5 Bump ZHA library to 0.0.29 (#123464)
* Bump zha to 0.0.29

* Pass the Core timezone to ZHA

* Add a unit test
2024-08-09 10:31:55 -04:00
Andrew Jackson
e6e985af24 Remove type checking of config entry in Mastodon (#123467)
Remove type checking of configentry
2024-08-09 16:28:55 +02:00
Andrew Jackson
aee5d5126f Add sensor platform for Mastodon (#123434)
* Add account sensors

* Sensor icons

* Change sensors to use value_fn

* Add native unit of measurement

* Update native unit of measurement

* Change toots to posts

* Fix sensor icons

* Add device entry type

* Explain conditional naming

* Fixes from review

* Remove unnecessary constructor
2024-08-09 16:02:27 +02:00
Matrix
55eb11055c Bump YoLink API to 0.4.7 (#123441) 2024-08-09 12:21:49 +02:00
Jesse Hills
84d6f5ed07 Remove ESPHome legacy entity naming (#123436)
* Remove ESPHome legacy entity naming

* Update test entity_ids to use sanitized name instead of object_id
2024-08-09 11:43:02 +02:00
Brett Adams
f8e1c2cfd4 Rework OAuth in Tesla Fleet (#123324)
* Rework Oauth

* Improve docstrings

* Update homeassistant/components/tesla_fleet/oauth.py

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

* review feedback

* Add tests for user creds

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-08-09 08:38:12 +02:00
J. Nick Koston
00c1a3fd4e Ensure legacy event foreign key is removed from the states table when a previous rebuild failed (#123388)
* Ensure legacy event foreign key is removed from the states table

If the system ran out of disk space removing the FK, it would
fail. #121938 fixed that to try again, however that PR was made
ineffective by #122069 since it will never reach the check.

To solve this, the migration version is incremented to 2, and
the migration is no longer marked as done unless the rebuild
/fk removal is successful.

* fix logic for mysql

* fix test

* asserts

* coverage

* coverage

* narrow test

* fixes

* split tests

* should have skipped

* fixture must be used
2024-08-09 06:19:12 +02:00
J. Nick Koston
03ba8f6173 Bump aiohttp to 3.10.2 (#123394) 2024-08-08 17:07:22 -05:00
J. Nick Koston
69740e865c Reduce number of aiohttp.TCPConnector cleanup_closed checks to one per minute (#123268) 2024-08-08 15:52:09 -05:00
starkillerOG
2343f5e40f Reolink Chime online status and ability to remove (#123301)
* Add chime available

* allow removing a Reolink chime

* Allow removal if doorbell itself removed

* fix tests

* Add tests

* fix styling
2024-08-08 19:28:46 +02:00
Álvaro Fernández Rojas
634a2b22dc Improve Airzone Cloud sensors availability (#123383)
airzone_cloud: improve sensors availability

Make sensor entities unavailable instead of providing an unknown state.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-08 19:23:52 +02:00
epenet
b498c89860 Fix raise-within-try in language util (#123354) 2024-08-08 18:51:19 +02:00
epenet
ddc94030a6 Fix raise-within-try in config validation helper (#123353) 2024-08-08 18:50:49 +02:00
fustom
c2f2a868c4 Fix limit and order property for transmission integration (#123305) 2024-08-08 18:49:47 +02:00
Erik Montnemery
60117ae150 Revert "Fix blocking I/O while validating config schema" (#123377) 2024-08-08 17:30:39 +02:00
epenet
a406068f13 Fix implicit-return in homematic (#122922) 2024-08-08 16:32:46 +02:00
Tom Brien
baceb2a92a Add support for v3 Coinbase API (#116345)
* Add support for v3 Coinbase API

* Add deps

* Move tests
2024-08-08 12:26:03 +02:00
Sid
d08f4fbace Enable Ruff RET501 (#115031)
* Enable Ruff RET501

* add noqa and type hints

* use Any for fixtures

* Review comments, typing fixes

* Review comments

* fix new occurrences, clean up

* Fix typing

* clean up rebase

* more cleanup

* Remove old occurrences

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-08-08 11:56:18 +02:00
epenet
02a404081a Fix implicit-return in yeelight (#122943) 2024-08-08 11:33:49 +02:00
Franck Nijhof
8a8fac46e0 Remove unneeded logs from Yamaha (#123349) 2024-08-08 11:32:22 +02:00
dependabot[bot]
984bbf60ef Bump sigstore/cosign-installer from 3.5.0 to 3.6.0 (#123335)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-08 10:25:32 +02:00
epenet
b7f5236a0a Fix implicit-return in konnected (#122915)
* Fix implicit-return in konnected

* Adjust

* Adjust

* Adjust tests
2024-08-08 10:09:36 +02:00
Franck Nijhof
6a89080ce7 Merge branch 'master' into dev 2024-08-08 09:12:16 +02:00
Joost Lekkerkerker
7dea5d2fe6 Refactor spc tests (#123287) 2024-08-08 08:59:30 +02:00
J. Nick Koston
135c80186f Fix doorbird with externally added events (#123313) 2024-08-08 08:56:40 +02:00
Noah Husby
2144a9a7b2 Bump aiorussound to 2.2.2 (#123319) 2024-08-08 08:56:02 +02:00
Franck Nijhof
86722ba05e 2024.8.0 (#123276) 2024-08-07 20:20:43 +02:00
Franck Nijhof
be4810731a Bump version to 2024.8.0 2024-08-07 19:04:33 +02:00
Franck Nijhof
ac6abb363c Bump version to 2024.8.0b9 2024-08-07 18:24:15 +02:00
Michael Hansen
5367886732 Bump intents to 2024.8.7 (#123295) 2024-08-07 18:24:08 +02:00
Stefan Agner
7a51d4ff62 Drop Matter Microwave Oven Mode select entity (#123294) 2024-08-07 18:24:05 +02:00
ashalita
ef564c537d Revert "Upgrade pycoolmasternet-async to 0.2.0" (#123286) 2024-08-07 18:24:02 +02:00
Michael Hansen
f8fa6e4309 Bump intents to 2024.8.7 (#123295) 2024-08-07 10:42:59 -05:00
Stefan Agner
f1029596d2 Drop Matter Microwave Oven Mode select entity (#123294) 2024-08-07 16:45:46 +02:00
ashalita
4cd3fce555 Revert "Upgrade pycoolmasternet-async to 0.2.0" (#123286) 2024-08-07 14:19:05 +02:00
Franck Nijhof
082290b092 Bump version to 2024.8.0b8 2024-08-07 13:15:23 +02:00
Franck Nijhof
4a212791a2 Update wled to 0.20.1 (#123283) 2024-08-07 13:15:12 +02:00
Brett Adams
6bb55ce79e Add missing application credential to Tesla Fleet (#123271)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-08-07 13:15:04 +02:00
Franck Nijhof
9717a867a7 Update wled to 0.20.1 (#123283) 2024-08-07 13:12:29 +02:00
Brett Adams
764166342e Add missing application credential to Tesla Fleet (#123271)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-08-07 13:11:03 +02:00
Paulus Schoutsen
45ce0fed0a Reload config entry for anthropic on update (#123280)
* Reload config entry for anthropic on update

* Fix tests
2024-08-07 12:22:50 +02:00
Franck Nijhof
782ff12e6e Bump version to 2024.8.0b7 2024-08-07 11:26:03 +02:00
lunmay
af6f78a784 Fix typo on one of islamic_prayer_times calculation_method option (#123281) 2024-08-07 11:25:55 +02:00
Paulus Schoutsen
db32460f3b Reload conversation entries on update (#123279) 2024-08-07 11:25:52 +02:00
Erwin Douna
270990fe39 Tado change repair issue (#123256) 2024-08-07 11:25:48 +02:00
lunmay
799888df2f Fix typo on one of islamic_prayer_times calculation_method option (#123281) 2024-08-07 11:20:36 +02:00
Paulus Schoutsen
933fba84a9 Reload conversation entries on update (#123279) 2024-08-07 11:18:48 +02:00
Erwin Douna
cba6273ac6 Tado change repair issue (#123256) 2024-08-07 11:18:09 +02:00
Franck Nijhof
a10fed9d72 Bump version to 2024.8.0b6 2024-08-07 10:22:39 +02:00
tronikos
cc5699bf08 Fix Google Cloud TTS not respecting config values (#123275) 2024-08-07 10:22:30 +02:00
Jesse Hills
ad674a1c2b Update ESPHome voice assistant pipeline log warning (#123269) 2024-08-07 10:22:27 +02:00
J. Nick Koston
b0269faae4 Allow non-admins to subscribe to newer registry update events (#123267) 2024-08-07 10:22:24 +02:00
starkillerOG
1143efedc5 Bump reolink-aio to 0.9.7 (#123263) 2024-08-07 10:22:21 +02:00
Matthias Alphart
9e75b63925 Update knx-frontend to 2024.8.6.211307 (#123261) 2024-08-07 10:22:18 +02:00
puddly
940327dccf Bump ZHA to 0.0.28 (#123259)
* Bump ZHA to 0.0.28

* Drop redundant radio schema conversion
2024-08-07 10:22:14 +02:00
Steve Repsher
0270026f7c Adapt static resource handler to aiohttp 3.10 (#123166) 2024-08-07 10:22:11 +02:00
Jesse Hills
bf28419851 Update ESPHome voice assistant pipeline log warning (#123269) 2024-08-07 10:17:01 +02:00
tronikos
27b9965b10 Fix Google Cloud TTS not respecting config values (#123275) 2024-08-07 10:16:07 +02:00
Terence Honles
be7f3ca439 remove unneeded type attributes on WebsocketNotification (#123238) 2024-08-07 10:10:18 +02:00
J. Nick Koston
185b6e5908 Allow non-admins to subscribe to newer registry update events (#123267) 2024-08-07 09:13:23 +02:00
Matthias Alphart
7ec0b8b331 Update knx-frontend to 2024.8.6.211307 (#123261) 2024-08-07 09:12:20 +02:00
dependabot[bot]
95f92ababf Bump actions/upload-artifact from 4.3.5 to 4.3.6 (#123272)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-07 09:05:23 +02:00
dependabot[bot]
89337091b2 Bump github/codeql-action from 3.25.15 to 3.26.0 (#123273)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-07 09:04:48 +02:00
puddly
78154f5daf Bump ZHA to 0.0.28 (#123259)
* Bump ZHA to 0.0.28

* Drop redundant radio schema conversion
2024-08-06 21:46:25 -04:00
starkillerOG
f4db9e09c8 Bump reolink-aio to 0.9.7 (#123263) 2024-08-07 00:16:57 +02:00
Franck Nijhof
b636096ac3 Bump version to 2024.8.0b5 2024-08-06 18:08:19 +02:00
Franck Nijhof
a243ed5b23 Update frontend to 20240806.1 (#123252) 2024-08-06 18:07:49 +02:00
Joost Lekkerkerker
3cf3780587 Bump mficlient to 0.5.0 (#123250) 2024-08-06 18:06:50 +02:00
Robert Resch
3d0a0cf376 Bump deebot-client to 8.3.0 (#123249) 2024-08-06 18:05:00 +02:00
J. Nick Koston
7aae9d9ad3 Fix sense doing blocking I/O in the event loop (#123247) 2024-08-06 18:04:57 +02:00
Franck Nijhof
870bb7efd4 Mark FFmpeg integration as system type (#123241) 2024-08-06 18:04:53 +02:00
Robert Resch
35a6679ae9 Delete mobile_app cloudhook if not logged into the cloud (#123234) 2024-08-06 18:04:49 +02:00
Yehazkel
a09d0117b1 Fix Tami4 device name is None (#123156)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-08-06 18:04:44 +02:00
Franck Nijhof
abaac519c9 Update frontend to 20240806.1 (#123252) 2024-08-06 17:54:40 +02:00
Joost Lekkerkerker
f9f3c7fb51 Bump mficlient to 0.5.0 (#123250) 2024-08-06 16:28:37 +02:00
Yehazkel
2000db57c8 Fix Tami4 device name is None (#123156)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-08-06 16:21:34 +02:00
Steve Repsher
9414e6d472 Adapt static resource handler to aiohttp 3.10 (#123166) 2024-08-06 09:17:54 -05:00
Robert Resch
4627a565d3 Bump deebot-client to 8.3.0 (#123249) 2024-08-06 16:16:22 +02:00
Franck Nijhof
c612cf95a8 Mark FFmpeg integration as system type (#123241) 2024-08-06 16:04:29 +02:00
J. Nick Koston
1eaaa00687 Detect blocking ssl context creation in the event loop (#123240) 2024-08-06 16:00:37 +02:00
J. Nick Koston
fe4e6f24f5 Fix sense doing blocking I/O in the event loop (#123247) 2024-08-06 15:32:58 +02:00
Franck Nijhof
f94bf51bb5 Remove myself from DSMR codeowners (#123243) 2024-08-06 14:55:37 +02:00
Robert Resch
260642345d Delete mobile_app cloudhook if not logged into the cloud (#123234) 2024-08-06 14:55:14 +02:00
Joost Lekkerkerker
7cb94e6392 Bump uvcclient to 0.12.1 (#123237) 2024-08-06 14:01:48 +02:00
Franck Nijhof
e9fe98f7f9 Bump version to 2024.8.0b4 2024-08-06 13:22:46 +02:00
Franck Nijhof
5b2e188b52 Mark Google Assistant integration as system type (#123233) 2024-08-06 13:22:03 +02:00
Franck Nijhof
c1953e938d Mark Alexa integration as system type (#123232) 2024-08-06 13:21:59 +02:00
Franck Nijhof
9d2c2d90c8 Mark Google Assistant integration as system type (#123233) 2024-08-06 13:20:32 +02:00
Franck Nijhof
d24a87145d Mark Alexa integration as system type (#123232) 2024-08-06 13:18:22 +02:00
Franck Nijhof
77bcbbcf53 Update frontend to 20240806.0 (#123230) 2024-08-06 12:51:24 +02:00
Joost Lekkerkerker
97587fae08 Bump yt-dlp to 2023.08.06 (#123229) 2024-08-06 12:51:21 +02:00
Matthias Alphart
01b54fe1a9 Update knx-frontend to 2024.8.6.85349 (#123226) 2024-08-06 12:51:17 +02:00
Clifford Roche
f796950493 Update greeclimate to 2.1.0 (#123210) 2024-08-06 12:51:14 +02:00
flopp999
495fd946bc Fix growatt server tlx battery api key (#123191) 2024-08-06 12:51:10 +02:00
Jesse Hills
6af1e25d7e Show project version as sw_version in ESPHome (#123183) 2024-08-06 12:51:07 +02:00
Jesse Hills
6d47a4d7e4 Add support for ESPHome update entities to be checked on demand (#123161) 2024-08-06 12:51:04 +02:00
Petro31
fd5533d719 Fix yamaha legacy receivers (#122985) 2024-08-06 12:50:59 +02:00
Franck Nijhof
bc380859e8 Update frontend to 20240806.0 (#123230) 2024-08-06 12:48:15 +02:00
Petro31
1fc6ce3acd Fix yamaha legacy receivers (#122985) 2024-08-06 12:35:47 +02:00
Joost Lekkerkerker
78d1cd79af Bump yt-dlp to 2023.08.06 (#123229) 2024-08-06 12:22:14 +02:00
Guy Lowe
a2dd017229 Add unit tests for SNMP integer Switches (#123094)
* Add unit tests for SNMP Switches (integer only)

* Add unit test for SNMP switches (integer unknown)

* log a warning when SNMP response is not a recognised payload

* Use a single configuration for all test_integer_switch tests

* Tweak unknown SNMP response warning

* Apply suggestions from code review

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

* import STATE_ consts

* rename tests/components/snmp/test_integer_switch.py to test_switch.py

* check that a warning is logged if the SNMP response payload is unknown

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-06 11:56:39 +02:00
Matthias Alphart
86d8c3b31a Update knx-frontend to 2024.8.6.85349 (#123226) 2024-08-06 11:51:04 +02:00
flopp999
bc02925630 Fix growatt server tlx battery api key (#123191) 2024-08-06 10:21:48 +02:00
dontinelli
b9251e94a9 Bump solarlog_cli to v0.1.6 (#123218)
bump solarlog_cli to v0.1.6
2024-08-06 10:15:48 +02:00
Michael
0d4ca35784 Remove unused async_setup method in insteon (#123201) 2024-08-06 10:13:12 +02:00
Jesse Hills
164cfa85da Add support for ESPHome update entities to be checked on demand (#123161) 2024-08-06 10:12:31 +02:00
Jesse Hills
21da79a249 Show project version as sw_version in ESPHome (#123183) 2024-08-06 10:11:08 +02:00
Clifford Roche
1b73b2a12a Update greeclimate to 2.1.0 (#123210) 2024-08-06 10:06:35 +02:00
J. Nick Koston
54f8f24c2c Bump PyJWT to 2.9.0 (#123209) 2024-08-05 15:51:15 -05:00
Franck Nijhof
d530137bec Bump version to 2024.8.0b3 2024-08-05 21:12:09 +02:00
Franck Nijhof
4f722e864c Mark webhook as a system integration type (#123204) 2024-08-05 21:11:46 +02:00
Franck Nijhof
62d38e786d Mark assist_pipeline as a system integration type (#123202) 2024-08-05 21:10:49 +02:00
Franck Nijhof
859874487e Mark tag to be an entity component (#123200) 2024-08-05 21:09:50 +02:00
Bram Kragten
b16bf29819 Update frontend to 20240805.1 (#123196) 2024-08-05 21:09:46 +02:00
Marius
6b10dbb38c Fix state icon for closed valve entities (#123190) 2024-08-05 21:09:43 +02:00
Joost Lekkerkerker
ea20c4b375 Fix MPD issue creation (#123187) 2024-08-05 21:09:40 +02:00
musapinar
0427aeccb0 Add Matter Leedarson RGBTW Bulb to the transition blocklist (#123182) 2024-08-05 21:09:37 +02:00
Matthias Alphart
4898ba932d Use KNX UI entity platform controller class (#123128) 2024-08-05 21:09:32 +02:00
Franck Nijhof
5142cb5e98 Mark assist_pipeline as a system integration type (#123202) 2024-08-05 21:07:11 +02:00
Franck Nijhof
bb1efe56b6 Mark webhook as a system integration type (#123204) 2024-08-05 21:06:58 +02:00
Franck Nijhof
9c2ba9b157 Mark tag to be an entity component (#123200) 2024-08-05 20:40:44 +02:00
Joakim Plate
f51cc8fe12 Change zha diagnostic to snapshot (#123198) 2024-08-05 19:02:07 +02:00
Bram Kragten
537d7728a7 Update frontend to 20240805.1 (#123196) 2024-08-05 18:23:44 +02:00
Michael
844ccf461f Remove unnecessary config schema definitions (#123197) 2024-08-05 17:44:14 +02:00
Marius
94542d42fa Fix state icon for closed valve entities (#123190) 2024-08-05 17:17:46 +02:00
Michael
b223931ac0 Remove deprecated proximity entity (#123158) 2024-08-05 15:44:00 +02:00
Joost Lekkerkerker
42ab8d0445 Remove deprecated asterisk_mbox integration (#123174) 2024-08-05 15:28:49 +02:00
Joost Lekkerkerker
ef237a8431 Fix MPD issue creation (#123187) 2024-08-05 15:07:01 +02:00
Joost Lekkerkerker
96364f0452 Remove deprecated asterisk_cdr integration (#123180) 2024-08-05 14:43:39 +02:00
Joost Lekkerkerker
b73ca874bb Bump uvcclient to 0.11.1 (#123185) 2024-08-05 14:23:07 +02:00
musapinar
a6dfa6d4e0 Add Matter Leedarson RGBTW Bulb to the transition blocklist (#123182) 2024-08-05 14:21:01 +02:00
Matthias Alphart
f2d99cb059 Use KNX UI entity platform controller class (#123128) 2024-08-05 12:34:48 +02:00
Franck Nijhof
35a3d2306c Bump version to 2024.8.0b2 2024-08-05 12:22:03 +02:00
Calvin Walton
cdb378066c Add Govee H612B to the Matter transition blocklist (#123163) 2024-08-05 12:21:40 +02:00
Brett Adams
85700fd80f Fix class attribute condition in Tesla Fleet (#123162) 2024-08-05 12:21:37 +02:00
J. Nick Koston
73a2ad7304 Bump aiohttp to 3.10.1 (#123159) 2024-08-05 12:21:34 +02:00
dupondje
f6c4b6b045 dsmr: migrate hourly_gas_meter_reading to mbus device (#123149) 2024-08-05 12:21:30 +02:00
Steve Repsher
0b4d921762 Restore old service worker URL (#123131) 2024-08-05 12:21:27 +02:00
David F. Mulcahey
c8a0e5228d Bump ZHA lib to 0.0.27 (#123125) 2024-08-05 12:21:23 +02:00
Kim de Vos
832bac8c63 Use slugify to create id for UniFi WAN latency (#123108)
Use slugify to create id for latency
2024-08-05 12:21:20 +02:00
Arie Catsman
eccce7017f Bump pyenphase to 1.22.0 (#123103) 2024-08-05 12:21:16 +02:00
Louis Christ
fdb1baadbe Fix wrong DeviceInfo in bluesound integration (#123101)
Fix bluesound device info
2024-08-05 12:21:12 +02:00
Shay Levy
7623ee49e4 Ignore Shelly IPv6 address in zeroconf (#123081) 2024-08-05 12:20:20 +02:00
Mr. Bubbles
fa241dcd04 Catch exception in coordinator setup of IronOS integration (#123079) 2024-08-05 12:20:17 +02:00
Denis Shulyaka
bee77041e8 Change enum type to string for Google Generative AI Conversation (#123069) 2024-08-05 12:20:13 +02:00
Paulus Schoutsen
50b7eb44d1 Add CONTROL supported feature to Google conversation when API access (#123046)
* Add CONTROL supported feature to Google conversation when API access

* Better function name

* Handle entry update inline

* Reload instead of update
2024-08-05 12:20:10 +02:00
Clifford Roche
7b1bf82e3c Update greeclimate to 2.0.0 (#121030)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-08-05 12:20:01 +02:00
J. Nick Koston
5b7fd29797 Improve performance of logbook processor humanify (#123157) 2024-08-05 11:33:37 +02:00
Chris Buckley
ab811f70b1 Todoist service validation error consistency (#123122) 2024-08-05 11:24:49 +02:00
Artur Pragacz
67e3139dcf Clean up useless logging handler setting (#120974)
Setting level of the handler does effectively nothing,
because HomeAssistantQueueHandler ignores this setting.
Also make the convention of getting the root logger uniform.
2024-08-05 11:22:13 +02:00
David F. Mulcahey
3257bdeed2 Bump ZHA lib to 0.0.27 (#123125) 2024-08-05 11:19:57 +02:00
Clifford Roche
1163cc7cab Update greeclimate to 2.0.0 (#121030)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-08-05 11:18:34 +02:00
Barry vd. Heuvel
e9e357b12e Add spaces for readability in licenses.py (#123173) 2024-08-05 11:18:04 +02:00
Simon Hörrle
d246d02ab8 Add apsystems diagnostic binary sensors (#123045)
* add diagnostic sensors

* select output_data from data

* split sensor and binary_sensor configurations

* adjust module description

* convert values to bool

* add strings

* add tests

* add tests

* update translations

* remove already available _attr_has_entity_name

* use dataclass instead of TypedDict

* Update tests/components/apsystems/test_binary_sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-05 11:08:27 +02:00
dupondje
a7fbac5185 dsmr: migrate hourly_gas_meter_reading to mbus device (#123149) 2024-08-05 10:32:58 +02:00
Calvin Walton
b45fe0ec73 Add Govee H612B to the Matter transition blocklist (#123163) 2024-08-05 10:02:15 +02:00
Brett Adams
d7e3df1974 Fix class attribute condition in Tesla Fleet (#123162) 2024-08-05 09:59:33 +02:00
dependabot[bot]
31fd4efa36 Bump actions/upload-artifact from 4.3.4 to 4.3.5 (#123170) 2024-08-05 09:21:37 +02:00
Mr. Bubbles
7308912b39 Catch exception in coordinator setup of IronOS integration (#123079) 2024-08-05 08:43:29 +02:00
J. Nick Koston
4d103c1fc2 Bump aiohttp to 3.10.1 (#123159) 2024-08-05 08:39:04 +02:00
J. Nick Koston
4fd92c17f0 Optimize logbook row matching (#123127) 2024-08-04 17:06:32 -05:00
J. Nick Koston
6b7307df81 Speed up logbook timestamp processing (#123126) 2024-08-04 16:43:43 -05:00
J. Nick Koston
b09dd95dbd Improve alignment of live logbook and historical logbook models (#123070)
* Improve alignment of live logbook and historical logbook models

- Make EventAsRow as NamedType which is better aligned with
  sqlalchemy Row
- Use getitem to fetch results for both Row and EventAsRow
  since its an order of magnitude faster fetching sqlalchemy
  Row object values.

* final

* fix

* unused

* fix more tests

* cleanup

* reduce

* tweak
2024-08-04 23:09:10 +02:00
J. Nick Koston
3353c3c205 Remove unneeded formatter argument from logbook websocket_api (#123095) 2024-08-04 23:05:56 +02:00
G Johansson
ccd157dc26 Use coordinator setup method in filesize (#123139) 2024-08-04 23:03:40 +02:00
Maciej Bieniek
a9d8e47979 Support DeviceInfo.model_id in MQTT integration (#123152)
Add support for model_id
2024-08-04 23:02:41 +02:00
epenet
30f4d1b958 Fix implicit-return in overkiz (#123000) 2024-08-04 20:18:19 +02:00
Yaroslav Halchenko
e682d8c6e2 Handle command_line missing discovery_info (#116873)
* command_line: Do not lead to erroring out code indexing None or empty discovery_info

* Apply suggestions from code review

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-08-04 16:39:41 +02:00
c0ffeeca7
70704f67d3 Recorder system info: fix capitalization (#123141)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-04 15:17:54 +02:00
Steve Repsher
232f78e7b6 Restore old service worker URL (#123131) 2024-08-04 07:28:45 -05:00
J. Nick Koston
b6de2cd741 Unpack non-performant any expressions in config flow discovery path (#123124) 2024-08-03 17:33:46 -05:00
Louis Christ
02f81ec481 Fix wrong DeviceInfo in bluesound integration (#123101)
Fix bluesound device info
2024-08-03 22:32:47 +02:00
Arie Catsman
b7d56ad38a Bump pyenphase to 1.22.0 (#123103) 2024-08-03 10:21:12 -05:00
Kim de Vos
eb5ee1ffd1 Use slugify to create id for UniFi WAN latency (#123108)
Use slugify to create id for latency
2024-08-03 15:08:01 +02:00
J. Nick Koston
cdec43ec06 Remove unreachable suppress in logbook (#123096) 2024-08-03 08:03:28 -05:00
J. Nick Koston
0fe23c82a4 Remove unused variables in logbook LazyEventPartialState (#123097) 2024-08-03 06:26:54 -05:00
J. Nick Koston
61cbb77042 Remove unneeded cast in logbook rest api (#123098) 2024-08-03 06:26:32 -05:00
David Bonnes
bb31fc1ec7 Test storage save and load for evohome (#122510)
* test storage save and load

* fix bug exposed by test

* refactor test

* add JSON for test account/location

* create helpers to load JSON

* refactor test

* baseline refactor

* tweak

* update requiremenst

* rationalise code

* remove conditional in test

* refactor test

* mypy fix

* tweak tests

* working test

* working test 4

* working test 5

* add typed dicts

* working dtms

* lint

* fix dtm asserts

* doc strings

* list

* tweak conditional

* tweak test data sets to extend coverage

* leverage conftest.py for subsequent tests

* revert test storage

* revert part two

* rename symbols

* remove anachronism

* stop unwanted DNS lookup

* Clean up type ignores

* Format

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-08-03 10:41:30 +02:00
Chris Buckley
6684f61a54 Add support for Todoist sections (#115671)
* Add support for Todoist sections

* ServiceValidationError & section name tweaks from PR comments

* Remove whitespace

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

* More natural error message

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-08-03 09:07:13 +02:00
Paulus Schoutsen
aa6f0cd55a Add CONTROL supported feature to Google conversation when API access (#123046)
* Add CONTROL supported feature to Google conversation when API access

* Better function name

* Handle entry update inline

* Reload instead of update
2024-08-02 23:16:30 -07:00
Denis Shulyaka
f6ad018f8f Change enum type to string for Google Generative AI Conversation (#123069) 2024-08-02 23:14:24 -07:00
Shay Levy
8687c32c15 Ignore Shelly IPv6 address in zeroconf (#123081) 2024-08-02 21:56:49 +03:00
epenet
34b561b211 Bump ruff to 0.5.6 (#123073) 2024-08-02 19:04:00 +02:00
epenet
e32a48ac55 Improve type hints in google_assistant (#122895) 2024-08-02 17:55:46 +02:00
Franck Nijhof
fe82e7f24d Bump version to 2024.8.0b1 2024-08-02 17:46:01 +02:00
Bram Kragten
433c1a57e7 Update frontend to 20240802.0 (#123072) 2024-08-02 17:45:50 +02:00
Joost Lekkerkerker
b36059fc64 Do not raise repair issue about missing integration in safe mode (#123066) 2024-08-02 17:45:47 +02:00
Philip Vanloo
13c9d69440 Add additional items to REPEAT_MAP in LinkPlay (#123063)
* Upgrade python-linkplay, add items to REPEAT_MAP

* Undo dependency bump
2024-08-02 17:45:43 +02:00
Philip Vanloo
9c7134a865 LinkPlay: Bump python-linkplay to 0.0.6 (#123062)
Bump python-linkplay to 0.0.6
2024-08-02 17:45:39 +02:00
Erik Montnemery
d7cc2a7e9a Correct squeezebox service (#123060) 2024-08-02 17:45:36 +02:00
Fabian
f9276e28b0 Add device class (#123059) 2024-08-02 17:45:32 +02:00
H. Árkosi Róbert
15ad6db1a7 Add LinkPlay models (#123056)
* Add some LinkPlay models

* Update utils.py

* Update utils.py

* Update utils.py

* Update homeassistant/components/linkplay/utils.py

* Update homeassistant/components/linkplay/utils.py

* Update utils.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-02 17:45:29 +02:00
Erik Montnemery
c1043ada22 Correct type annotation for EntityPlatform.async_register_entity_service (#123054)
Correct type annotation for EntityPlatform.async_register_entity_service

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-08-02 17:45:26 +02:00
Paulus Schoutsen
d141122008 Ollama implement CONTROL supported feature (#123049) 2024-08-02 17:45:23 +02:00
Paulus Schoutsen
abeba39842 OpenAI make supported features reflect the config entry options (#123047) 2024-08-02 17:45:19 +02:00
Matthias Alphart
bb597a908d Use freezer in KNX tests (#123044)
use freezer in tests
2024-08-02 17:45:16 +02:00
Matthias Alphart
dcae2f35ce Mitigate breaking change for KNX climate schema (#123043) 2024-08-02 17:45:12 +02:00
Matthias Alphart
b06a5af069 Address post-merge reviews for KNX integration (#123038) 2024-08-02 17:45:09 +02:00
J. Nick Koston
a624ada8d6 Fix doorbird models are missing the schedule API (#123033)
* Fix doorbird models are missing the schedule API

fixes #122997

* cover
2024-08-02 17:45:06 +02:00
David F. Mulcahey
d87366b1e7 Make ZHA load quirks earlier (#123027) 2024-08-02 17:45:03 +02:00
Michael Hansen
5ce8a2d974 Standardize assist pipelines on 10ms chunk size (#123024)
* Make chunk size always 10ms

* Fix voip
2024-08-02 17:44:59 +02:00
Robert Resch
a42615add0 Fix and improve tedee lock states (#123022)
Improve tedee lock states
2024-08-02 17:44:56 +02:00
Matrix
ecbff61332 Bump yolink api to 0.4.6 (#123012) 2024-08-02 17:44:53 +02:00
Paulus Schoutsen
e9bfe82582 Make the Android timer notification high priority (#123006) 2024-08-02 17:44:50 +02:00
Ivan Belokobylskiy
55abe68a5f Bump aioymaps to 1.2.5 (#123005)
Bump aiomaps, fix sessionId parsing
2024-08-02 17:44:46 +02:00
amccook
acf523b5fb Fix handling of directory type playlists in Plex (#122990)
Ignore type directory
2024-08-02 17:44:43 +02:00
Matrix
0216455137 Fix yolink protocol changed (#122989) 2024-08-02 17:44:40 +02:00
J. Nick Koston
cb37ae6608 Update doorbird error notification to be a repair flow (#122987) 2024-08-02 17:44:37 +02:00
karwosts
3b462906d9 Restrict nws.get_forecasts_extra selector to nws weather entities (#122986) 2024-08-02 17:44:34 +02:00
Matrix
dfb4e9c159 Yolink device model adaptation (#122824) 2024-08-02 17:44:31 +02:00
karwosts
6a6814af61 Use text/multiple selector for input_select.set_options (#122539) 2024-08-02 17:44:27 +02:00
Denis Shulyaka
1a7085b068 Add aliases to script llm tool description (#122380)
* Add aliases to script llm tool description

* Also add name
2024-08-02 17:44:24 +02:00
Christopher Fenner
804d7aa4c0 Fix translation key for power exchange sensor in ViCare (#122339) 2024-08-02 17:44:21 +02:00
DeerMaximum
1b1d86409c Velux use node id as fallback for unique id (#117508)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-08-02 17:44:18 +02:00
Ryan Mattson
2520fcd284 Lyric: Properly tie room accessories to the data coordinator (#115902)
* properly tie lyric accessories to the data coordinator so sensors recieve updates

* only check for accessories for LCC devices

* revert: meant to give it its own branch and PR
2024-08-02 17:44:13 +02:00
Markus Jacobsen
b0ece4bbaa Improve Bang olufsen media_player dispatcher formatting (#123065)
* Avoid repeating almost the same command 8 times

* Remove debugging
2024-08-02 17:07:23 +02:00
Bram Kragten
a18166e3f8 Update frontend to 20240802.0 (#123072) 2024-08-02 16:48:37 +02:00
Robert Resch
b89a859f14 Fix and improve tedee lock states (#123022)
Improve tedee lock states
2024-08-02 15:58:41 +02:00
Matrix
a4aefe43dc Yolink device model adaptation (#122824) 2024-08-02 15:57:15 +02:00
Christopher Fenner
115303faf5 Fix translation key for power exchange sensor in ViCare (#122339) 2024-08-02 15:44:19 +02:00
epenet
1eadb00fce Fix implicit-return in google_assistant (#123002) 2024-08-02 15:31:09 +02:00
epenet
b609f8e962 Fix implicit-return in macos script (#122945) 2024-08-02 15:30:29 +02:00
epenet
e734971d33 Enable collections-named-tuple (PYI024) rule in ruff (#123019) 2024-08-02 15:28:32 +02:00
Paulus Schoutsen
b6c9fe86e1 Ensure claude supported feature reflect latest config entry options (#123050) 2024-08-02 15:27:11 +02:00
Ryan Mattson
db238a75e3 Lyric: Properly tie room accessories to the data coordinator (#115902)
* properly tie lyric accessories to the data coordinator so sensors recieve updates

* only check for accessories for LCC devices

* revert: meant to give it its own branch and PR
2024-08-02 15:13:56 +02:00
karwosts
fb76e70c3f Use text/multiple selector for input_select.set_options (#122539) 2024-08-02 15:10:04 +02:00
H. Árkosi Róbert
a40dce449f Add LinkPlay models (#123056)
* Add some LinkPlay models

* Update utils.py

* Update utils.py

* Update utils.py

* Update homeassistant/components/linkplay/utils.py

* Update homeassistant/components/linkplay/utils.py

* Update utils.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-02 14:25:43 +02:00
Joost Lekkerkerker
d2dd5ba0e6 Do not raise repair issue about missing integration in safe mode (#123066) 2024-08-02 13:38:56 +02:00
Philip Vanloo
3de8828358 Add additional items to REPEAT_MAP in LinkPlay (#123063)
* Upgrade python-linkplay, add items to REPEAT_MAP

* Undo dependency bump
2024-08-02 13:38:05 +02:00
Philip Vanloo
b610b29d28 LinkPlay: Bump python-linkplay to 0.0.6 (#123062)
Bump python-linkplay to 0.0.6
2024-08-02 13:23:45 +02:00
Matthias Alphart
42234e6a09 Address post-merge reviews for KNX integration (#123038) 2024-08-02 12:53:39 +02:00
Paulus Schoutsen
4a06e20318 Ollama implement CONTROL supported feature (#123049) 2024-08-02 12:31:31 +02:00
epenet
ad26db7dc8 Replace pylint broad-exception-raised rule with ruff (#123021) 2024-08-02 12:24:03 +02:00
David F. Mulcahey
5446dd92a9 Make ZHA load quirks earlier (#123027) 2024-08-02 12:22:36 +02:00
Fabian
7670ad0a72 Add device class (#123059) 2024-08-02 12:19:55 +02:00
Marc Mueller
b2d5f9c742 Update generator typing (#123052) 2024-08-02 12:17:51 +02:00
Paulus Schoutsen
adf8515698 OpenAI make supported features reflect the config entry options (#123047) 2024-08-02 12:08:44 +02:00
Erik Montnemery
449afe9e6f Correct type annotation for EntityPlatform.async_register_entity_service (#123054)
Correct type annotation for EntityPlatform.async_register_entity_service

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-08-02 11:58:07 +02:00
Erik Montnemery
0058d42ca2 Correct squeezebox service (#123060) 2024-08-02 11:49:47 +02:00
Matthias Alphart
4da385898b Mitigate breaking change for KNX climate schema (#123043) 2024-08-02 08:50:19 +02:00
Matthias Alphart
8ec8aef02e Use freezer in KNX tests (#123044)
use freezer in tests
2024-08-02 08:48:41 +02:00
Denis Shulyaka
ed6d6575d7 Add aliases to script llm tool description (#122380)
* Add aliases to script llm tool description

* Also add name
2024-08-02 08:05:06 +02:00
Denis Shulyaka
262d778a38 Anthropic Claude conversation integration (#122526)
* Initial commit

* Use add_suggested_values

* Update homeassistant/components/anthropic/conversation.py

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

* Update strings.json

* Update config_flow.py

* Update config_flow.py

* Fix tests

* Update homeassistant/components/anthropic/conversation.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Removed agent registration

* Moved message_convert inline function outside

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-08-01 22:50:10 +02:00
Michael Hansen
80aa2c269b Standardize assist pipelines on 10ms chunk size (#123024)
* Make chunk size always 10ms

* Fix voip
2024-08-01 22:39:17 +02:00
J. Nick Koston
a3b5dcc21b Fix doorbird models are missing the schedule API (#123033)
* Fix doorbird models are missing the schedule API

fixes #122997

* cover
2024-08-01 22:37:26 +02:00
amccook
fef9c92eb7 Fix handling of directory type playlists in Plex (#122990)
Ignore type directory
2024-08-01 10:24:09 -04:00
epenet
4f3d624353 Enable pytest-fixture-param-without-value (PT019) rule in ruff (#122953) 2024-08-01 14:46:15 +02:00
DeerMaximum
f5e88b8293 Velux use node id as fallback for unique id (#117508)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-08-01 14:32:37 +02:00
epenet
faedba0407 Rename variable in knx tests (#122994)
* Rename variable in knx tests

* Type hints

* Type hints
2024-08-01 13:44:30 +02:00
epenet
adf20b60dc Rename variable in landisgyr_heat_meter tests (#122995) 2024-08-01 13:43:09 +02:00
karwosts
ab522dab71 Restrict nws.get_forecasts_extra selector to nws weather entities (#122986) 2024-08-01 12:59:19 +02:00
epenet
c2a23bce50 Fix implicit-return in python_script (#123004) 2024-08-01 12:20:05 +02:00
Paulus Schoutsen
bc91bd3293 Make the Android timer notification high priority (#123006) 2024-08-01 11:51:45 +02:00
Matrix
6bf59a8dfc Bump yolink api to 0.4.6 (#123012) 2024-08-01 11:49:58 +02:00
Marc Mueller
cd80cd5caa Update audit licenses run conditions [ci] (#123009) 2024-08-01 11:30:29 +02:00
Ivan Belokobylskiy
25d4dd82a0 Bump aioymaps to 1.2.5 (#123005)
Bump aiomaps, fix sessionId parsing
2024-08-01 10:51:41 +02:00
epenet
d16a2fac80 Rename variable in async tests (#122996) 2024-08-01 09:20:21 +02:00
epenet
2fd3c42e63 Fix implicit-return in squeezebox (#122928) 2024-08-01 09:19:16 +02:00
Matrix
55e5428443 Fix yolink protocol changed (#122989) 2024-08-01 08:32:16 +02:00
J. Nick Koston
8375b58eac Update doorbird error notification to be a repair flow (#122987) 2024-08-01 08:31:22 +02:00
Franck Nijhof
352f0953f3 Skip binary wheels for pymicro-vad (#122982) 2024-08-01 01:00:17 +02:00
Franck Nijhof
bdd6f57975 Bump version to 2024.9.0dev0 (#122975) 2024-07-31 23:24:30 +02:00
Franck Nijhof
18afe07c16 Bump version to 2024.8.0b0 2024-07-31 22:38:50 +02:00
Michael Hansen
6baee603a5 Bump pymicro-vad to 1.0.1 (#122973) 2024-07-31 22:10:50 +02:00
Simon
5fefa606b6 Add ElevenLabs text-to-speech integration (#115645)
* Add ElevenLabs text-to-speech integration

* Remove commented out code

* Use model_id instead of model_name for elevenlabs api

* Apply suggestions from code review

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Use async client instead of sync

* Add ElevenLabs code owner

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Set entity title to voice

* Rename to elevenlabs

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Allow multiple voices and options flow

* Sort default voice at beginning

* Rework config flow to include default model and reloading on options flow

* Add error to strings

* Add ElevenLabsData and suggestions from code review

* Shorten options and config flow

* Fix comments

* Fix comments

* Add wip

* Fix

* Cleanup

* Bump elevenlabs version

* Add data description

* Fix

---------

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Michael Hansen <mike@rhasspy.org>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-07-31 21:31:09 +02:00
Mr. Bubbles
7bc2381a45 Add Pinecil virtual integration supported by IronOS (#122803) 2024-07-31 21:24:15 +02:00
Jack Gaino
2910369647 Optionally return response data when calling services through the API (#115046)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-07-31 21:00:04 +02:00
alexfp14
17f34b452e Add HVAC mode support for AtlanticPassAPCHeatPumpMainComponent (heati… (#122175)
Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
2024-07-31 20:52:32 +02:00
epenet
220f686078 Remove invalid type hint and assignment in number (#122906) 2024-07-31 20:51:24 +02:00
epenet
d878d744e7 Fix implicit-return in irish_rail_transport (#122916) 2024-07-31 20:50:31 +02:00
epenet
b31263b747 Fix implicit-return in itunes (#122917) 2024-07-31 20:50:11 +02:00
epenet
4a4209647e Fix implicit-return in humidifier (#122921) 2024-07-31 20:49:40 +02:00
epenet
9860109db9 Fix implicit-return in satel_integra (#122925) 2024-07-31 20:49:19 +02:00
epenet
b8ac86939b Fix implicit-return in smartthings (#122927) 2024-07-31 20:49:06 +02:00
epenet
9023d80d1b Fix implicit-return in twitter (#122931) 2024-07-31 20:48:51 +02:00
epenet
c702ffa7dd Fix implicit-return in uk_transport (#122932) 2024-07-31 20:48:30 +02:00
epenet
be8186126e Fix implicit-return in valve (#122933) 2024-07-31 20:47:48 +02:00
epenet
4fda025106 Fix implicit-return in wsdot (#122935) 2024-07-31 20:47:33 +02:00
J. Nick Koston
c7f863a141 Drop some unnecessary lambdas in powerwall (#122936) 2024-07-31 20:47:19 +02:00
epenet
4aacec2de7 Fix implicit-return in xiaomi (#122938) 2024-07-31 20:46:30 +02:00
epenet
a6aae4e857 Fix implicit-return in xiaomi_miio (#122939) 2024-07-31 20:45:48 +02:00
epenet
dde97a02f0 Fix implicit-return in xiaomi_aqara (#122940) 2024-07-31 20:45:29 +02:00
epenet
d393317eb2 Fix implicit-return in yamaha (#122942) 2024-07-31 20:45:10 +02:00
J. Nick Koston
2f3f124aa1 Drop unnecessary lambdas in the entity filter (#122941) 2024-07-31 20:44:47 +02:00
epenet
79a741486c Fix implicit-return in wyoming (#122946) 2024-07-31 20:42:57 +02:00
epenet
c0fe65fa60 Fix unnecessary-return-none in homematic (#122948) 2024-07-31 20:42:42 +02:00
J. Nick Koston
8de0e4ca7c Remove aiohappyeyeballs license exception (#122969) 2024-07-31 13:42:33 -05:00
epenet
7c179c33b5 Fix unnecessary-return-none in tradfri (#122950) 2024-07-31 20:42:19 +02:00
epenet
177690bcb3 Rename variable in sensor tests (#122954) 2024-07-31 20:42:05 +02:00
epenet
a23b3f84f0 Fix implicit-return in garadget (#122923) 2024-07-31 20:41:44 +02:00
Michael Hansen
d5388452d4 Use finished speaking detection in ESPHome/Wyoming (#122962) 2024-07-31 20:39:03 +02:00
Marcel van der Veldt
8a4206da99 Matter handle FeatureMap update (#122544) 2024-07-31 20:37:57 +02:00
Pete Sage
f1084a57df Fix Sonos media_player control may fail when grouping speakers (#121853) 2024-07-31 20:36:59 +02:00
Marcel van der Veldt
0189a05297 Extend Matter select entity (#122513) 2024-07-31 20:36:43 +02:00
Steven B.
7276b4b3ad Bump python-kasa to 0.7.1 (#122967) 2024-07-31 13:31:53 -05:00
epenet
93bcd413a7 Fix unnecessary-return-none in iotty (#122947) 2024-07-31 20:21:26 +02:00
epenet
bc25657f0a Fix unnecessary-return-none in telnet (#122949) 2024-07-31 20:21:04 +02:00
Steven B.
9db42beade Fix handling of tplink light effects for scenes (#122965)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-31 12:57:12 -05:00
Thomas55555
cc1a6d60c0 Add override for work areas in Husqvarna Automower (#120427)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-07-31 19:28:46 +02:00
G Johansson
a913587eb6 Climate validate temperature(s) out of range (#118649)
* Climate temperature out of range

* Fix test sensibo

* use temp converting for min/max

* Fix

* Fix mqtt tests

* Fix honeywell tests

* Fix Balboa tests

* Fix whirlpool test

* Fix teslemetry test

* Fix plugwise test

* Fix tplink test

* Fix generic thermostat test

* Fix modbus test

* Fix fritzbox tests

* Honewell
2024-07-31 19:17:53 +02:00
Louis Christ
ae9e8ca419 Simplify async_setup_entry in bluesound integration (#122874)
* Use async_added_to_hass and async_will_remove_from_hass

* Remove self._hass
2024-07-31 19:04:17 +02:00
epenet
69a8c5dc9f Fix implicit-return in hddtemp (#122919) 2024-07-31 18:44:36 +02:00
epenet
3f091470fd Use pytest.mark.usefixtures in risco tests (#122955) 2024-07-31 18:28:35 +02:00
Marcel van der Veldt
c888908cc8 Add default warning for installing matter device updates (#122597) 2024-07-31 18:23:40 +02:00
J. Nick Koston
172e2125f6 Switch to using update for headers middleware (#122952) 2024-07-31 18:17:45 +02:00
Michael
69f54656c4 Fix cleanup of orphan device entries in AVM Fritz!Box Tools (#122937)
* fix cleanup of orphan device entries

* add test for cleanup button
2024-07-31 17:58:11 +02:00
Bram Kragten
c359d4a419 Update frontend to 20240731.0 (#122956) 2024-07-31 17:53:52 +02:00
epenet
a1b8545568 Fix unnecessary-return-none in nest (#122951) 2024-07-31 17:13:53 +02:00
starkillerOG
8c0d9a1320 Add Reolink chime support (#122752) 2024-07-31 17:04:09 +02:00
Christopher Fenner
f764705629 Add support for ventilation device to ViCare (#114175)
* add ventilation program & mode

* add ventilation device

* Update climate.py

* Update climate.py

* Update climate.py

* Update climate.py

* Update climate.py

* Update const.py

* Create fan.py

* Update fan.py

* Update types.py

* add test case

* add translation key

* use translation key

* update snapshot

* fix ruff findings

* fix ruff findings

* add log messages to setter

* adjust test case

* reset climate entity

* do not display speed if not in permanent mode

* update snapshot

* update test cases

* add comment

* mark fan as always on

* prevent turning off device

* allow to set permanent mode

* make speed_count static

* add debug outputs

* add preset state translations

* allow permanent mode

* update snapshot

* add test case

* load programs only on init

* comment on ventilation modes

* adjust test cases

* add exception message

* ignore test coverage on fan.py

* Update test_fan.py

* simplify

* Apply suggestions from code review

* remove tests

* remove extra state attributes

* fix leftover

* add missing labels

* adjust label

* change state keys

* use _attr_preset_modes

* fix ruff findings

* fix attribute access

* fix from_ha_mode

* fix ruff findings

* fix mypy findings

* simplify

* format

* fix typo

* fix ruff finding

* Apply suggestions from code review

* change fan mode handling

* add test cases

* remove turn_off

* Apply suggestions from code review

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

* Apply suggestions from code review

* Update fan.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-07-31 16:23:27 +02:00
karwosts
3df78043c0 Add enable_millisecond to duration selector (#122821)
* Add enable_milliseconds to duration selector.

* One more test
2024-07-31 16:13:05 +02:00
epenet
97de1c2b66 Fix implicit-return in recorder (#122924) 2024-07-31 15:46:13 +02:00
Michael
f7f0f49015 Move lifespan attributes into own sensors for legacy Ecovacs bots (#122740)
* move available property to base entity class

* add lifespan sensors

* apply suggestion, simplify the method

* don't touch internals in tests

* apply suggestion

* apply suggestions
2024-07-31 15:36:57 +02:00
J. Nick Koston
a35fa0e95a Warn that the minimum SQLite version will change to 3.40.1 as of 2025.2 (#104298)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-07-31 08:13:04 -05:00
Kevin Stillhammer
cddb3bb668 Add reconfigure step for here_travel_time (#114667)
* Add reconfigure step for here_travel_time

* Add comments, reuse step_user, TYPE_CHECKING, remove defaults
2024-07-31 15:08:25 +02:00
epenet
e64e3c2778 Fix implicit-return in time_date (#122929) 2024-07-31 15:00:53 +02:00
epenet
5e1cca1c58 Fix implicit-return in shelly (#122926) 2024-07-31 14:54:52 +02:00
epenet
2f181cbe41 Fix implicit-return in vera (#122934) 2024-07-31 14:53:05 +02:00
epenet
e706ff0564 Fix implicit-return in transport_nsw (#122930) 2024-07-31 14:44:14 +02:00
Allen Porter
8d0e998e54 Improve conversation agent tracing to help with eval and data collection (#122542) 2024-07-31 14:38:44 +02:00
Allen Porter
4f5eab4646 Improve quality of ollama tool calling by repairing arguments (#122749)
* Improve quality of ollama function calling by repairing function call arguments

* Fix formatting of the tests

* Run ruff format on ollama conversation

* Add test for non-string arguments
2024-07-31 14:37:39 +02:00
Franck Nijhof
8b96c7873f Rename 'service' to 'action' in automations and scripts (#122845) 2024-07-31 14:36:53 +02:00
Allen Porter
f14471112d Improve LLM tool quality by more clearly specifying device_class slots (#122723)
* Limit intent / llm API device_class slots to only necessary services and limited set of values

* Fix ruff errors

* Run ruff format

* Fix typing and improve output schema

* Fix schema and improve flattening

* Revert conftest

* Revert recorder

* Fix ruff format errors

* Update using latest version of voluptuous
2024-07-31 14:36:02 +02:00
epenet
7c7b408df1 Fix implicit-return in homekit_controller (#122920) 2024-07-31 14:21:58 +02:00
epenet
3bf00822b0 Fix implicit-return in kodi (#122914) 2024-07-31 13:42:07 +02:00
Yuxin Wang
bf3a2cf393 Add graceful handling for LASTSTEST sensor in APCUPSD (#113125)
* Add handling for LASTSTEST sensor

* Set the state to unknown instead of unavailable

* Use LASTSTEST constant and revise the logic to add it to the entity list

* Use LASTSTEST constant
2024-07-31 13:01:48 +02:00
Maikel Punie
c8dccec956 Bump velbusaio to 2024.07.06 (#122905)
bumpo velbusaio to 2024.07.06
2024-07-31 12:48:08 +02:00
epenet
ed9c4e0c0d Fix implicit-return in landisgyr_heat_meter (#122912) 2024-07-31 12:41:10 +02:00
epenet
cd552ceb2b Fix implicit-return in mystrom (#122911) 2024-07-31 12:40:48 +02:00
epenet
c4398efbbb Fix implicit-return in meteo_france (#122910) 2024-07-31 12:40:30 +02:00
epenet
8b1a527602 Fix implicit-return in meraki (#122909) 2024-07-31 12:39:59 +02:00
epenet
01f41a597e Fix implicit-return in melissa (#122908) 2024-07-31 12:39:39 +02:00
epenet
c32f1efad0 Fix implicit-return in maxcube (#122907) 2024-07-31 12:39:21 +02:00
epenet
47c96c52b1 Fix implicit-return in niko_home_control (#122904) 2024-07-31 12:39:01 +02:00
epenet
dbdb148e12 Fix implicit-return in plaato (#122902) 2024-07-31 12:38:36 +02:00
epenet
6a45124878 Fix implicit-return in qnap (#122901) 2024-07-31 12:38:15 +02:00
Diogo Gomes
02d4d1a75b Adds new sensors and configuration entities to V2C Trydan (#122883)
* Adds new controls and sensors

* update snapshot

* Update homeassistant/components/v2c/strings.json

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>

* Add unit

* move icons to icons.json

* update snapshot

* missing translation fix

---------

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
2024-07-31 12:31:35 +02:00
Alex MF
233c04a469 Add number entity for Ecovacs mower cut direction (#122598) 2024-07-31 12:22:07 +02:00
epenet
8b4f607806 Fix implicit-return in plant (#122903) 2024-07-31 11:39:51 +02:00
Diogo Gomes
68f06e63e2 Bump pytrydan to 0.8.0 (#122898)
bump pytrydan to 0.8.0
2024-07-31 10:32:13 +01:00
Matthias Alphart
67ed8b207a KNX: use xknx 3.0.0 eager telegram decoding (#122896)
* Use KNX xknx 3.0.0 eager telegram decoding

* review suggestion
2024-07-31 11:08:05 +02:00
Erik Montnemery
222011fc5c Log tests in test group (#122892)
* Log tests in test group

* Simplify print
2024-07-31 10:36:46 +02:00
Erik Montnemery
f6f7459c36 Add support for login credentials to homeworks (#122877)
* Add support for login credentials to homeworks

* Store credentials in config entry data
2024-07-31 10:35:05 +02:00
Franck Nijhof
718bc61c88 Merge branch 'master' into dev 2024-07-31 10:31:28 +02:00
Paarth Shah
015a1a6ebc Fix blocking event loop call in matrix (#122730)
Wrap load_json_object in async_add_executor_job
2024-07-31 09:45:30 +02:00
Paarth Shah
e0a1aaa1b9 Fix matrix blocking call by running sync_forever in background_task (#122800)
Fix blocking call by running sync_forever in background_task
2024-07-31 09:44:59 +02:00
Michael Hansen
7f4dabf546 Switch from WebRTC to microVAD (#122861)
* Switch WebRTC to microVAD

* Remove webrtc-noise-gain from licenses
2024-07-31 09:42:45 +02:00
Denis Shulyaka
beb2ef121e Update todo intent slot schema (#122335)
* Update todo intent slot schema

* Update intent.py

* ruff
2024-07-31 09:37:55 +02:00
Denis Shulyaka
5a04d982d9 Bump ollama to 0.3.1 (#122866) 2024-07-31 09:35:45 +02:00
David Bonnes
35bfd0b88f Evohome drops use of async_call_later to avoid lingering task (#122879)
initial commit
2024-07-31 09:35:21 +02:00
Matthias Alphart
9351f300b0 Update xknx to 3.0.0 - more DPT definitions (#122891)
* Support DPTComplex objects and validate sensor types

* Gracefully start and stop xknx device objects

* Use non-awaitable XknxDevice callbacks

* Use non-awaitable xknx.TelegramQueue callbacks

* Use non-awaitable xknx.ConnectionManager callbacks

* Remove unnecessary `hass.async_block_till_done()` calls

* Wait for StateUpdater logic to proceed when receiving responses

* Update import module paths for specific DPTs

* Support Enum data types

* New HVAC mode names

* HVAC Enums instead of Enum member value strings

* New date and time devices

* Update xknx to 3.0.0

* Fix expose tests and DPTEnumData check

* ruff and mypy fixes
2024-07-31 09:10:36 +02:00
Thomas55555
0d678120e4 Bump aioautomower to 2024.7.3 (#121983)
* Bump aioautomower to 2024.7.0

* tests

* Bump to 2024.7.1

* bump to 2024.7.2

* use timezone Europe/Berlin

* bump to 2024.7.3

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-07-31 08:28:39 +02:00
Lukas Kolletzki
5766ea9541 Add generic URL handler to blueprint importer (#110576)
* Add generic url handler to blueprint importer

* Update tests/components/blueprint/test_importer.py

* Update tests/components/blueprint/test_importer.py

* Update test_importer.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-07-31 08:26:57 +02:00
Erik Montnemery
6d8bc84db3 Allow [##:##:##:##:##] type device address in homeworks (#122872)
* Allow [##:##:##:##:##] type device address in homeworks

* Simplify regex
2024-07-31 08:02:15 +02:00
J. Nick Koston
823910b69e Bump ulid-transform to 0.13.1 (#122884)
* Bump ulid-transform to 0.13.0

changelog: https://github.com/bdraco/ulid-transform/compare/v0.10.1...v0.13.0

* Bump ulid-transform to 0.13.1
2024-07-31 07:20:09 +02:00
J. Nick Koston
aa801d9cc6 Bump bluetooth-data-tools to 1.19.4 (#122886) 2024-07-30 18:20:55 -05:00
Jeef
067acce4de Add SimpleFin sensor to show age of data (#122550) 2024-07-30 23:42:10 +02:00
J. Nick Koston
6999c6b0cf Bump aiohttp to 3.10.0 (#122880) 2024-07-30 16:40:38 -05:00
Michael Hansen
da18aae2d8 Bump intents to 2024.7.29 (#122811) 2024-07-30 15:27:16 -05:00
Erik Montnemery
6362ca1052 Bump pyhomeworks to 1.1.0 (#122870) 2024-07-30 21:52:25 +02:00
Bill Flood
022e1b0c02 Add other medium types to Mopeka sensor (#122705)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-30 14:07:12 -05:00
Erik Montnemery
94c0b9fc06 Bump pyhomeworks to 1.0.0 (#122867) 2024-07-30 19:39:53 +02:00
Robert Svensson
5eff4f9816 Unifi improve fixture typing (#122864)
* Improve typing of UniFi fixtures

* Improve fixture typing, excluding image, sensor, switch

* Improve fixture typing in image tests

* Improve fixtures typing in sensor tests

* Improve fixture typing in switch tests

* Fix review comment
2024-07-30 19:33:25 +02:00
Erik Montnemery
fb229fcae8 Improve test coverage of the homeworks integration (#122865)
* Improve test coverage of the homeworks integration

* Revert changes from the future

* Revert changes from the future
2024-07-30 18:40:36 +02:00
Mr. Bubbles
50b35ac4bc Add number platform to IronOS integration (#122801)
* Add setpoint temperature number entity to IronOS integration

* Add tests for number platform

* Initialize settings in coordinator

* Remove unused code
2024-07-30 18:14:01 +02:00
Simon Hörrle
ea727546d6 Add apsystems power switch (#122447)
* bring back power switch

* fix pylint issues

* add SWITCH to platform list

* improve run_on and turn_off functions

* ruff formatting

* replace _state with _attr_is_on

* Update homeassistant/components/apsystems/switch.py

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

* remove unused dependencies

* Update homeassistant/components/apsystems/switch.py

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

* use async functions from api

* convert Api IntEnum Status Information to bool

* add translation key

* implement async_update again

* replace finally with else

* better handling of bool value

* Update homeassistant/components/apsystems/switch.py

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

* Update homeassistant/components/apsystems/switch.py

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

* rename power switch to inverter switch

* add test_number and test_switch module

* remove test_number

* Add mock entry for get_device_power_status

* Add mock entry for get_device_power_status

* Update test snapshots

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-30 18:11:08 +02:00
bdowden
18a7d15d14 Add Traffic Rule switches to UniFi Network (#118821)
* Add Traffic Rule switches to UniFi Network

* Retrieve Fix unifi traffic rule switches

Poll for traffic rule updates; have immediate feedback in the UI for modifying traffic rules

* Remove default values for unifi entity; Remove unnecessary code

* Begin updating traffic rule unit tests

* For the mock get request, allow for meta and data properties to not be appended to support v2 api requests

Fix traffic rule unit tests;

* inspect path to determine json response instead of passing an argument

* Remove entity id parameter from tests; remove unused code; rename traffic rule unique ID prefix

* Remove parameter with default.

* More code removal;

* Rename copy/paste variable; remove commented code; remove duplicate default code

---------

Co-authored-by: ViViDboarder <ViViDboarder@gmail.com>
2024-07-30 17:26:08 +02:00
Denis Shulyaka
be24475cee Update selector converters for llm script tools (#122830) 2024-07-30 08:24:03 -07:00
epenet
8066c7dec6 Fix implicit-return in deconz (#122836) 2024-07-30 17:21:45 +02:00
Kim de Vos
896cd27bea Add sensors for Unifi latency (#116737)
* Add sensors for Unifi latency

* Add needed guard and casting

* Use new types

* Add WAN2 support

* Add literals

* Make ids for WAN and WAN2 unique

* Make methods general

* Update sensor.py

* add more typing

* Simplify usage make_wan_latency_sensors

* Simplify further

* Move latency entity creation to method

* Make method internal

* simplify tests

* Apply feedback

* Reduce boiler copied code and add support function

* Add external method for share logic between

* Remove none

* Add more tests

* Apply feedback and change code to improve code coverage
2024-07-30 17:20:56 +02:00
David Bonnes
1ffde403f0 Ensure evohome leaves no lingering timers (#122860) 2024-07-30 17:18:33 +02:00
Guido Schmitz
b69b927795 Set parallel updates in devolo_home_network (#122847) 2024-07-30 17:17:20 +02:00
Erik Montnemery
6840f27bc6 Verify respx mock routes are cleaned up when tests finish (#122852) 2024-07-30 17:12:58 +02:00
epenet
4a34855a92 Fix implicit-return in scripts (#122831) 2024-07-30 16:57:42 +02:00
Joakim Plate
b3f7f379df Upgrade dsmr-parser to 1.4.2 (#121929) 2024-07-30 16:51:02 +02:00
Marius
4994e46ad0 Add mdi:alert-circle-outline to degrade status (#122859) 2024-07-30 16:44:04 +02:00
Erik Montnemery
1382f7a3dc Fix generic IP camera tests affecting other tests (#122858) 2024-07-30 16:29:59 +02:00
Erik Montnemery
b973455037 Fix template image test affecting other tests (#122849) 2024-07-30 16:28:55 +02:00
Thomas55555
a5136a1021 Speed up slow tests in Husqvarna Automower (#122854) 2024-07-30 16:27:58 +02:00
Erik Montnemery
d9e996def5 Fix template binary sensor test (#122855) 2024-07-30 16:18:47 +02:00
Erik Montnemery
224228e448 Fix Axis tests affecting other tests (#122857) 2024-07-30 16:16:33 +02:00
epenet
c8372a3aa5 Fix implicit-return in ecobee (#122832) 2024-07-30 15:33:57 +02:00
epenet
2135691b90 Fix implicit-return in dublin bus transport (#122833) 2024-07-30 15:33:05 +02:00
epenet
ea508b2629 Fix implicit-return in dialogflow (#122834) 2024-07-30 15:32:29 +02:00
epenet
09cd79772f Fix implicit-return in airtouch4 (#122839) 2024-07-30 15:29:53 +02:00
epenet
7b5db6521c Fix implicit-return in advantage_air (#122840) 2024-07-30 15:29:23 +02:00
epenet
27eba3cd46 Fix implicit-return in fixer (#122841) 2024-07-30 15:24:35 +02:00
epenet
41c7414d97 Fix implicit-return in forked_daapd (#122842) 2024-07-30 15:23:53 +02:00
epenet
fd7c92879c Fix implicit-return in foursquare (#122843) 2024-07-30 15:23:04 +02:00
Sébastien Clément
e7971f5a67 Fix qbittorent current_status key in strings.json (#122848) 2024-07-30 15:03:36 +02:00
epenet
72f9d85bbe Fix implicit-return in whirlpool tests (#122775) 2024-07-30 14:57:43 +02:00
Matthias Alphart
956cc6a85c Add UI to create KNX switch and light entities (#122630)
Update KNX frontend to 2024.7.25.204106
2024-07-30 13:54:44 +02:00
epenet
015c50bbdb Fix implicit-return in ddwrt (#122837) 2024-07-30 14:44:11 +03:00
epenet
b6f0893c33 Fix implicit-return in denon (#122835) 2024-07-30 13:05:38 +02:00
Luke Wale
7c92287f97 Add Airtouch5 cover tests (#122769)
add airtouch5 cover tests
2024-07-30 12:34:49 +02:00
Kristof Mariën
53a59412bb Add Foscam sleep switch (#109491)
* Add sleep switch

* Replace awake with sleep switch
2024-07-30 11:34:30 +02:00
Sébastien Clément
d78acd480a Add QBittorent switch to control alternative speed (#107637)
* Fix key in strings.json for current_status in QBittorrent

* Add switch on QBittorent to control alternative speed

* Add switch file to .coveragerc

* Fix some typo

* Use coordinator for switch

* Update to mach new lib

* Import annotation

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

* Remove quoted coordinator

* Revert "Fix key in strings.json for current_status in QBittorrent"

This reverts commit 962fd0474f.

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-07-30 11:23:55 +02:00
Franck Nijhof
17930a6d66 2024.7.4 (#122770) 2024-07-30 11:12:45 +02:00
Bruno Pantaleão Gonçalves
d825ac346e Add 'use_custom_colors' to iOS Action configuration (#122767) 2024-07-30 11:00:08 +02:00
Denis Shulyaka
fa53055485 Bump voluptuous-openapi (#122828) 2024-07-30 10:57:56 +02:00
epenet
b4cba01870 Fix implicit-return in command_line (#122838) 2024-07-30 10:17:01 +02:00
Robert Svensson
70e368a57e Use snapshot in Axis switch tests (#122680) 2024-07-30 07:14:56 +02:00
David F. Mulcahey
004eccec89 Fix supported_features for ZHA fans (#122813) 2024-07-30 02:10:02 +02:00
David F. Mulcahey
36c01042c1 Enhance ZHA device removal (#122815) 2024-07-30 02:08:21 +02:00
David F. Mulcahey
bd3f0da385 Bump ZHA lib to 0.0.24 and universal-silabs-flasher to 0.0.22 (#122812)
* Bump ZHA lib to 0.0.24

* update for node state change for coordinator data

* bump flasher
2024-07-29 18:16:54 -04:00
Louis Christ
9450744b3b Add device _info to bluesound integration (#122795)
* Add device_info

* Use _attr_unique_id instead of custom methode

* Use different DeviceInfo if port is not DEFAULT_PORT

* Remove name method; Add has_entity_name=True

* Remove self._name completely

* move _attr_has_entity_name and _attr_name out of __init__

* log error if status update fails

* use error for remaining info logs
2024-07-29 23:11:51 +02:00
J. Nick Koston
1c03c83c0a Fix blocking stat() via is_file in image_upload (#122808) 2024-07-29 22:38:58 +02:00
epenet
fdab23c3f9 Fix implicit-return in test schema extractions (#122787) 2024-07-29 22:16:00 +02:00
epenet
7b08e625b4 Fix implicit-return in websocket_api tests (#122779) 2024-07-29 22:14:41 +02:00
epenet
2102a104d2 Adjust DOMAIN imports in homeassistant integration (#122774) 2024-07-29 22:14:05 +02:00
J. Nick Koston
3e1aee4cbc Remove unused constant in august (#122804) 2024-07-29 15:13:39 -05:00
Milan Meulemans
b5b01d97f1 Add support for ASIN Pool devices to ASEKO (#122773) 2024-07-29 22:12:34 +02:00
epenet
02581bbf02 Enforce HOMEASSISTANT_DOMAIN alias for core DOMAIN (#122763) 2024-07-29 22:10:44 +02:00
epenet
4ac85829c8 Fix implicit-return in season tests (#122784) 2024-07-29 22:09:40 +02:00
Robert Resch
ad50136dbd Add created_at/modified_at to config entries (#122456) 2024-07-29 22:08:46 +02:00
Markus Jacobsen
20c4f84a4e Fix incorrect Bang & Olufsen MDNS announcements (#122782) 2024-07-29 22:04:54 +02:00
epenet
bf38db0035 Fix implicit-return in surepetcare tests (#122785) 2024-07-29 22:03:44 +02:00
epenet
b8c363a82c Fix implicit-return in tplink_omada tests (#122776) 2024-07-29 22:03:14 +02:00
epenet
9393dcddb7 Fix implicit-return in nx584 tests (#122788) 2024-07-29 21:59:59 +02:00
epenet
5b434ee336 Fix implicit-return in xiaomi tests (#122778) 2024-07-29 21:58:03 +02:00
epenet
6ba6334512 Fix implicit-return in enigma2 tests (#122790) 2024-07-29 21:57:35 +02:00
J. Nick Koston
8de7a2e3c7 Bump aiohttp to 3.10.0rc0 (#122793) 2024-07-29 21:55:22 +02:00
epenet
197ac8b950 Fix implicit-return in netatmo tests (#122789) 2024-07-29 21:53:22 +02:00
epenet
1958a149c3 Fix implicit-return in ipma tests (#122791) 2024-07-29 21:52:47 +02:00
epenet
7bbbda8d2b Fix implicit-return in sonos tests (#122780) 2024-07-29 21:52:15 +02:00
epenet
5d87a74c3c Fix implicit-return in unifiprotect tests (#122781) 2024-07-29 21:50:45 +02:00
puddly
1f488b00f8 Abstract SkyConnect firmware config flow to the hardware platform (#122140)
* Move the SkyConnect config flow to hardware;

* Clean up

* Get SkyConnect unit tests passing

* Split apart `test_util.py`

* Migrate `test_config_flow`

* Remove unnecessary constants

* Re-apply `contextmanager` typing from #122250

* Move the SkyConnect translation strings into hardware
2024-07-29 12:39:25 -04:00
epenet
570725293c Fix implicit-return in arcam_fmj tests (#122792) 2024-07-29 17:13:31 +02:00
Christian Neumeier
732b9e47c8 Add missing variable 'energy_today' to Zeversolar diagnostics. (#122786)
added var 'energy_today' to zeversolar diagnostics.
2024-07-29 16:48:58 +02:00
Erik Montnemery
ea75c8864f Remove support for live schema migration of old recorder databases (#122399)
* Remove support for live schema migration of old recorder databases

* Update test
2024-07-29 15:52:18 +02:00
epenet
9514a38320 Fix implicit-return rule in zha tests (#122772) 2024-07-29 15:22:08 +02:00
Bram Kragten
d94e79d57a Add Macedonian language (#122768) 2024-07-29 14:49:34 +02:00
Franck Nijhof
02c592d6af Bump version to 2024.7.4 2024-07-29 14:40:02 +02:00
J. Nick Koston
d51d584aed Retry later on OSError during apple_tv entry setup (#122747) 2024-07-29 14:39:27 +02:00
G Johansson
e5fd9819da Return unknown when data is missing in Trafikverket Weather (#122652)
Return unknown when data is missing
2024-07-29 14:23:09 +02:00
Marcel van der Veldt
00c3b0d888 Bump aiohue to version 4.7.2 (#122651) 2024-07-29 14:23:06 +02:00
Robert Resch
aa44c54a19 Bump deebot-client to 8.2.0 (#122612) 2024-07-29 14:23:02 +02:00
Avi Miller
9940d0281b Bump aiolifx to 1.0.6 (#122569) 2024-07-29 13:48:19 +02:00
Andrew Jackson
586a0b12ab Fix target service attribute on Mastodon integration (#122546)
* Fix target

* Fix
2024-07-29 13:48:16 +02:00
Marcel van der Veldt
75f0384a15 Fix typo in Matter lock platform (#122536) 2024-07-29 13:48:13 +02:00
Denis Shulyaka
56f51d3e35 Fix gemini api format conversion (#122403)
* Fix gemini api format conversion

* add tests

* fix tests

* fix tests

* fix coverage
2024-07-29 13:48:10 +02:00
starkillerOG
7135a919e3 Bump reolink-aio to 0.9.5 (#122366) 2024-07-29 13:48:06 +02:00
Denis Shulyaka
9d6bd359c4 Ensure script llm tool name does not start with a digit (#122349)
* Ensure script tool name does not start with a digit

* Fix test name
2024-07-29 13:48:03 +02:00
Denis Shulyaka
f739644735 Goofle Generative AI: Fix string format (#122348)
* Ignore format for string tool args

* Add tests
2024-07-29 13:48:00 +02:00
Christopher Fenner
b63bc72450 Fix device class on sensor in ViCare (#122334)
update device class on init
2024-07-29 13:47:57 +02:00
Alexander Schneider
683069cb98 Add Z-Wave discovery schema for ZVIDAR roller shades (#122332)
Add discovery schema for ZVIDAR roller shades
2024-07-29 13:47:53 +02:00
Jan Bouwhuis
cf20e67f1f Ensure mqtt subscriptions are in a set (#122201) 2024-07-29 13:47:50 +02:00
Maciej Bieniek
74d10b9824 Bump aiotractive to 0.6.0 (#121155)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-29 13:47:46 +02:00
Mick Vleeshouwer
61d4bc1430 Fix device class of water consumption sensor in Overkiz (#122766)
Fixes #118959
2024-07-29 13:38:58 +02:00
epenet
07c7bb8b2a Use HOMEASSISTANT_DOMAIN alias for core DOMAIN (#122760) 2024-07-29 13:35:36 +02:00
epenet
9ce7779bde Use correct constant in rest tests (#122765) 2024-07-29 12:59:57 +02:00
epenet
9e10126505 Revert "Small refactor to cleanup unnecessary returns (#121653)" (#122756) 2024-07-29 12:59:25 +02:00
Pete Sage
cfef72ae57 Add Sonos tests for media_player volume (#122283) 2024-07-29 12:56:26 +02:00
Andrew Jackson
86bfc7ada8 Remove UE Smart Radio integration (#122578) 2024-07-29 12:52:37 +02:00
Rami Mosleh
0de75aeee1 Wait for initial scan to finish before setting up platforms (#122360) 2024-07-29 12:52:01 +02:00
epenet
075550b7ba Use HOMEASSISTANT_DOMAIN alias for core DOMAIN in tests (#122762) 2024-07-29 12:51:12 +02:00
Allen Porter
e5bb1b2cc6 Update LLM prompt to improve quality for local LLMs (#122746) 2024-07-29 12:04:23 +02:00
Marcel van der Veldt
85aca4f095 Fix default turn_on without explicit preset or percentage in Matter Fan platform (#122591) 2024-07-29 12:03:40 +02:00
Richard Kroegel
745eea9a29 Bump bimmer_connected to 0.16.1 (#122699)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-07-29 12:02:47 +02:00
J. Nick Koston
d586e7df33 Retry later on OSError during apple_tv entry setup (#122747) 2024-07-29 11:59:31 +02:00
Marcel van der Veldt
6d4711ce43 Bump aiohue to version 4.7.2 (#122651) 2024-07-29 11:59:13 +02:00
Erik Montnemery
8a84addc54 Add test of recorder platform with statistics support (#122754)
* Add test of recorder platform with statistics support

* Remove excessive line breaks
2024-07-29 11:57:53 +02:00
J. Nick Koston
1879db9f8f Revert to using call_soon for event triggers and state changed event trackers (#122735) 2024-07-29 11:45:39 +02:00
Alexey ALERT Rubashёff
869ec3f670 Bump pyOverkiz to 1.13.14 (#122691) 2024-07-29 11:44:28 +02:00
Mr. Bubbles
70df4ca461 Integration for IronOS (Pinecil V2) soldering irons (#120802)
* Add Pinecil integration

* Refactor with new library

* Add tests for config flow, remove unused code

* requested changes

* update requirements

* Move some sensor values to diagnostics, add tests for sensors

* User service uuid in discovery

* fix manufacturer name

* Bump pynecil to version 0.2.0

* Rename integration to IronOS

* Recreate snapshot

* Update strings

* type checking

* Update snapshot

* Add async_setup to coordinator

* Show device id with serial number

* Added missing boost to operation mode states

* remove super call

* Refactor

* tests
2024-07-29 11:44:01 +02:00
Robert Svensson
06ee8fdd47 Do not use get_hub in deCONZ tests (#122706) 2024-07-29 11:43:04 +02:00
Erik Montnemery
5467685bd8 Adjust warning message when recorder is doing offline migration (#122509)
* Adjust warning message when recorder is doing offline migration

* Address review comments
2024-07-29 11:38:36 +02:00
Erik Montnemery
efaf75f2e6 Rename recorder INTEGRATION_PLATFORMS_RUN_IN_RECORDER_THREAD (#122758) 2024-07-29 11:38:21 +02:00
J. Nick Koston
ca430f0e7b Add coverage for fixing missing params in the doorbird schedule (#122745) 2024-07-29 11:36:44 +02:00
danielsmyers
fa61ad072d Add Bryant Evolution Integration (#119788)
* Add an integration for Bryant Evolution HVAC systems.

* Update newly created tests so that they pass.

* Improve compliance with home assistant guidelines.

* Added tests

* remove xxx

* Minor test cleanups

* Add a test for reading HVAC actions.

* Update homeassistant/components/bryant_evolution/__init__.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/bryant_evolution/climate.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/bryant_evolution/climate.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/bryant_evolution/climate.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/bryant_evolution/climate.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/bryant_evolution/climate.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/bryant_evolution/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Address reviewer comments.

* Address additional reviewer comments.

* Use translation for exception error messages.

* Simplify config flow.

* Continue addressing comments

* Use mocking rather than DI to provide a for-test client in tests.

* Fix a failure in test_config_flow.py

* Track host->filename in strings.json.

* Use config entry ID for climate entity unique id

* Guard against fan mode returning None in async_update.

* Move unavailable-client check from climate.py to init.py.

* Improve test coverage

* Bump evolutionhttp version

* Address comments

* update comment

* only have one _can_reach_device fn

* Auto-detect which systems and zones are attached.

* Add support for reconfiguration

* Fix a few review comments

* Introduce multiple devices

* Track evolutionhttp library change that returns additional per-zone information during enumeration

* Move construction of devices to init

* Avoid triplicate writing

* rework tests to use mocks

* Correct attribute name to unbreak test

* Pull magic tuple of system-zone into a constant

* Address some test comments

* Create test_init.py

* simplify test_reconfigure

* Replace disable_auto_entity_update with mocks.

* Update tests/components/bryant_evolution/test_climate.py

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

* Update tests/components/bryant_evolution/test_climate.py

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

* Update tests/components/bryant_evolution/test_config_flow.py

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

* Update homeassistant/components/bryant_evolution/config_flow.py

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

* Update tests/components/bryant_evolution/test_config_flow.py

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

* Update tests/components/bryant_evolution/test_config_flow.py

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

* fix test errors

* do not access runtime_data in tests

* use snapshot_platform and type fixtures

---------

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-29 11:25:04 +02:00
Michael
686598b6b3 Don't block HA startup while set up legacy Ecovacs bot (#122732)
wait for connection in background
2024-07-29 11:24:14 +02:00
Erik Montnemery
5f5dcec0b9 Revert unneeded type annotation in the api integration (#122757) 2024-07-29 10:57:49 +02:00
Erik Montnemery
2a5cb8da32 Fix copy-paste errors in alarm_control_panel tests (#122755) 2024-07-29 10:57:34 +02:00
Erik Montnemery
9b497aebb4 Fix bug in timeout util related to multiple global freezes (#122466) 2024-07-29 10:12:18 +02:00
dependabot[bot]
5f08883227 Bump github/codeql-action from 3.25.14 to 3.25.15 (#122753)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-29 09:58:15 +02:00
Denis Shulyaka
4b2073ca59 Add LLM tools support for Ollama (#120454)
* Add LLM tools support for Ollama

* fix tests

* coverage

* Separate call for tool parameters

* Fix example

* hint on parameters schema if LLM forgot to request it

* Switch to native tool call functionality

* Fix tests

* Fix tools list

* update strings and default model

* Ignore mypy error until fixed upstream

* Ignore mypy error until fixed upstream

* Add missing prompt part

* Update default model
2024-07-28 18:19:53 -07:00
Louis Christ
f98487ef18 Add config_flow to bluesound integration (#115207)
* Add config flow to bluesound

* update init

* abort flow if connection is not possible

* add to codeowners

* update unique id

* add async_unload_entry

* add import flow

* add device_info

* add zeroconf

* fix errors

* formatting

* use bluos specific zeroconf service type

* implement requested changes

* implement requested changes

* fix test; add more tests

* use AsyncMock assert functions

* fix potential naming collision

* move setup_services back to media_player.py

* implement requested changes

* add port to zeroconf flow

* Fix comments

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-07-28 20:48:20 +02:00
starkillerOG
dff964582b Bump reolink-aio to 0.9.6 (#122738) 2024-07-28 19:47:37 +02:00
Arie Catsman
e5c36c8d56 Refactor asserts in enphase_envoy test_sensor (#122726)
refactor asserts in enphase_envoy test_sensor
2024-07-28 16:36:36 +02:00
Michael
d765b92cca Unsubscribe event listeners on remove of Ecovacs legacy bot entities (#122731)
* unsubscribe on entity remove, create base EcovacsLegacyEntity

* fix name and model in device info

* apply suggestion

* add manufacturer to device info

* fix device info
2024-07-28 15:01:34 +02:00
J. Nick Koston
ba266ab13c Add coverage for calling doorbird webhook with the wrong token (#122700) 2024-07-28 07:11:56 -05:00
Bill Flood
d4aa981fd7 Bump mopeka-iot-ble to version 0.8.0 (#122717) 2024-07-28 07:07:00 -05:00
dependabot[bot]
ac0d0b21e2 Bump github/codeql-action from 3.25.13 to 3.25.14 (#122632) 2024-07-28 11:50:00 +02:00
Michael
092ab823d1 Add device info for legacy Ecovacs bots (#122671)
* add device info

* add tests
2024-07-28 11:06:32 +02:00
Phill (pssc)
3ad2456dd9 Add yamaha platform retry if receiver unavailable at setup (#122679)
* Add platform retry if recieiver unavailable at setup

* Fix Excpetion handling after testing
2024-07-28 10:39:41 +02:00
Avi Miller
146ec4e760 Create theme select entities on matrix devices (#122695)
Signed-off-by: Avi Miller <me@dje.li>
2024-07-28 10:28:42 +02:00
Jafar Atili
f563817b98 Bump pyElectra to 1.2.4 (#122724)
* Bump PyElectra to 1.2.3

* one more thing

* Bump PyElectra to 1.2.4

* fixed pyElectra license
2024-07-28 10:18:21 +02:00
Sid
ec15a66a68 Bump ruff to 0.5.5 (#122722) 2024-07-28 09:37:38 +02:00
Jafar Atili
e708e30c33 Bump pyswitchbee to 1.8.3 (#122713)
* Bump pyswitchbee to 1.8.3

* fix license
2024-07-27 23:11:42 +02:00
J. Nick Koston
383dd80919 Bump aiohomekit to 3.2.1 (#122704) 2024-07-27 12:13:11 -05:00
Robert Svensson
6752bd450b Use snapshot in Axis light tests (#122703) 2024-07-27 17:41:42 +02:00
Arie Catsman
b0780e1db5 Remove conditions from enphase_envoy test_switch (#122693) 2024-07-27 14:32:37 +02:00
Joakim Plate
02a5df0aee Update nibe library to 2.11.0 (#122697)
Update nibe library to 2.11.0 with changes

Addition of BT71 for F1155/F1255
Addition of climate zones for S1155/S1255
Include log information on incomplete reads
Correct fan speeds from being a percentage to a mapping on F series pumps
Corrections for airflow units
Let denied alarm resets writes be considered as a valid connection on setup
2024-07-27 14:01:58 +02:00
Andrew Jackson
cb4a48ca02 Migrate Mastodon integration to config flow (#122376)
* Migrate to config flow

* Fixes & add code owner

* Add codeowners

* Import within notify module

* Fixes from review

* Fixes

* Remove config schema
2024-07-27 13:07:02 +02:00
Luke Wale
64f997718a Add AirTouch5 cover (#122462)
* AirTouch5 - add cover

Each zone has a damper that can be controlled as a cover.

* remove unused assignment

* remove opinionated feature support

* Revert "remove unused assignment"

This reverts commit b4205a60a22ae3869436229b4a45547348496d39.

* ruff formatting changes

* git push translation and refactor
2024-07-27 12:36:48 +02:00
J. Nick Koston
482cf261c0 Small speedups to unifi (#122684)
- Use a set for event_is_on to avoid linear search
- Avoid many duplicate property lookups
2024-07-27 10:19:53 +02:00
J. Nick Koston
1a5706a693 Cache unifi device_tracker properties that never change (#122683) 2024-07-27 10:14:40 +02:00
Phill (pssc)
13c320902e Fix yamaha uid where host in config is defined (#122676)
Fix for uid where host in config is defined
2024-07-27 08:23:41 +02:00
Joost Lekkerkerker
bfbd01a4e5 Add typing to Comfoconnect (#122669) 2024-07-27 08:07:36 +02:00
SplicedNZ
09622e180e Add virtual integraion for "Mercury NZ Limited" (opower) (#122650)
* Add virtual integraion for "Mercury NZ Limited" and bump opower version requirement

* revert opower version bump, fix newlines

* Update name
2024-07-26 20:00:01 -07:00
Phill (pssc)
84486bad78 Yamaha device setup enhancement with unique id based on serial (#120764)
* fix server unavailale at HA startup Fixes #111108

Remove receiver zone confusion for mediaplayer instances
fix uniq id based on serial where avaialble
get serial suppiled by discovery for config entries.

* Fix linter errors

* ruff format

* Enhance debug to find setup code path for tests

* Enhance debug to find setup code path for tests

* Fix formatting

* Revered uid chanages as not needed yet and cuases other issues

* Revert "Fix formatting"

This reverts commit f3324868d2.

* Fix formatting

* Refector tests to cope with changes to plaform init to get serial numbers

* Update test patch

* Update test formatting

* remove all fixes revert code to only make clear we deal with zones and improve debuging
2024-07-26 23:36:34 +02:00
Robert Svensson
c486baccaa Patch import where its used in Axis hub test (#122674) 2024-07-26 23:33:37 +02:00
David Bonnes
57554aba57 Fix broken token caching for evohome (#122664)
* bugfix token caching
2024-07-26 21:28:58 +01:00
Álvaro Fernández Rojas
c9eb1a2e9c Fix Airzone Cloud WebServer memory usage unit (#122670)
airzone_cloud: sensor: fix webserver memory usage unit

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-07-26 21:59:16 +02:00
Álvaro Fernández Rojas
1a64489121 Add Airzone Cloud low thermostat battery binary sensor (#122665)
airzone_cloud: binary_sensor: add low thermostat battery

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-07-26 21:36:39 +02:00
Álvaro Fernández Rojas
888ffc002f Add Airzone Cloud WebServer CPU/Memory sensors (#122667)
airzone_cloud: sensor: add WebServer CPU/Memory

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-07-26 21:36:21 +02:00
Robert Svensson
58419f14e8 Less use of hass.data[DECONZ_DOMAIN] in deCONZ tests (#122657)
* Less use of hass.data[DECONZ_DOMAIN] in deCONZ tests

* Fix review comment

* Change patch path
2024-07-26 20:58:00 +02:00
Álvaro Fernández Rojas
57a5c7c8b6 Update aioairzone-cloud to v0.6.1 (#122661)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-07-26 20:41:31 +02:00
SplicedNZ
b2b40d9ed6 Bump opower to 6.0.0 (#122658)
* Bump opower to 0.6.0

* Bump opower to 0.6.0
2024-07-26 20:19:58 +02:00
J. Nick Koston
8e578227c3 Add test coverage for doorbird cameras (#122660) 2024-07-26 20:04:23 +02:00
Álvaro Fernández Rojas
d3d522c463 Add Airzone Cloud zone thermostat sensors (#122648)
* airzone_cloud: sensor: add zone thermostat sensors

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: sensor: add missing signal percentage icon

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: sensor: add signal percentage translation

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: sensor: disable thermostat_coverage

Also add to diagnostics category.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Update homeassistant/components/airzone_cloud/strings.json

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-26 19:28:39 +02:00
Robert Svensson
53131390ac Use snapshot in UniFi image tests (#122608)
* Use snapshot in UniFi image tests

* Make Image access_token deterministic
2024-07-26 19:22:09 +02:00
David Knowles
7820bcf218 Add entity services to the Hydrawise integration (#120883)
* Add services to the Hydrawise integration

* Add validation of duration ranges

* Remove clamping test

* Fix duration type in test

* Changes requested during review

* Add back the HydrawiseZoneBinarySensor class
2024-07-26 17:25:56 +02:00
Mr. Bubbles
49e2bfae31 Bump bring-api to v0.8.1 (#122653)
* Bump bring-api to v0.8.1

* update imports
2024-07-26 16:59:28 +02:00
G Johansson
55a1082866 Return unknown when data is missing in Trafikverket Weather (#122652)
Return unknown when data is missing
2024-07-26 16:59:12 +02:00
J. Nick Koston
5bb6272dfa Add test coverage for doorbird events (#122617) 2024-07-26 09:55:14 -05:00
Álvaro Fernández Rojas
850703824b Update aioairzone-cloud to v0.6.0 (#122647)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-07-26 14:15:48 +02:00
Robert Svensson
72fdcd1cb1 Final steps to runtime_data in Axis integration (#122641)
* Rework connection error test to check config entry status

* Remove final dependencies to hass.data[AXIS_DOMAIN]
2024-07-26 12:29:47 +02:00
Robert Svensson
33ea67e1d0 Remove last references to hass.data[UNIFI_DOMAIN] (#122642) 2024-07-26 12:29:21 +02:00
Robert Svensson
047100069b Clean up some fixtures not referenced within deCONZ tests (#122637) 2024-07-26 11:21:48 +02:00
Andrew Jackson
ecadf6a330 Log line wrap in Mealie integration (#122635)
Log line wrap
2024-07-26 10:21:39 +02:00
Robert Svensson
b41b7aeb5b Remove validation of state==UNAVAILABLE on config entry unload in deCONZ test (#122558)
Only test remove entry marks entities unavailable in one place
2024-07-26 10:06:58 +02:00
Robert Svensson
c9b81a5c04 Replace ConfigEntry with MockConfigEntry in Axis tests (#122629)
* Remove unused fixtures in Axis tests

* Replace ConfigEntry with MockConfigEntry
2024-07-26 09:48:37 +02:00
Robert Svensson
51d5e21203 Remove unused fixtures in UniFi tests (#122628) 2024-07-26 09:48:12 +02:00
Brett Adams
621bd5f0c3 Add dynamic coordinator interval to Tesla Fleet (#122234)
* Add dynamic rate limiter

* tweaks

* Revert min polling back to 2min

* Set max 1 hour

* Remove redundant update_interval

* Tuning and fixes

* Reduce double API calls

* Type test

* Remove RateCalculator
2024-07-26 09:40:49 +02:00
Robert Svensson
9b4cf873c1 Replace ConfigEntry with MockConfigEntry in deCONZ tests (#122631) 2024-07-26 09:36:41 +02:00
J. Nick Koston
e262f759af Speed up bluetooth matching (#122626)
- use a defaultdict to avoid lots of setdefault
- move the intersection outside of the genexpr
  to avoid entering the genexpr if there is no
  intersection
2024-07-26 09:22:56 +02:00
Denis Shulyaka
78a98afb8d Remove obsolete string from openai_conversation strings.json (#122623) 2024-07-26 03:48:26 +02:00
Marc Mueller
e5f2046b19 Update mypy-dev to 1.12.0a2 (#122613) 2024-07-25 21:48:10 +02:00
Robert Resch
d77b5cbbbf Bump deebot-client to 8.2.0 (#122612) 2024-07-25 21:23:14 +02:00
Erik Montnemery
5dbd7684ce Fail tests if recorder creates nested sessions (#122579)
* Fail tests if recorder creates nested sessions

* Adjust import order

* Move get_instance
2024-07-25 21:18:55 +02:00
Robert Resch
32a0463f47 Update Ecovacs translations (#122610)
* Update Ecovacs translations

* Update tests
2024-07-25 21:18:42 +02:00
Robert Resch
62a3902de7 Set mode for Ecovacs clean count entity (#122611) 2024-07-25 21:18:28 +02:00
huettner94
eb3686af06 Add shelly overcurrent sensor for switches (#122494)
shelly: add overcurrent sensor for switches

just like overvoltage shelly switches can react to overcurrent and
diable the switch. Unfortunately this is is not mentioned anywhere in
the documentation.
It can be triggered by a device using more amps than set in
"Output protections" under the name "Overcurrent in amperes".
2024-07-25 21:22:18 +03:00
Erik Montnemery
81983d66f4 Avoid nesting sessions in recorder auto repairs tests (#122596) 2024-07-25 12:52:13 -05:00
Robert Svensson
e015c0a6ae Use snapshot in UniFi device tracker tests (#122603) 2024-07-25 18:16:58 +02:00
Robert Svensson
81c8ba87ab Use snapshot in UniFi button tests (#122602) 2024-07-25 18:16:25 +02:00
Erik Montnemery
ec957e4a94 Run statistics on 5-minute intervals in tests (#122592)
* Run statistics on 5-minute intervals in tests

* Fix test failing when mysql does not return rows in insert order
2024-07-25 17:32:49 +02:00
Robert Svensson
08d7beb803 Use snapshots in UniFi update tests (#122599) 2024-07-25 17:32:31 +02:00
Andrew Jackson
131ce09490 Allow nightly Mealie versions to pass (#121761)
* Allow invalid versions to pass

* Add log warning

* Change log message

* Add assert for log
2024-07-25 17:27:08 +02:00
Allen Porter
e8eb1ed35c Bump airgradient to 0.7.1 removing mashumaro direct dependency (#122534) 2024-07-25 07:46:09 -07:00
Erik Montnemery
0c7ab2062f Avoid creating nested sessions in recorder migration (#122580) 2024-07-25 15:44:48 +02:00
Josef Zweck
f1b933ae0c Add uncalibrated sensor for tedee (#122594)
* add uncalibrated sensor

* change off icon
2024-07-25 15:42:10 +02:00
G Johansson
e6d0bc7d5d Add device to Worldclock (#122557)
* Add device to Worldclock

* has_entity_name
2024-07-25 14:16:21 +02:00
J. Nick Koston
e795f81f73 Add support for govee presence sensor h5127 (#122568) 2024-07-25 13:35:00 +02:00
Álvaro Fernández Rojas
3caffa4dad Update aioqsw to v0.4.0 (#122586)
* Update aioqsw to v0.4.0

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* trigger CI

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-07-25 13:34:02 +02:00
Erik Montnemery
1f2c54f112 Avoid nesting sessions in recorder purge tests (#122581) 2024-07-25 13:12:10 +02:00
Erik Montnemery
c12a79ecba Deduplicate sensor recorder tests (#122516) 2024-07-25 12:31:11 +02:00
J. Nick Koston
a94e9d472b Add support for govee H5124 vibration sensors (#122562) 2024-07-25 12:29:52 +02:00
Philip Vanloo
cde22a44db Add LinkPlay integration (#113940)
* Intial commit

* Add artsound as virtual integration

* Add config_flow test
Add linkplay to .coveragerc
Add linkplay to .strict-typing

* Remove artsound component

* Bump package version

* Address mypy and coveragerc

* Address comments

* Address more feedback, add zeroconf and user flow

* Catch broken bridge in async_setup_entry

* Raise ConfigEntryNotReady, add __all__

* Implement new tests for the config_flow

* Fix async warning

* Fix test

* Address feedback

* Address comments

* Address comment

---------

Co-authored-by: Philip Vanloo <26272906+pvanloo@users.noreply.github.com>
2024-07-25 12:27:10 +02:00
Erik Montnemery
33d5ed52e6 Avoid nesting sessions in recorder statistics tests (#122582) 2024-07-25 12:26:44 +02:00
J. Nick Koston
78e24be1e7 Convert qingping to use entry.runtime_data (#122528) 2024-07-25 12:19:55 +02:00
J. Nick Koston
a89853da9d Migrate switchbot to use entry.runtime_data (#122530) 2024-07-25 12:18:24 +02:00
J. Nick Koston
3b01a57de3 Bump aioesphomeapi to 24.6.2 (#122566) 2024-07-25 12:16:16 +02:00
J. Nick Koston
256a2276ef Bump govee-ble to 0.40.0 (#122564) 2024-07-25 12:15:40 +02:00
Erik Montnemery
6223fe93c8 Fix typo in conftest.py (#122583) 2024-07-25 12:08:52 +02:00
J. Nick Koston
7348a1fd0c Convert homekit to use entry.runtime_data (#122533) 2024-07-25 11:06:55 +02:00
karwosts
8687b438f1 Use appropriate selector for homeassistant.update_entity (#122497) 2024-07-25 11:05:31 +02:00
Avi Miller
4901ecba7f Bump aiolifx to 1.0.6 (#122569) 2024-07-24 18:44:56 -05:00
G Johansson
59637d2391 Address Wake on Lan post-merge feedback (#122549)
Address Wake on Late post-merge feedback
2024-07-25 00:26:18 +02:00
Alexandre CUER
fcccd85ac4 Add tests to emoncms (#122547)
* Add tests to emoncms

* Reduce snapshot size

* Reduce snapshot size

* run hassfest to update CODEOWNERS file

* Update requirements_test_all.txt

* Update tests/components/emoncms/test_sensor.py

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

* Dont use snapshot when testing state change

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-24 21:40:05 +02:00
Stefano Semeraro
34b32ced25 Add CCT support to WLED (#122488) 2024-07-24 20:37:38 +02:00
Marcel van der Veldt
d7c713d18d Fix typo in Matter lock platform (#122536) 2024-07-24 20:12:51 +02:00
Marcel van der Veldt
4876e35fd8 Matter event follow up (#122553) 2024-07-24 20:12:20 +02:00
Robert Svensson
9198234465 Use snapshot in deCONZ light tests (#122548) 2024-07-24 20:08:42 +02:00
Robert Svensson
be8e432bea Use snapshot in deCONZ alarm control panel tests (#122551)
* Use snapshot in deCONZ alarm control panel tests

* Clean up comments
2024-07-24 20:08:06 +02:00
Andrew Jackson
943b1afb55 Fix target service attribute on Mastodon integration (#122546)
* Fix target

* Fix
2024-07-24 18:19:12 +02:00
Ian
3e8d3083ac Refactor NextBus integration to use new API (#121133)
* Refactor NextBus integration to use new API

This removes the `messages`, `directions`, and `attribution` attributes
from the sensor. Those may be added back in the future with additional
refactoring.

Some existing sensors may be broken today because of deprecated Agency
names. This patch will not migrate them as the migration path is
ambiguous. Setting up again should work though.

* Move result indexing outside of try/except
2024-07-24 18:18:21 +02:00
Robert Svensson
3c4f2c2dcf Use snapshot in deCONZ select tests (#122541) 2024-07-24 18:07:40 +02:00
Robert Svensson
277883e756 Use snapshot in deCONZ sensor tests (#122543) 2024-07-24 18:07:18 +02:00
Robert Svensson
5bda072141 Use snapshot in deCONZ scene tests (#122540) 2024-07-24 17:32:57 +02:00
Robert Svensson
a8e60a6c53 Use snapshot in deCONZ number tests (#122538) 2024-07-24 17:28:47 +02:00
Robert Svensson
50da3c5c5b Use snapshot in deCONZ climate tests (#122535) 2024-07-24 17:15:01 +02:00
Robert Svensson
c5f9ff6ac5 Use snapshot in deCONZ cover tests (#122537) 2024-07-24 17:14:40 +02:00
J. Nick Koston
6393f1f02d Convert rainmachine to use entry.runtime_data (#122532) 2024-07-24 08:52:14 -06:00
J. Nick Koston
c81b9d624b Convert oralb to use entry.runtime_data (#122527) 2024-07-24 16:23:42 +02:00
Noah Husby
cae992f5e6 Add volume step to Russound media player (#122523)
* Add volume step to Russound media player

* Add return types
2024-07-24 14:44:44 +02:00
Joost Lekkerkerker
9ecdee3b78 Extract Evohome base entities to separate module (#122515)
* Extract Evohome base entities to separate module

* Extract Evohome base entities to separate module
2024-07-24 13:22:48 +02:00
Erik Montnemery
c9f0fe3c5d Rename recorder INTEGRATION_PLATFORMS_LOAD_IN_RECORDER_THREAD (#122511) 2024-07-24 11:37:49 +02:00
Robert Svensson
a90d41d9e7 Use snapshot in deCONZ binary sensor tests (#122507)
* Use snapshot in deCONZ binary sensor tests

* Fix typing in button test
2024-07-24 09:01:34 +02:00
Robert Svensson
4c7828fd50 Improve deCONZ fan tests (#122493)
* Improve fan tests

* Use snapshots
2024-07-24 09:01:09 +02:00
Jan Stienstra
99aa68c93f Use runtime_data instead of hass.data for Jellyfin (#122410)
* Use runtime_data instead of hass.data

* Process review
2024-07-24 08:53:01 +02:00
ribbal
6dd43be6ac Fix incorrect enum option in Hive heating sensor (#122496)
* 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

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* Fix defect with Hive heating sensor options
2024-07-24 08:50:44 +02:00
Avi Miller
67f7e97b4c Bump aiolifx-themes to v0.5.0 (#122503)
Signed-off-by: Avi Miller <me@dje.li>
2024-07-24 08:46:29 +02:00
Robert Svensson
902bf4ae86 Use snapshot in deCONZ button tests (#122505)
Use snapshot in button tests
2024-07-24 08:44:10 +02:00
Noah Husby
b7b3094a49 Bump aiorussound to 2.2.0 (#122500) 2024-07-24 08:40:54 +02:00
J. Nick Koston
e1e64be3c9 Remigrate device_registry created_at/modified_at (#122490)
* Remigrate device_registry created_at/modified_at

Nightly current does not boot up because the device registry
will have KeyError: created_at if the previous nightly was
installed.

* reduce

* split migration per discord comments
2024-07-23 15:47:27 -05:00
Christopher Fenner
f135d3d16c Fix device class on sensor in ViCare (#122334)
update device class on init
2024-07-23 22:56:46 +03:00
Álvaro Fernández Rojas
fd6f1cfbdc Update aioairzone-cloud to v0.5.5 (#122482)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-23 22:55:18 +03:00
Marc Mueller
ac86738572 Update pylutron to 0.2.15 (#122455) 2024-07-23 22:41:16 +03:00
Robert Svensson
ad38b9e9e1 Use snapshot validation on Axis binary sensor (#122483)
* Use snapshot validation on binary sensor

* Use snapshot_platform

* Clean up

* Improve typign
2024-07-23 22:30:03 +03:00
Robert Svensson
e6ef8a34a7 Tweak deCONZ init and hub tests (#122484)
* Improve typing of init tests

* Clean up gateway test

* Validate deconz device registry entry

* Rename gateway to hub

* Snake case BRIDGEID to BRIDGE_ID
2024-07-23 22:29:48 +03:00
Álvaro Fernández Rojas
2730713b39 Update aioairzone to v0.8.1 (#122481)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-23 14:22:42 -05:00
Robert Resch
e00f159ebe Fix loading created_at/modified_at from entity registry store (#122486) 2024-07-23 21:15:12 +02:00
Álvaro Fernández Rojas
57c554f516 Update AEMET-OpenData to v0.5.3 (#122480) 2024-07-23 13:48:34 -05:00
Robert Svensson
34f1443a5a Improve Axis hub tests (#122472)
* Improve some of the hub tests

* Replace constant "name" with "home"

* Add snapshot

* Simplify

* Clean up
2024-07-23 19:54:43 +02:00
Robert Svensson
b53800a69d Tweak axis test fixtures (#122469)
* Don't automatically add config entry to hass

* Improve RTSP fixture typing

* Improve typing of config entry factory and remove unnecessary use of it

* Remove redundant fixture in config flow tests

* Parametrize config flow error test
2024-07-23 19:27:38 +02:00
ribbal
1b7fb9ae12 Create additional sensors in Hive integration (#122453)
* 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

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors

* add temperature and mode sensors
2024-07-23 19:21:58 +02:00
J. Nick Koston
6bdc5be433 Bump aiohttp to 3.10.0b1 (#122409) 2024-07-23 12:10:22 -05:00
Noah Husby
d78327a72f Add dynamic media player features to Russound (#122475)
Add dynamic media player features
2024-07-23 18:37:24 +02:00
ilan
0a62a4459f Add 100% test coverage to Madvr (#122350)
* feat: add 100% test coverage

* fix: dont patch logger

* fix: better names

* fix: use consts

* fix: use built in const
2024-07-23 18:06:26 +02:00
Michael Hansen
3ba2a0518e Switch to official ollama library, update models (#122471)
* Switch to mainstream ollama library, update models

* Fix mypy error
2024-07-23 10:57:54 -05:00
Matthias Alphart
d7b0d1a50e Use dispatcher for KNX GroupMonitor instead of custom HassJob (#122384) 2024-07-23 17:47:45 +02:00
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
ff467463f8 Update pytest warnings filter (#122459) 2024-07-23 15:50:14 +02:00
Marc Mueller
5727f30026 Changes for aiohttp 3.10.0 (#122463) 2024-07-23 15:37:26 +02:00
starkillerOG
32cd54b1e3 Fix flaky Reolink tests (#122451) 2024-07-23 08:35:02 -05: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
Erik Montnemery
108dc3795e Remove incorrect use of Mock.assert_has_calls from recorder tests (#122439)
* Remove incorrect use of Mock.assert_has_calls from recorder tests

* Fix test
2024-07-23 09:39:27 +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
dependabot[bot]
4674502b92 Bump docker/login-action from 3.2.0 to 3.3.0 (#122440)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-23 09:24:52 +02:00
Robert Svensson
4ee256633b Deduplicate light data with deCONZ websocket fixture (#122421) 2024-07-23 08:40:30 +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
f4125eaf4c Remove loop shutdown indicator when done with test hass (#122432) 2024-07-23 00:56:06 +02: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
Robert Svensson
c61efe931a Deduplicate more fixture data related to deCONZ websocket sensor (#122412) 2024-07-22 21:37:58 +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
bd97a09cae Complete coverage for doorbird init (#122272) 2024-07-22 13:57:43 +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
cdnninja
ea94cdb668 Bump pyvesync to 2.1.12 (#122318) 2024-07-22 13:09:08 +02:00
Erik Montnemery
cbe94c4706 Fix typo in recorder persistent notification (#122374) 2024-07-22 12:02:17 +02:00
Duco Sebel
5612e3a92b Bumb python-homewizard-energy to 6.1.1 to embed model in upstream library (#122365) 2024-07-22 11:26:38 +02:00
Paul Bottein
33f0840a26 Add translations for xiaomi miio fan preset modes (#122367) 2024-07-22 11:21:54 +02:00
starkillerOG
8d538fcd52 Add Reolink model_id / item number (#122371) 2024-07-22 11:20:02 +02:00
Marc Mueller
9793aa0a5e Update pytest to 8.3.1 (#122368) 2024-07-22 11:16:05 +02:00
Denis Shulyaka
064d7261b4 Ensure script llm tool name does not start with a digit (#122349)
* Ensure script tool name does not start with a digit

* Fix test name
2024-07-22 11:11:09 +02:00
starkillerOG
0c6dc9e43b Bump reolink-aio to 0.9.5 (#122366) 2024-07-22 11:09:03 +02:00
Marc Mueller
c70e611822 Fix homewizard api close not being awaited on unload (#122324) 2024-07-22 10:19:08 +02:00
J. Nick Koston
02c64c7861 Bump cryptography to 43.0.0 and pyOpenSSL to 24.2.1 and chacha20poly1305-reuseable >= 0.13.0 (#122308) 2024-07-22 10:15:02 +02:00
dependabot[bot]
5b32efb6d6 Bump github/codeql-action from 3.25.12 to 3.25.13 (#122362)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 10:05:15 +02:00
Matthias Alphart
34e72ea16a Add support for KNX UI to create light entities (#122342)
* Add light to KNX UI-createable entity platforms

* review from switch

* Add a test
2024-07-22 09:35:29 +02:00
Noah Husby
f30c6e01f9 Bump aiorussound to 2.0.6 (#122354)
bump aiorussound to 2.0.6
2024-07-22 08:56:48 +02:00
J. Nick Koston
db9fc27a5c Convert enphase_envoy to use entry.runtime_data (#122345) 2024-07-22 07:44:00 +02:00
Denis Shulyaka
ac1ad9680b Goofle Generative AI: Fix string format (#122348)
* Ignore format for string tool args

* Add tests
2024-07-21 21:54:31 -07:00
Marc Mueller
4eb096cb0a Update pylint to 3.2.6 (#122338) 2024-07-22 01:44:52 +02:00
Maciej Bieniek
bc5849e4ef Bump aiotractive to 0.6.0 (#121155)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-21 18:11:05 -05:00
Alexander Schneider
9a3c7111f7 Add Z-Wave discovery schema for ZVIDAR roller shades (#122332)
Add discovery schema for ZVIDAR roller shades
2024-07-21 23:51:10 +02:00
Allen Porter
c98c80ce69 Change OpenAI default recommended model to gpt-4o-mini (#122333) 2024-07-21 13:37:18 -07:00
Lorzware
453848bcdc APSystems - add configuration option 'port' in config flow (#122144)
* Add configuration option 'port' in config flow
2024-07-21 22:03:41 +02:00
Joost Lekkerkerker
7d46890804 Add support for grouping notify entities (#122123)
* Add support for grouping notify entities

* Add support for grouping notify entities

* Add support for grouping notify entities

* Fix test

* Fix feedback

* Update homeassistant/components/group/notify.py

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

* Test config flow changes

* Test config flow changes

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-07-21 20:57:49 +02:00
Michael
7e1fb88e4e Post merge review for Feedreader (#122327)
* remove unneccessary typing

* assert type list while type checking

* remove summary, since feedparser parse it already into content

* add further tests
2024-07-21 20:55:02 +02:00
epenet
94ce02f406 Bump renault-api to 2.0.5 (#122326)
* Bump renault-api to 2.0.5

* Update requirements_all.txt

* Update requirements_test_all.txt
2024-07-21 13:18:43 -05:00
Matthias Alphart
d418a40856 Create, update and delete KNX entities from UI / WS-commands (#104079)
* knx entity CRUD - initial commit - switch

* platform dependent schema

* coerce empty GA-lists to None

* read entity configuration from WS

* use entity_id instead of unique_id for lookup

* Add device support

* Rename KNXEntityStore to KNXConfigStore

* fix test after rename

* Send schema options for creating / editing entities

* Return entity_id after entity creation

* remove device_class config in favour of more-info-dialog settings

* refactor group address schema for custom selector

* Rename GA keys and remove invalid keys from schema

* fix rebase

* Fix deleting devices and their entities

* Validate entity schema in extra step - return validation infos

* Use exception to signal validation error; return validated data

* Forward validation result when editing entities

* Get proper validation error message for optional GAs

* Add entity validation only WS command

* use ulid instead of uuid

* Fix error handling for edit unknown entity

* Remove unused optional group address sets from validated schema

* Add optional dpt field for ga_schema

* Move knx config things to sub-key

* Add light platform

* async_forward_entry_setups only once

* Test crate and remove devices

* Test removing entities of a removed device

* Test entity creation and storage

* Test deleting entities

* Test unsuccessful entity creation

* Test updating entity data

* Test get entity config

* Test validate entity

* Update entity data by entity_id instead of unique_id

* Remove unnecessary uid unique check

* remove schema_options

* test fixture for entity creation

* clean up group address schema

class can be used to add custom serializer later

* Revert: Add light platfrom

* remove unused optional_ga_schema

* Test GASelector

* lint tests

* Review

* group entities before adding

* fix / ignore mypy

* always has_entity_name

* Entity name: check for empty string when no device

* use constants instead of strings in schema

* Fix mypy errors for voluptuous schemas

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-07-21 20:01:48 +02:00
GeoffAtHome
890b54e36f Add config flow to Genius hub (#116173)
* Adding config flow

* Fix setup issues.

* Added test for config_flow

* Refactor schemas.

* Fixed ruff-format on const.py

* Added geniushub-cleint to requirements_test_all.txt

* Updates from review.

* Correct multiple logger comment errors.

* User menu rather than check box.

* Correct logger messages.

* Correct test_config_flow

* Import config entry from YAML

* Config flow integration

* Refactor genius hub test_config_flow.

* Improvements and simplification from code review.

* Correct tests

* Stop device being added twice.

* Correct validate_input.

* Changes to meet code review three week ago.

* Fix Ruff undefined error

* Update homeassistant/components/geniushub/config_flow.py

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

* Update homeassistant/components/geniushub/config_flow.py

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

* Change case Cloud and Local to CLOUD and LOCAL.

* More from code review

* Fix

* Fix

* Update homeassistant/components/geniushub/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-21 19:57:41 +02:00
Marc Mueller
6de824e875 Fix test RuntimeWarning for upb (#122325) 2024-07-21 18:50:00 +02:00
Joost Lekkerkerker
273dc0998f Clean up Mealie service tests (#122316) 2024-07-21 10:15:28 -05:00
J. Nick Koston
5f4dedb4a8 Add binary sensor platform to govee-ble (#122111) 2024-07-21 09:47:59 -05:00
Joost Lekkerkerker
6f4a8a4a14 Add Mealie service to set a random mealplan (#122313)
* Add Mealie service to set a random mealplan

* Fix coverage

* Fix coverage
2024-07-21 16:43:46 +02:00
J. Nick Koston
39068bb786 Add sleepy device support to govee-ble (#122085) 2024-07-21 09:38:00 -05:00
J. Nick Koston
7e82b3ecdb Add event platform to govee-ble (#122031)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-21 09:32:58 -05:00
Joost Lekkerkerker
8d01ad98eb Clean up Mealie coordinator (#122310)
* Clean up Mealie coordinator

* Clean up Mealie coordinator

* Clean up Mealie coordinator

* Fix

* Fix
2024-07-21 16:24:46 +02:00
Joost Lekkerkerker
a78d6b8c36 Set polling interval for airgradient to 1 minute (#122266) 2024-07-21 16:22:45 +02:00
Joost Lekkerkerker
e8796cd725 Improve Hive typing (#122314) 2024-07-21 16:21:45 +02:00
J. Nick Koston
b0a4140b4d Convert sensorpush to use entry.runtime_data (#122315) 2024-07-21 09:11:18 -05:00
J. Nick Koston
30373a668c Migrate harmony to use entry.runtime_data (#122312) 2024-07-21 09:06:51 -05:00
J. Nick Koston
272f0bc21c Migrate oncue to use entry.runtime_data (#122307) 2024-07-21 08:19:58 -05:00
J. Nick Koston
7f852d0f73 Update bthome to use entry.runtime_data (#122304) 2024-07-21 08:19:46 -05:00
J. Nick Koston
8994c18f73 Update xiaomi-ble to use entry.runtime_data (#122306) 2024-07-21 08:19:33 -05:00
Joost Lekkerkerker
874b1ae873 Add sensor platform to Mealie (#122280)
* Bump aiomealie to 0.7.0

* Add sensor platform to Mealie

* Fix
2024-07-21 14:59:22 +02:00
Joost Lekkerkerker
7f82fb8cb8 Bump aiomealie to 0.8.0 (#122295)
* Bump aiomealie to 0.8.0

* Bump aiomealie to 0.8.0
2024-07-21 14:52:18 +02:00
J. Nick Koston
a8cbfe5159 Make TemplateStateBase.entity_id a cached_property (#122279) 2024-07-21 07:49:59 -05:00
Marcel Vriend
0ab1ccc5ae Fix to prevent Azure Data Explorer JSON serialization from failing (#122300) 2024-07-21 14:08:58 +02:00
Robert Svensson
48661054d9 Improve fixture usage for sensor based deCONZ tests (#122297) 2024-07-21 13:56:16 +02:00
Jan Bouwhuis
87e377cf84 Ensure mqtt subscriptions are in a set (#122201) 2024-07-21 12:36:06 +02:00
Arie Catsman
8da630f8c6 Improve sensor test coverage for enphase_envoy (#122229)
* Improve sensor platform test COV for enphase_envoy

* Use async_fire_time_changed to trigger next data update in enphase_envoy test
2024-07-21 12:26:32 +02:00
Louis Christ
f629364dc4 Use pyblu library in bluesound (#117257)
* Integrate pypi libraray: pyblu

* Raise PlatformNotReady if _sync_status is not available yet

* Revert "Raise PlatformNotReady if _sync_status is not available yet"

This reverts commit a649a6bccd00cf16f80e40dc169ca8797ed3b6b2.

* Replace 'async with timeout' with parameter in library

* Set timeout back to 10 seconds

* ruff fixes

* Update homeassistant/components/bluesound/media_player.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-21 12:24:54 +02:00
ilan
fcca475e36 Add sensor platform to MadVR (#121617)
* feat: add sensors

* feat: add tests for sensors

* feat: add options flow

* feat: add tests for options flow

* fix: remove options flow

* fix: remove names and mac sensor, add incoming signal type

* feat: add enum types to supported sensors

* fix: consolidate tests into snapshot

* fix: use consts

* fix: update names and use snapshot platform

* fix: fix test name for new translations

* fix: comment

* fix: improve sensor names

* fix: address comments

* feat: disable uncommon sensors by default

* fix: update sensors

* fix: revert config_flow change
2024-07-21 08:43:52 +02:00
Sid
5075f0aac8 Bump ruff to 0.5.4 (#122289) 2024-07-21 08:42:06 +02:00
Joost Lekkerkerker
537a76d049 Add model id to airgradient (#122271) 2024-07-21 08:41:42 +02:00
J. Nick Koston
b3698a59e1 Bump uiprotect to 5.4.0 (#122282) 2024-07-20 17:24:16 -05:00
Joost Lekkerkerker
9b9db86f1c Bump aiomealie to 0.7.0 (#122278) 2024-07-21 00:00:31 +02:00
ilan
1e28ae49f9 Bump py-madvr to 1.6.29 (#122275)
chore: bump version
2024-07-20 22:44:14 +02:00
Joost Lekkerkerker
24b6f71f94 Bump twitchAPI to 4.2.1 (#122269) 2024-07-20 21:29:51 +02:00
Joost Lekkerkerker
ae4360b0e5 Bump airgradient to 0.7.0 (#122268) 2024-07-20 21:26:00 +02:00
Marc Mueller
769d7214a3 Improve tests.common typing (#122257) 2024-07-20 17:34:43 +02:00
Marc Mueller
90e7d82049 Use correct enum in UnitSystem tests (#122256) 2024-07-20 17:33:48 +02:00
Marc Mueller
5e8b022246 Improve shopping_list test typing (#122255) 2024-07-20 16:46:39 +02:00
J. Nick Koston
43aeaf7a9b Upgrade CI to use ubuntu 24.04 (#122254) 2024-07-20 09:43:10 -05:00
Brian Rogers
63b0feeae7 Add calendar for Rachio smart hose timer (#120030) 2024-07-20 09:38:51 -05:00
Brett Adams
0f079454bb Add device tracker to Tesla Fleet (#122222) 2024-07-20 14:37:57 +02:00
Marc Mueller
6be4ef8a1f Improve contextmanager typing (#122250) 2024-07-20 14:09:37 +02:00
Marc Mueller
5fd3b929f4 Update types packages (#122245) 2024-07-20 14:09:10 +02:00
Marc Mueller
55abbc51a4 Update pip-licenses to 4.5.1 (#122240) 2024-07-20 13:52:55 +02:00
Marc Mueller
651fb95010 Update uv to 0.2.27 (#122246) 2024-07-20 13:24:21 +02:00
Marc Mueller
c6713edc8b Update pytest-unordered to 0.6.1 (#122243) 2024-07-20 13:24:01 +02:00
Marc Mueller
ee49c57e95 Update pytest to 8.2.2 (#122244) 2024-07-20 13:16:36 +02:00
Erik Montnemery
2f47312eeb Fix recorder setup hanging if non live schema migration fails (#122242) 2024-07-20 13:10:23 +02:00
Marc Mueller
293ad99dae Update pytest-asyncio to 0.23.8 (#122241) 2024-07-20 13:10:09 +02:00
Marc Mueller
0fe7aa1a43 Update bcrypt to 4.1.3 (#122236) 2024-07-20 13:06:22 +02:00
Marc Mueller
b54b08479d Update pipdeptree to 2.23.1 (#122239) 2024-07-20 12:59:44 +02:00
Marc Mueller
ab2f38216d Update coverage to 7.6.0 (#122238) 2024-07-20 12:59:08 +02:00
Marc Mueller
13da20ddf4 Update Pillow to 10.4.0 (#122237) 2024-07-20 12:58:49 +02:00
Erik Montnemery
436a38c1d2 Revert "Fix recorder setup hanging if non live schema migration fails" (#122232) 2024-07-20 12:29:08 +02:00
Brett Adams
2b93de1348 Add binary sensor to Tesla Fleet (#122225) 2024-07-20 11:28:30 +02:00
Robert Svensson
ecffae0b4f Improve fixture usage for light based deCONZ tests (#122209) 2024-07-20 11:25:00 +02:00
Brett Adams
6f9e39cd3f Add diagnostics to Tesla Fleet (#122223) 2024-07-20 11:22:15 +02:00
Arie Catsman
221480add1 Improve switch platform test COV for enphase_envoy (#122227) 2024-07-20 11:20:46 +02:00
Erik Montnemery
153b69c971 Fix recorder setup hanging if non live schema migration fails (#122207) 2024-07-20 11:17:40 +02:00
Pete Sage
d1d2ce1270 Sonos tests snapshot and restore services (#122198) 2024-07-20 11:16:48 +02:00
Marc Mueller
a6068dcdf2 Update import locations in tests (#122216) 2024-07-20 11:16:04 +02:00
Marc Mueller
0637e342f6 Fix ConfigFlowResult annotations in tests (#122215) 2024-07-20 11:13:13 +02:00
Marc Mueller
e9f5c4188e Fix incompatible signature overwrite async_turn_on + off (#122208) 2024-07-20 11:12:41 +02:00
Marc Mueller
24b12bc509 Improve HA snapshot serializer typing (#122218) 2024-07-20 11:12:02 +02:00
Marc Mueller
f0b9a806d1 Fix missing type[..] annotation in tests (#122217) 2024-07-20 11:11:16 +02:00
Marc Mueller
f8c4ffc060 Update freezegun to 1.5.1 (#122219) 2024-07-20 11:10:46 +02:00
Marc Mueller
768d20c645 Fix recorder datetime annotations (#122214) 2024-07-20 11:10:25 +02:00
Erik Montnemery
a0332d049b Fix flaky recorder test (#122205) 2024-07-20 11:09:52 +02:00
Álvaro Fernández Rojas
4ee2c445d1 Update home_connect to v0.8.0 (#121788)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-07-20 05:28:04 +02:00
Marc Mueller
458c81cdae Improve vizio tests typing (#122213) 2024-07-20 02:50:12 +02:00
Marc Mueller
8e024ad20f Fix invalid Any annotations (#122212) 2024-07-20 02:46:27 +02:00
Mr. Bubbles
a46fffd550 Fix wrong deprecation date in Habitica integration (#122206)
Fix wrong deprecation date
2024-07-20 00:40:29 +02:00
G Johansson
288faf48e7 Add config flow to Wake on LAN (#121605) 2024-07-19 21:20:43 +02:00
HarvsG
7e0970e917 Log timeouts for assist_pipeline end of speech detection (#122182)
* log timeouts

* import logger the right way
2024-07-19 13:43:38 -05:00
Sean Chen
e6e748ae0a Add timestamp sensor for observation (#121752) 2024-07-19 19:50:38 +02:00
dougiteixeira
75b1700ed3 Move constants to const.py in generic Thermostat (#120789) 2024-07-19 19:49:11 +02:00
Franck Nijhof
267dfac737 2024.7.3 (#122194) 2024-07-19 19:38:08 +02:00
Steven B.
099110767a Add tests for ring camera platform for 100% coverage (#122197) 2024-07-19 19:35:44 +02:00
Pierre Mavro
cafff3eddf Add PrusaLink nozzle and mmu support (#120436)
Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-07-19 19:15:42 +02:00
Steven Looman
c0732fbb1d Add options flow for force_poll setting in upnp (#120843) 2024-07-19 19:02:28 +02:00
Stefan Agner
7b5b6c7b85 Tolerate integration removed device (#120722) 2024-07-19 19:00:31 +02:00
Franck Nijhof
a08ffdc8d3 Bump version to 2024.7.3 2024-07-19 18:50:21 +02:00
Mr. Bubbles
1ef4332af6 Fix KeyError in config flow of Bring integration (#122136) 2024-07-19 18:49:45 +02:00
Marc Mueller
d0d2fd7918 Update yt-dlp to 2024.07.16 (#122124) 2024-07-19 18:49:41 +02:00
Steven B.
c518c4756b Bump tplink dependency python-kasa to 0.7.0.5 (#122119) 2024-07-19 18:49:38 +02:00
Shay Levy
a3a99cc631 Prevent connecting to a Shelly device that is already connected (#122105) 2024-07-19 18:49:35 +02:00
Steven B.
977a55e3b8 Update tplink device config during reauth flow (#122089) 2024-07-19 18:49:31 +02:00
Harry Martland
002db3c3e9 Fix hive not updating when boosting (#122042)
* fixes issue where hive does not update when boosting

* formats files
2024-07-19 18:49:28 +02:00
Robert Svensson
d9e44bab69 Mark UniFi power cycle button as unavailable if PoE is not enabled on port (#122035) 2024-07-19 18:49:25 +02:00
G Johansson
4b93fc61b5 Bump python-holidays to 0.53 (#122021) 2024-07-19 18:49:21 +02:00
J. Nick Koston
214b5efd72 Narrow sqlite database corruption check to ensure disk image is malformed (#121947)
* Narrow sqlite database corruption check to ensure disk image is malformed

The database corruption check would also replace the database when it
locked externally instead of only when its malformed.

This was discovered in https://github.com/home-assistant/core/issues/121909#issuecomment-2227409124
when a user did a manual index creation while HA was online

* tweak

* tweak

* fix

* fix
2024-07-19 18:49:16 +02:00
Maciej Bieniek
9bd822d693 Fix configuration_url for Shelly device using IPv6 (#121939)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-19 18:48:32 +02:00
Tomasz Gorochowik
bf89eaae25 Fix enigma2 mute (#121928) 2024-07-19 18:42:44 +02:00
Scott K Logan
f9b359ae30 Fix rainforest_raven closing device due to timeout (#121905) 2024-07-19 18:42:41 +02:00
mvn23
24ed003471 Fix opentherm_gw availability (#121892) 2024-07-19 18:42:38 +02:00
J. Nick Koston
a835750252 Log add/remove index complete at the same level as when it starts (#121852) 2024-07-19 18:42:35 +02:00
Avi Miller
ad07bdb62b Bump aiolifx to 1.0.5 (#121824) 2024-07-19 18:42:32 +02:00
Avi Miller
41104324ec Bump aiolifx to 1.0.4 (#121267) 2024-07-19 18:42:28 +02:00
ollo69
e9344ae101 Bump PySwitchbot to 0.48.1 (#121804) 2024-07-19 18:40:25 +02:00
starkillerOG
56a9167ed2 Reolink media second lens (#121800)
DUO lens camera distinguish between lenses for media playback
2024-07-19 18:40:22 +02:00
Jan Bouwhuis
e0b90c4b36 Fix alexa does to check current_position correctly when handling cover range changes (#121798) 2024-07-19 18:40:19 +02:00
Jan-Philipp Benecke
976902f22c Add missing translations to Roborock (#121796) 2024-07-19 18:40:16 +02:00
Steven B
0f69c58ba9 Bump python-kasa to 0.7.0.4 (#121791) 2024-07-19 18:40:13 +02:00
Glenn Waters
1e6c96c6eb Use async_connect in newly bumped 0.5.8 UPB library (#121789) 2024-07-19 18:40:09 +02:00
J. Nick Koston
63b14d14c1 Add some missing tplink ouis (#121785) 2024-07-19 18:40:06 +02:00
Josef Zweck
6aaaba6419 Bump pytedee_async to 0.2.20 (#121783) 2024-07-19 18:40:03 +02:00
Allen Porter
3b8e736fe3 Pin mashumaro version >= 3.13.1 for python 3.12.4 compatibility. (#121782)
Pin mashumaro version for python 3.12.4 compatibility.
2024-07-19 18:40:00 +02:00
tronikos
68841b3d8a Bump opower to 0.5.2 to fix 403 forbidden errors for users with multiple accounts (#121762) 2024-07-19 18:39:56 +02:00
Abílio Costa
3d8afe7cb8 Update Idasen Desk library to 2.6.2 (#121729) 2024-07-19 18:29:45 +02:00
Robert Svensson
8595242142 Fix bad access to UniFi runtime_data when not assigned (#121725)
* Fix bad access to runtime_data when not assigned

* Fix review comment

* Clean up if statements
2024-07-19 18:29:42 +02:00
Joost Lekkerkerker
ebe7bc0686 Bump knocki to 0.3.1 (#121717) 2024-07-19 18:29:39 +02:00
J. Nick Koston
4ab180f016 Fix update happening too early in unifiprotect (#121714) 2024-07-19 18:29:36 +02:00
Mr. Bubbles
372649069e Bump pyloadapi to v1.3.2 (#121709) 2024-07-19 18:29:33 +02:00
Joost Lekkerkerker
98df46f3ea Bump knocki to 0.3.0 (#121704) 2024-07-19 18:29:30 +02:00
Steven B
269fb23527 Fix tplink bug changing color temp on bulbs with light effects (#121696) 2024-07-19 18:29:27 +02:00
Sid
ad5cbf0da6 Allow enigma2 devices to use different source bouquets (#121686) 2024-07-19 18:29:24 +02:00
Lucas Mindêllo de Andrade
10cdf64f90 Bump sunweg 3.0.2 (#121684) 2024-07-19 18:29:21 +02:00
Tomek Porozynski
ec8e639804 Update Supla async_set_cover_position to use "REVEAL_PARTIALLY" (#121663) 2024-07-19 18:29:17 +02:00
Jan Stienstra
37f37f7287 Retain Jellyfin config flow input on connection issue (#121618) 2024-07-19 18:29:13 +02:00
Mr. Bubbles
ef7d68bfd6 Fix reauth error and exception in ista EcoTrend integration (#121482) 2024-07-19 18:29:08 +02:00
Jan Rieger
12ec66c2c2 Avoid blocking I/O in gpsd (#122176) 2024-07-19 18:25:07 +02:00
Mr. Bubbles
72d37036b9 Remove filtering of user data in Habitica integration (#121759)
Remove context-based userFields filtering
2024-07-19 17:56:52 +02:00
Sid
e029dad0eb Add data update coordinator to enigma2 (#122046)
* Add data update coordinator to enigma2

* Apply suggestions from code review

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-07-19 17:51:34 +02:00
G Johansson
0cde518a89 Allow to add optional holiday categories in workday (#121396)
* Allow to add optional holiday categories in workday

* Add tests

* Fix coverage
2024-07-19 17:49:27 +02:00
Christopher Fenner
dab66990c0 Ignore E3_TCU41_x04 gateway device in ViCare (#122179)
skip gateway device
2024-07-19 11:40:17 -04:00
Steven Looman
d3029af888 Address post merge review changes in upnp (#122189)
Post merge review change
2024-07-19 11:38:38 -04:00
Marcel Vriend
419bf0165a Bump azure-kusto dependencies to 4.5.1 (#121805) 2024-07-19 17:33:02 +02:00
Shai Ungar
978ee918cb Use new 17track api library (#121910) 2024-07-19 17:09:50 +02:00
Marc Mueller
8bca9a3449 Fix return type annotations in tests (#122184) 2024-07-19 16:44:03 +02:00
Malte Franken
87ecf5d85e Bump georss-qld-bushfire-alert-client to 0.8 (#122185) 2024-07-19 16:12:26 +02:00
Marc Mueller
2f8dfb424b Use Generator as return type for fixtures (#122183) 2024-07-19 14:55:23 +02:00
Marc Mueller
53c85a5c9b Fix test fixture annotations (#122180) 2024-07-19 14:46:30 +02:00
Marc Mueller
281c66b6c2 Fix invalid dict annotations in tests (#122178) 2024-07-19 14:45:42 +02:00
Bram Kragten
6788c43775 Add static routes for frontend modern and legacy service workers (#120488) (#122174)
* Bump frontend to 20240719.0

* restore #120488
2024-07-19 14:40:50 +02:00
Josef Zweck
f006716173 Add async_setup method to DataUpdateCoordinator (#116677)
* init

* Update homeassistant/helpers/update_coordinator.py

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

* fix typo, ruff

* consistency with rest, test

* pylint suppression

* ruff

* ruff

* switch to one test

* add last exc

* add tests for auth & Entry Errors

* move exceptions to correct test

* Update update_coordinator.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* test setup call

* simplify

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-07-19 14:24:25 +02:00
dougiteixeira
de5b5f6d36 Add string for value template description in switch Template (#121865)
Add string for value template descrition in switch Template
2024-07-19 13:58:22 +02:00
Harry Martland
e9ea90dc82 Fix hive not updating when boosting (#122042)
* fixes issue where hive does not update when boosting

* formats files
2024-07-19 13:47:28 +02:00
Marc Mueller
0be68dcd7f Fix deconz conftest typing (#122173) 2024-07-19 13:10:38 +02:00
Marc Mueller
c92d9dcb74 Use TypeVar defaults for Generator (#122170) 2024-07-19 13:06:45 +02:00
Marc Mueller
2b486c3bd5 Replace unnecessary typing_extensions imports for Generator (#122169) 2024-07-19 12:56:27 +02:00
Bram Kragten
c28a138dfe Revert "Add static routes for frontend modern and legacy service workers" (#122172) 2024-07-19 12:55:40 +02:00
Mr. Bubbles
3ddcffb7b7 Fix reauth error and exception in ista EcoTrend integration (#121482) 2024-07-19 12:26:40 +02:00
Matrix
8cb7e9785f Add YoLink YS8017 support (#122064) 2024-07-19 12:20:30 +02:00
Jan Bouwhuis
16434b5306 Add command_template option to mqtt switch schema (#122103) 2024-07-19 12:10:49 +02:00
Paolo Burgio
c1c5cff993 Add integration for iotty Smart Home (#103073)
* Initial import 0.0.2

* Fixes to URL, and removed commits

* Initial import 0.0.2

* Fixes to URL, and removed commits

* Added first test for iotty

* First release

* Reviewers request #1
- Removed clutter
- Added support for new naming convention for IottySmartSwitch entity

* Removed commmented code

* Some modifications

* Modified REST EP for iotty CloudApi

* Initial import 0.0.2

* Fixes to URL, and removed commits

* Added first test for iotty

* First release

* Rebased and resolved conflicts

* Reviewers request #1
- Removed clutter
- Added support for new naming convention for IottySmartSwitch entity

* Removed commmented code

* Some modifications

* Modified REST EP for iotty CloudApi

* Removed empty entries in manifest.json

* Added test_config_flow

* Fix as requested by @edenhaus

* Added test_init

* Removed comments, added one assert

* Added TEST_CONFIG_FLOW

* Added test for STORE_ENTITY

* Increased code coverage

* Full coverage for api.py

* Added tests for switch component

* Converted INFO logs onto DEBUG logs

* Removed .gitignore from commits

* Modifications to SWITCH.PY

* Initial import 0.0.2

* Fixes to URL, and removed commits

* Added first test for iotty

* First release

* Rebased and resolved conflicts

* Fixed conflicts

* Reviewers request #1
- Removed clutter
- Added support for new naming convention for IottySmartSwitch entity

* Removed commmented code

* Some modifications

* Modified REST EP for iotty CloudApi

* Removed empty entries in manifest.json

* Added test_config_flow

* Some modifications

* Fix as requested by @edenhaus

* Added test_init

* Removed comments, added one assert

* Added TEST_CONFIG_FLOW

* Added test for STORE_ENTITY

* Increased code coverage

* Full coverage for api.py

* Added tests for switch component

* Converted INFO logs onto DEBUG logs

* Removed .gitignore from commits

* Modifications to SWITCH.PY

* Fixed tests for SWITCH

* First working implementation of Coordinator

* Increased code coverage

* Full code coverage

* Missing a line in testing

* Update homeassistant/components/iotty/__init__.py

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

* Update homeassistant/components/iotty/__init__.py

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

* Modified coordinator as per request by edenhaus

* use coordinator entities for switches

* move platforms to constants

* fix whitespace with ruff-format

* correct iotty entry in application_credentials list

* minor style improvements

* refactor function name

* handle new and deleted devices

* improve code for adding devices after first initialization

* use typed config entry instead of adding known devices to hass.data

* improve iotty entity removal

* test listeners update cycle

* handle iotty as devices and not only as entities

* fix test typing for mock config entry

* test with fewer mocks for an integration test style opposed to the previous unit test style

* remove useless tests and add more integration style tests

* check if device_to_remove is None

* integration style tests for turning switches on and off

* remove redundant coordinator tests

* check device status after issuing command in tests

* remove unused fixtures

* add strict typing for iotty

* additional asserts and named snapshots in tests

* fix mypy issues after enabling strict typing

* upgrade iottycloud version to 0.1.3

* move coordinator to runtime_data

* remove entity name

* fix typing issues

* coding style fixes

* improve tests coding style and assertion targets

* test edge cases when apis are not working

* improve tests comments and assertions

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Shapour Nemati <shapour.nemati@iotty.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: shapournemati-iotty <130070037+shapournemati-iotty@users.noreply.github.com>
2024-07-19 12:10:39 +02:00
Sid
4620a54582 Bump Ruff to 0.5.3 (#122167) 2024-07-19 12:06:53 +02:00
Arie Catsman
0b691f9393 Improve number platform test COV for enphase_envoy (#122163)
* Improve number platform COV for enphase_envoy

* remove use of rand in pytest_number of enphase_envoy
2024-07-19 11:47:40 +02:00
Franck Nijhof
bcf4c73f32 Migrate Wiz to config entry runtime data (#122091) 2024-07-19 11:36:59 +02:00
G Johansson
ca4c617d4b Add TURN_OFF/TURN_ON feature flags for fan (#121447) 2024-07-19 11:35:24 +02:00
Åke Strandberg
172778053c Add select platform to myuplink (#118661) 2024-07-19 11:29:58 +02:00
G Johansson
f5f9480b5a Deprecate simulated integration (#122166) 2024-07-19 11:26:05 +02:00
Steve Repsher
e50802aca3 Add static routes for frontend modern and legacy service workers (#120488) 2024-07-19 10:53:37 +02:00
Jeef
de18be235d Add Sensors to Weatherflow Cloud (#111651)
* continue

* Rebase dev

* signle function to generate attr_entity info

* rewrite icon determination as an if block

* handling PR

* Removing wind sensors for now - separate future PR

* ruff

* Update coordinator.py

Thought i already did this

* Update sensor.py

* Update icons.json

* Update sensor.py

* Update homeassistant/components/weatherflow_cloud/entity.py

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

* working on a unified entity

* working on a unified entity

* sensor refactor

* addressing entity comment

* Update homeassistant/components/weatherflow_cloud/entity.py

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

* Update homeassistant/components/weatherflow_cloud/sensor.py

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

* doc

* pr comments again

* fixing PR

* fixing PR

* applying entity class in sensor

* Update homeassistant/components/weatherflow_cloud/sensor.py

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

* Cleaning up weather.py

* station id cleanup for weather class

* rewrite adding sensors the correct way

* Adding snapshot testing

* snapshot update

* added total class

* updated snapshots

* minor tweak

* snapshot away

* adding more coverage

* switch back to total

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-19 10:30:01 +02:00
Kristof Mariën
7810dc213a Load correct Renson fan speed when breeze level is set (#121960)
Renson: Load correct fan speed when breeze level is set
2024-07-19 10:17:45 +02:00
Brent Petit
ba5e3ca44b Remove use of deprecated set_aux_heat call from climate _async_reproduce_states (#121873) 2024-07-19 10:14:12 +02:00
rrooggiieerr
e2c6b7915e Buienradar textual improvements (#122095) 2024-07-19 10:12:58 +02:00
Jan Bouwhuis
5b4dd07189 Deprecate topic_template and payload_template for mqtt publish action (#122098)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-07-19 10:10:38 +02:00
G Johansson
362c772d67 Add config flow to worldclock (#121775) 2024-07-19 10:08:14 +02:00
Matrix
339b5117c5 Add default value for YoLink thermostat (#122114) 2024-07-19 10:05:24 +02:00
Sid
c8a6c6a5c1 Add fallback for webmin systems without MAC address (#113261) 2024-07-19 10:01:46 +02:00
Austin Mroczek
53870617e8 Add binary sensors to TotalConnect (#121888)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-07-19 09:35:54 +02:00
Mr. Bubbles
24144c5855 Fix KeyError in config flow of Bring integration (#122136) 2024-07-19 09:11:29 +02:00
ashalita
978de5b8b0 Upgrade pycoolmasternet-async to 0.2.0 (#122139) 2024-07-19 09:10:47 +02:00
Dave T
1e59ce2909 Update deprecation warning for data_entry_flow (#122154) 2024-07-19 09:08:45 +02:00
J. Nick Koston
fb5443fe2f Add missing coverage for doorbird config_flow (#122146) 2024-07-19 09:08:43 +02:00
J. Nick Koston
dae23a8153 Add coverage for doorbird button platform (#122145) 2024-07-19 09:07:58 +02:00
Brett Adams
a2c2488c8b Add Tesla Fleet integration (#122019)
* Add Tesla Fleet

* Remove debug

* Improvements

* Fix refresh and stage tests

* Working oauth flow test

* Config Flow tests

* Fixes

* fixes

* Remove comment

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Remove TYPE_CHECKING

* Add more tests

* More tests

* More tests

* revert teslemetry change

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-07-19 09:05:27 +02:00
Duco Sebel
474e8b7a43 Implement model_id in HomeWizard (#122130)
* Add model_id and use hardcoded model names for HomeWizard

* Update names
2024-07-19 08:22:06 +02:00
b3nj1
243c16d194 Opower: add date sensors (#122138)
opower: Add diagnostic date sensors
2024-07-18 23:07:09 -07:00
J. Nick Koston
a0a5f640dc Add some basic tests for doorbird (#122135)
* basic tests

* basic tests

* basic tests

* basic tests

* cover

* cover

* Update tests/components/doorbird/test_init.py
2024-07-18 22:36:54 +02:00
Shay Levy
d2cc25cee6 Prevent connecting to a Shelly device that is already connected (#122105) 2024-07-18 15:27:03 -05:00
Steven B.
cf0aef079b Bump tplink dependency python-kasa to 0.7.0.5 (#122119) 2024-07-18 15:20:10 -05:00
Arie Catsman
6d725b5e34 Extend sensor platform tests for enphase_envoy (#122132)
* EnphaseTestSensor

* refactor chain use in sensor test of enphase_envoy
2024-07-18 21:50:50 +02:00
Marcel van der Veldt
3d3bc1cab1 Revert "Add mac address as connection for matter device (#121257)" (#122133) 2024-07-18 17:38:30 +02:00
Maciej Bieniek
bf0e5baa76 Add support for Shelly enum virtual component (#121997)
* Support enum virtual component

* Add tests

* Cleaning

* Improve test for select

* Use values

* Update tests

* Use the option title for sensor

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-18 17:55:14 +03:00
MatthewFlamm
f479b64ff9 Add forecast service call for extra attributes for nws (#117254)
* add service call

* fix snapshots in test

* add tests

* fix no data service;add test

* remove unreachable code

* use only extra attributes+context attributes

* detailed descr. only in twice daily; add dewpoint

* fix import from merge

* Remove dewpoint from twice daily.

nws recently removed it

* cleanup unused snapshots

* remove dewpoint; use short_forecast

* return [] for forecasts instead of None

* Use str for short_description

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-07-18 16:26:07 +02:00
Marc Mueller
ec937781ca Update pylint to 3.2.5 (#122126)
* Update pylint to 3.2.5

* Remove unused pylint disable comment
2024-07-18 15:54:54 +02:00
Arie Catsman
37426f7366 Add number platform test to enphase_envoy (#122117)
* Add number platform test to enphase_envoy

* Use ATTR_VALUE in enphase_envoy number test
2024-07-18 15:42:57 +02:00
Arie Catsman
d983e3b25d Add select platform test to enphase_envoy (#122127) 2024-07-18 14:20:05 +02:00
Marc Mueller
58d4e72996 Update yt-dlp to 2024.07.16 (#122124) 2024-07-18 14:07:31 +02:00
Josef Zweck
02bb1ec8e7 Add reconfigure step to tedee (#122008)
* Add reconfigure to tedee

* assert data update

* add rconfigure_confirm to strings

* Update integration name

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-07-18 13:00:35 +02:00
Arie Catsman
f551130d65 Add binary_sensor platform test to enphase_envoy (#122120) 2024-07-18 12:45:03 +02:00
Joakim Plate
42610f4e09 Add diagnostic information to DSMR (#122041)
* Add diagnostic information to DSMR

Switches to runtime_data to get access
to the last telegram received.

* Correct import of domain

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-07-18 11:57:11 +02:00
Franck Nijhof
41d75e159b Update wled to 0.19.2 (#122101)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-18 10:09:12 +02:00
Brett Adams
b06d3fe3b7 Platinum quality for Tessie (#121962) 2024-07-18 09:38:26 +02:00
J. Nick Koston
e4ef4b81ba Skip poll of HKC accessory if reachable and chars are watchable (#116200) 2024-07-18 08:36:45 +02:00
Erik Montnemery
0927dd9090 Raise repair issues when scripts can't be set up (#122087) 2024-07-18 08:34:41 +02:00
J. Nick Koston
e2276458ed Fix homekit_controller tests to avoid global aid generation (#119852) 2024-07-17 19:10:02 -05:00
Paulus Schoutsen
454ca0ce95 Add timer support to mobile app (#121469)
* Add timer support to mobile app

* Fix tests

* Make it time-sensitive
2024-07-17 18:40:05 -05:00
J. Nick Koston
4ae6e38800 Bump govee-ble to 0.38.0 (#122099) 2024-07-17 22:05:27 +02:00
Steven B.
55cee89392 Update tplink device config during reauth flow (#122089) 2024-07-17 14:07:53 -05:00
Michael Hansen
fa0a5451b9 Split up tests to avoid CI timeouts (#122096) 2024-07-17 20:32:26 +02:00
Aidan Timson
52b90621c7 System Bridge coordinator and connector refactor (#114896)
* Update systembridgeconnector to 5.0.0.dev2

* Refactor

* Move out of single use method

* Update systembridgeconnector to 4.1.0.dev0 and systembridgemodels to 4.1.0

* Refactor WebSocket connection handling in SystemBridgeDataUpdateCoordinator

* Remove unnessasary fluff

* Update system_bridge requirements to version 4.1.0.dev1

* Set systembridgeconnector to 4.1.0

* Fix config flow tests

We'll make this better later

* Add missing tests for media source

* Update config flow tests

* Add missing check

* Refactor WebSocket connection handling in SystemBridgeDataUpdateCoordinator

* Move inside try

* Move log

* Cleanup log

* Fix disconnection update

* Set unregistered on disconnect

* Remove bool, use listener task

* Fix eager start

* == -> is

* Reduce errors

* Update test
2024-07-17 18:39:24 +02:00
Jan Bouwhuis
843fae825f Revert "Remove stale template_topic code for mqtt publish service" (#121758)
Revert "Remove stale `template_topic` code for mqtt publish service (#121604)"

This reverts commit 5b25c24539.
2024-07-17 17:56:34 +02:00
Franck Nijhof
e6dec7c856 Migrate HomeWizard to config entry runtime data (#122088) 2024-07-17 10:20:31 -05:00
Franck Nijhof
7a4e40ade0 Remove Markdown from service action descriptions (#122077) 2024-07-17 10:20:19 -05:00
Robert Resch
10c084c6e0 Add created_at/modified_at to label registry (#122078) 2024-07-17 16:36:14 +02:00
Franck Nijhof
8ae4c4445d Clean up old migration in HomeWizard (#122086) 2024-07-17 16:18:21 +02:00
Erik Montnemery
07ceafed62 Enable strict typing on script integration (#122079) 2024-07-17 15:11:06 +02:00
Arie Catsman
1e8da192b6 Add switch platform test to enphase_envoy (#122068)
* Add switch platform test to enphase_envoy

* review feedback Use HA SWITCH_DOMAIN

* Only use SWITCH_DOMAIN for service call
2024-07-17 14:51:02 +02:00
Brett Adams
57e233d30f Bump tesla-fleet-api (#122073) 2024-07-17 13:59:52 +02:00
Erik Montnemery
efb7bede40 Enable strict typing on script helper (#122075) 2024-07-17 13:51:59 +02:00
Robert Resch
a0f91d27a3 Add created_at/modified_at to floor registry (#122071) 2024-07-17 13:18:26 +02:00
Erik Montnemery
385f5be7e8 Remove dead code from script helper (#122074) 2024-07-17 13:16:57 +02:00
Guido Schmitz
7bf4e4779c Use model_id in devolo_home_control (#122066) 2024-07-17 13:09:56 +02:00
Erik Montnemery
6921e053e4 Move recorder data migration implementation to migrators (#122045) 2024-07-17 10:59:58 +02:00
ashionky
7f76de2c7a Bump refoss to v1.2.4 (#122063)
* 1.2.2

* 1.2.3

* 1.2.4

* 1.2.4
2024-07-17 10:29:41 +02:00
Robert Resch
35f84f32d6 Add created_at/modified_at for area registry (#122014) 2024-07-17 09:54:06 +02:00
Erik Montnemery
054242ff0f Require specifying extended address in otbr WS API calls (#108282)
Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-07-17 09:04:54 +02:00
Maciej Bieniek
14ec7e5f76 Set DeviceInfo.model_id in Shelly integration (#122040) 2024-07-17 09:04:40 +02:00
Stefan Agner
0aea9b0edb Read color temperature range from Matter device if supported (#122054) 2024-07-17 01:25:28 +02:00
Franck Nijhof
1b6f880a27 Add model_id to Tuya devices, mark services correctly (#122043) 2024-07-17 00:09:18 +02:00
Stefan Agner
d0c1632976 Drop spurious log messages in Matter bridge device removal (#122036)
Don't log a message when a device is removed from the Matter bridge.
2024-07-16 23:55:33 +02:00
Franck Nijhof
dc9b25af1c Change model to model_id in LaMetric (#122044) 2024-07-16 23:48:34 +02:00
Guido Schmitz
0ad2398bda Use model_id in devolo_home_network (#122048) 2024-07-16 22:39:00 +02:00
Michael
89198b0512 Fix flakey tibber tests (#121993) 2024-07-16 22:36:31 +02:00
Joakim Plate
8d290dd9d6 Convert arcam_fmj to runtime data (#122047) 2024-07-16 22:35:04 +02:00
Erik Montnemery
9970b7eece Refactor recorder data migration (#121009)
* Refactor recorder data migration

* Fix stale docstrings

* Don't store a session object in BaseRunTimeMigration instances

* Simplify logic in EntityIDMigration.migration_done

* Fix tests
2024-07-16 21:50:19 +02:00
Arie Catsman
baa97ca981 Add fixture files to Enphase_Envoy tests (#121864)
* Add fixture files to Enphase_Envoy tests

* optimize fixtures in enphase_envoy conftest

* combine setup_enphase_envoy and mock_envoy in enphase_envoy tests

* Revert "combine setup_enphase_envoy and mock_envoy in enphase_envoy tests"

This reverts commit ec072c4726.

* Rework enphase tests

* Rework enphase tests

* reset diagnostics test snapshot

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-07-16 21:14:46 +02:00
Erik Montnemery
a22e12dac9 Refactor function recorder.migration._apply_update (#122023)
* Refactor function recorder.migration._apply_update

* Remove _SchemaVersionMigrators dict
2024-07-16 20:28:03 +02:00
Erik Montnemery
d8440e809a Avoid mutating database schema definitions during schema migration (#122012)
* Avoid mutating database schema definitions during schema migration

* Adjust test when using mysql

* Address review comment
2024-07-16 20:27:49 +02:00
J. Nick Koston
c860b6cd4b Bump govee-ble to 0.37.0 (#122037) 2024-07-16 13:17:15 -05:00
Robert Svensson
aeabe3ab95 Mark UniFi power cycle button as unavailable if PoE is not enabled on port (#122035) 2024-07-16 20:16:36 +02:00
J. Nick Koston
4bcdb551d4 Bump govee-ble to 0.36.1 (#122030)
changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.34.0...v0.36.1

more prep to add the event platform
2024-07-16 17:29:43 +02:00
Joost Lekkerkerker
b122c2932a Add JakeBosh as Knocki codeowner (#122026) 2024-07-16 15:54:40 +02:00
J. Nick Koston
8082808ec2 Bump govee-ble to 0.34.0 (#122028) 2024-07-16 15:47:58 +02:00
HarvsG
3a0b3a4589 Log tools sent to OpenAI (#122024) 2024-07-16 15:16:50 +02:00
Joost Lekkerkerker
f8ba4d41ba Add support for adding model_id in device info (#121989) 2024-07-16 15:12:25 +02:00
Erik Montnemery
336740dbfa Add recorder migration test starting with schema version 9 (#122011) 2024-07-16 15:12:23 +02:00
Erik Montnemery
ea29c2c4d4 Improve tests/patch_time.py (#122017) 2024-07-16 14:22:22 +02:00
Erik Montnemery
dbe68ca057 Minor adjustment of recorder migration (#122020) 2024-07-16 14:20:23 +02:00
G Johansson
62cc868150 Bump python-holidays to 0.53 (#122021) 2024-07-16 13:47:11 +02:00
Jan Bouwhuis
3304e18316 Bump incomfortclient to v0.6.3-1 (#122013) 2024-07-16 13:23:39 +02:00
Glenn Waters
6645932fb7 Fix for Environment Canada date being wrong after midnight (#121850)
* Use async_connect in newly bumped 0.5.8 UPB library.

* Fix tests.

* Fix date being wrong after midnight for Environment Canada

* Fix typing.

* Add test.

* Formatting.

* Remove tests until can be added properly.

* Add weather tests back.

* Fix tests

* Change of tactic for determining previous day's data.

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-07-16 11:57:37 +02:00
jan iversen
bc7d2d2195 Remove modbus codeowner, and downgrade to quality "No score" (#122010)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-07-16 11:26:44 +02:00
Joakim Plate
22d977acb0 Rename dsmr integration to be more generic (#121968) 2024-07-16 11:15:17 +02:00
Stefan Agner
234870538d Prevent removal of complete bridge when removing a device from Matter (#121987)
* Prevent removal of complete bridge when removing a device from Matter

Currently, when a device is removed from Matter, the complete bridge is
being removed. This might not be the user intention. Bridged devices
themselves can't be deleted really, as they are still part of the
bridge.

Ideally, this should be fixed in the UI (remove the Delete button in
this case). But as a workaround, we can prevent the removal of the
complete bridge by disallowing to remove the bridged device itself.

This also improves deleting when the bridge is already removed from
the Server through some other means: In this case, we delete all devices
at once.

* Update homeassistant/components/matter/__init__.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-07-16 10:19:55 +02:00
Franck Nijhof
2f0870a063 Adjust issue description in automations fix flow (#122007) 2024-07-16 09:27:54 +02:00
J. Nick Koston
2160f981c2 Convert mopeka to use entry.runtime_data (#121973) 2024-07-16 09:02:32 +02:00
J. Nick Koston
e01c605d04 Bump uiprotect to 5.3.0 (#122005) 2024-07-16 09:01:45 +02:00
Joost Lekkerkerker
d81f6fa8f2 Make filter a helper (#121994) 2024-07-16 08:47:46 +02:00
J. Nick Koston
d0233d01da Bump govee-ble to 0.33.0 (#122004) 2024-07-16 08:37:33 +02:00
Björn Ebbinghaus
2723ab3b27 Add mac address as connection for matter device (#121257) 2024-07-16 00:54:16 +02:00
Maciej Bieniek
260e98c3f7 Add support for Shelly number virtual component (#121894)
* Support number component in field mode

* Support number in label mode

* Add tests

* Add mode_fn

* Add support for number component in slider mode

* Add comment

* Suggested change

* Revert max_fn

* Change unit 'min' to 'Hz' in test

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-15 22:26:12 +02:00
Franck Nijhof
a9bf12f102 Rename Services to Actions in translation strings (#121777) 2024-07-15 21:19:25 +02:00
Michael
190f12cead Bump python-homeassistant-analytics to 0.7.0 (#121992)
bump python-homeassistant-analytics to 0.7.0
2024-07-15 21:08:00 +02:00
Joost Lekkerkerker
026538b6dc Disable concord232 integration (#121974)
* Disable concord232 integration

* Fix
2024-07-15 20:54:07 +02:00
Álvaro Fernández Rojas
e9d4c03300 Update aioairzone to v0.8.0 (#121991)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-07-15 20:49:21 +02:00
Joost Lekkerkerker
74f04a1ede Move licenses to right list (#121986) 2024-07-15 20:06:52 +02:00
J. Nick Koston
33cb674a4b Bump yalexs to 6.4.3 (#121984) 2024-07-15 19:35:52 +02:00
Joost Lekkerkerker
d7e33429e3 Disable MVG integration (#121975)
Disable MVGLive integration
2024-07-15 17:51:41 +02:00
Joost Lekkerkerker
77f10a23b0 Make Bayesian a helper (#121976) 2024-07-15 16:53:21 +02:00
Joost Lekkerkerker
c6a0c20c64 Disable Dovado integration (#121871) 2024-07-15 10:22:01 +02:00
Richard Kroegel
99f01ac61e Fix BMW remaining fuel device class (#119172)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-07-15 09:23:05 +02:00
mvn23
894f3fe439 Fix opentherm_gw availability (#121892) 2024-07-15 09:20:32 +02:00
Scott K Logan
df00e1a65b Fix rainforest_raven closing device due to timeout (#121905) 2024-07-15 09:10:50 +02:00
Tomasz Gorochowik
ef7a84d3f4 Fix enigma2 mute (#121928) 2024-07-15 09:09:19 +02:00
Sid
3b95e88ff7 Bump ruff to 0.5.2 (#121946) 2024-07-15 09:00:48 +02:00
dependabot[bot]
6109b9206c Bump github/codeql-action from 3.25.11 to 3.25.12 (#121963)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-15 08:57:39 +02:00
Maciej Bieniek
50751574b4 Fix configuration_url for Shelly device using IPv6 (#121939)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-15 08:31:44 +02:00
Álvaro Fernández Rojas
9f53d0ccd9 Rename Airzone system_zone_id to system_id (#121931) 2024-07-15 01:39:59 +02:00
Kevin Stillhammer
ab945ee76e Add Broadlink select platform (#121797)
* Add broadlink select platform

* Apply strings.json feedback

* Remove obsolete Service Exception

* Use day names instead of IDs

* Use list()
2024-07-14 23:59:24 +02:00
J. Nick Koston
6d8f99903d Migrate lutron_caseta to use entry.runtime_data (#121903)
* Migrate lutron_caseta to use entry.runtime_data

* Migrate lutron_caseta to use entry.runtime_data
2024-07-14 23:26:12 +02:00
J. Nick Koston
73b836df55 Use dispatcher for doorbird event entities (#121825)
* Use dispatcher for doorbird event entities

https://github.com/home-assistant/core/pull/121114#discussion_r1668171539

* Update homeassistant/components/doorbird/view.py
2024-07-14 23:25:04 +02:00
J. Nick Koston
73f6e3c07b Narrow sqlite database corruption check to ensure disk image is malformed (#121947)
* Narrow sqlite database corruption check to ensure disk image is malformed

The database corruption check would also replace the database when it
locked externally instead of only when its malformed.

This was discovered in https://github.com/home-assistant/core/issues/121909#issuecomment-2227409124
when a user did a manual index creation while HA was online

* tweak

* tweak

* fix

* fix
2024-07-14 23:23:07 +02:00
J. Nick Koston
19d2d023ab Ensure states table rebuild still happens if the event_id index was removed (#121938)
* Ensure states table rebuild still happens if the event_id index was removed

If ix_states_event_id was removed by the foreign key still
exists, the states table would not get rebuilt. This should
not happen under normal circumstances and seems to only be
possible if the index was removed manually or Home
Assistant was restarted forcefully in the middle
of a previous migration from years ago.

* cover

* fix tests

* mysql wont allow at that point but thats ok as long as its gone at the end
2024-07-14 23:20:52 +02:00
David F. Mulcahey
1d62f0e380 Bump ZHA lib to 0.0.23 (#121900) 2024-07-14 03:59:29 +02:00
David F. Mulcahey
342e6a503a Fix group operations in ZHA websocket API (#121881) 2024-07-14 03:25:15 +02:00
Álvaro Fernández Rojas
c044417837 Dynamically add Airzone entities (#121891)
* airzone: reload entry on new devices

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Revert "airzone: reload entry on new devices"

This reverts commit 3ecc0844e4.

* airzone: sensor: dynamically add new entities

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: restore reverted airzone tests

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: sensor: code fixes

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: water_heater: dynamically add entities

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: binary_sensor: dynamically add entities

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: select: dynamically add entities

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: climate: dynamically add entities

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone: use freezer

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: call async_add_entities once

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: wrap async_add_listener on async_on_unload

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone: reduce number of entity listeners

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-07-13 21:45:08 +02:00
Jan Bouwhuis
3111951757 Fix alexa does to check current_position correctly when handling cover range changes (#121798) 2024-07-13 16:10:09 +02:00
Maciej Bieniek
a34858a567 Use parametrize in tests for Shelly boolean virtual component (#121895)
Use parametrize in tests

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-13 15:27:17 +03:00
J. Nick Koston
62613af033 Migrate hunterdouglas_powerview to use entry.runtime_data (#121887) 2024-07-13 12:38:47 +02:00
Shai Ungar
2dec7136c8 Address post merge review on israel rail (#121872)
* Address late israel rail review

* transfers => trains
2024-07-13 10:54:27 +02:00
Jordi
662760360a Bump aioaquacell to 0.2.0 (#121876) 2024-07-13 10:04:51 +02:00
J. Nick Koston
9e259cbf2d Remove unused code in doorbird (#121884) 2024-07-12 22:39:58 -07:00
Avi Miller
5f33e85b30 Initial support for LIFX Ceiling SKY effect (#121820) 2024-07-12 21:16:16 -05:00
dougiteixeira
162b734be7 Add config flow for select platform in Template (#121809) 2024-07-12 17:50:02 +02:00
Allen Porter
a2fab98358 Remove an unneeded test dependency on pydantic in matrix (#121860) 2024-07-12 17:45:04 +02:00
Klaas Schoute
0d27cdc845 Add inverters to Autarco integration (#121779) 2024-07-12 16:54:22 +02:00
J. Nick Koston
a8321fac95 Add reauth support to doorbird (#121815) 2024-07-12 16:53:39 +02:00
Franck Nijhof
726fcb485d Extend search with support for integrations (#121765) 2024-07-12 16:31:49 +02:00
J. Nick Koston
2e71c8d43b Fix homekit linked doorbell and motion firing on reload (#121818) 2024-07-12 16:29:55 +02:00
J. Nick Koston
a67b6c5ba6 Avoid recording additional light attributes (#121776) 2024-07-12 16:27:50 +02:00
J. Nick Koston
8a52ffb967 Use a listcomp for more history results (#121830) 2024-07-12 16:10:21 +02:00
Marcel Vriend
156e92a4cd Fix too verbose HTTP logging for Azure Data Explorer (#121802) 2024-07-12 16:09:44 +02:00
Joost Lekkerkerker
5f02f3caa9 Disable blinkstick integration (#121846) 2024-07-12 16:09:07 +02:00
Dave T
62b9b34561 Fix typo in Template switch (#121856) 2024-07-12 16:03:24 +02:00
G Johansson
df85067cae Add device link to History stats helper (#121848) 2024-07-12 16:01:50 +02:00
Joakim Plate
a0d0e0f4a9 Correct deprecated telegram usage in dsmr (#121847) 2024-07-12 16:00:27 +02:00
J. Nick Koston
244af091b8 Bump DoorBirdPy to 3.0.2 (#121823) 2024-07-12 15:59:10 +02:00
Simone Chemelli
f260b048d6 Bump boto3, botocore and aiobotocore (#121773) 2024-07-12 15:55:08 +02:00
J. Nick Koston
ebd50d327b Log add/remove index complete at the same level as when it starts (#121852) 2024-07-12 15:54:38 +02:00
Jan-Philipp Benecke
6a86cdf3f5 Add missing translations to Roborock (#121796) 2024-07-12 15:51:18 +02:00
G Johansson
1acbcf921a Fix schema and strings in template switch (#121843) 2024-07-12 15:50:21 +02:00
Joost Lekkerkerker
12384104f4 Fix Mealie mealplan service date parsing (#121844) 2024-07-12 15:21:48 +02:00
Maciej Bieniek
3ef1e5816e Add support for Shelly text virtual component (#121735)
* Add support for text component

* Add tests

* Improve const names

* Remove unnecessary code

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-12 12:58:21 +02:00
Jan Rieger
48978fb7f6 Add configuration_url to AVM FRITZ!Box Call Monitor (#121836) 2024-07-12 09:51:17 +02:00
starkillerOG
97aaae1372 Reolink media second lens (#121800)
DUO lens camera distinguish between lenses for media playback
2024-07-12 09:13:55 +02:00
J. Nick Koston
cdf7ecebc0 Make BaseCoordinatorEntity.should_poll a cached_property since it never changes (#121826) 2024-07-12 00:39:22 -05:00
Shay Levy
cdb26ef8a3 Cleanup Shelly unused strings for removed valve switch (#121813) 2024-07-12 05:44:25 +01:00
J. Nick Koston
76d6a1fe13 Use identity check for ESPHome sensor device_class (#121828) 2024-07-11 22:47:32 -05:00
J. Nick Koston
df8c949884 Migrate esphome to use shorthand available attr (#121827) 2024-07-11 22:47:10 -05:00
Avi Miller
adb88f0165 Bump aiolifx to 1.0.5 (#121824) 2024-07-11 22:21:45 -05:00
Glenn Waters
c84fe04d6b Use async_connect in newly bumped 0.5.8 UPB library (#121789) 2024-07-11 16:14:22 -05:00
ollo69
86db976ed7 Bump PySwitchbot to 0.48.1 (#121804) 2024-07-11 16:12:33 -05:00
Steven B
e269ff617c Bump python-kasa to 0.7.0.4 (#121791) 2024-07-11 19:19:31 +02:00
Álvaro Fernández Rojas
414aee395e Update aioairzone-cloud to v0.5.4 (#121787) 2024-07-11 18:45:09 +02:00
Joost Lekkerkerker
3be95ebc87 Add verify SSL option to Mealie (#121767) 2024-07-11 17:23:26 +02:00
Allen Porter
ede130aa53 Pin mashumaro version >= 3.13.1 for python 3.12.4 compatibility. (#121782)
Pin mashumaro version for python 3.12.4 compatibility.
2024-07-11 08:23:10 -07:00
Josef Zweck
21d35ff311 Bump pytedee_async to 0.2.20 (#121783) 2024-07-11 17:22:10 +02:00
J. Nick Koston
8fb700c30e Add some missing tplink ouis (#121785) 2024-07-11 17:18:45 +02:00
Steven B
2148cfc899 Fix tplink bug changing color temp on bulbs with light effects (#121696) 2024-07-11 10:10:47 -05:00
mkmer
c40a9ac4b5 Remove unused code in blink (#121780)
Remove unused code
2024-07-11 16:12:05 +02:00
J. Nick Koston
ab7c4244d2 Pre-configure default doorbird events (#121692) 2024-07-11 11:31:29 +02:00
Tsvi Mostovicz
f40897b54c Add Jewish Calendar reconfiguration test (#118833)
* Revert "Remove flaky tests"

This reverts commit c4de9fdcbe.

* Change reconfigure test to be based on data

* Don't assert using internals

* Fix assertions to be on config entry
2024-07-11 11:17:12 +02:00
Joost Lekkerkerker
73475aa675 Dynamically create and delete todo lists in mealie (#121710) 2024-07-11 10:19:45 +02:00
tronikos
c223709c7c Bump opower to 0.5.2 to fix 403 forbidden errors for users with multiple accounts (#121762) 2024-07-11 10:14:11 +02:00
dougiteixeira
52454f5218 Add config flow for platform switch in Template (#121639) 2024-07-11 10:11:31 +02:00
Franck Nijhof
f94b28f72d Add button group support (#121715)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-07-11 09:37:32 +02:00
Jan Bouwhuis
acb4a92628 Revert "Add mqtt automation publish test with template rendering" (#121757) 2024-07-11 09:36:14 +02:00
Brett Adams
f8015a7abc Add test coverage for Tessie seat coolers (#121742) 2024-07-11 09:13:50 +02:00
Joost Lekkerkerker
4c972694cd Add reconfigure flow to Mealie (#121750) 2024-07-11 09:11:59 +02:00
Mr. Bubbles
c6f1ec34e2 Fix bugs Habitica to-do lists (#121755) 2024-07-11 09:11:04 +02:00
J. Nick Koston
43596f22a4 Fix recorder max backlog calculation being too small (#121739) 2024-07-11 09:09:35 +02:00
Abílio Costa
67fee5be31 Update Idasen Desk library to 2.6.2 (#121729) 2024-07-11 09:07:18 +02:00
Luca Angemi
c89de2e6a6 Append multiple rows in Google Sheets (#120829)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-07-11 09:05:22 +02:00
Brett Adams
307ae53066 Add sunroof to Tessie (#121743) 2024-07-11 09:03:46 +02:00
J. Nick Koston
322553b8a9 Bump pyserial-asyncio-fast to 0.13 (#121745) 2024-07-11 08:58:09 +02:00
dependabot[bot]
fc770434f1 Bump actions/setup-python from 5.1.0 to 5.1.1 (#121749)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-11 08:52:35 +02:00
Shai Ungar
56b6747bc0 Add Israel rail integration (#121418)
* Add Israel Rail integration

* israel_rail tests

* israel_rail tests

* 1. use entry.runtime
2. DataConnection - data class
3. remove unique id from coordinator
4. use EntityDescription

* add a list of stations in user form

* 1. extend ConfigEntry
2. remove unused pop
3. use IsraelRailSensorEntityDescription to have only one kind of Sensor
4. add test for already configured
5. use snapshot in test

* change user step description

* 1. ConfigEntry[IsraelRailDataUpdateCoordinator]
2. remove redundant attributes
3. use snapshot_platform helper

* remove attr

* remove attr

* move test to test_init.py

* Fix

* Fix

* Fix

* Fix

* fix timezone

* fix

* fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-11 08:45:32 +02:00
Kevin Stillhammer
ea5eb0f8f2 Add Broadlink time platform (#121470)
* Add time platform

* Apply PR feedback

* Remove obsolete Exception raise
2024-07-11 08:18:10 +02:00
Klaas Schoute
bb81cfa57a Add diagnostics to Autarco integration (#121732) 2024-07-11 06:49:38 +02:00
J. Nick Koston
22c89356c0 Bump DoorBirdPy to 3.0.1 (#121733) 2024-07-10 18:22:56 -05:00
Joost Lekkerkerker
385576bfb2 Add reauth flow to Mealie (#121697) 2024-07-11 00:24:48 +02:00
atinsley
90af40b5c4 Add ability to control ventilated seats with Tessie integration (#121624) 2024-07-11 00:22:01 +02:00
Michael Hansen
417abda649 Add HassGetCurrentDate and HassGetCurrentTime intents (#121707) 2024-07-11 00:17:04 +02:00
Joost Lekkerkerker
0462582da3 Use new constants in todo tests (#121727) 2024-07-11 00:01:17 +02:00
Jan Stienstra
2fce71ea52 Retain Jellyfin config flow input on connection issue (#121618) 2024-07-10 23:54:02 +02:00
Robert Svensson
61111f5d71 Fix bad access to UniFi runtime_data when not assigned (#121725)
* Fix bad access to runtime_data when not assigned

* Fix review comment

* Clean up if statements
2024-07-10 23:53:11 +02:00
Maciej Bieniek
70f05e5f13 Add support for Shelly virtual boolean component (#119932)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-10 23:51:51 +02:00
Dave T
311b1e236a Don't patch libraries that aren't installed in pytest (#121628) 2024-07-10 23:50:47 +02:00
dougiteixeira
e0c7073da1 Add config flow for image platform in Template (#121648) 2024-07-10 23:49:24 +02:00
Tomek Porozynski
088717926d Update Supla async_set_cover_position to use "REVEAL_PARTIALLY" (#121663) 2024-07-10 23:48:08 +02:00
Klaas Schoute
664c4e6189 Fix small issue on Autarco integration (#121723) 2024-07-10 23:37:32 +02:00
J. Nick Koston
d87bbaa67a Migrate resetting doorbird favorites to a button (#121720) 2024-07-10 16:34:02 -05:00
Joost Lekkerkerker
af6c28983d Bump knocki to 0.3.1 (#121717) 2024-07-10 23:22:03 +02:00
puddly
9fcfc6d9f3 Bump ZHA dependencies (#121716) 2024-07-10 23:17:41 +02:00
Joost Lekkerkerker
e56f8d795f Add constants for todo services (#121616) 2024-07-10 23:15:03 +02:00
Joakim Plate
7ed5feee92 Extend generic hygrostat/thermostat actuators using config flow (#121690) 2024-07-10 23:11:02 +02:00
Mr. Bubbles
f3fe61f929 Bump pyloadapi to v1.3.2 (#121709) 2024-07-10 23:08:25 +02:00
J. Nick Koston
4fd5ced1f5 Fix update happening too early in unifiprotect (#121714) 2024-07-10 23:06:58 +02:00
Klaas Schoute
fce68018b7 Add Autarco integration (#121600)
* Init Autarco integration

* Add integration code with tests

* Update every 5 minutes

* Process all feedback from Joost

* Bump lib to v2.0.0

* Add more then one site if present

* Fix issue with entity translation

* Update the test for sensor entities

* Fix round two based on feedback from Joost

* Add autarco to strict typing

* Update tests/components/autarco/test_config_flow.py

* Update tests/components/autarco/test_config_flow.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-10 23:05:31 +02:00
Noah Husby
abeac3f3aa Add config flow to Russound RIO integration (#121262)
* Add config flow to Russound RIO

* Ensure Russound RIO connection is handled at entry setup

* Add tests for Russound RIO config flow

* Add yaml configuration import to Russound RIO

* Use runtime_data to store Russound RIO client

* Seperate common import and user config logic for Russound RIO

* Update config flow to use aiorussound

* Add MAC address as unique ID for Russound RIO

* Fix pre-commit for Russound RIO

* Refactor config flow error handling for Russound RIO

* Add config flow import abort message for no primary controller

* Add common strings to Russound RIO

* Use reference strings for Russound RIO issue strings

* Remove commented out test fixture from Russound RIO

* Clean up test fixtures for Russound RIO

* Remove model from entry data in Russound RIO

* Clean up Russound client mock

* Clean up Russound test fixtures

* Remove init tests and clean up Russound config flow cases
2024-07-10 23:02:33 +02:00
Joost Lekkerkerker
924e767736 Bump knocki to 0.3.0 (#121704) 2024-07-10 21:53:11 +02:00
Sid
3142f52a79 Add Ruff refurb rules (#121701) 2024-07-10 21:47:40 +02:00
Andrew Jackson
a9c9963f0f Mealie min version check (#121677) 2024-07-10 21:25:49 +02:00
Jan Bouwhuis
71e5ffb2bd Add mqtt automation publish test with template rendering (#121695) 2024-07-10 21:17:27 +02:00
Sid
319fdf42c3 Enable Ruff RUF017 (#121693) 2024-07-10 21:09:47 +02:00
Joost Lekkerkerker
1e0c03257c Add diagnostics to Mealie (#121700) 2024-07-10 21:09:03 +02:00
Lucas Mindêllo de Andrade
5dbf907323 Bump sunweg 3.0.2 (#121684) 2024-07-10 20:16:36 +02:00
Sid
cd4358ed9e Allow enigma2 devices to use different source bouquets (#121686) 2024-07-10 17:46:39 +02:00
Richard Kroegel
865190f0b0 Get suggested_unit_of_measurement via unit converter's UNIT_CLASS (#119196)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-07-10 17:45:07 +02:00
J. Nick Koston
0e0a339517 Convert doorbird to use asyncio (#121569) 2024-07-10 17:34:12 +02:00
puddly
020961d2d8 Fix ZHA select platform state restoration (#121646)
* Ensure `select` entities do not restore state if they were unavailable

* Add a unit test
2024-07-10 10:55:27 -04:00
J. Nick Koston
c81d5a1ac2 Handle empty entity_id in the recorder filter (#121681)
fixes #111745
2024-07-10 09:53:38 -05:00
Ravaka Razafimanantsoa
8b729e3c7d Bump switchbot-api to 2.2.1 (#121676) 2024-07-10 15:16:57 +02:00
J. Nick Koston
02b12837d4 Small cleanups to bond entities (#121641) 2024-07-10 15:12:46 +02:00
epenet
e812b0e02f Cleanup unnecessary returns (#121652) 2024-07-10 15:11:56 +02:00
epenet
b0837dd98f Use service_calls fixture in zha tests (#120996) 2024-07-10 15:06:49 +02:00
Joost Lekkerkerker
43806553fc Add service to import recipe to mealie (#121598) 2024-07-10 14:33:17 +02:00
Noah Husby
f762359abf Bump aiorussound to 1.1.2 (#121674) 2024-07-10 14:05:24 +02:00
Franck Nijhof
058b012e6c 2024.7.2 (#121671) 2024-07-10 13:18:48 +02:00
Jeef
0213f1c5c0 Add SimpleFIN integration (#108336)
* reset to latest dev branch

* Update homeassistant/components/simplefin/sensor.py

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

* formatting tweak

* Removed info errors

* fix bad billing error message

* addressing PR

* addressing PR

* reauth abort and already_confiugred added to strings.json

* adding the reauth message

* ruff

* update reqs

* reset to latest dev branch

* Update homeassistant/components/simplefin/sensor.py

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

* formatting tweak

* Removed info errors

* fix bad billing error message

* addressing PR

* addressing PR

* reauth abort and already_confiugred added to strings.json

* adding the reauth message

* ruff

* update reqs

* Update homeassistant/components/simplefin/__init__.py

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

* Addressing a few PR comments - removing nix - and adding runtime data

* updated comments

* rename config flow

* pulling reauth :( - inline stuff

* inline more

* fixed a tab issue

* reverting changes

* various PR updates and code removal

* generator async add

* Update homeassistant/components/simplefin/__init__.py

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

* Update homeassistant/components/simplefin/config_flow.py

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

* Update homeassistant/components/simplefin/config_flow.py

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

* Update homeassistant/components/simplefin/sensor.py

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

* Update homeassistant/components/simplefin/sensor.py

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

* always callable

* Update homeassistant/components/simplefin/coordinator.py

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

* no-verify

* type

* fixing missing domain

* it looks like this file is gone now

* typing

* sorta pass

* fix license

* Update homeassistant/components/simplefin/config_flow.py

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

* Update homeassistant/components/simplefin/entity.py

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

* addressing PR

* Update homeassistant/components/simplefin/strings.json

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

* move property to entity.py

* moved stuff out to else block

* Initial Snappshot Testing ... still have unadressed changes to make

* Addressing PR Comments

* pushing back to joost

* removing non-needed file

* added more asserts

* reducing mocks - need to fix patch paths still

* Changed patch to be more localized to config_flow

* Removed unneeded fixture

* Moved coordinator around

* Cleaning up the code

* Removed a NOQA"

* Upping the number of asserts

* cleanup

* fixed abort call

* incremental update - for Josot... changed a function signature and removed an annotatoin

* no-verify

* Added an abort test

* ruff

* increased coverage but it might not pass muster for JOOST

* increased coverage but it might not pass muster for JOOST

* Much nicer test now

* tried to simplify

* Fix nits

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-10 12:44:04 +02:00
Franck Nijhof
71370758a8 Bump version to 2024.7.2 2024-07-10 12:06:02 +02:00
Franck Nijhof
38a44676eb Block variable <=3.4.4 custom integration from breaking the recorder (#121670) 2024-07-10 12:01:11 +02:00
Marcel van der Veldt
05ce3d35b3 Matter lock state follow-up (#121669) 2024-07-10 12:01:08 +02:00
Marcel van der Veldt
2151086b0a Fix state for Matter Locks (including optional door sensor) (#121665) 2024-07-10 12:01:05 +02:00
Franck Nijhof
9c83af3789 Block places <=2.7.0 custom integration from breaking the recorder (#121662) 2024-07-10 12:01:01 +02:00
tronikos
ac3eecc879 Handle errors in Fully Kiosk camera (#121659) 2024-07-10 12:00:58 +02:00
Franck Nijhof
ec0910e3da Block icloud3 custom integration from breaking the recorder (#121658) 2024-07-10 12:00:55 +02:00
Maikel Punie
fd0c26cd56 Small fix in velbus cover for the assumed states (#121656) 2024-07-10 12:00:52 +02:00
Paul Bottein
a4c5dee082 Update frontend to 20240710.0 (#121651) 2024-07-10 12:00:48 +02:00
Joakim Plate
37c09dbdb6 Allow ambilight when we have connection (philips_js) (#121620) 2024-07-10 12:00:45 +02:00
Arie Catsman
73d1973625 Bump pyenphase to 1.20.6 (#121583)
bump pyenphase to 1.20.6
2024-07-10 12:00:42 +02:00
Glenn Waters
5a04a886cf Fix upb config flow connect (#121571) 2024-07-10 12:00:39 +02:00
Franck Nijhof
50802f84f0 Update tailscale to 0.6.1 (#121557) 2024-07-10 12:00:36 +02:00
Franck Nijhof
138b68ecc0 Update vehicle to 2.2.2 (#121556) 2024-07-10 12:00:33 +02:00
Christoph
e0b01ee94e Remove homematic state_class from GAS_POWER sensor (#121533) 2024-07-10 12:00:30 +02:00
J. Nick Koston
4f2c3df518 Fix person tracking in unifiprotect (#121528) 2024-07-10 12:00:26 +02:00
Paulus Schoutsen
51a6bb1c22 Include hass device ID in mobile app get_config webhook (#121496) 2024-07-10 12:00:23 +02:00
Ovidiu D. Nițan
6bf9ec69f3 Bump xiaomi-ble to 0.30.2 (#121471) 2024-07-10 12:00:19 +02:00
Joost Lekkerkerker
21309eeb5d Bump xiaomi-ble to 0.30.1 (#120743) 2024-07-10 12:00:14 +02:00
J. Nick Koston
0a1b46c52f Bump yalexs to 6.4.2 (#121467) 2024-07-10 11:52:56 +02:00
Jason R. Coombs
9512f9eec3 Bump jaraco.abode to 5.2.1 (#121446)
Bump dependency on jaraco.abode to 5.2.1.

Closes #121300
2024-07-10 11:52:53 +02:00
jan iversen
ab94422c18 Bump pymodbus to 3.6.9 (#121445)
Bump pymodbus 3.6.9.
2024-07-10 11:52:50 +02:00
Joost Lekkerkerker
ec105e5265 Fix Mealie URL field (#121434) 2024-07-10 11:52:47 +02:00
Joost Lekkerkerker
cadd8521ae Sort mealie mealplans (#121433) 2024-07-10 11:52:43 +02:00
Joost Lekkerkerker
8825c50671 Fix MPD config flow (#121431) 2024-07-10 11:52:40 +02:00
Michael
a72cc3c248 Allow current empty feeds to be configured in Feedreader (#121421) 2024-07-10 11:52:37 +02:00
G Johansson
780f7254c1 Fix feature flag in climate (#121398) 2024-07-10 11:52:34 +02:00
G Johansson
37621e77ae Fix timezone issue in smhi weather (#121389) 2024-07-10 11:52:31 +02:00
G Johansson
8017386c73 Fix unnecessary logging of turn on/off feature flags in Climate (#121387) 2024-07-10 11:52:28 +02:00
G Johansson
a5f4c25a2c Bump psutil to 6.0.0 (#121385) 2024-07-10 11:52:25 +02:00
Brett Adams
1d7bddf449 Fix initial Wall Connector values in Tessie (#121353) 2024-07-10 11:52:21 +02:00
Luke Lashley
711bdaf373 Bump anova-wifi to 0.17.0 (#121337)
* Bump anova-wifi to 0.16.0

* Bump to .17
2024-07-10 11:52:18 +02:00
Jan Temešinko
803d9c5a8e Fix ombi configuration validation (#121314) 2024-07-10 11:52:15 +02:00
Rasmus Lundsgaard
1133c41fa8 Fix empty list in kodi media_player (#121250)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-07-10 11:52:12 +02:00
Alan
a06af7ee93 LLM to handle int attributes (#121037) 2024-07-10 11:52:08 +02:00
Robert C. Maehl
c54717707e Direct Users to App-Specific Passwords for iCloud integration to prevent MFA spam (#120945)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-07-10 11:52:05 +02:00
J. Nick Koston
440d83d754 Remove legacy foreign key constraint from sqlite states table (#120779) 2024-07-10 11:51:59 +02:00
Franck Nijhof
42dcd693d5 Block variable <=3.4.4 custom integration from breaking the recorder (#121670) 2024-07-10 11:30:16 +02:00
tronikos
1925614a14 Handle errors in Fully Kiosk camera (#121659) 2024-07-10 11:21:38 +02:00
Marcel van der Veldt
42003ae5ac Matter lock state follow-up (#121669) 2024-07-10 11:20:26 +02:00
Maikel Punie
33df857283 Small fix in velbus cover for the assumed states (#121656) 2024-07-10 11:11:54 +02:00
Marcel van der Veldt
6702d232e2 Fix state for Matter Locks (including optional door sensor) (#121665) 2024-07-10 10:32:42 +02:00
Franck Nijhof
e9b7cc1eba Block places <=2.7.0 custom integration from breaking the recorder (#121662) 2024-07-10 10:24:44 +02:00
Franck Nijhof
65e03f952a Block icloud3 custom integration from breaking the recorder (#121658) 2024-07-10 09:47:15 +02:00
epenet
30b5297fde Small refactor to cleanup unnecessary returns (#121653) 2024-07-10 09:34:48 +02:00
epenet
86f7718c1f Adjust type hints for unnecessary returns in tests (#121657) 2024-07-10 09:30:50 +02:00
Paul Bottein
d10aa6656b Update frontend to 20240710.0 (#121651) 2024-07-10 09:29:22 +02:00
epenet
ff59adc661 Adjust type hints for unnecessary returns (#121650) 2024-07-10 09:26:29 +02:00
epenet
5d809f88ba Improve type hints in calendar tests (#121654) 2024-07-10 09:12:56 +02:00
Mike Lewis
8b0f28e7f4 Add Bromley to list of london air authorities (#121498) 2024-07-10 09:10:26 +02:00
epenet
7a337ecd1d Cleanup unnecessary definition in lamarzocco tests (#121655) 2024-07-10 09:08:39 +02:00
J. Nick Koston
fb758bd8b6 Migrate screenlogic to use entry.runtime_data (#121644) 2024-07-10 08:36:02 +02:00
J. Nick Koston
6f15352eda Convert nexia to use entry.runtime_data (#121640) 2024-07-10 08:35:13 +02:00
J. Nick Koston
bf09cee66f Migrate emonitor to entry.runtime_data (#121645) 2024-07-10 08:34:20 +02:00
David F. Mulcahey
0aa6a17da8 Prevent entity creation errors from causing all entities for a platform from loading in ZHA (#121631) 2024-07-10 08:31:24 +02:00
J. Nick Koston
4245357403 Convert solaredge to use entry.runtime_data (#121642) 2024-07-10 08:22:44 +02:00
David F. Mulcahey
72c3c0eb53 Bump ZHA lib to 0.0.19 (#121637) 2024-07-10 08:22:08 +02:00
J. Nick Koston
8d0d8fd006 Convert powerwall to use entry.runtime_data (#121643) 2024-07-10 08:20:29 +02:00
CrazyMan2000
9120115577 Split media player select input test (#121633) 2024-07-09 23:28:41 +02:00
Jan Bouwhuis
805d4fcc40 Do not use curr as abbreviation in alexa tests and remove conditions (#121627) 2024-07-09 22:58:22 +02:00
Diogo Gomes
92e6dacf14 Update CODEOWNERS of enphase_envoy (#121623) 2024-07-09 22:53:49 +02:00
dougiteixeira
d783813ba0 Add config flow for platform button in Template (#120886) 2024-07-09 21:20:18 +02:00
jan iversen
5e56c27703 Modbus, Remove duplicate address check (#121579) 2024-07-09 21:16:47 +02:00
G Johansson
9d2cf70ba5 Add constant for climate feature flag check (#121619) 2024-07-09 21:14:19 +02:00
Jan Stienstra
c5ced14473 Jellyfin - Improve unloading/reloading config entry (#121613) 2024-07-09 21:14:03 +02:00
epenet
bff663b3c1 Improve type hints in recorder result_processor (#121593) 2024-07-09 21:12:03 +02:00
Joakim Plate
f14777d0ae Allow ambilight when we have connection (philips_js) (#121620) 2024-07-09 21:10:15 +02:00
epenet
a4980cf0fd Improve type hints in zwave_js tests (#121594) 2024-07-09 20:13:47 +02:00
ilan
31dc80c616 Add binary sensor to madVR integration (#121465)
* feat: add binary sensor and tests

* fix: update test

* fix: use entity description

* feat: use translation key

* feat: implement base entity

* fix: change device classes

* fix: remove some types

* fix: coordinator.data none on init

* fix: names, tests

* feat: parameterize tests
2024-07-09 19:11:08 +02:00
Andrew Jackson
898803abe9 Add shopping lists to Mealie integration (#121534)
* Add mealie shopping lists & tests

* Add shopping_lists init failure

* Fix coordinator name

* Fixes

* Add available, fix merge

* Fixes

* Fixes

* Add todo failure tests

* Fix tests
2024-07-09 18:39:22 +02:00
Jan Bouwhuis
5b25c24539 Remove stale template_topic code for mqtt publish service (#121604) 2024-07-09 18:22:08 +02:00
CrazyMan2000
e44f00cf7c Add alexa remote support (#120878)
* Updated the AlexaModeController to support the remote domain. Also added an alexa entitiy adapter for the remote domain.

* Fixed copy paste mistake.

* Fixed power state for remove domain.

* Updated the CapabilityResource to support labels with the corresponding locale. This local is read from the users config.

* Add the alexa display category 'REMOTE' and use it for the remote capability.

* Revert "Updated the CapabilityResource to support labels with the corresponding locale. This local is read from the users config."

This reverts commit fbdf37904a.

* Fix error when the remote does not have an activtiy list.

* Add tests for the state report of a remote entity.

* Add a test for alexas set mode directive for a remote entitiy.

* Add a test for alexas TurnOn and TurnOff directives for a remote entity.

* Apply suggestions from code review

Fix copy paste mistakes.

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* Improve attribute name as suggested.

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* Add test case with zero and one activity.

* Add a comment why we use the mode controller instead of the input controller.

* Add test to check of the discovery returns all required interfaces for a remote entitiy.

* Tweak comment

* Add line breaks to fix max allowed chars per line.

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-07-09 18:03:47 +02:00
Paulus Schoutsen
154da1b18b Allow targeting conversation agent as pipeline (#119556)
* Allow targetting conversation agent as pipeline

* Test that we can use a conversation entity as an assist pipeline

* Add test for WS get

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-07-09 10:56:53 -05:00
Michael Hansen
69ed730101 Bump hassil to 1.7.3 for number word caching (#121608)
* Bump hassil to 1.7.3

* Add wildcard slot list name
2024-07-09 17:25:40 +02:00
Paulus Schoutsen
01861cd240 Ensure we prepare conversation pipeline when speech-to-text starts (#114665)
* Ensure we prepare conversation pipeline when speech-to-text starts

* Add lock around recognize

* Update homeassistant/components/conversation/default_agent.py

* Add lock around load intents
2024-07-09 09:58:52 -05:00
Michael Hansen
4498bf9ec4 Remove language lock from default agent and move around tests (#121531)
* Remove language lock

* Remove unsub for change events

* Remove redundant check

* Simplify intent loading

* Cache intent loading error

* Revert "Remove unsub for change events"

This reverts commit 575266abcd.

* guard instead of assert

* Some more cleanup

* No need to warn during prepare

* Some more cleanup

* Add more timing logs

* Split up tests and rely less on http

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-07-09 16:05:43 +02:00
Leonard Sperry
4a22b95620 Remove "unavailable" and "unknown" filters from Kafka integration (#121602) 2024-07-09 07:16:14 -06:00
Arie Catsman
592cfc9c17 Bump pyenphase to 1.20.6 (#121583)
bump pyenphase to 1.20.6
2024-07-09 12:52:04 +02:00
epenet
d4cc44d352 Improve type hints for webhook implementation in push (#121589)
Improve type hints in push webhook implementation
2024-07-09 12:16:23 +02:00
epenet
ba0cd595ff Improve type hints in device tracker implementations (#121585) 2024-07-09 12:06:49 +02:00
epenet
9ca398ef82 Improve type hints in webhook implementations (#121588) 2024-07-09 12:05:23 +02:00
epenet
7aada39b77 Improve type hints for webhook implementation in dialogflow (#121592) 2024-07-09 12:04:28 +02:00
Joost Lekkerkerker
a1fae0e0ce Fix missing validation and service definition in Mealie (#121578) 2024-07-09 11:55:12 +02:00
Leonard Sperry
cfabb778dd Add entity_id as key for kafka message (#121519)
Co-authored-by: Aaron Bach <bachya1208@gmail.com>
2024-07-09 08:44:49 +02:00
Brett Adams
48d9df74ed Add sunroof to Teslemetry (#121476) 2024-07-09 08:36:34 +02:00
Glenn Waters
b07fcb6a4a Fix upb config flow connect (#121571) 2024-07-09 08:32:34 +02:00
Robert Contreras
3ea694a069 Home Connect unit tests for light platform (#121576) 2024-07-09 08:31:41 +02:00
Franck Nijhof
9321bba61e Update vehicle to 2.2.2 (#121556) 2024-07-09 08:30:10 +02:00
Franck Nijhof
c13d5a663a Update tailscale to 0.6.1 (#121557) 2024-07-09 08:29:57 +02:00
Michael Hansen
6e85f09722 Revert webrtc to 1.2.3 (#121561) 2024-07-08 22:50:55 +02:00
Markus Jacobsen
45843a3112 Add Bang & Olufsen media_player testing (#120580) 2024-07-08 22:19:02 +02:00
Michael Hansen
2a31774f91 Bump webrtc-noise-gain to 1.2.5 (#121539) 2024-07-08 21:57:10 +02:00
Markus Jacobsen
f801649e9c Fix Bang & Olufsen wrong source being compared (#121512) 2024-07-08 21:48:07 +02:00
Cris-ET
60e1df2a87 Add new entities for the Growatt Storage inverter (#121507) 2024-07-08 21:47:40 +02:00
Christoph
5dbaaa9068 Remove homematic state_class from GAS_POWER sensor (#121533) 2024-07-08 21:38:09 +02:00
Franck Nijhof
10f3813ffd Update Home Assistant Wheels action to 2024.07.1 (#121555) 2024-07-08 21:35:12 +02:00
Franck Nijhof
71300b197a Update Home Assistant Wheels action to 2024.07.0 (#121552) 2024-07-08 21:18:01 +02:00
puddly
b754f03c11 ZHA as an external library (#120190)
Co-authored-by: David Mulcahey <david.mulcahey@icloud.com>
Co-authored-by: David Mulcahey <david.mulcahey@me.com>
2024-07-08 20:18:30 +02:00
Andrew Jackson
e11d24f06f Add myself as co-codeowner for Mealie integration (#121536)
* Add myself as co-codeowner for Mealie integration

* Update manifest.json

* Update homeassistant/components/mealie/manifest.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-08 18:58:10 +02:00
Joost Lekkerkerker
5f088e0501 Add Mealie service to get recipe (#121462) 2024-07-08 17:11:35 +02:00
J. Nick Koston
93cf8c1311 Fix person tracking in unifiprotect (#121528) 2024-07-08 07:58:18 -07:00
Cris-ET
3e8335f61b Define state_class for Growatt inverter entities (#121516) 2024-07-08 15:08:08 +02:00
tronikos
5f909d0c52 Fix unreleased breaking change in Google Cloud (#121523) 2024-07-08 14:34:18 +02:00
epenet
98651cbd2e Improve type hints in lovelace tests (#121520) 2024-07-08 14:04:11 +02:00
epenet
19e272a901 Improve type hints in iotawatt tests (#121505) 2024-07-08 13:31:05 +02:00
epenet
10ee554f1f Improve type hints in logi_circle tests (#121518) 2024-07-08 13:30:29 +02:00
epenet
f7825eb5b1 Improve type hints in lyric tests (#121517) 2024-07-08 13:30:01 +02:00
Kevin Stillhammer
8ab6a505a4 Write data to state after Broadlink entity added (#121493)
* Write data to ha after entity added

* Properly mock api return values

Some values like _attr_is_on were mapped to MagicMocks which led to them evaluating to True. Actually calling the update state method when adding the entities made that improper mocking come to the surface.

* Call _update_state instead of _recv_data
2024-07-08 13:15:17 +02:00
Cris-ET
bd4ef4b2ff Define state_class for Growatt storage entities (#121514) 2024-07-08 13:03:06 +02:00
epenet
242b28377d Improve type hints in kodi tests (#121508) 2024-07-08 12:57:52 +02:00
epenet
b048ad8afe Improve type hints in iqvia tests (#121506) 2024-07-08 12:57:19 +02:00
epenet
148803460b Improve type hints in kitchen_sink tests (#121509) 2024-07-08 12:54:43 +02:00
epenet
c4c623ea99 Improve type hints in kulersky tests (#121510) 2024-07-08 12:54:18 +02:00
epenet
4d68ae1199 Improve type hints in ipma tests (#121501) 2024-07-08 11:38:27 +02:00
epenet
3059bf0536 Improve type hints in insteon tests (#121504) 2024-07-08 11:34:50 +02:00
Paulus Schoutsen
1aa9588dcb Include hass device ID in mobile app get_config webhook (#121496) 2024-07-08 11:00:21 +02:00
Mr. Bubbles
00aafc0cf7 Add entity base class in Habitica integration (#121320)
* Sensor refactoring

* Change todo entities to use common base entity

* Requested changes

* Update button platform to use base class

* Update swtich platform to use base entity class
2024-07-08 10:18:09 +02:00
Mr. Bubbles
6350c5479b Add rest in the inn switch to Habitica integration (#121472)
* Add rest in the inn swich  to Habitica

* Move api call execution to coordinator
2024-07-08 09:58:33 +02:00
dependabot[bot]
ad47a7b8c6 Bump actions/upload-artifact from 4.3.3 to 4.3.4 (#121491)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 09:22:07 +02:00
dependabot[bot]
617db25efb Bump actions/download-artifact from 4.1.7 to 4.1.8 (#121490)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 09:21:52 +02:00
Mr. Bubbles
ea65ff5876 Add button platform to Habitica integration (#121461) 2024-07-08 09:10:28 +02:00
dougiteixeira
cf4bd7fd1c Refactor schema generation in Template integration (#120889)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-07-08 09:06:15 +02:00
Markus Jacobsen
e30f315565 Fix BangOlufsenSource enum member names (#116052) 2024-07-07 23:53:49 +02:00
Ovidiu D. Nițan
cd478c356e Bump xiaomi-ble to 0.30.2 (#121471) 2024-07-07 23:13:43 +02:00
J. Nick Koston
27a2114ba9 Bump yalexs to 6.4.2 (#121467) 2024-07-07 13:41:31 -07:00
J. Nick Koston
4cf733b9a2 Small cleanups to doorbird (#121454) 2024-07-07 13:25:13 -07:00
Jan Bouwhuis
8a28cbe9e2 Wait for conversation test init (#121464)
* Wait for conversation test init

* typo
2024-07-07 22:24:20 +02:00
J. Nick Koston
6129a37bb0 Fix flakey homekit reload test (#121463) 2024-07-07 21:52:44 +02:00
Michael
0558e480ce Add event entity to Feedreader (#118147) 2024-07-07 21:44:41 +02:00
Joost Lekkerkerker
f126360c67 Add Mealie service to get mealplan (#120824)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-07-07 21:19:20 +02:00
G Johansson
833ac4db49 Add config flow to history_stats helper (#121381) 2024-07-07 21:06:37 +02:00
David Knowles
72458d143d Add valve support to Hydrawise (#116302) 2024-07-07 20:42:45 +02:00
ilan
12228d8a00 Add madvr envy integration (#120382)
* feat: Add madvr envy

* fix: await and pass entry directly

* fix: add attributes and unique id for sensors

* fix: reflect power state well, improve state detection

* fix: don't connect on init, add options, add reload on change, keep on during test

* fix: cancel tasks on unload

* fix: test connection via library

* fix: wait for boot time

* docs: add readme and license

* fix: broken pipe in lib

* fix: detect out of band power off

* fix: improve extra attributes

* fix: fix unloading, add config flow test, limit to one platform

* fix: use conf, refresh coordinator, other comments

* fix: remove event data

* fix: fix tests passing, remove wake on lan

* fix: dont allow to proceed unless connection works

* chore: update dep

* fix: update config flow, add constants

* fix: write state, use runtime data instead

* fix: remove await

* fix: move unloading and stuff to coordinator/init

* fix: pass in config entry with correct type

* fix: move queue and tasks to library

* fix: config flow error flow, tests, name, and update lib

* fix: update lib, leave connection open on setup

* fix: update lib

* fix: address comments, remove wol from lib

* fix: remove unneeded options

* fix: remove fields

* fix: simplify code, address comments

* fix: move error to lib

* fix: fix test

* fix: stronger types

* fix: update lib

* fix: missing text from options flow

* chore: remove options flow

* chore: remove import

* chore: update comments

* fix: get mac from device, persist

* fix: add mac stuff to test

* fix: startup import errors

* chore: stale comment

* fix: get mac from persisted config

* chore: update lib

* fix: persist mac in a better way

* feat: use mac as unique ID for entry

* fix: use unique ID from mac, add proper device

* fix: will not be set in init potentially

* fix: access mac

* fix: optimize, move error to lib

* feat: add coordinator test, use conf

* fix: use one mock, add init test

* fix: not async

* feat: add remote test

* fix: types

* fix: patch client, expand remote tests

* fix: use snapshot test

* fix: update branding

* fix: add description, fix type check

* fix: update tests

* fix: test

* fix: update test

* fix: camelcase

* Fix

* feat: strict typing

* fix: strict typing in lib

* fix: type will never be None

* fix: reference to mac, all tests passing

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-07-07 20:41:53 +02:00
Christophe Gagnier
8110b60fc9 Use ConfigEntry runtime_data in TechnoVE (#121410) 2024-07-07 20:21:28 +02:00
Elliott Balsley
cd72bdd851 Add Prometheus fan_mode and climate_mode metrics (#120267)
Co-authored-by: Anton Tolchanov <1687799+knyar@users.noreply.github.com>
2024-07-07 19:39:54 +02:00
G Johansson
26bc37195e Add defrosting as HVACAction in ClimateEntity (#121448) 2024-07-07 18:54:40 +02:00
Robert Contreras
2def33b168 Home Connect unit tests for switch platform (#115456) 2024-07-07 18:30:59 +02:00
Jason R. Coombs
a5c9aa44bd Bump jaraco.abode to 5.2.1 (#121446)
Bump dependency on jaraco.abode to 5.2.1.

Closes #121300
2024-07-07 18:02:47 +02:00
Mr. Bubbles
751935539a Migrate Habitica Dailies and To-Do's to the todo platform (#116655)
* Add todo platform

* update for DataUpdateCoordinator

* set lastCron as dailies due date

* parse alternative duedate format

* fix tests

* send notification on item drop

* fix drop message

* update exception messages

* Simplified the update of user_fields by using set union

* move userFields to const

* Issue deprecation only if entity is acutally used

* Resolve issues

* user entity registry to get entity_id

* raise ServiceValidationError

* requested changes

* Move next_due_date helper function to util.py module

* some changes

* Move function to util.py
2024-07-07 17:50:27 +02:00
jan iversen
866cdcc993 Bump pymodbus to 3.6.9 (#121445)
Bump pymodbus 3.6.9.
2024-07-07 17:38:17 +02:00
Paulus Schoutsen
eb0f6f7088 Ensure intents_changed variable is always initialized (#121444) 2024-07-07 17:32:35 +02:00
Erwin Douna
fb8eeac563 Refactor Tado to use runtime_data (#121373) 2024-07-07 17:15:38 +02:00
Joost Lekkerkerker
1fefd396b9 Add mealie version to device info (#121443) 2024-07-07 17:13:15 +02:00
Thomas55555
67facdf3a5 Generate translation in vscode taks: Code Coverage (#120434)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-07-07 17:05:44 +02:00
Clifford Roche
27975c7517 Fix incorrect temperature in Gree if temp units changed on device (#121041) 2024-07-07 17:05:14 +02:00
J. Nick Koston
792c6a9cd9 Migrate doorbird to use entry.runtime_data (#121413) 2024-07-07 16:57:10 +02:00
Shai Ungar
b6609fa77c Deprecate the dynamic package sensors in seventeentrack (#116102)
* Add deprecation comments for the dynamic package sensors

* Add deprecation comments for the dynamic package sensors

* Add deprecation comments for the dynamic package sensors

add more information when retrieving packages from service call

* Add deprecation comments for the dynamic package sensors

update deprecation comment

* 1. 17Track repair flow
2. update deprecation comment

* 1. remove description_placeholders
2. 2024.8 deprecated

* Update homeassistant/components/seventeentrack/repairs.py

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

* 1. extract deprecated to constant
2. fix types
3. check for issue_id
4. add listener only when not deprecated
5. update which service to call

* Update homeassistant/components/seventeentrack/strings.json

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

* Update homeassistant/components/seventeentrack/repairs.py

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

* 1. move deprecate_sensor_issue to where needed
2. add entry_id to issue_id
3. use constant where needed

* update breaks in ha version

* Update homeassistant/components/seventeentrack/strings.json

* Remove obsolete tests

* Fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-07-07 16:55:38 +02:00
Joost Lekkerkerker
a66631f1ee Bump aiomealie to 0.6.0 (#121439) 2024-07-07 16:55:25 +02:00
Tsvi Mostovicz
de8415d5c7 Set Jewish Calendar quality scale (#120604) 2024-07-07 16:42:43 +02:00
dougiteixeira
0d48d5a5ec Remove device ID from config schema via YAML in helper template (#120708) 2024-07-07 16:40:02 +02:00
srwareham
76bdc4f5c4 Add configurable keep_alive to Ollama integration, change default to 5m (#119341)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-07-07 16:38:01 +02:00
Zack Cerza
6937aed9fe Handle more pushover exceptions during setup (#115802)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-07-07 16:36:16 +02:00
Jetsada Machom
959298d121 Add Tuya Smart Gardening system (#118335) 2024-07-07 16:34:30 +02:00
kingy444
9b4e64ab62 Bump pydaikin to 2.13.1 (#118679)
Co-authored-by: Fredrik Erlandsson <fredrik.e@gmail.com>
2024-07-07 16:34:05 +02:00
Elliott Balsley
275a7499b1 Add prometheus fan handler (#119805)
Co-authored-by: Anton Tolchanov <1687799+knyar@users.noreply.github.com>
2024-07-07 16:32:15 +02:00
Sid
e2141dc208 Add _attr class attributes to TextToSpeechEntity (#115684) 2024-07-07 16:21:04 +02:00
Jan Rieger
790d22dc46 Migrate QNAP extra state attributes to separate states (#109221) 2024-07-07 16:18:37 +02:00
Marc Mueller
37ffe09add Update mypy-dev to 1.12.0a1 (#121428) 2024-07-07 16:10:17 +02:00
J. Nick Koston
dc5ae9e0b2 Add event platform to august (#121392) 2024-07-07 15:39:58 +02:00
Angel Nunez Mencias
4c1cb6cce8 Add support for SenseCAP (#121405) 2024-07-07 15:29:46 +02:00
Christophe Gagnier
643dcb1429 Change TechnoVE quality scale to platinum (#121275) 2024-07-07 15:28:25 +02:00
Joost Lekkerkerker
e9b62dd203 Fix missing placeholder in intergration issue (#121425) 2024-07-07 15:22:02 +02:00
rappenze
fc6906a12f Enable remove device entry in fibaro integration (#121427) 2024-07-07 15:21:38 +02:00
Michael
846528131e Allow current empty feeds to be configured in Feedreader (#121421) 2024-07-07 15:11:28 +02:00
Joost Lekkerkerker
1c2e6ab3db Fix Mealie URL field (#121434) 2024-07-07 15:03:32 +02:00
xLarry
8e45eb6168 Minor changes to laundrify binary_sensor platform (#121435) 2024-07-07 15:02:57 +02:00
Joost Lekkerkerker
d95b28bdee Sort mealie mealplans (#121433) 2024-07-07 15:01:58 +02:00
Joost Lekkerkerker
17172d841c Fix MPD config flow (#121431) 2024-07-07 14:54:29 +02:00
Florent Thoumie
5ea1601c2c Use shared httpx client in iaqualink integration (#121407) 2024-07-06 21:51:16 -07:00
G Johansson
44f989ae38 Fix feature flag in climate (#121398) 2024-07-06 23:36:53 +02:00
Michael
f1693f2fde Add @mib1185 as codeowner for Feedreader (#121399)
add @mib1185 as codeowner
2024-07-06 22:28:47 +02:00
Richard Kroegel
52de706a85 Set BMW quality scale to platinum (#121388) 2024-07-06 21:19:50 +02:00
G Johansson
6e8cfb3376 Fix timezone issue in smhi weather (#121389) 2024-07-06 21:18:02 +02:00
G Johansson
ac8ea8356c Fix unnecessary logging of turn on/off feature flags in Climate (#121387) 2024-07-06 19:32:27 +02:00
Yaroslav Barov
f115efe51d Add support for Xiaomi airpurifier and humidifier (#117791) 2024-07-06 19:25:05 +02:00
Rasmus Lundsgaard
99476d9337 Fix empty list in kodi media_player (#121250)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-07-06 19:20:14 +02:00
G Johansson
98370fd9a0 Bump psutil to 6.0.0 (#121385) 2024-07-06 19:09:00 +02:00
Barry vd. Heuvel
d113ea8e47 Convert Hue scenes brightness to 0..255 (#105871)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-07-06 19:04:52 +02:00
atlflyer
ec536bda3d Add json_attributes_path configuration for command_line sensor (#116656)
Add json attributes path config to command line sensor
2024-07-06 18:52:27 +02:00
Alberto Geniola
490dd53edf Improve Elmax alarm control panel (#117689) 2024-07-06 18:21:15 +02:00
Richard Kroegel
131d9ec51b Add BMW tire pressure sensors (#120949) 2024-07-06 18:20:01 +02:00
Richard Kroegel
48145c1a7d Refactor BMW sensors and migrate unique_ids (#121380) 2024-07-06 17:34:20 +02:00
Joost Lekkerkerker
cf34b46b5a Fix Audit license script comments (#121374) 2024-07-06 15:24:45 +02:00
Joost Lekkerkerker
3c14aa12ab Add repair issue when trying to set up unknown integration (#121089)
* Add repair issue when trying to set up unknown integration

* Add repair issue when trying to set up unknown integration

* Add repair issue when trying to set up unknown integration

* Fix

* Update homeassistant/components/homeassistant/strings.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* Update homeassistant/components/homeassistant/strings.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* Update homeassistant/setup.py

* Fix

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-07-06 15:02:58 +02:00
Christophe Gagnier
df9ced9768 Implement TechnoVE diagnostic (#121278) 2024-07-06 13:46:19 +02:00
djtimca
b5a0e89c03 Remove old codeowners who no longer maintain the Omnilogic integration (#117987)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-07-06 13:11:32 +02:00
Brett Adams
f46c127423 Add energy switch entities to Tessie (#121360) 2024-07-06 12:45:27 +02:00
Brett Adams
e04d612874 Add energy number entities for Tessie (#121354) 2024-07-06 12:29:18 +02:00
Xidorn Quan
2bc7904b51 Add demand window sensor for amberelectric (#121356) 2024-07-06 12:28:52 +02:00
Marius
be0cf545b2 Add valve-open/closed state icons (#121312) 2024-07-06 12:26:35 +02:00
Brett Adams
8f7c3da456 Add energy select entities to Tessie (#120641) 2024-07-06 11:49:53 +02:00
tronikos
17daccd38a Refactor the validation in Google Cloud TTS (#120853) 2024-07-06 11:44:46 +02:00
Alan
8ff4991f07 LLM to handle int attributes (#121037) 2024-07-06 11:41:18 +02:00
Luke Lashley
43481ffeac Add support for Roborock Zeo (#121334) 2024-07-06 11:24:32 +02:00
Robert C. Maehl
ac8bbe9db4 Direct Users to App-Specific Passwords for iCloud integration to prevent MFA spam (#120945)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-07-06 11:12:38 +02:00
Brett Adams
696ae91c35 Add energy binary sensors to Tessie (#121349) 2024-07-06 11:05:52 +02:00
Richard Kroegel
f29094f41d Refactor BMW send_message and add tests (#119170)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-07-06 11:00:00 +02:00
Brett Adams
294c31f6f5 Fix initial Wall Connector values in Tessie (#121353) 2024-07-06 10:54:09 +02:00
Robert Svensson
cce77affc7 Provide default values for common keys in deCONZ websocket fixture (#121359) 2024-07-06 10:52:50 +02:00
Michael Hansen
1ec95f900d Bump webrtc-noise-gain to 1.2.4 (#121346) 2024-07-06 10:51:40 +02:00
Dave T
a358609609 Improve user message if stream is not set up in generic camera (#121308) 2024-07-06 10:50:16 +02:00
Brett Adams
18370bdbb4 Add diagnostics to Tessie (#121348)
* Add diag

* Add snapshot

* Redact serial number
2024-07-06 09:00:03 +02:00
Luke Lashley
e86f2220d0 Bump anova-wifi to 0.17.0 (#121337)
* Bump anova-wifi to 0.16.0

* Bump to .17
2024-07-06 08:39:24 +02:00
Sid
9f839dbb77 Bump ruff to 0.5.1 (#121324)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-07-05 16:44:14 -05:00
Robert Svensson
1b8944dab6 Improve deCONZ websocket fixture (#121332) 2024-07-05 22:35:06 +02:00
Devin
9d204613e8 Expose Twitch "Started At" attribute (#121265) 2024-07-05 22:33:04 +02:00
Joost Lekkerkerker
f2c9188e46 Add audit license script (#120683)
* Add license script

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Remove packages

* Remove packages

* Remove packages

* Remove packages

* Fix

* Remove packages

* Remove packages

* Fix

* Fix

* Fix

* Fix exceptions
2024-07-05 22:04:21 +02:00
Joost Lekkerkerker
1561324274 Fix Netatmo snapshot (#121333) 2024-07-05 22:02:43 +02:00
Erwin Douna
34b5df50cc Match comments with refactoring (#121330)
Change comments
2024-07-05 21:50:50 +02:00
Cris-ET
130dbcb3f1 Add PPV2 entity for Growatt storage inverter (#121052) 2024-07-05 20:20:56 +01:00
J. Nick Koston
89ffee9ad5 Update ulid-transform to 0.10.1 (#121321) 2024-07-05 14:07:39 -05:00
Robert Svensson
94db251aea Finally remove all legacy test stubs from deCONZ tests (#121323) 2024-07-05 20:47:43 +02:00
tronikos
ad2d794fd6 Get languages and voices from the API in Google Cloud TTS (#120852) 2024-07-05 20:03:06 +02:00
Robert Svensson
178655647d Use fixtures in deCONZ init tests (#121217) 2024-07-05 19:17:47 +02:00
Jan Temešinko
6e5c3904b6 Fix ombi configuration validation (#121314) 2024-07-05 19:12:09 +02:00
Robert Svensson
a773d0c8f6 Use fixtures on deCONZ event tests (#121303) 2024-07-05 19:11:21 +02:00
Erik Montnemery
6eeb70151d Use BIGINT SQL type for ID columns (#121025) 2024-07-05 10:42:39 -05:00
Joost Lekkerkerker
fd815beb2d Add valve to base platform (#121313) 2024-07-05 17:41:13 +02:00
Franck Nijhof
1cf62916a7 2024.7.1 (#121289) 2024-07-05 17:25:40 +02:00
Robert Svensson
8c459959ee Use fixtures in deCONZ gateway tests (#121305) 2024-07-05 16:59:10 +02:00
epenet
4b4b17e774 Improve hass type hints for autouse fixtures in tests (#121311) 2024-07-05 15:49:22 +01:00
epenet
9383920b1a Improve type hints in hdmi_cec tests (#121302) 2024-07-05 16:42:55 +02:00
Luke Lashley
ffc39585ed Add ability to select current map for Roborock (#120882)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-05 09:38:26 -05:00
epenet
45ab9cae1a Improve type hints for silent_ssdp_scanner in tests (#121309) 2024-07-05 16:32:10 +02:00
Mariusz Kubisz
bf8cef3337 Add support for min mode in Netatmo public sensor (#118613) 2024-07-05 16:25:05 +02:00
Richard Kroegel
324755b8f5 Separate BMW base entity into separate file (#120830)
* Refactor BMW base entity

* Update snapshots

* Changes from review
2024-07-05 16:08:27 +02:00
Bram Kragten
e3958d4adb Update frontend to 20240705.0 (#121295) 2024-07-05 15:04:01 +02:00
Dave T
94d010a4c0 Fix vscode debug launch deprecation warning by swapping python to debugpy (#120866) 2024-07-05 14:49:41 +02:00
dougiteixeira
4289efb506 Device change test improvements in Template (#120884) 2024-07-05 14:47:31 +02:00
epenet
b9cfd4e8ce Improve type hints in hue tests (#121298) 2024-07-05 14:40:23 +02:00
epenet
7332bc5faf Improve type hints in http tests (#121294) 2024-07-05 14:37:00 +02:00
Bram Kragten
641d6382fd Update frontend to 20240705.0 (#121295) 2024-07-05 14:35:21 +02:00
epenet
288c297c9c Improve type hints in homeassistant_alerts tests (#121293) 2024-07-05 13:25:31 +02:00
epenet
e4731c07cb Add monkeypatch to enforce-type-hints plugin (#121051) 2024-07-05 11:35:56 +02:00
Franck Nijhof
dfccd4abf9 Bump version to 2024.7.1 2024-07-05 11:21:36 +02:00
Steven B
994d6f552c Fix tplink light effect behaviour when activating a scene (#121288) 2024-07-05 11:21:07 +02:00
G Johansson
b015611a2a Bump python-holidays to 0.52 (#121283) 2024-07-05 11:21:04 +02:00
Shay Levy
f4e362c5d0 Bump aiowebostv to 0.4.2 (#121258) 2024-07-05 11:21:00 +02:00
Jordi
a542236614 Bump aioaquacell to 0.1.8 (#121253) 2024-07-05 11:20:57 +02:00
Shay Levy
651439ea06 Fix WebOS TV media player status when OFF after IDLE (#121251) 2024-07-05 11:20:54 +02:00
Robert Resch
eda450838e Bump deebot-client to 8.1.1 (#121241) 2024-07-05 11:20:50 +02:00
hahn-th
b906daa493 Revert Homematic IP Cloud unique ID changes (#121231) 2024-07-05 11:20:47 +02:00
Thomas55555
ac668dce7d Fix work area sensor in Husqvarna Automower (#121228) 2024-07-05 11:20:44 +02:00
Luke Lashley
1bb4d62a3e Bump anova-wifi to 0.15.0 (#121222) 2024-07-05 11:20:40 +02:00
Marcel van der Veldt
0b970f9a85 Listen for attribute changes of OnOff cluster in appliances (#121198) 2024-07-05 11:20:37 +02:00
Marcel van der Veldt
d2b695e7b5 Fix Matter light discovery schema for DimmerSwitch (#121185) 2024-07-05 11:20:34 +02:00
Steven B
b2f23c1a5e Bump python-kasa to 0.7.0.3 (#121183) 2024-07-05 11:20:31 +02:00
Gerben Jongerius
f403afb012 Bump youless library version 2.1.2 (#121181) 2024-07-05 11:20:27 +02:00
Maciej Bieniek
ee276aff44 Fix pulse counter frequency sensors for Shelly Plus Uni (#121178)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-05 11:20:23 +02:00
Maikel Punie
0acd1dc5d1 Bump velbusaio to 2024.7.5 (#121156)
* Bump velbusaio to 2024.7.4

* bump to 2024.7.5 to remove print functions
2024-07-05 11:20:20 +02:00
Martin Weinelt
21815e1621 Fix broken pathlib import in august integration (#121135) 2024-07-05 11:20:17 +02:00
J. Nick Koston
15933bb16f Bump inkbird-ble to 0.5.8 (#121134) 2024-07-05 11:20:13 +02:00
Pavel Skuratovich
930cd0dc50 Starline: Fix "Error updating SLNet token" message in Log (#121122)
Fixes https://github.com/home-assistant/core/issues/116715
2024-07-05 11:20:10 +02:00
Christoph
fc4af48179 Fix HmIP-ESI GAS sensor DeviceClass (#121106)
should be SensorDeviceClass:GAS instead of SensorDeviceClass:VOLUME to be supported in the Energy Dashboard
2024-07-05 11:20:07 +02:00
Marcel van der Veldt
ba1cf84ea5 Fix locking/unlocking transition state in Matter lock platform (#121099) 2024-07-05 11:20:04 +02:00
dougiteixeira
59cf01e252 Add device class translations in Random (#120890) 2024-07-05 11:20:00 +02:00
Allen Porter
46e681f4fc Improve redaction for stream error messages (#120867) 2024-07-05 11:19:56 +02:00
Steven B
d42dced852 Fix tplink light effect behaviour when activating a scene (#121288) 2024-07-05 11:19:04 +02:00
epenet
d0c10c961d Improve type hints in broadlink (#121285) 2024-07-05 11:12:01 +02:00
Joost Lekkerkerker
0088765268 Bump pynx584 to 0.8.2 (#120910) 2024-07-05 11:10:48 +02:00
Franck Nijhof
afb184db73 Remove coveragerc (#121286) 2024-07-05 11:03:31 +02:00
Robert Svensson
eb5a98e7ea Use fixtures in deCONZ light tests PT2 (#121208) 2024-07-05 10:57:17 +02:00
epenet
2ab02c06c6 Add monkeypatch type hints to rflink tests (#121053) 2024-07-05 10:54:16 +02:00
G Johansson
0cf5b4f965 Bump python-holidays to 0.52 (#121283) 2024-07-05 10:02:52 +02:00
Thomas55555
ad02afe7be Extend wrapper for sending commands to all platforms in Husqvarna Automower (#120255) 2024-07-05 10:02:38 +02:00
Paulus Schoutsen
daaf35d4c1 Simplify conversation tests (#121060)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-07-05 09:46:36 +02:00
J. Nick Koston
229e54d0b1 Remove unneeded blocking sleep in srp_energy tests (#121141) 2024-07-05 09:46:12 +02:00
hahn-th
97de9c9f69 Revert Homematic IP Cloud unique ID changes (#121231) 2024-07-05 09:45:20 +02:00
Allen Porter
700675042b Improve redaction for stream error messages (#120867) 2024-07-05 09:42:29 +02:00
Marcel van der Veldt
1c1e1a7bfa Listen for attribute changes of OnOff cluster in appliances (#121198) 2024-07-05 09:41:57 +02:00
Marcel van der Veldt
98dfb47448 Fix Matter light discovery schema for DimmerSwitch (#121185) 2024-07-05 09:41:41 +02:00
Thomas55555
1b42b32ac1 Fix work area sensor in Husqvarna Automower (#121228) 2024-07-05 09:41:21 +02:00
Maciej Bieniek
dbe98de82a Fix pulse counter frequency sensors for Shelly Plus Uni (#121178)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-05 09:40:43 +02:00
Christophe Gagnier
b28f528a7a Add max current number entity for TechnoVE (#121148)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-07-05 09:39:58 +02:00
J. Nick Koston
d3f424227f Cleanup unifiprotect entity classes (#121184) 2024-07-05 09:31:31 +02:00
Paulus Schoutsen
22718ca32a Assist Pipeline minor cleanup (#121187) 2024-07-05 09:26:32 +02:00
J. Nick Koston
2b9bddc3fc Make device_tracker fallback defaults cached_property (#121260) 2024-07-05 09:25:57 +02:00
Filipe Pina
213bbae63c Respect icloud Enable polling updates (#117984)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-05 09:24:02 +02:00
Matthew FitzGerald-Chamberlain
def27a082c Add Aprilaire humidifier (#120270) 2024-07-05 09:19:24 +02:00
Maikel Punie
c3830a58cc Bump velbusaio to 2024.7.5 (#121156)
* Bump velbusaio to 2024.7.4

* bump to 2024.7.5 to remove print functions
2024-07-05 09:12:47 +02:00
epenet
b054c037fe Improve type hints in hassio tests (#121221) 2024-07-05 09:05:21 +02:00
Robert Svensson
dcef25c0fa Use fixtures in deCONZ climate tests (#121242) 2024-07-05 09:01:45 +02:00
J. Nick Koston
5a24ee0bc0 Fix blocking I/O while validating config schema (#121263) 2024-07-05 08:58:30 +02:00
J. Nick Koston
e71f6c5948 Small speedup to processing entity customize (#121271) 2024-07-05 08:57:08 +02:00
J. Nick Koston
cdb2ec4231 Small speed up to entity state calculation (#121273) 2024-07-05 08:56:20 +02:00
J. Nick Koston
adee8094e7 Cache is_official_image/is_docker_env in bootstrap to fix blocking I/O (#121261)
* Cache is_official_image and is_docker_env in bootstrap to fix blocking I/O

These do blocking I/O later in the startup process

discovered in https://github.com/home-assistant/core/pull/120273

* comment
2024-07-05 08:30:07 +02:00
Avi Miller
6c42596bdd Bump aiolifx to 1.0.4 (#121267) 2024-07-04 22:26:44 -05:00
Sarabveer Singh
b3a62a97b4 Update HomeKit PM2.5 mappings based on new 2024 US EPA AQI (#109900) 2024-07-04 22:10:35 -05:00
Robert Svensson
62d9020261 Remove legacy method from deCONZ fan and sensor tests (#121244) 2024-07-04 18:17:15 -05:00
Erik Montnemery
e47cbf3cf7 Use async_setup_recorder_instance fixture in recorder v32_migration tests (#121081)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-04 17:49:51 -05:00
Shay Levy
d799a4575b Bump aiowebostv to 0.4.2 (#121258) 2024-07-04 17:27:56 -05:00
Jordi
b406438fa7 Bump aioaquacell to 0.1.8 (#121253) 2024-07-05 01:05:35 +03:00
Shay Levy
b14f22926a Fix WebOS TV media player status when OFF after IDLE (#121251) 2024-07-05 00:19:24 +03:00
xLarry
276f6c7ee7 Update laundrify_aio to v1.2.2 (#121068)
* refactor: upgrade laundrify_aio to v1.2.1

* refactor: update laundrify_aio to v1.2.2
2024-07-04 22:08:50 +02:00
epenet
83fac6192d Use service_calls fixture in webostv tests (#120999) 2024-07-04 23:07:38 +03:00
epenet
84a8259103 Improve type hints in ezviz tests (#120679) 2024-07-04 21:59:02 +02:00
Pavel Skuratovich
3ca66be268 Starline: Fix "Error updating SLNet token" message in Log (#121122)
Fixes https://github.com/home-assistant/core/issues/116715
2024-07-04 21:54:39 +02:00
Maciej Bieniek
001bb3a04e Bump nettigo_air_monitor to version 3.3.0 (#120901)
* Bump nam library

* Update snaphots (increasing accuracy)

* Update lib and snapshot

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-07-04 21:40:25 +02:00
dougiteixeira
50cc31e9cc Add device class translations in Random (#120890) 2024-07-04 21:36:31 +02:00
Richard Kroegel
0afebf744f Add MINI Connected virtual integration (#120874) 2024-07-04 21:30:02 +02:00
Matthew FitzGerald-Chamberlain
df7be501d3 Fix AprilAire case (#120895)
* Fix AprilAire case

* Fix test
2024-07-04 21:27:56 +02:00
G Johansson
ebe7a4747d Bump pytrafikverket to 1.0.0 (#121210)
* Update all related files and tests to new version

* Fix missed modal

* Bump requirements
2024-07-04 21:09:19 +02:00
Robert Resch
10d3c3d341 Bump deebot-client to 8.1.1 (#121241) 2024-07-04 21:03:33 +02:00
Gerben Jongerius
6ab6ce30ef Bump youless library version 2.1.2 (#121181) 2024-07-04 20:51:57 +02:00
epenet
fe0bafd067 Add warnings for deprecated json helpers (#121161) 2024-07-04 20:48:08 +02:00
epenet
04a6285e62 Add .coveragerc to core files (#121182) 2024-07-04 20:46:36 +02:00
epenet
e07bf61f03 Import AsyncGenerator from collections.abc in tests (#121019)
* Force import of Async/Generator from collections.abc

* Adjust

* Don't force
2024-07-04 20:24:27 +02:00
Marcel van der Veldt
df1b02d44e Use Generator from abc instead of typing_extensions in Matter discovery (#121236)
Use Generator from abc instead of typing_extensions
2024-07-04 20:06:23 +02:00
J. Nick Koston
79f4cc9c12 Update uiprotect to 5.2.2 (#121227) 2024-07-04 19:57:30 +02:00
Patrick Koenig
7d5341cab2 Update short_name in web app manifest (#121223) 2024-07-04 18:55:30 +02:00
jvmahon
d5135d4956 Add support for the Select platform in Matter (#119769)
* Add support for ModeSelect Cluster

* Update discovery.py

* Add files via upload

* refactor part 1

* Update discovery.py

* add remaining mode discovery schemas

* add test

* type alias

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2024-07-04 18:29:10 +02:00
Luke Lashley
950c72a04c Bump anova-wifi to 0.15.0 (#121222) 2024-07-04 11:05:22 -05:00
Erik Montnemery
6df15ad8fc Drop use of async_setup_recorder_instance fixture in recorder purge tests (#121193) 2024-07-04 10:39:24 -05:00
Erik Montnemery
a1e6f8c2ec Drop use of async_setup_recorder_instance fixture in recorder migration tests (#121196) 2024-07-04 10:39:13 -05:00
cnico
092e362f01 Add new integration for Dio Chacon cover devices (#116267)
* Dio Chacon integration addition with config flow and cover entity

* Addition of model information for device

* Addition of light and service to force reloading states

* Logger improvements

* Convert light to switch and usage of v1.0.0 of the api

* 100% for tests coverage

* Invalid credential implementation and rebase on latest ha dev code

* Simplify PR with only one platform

* Ruff correction

* restore original .gitignore content

* Correction of cover state bug when using cover when using actions on cover group.

* Begin of corrections following review.

* unit tests correction

* Refactor with a coordinator as asked by review

* Implemented a post constructor callback init method via dio-chacon-api-1.0.2. Improved typing.

* Corrections for 2nd review

* Reimplemented without coordinator as reviewed with Joostlek

* Review improvement

* generalize callback in entity

* Other review improvements

* Refactored tests for readability

* Test 100% operationals

* Tests review corrections

* Tests review corrections

* Review tests improvements

* simplified tests with snapshots and callback method

* Final fixes

* Final fixes

* Final fixes

* Rename to chacon_dio

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-07-04 16:45:20 +02:00
epenet
28f06cb5a0 Add type hints to homekit events fixture (#121211) 2024-07-04 16:32:01 +02:00
epenet
411630429d Improve type hints in habitica tests (#121212) 2024-07-04 16:27:57 +02:00
epenet
9a1f7f020c Add type hints to matrix events fixtures (#121213) 2024-07-04 16:17:18 +02:00
Robert Svensson
d12f2384c5 Use fixtures in deCONZ config flow tests PT2 (#121203)
* Use fixtures in deCONZ config flow tests PT2

* Update tests/components/deconz/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-07-04 15:53:25 +02:00
Robert Svensson
24c82c2475 Use fixtures in deCONZ sensor tests PT2 (#121204) 2024-07-04 15:48:49 +02:00
epenet
b949240d4a Improve type hints in google tests (#121169) 2024-07-04 05:56:01 -07:00
Robert Svensson
f78933235d Use fixtures in deCONZ service tests (#121108)
* Use fixtures in deCONZ service tests

* Update tests/components/deconz/test_services.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-04 14:23:40 +02:00
Robert Svensson
ece8b74967 Use fixtures in deCONZ device trigger tests (#121103) 2024-07-04 14:23:15 +02:00
Robert Svensson
1d8382a498 Use fixtures in deCONZ light tests PT1 (#121112)
Use fixtures in deCONZ light tests part 1
2024-07-04 14:22:10 +02:00
Robert Svensson
873d96bab3 Use fixtures in deCONZ binary sensor tests (#120966) 2024-07-04 14:21:26 +02:00
Robert Svensson
31ed32da6c Use fixtures in deCONZ alarm control panel tests (#120967) 2024-07-04 14:20:57 +02:00
Erik Montnemery
f1d6ad9073 Add test fixture to control recorder migration (#121180)
* Add test fixture to control recorder migration

* Update tests/components/recorder/conftest.py

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

* Update tests/components/recorder/conftest.py

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-04 13:10:08 +02:00
Erik Montnemery
d1264655a0 Fix some typos in core.py (#121189) 2024-07-04 13:04:52 +02:00
Giuliano Riccio
ad1ba1a5e5 Fix Google assistant SDK broadcasting command for italian (#116198)
Fixed broadcasting command for italian

Co-authored-by: tronikos <tronikos@users.noreply.github.com>
2024-07-04 03:47:32 -07:00
Erik Montnemery
255778d0c7 Use recorder test fixtures in recorder init tests (#121176) 2024-07-04 04:54:40 -05:00
epenet
3c69301365 Improve type hints in guardian tests (#121175) 2024-07-04 04:53:49 -05:00
J. Nick Koston
67a4c2c884 Add support for event entity motion sensors to HomeKit (#121123) 2024-07-04 04:50:50 -05:00
Robert Svensson
d429bcef16 Use fixtures in deCONZ sensor tests PT1 (#121116) 2024-07-04 11:50:23 +02:00
Robert Svensson
02e7707f91 Use fixtures in deCONZ config flow tests PT1 (#121121) 2024-07-04 04:49:46 -05:00
Franck Nijhof
ee2df9c4b3 Merge branch 'master' into dev 2024-07-04 11:48:03 +02:00
J. Nick Koston
0be1f773a2 Add event platform to doorbird (#121114) 2024-07-04 04:41:56 -05:00
epenet
a6f6221f16 Add monkeypatch type hints to numato tests (#121056)
* Add monkeypatch type hints to numato tests

* Adjust

* Improve
2024-07-04 02:33:47 -07:00
Steven B
4958e8e5c1 Bump python-kasa to 0.7.0.3 (#121183) 2024-07-04 04:31:58 -05:00
epenet
8aedb1201d Improve type hints in google_pubsub tests (#121172)
* Improve type hints in google_pubsub tests

* Remove from .coveragerc
2024-07-04 02:31:35 -07:00
J. Nick Koston
aa74ad0061 Enable ruff asyncio event loop blocking detection rules (#120799) 2024-07-04 04:17:57 -05:00
epenet
43e4223a8e Improve type hints in google_generative_ai tests (#121170) 2024-07-04 02:09:34 -07:00
Paulus Schoutsen
869f24df49 Convert async_get_conversation_languages from async to callback (#121162)
* Convert get_languages to callback

* One more callback
2024-07-04 10:41:31 +02:00
epenet
cf96084ea3 Improve type hints in generic tests (#121166) 2024-07-04 10:32:00 +02:00
epenet
1eec49696a Improve type hints in generic_hygrostat/thermostat tests (#121167) 2024-07-04 10:30:17 +02:00
epenet
1f22f0d89b Improve type hints in google_travel_time tests (#121171) 2024-07-04 10:27:55 +02:00
epenet
dd8ba0828a Improve type hints in geofency tests (#121168) 2024-07-04 10:27:37 +02:00
epenet
c9acd1711c Improve type hints in gpslogger tests (#121173) 2024-07-04 10:23:14 +02:00
epenet
4589be2d11 Improve type hints in group tests (#121174) 2024-07-04 10:22:39 +02:00
Erik Montnemery
d55d02623a Add recorder test fixture to enable persistent SQLite database (#121137)
* Add recorder test fixture to enable persistent SQLite database

* Fix tests directly using async_test_home_assistant context manager
2024-07-04 09:59:37 +02:00
Marcel van der Veldt
24f6e6e885 Fix locking/unlocking transition state in Matter lock platform (#121099) 2024-07-04 09:20:55 +02:00
Steven Looman
ac9c08f52c Add port mapping entry count sensor to upnp (#120263)
Add port mapping entry count sensor
2024-07-04 09:07:41 +02:00
J. Nick Koston
8a5b201d75 Fix blocking I/O in event loop in core test (#121128) 2024-07-04 07:43:46 +02:00
J. Nick Koston
0e9acf2685 Bump thermobeacon-ble to 0.7.0 (#121136)
changelog: https://github.com/Bluetooth-Devices/thermobeacon-ble/compare/v0.6.2...v0.7.0
2024-07-04 07:42:49 +02:00
Christophe Gagnier
3b023367d7 Update pytechnove to 1.3.1 (#121146) 2024-07-04 05:55:36 +01:00
J. Nick Koston
3dbab1a580 Bump inkbird-ble to 0.5.8 (#121134) 2024-07-04 05:51:05 +01:00
J. Nick Koston
1144e23d8d Fix blocking I/O in config tests (#121144) 2024-07-04 05:21:30 +01:00
J. Nick Koston
e8ef2c2822 Fix blocking I/O in tts tests (#121143) 2024-07-04 05:21:01 +01:00
J. Nick Koston
a4d4fc6827 Fix blocking I/O in stream tests (#121142) 2024-07-04 05:15:26 +01:00
J. Nick Koston
7002042119 Fix blocking I/O in mqtt tests (#121140) 2024-07-04 05:13:13 +01:00
J. Nick Koston
c59fc4e3c7 Fix blocking I/O in media_extractor tests (#121139) 2024-07-04 05:08:53 +01:00
Erik Montnemery
cc2782edc7 Use async_test_recorder fixture in recorder auto_repairs tests (#121125) 2024-07-04 01:38:01 +02:00
Martin Weinelt
b6a23fad35 Fix broken pathlib import in august integration (#121135) 2024-07-03 18:18:28 -05:00
MeIchthys
cfef09d653 Bump nextcloudmonitor to 1.5.1 (#120356) 2024-07-04 01:08:38 +02:00
J. Nick Koston
84d8bc711d Fix blocking I/O in event loop in google_assistant test (#121126)
found by ruff in #120799
2024-07-03 23:35:23 +01:00
J. Nick Koston
595e688c56 Fix blocking I/O in event loop in kira test (#121127) 2024-07-03 23:35:02 +01:00
Erik Montnemery
408e524551 Add recorder test fixture for skipping tests by DB engine (#121118)
* Add recorder test fixture for skipping tests by DB engine

* Fix mistake
2024-07-04 00:02:46 +02:00
epenet
73716ea529 Add monkeypatch type hints to webostv tests (#121054)
* Add monkeypatch type hints to webostv

* Improve
2024-07-03 23:49:31 +03:00
epenet
c9240b8e34 Add monkeypatch type hints to switcher_kis tests (#121055)
* Add monkeypatch type hints to switch_kis

* Improve
2024-07-03 23:49:01 +03:00
J. Nick Koston
7958c0825e Fix blocking process call in process tests (#121104)
Discovered by ruff in https://github.com/home-assistant/core/pull/120799
2024-07-03 22:26:03 +02:00
J. Nick Koston
291f309c0e Remove unnecessary lambdas in timeout tests (#121101) 2024-07-03 22:24:41 +02:00
Christoph
f85c356522 Fix HmIP-ESI GAS sensor DeviceClass (#121106)
should be SensorDeviceClass:GAS instead of SensorDeviceClass:VOLUME to be supported in the Energy Dashboard
2024-07-03 22:19:59 +02:00
J. Nick Koston
8017bc6776 Fix blocking I/O in demo mailbox (#121097) 2024-07-03 14:37:29 -05:00
Jan Bouwhuis
2040c285b1 Remove schema option for mqtt vacuum configs (#121093) 2024-07-03 21:35:20 +02:00
J. Nick Koston
53767b6159 Fix event loop blocking I/O in generic tests (#121100) 2024-07-03 20:24:25 +01:00
J. Nick Koston
4881205831 Fix event loop blocking I/O in command_line tests (#121098) 2024-07-03 14:22:38 -05:00
Erik Montnemery
5029da6919 Make the async_setup_recorder_instance fixture a context manager (#121086) 2024-07-03 14:05:34 -05:00
Erik Montnemery
61f1c8d963 Fix leak of SQLAlchemy engine objects in recorder (#121085) 2024-07-03 12:17:52 -05:00
J. Nick Koston
48172b0426 Small speed up to writing entity state (#121043) 2024-07-03 12:16:41 -05:00
Franck Nijhof
2b64f6f2ab 2024.7.0 (#120579) 2024-07-03 18:52:01 +02:00
Franck Nijhof
1080a4ef1e Bump version to 2024.7.0 2024-07-03 17:55:58 +02:00
J. Nick Koston
44c89e6c3b Cleanup v32 recorder migration test (#121083) 2024-07-03 10:45:19 -05:00
Franck Nijhof
d94b36cfbb Bump version to 2024.7.0b11 2024-07-03 17:29:08 +02:00
Marcel van der Veldt
85168239cd Matter fix Energy sensor discovery schemas (#121080) 2024-07-03 17:28:59 +02:00
Robert Resch
547b24ce58 Bump deebot-client to 8.1.0 (#121078) 2024-07-03 17:28:56 +02:00
Michael Hansen
e8bcb3e11e Bump intents to 2024.7.3 (#121076) 2024-07-03 17:28:53 +02:00
Marcel van der Veldt
c89a9b5ce0 Bump python-matter-server to 6.2.2 (#121072) 2024-07-03 17:28:49 +02:00
Robert Svensson
13631250b4 Bump axis to v62 (#121070) 2024-07-03 17:28:46 +02:00
Bram Kragten
6621cf475a Update frontend to 20240703.0 (#121063) 2024-07-03 17:28:43 +02:00
Anton Tolchanov
36e74cd9a6 Generate Prometheus metrics in an executor job (#121058) 2024-07-03 17:28:38 +02:00
Kevin Stillhammer
16827ea09e Bump here-transit to 1.2.1 (#120900) 2024-07-03 17:27:10 +02:00
Kevin Stillhammer
c4956b66b0 Bump here-routing to 1.0.1 (#120877) 2024-07-03 17:27:06 +02:00
J. Nick Koston
e4a0a21b67 Bump uiprotect to 5.2.0 (#121079) 2024-07-03 10:18:46 -05:00
Joost Lekkerkerker
bc363c385f Fix async knocki function (#121048) 2024-07-03 17:17:37 +02:00
Marcel van der Veldt
7a9792c111 Matter fix Energy sensor discovery schemas (#121080) 2024-07-03 17:16:51 +02:00
Robert Resch
1a715d7b89 Bump deebot-client to 8.1.0 (#121078) 2024-07-03 17:11:09 +02:00
Erik Montnemery
46a488d871 Use async_setup_recorder_instance fixture in recorder auto_repairs tests (#121077) 2024-07-03 17:04:39 +02:00
Michael Hansen
0b76d5c9ca Bump intents to 2024.7.3 (#121076) 2024-07-03 16:55:21 +02:00
Marcel van der Veldt
355c7399d7 Bump python-matter-server to 6.2.2 (#121072) 2024-07-03 16:27:45 +02:00
Erik Montnemery
e26b4554e6 Improve logic when retrying establishing database connection (#121047) 2024-07-03 16:22:21 +02:00
Paulus Schoutsen
976cb434c9 Add CONTROL supported feature to OpenAI conversation entities (#121064)
Add CONTROL supported feature to OpenAI
2024-07-03 09:19:46 -05:00
Robert Svensson
f284aa41eb Bump axis to v62 (#121070) 2024-07-03 16:16:13 +02:00
epenet
1332e39f9e Cleanup deprecated json utils (#121069)
* Cleanup deprectated json utils

* Adjust pylint
2024-07-03 15:57:32 +02:00
epenet
8709c668cc Remove unused diagnostics fixtures (#121066) 2024-07-03 15:57:02 +02:00
Erik Montnemery
87f7703f3c Use async_setup_recorder_instance fixture in recorder migration tests (#121050) 2024-07-03 08:56:05 -05:00
Bram Kragten
e7ffd7b9ad Update frontend to 20240703.0 (#121063) 2024-07-03 15:41:43 +02:00
Anton Tolchanov
9b2233e65e Generate Prometheus metrics in an executor job (#121058) 2024-07-03 15:41:01 +02:00
Kevin Stillhammer
fbb98a668c Bump here-transit to 1.2.1 (#120900) 2024-07-03 15:35:08 +02:00
Paulus Schoutsen
a885bdfe76 Add conversation supported feature CONTROL (#121036) 2024-07-03 14:30:51 +02:00
epenet
ac57eb7614 Add monkeypatch type hints to shelly tests (#121057)
* Add monkeypatch type hints to shelly tests

* Improve
2024-07-03 12:08:40 +02:00
Franck Nijhof
84204c38be Bump version to 2024.7.0b10 2024-07-03 08:59:52 +02:00
J. Nick Koston
febd1a3772 Bump inkbird-ble to 0.5.7 (#121039)
changelog: https://github.com/Bluetooth-Devices/inkbird-ble/compare/v0.5.6...v0.5.7
2024-07-03 08:59:45 +02:00
Allen Porter
1665cb40ac Bump gcal_sync to 6.1.4 (#120941) 2024-07-03 08:59:41 +02:00
J. Nick Koston
c33cbf8312 Bump inkbird-ble to 0.5.7 (#121039)
changelog: https://github.com/Bluetooth-Devices/inkbird-ble/compare/v0.5.6...v0.5.7
2024-07-02 21:12:17 -05:00
J. Nick Koston
23e061ccbd Bump uiprotect to 5.0.0 (#121034)
changelog: https://github.com/uilibs/uiprotect/compare/v4.2.0...v5.0.0

Breaking change in the lib is not auto converting enum values to
their underlying values. They are mostly StrEnums so this should
not have any impact unless I missed one.
2024-07-02 21:11:31 -05:00
Christophe Gagnier
399548a973 Bump pytechnove to 1.3.0 (#120975) 2024-07-03 02:32:34 +02:00
Erik Montnemery
a4d889e958 Remove BaseTableManager active attribute (#121020) 2024-07-02 18:29:12 -05:00
Markus Jacobsen
510315732a Add Beoconnect Core as selectable Bang & Olufsen device (#121015)
Add Beoconnect Core as available device
2024-07-02 21:22:22 +01:00
epenet
476efb1d36 Improve type hints in home_connect tests (#121014) 2024-07-02 22:19:33 +02:00
J. Nick Koston
bdc6805771 Bump orjson to 3.10.6 (#121028) 2024-07-02 13:17:25 -07:00
Franck Nijhof
1b9f27fab7 Bump version to 2024.7.0b9 2024-07-02 22:15:17 +02:00
Bram Kragten
d1e76d5c3c Update frontend to 20240702.0 (#121032) 2024-07-02 22:15:09 +02:00
Jan-Philipp Benecke
4377f4cbea Temporarily set apprise log level to debug in tests (#121029)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-07-02 22:15:05 +02:00
Jan-Philipp Benecke
7d31d553d0 Temporarily set apprise log level to debug in tests (#121029)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-07-02 22:13:19 +02:00
Bram Kragten
9749cf113a Update frontend to 20240702.0 (#121032) 2024-07-02 22:13:07 +02:00
Marc Mueller
0e52d149e4 Update voluptuous to 0.15.2 (#120631)
* Update voluptuous to 0.15.1

* Fix typing issues

* Add type ignores for json result type

* Update voluptuous to 0.15.2

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-02 12:57:09 -07:00
Franck Nijhof
6b045a7d7b Bump version to 2024.7.0b8 2024-07-02 21:09:55 +02:00
Marcel van der Veldt
1fa6972a66 Handle mains power for Matter appliances (#121023) 2024-07-02 21:09:39 +02:00
Marcel van der Veldt
b3e833f677 Fix setting target temperature for single setpoint Matter thermostat (#121011) 2024-07-02 21:09:36 +02:00
starkillerOG
807ed0ce10 Do not hold core startup with reolink firmware check task (#120985) 2024-07-02 21:09:32 +02:00
starkillerOG
5cb41106b5 Reolink replace automatic removal of devices by manual removal (#120981)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-07-02 21:09:28 +02:00
Joost Lekkerkerker
98a2e46d4a Remove Aladdin Connect integration (#120980) 2024-07-02 21:08:14 +02:00
Joost Lekkerkerker
24afbde79e Bump yt-dlp to 2024.07.01 (#120978) 2024-07-02 21:05:52 +02:00
starkillerOG
65d2ca53cb Bump reolink-aio to 0.9.4 (#120964) 2024-07-02 21:05:49 +02:00
Joost Lekkerkerker
23b905b422 Bump airgradient to 0.6.1 (#120962) 2024-07-02 21:05:46 +02:00
Joost Lekkerkerker
de458493f8 Fix missing airgradient string (#120957) 2024-07-02 21:05:42 +02:00
Erik Montnemery
efd3252849 Create log files in an executor thread (#120912) 2024-07-02 21:05:39 +02:00
Jesse Hills
3b6acd5380 [ESPHome] Disable dashboard based update entities by default (#120907)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-07-02 21:05:36 +02:00
Teemu R
1e6dc74812 Minor polishing for tplink (#120868) 2024-07-02 21:05:22 +02:00
Marcel van der Veldt
0d0ca22103 Fix setting target temperature for single setpoint Matter thermostat (#121011) 2024-07-02 21:03:01 +02:00
Marcel van der Veldt
52627b9aed Handle mains power for Matter appliances (#121023) 2024-07-02 21:02:29 +02:00
Myles Eftos
ba7e45e157 Bump amberelectric to 1.1.1 (#121010) 2024-07-02 19:40:30 +02:00
epenet
592ef59c5a Use common fixtures in tasmota tests (#121000) 2024-07-02 17:38:20 +02:00
epenet
195f07a18a Use service_calls fixture in nest tests (#120987) 2024-07-02 08:02:17 -07:00
Erik Montnemery
5b39989869 Fix typo in post_schema_migration (#121017) 2024-07-02 15:52:54 +02:00
Erik Montnemery
b8b7c23258 Create log files in an executor thread (#120912) 2024-07-02 15:48:35 +02:00
epenet
faf43ed4c7 Adjust Generator type hints in tests (#121013) 2024-07-02 14:12:02 +02:00
epenet
bd234db48f Improve type hints in analytics tests (#121012) 2024-07-02 13:58:11 +02:00
Joost Lekkerkerker
2edb7eb42c Remove Aladdin Connect integration (#120980) 2024-07-02 13:51:44 +02:00
Jesse Hills
72d706ab52 [ESPHome] Disable dashboard based update entities by default (#120907)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-07-02 13:51:14 +02:00
starkillerOG
e322cada48 Reolink replace automatic removal of devices by manual removal (#120981)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-07-02 13:31:23 +02:00
Robert Svensson
baf2ebf1f2 Use fixtures in deCONZ diagnostics tests (#120968) 2024-07-02 12:43:34 +02:00
epenet
326d24d78b Use service_calls fixture in xiaomi_ble tests (#120998) 2024-07-02 12:37:50 +02:00
epenet
3adea1ada9 Use service_calls fixture in zwave_js tests (#120994) 2024-07-02 12:37:21 +02:00
epenet
02dffcde1a Use common registry fixtures in solarlog (#121005) 2024-07-02 12:36:30 +02:00
Joost Lekkerkerker
cdc3897319 Bump yt-dlp to 2024.07.01 (#120978) 2024-07-02 12:35:10 +02:00
epenet
22f5f59478 Use service_calls fixture in core platform tests [m-z] (#121001) 2024-07-02 12:34:11 +02:00
epenet
76a62028ad Use common registry fixtures in lifx (#121004) 2024-07-02 12:32:17 +02:00
epenet
6fd1f0a34f Use common fixtures in philips_js tests (#120988) 2024-07-02 12:31:10 +02:00
epenet
e544550380 Use service_calls fixture in yolink tests (#120997) 2024-07-02 12:30:52 +02:00
epenet
8819a9aa52 Use service_calls fixture in sun tests (#120990) 2024-07-02 12:29:51 +02:00
epenet
1f6744847d Use service_calls fixture in zone tests (#120995) 2024-07-02 12:29:21 +02:00
starkillerOG
4a8436d6bc Do not hold core startup with reolink firmware check task (#120985) 2024-07-02 12:28:32 +02:00
epenet
b13e78f3a3 Use service_calls fixture in microsoft tests (#120983) 2024-07-02 12:27:54 +02:00
epenet
71b7ee40e5 Use common registry fixtures in tplink (#121002) 2024-07-02 12:27:15 +02:00
epenet
9ca9377cad Use common registry fixtures in hue (#121003) 2024-07-02 12:26:25 +02:00
epenet
e3516be3e3 Use service_calls fixture in mqtt tests (#120984) 2024-07-02 11:23:46 +02:00
epenet
fac511aa46 Use service_calls fixture in samsungtv tests (#120992) 2024-07-02 10:37:14 +02:00
epenet
3df3e6d081 Use service_calls fixture in shelly tests (#120991) 2024-07-02 10:36:50 +02:00
epenet
07d80d5ad9 Use service_calls fixture in netatmo tests (#120986) 2024-07-02 10:17:41 +02:00
starkillerOG
2d054fb5df Bump reolink-aio to 0.9.4 (#120964) 2024-07-02 09:25:33 +02:00
Joost Lekkerkerker
2635573bbc Bump airgradient to 0.6.1 (#120962) 2024-07-02 08:23:31 +02:00
Teemu R
90d622cd02 Minor polishing for tplink (#120868) 2024-07-02 08:23:07 +02:00
Robert Svensson
0ffebd4853 Use fixtures in deCONZ button tests (#120958) 2024-07-01 20:48:33 +02:00
Joost Lekkerkerker
383de96549 Fix missing airgradient string (#120957) 2024-07-01 20:36:35 +02:00
Robert Svensson
690164a518 Use fixtures in deCONZ cover tests (#120954) 2024-07-01 20:31:42 +02:00
Robert Svensson
167a8c6613 Use fixtures in deCONZ fan tests (#120953) 2024-07-01 19:49:12 +02:00
Franck Nijhof
74687f3b60 Bump version to 2024.7.0b7 2024-07-01 19:44:51 +02:00
Markus Jacobsen
2f307d6a8a Fix Bang & Olufsen jumping volume bar (#120946) 2024-07-01 19:44:37 +02:00
J. Nick Koston
d8f55763c5 Downgrade logging previously reported asyncio block to debug (#120942) 2024-07-01 19:44:34 +02:00
Steven B
4b2be448f0 Bump python-kasa to 0.7.0.2 (#120940) 2024-07-01 19:44:31 +02:00
Marcel van der Veldt
8a7e2c05a5 Mark dry/fan-only climate modes as supported for Panasonic room air conditioner (#120939) 2024-07-01 19:44:28 +02:00
Paulus Schoutsen
887ab1dc58 Bump openai to 1.35.1 (#120926)
Bump openai to 1.35.7
2024-07-01 19:44:25 +02:00
Jan Bouwhuis
a787ce8633 Bump incomfort-client dependency to 0.6.3 (#120913) 2024-07-01 19:44:22 +02:00
Robert Resch
88ed43c779 Improve add user error messages (#120909) 2024-07-01 19:44:19 +02:00
dougiteixeira
16d7764f18 Add missing translations for device class in Template (#120893) 2024-07-01 19:44:15 +02:00
dougiteixeira
a0f8012f48 Add missing translations for device class in SQL (#120892) 2024-07-01 19:44:12 +02:00
dougiteixeira
5a052feb87 Add missing translations for device class in Scrape (#120891) 2024-07-01 19:44:09 +02:00
Allen Porter
779a7ddaa2 Bump ical to 8.1.1 (#120888) 2024-07-01 19:44:06 +02:00
Shay Levy
a9740faeda Fix Shelly device shutdown (#120881) 2024-07-01 19:44:03 +02:00
Thomas55555
3a0e85beb8 Bump aioautomower to 2024.6.4 (#120875) 2024-07-01 19:43:59 +02:00
Yuxin Wang
c19fb35d02 Add handling for different STATFLAG formats in APCUPSD (#120870)
* Add handling for different STATFLAG formats

* Just use removesuffix
2024-07-01 19:43:56 +02:00
J. Nick Koston
6f716c1753 Fix publish cancellation handling in MQTT (#120826) 2024-07-01 19:43:53 +02:00
Jan Bouwhuis
40384b9acd Split mqtt client tests (#120636) 2024-07-01 19:43:50 +02:00
Jan Bouwhuis
3bbf8df6d6 Cleanup mqtt platform tests part 4 (init) (#120574) 2024-07-01 19:43:46 +02:00
epenet
07f095aa42 Use service_calls fixture in core platform tests [a-l] (#120904) 2024-07-01 19:27:50 +02:00
Markus Jacobsen
c2dc9e9b67 Simplify Bang & Olufsen media_image_url property (#120951)
Simplify media_image_url property
2024-07-01 20:23:27 +03:00
Shay Levy
b5367e5994 Fix Shelly device shutdown (#120881) 2024-07-01 19:06:56 +02:00
Robert Svensson
1209abc944 Use fixtures in deCONZ switch tests (#120944) 2024-07-01 19:03:32 +02:00
Markus Jacobsen
a29dc4ef1e Fix Bang & Olufsen jumping volume bar (#120946) 2024-07-01 19:02:43 +02:00
Robert Svensson
7a3039aecb Use fixtures in deCONZ lock tests (#120948) 2024-07-01 19:01:32 +02:00
Robert Svensson
d506c30b38 Use fixtures in deCONZ logbook tests (#120947) 2024-07-01 18:58:43 +02:00
Robert Resch
a0b604f98c Improve add user error messages (#120909) 2024-07-01 18:27:40 +02:00
J. Nick Koston
001ee0cc0b Downgrade logging previously reported asyncio block to debug (#120942) 2024-07-01 18:26:20 +02:00
epenet
e5c7ff6a5b Use service_calls fixture in conversation tests (#120906) 2024-07-01 17:57:40 +02:00
epenet
918ac5d67c Use service_calls fixture in geo_location tests (#120911) 2024-07-01 17:56:58 +02:00
epenet
afb0a6e0ab Use service_calls fixture in homekit_controller tests (#120927) 2024-07-01 17:55:39 +02:00
epenet
b3a50893cf Use service_calls fixture in kodi tests (#120929) 2024-07-01 17:55:01 +02:00
Paulus Schoutsen
c6cfe073ea Bump openai to 1.35.1 (#120926)
Bump openai to 1.35.7
2024-07-01 17:52:30 +02:00
Allen Porter
d53cfbbb4e Bump gcal_sync to 6.1.4 (#120941) 2024-07-01 17:52:19 +02:00
tronikos
8354aa434e Remove a useless line in Google Generative AI test (#120903) 2024-07-01 17:48:39 +02:00
tronikos
5ce54c2174 Replace GoogleAPICallError with GoogleAPIError (#120902) 2024-07-01 17:48:12 +02:00
epenet
813fee663e Use service_calls fixture in litejet tests (#120933) 2024-07-01 17:47:21 +02:00
Robert Svensson
dcf4e91234 Use fixtures in deCONZ number tests (#120938) 2024-07-01 17:46:46 +02:00
Robert Svensson
361e81821c Use fixtures in deCONZ scene tests (#120936) 2024-07-01 17:42:32 +02:00
Aidan Timson
52b743e88a Add exception translations (#120937) 2024-07-01 17:39:01 +02:00
epenet
788d1999ff Use service_calls fixture in lg_netcast tests (#120932) 2024-07-01 17:37:29 +02:00
epenet
c4903dd982 Use service_calls fixture in media_extractor tests (#120935) 2024-07-01 17:32:17 +02:00
Marcel van der Veldt
8a23e37837 Mark dry/fan-only climate modes as supported for Panasonic room air conditioner (#120939) 2024-07-01 17:30:23 +02:00
Robert Svensson
77fc1c991c Use fixtures in deCONZ select tests (#120943) 2024-07-01 17:29:57 +02:00
epenet
ce54ca9c8e Use service_calls fixture in lcn tests (#120931) 2024-07-01 17:27:32 +02:00
epenet
c8bb64882e Use service_calls fixture in homeassistant tests (#120922) 2024-07-01 17:26:41 +02:00
epenet
2815c43f3e Use service_calls fixture in lutron_caseta tests (#120934) 2024-07-01 17:24:36 +02:00
Steven B
38aa6bcf19 Bump python-kasa to 0.7.0.2 (#120940) 2024-07-01 16:50:35 +02:00
Allen Porter
2506acc095 Improve flume test coverage (#120851)
* Add Flume init tests

* Increase test coverage

* Improve readability

* Fix pydoc for tests

* Use pytest.mark.usefixtures
2024-07-01 07:41:47 -07:00
epenet
c9911fa8ce Use service_calls fixture in hue tests (#120928) 2024-07-01 16:16:19 +02:00
epenet
bc3562a9e8 Use service_calls fixture in knx tests (#120930) 2024-07-01 14:33:01 +02:00
dougiteixeira
5513682de4 Add missing translations for device class in Scrape (#120891) 2024-07-01 14:21:41 +02:00
epenet
61b2e4ca32 Add Context to service_calls fixture (#120923) 2024-07-01 14:05:30 +02:00
Robert Resch
546d6b22f1 Remove OverloadUT as codeowner from Ecovacs (#120517) 2024-07-01 14:03:21 +02:00
Marc Mueller
414525503c Use TypeVar defaults for Generator (#120921)
* Use TypeVar defaults for Generator

* Code review
2024-07-01 14:02:54 +02:00
epenet
4cc414fbf8 Use service_calls fixture in google_translate tests (#120920) 2024-07-01 13:10:39 +02:00
Jan Bouwhuis
09ff44e59e Bump incomfort-client dependency to 0.6.3 (#120913) 2024-07-01 13:06:14 +02:00
Robert Svensson
44640ef9e8 First step towards fixtures in deCONZ tests (#120863)
* config entry fixture

* Mock web request

* Make siren tests use new fixtures

* Replace old constants

* Add mock put request

* Change comment
2024-07-01 12:33:51 +02:00
Joost Lekkerkerker
f08638eead Add typing to Panasonic Viera (#120772)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-07-01 12:30:20 +02:00
Marc Mueller
921430d497 Import Generator from collections.abc (3) (#120916) 2024-07-01 12:09:11 +02:00
Marc Mueller
2f0dd6f704 Import Generator from collections.abc (2) (#120915) 2024-07-01 11:58:49 +02:00
Marc Mueller
f11b316dac Import Generator from collections.abc (4) (#120917) 2024-07-01 11:54:42 +02:00
Marc Mueller
ca55986057 Import Generator from collections.abc (1) (#120914) 2024-07-01 11:51:51 +02:00
Allen Porter
aa5ebaf613 Bump ical to 8.1.1 (#120888) 2024-07-01 10:46:10 +02:00
epenet
88583149ea Use service_calls fixture in deconz tests (#120905) 2024-07-01 10:33:31 +02:00
dependabot[bot]
d5d77db4f9 Bump github/codeql-action from 3.25.10 to 3.25.11 (#120899)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 08:47:52 +02:00
dougiteixeira
295cfd26aa Add missing translations for device class in Template (#120893) 2024-07-01 07:55:13 +02:00
dougiteixeira
74c2f000d8 Add missing translations for device class in SQL (#120892) 2024-07-01 07:44:59 +02:00
Yuxin Wang
269b8b07c4 Add handling for different STATFLAG formats in APCUPSD (#120870)
* Add handling for different STATFLAG formats

* Just use removesuffix
2024-07-01 07:30:08 +02:00
Thomas55555
6af9527310 Bump aioautomower to 2024.6.4 (#120875) 2024-07-01 01:12:33 +02:00
Kevin Stillhammer
eceecbb07b Bump here-routing to 1.0.1 (#120877) 2024-07-01 00:23:42 +02:00
Franck Nijhof
14af3661f3 Bump version to 2024.7.0b6 2024-06-30 20:42:10 +02:00
Michael
af733425c2 Bump pyfritzhome to 0.6.12 (#120861) 2024-06-30 20:41:51 +02:00
Allen Porter
4fc89e8861 Rollback PyFlume to 0.6.5 (#120846) 2024-06-30 20:39:47 +02:00
Tsvi Mostovicz
bcec268c04 Fix Jewish calendar unique id move to entity (#120842) 2024-06-30 20:39:44 +02:00
Shay Levy
becf9fcce2 Bump aiowebostv to 0.4.1 (#120838) 2024-06-30 20:39:41 +02:00
Etienne Soufflet
ad9e0ef8e4 Fix Tado fan mode (#120809) 2024-06-30 20:39:38 +02:00
Simon Lamon
f58eafe8fc Fix routes with transfer in nmbs integration (#120808) 2024-06-30 20:39:35 +02:00
mkmer
a7246400b3 Allow EM heat on from any mode in Honeywell (#120750) 2024-06-30 20:39:32 +02:00
Joost Lekkerkerker
38a30b343d Bump pizzapi to 0.0.6 (#120691) 2024-06-30 20:39:28 +02:00
Etienne Soufflet
1a63bb89cb Fix Tado fan mode (#120809) 2024-06-30 20:38:35 +02:00
Sander Peterse
2f5ec41fa6 Add valve domain to HomeKit (#115901)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-30 12:04:20 -05:00
Richard Kroegel
f672eec515 Fix unifi device tracker test imports (#120864) 2024-06-30 16:27:03 +02:00
mkmer
419d89f863 Allow EM heat on from any mode in Honeywell (#120750) 2024-06-30 15:30:52 +02:00
Robert Resch
05ffd637f5 Migrate Ecowitt to runtime_data (#120675) 2024-06-30 15:29:00 +02:00
Joost Lekkerkerker
b375f5227b Bump pizzapi to 0.0.6 (#120691) 2024-06-30 15:28:01 +02:00
Robert Svensson
8b3319b772 Improve UniFi device tracker tests (#120795) 2024-06-30 15:26:45 +02:00
Robert Svensson
289a630578 Improve UniFi device tracker tests Pt2 (#120796) 2024-06-30 15:25:38 +02:00
dontinelli
bb62a8a7dc Change schema to TextSelector to enable autocomplete (#120771) 2024-06-30 15:22:36 +02:00
Robert Svensson
e961ddd5fe Simplify UniFi uptime sensor test (#120794) 2024-06-30 15:22:15 +02:00
Simon Lamon
be68255ca4 Fix routes with transfer in nmbs integration (#120808) 2024-06-30 15:16:41 +02:00
Richard Kroegel
57aced50aa Use SelectSelector in BMW config flow (#120831) 2024-06-30 15:04:55 +02:00
tronikos
5deb69d492 Correctly return file extension in Google Cloud TTS (#120849) 2024-06-30 15:02:06 +02:00
dontinelli
255cc9ed74 Store runtime data inside the config entry in fyta (#120761) 2024-06-30 14:57:48 +02:00
Michael
7aca7cf858 Bump pyfritzhome to 0.6.12 (#120861) 2024-06-30 14:56:12 +02:00
Robert Svensson
ca7fb906cc Axis improve fixture naming (#120844) 2024-06-30 14:52:20 +02:00
Richard Kroegel
d15d001cfc Use runtime_data for BMW (#120837) 2024-06-30 14:51:39 +02:00
tronikos
d55be79e6a Handle error when validating options in Google Cloud TTS (#120850) 2024-06-30 02:03:58 -07:00
tronikos
bf608691d5 Do not set gender if voice name is specified in Google Cloud TTS (#120848)
* Use TextToSpeechAsyncClient in Google Cloud TTS

* Do not set gender if voice name is specified in Google Cloud TTS
2024-06-30 02:03:24 -07:00
tronikos
75e3afd369 Use TextToSpeechAsyncClient in Google Cloud TTS (#120847) 2024-06-29 23:28:18 -07:00
tronikos
72fdebeb88 Bump google-cloud-texttospeech to 2.16.3 (#120845) 2024-06-29 22:38:56 -07:00
Allen Porter
f65304957a Rollback PyFlume to 0.6.5 (#120846) 2024-06-29 21:35:48 -07:00
J. Nick Koston
5280291f98 Add linked doorbell event support to HomeKit (#120834) 2024-06-29 18:43:20 -05:00
Tsvi Mostovicz
7172d798f8 Fix Jewish calendar unique id move to entity (#120842) 2024-06-30 00:08:24 +02:00
Shay Levy
e0b0959b3f Bump aiowebostv to 0.4.1 (#120838) 2024-06-29 22:07:37 +03:00
dontinelli
bcee5f4d9f Store runtime data inside the config entry in solarlog (#120773) 2024-06-29 19:32:22 +02:00
Steven Looman
559caf4179 Use eventing for some of the upnp sensors, instead of polling (#120262) 2024-06-29 12:11:22 -05:00
jjlawren
b5f1076bb2 Bump plexapi to 4.15.14 (#120832) 2024-06-29 11:10:35 -05:00
J. Nick Koston
8f98fb2ec4 Fix publish cancellation handling in MQTT (#120826) 2024-06-29 11:06:56 -05:00
Franck Nijhof
08a0eaf184 Bump version to 2024.7.0b5 2024-06-29 17:51:45 +02:00
Joost Lekkerkerker
3ee8f6edba Use meal note as fallback in Mealie (#120828) 2024-06-29 17:51:34 +02:00
Joost Lekkerkerker
e866417c01 Add icons to Airgradient (#120820) 2024-06-29 17:51:31 +02:00
Joost Lekkerkerker
05c63eb884 Bump python-opensky to 1.0.1 (#120818) 2024-06-29 17:51:28 +02:00
Joost Lekkerkerker
bb52bfd73d Add unique id to Mealie config entry (#120816) 2024-06-29 17:51:25 +02:00
Joost Lekkerkerker
7319492bf3 Bump aiomealie to 0.5.0 (#120815) 2024-06-29 17:51:21 +02:00
J. Nick Koston
66932e3d9a Fix unneeded dict values for MATCH_ALL recorder attrs exclude (#120804)
* Small cleanup to handling MATCH_ALL recorder attrs exclude

* Fix unneeded dict values for MATCH_ALL recorder attrs exclude

The exclude is a set so the dict values were not needed

* Fix unneeded dict values for MATCH_ALL recorder attrs exclude

The exclude is a set so the dict values were not needed

* Fix unneeded dict values for MATCH_ALL recorder attrs exclude

The exclude is a set so the dict values were not needed
2024-06-29 17:51:18 +02:00
J. Nick Koston
0ec07001bd Fix blocking I/O in xmpp notify to read uploaded files (#120801)
detected by ruff in https://github.com/home-assistant/core/pull/120799
2024-06-29 17:51:15 +02:00
J. Nick Koston
0dcfd38cdc Fix missing f-string in loop util (#120800) 2024-06-29 17:51:12 +02:00
Klaas Schoute
b45eff9a2b Bump gridnet lib to v5.0.1 (#120793) 2024-06-29 17:51:09 +02:00
Klaas Schoute
ec577c7bd3 Bump odp-amsterdam lib to v6.0.2 (#120788) 2024-06-29 17:51:06 +02:00
Paul Bottein
723c4a1eb5 Update frontend to 20240628.0 (#120785)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-29 17:51:02 +02:00
Klaas Schoute
b30b4d5a3a Bump energyzero lib to v2.1.1 (#120783) 2024-06-29 17:50:59 +02:00
Matthew FitzGerald-Chamberlain
8165acddeb Bump pyaprilaire to 0.7.4 (#120782) 2024-06-29 17:50:56 +02:00
Joost Lekkerkerker
0f3ed3bb67 Bump aiowithings to 3.0.2 (#120765) 2024-06-29 17:50:53 +02:00
Maciej Bieniek
d1a96ef362 Do not call async_delete_issue() if there is no issue to delete in Shelly integration (#120762)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-29 17:50:50 +02:00
J. Nick Koston
917eeba984 Increase mqtt availablity timeout to 50s (#120760) 2024-06-29 17:50:46 +02:00
Clifford Roche
59bb8b360e Bump greeclimate to 1.4.6 (#120758) 2024-06-29 17:50:43 +02:00
Klaas Schoute
6028e5b77a Bump p1monitor lib to v3.0.1 (#120756) 2024-06-29 17:50:40 +02:00
Klaas Schoute
83df470307 Bump easyenergy lib to v2.1.2 (#120753) 2024-06-29 17:50:37 +02:00
Joost Lekkerkerker
20ac0aa7b1 Bump govee-local-api to 1.5.1 (#120747) 2024-06-29 17:50:34 +02:00
Joost Lekkerkerker
f57c942901 Bump sense-energy to 0.12.4 (#120744)
* Bump sense-energy to 0.12.4

* Fix
2024-06-29 17:50:31 +02:00
Alexey ALERT Rubashёff
8994ab1686 Add warm water remaining volume sensor to Overkiz (#120718)
* warm water remaining volume sensor

* Update homeassistant/components/overkiz/sensor.py

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>

---------

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-06-29 17:50:28 +02:00
Alexey ALERT Rubashёff
b350ba9657 Add electrical consumption sensor to Overkiz (#120717)
electrical consumption sensor
2024-06-29 17:50:25 +02:00
wittypluck
5fd589053a Reject small uptime updates for Unifi clients (#120398)
Extend logic to reject small uptime updates to Unifi clients + add unit tests
2024-06-29 17:50:22 +02:00
Allen Porter
2d5961fa4f Bump gcal_sync to 6.1.3 (#120278) 2024-06-29 17:50:18 +02:00
Joost Lekkerkerker
25932dff28 Add unique id to Mealie config entry (#120816) 2024-06-29 17:48:28 +02:00
Joost Lekkerkerker
0ab7647fea Use meal note as fallback in Mealie (#120828) 2024-06-29 17:47:21 +02:00
Joost Lekkerkerker
ce34a5e495 Add icons to Airgradient (#120820) 2024-06-29 17:46:44 +02:00
Allen Porter
7d8cbbaacb Bump gcal_sync to 6.1.3 (#120278) 2024-06-29 17:45:51 +02:00
Joost Lekkerkerker
f07f9062c1 Bump python-opensky to 1.0.1 (#120818) 2024-06-29 07:53:42 -05:00
Mick Vleeshouwer
5a6deddd30 Bump pyOverkiz to 1.13.12 (#120819) 2024-06-29 07:53:01 -05:00
J. Nick Koston
c5804d362c Remove legacy foreign key constraint from sqlite states table (#120779) 2024-06-29 07:50:53 -05:00
J. Nick Koston
852bb19223 Cleanup db_schema from_event constructors (#120803) 2024-06-29 07:49:16 -05:00
Joost Lekkerkerker
6ed0960648 Bump aiomealie to 0.5.0 (#120815) 2024-06-29 13:48:43 +02:00
Clifford Roche
8f6addcc61 Bump greeclimate to 1.4.6 (#120758) 2024-06-29 08:25:22 +02:00
J. Nick Koston
2cfd6d53bd Add event platform to unifiprotect (#120681)
* Add event platform to unifiprotect

* Add event platform to unifiprotect

* Add event platform to unifiprotect

* Add event platform to unifiprotect

* adjust

* tweaks

* translations

* coverage

* coverage

* Update tests/components/unifiprotect/test_event.py
2024-06-29 07:49:14 +02:00
J. Nick Koston
0dfb5bd7d9 Fix unneeded dict values for MATCH_ALL recorder attrs exclude (#120804)
* Small cleanup to handling MATCH_ALL recorder attrs exclude

* Fix unneeded dict values for MATCH_ALL recorder attrs exclude

The exclude is a set so the dict values were not needed

* Fix unneeded dict values for MATCH_ALL recorder attrs exclude

The exclude is a set so the dict values were not needed

* Fix unneeded dict values for MATCH_ALL recorder attrs exclude

The exclude is a set so the dict values were not needed
2024-06-29 07:42:08 +02:00
J. Nick Koston
d4ecbc91c3 Fix blocking I/O in xmpp notify to read uploaded files (#120801)
detected by ruff in https://github.com/home-assistant/core/pull/120799
2024-06-29 07:40:35 +02:00
J. Nick Koston
04ab74589a Fix missing f-string in loop util (#120800) 2024-06-29 07:01:18 +02:00
Paul Bottein
5995459de5 Update frontend to 20240628.0 (#120785)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-28 23:14:00 -05:00
Klaas Schoute
ba38f2e43b Bump gridnet lib to v5.0.1 (#120793) 2024-06-28 17:24:43 -05:00
dougiteixeira
cef7def024 Link Generic Hygrostat helper entity to actuator entity device (#120759) 2024-06-28 23:38:45 +02:00
dougiteixeira
8ed11d4b90 Link Generic Thermostat helper entity to actuator entity device (#120767) 2024-06-28 23:37:51 +02:00
J. Nick Koston
b03c10647e Fix stale docstring in recorder queries (#120763) 2024-06-28 16:29:12 -05:00
Klaas Schoute
a6454cf3c7 Bump odp-amsterdam lib to v6.0.2 (#120788) 2024-06-28 16:20:16 -05:00
wittypluck
3549aaf69c Reject small uptime updates for Unifi clients (#120398)
Extend logic to reject small uptime updates to Unifi clients + add unit tests
2024-06-28 22:47:20 +02:00
Klaas Schoute
a3394675f3 Bump energyzero lib to v2.1.1 (#120783) 2024-06-28 15:23:44 -05:00
Matthew FitzGerald-Chamberlain
97ef56d264 Bump pyaprilaire to 0.7.4 (#120782) 2024-06-28 22:15:34 +02:00
Mr. Bubbles
4fb0621027 Catch exceptions in service calls by buttons/switches in pyLoad integration (#120701)
* Catch exceptions in service calls by buttons/switches

* changes

* more changes

* update tests
2024-06-28 20:11:03 +02:00
Maciej Bieniek
c029c534d6 Do not call async_delete_issue() if there is no issue to delete in Shelly integration (#120762)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-28 19:34:24 +03:00
Toni Korhonen
f4224a0327 Bump Wallbox to 0.7.0 (#120768) 2024-06-28 17:54:20 +02:00
Joost Lekkerkerker
3e8773c0d5 Bump aiowithings to 3.0.2 (#120765) 2024-06-28 10:51:34 -05:00
J. Nick Koston
0ea1677f51 Increase mqtt availablity timeout to 50s (#120760) 2024-06-28 10:50:55 -05:00
Jan Bouwhuis
e907c45981 Cleanup mqtt platform tests part 5 (#120719) 2024-06-28 09:22:56 -05:00
Jan Bouwhuis
a8f4684929 Cleanup mqtt platform tests part 6 (last) (#120736) 2024-06-28 09:22:25 -05:00
Joost Lekkerkerker
d03a6f84a3 Bump govee-local-api to 1.5.1 (#120747) 2024-06-28 09:21:32 -05:00
Klaas Schoute
9505fcdd7d Bump p1monitor lib to v3.0.1 (#120756) 2024-06-28 09:20:44 -05:00
Klaas Schoute
3e3ab7a134 Bump easyenergy lib to v2.1.2 (#120753) 2024-06-28 09:14:31 -05:00
Joost Lekkerkerker
b56c4a757c Bump ruff to 0.5.0 (#120749) 2024-06-28 15:23:21 +02:00
Joost Lekkerkerker
984bbf8851 Bump sense-energy to 0.12.4 (#120744)
* Bump sense-energy to 0.12.4

* Fix
2024-06-28 14:53:29 +02:00
Joost Lekkerkerker
1fdd056c0e Fix ruff manual-dict-comprehension PERF403 (#120723)
* Fix PERF403

* Fix

* Fix
2024-06-28 14:17:47 +02:00
Franck Nijhof
d7a59748cf Bump version to 2024.7.0b4 2024-06-28 13:38:24 +02:00
epenet
c7906f90a3 Improve type hints in frontend tests (#120739) 2024-06-28 13:36:26 +02:00
epenet
d427dff68d Improve type hints in forked_daapd tests (#120735) 2024-06-28 13:35:55 +02:00
Joost Lekkerkerker
f69b850b1a Bump xiaomi-ble to 0.30.1 (#120743) 2024-06-28 13:35:34 +02:00
epenet
d0ce0d562e Improve type hints in flo tests (#120730) 2024-06-28 13:34:26 +02:00
tronikos
cada78496b Fix Google Generative AI: 400 Request contains an invalid argument (#120741) 2024-06-28 13:31:00 +02:00
Illia
c5fa9ad272 Bump asyncarve to 0.1.1 (#120740) 2024-06-28 13:30:51 +02:00
epenet
fe8b5656dd Separate renault strings (#120737) 2024-06-28 13:30:48 +02:00
epenet
0ae11b0335 Bump renault-api to 0.2.4 (#120727) 2024-06-28 13:30:45 +02:00
Dave Leaver
76780ca04e Bump airtouch5py to 1.2.0 (#120715)
* Bump airtouch5py to fix console 1.2.0

* Bump airtouch5py again
2024-06-28 13:30:38 +02:00
Brett Adams
3932ce57b9 Check Tessie scopes to fix startup bug (#120710)
* Add scope check

* Add tests

* Bump Teslemetry
2024-06-28 13:30:35 +02:00
dougiteixeira
35d145d3bc Link the Statistics helper entity to the source entity device (#120705) 2024-06-28 13:30:30 +02:00
Maciej Bieniek
1227d56aa2 Bump nextdns to version 3.1.0 (#120703)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-28 13:30:27 +02:00
Joost Lekkerkerker
ef3ecb6183 Bump apsystems-ez1 to 1.3.3 (#120702) 2024-06-28 13:30:18 +02:00
Joost Lekkerkerker
ca515f740e Bump panasonic_viera to 0.4.2 (#120692)
* Bump panasonic_viera to 0.4.2

* Bump panasonic_viera to 0.4.2

* Bump panasonic_viera to 0.4.2

* Fix Keys
2024-06-28 13:30:15 +02:00
Erik Montnemery
876fb234ce Bump hatasmota to 0.9.2 (#120670) 2024-06-28 13:30:10 +02:00
Erik Montnemery
f28cbf1909 Set stateclass on unknown numeric Tasmota sensors (#120650) 2024-06-28 13:30:06 +02:00
epenet
2e031d0194 Separate renault strings (#120737) 2024-06-28 13:26:31 +02:00
tronikos
d2a457c24f Fix Google Generative AI: 400 Request contains an invalid argument (#120741) 2024-06-28 13:25:55 +02:00
Ivan Belokobylskiy
c385deb6a3 Bump aiomaps with fixed license classifier (#120654) 2024-06-28 13:25:23 +02:00
Joost Lekkerkerker
6ef8e87f88 Fix ruff redefined-argument-from-local PLR1704 (#120729)
* Fix PLR1704

* Fix
2024-06-28 12:31:07 +02:00
dougiteixeira
4437c4a204 Link the Statistics helper entity to the source entity device (#120705) 2024-06-28 12:22:24 +02:00
Illia
23e5e25149 Bump asyncarve to 0.1.1 (#120740) 2024-06-28 12:14:44 +02:00
Joost Lekkerkerker
c13786c952 Fix ruff manual-dict-comprehension PERF403 in tests (#120738)
Fix PERF403 in tests
2024-06-28 12:14:24 +02:00
epenet
6f8c9c28e7 Improve type hints in fjaraskupan tests (#120732) 2024-06-28 12:03:26 +02:00
Joost Lekkerkerker
0fdf037ba0 Fix ruff type comparison E721 (#120731)
Fix E721
2024-06-28 11:56:49 +02:00
Brett Adams
3d580259e1 Check Tessie scopes to fix startup bug (#120710)
* Add scope check

* Add tests

* Bump Teslemetry
2024-06-28 11:21:59 +02:00
epenet
6d93695e2c Improve type hints in flux tests (#120733) 2024-06-28 11:20:17 +02:00
Mr. Bubbles
540da3cac6 Add unit and state_class to heating sensor in ista EcoTrend (#120728)
* Add unit and state_class to heating sensor

* remove constant
2024-06-28 10:16:13 +01:00
Joost Lekkerkerker
6286177041 Bump panasonic_viera to 0.4.2 (#120692)
* Bump panasonic_viera to 0.4.2

* Bump panasonic_viera to 0.4.2

* Bump panasonic_viera to 0.4.2

* Fix Keys
2024-06-28 11:15:44 +02:00
epenet
9b980602c9 Improve type hints in flux_led tests (#120734) 2024-06-28 11:09:54 +02:00
epenet
1e72c2f94d Bump renault-api to 0.2.4 (#120727) 2024-06-28 11:03:01 +02:00
epenet
5e39faa9f8 Improve type hints in auth tests (#120655) 2024-06-28 10:01:53 +01:00
Alexey ALERT Rubashёff
84de2da19f Add warm water remaining volume sensor to Overkiz (#120718)
* warm water remaining volume sensor

* Update homeassistant/components/overkiz/sensor.py

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>

---------

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-06-28 09:53:07 +01:00
Joost Lekkerkerker
03c6e0c55f Fix SIM300 (#120725) 2024-06-28 10:46:02 +02:00
Alexey ALERT Rubashёff
c98e70a6dc Add electrical consumption sensor to Overkiz (#120717)
electrical consumption sensor
2024-06-28 09:45:27 +01:00
Dave Leaver
827bfa89b3 Bump airtouch5py to 1.2.0 (#120715)
* Bump airtouch5py to fix console 1.2.0

* Bump airtouch5py again
2024-06-28 09:44:54 +02:00
Steven B
e0e744aed7 Bump ring-doorbell to 0.8.12 (#120671) 2024-06-28 08:52:01 +02:00
Erik Montnemery
ec069f9084 Set stateclass on unknown numeric Tasmota sensors (#120650) 2024-06-28 08:42:47 +02:00
Joost Lekkerkerker
4e34d02d2d Bump apsystems-ez1 to 1.3.3 (#120702) 2024-06-28 08:36:10 +02:00
Maciej Bieniek
e764afecac Bump nextdns to version 3.1.0 (#120703)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-27 23:12:20 +02:00
Erik Montnemery
f3761a8e53 Bump hatasmota to 0.9.2 (#120670) 2024-06-27 22:56:22 +02:00
Franck Nijhof
9b5d0f72dc Bump version to 2024.7.0b3 2024-06-27 22:20:25 +02:00
Steven B
23056f839b Update tplink unlink identifiers to deal with ids from other domains (#120596) 2024-06-27 22:20:02 +02:00
Joost Lekkerkerker
0b8dd738f1 Bump ttls to 1.8.3 (#120700) 2024-06-27 22:19:25 +02:00
Glenn Waters
411633d3b3 Bump Environment Canada to 0.7.1 (#120699) 2024-06-27 22:19:22 +02:00
Thomas55555
f3ab3bd5cb Bump aioautomower to 2024.6.3 (#120697) 2024-06-27 22:19:19 +02:00
Bram Kragten
476b9909ac Update frontend to 20240627.0 (#120693) 2024-06-27 22:19:16 +02:00
Glenn Waters
e756328d52 Bump upb-lib to 0.5.7 (#120689) 2024-06-27 22:19:13 +02:00
J. Nick Koston
b9c9921847 Add newer models to unifi integrations discovery (#120688) 2024-06-27 22:19:10 +02:00
MatthewFlamm
09dbd8e7eb Use more observations in NWS (#120687)
Use more observations
2024-06-27 22:19:07 +02:00
Glenn Waters
07dd832c58 Bump Environment Canada to 0.7.0 (#120686) 2024-06-27 22:19:04 +02:00
J. Nick Koston
f9c5661c66 Bump unifi-discovery to 1.2.0 (#120684) 2024-06-27 22:19:01 +02:00
J. Nick Koston
94f8f8281f Bump uiprotect to 4.2.0 (#120669) 2024-06-27 22:18:58 +02:00
Erik Montnemery
f6aa25c717 Fix docstring for EventStateEventData (#120662) 2024-06-27 22:18:55 +02:00
Jesse Hills
f9ca85735d [esphome] Add more tests to bring integration to 100% coverage (#120661) 2024-06-27 22:18:52 +02:00
Joost Lekkerkerker
be086c581c Fix Airgradient ABC days name (#120659) 2024-06-27 22:18:49 +02:00
Joost Lekkerkerker
03d198dd64 Fix unknown attribute in MPD (#120657) 2024-06-27 22:18:47 +02:00
Joost Lekkerkerker
a8d6866f9f Disable polling for Knocki (#120656) 2024-06-27 22:18:44 +02:00
Brett Adams
0e1dc9878f Fix values at startup for Tessie (#120652) 2024-06-27 22:18:41 +02:00
Erik Montnemery
6849597764 Bump hatasmota to 0.9.1 (#120649) 2024-06-27 22:18:38 +02:00
Josef Zweck
3022d3bfa0 Move Auto On/off switches to Config EntityCategory (#120648) 2024-06-27 22:18:35 +02:00
Erik Montnemery
4836d6620b Add snapshots to tasmota sensor test (#120647) 2024-06-27 22:18:32 +02:00
Erik Montnemery
b290e95350 Improve typing of state event helpers (#120639) 2024-06-27 22:18:29 +02:00
Josef Zweck
89ac3ce832 Fix the version that raises the issue (#120638) 2024-06-27 22:18:26 +02:00
Erik Montnemery
1933454b76 Rename async_track_state_reported_event to async_track_state_report_event (#120637)
* Rename async_track_state_reported_event to async_track_state_report_event

* Update tests
2024-06-27 22:18:23 +02:00
J. Nick Koston
38601d48ff Add async_track_state_reported_event to fix integration performance regression (#120622)
split from https://github.com/home-assistant/core/pull/120621
2024-06-27 22:18:20 +02:00
J. Nick Koston
7256f23376 Fix performance regression in integration from state_reported (#120621)
* Fix performance regression in integration from state_reported

Because the callbacks were no longer indexed by entity id, users
saw upwards of 1M calls/min

https://github.com/home-assistant/core/pull/113869/files#r1655580523

* Update homeassistant/helpers/event.py

* coverage

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-06-27 22:18:17 +02:00
J. Nick Koston
7519603bf5 Bump uiprotect to 4.0.0 (#120617) 2024-06-27 22:18:14 +02:00
Luke Lashley
ef47daad9d Bump anova_wifi to 0.14.0 (#120616) 2024-06-27 22:18:11 +02:00
Erik Montnemery
18d283bed6 Don't allow updating a device to have no connections or identifiers (#120603)
* Don't allow updating a device to have no connections or identifiers

* Move check to the top of the function
2024-06-27 22:18:08 +02:00
Steven B
210e906a4d Store tplink credentials_hash outside of device_config (#120597) 2024-06-27 22:17:51 +02:00
J. Nick Koston
dcffd6bd7a Remove unused fields from unifiprotect event sensors (#120568) 2024-06-27 22:14:15 +02:00
Alexey ALERT Rubashёff
2c2261254b Improve AtlanticDomesticHotWaterProductionMBLComponent support in Overkiz (#114178)
* add overkiz AtlanticDHW support

Adds support of Overkiz water heater entity selection based on device controllable_name
Adds support of Atlantic water heater based on Atlantic Steatite Cube WI-FI VM 150 S4CS 2400W
Adds more Overkiz water heater binary_sensors, numbers, and sensors

* Changed class annotation

* min_temp and max_temp as properties

* reverted binary_sensors, number, sensor to make separate PRs

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* review fixes, typos, and pylint

* review fix

* review fix

* ruff

* temperature properties changed to constructor attributes

* logger removed

* constants usage consistency

* redundant mapping removed

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* boost mode method annotation typo

* removed away mode for atlantic dwh

* absence and boost mode attributes now support 'prog' state

* heating status bugfix

* electrical consumption sensor

* warm water remaining volume sensor

* away mode reintroduced

* mypy check

* boost plus state support

* Update homeassistant/components/overkiz/sensor.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* sensors reverted to separate them into their own PR

* check away and boost modes on before switching them off

* atlantic_dhw renamed to atlantic_domestic_hot_water_production

* annotation changed

* AtlanticDomesticHotWaterProductionMBLComponent file renamed, annotation change reverted

---------

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
2024-06-27 22:14:13 +02:00
Jesse Hills
53e49861a1 Mark esphome integration as platinum (#112565)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-27 22:14:08 +02:00
epenet
bccd5c8c35 Improve type hints in evil_genius_labs tests (#120677) 2024-06-27 22:11:24 +02:00
J. Nick Koston
440928bcbe Bump unifi-discovery to 1.2.0 (#120684) 2024-06-27 22:10:48 +02:00
Glenn Waters
338687522a Bump Environment Canada to 0.7.1 (#120699) 2024-06-27 22:10:11 +02:00
Joost Lekkerkerker
6421612429 Bump ttls to 1.8.3 (#120700) 2024-06-27 22:09:33 +02:00
Bram Kragten
c4ab0dcd74 Update frontend to 20240627.0 (#120693) 2024-06-27 22:06:30 +02:00
Alexey ALERT Rubashёff
195643d916 Improve AtlanticDomesticHotWaterProductionMBLComponent support in Overkiz (#114178)
* add overkiz AtlanticDHW support

Adds support of Overkiz water heater entity selection based on device controllable_name
Adds support of Atlantic water heater based on Atlantic Steatite Cube WI-FI VM 150 S4CS 2400W
Adds more Overkiz water heater binary_sensors, numbers, and sensors

* Changed class annotation

* min_temp and max_temp as properties

* reverted binary_sensors, number, sensor to make separate PRs

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* review fixes, typos, and pylint

* review fix

* review fix

* ruff

* temperature properties changed to constructor attributes

* logger removed

* constants usage consistency

* redundant mapping removed

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_dhw.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* boost mode method annotation typo

* removed away mode for atlantic dwh

* absence and boost mode attributes now support 'prog' state

* heating status bugfix

* electrical consumption sensor

* warm water remaining volume sensor

* away mode reintroduced

* mypy check

* boost plus state support

* Update homeassistant/components/overkiz/sensor.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* sensors reverted to separate them into their own PR

* check away and boost modes on before switching them off

* atlantic_dhw renamed to atlantic_domestic_hot_water_production

* annotation changed

* AtlanticDomesticHotWaterProductionMBLComponent file renamed, annotation change reverted

---------

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
2024-06-27 22:05:58 +02:00
Thomas55555
aaef31958b Bump aioautomower to 2024.6.3 (#120697) 2024-06-27 21:29:17 +02:00
epenet
629dab238f Improve type hints in enphase_envoy tests (#120676) 2024-06-27 13:24:22 -05:00
J. Nick Koston
c419d226d5 Bump uiprotect to 4.2.0 (#120669) 2024-06-27 12:58:42 -05:00
epenet
f4b76406f2 Add capsys to enforce-type-hints plugin (#120653) 2024-06-27 19:54:44 +02:00
MatthewFlamm
eb2d2ce1b3 Use more observations in NWS (#120687)
Use more observations
2024-06-27 13:47:25 -04:00
Glenn Waters
89dfca962f Bump upb-lib to 0.5.7 (#120689) 2024-06-27 19:41:36 +02:00
Joost Lekkerkerker
d423dae8ac Fix unknown attribute in MPD (#120657) 2024-06-27 19:41:21 +02:00
Jan Bouwhuis
f3c76cd698 Split mqtt client tests (#120636) 2024-06-27 19:37:43 +02:00
J. Nick Koston
0c910bc000 Add newer models to unifi integrations discovery (#120688) 2024-06-27 19:20:37 +02:00
Glenn Waters
b9e01b9253 Bump Environment Canada to 0.7.0 (#120686) 2024-06-27 12:08:18 -05:00
epenet
e446875c7e Improve type hints in esphome tests (#120674) 2024-06-27 09:33:14 -05:00
Erik Montnemery
3895252965 Fix docstring for EventStateEventData (#120662) 2024-06-27 08:00:14 -05:00
Steven B
9758b08036 Update tplink unlink identifiers to deal with ids from other domains (#120596) 2024-06-27 07:54:34 -05:00
Steven B
970dd99226 Store tplink credentials_hash outside of device_config (#120597) 2024-06-27 07:34:12 -05:00
epenet
0d53ce4fb8 Improve type hints in emulated_hue tests (#120664) 2024-06-27 14:27:35 +02:00
Erik Montnemery
8de771de96 Rename async_track_state_reported_event to async_track_state_report_event (#120637)
* Rename async_track_state_reported_event to async_track_state_report_event

* Update tests
2024-06-27 13:45:15 +02:00
Jesse Hills
1f54180807 Mark esphome integration as platinum (#112565)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-27 06:26:38 -05:00
Josef Zweck
9f6783dcf5 Add release url to lamarzocco update (#120645) 2024-06-27 13:21:36 +02:00
Brett Adams
cb92510571 Fix values at startup for Tessie (#120652) 2024-06-27 13:17:15 +02:00
Jesse Hills
a93855ded3 [esphome] Add more tests to bring integration to 100% coverage (#120661) 2024-06-27 06:08:40 -05:00
Erik Montnemery
a165064e9d Improve typing of state event helpers (#120639) 2024-06-27 06:08:19 -05:00
Erik Montnemery
54a5a3e3fb Bump hatasmota to 0.9.1 (#120649) 2024-06-27 12:55:49 +02:00
Joost Lekkerkerker
9aa2cc11e9 Fix Airgradient ABC days name (#120659) 2024-06-27 12:47:58 +02:00
Joost Lekkerkerker
4f7c6bdce8 Disable polling for Knocki (#120656) 2024-06-27 12:29:32 +02:00
Dave T
022f545342 Remove unnecessary .coveragerc entries (#120620) 2024-06-27 11:21:34 +02:00
Erik Montnemery
06f495dd45 Add snapshots to tasmota sensor test (#120647) 2024-06-27 10:43:28 +02:00
Josef Zweck
85629dc31e Move Auto On/off switches to Config EntityCategory (#120648) 2024-06-27 10:34:01 +02:00
Joakim Sørensen
5634741ce2 Bump awesomeversion from 24.2.0 to 24.6.0 (#120642) 2024-06-27 10:27:20 +02:00
Erik Montnemery
3e9b57cc07 Don't allow updating a device to have no connections or identifiers (#120603)
* Don't allow updating a device to have no connections or identifiers

* Move check to the top of the function
2024-06-27 09:26:31 +02:00
Josef Zweck
c9c573dbce Fix the version that raises the issue (#120638) 2024-06-27 09:21:41 +02:00
J. Nick Koston
5503379a3b Fix performance regression in integration from state_reported (#120621)
* Fix performance regression in integration from state_reported

Because the callbacks were no longer indexed by entity id, users
saw upwards of 1M calls/min

https://github.com/home-assistant/core/pull/113869/files#r1655580523

* Update homeassistant/helpers/event.py

* coverage

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-06-27 08:50:41 +02:00
dougiteixeira
617ab48fa9 Address device helper review comments (#120615)
* Address review comments from #119761

* Address review comments from #119761

* Address review comments from #119761

* Remove reference from config entry
2024-06-27 08:50:20 +02:00
epenet
28e72753ad Prevent importing PLATFORM_SCHEMA/_BASE from config validation (#120571) 2024-06-27 06:31:22 +02:00
J. Nick Koston
a5a631148e Add async_track_state_reported_event to fix integration performance regression (#120622)
split from https://github.com/home-assistant/core/pull/120621
2024-06-26 23:04:27 -04:00
J. Nick Koston
f189d87fe9 Bump uiprotect to 4.0.0 (#120617) 2024-06-26 20:37:28 -05:00
J. Nick Koston
5e1c8b0c54 Remove unused fields from unifiprotect event sensors (#120568) 2024-06-26 20:37:08 -05:00
Luke Lashley
2449e2029e Bump anova_wifi to 0.14.0 (#120616) 2024-06-27 01:14:18 +02:00
Jan Bouwhuis
32e64f7911 Cleanup mqtt platform tests part 4 (init) (#120574) 2024-06-26 16:57:41 -05:00
Franck Nijhof
3da8d0a741 Bump version to 2024.7.0b2 2024-06-26 23:55:20 +02:00
Paul Bottein
0701b0daa9 Update frontend to 20240626.2 (#120614) 2024-06-26 23:55:11 +02:00
Luca Angemi
bea6fe30b8 Fix telegram bot thread_id key error (#120613) 2024-06-26 23:55:08 +02:00
Paul Bottein
b7a65d9a82 Update frontend to 20240626.2 (#120614) 2024-06-26 23:54:07 +02:00
Marc Mueller
9d7078e1fa Install libturbojpeg in hassfest job [ci] (#120611) 2024-06-26 23:52:31 +02:00
Luca Angemi
1973c604b6 Fix telegram bot thread_id key error (#120613) 2024-06-26 23:45:47 +02:00
Franck Nijhof
7d5d81b229 Bump version to 2024.7.0b1 2024-06-26 22:51:27 +02:00
Franck Nijhof
242b3fa609 Update adguardhome to 0.7.0 (#120605) 2024-06-26 22:48:39 +02:00
Marc Mueller
74204e2ee6 Fix mqtt test fixture usage (#120602) 2024-06-26 22:47:52 +02:00
Jan Bouwhuis
da01635a07 Prevent changes to mutable bmw_connected_drive fixture data (#120600) 2024-06-26 22:47:32 +02:00
Shay Levy
b5c34808e6 Add last_error reporting to Shelly diagnostics (#120595) 2024-06-26 22:47:09 +02:00
Erik Montnemery
80e70993c8 Remove deprecated run_immediately flag from integration sensor (#120593) 2024-06-26 22:46:50 +02:00
Max
2e01e169ef Correct deprecation warning async_register_static_paths (#120592) 2024-06-26 22:46:30 +02:00
Markus Jacobsen
b35442ed2d Improve Bang & Olufsen error messages (#120587)
* Convert logger messages to raised errors where applicable

* Modify exception types

* Improve deezer / tidal error message

* Update homeassistant/components/bang_olufsen/strings.json

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* Update homeassistant/components/bang_olufsen/media_player.py

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-06-26 22:46:27 +02:00
Michael Hansen
1b45069620 Bump intents to 2024.6.26 (#120584)
Bump intents
2024-06-26 22:46:23 +02:00
Shay Levy
d3d0e05817 Change Shelly connect task log message level to error (#120582) 2024-06-26 22:46:20 +02:00
TheJulianJES
3d164c6721 Bump ZHA dependencies (#120581) 2024-06-26 22:46:17 +02:00
Florian
6dd1e09354 Don't allow switch toggle when device in locked in AVM FRITZ!SmartHome (#120132)
* fix: set state of the FritzBox-Switch to disabled if the option for manuel switching in the userinterface is disabled

* feat: raise an error instead of disabling switch

* feat: rename method signature

* fix: tests

* fix: wrong import

* feat: Update homeassistant/components/fritzbox/strings.json

Update error message

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* Update tests/components/fritzbox/test_switch.py

feat: update test

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* make ruff happy

* fix expected error message check

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-06-26 22:46:13 +02:00
Shay Levy
ba456f2564 Align Shelly sleeping devices timeout with non-sleeping (#118969) 2024-06-26 22:46:06 +02:00
Marc Mueller
6bceb8ec48 Add some more VolDictType annotations (#120610) 2024-06-26 22:44:43 +02:00
Marc Mueller
fcfb580f0c Update pylint to 3.2.4 (#120606) 2024-06-26 22:29:55 +02:00
Franck Nijhof
516b9126b7 Update adguardhome to 0.7.0 (#120605) 2024-06-26 22:05:30 +02:00
Markus Jacobsen
2146a4729b Improve Bang & Olufsen error messages (#120587)
* Convert logger messages to raised errors where applicable

* Modify exception types

* Improve deezer / tidal error message

* Update homeassistant/components/bang_olufsen/strings.json

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* Update homeassistant/components/bang_olufsen/media_player.py

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-06-26 21:46:59 +02:00
Florian
9b2915efed Don't allow switch toggle when device in locked in AVM FRITZ!SmartHome (#120132)
* fix: set state of the FritzBox-Switch to disabled if the option for manuel switching in the userinterface is disabled

* feat: raise an error instead of disabling switch

* feat: rename method signature

* fix: tests

* fix: wrong import

* feat: Update homeassistant/components/fritzbox/strings.json

Update error message

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* Update tests/components/fritzbox/test_switch.py

feat: update test

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* make ruff happy

* fix expected error message check

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-06-26 21:45:17 +02:00
Marc Mueller
dd6cc82f70 Fix mqtt test fixture usage (#120602) 2024-06-26 21:30:30 +02:00
Jan Bouwhuis
8839a71adc Prevent changes to mutable bmw_connected_drive fixture data (#120600) 2024-06-26 20:57:27 +02:00
Erik Montnemery
f1a57d69cc Remove deprecated run_immediately flag from integration sensor (#120593) 2024-06-26 20:55:41 +02:00
Max
702d53ca30 Correct deprecation warning async_register_static_paths (#120592) 2024-06-26 20:55:25 +02:00
Shay Levy
4c6cbadc11 Align Shelly sleeping devices timeout with non-sleeping (#118969) 2024-06-26 20:53:02 +02:00
Shay Levy
d8ab2debfd Add last_error reporting to Shelly diagnostics (#120595) 2024-06-26 21:35:23 +03:00
Robert Resch
31e9de3b95 Adapt Roborock to runtime_data (#120578)
* Adopt Roborock to runtime_data

* Fix name
2024-06-26 19:42:15 +02:00
Shay Levy
ed1eb8ac9c Change Shelly connect task log message level to error (#120582) 2024-06-26 18:19:28 +02:00
TheJulianJES
d09a274548 Bump ZHA dependencies (#120581) 2024-06-26 18:15:53 +02:00
Michael Hansen
02b142fbde Bump intents to 2024.6.26 (#120584)
Bump intents
2024-06-26 11:13:01 -05:00
Franck Nijhof
33b4f40b2a Bump version to 2024.8.0dev0 (#120577) 2024-06-26 16:55:08 +02:00
Franck Nijhof
3492171ff8 Bump version to 2024.7.0b0 2024-06-26 16:17:57 +02:00
Gerben Jongerius
f5c640ee5b Add additional tests to youless integration (#118869) 2024-06-26 16:11:21 +02:00
epenet
713abf4c6b Refactor PLATFORM_SCHEMA imports in tests (#120566) 2024-06-26 16:09:20 +02:00
Bouwe Westerdijk
32c07180f6 Delete removed device(s) at runtime in Plugwise (#120296) 2024-06-26 16:08:32 +02:00
Mr. Bubbles
55101fcc45 Add platinum scale to pyLoad integration (#120542)
Add platinum scale
2024-06-26 16:06:55 +02:00
G Johansson
3d5d4f8ddb Add config flow to statistics (#120496) 2024-06-26 16:06:35 +02:00
treetip
30a3e9af2b Add profile duration sensor for Vallox integration (#120240) 2024-06-26 15:54:13 +02:00
Erik Montnemery
862cd76f89 Add explanatory comment in tests/patch_time.py (#120572) 2024-06-26 15:49:34 +02:00
epenet
f65d91f6d2 Refactor PLATFORM_SCHEMA imports in platforms (#120564) 2024-06-26 15:44:59 +02:00
epenet
f4fa5b581e Import PLATFORM_SCHEMA from platform not from helpers (#120565) 2024-06-26 15:43:48 +02:00
Mr. Bubbles
294e1d4fc4 Fix class name and deprecation version (#120570) 2024-06-26 15:42:03 +02:00
Joost Lekkerkerker
66a803e56c Disable Aladdin Connect (#120558)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-26 15:41:20 +02:00
Luke Lashley
d0f82d6f02 Add support for Dyad vacuums to Roborock (#115331) 2024-06-26 15:40:19 +02:00
Bouwe Westerdijk
4defc4a58f Implement a reboot-button for Plugwise (#120554)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-26 15:28:50 +02:00
Mr. Bubbles
af9b4b98ca Add value_fn to switch entity description in pyLoad (#120569) 2024-06-26 15:09:42 +02:00
Mr. Bubbles
43d686e0f1 Redact the hostname in pyLoad diagnostics (#120567) 2024-06-26 14:59:14 +02:00
Mr. Bubbles
7eb9875a9e Add Base class for entities in PyLoad integration (#120563)
* Add Base class for entities

* Remove constructors
2024-06-26 14:45:04 +02:00
Teemu R
fc2968bc1b Adjust tplink codeowners (#120561) 2024-06-26 14:35:22 +02:00
Luke Lashley
b9be491016 Add options flow to Roborock (#104345)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-26 14:32:26 +02:00
Brett Adams
ec16fc235b Add new coordinators to Tessie (#118452)
* WIP

* wip

* Add energy classes

* Add basis for Testing

* Bump Library

* fix case

* bump library

* bump library again

* bump library for teslemetry

* reorder

* Fix super

* Update strings.json

* Tests

* Small tweaks

* Bump

* Bump teslemetry

* Remove version

* Add WC states

* Bump to match dev

* Review feedback

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

* Review feedback

* Review feedback 1

* Review feedback 2

* TessieWallConnectorStates Enum

* fixes

* Fix translations and value

* Update homeassistant/components/tessie/strings.json

* Update homeassistant/components/tessie/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-26 14:23:06 +02:00
epenet
fd67fe417e Use ruff to force alias when importing PLATFORM_SCHEMA (#120539) 2024-06-26 14:22:52 +02:00
Joost Lekkerkerker
e39d26bdc0 Add switch platform to Airgradient (#120559) 2024-06-26 14:21:30 +02:00
Michael Hansen
d515a7f063 Add created_seconds to timer info and pass to ESPHome devices (#120364) 2024-06-26 14:20:11 +02:00
Mr. Bubbles
f5ff19d602 Add measurement unit and state_class to sensors in pyLoad (#120551) 2024-06-26 14:14:48 +02:00
Luke Lashley
69e0227682 Add Roborock to strict typing (#120379) 2024-06-26 14:13:49 +02:00
Joost Lekkerkerker
0d2aeb846f Increase max temperature to 40 for Tado (#120560) 2024-06-26 14:05:24 +02:00
Mr. Bubbles
1d0aa6bff0 Update docstrings in pyLoad tests (#120556) 2024-06-26 13:40:20 +02:00
Bouwe Westerdijk
b07453dca4 Implement remaining select-adaptions for Plugwise (#120544) 2024-06-26 13:37:08 +02:00
Mr. Bubbles
972b85a75b Fix class and variable naming errors in pyLoad integration (#120547) 2024-06-26 13:36:25 +02:00
Mr. Bubbles
13a9efb6a6 Convert dataclass to dict in pyLoad diagnostics (#120552) 2024-06-26 13:36:01 +02:00
Erik Montnemery
a36c40a434 Use state_reported events in Riemann sum sensor (#113869) 2024-06-26 13:35:01 +02:00
Bram Kragten
f0590f08b1 Update frontend to 20240626.0 (#120546) 2024-06-26 13:26:53 +02:00
Robert Resch
e8a3e3c8db Fix airgradient select entities (#120549) 2024-06-26 13:19:34 +02:00
Mr. Bubbles
34e266762e Remove unnecessary icon states in pyLoad integration (#120548)
Remove unnecessary icon states
2024-06-26 13:09:50 +02:00
Joost Lekkerkerker
7ef1db0549 Fix release in MPD issue (#120545) 2024-06-26 12:52:31 +02:00
epenet
be7a2c2cc2 Revert "Force alias when importing scene PLATFORM_SCHEMA" (#120540)
Revert "Force alias when importing scene PLATFORM_SCHEMA (#120534)"

This reverts commit 348ceca19f.
2024-06-26 12:40:41 +02:00
Richard Kroegel
d5bcfe9822 Improve BMW tests (#119171)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-26 12:27:55 +02:00
Erik Montnemery
9bbeb5d608 Add primary_config_entry attribute to device registry entries (#119959)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-26 12:26:24 +02:00
Erik Montnemery
f55ddfecf4 Correct type annotations in integration sensor tests (#120541) 2024-06-26 12:25:02 +02:00
epenet
36d8ffa79a Force alias when importing media player PLATFORM_SCHEMA (#120537) 2024-06-26 12:19:04 +02:00
Joost Lekkerkerker
fac8349c37 Add learning offset select to Airgradient (#120532) 2024-06-26 12:18:33 +02:00
Bouwe Westerdijk
d00fe1ce7f Import DOMAIN constants for Plugwise and implement (#120530) 2024-06-26 12:17:17 +02:00
epenet
c49fce5541 Force alias when importing sensor PLATFORM_SCHEMA (#120536) 2024-06-26 12:14:13 +02:00
epenet
348ceca19f Force alias when importing scene PLATFORM_SCHEMA (#120534) 2024-06-26 12:11:22 +02:00
epenet
32bab97f00 Force alias when importing light PLATFORM_SCHEMA (#120529) 2024-06-26 11:53:15 +02:00
epenet
912136be25 Force alias when importing lock PLATFORM_SCHEMA (#120531) 2024-06-26 11:52:57 +02:00
Brett Adams
d4dc7d76d9 Refactor Tessie for future PR (#120406)
* Bump tessie-api

* Refactor

* revert bump

* Fix cover

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-06-26 11:46:30 +02:00
epenet
a8bf671663 Force alias when importing remote PLATFORM_SCHEMA (#120533) 2024-06-26 11:45:57 +02:00
Mr. Bubbles
42d235ce4d Add diagnostics platform to pyLoad integration (#120535) 2024-06-26 11:44:58 +02:00
Stefan Agner
44aad2b821 Improve Matter Server version incompatibility handling (#120416)
* Improve Matter Server version incompatibility handling

Improve the handling of Matter Server version. Noteably fix the issues
raised (add strings for the issue) and split the version check into
two cases: One if the server is too old and one if the server is too
new.

* Bump Python Matter Server library to 6.2.0b1

* Address review feedback
2024-06-26 11:43:51 +02:00
epenet
7b7b97a7a4 Force alias when importing event and fan PLATFORM_SCHEMA (#120524) 2024-06-26 11:35:39 +02:00
hahn-th
ae73500beb Add HmIP-ESI (#116863) 2024-06-26 11:33:44 +02:00
Marc Mueller
d527113d59 Improve schema typing (3) (#120521) 2024-06-26 11:30:07 +02:00
epenet
afbd24adfe Force alias when importing image processing PLATFORM_SCHEMA (#120527) 2024-06-26 11:29:52 +02:00
epenet
2c17d84fab Force alias when importing cover PLATFORM_SCHEMA (#120522) 2024-06-26 11:25:14 +02:00
epenet
17946c4b45 Force alias when importing geo location PLATFORM_SCHEMA (#120525) 2024-06-26 11:24:45 +02:00
epenet
59ae297ccd Force alias when importing humidifier PLATFORM_SCHEMA (#120526) 2024-06-26 11:24:21 +02:00
Erik Montnemery
d589eaf440 Simplify EVENT_STATE_REPORTED (#120508) 2024-06-26 11:23:26 +02:00
epenet
2c48843739 Force alias when importing device tracker PLATFORM_SCHEMA (#120523) 2024-06-26 11:13:27 +02:00
Bouwe Westerdijk
41026b9227 Implement @plugwise_command for Plugwise Select platform (#120509) 2024-06-26 11:04:00 +02:00
epenet
0c0f666a28 Force alias when importing camera PLATFORM_SCHEMA (#120514) 2024-06-26 11:03:13 +02:00
Mr. Bubbles
45dedf73c8 Add exception translations for pyLoad integration (#120520) 2024-06-26 11:00:31 +02:00
epenet
e06d7050f2 Force alias when importing climate PLATFORM_SCHEMA (#120518) 2024-06-26 10:55:09 +02:00
epenet
399130bc95 Force alias when importing binary sensor PLATFORM_SCHEMA (#120510) 2024-06-26 10:54:19 +02:00
Mr. Bubbles
8e598ec3ff Rename sensor to finished downloads in pyLoad integration (#120483) 2024-06-26 10:50:32 +02:00
epenet
c96dc00a3a Force alias when importing alarm control panel PLATFORM_SCHEMA (#120505) 2024-06-26 10:41:46 +02:00
epenet
6c81885cae Force alias when importing calendar PLATFORM_SCHEMA (#120512) 2024-06-26 10:40:17 +02:00
epenet
9b8922a678 Force alias when importing switch PLATFORM_SCHEMA (#120504) 2024-06-26 10:36:54 +02:00
Artur Pragacz
a4ba346dfc Switch onkyo to pyeiscp, making it local_push (#120026)
* Switch onkyo to pyeiscp, making it local_push

Major rewrite of the integration to use pyeiscp.
This facilitates use of the async push updates.
Streamline the code dealing with zones.
Handle sound mode.
Add myself to codeowners.

* Add types

* Add more types

* Address feedback

* Remove sound mode support for now

* Fix zone detection

* Keep legacy unique_id
2024-06-26 10:28:06 +02:00
Bouwe Westerdijk
0a48cc29b6 Implement @plugwise_command for Plugwise Number platform (#120503) 2024-06-26 10:24:29 +02:00
epenet
7b298f177c Force alias when importing tts PLATFORM_SCHEMA (#120500) 2024-06-26 10:23:37 +02:00
Mr. Bubbles
d76a82e340 Add switch platform to pyload integration (#120352) 2024-06-26 10:21:54 +02:00
epenet
caa57c56f6 Force alias when importing air_quality PLATFORM_SCHEMA (#120502) 2024-06-26 10:03:29 +02:00
epenet
4bfecea2f4 Force alias when importing notify PLATFORM_SCHEMA (#120494) 2024-06-26 10:02:24 +02:00
Joost Lekkerkerker
59959141af Remove Knocki triggers on runtime (#120452)
* Bump Knocki to 0.2.0

* Remove triggers on runtime in Knocki

* Fix
2024-06-26 09:52:05 +02:00
Mr. Bubbles
82b8b73b8a Add reconfiguration flow to pyLoad integration (#120485) 2024-06-26 09:46:50 +02:00
Erik Montnemery
4a86693254 Verify default timezone is restored when test ends (#116216) 2024-06-26 09:41:16 +02:00
G Johansson
c085057847 Add timezone testing in holiday (#120497) 2024-06-26 09:40:29 +02:00
starkillerOG
1b88448914 Do not wait for Reolink firmware check (#120377) 2024-06-26 09:34:45 +02:00
Jan Bouwhuis
c5b7d2d868 Cleanup mqtt platform tests part 3 (#120493) 2024-06-26 09:29:40 +02:00
Joost Lekkerkerker
5a0841155e Add unique_id to MPD (#120495) 2024-06-26 09:28:11 +02:00
Thomas Kistler
bff9d12cc0 Add active watering time sensor to Hydrawise (#120177) 2024-06-26 09:24:48 +02:00
J. Nick Koston
30e0bcb324 Bump dbus-fast to 2.22.1 (#120491) 2024-06-26 09:20:43 +02:00
Jan Bouwhuis
e567f8f3d5 Fix issue where an MQTT device is removed linked to two config entries (#120430)
* Fix issue where an MQTT device is removed linked to two config entries

* Update homeassistant/components/mqtt/discovery.py

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

* Update homeassistant/components/mqtt/debug_info.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-26 09:14:33 +02:00
Michael Hansen
d3ceaef098 Allow timer management from any device (#120440) 2024-06-26 09:06:56 +02:00
Abílio Costa
8ce53d28e7 Handle availability in Idasen Desk height sensor (#120277) 2024-06-26 09:02:49 +02:00
Robert Resch
9f4bf6f11a Create repair when HA auth provider is running in legacy mode (#119975) 2024-06-26 09:00:33 +02:00
Erik Montnemery
005c71a4a5 Deduplicate alarm_control_panel services.yaml (#118796) 2024-06-26 08:55:28 +02:00
Jan Bouwhuis
fab901f9b6 Cleanup mqtt platform tests part 2 (#120490) 2024-06-26 08:53:28 +02:00
J. Nick Koston
cef1d35e31 Make fetching integrations with requirements safer (#120481) 2024-06-26 08:51:57 +02:00
Grubalex
b7e7905b54 Add Philips WiZ Lightbulbs to Matter TRANSITION_BLOCKLIST (#120461) 2024-06-26 08:51:55 +02:00
Mr. Bubbles
f23020919f Remove unused translation strings in pyLoad integration (#120476) 2024-06-26 08:51:12 +02:00
Mr. Bubbles
cc6aac5e75 Add missing textselectors in USER_DATA_SCHEMA in pyLoad integration (#120479) 2024-06-26 08:50:45 +02:00
G Johansson
0f7229f55f Fix holiday using utc instead of local time (#120432) 2024-06-26 08:45:53 +02:00
Mr. Bubbles
ba40340f82 Align deviceinfo entries in pyLoad integration (#120478) 2024-06-26 08:45:22 +02:00
J. Nick Koston
07b70cba10 Fix dropped unifiprotect motion events (#120489) 2024-06-26 08:32:43 +02:00
Marc Mueller
6fb32db151 Improve config vol.Invalid typing (#120482) 2024-06-26 03:03:54 +02:00
Marc Mueller
49df0c4366 Improve schema typing (2) (#120475) 2024-06-26 02:25:30 +02:00
EnjoyingM
2380696fcd Bump wolf-comm to 0.0.9 (#120473) 2024-06-26 02:22:09 +02:00
Marc Mueller
3937cc2963 Improve SERVICE_TO_METHOD typing (#120474) 2024-06-26 02:20:48 +02:00
Marc Mueller
0bc597f8c7 Improve vol.Invalid handling (#120480) 2024-06-26 02:13:09 +02:00
J. Nick Koston
ec2f98d075 Bump uiprotect to 3.7.0 (#120471) 2024-06-26 02:12:04 +02:00
Thomas Kistler
9718a9571e Add @thomaskistler as an owner of hydrawise (#120477) 2024-06-26 02:11:52 +02:00
Tom Harris
3cc3eb21b4 Bump pyinsteon to 1.6.3 to fix Insteon device status (#120464) 2024-06-26 00:04:09 +02:00
Luke Lashley
60519702b4 Bump python-roborock to 2.5.0 (#120466) 2024-06-26 00:03:01 +02:00
Jan Bouwhuis
038f2ce79f Cleanup mqtt platform tests part 1 (#120470) 2024-06-26 00:01:57 +02:00
Stefan Agner
5983344746 Handle http connection errors to Prusa printers (#120456) 2024-06-25 22:34:56 +02:00
Joost Lekkerkerker
1f0e47b251 Migrate Airgradient select entities to be config source dependent (#120462)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-25 22:27:52 +02:00
Teemu R
4290a1fcb5 Upgrade tplink with new platforms, features and device support (#120060)
Co-authored-by: Teemu Rytilahti <tpr@iki.fi>
Co-authored-by: sdb9696 <steven.beth@gmail.com>
Co-authored-by: Steven B <51370195+sdb9696@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Teemu R. <tpr@iki.fi>
2024-06-25 22:01:21 +02:00
Joost Lekkerkerker
9bc4361855 Bump Knocki to 0.2.0 (#120447) 2024-06-25 20:17:51 +02:00
Marc Mueller
f4b124f5f1 Fix invalid schemas (#120450) 2024-06-25 20:17:38 +02:00
Erik Montnemery
7d2ae5b3a5 Add WS command blueprint/substitute (#119890) 2024-06-25 20:15:11 +02:00
Marc Mueller
9dc26652ee Fix gtfs typing (#120451) 2024-06-25 20:08:04 +02:00
Erik Montnemery
75c7ae7c69 Support in service descriptions for input sections (#116100) 2024-06-25 20:00:48 +02:00
J. Nick Koston
c4b277b6ab Small cleanups to ESPHome manager reconnect shutdown (#120401) 2024-06-25 19:40:04 +02:00
Erik Montnemery
d4e93dd01d Validate new device identifiers and connections (#120413) 2024-06-25 19:17:54 +02:00
Marc Mueller
3559755aed Add import aliases for PLATFORM_SCHEMA (#120445) 2024-06-25 19:16:19 +02:00
Jan Bouwhuis
cbcf29720d Cleanup common mqtt tests (#120446) 2024-06-25 19:15:11 +02:00
Marc Mueller
185e79fa1b Improve intent schema typing (#120442) 2024-06-25 19:02:04 +02:00
Marc Mueller
b393024acd Improve collection schema typing (#120441) 2024-06-25 18:57:15 +02:00
Marc Mueller
197062139e Fix schema typing (1) (#120443) 2024-06-25 18:54:06 +02:00
Marc Mueller
f017134199 Fix missing vol.Optional keyword (#120444) 2024-06-25 18:53:06 +02:00
J. Nick Koston
e0b9855160 Bump uiprotect to 3.4.0 (#120433) 2024-06-25 18:22:56 +02:00
epenet
09e8f7e9bb Improve type hints in deconz tests (#120388) 2024-06-25 17:44:03 +02:00
Denis Shulyaka
2386ed3830 Add script llm tool (#118936)
* Add script llm tool

* Add tests

* More tests

* more test

* more test

* Add area and floor resolving

* coverage

* coverage

* fix ColorTempSelector

* fix mypy

* fix mypy

* add script reload test

* Cache script tool parameters

* Make custom_serializer a part of api

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-06-25 10:43:26 -05:00
Mr. Bubbles
77fea8a73e Add reauth flow to pyLoad integration (#120376)
Add reauth flow
2024-06-25 17:15:12 +02:00
Kevin Stillhammer
253514a124 Bump pywaze to 1.0.2 (#120412) 2024-06-25 17:08:36 +02:00
epenet
6a370bde34 Adjust imports in samsungtv tests (#120409) 2024-06-25 17:08:10 +02:00
epenet
6e5bc0da94 Improve type hints in cloud tests (#120420) 2024-06-25 17:07:50 +02:00
J. Nick Koston
4feca36ca6 Refactor esphome platform setup to reduce boilerplate (#120415) 2024-06-25 17:03:04 +02:00
J. Nick Koston
49e6316c42 Bump yalexs-ble to 2.4.3 (#120428) 2024-06-25 17:00:26 +02:00
J. Nick Koston
edaa5c60a7 Small cleanups to ESPHome (#120414) 2024-06-25 17:00:03 +02:00
Aaron Godfrey
f934fea754 Apply all todoist custom project filters for calendar events (#117454)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-25 15:34:54 +02:00
Marc Mueller
bcd1243686 Use VolDictType to improve schema typing (#120417) 2024-06-25 15:15:59 +02:00
Jan Bouwhuis
aa05f73210 Add fixture to synchronize with debouncer in MQTT tests (#120373)
* Add fixture to synchronze with debouncer in MQTT tests

* Migrate more tests to use the debouncer

* Migrate more tests

* Migrate util tests

* Improve mqtt on_callback test using new fixture

* Improve test_subscribe_error

* Migrate other tests

* Import EnsureJobAfterCooldown from `util.py` but patch `client.py`
2024-06-25 14:26:20 +02:00
Marc Mueller
b816fce976 Improve websocket_api schema typing (#120411) 2024-06-25 14:08:30 +02:00
J. Nick Koston
b5afc5a7f0 Fix incorrect mocking in ESPHome tests (#120410) 2024-06-25 13:31:50 +02:00
J. Nick Koston
c15718519b Improve test coverage for ESPHome manager (#120400) 2024-06-25 13:14:11 +02:00
epenet
76e890865e Adjust imports in cloud tests (#120386) 2024-06-25 13:13:14 +02:00
epenet
cbb3d48bd9 Improve type hints in dsmr tests (#120393) 2024-06-25 13:11:27 +02:00
J. Nick Koston
fccb7ea1f9 Migrate ESPHome to use entry.runtime_data (#120402) 2024-06-25 13:10:09 +02:00
Marc Mueller
7453b7df63 Improve mqtt schema typing (#120407) 2024-06-25 13:03:18 +02:00
Marc Mueller
62fd692d27 Improve async_register_admin_service schema typing (#120405) 2024-06-25 12:48:00 +02:00
Brett Adams
de8bccb650 Add services to Teslemetry (#119119)
* Add custom services

* Fixes

* wip

* Test coverage

* Update homeassistant/components/teslemetry/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Add error translations

* Translate command error

* Fix test

* Expand on comment as requested

* Remove impossible cases

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-06-25 12:44:06 +02:00
Marc Mueller
3a5acd6a57 Use VolDictType for service schemas (#120403) 2024-06-25 12:33:41 +02:00
Marc Mueller
b4eee166aa Add voluptuous type aliases (#120399) 2024-06-25 11:58:27 +02:00
Marc Mueller
53f5dec1b4 Install libturbojpeg [ci] (#120397) 2024-06-25 11:26:45 +02:00
treetip
d3e76b1f39 Update vallox_websocket_api to 5.3.0 (#120395) 2024-06-25 11:24:57 +02:00
Erik Montnemery
0545ed8082 Section support for data entry flows (#118369)
* Add expandable support for data entry form flows

* Update config_validation.py

* optional options

* Adjust

* Correct translations of data within sections

* Update homeassistant/components/kitchen_sink/config_flow.py

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

* Add missing import

* Update tests/components/kitchen_sink/test_config_flow.py

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

* Format code

* Match frontend when serializing

* Move section class to data_entry_flow

* Correct serializing

* Fix import in kitchen_sink

* Move and update test

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-25 11:02:00 +02:00
epenet
3d1ff72a88 Improve type hints in device_automation tests (#120389) 2024-06-25 10:58:10 +02:00
starkillerOG
ddd8083302 Fix translation error in Reolink reauth flow (#120385) 2024-06-25 10:37:42 +02:00
Jan Bouwhuis
1d16cbec96 Move mqtt debouncer to mqtt utils (#120392) 2024-06-25 10:33:58 +02:00
epenet
46ed76df31 Improve type hints in diagnostics tests (#120391) 2024-06-25 10:07:05 +02:00
epenet
f8d5c9144a Improve type hints in device_tracker tests (#120390) 2024-06-25 10:06:38 +02:00
epenet
7f20c1a489 Improve type hints in demo tests (#120387) 2024-06-25 09:55:59 +02:00
Erik Montnemery
6fb400f76b Add test of get_all_descriptions resolving features (#120384) 2024-06-25 09:47:43 +02:00
David Bonnes
744161928e Bump evohome-async to 0.4.20 (#120353) 2024-06-25 08:25:04 +02:00
Jan Schneider
ced6c0dd8c Update moehlenhoff-alpha2 to 1.3.1 (#120351)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-25 08:11:26 +02:00
Mr. Bubbles
fd0fee1900 Add button platform to pyLoad integration (#120359) 2024-06-25 08:09:54 +02:00
Luke Lashley
adc074f60a Remove humbertogontijo as Codeowner for Roborock (#120336) 2024-06-25 08:03:20 +02:00
G Johansson
59998bc48a Use runtime_data in github (#120362) 2024-06-25 08:02:57 +02:00
Markus Jacobsen
aa8427abe5 Bump Bang & Olufsen mozart-open-api to 3.4.1.8.6 fixing blocking IO call (#120369)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-25 08:02:02 +02:00
Mr. Bubbles
59080a3a6f Strip whitespace characters from token in One-Time-Passwort (OTP) integration (#120380) 2024-06-25 08:00:19 +02:00
Marc Mueller
f1ddf80dff Fix dlna_dms test RuntimeWarning (#120341) 2024-06-25 03:34:23 +02:00
Michael Hansen
1e16afb43b Fix pylint error in Google generative AI tests (#120371)
* Fix pylint error

* Add second fix
2024-06-24 16:03:34 -05:00
Michael Hansen
6d917f0242 Don't run timer callbacks for delayed commands (#120367)
* Don't send timer events for delayed commands

* Don't run timer callbacks for delayed commands
2024-06-24 16:21:51 -04:00
Markus Jacobsen
d0961ca473 Make Bang & Olufsen products ignore .m3u media source files (#120317) 2024-06-24 21:06:57 +02:00
Joost Lekkerkerker
72d1b3e360 Deprecate Nanoleaf gesture device trigger (#120078) 2024-06-24 21:05:23 +02:00
starkillerOG
bbb8bb31f9 Only raise Reolink re-auth flow when login fails 3 consecutive times (#120291) 2024-06-24 21:03:41 +02:00
epenet
ea09d0cbed Use HassKey in cloud integration (#120322) 2024-06-24 21:02:08 +02:00
epenet
b223cb7bb9 Ensure config_entry is added to hass in tests (#120327) 2024-06-24 21:00:12 +02:00
David Knowles
3b79ab6e18 Reduce the amount of data fetched in individual Hydrawise API calls (#120328) 2024-06-24 20:58:54 +02:00
Michael Hansen
46dcf1dc44 Prioritize custom intents over builtin (#120358) 2024-06-24 20:57:56 +02:00
Robert Resch
6689dbbcc6 Deprecate DTE Energy Bridge (#120350)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-24 20:56:35 +02:00
G Johansson
00621ad512 Use runtime data in version (#120363) 2024-06-24 20:53:49 +02:00
Koen van Zuijlen
fb3059e6e6 Bump justnimbus to 0.7.4 (#120355) 2024-06-24 20:47:42 +02:00
Nathan Spencer
6b78e913f2 Bump pybalboa to 1.0.2 (#120360) 2024-06-24 20:45:30 +02:00
Charles Garwood
e2b0c55883 Bump python-fullykiosk to 0.0.14 (#120361) 2024-06-24 20:42:31 +02:00
Jan Bouwhuis
a7200a70b2 Set up mqtt tests from client fixture of mqtt entry setup fixture, not both (#120274)
* Fix entry setup and cleanup issues in mqtt tests

* Reduce changes by using mqtt_client_mock alias

* Reduce sleep time where possibe
2024-06-24 19:42:32 +02:00
Mr. Bubbles
1e5f4c2d75 Add additional sensors to pyLoad integration (#120309) 2024-06-24 18:56:33 +02:00
epenet
31157828e1 Improve type hints in cloudflare tests (#120344) 2024-06-24 18:55:36 +02:00
Marc Mueller
a4e22bcba6 Update tenacity constraint (#120348) 2024-06-24 18:52:49 +02:00
Robert Resch
641507a45a Add change username endpoint (#109057) 2024-06-24 18:51:19 +02:00
J. Nick Koston
1e3ee8419f Bump async-interrupt to 1.1.2 (#120321) 2024-06-24 18:41:42 +02:00
J. Nick Koston
dd379a9a0a Bump aiozoneinfo to 0.2.1 (#120319) 2024-06-24 18:39:38 +02:00
epenet
8bad421a04 Improve type hints in config tests (#120346) 2024-06-24 18:36:57 +02:00
epenet
4089b808c3 Improve type hints in comfoconnect tests (#120345) 2024-06-24 18:33:51 +02:00
Erik Montnemery
d073fd9b37 Improve integration sensor tests (#120326) 2024-06-24 18:33:08 +02:00
J. Nick Koston
0247f91855 Bump bleak to 0.22.2 (#120325) 2024-06-24 18:32:32 +02:00
J. Nick Koston
8e26655915 Bump led-ble to 1.0.2 (#120347) 2024-06-24 17:51:30 +02:00
J. Nick Koston
eab1dc5255 Bump home-assistant-bluetooth to 1.12.2 (#120338) 2024-06-24 17:38:17 +02:00
J. Nick Koston
063a3f3bca Bump discovery30303 to 0.3.2 (#120340) 2024-06-24 17:36:48 +02:00
J. Nick Koston
b7bf61a8c9 Bump habluetooth to 3.1.3 (#120337) 2024-06-24 17:35:33 +02:00
J. Nick Koston
bd6164ad4b Bump bluetooth-data-tools to 1.19.3 (#120323) 2024-06-24 17:10:57 +02:00
Lennard Beers
e2f9ba5455 Bump eq3btsmart to 1.1.9 (#120339) 2024-06-24 17:00:37 +02:00
Marc Mueller
d1de42a299 Replace deprecated attribute in abode (#120343) 2024-06-24 16:44:59 +02:00
epenet
015bc0e172 Use HassKey in homeassistant integration (#120332) 2024-06-24 16:37:07 +02:00
Jan Bouwhuis
85720f9e02 Fix setup and tear down issues for mqtt discovery and config flow tests (#120333)
* Fix setup and tear down issues for mqtt discovery and config flow tests

* Use async callback
2024-06-24 16:20:44 +02:00
J. Nick Koston
2776b28bb7 Bump govee-ble to 0.31.3 (#120335) 2024-06-24 16:20:07 +02:00
Erik Montnemery
0d1b050520 Remove create_create from StorageCollectionWebsocket.async_setup (#119489) 2024-06-24 15:41:08 +02:00
J. Nick Koston
1a27cea6f2 Bump bluetooth-adapters to 0.19.2 (#120324) 2024-06-24 15:25:08 +02:00
Jan Bouwhuis
389b9d1ad6 Make sure ACK's are processed before mqtt tests are teared down (#120329) 2024-06-24 15:16:09 +02:00
J. Nick Koston
57cdd33537 Bump aiosteamist to 1.0.0 (#120318) 2024-06-24 14:56:48 +02:00
J. Nick Koston
e6cb68d199 Bump aiohttp-fast-zlib to 0.1.1 (#120315) 2024-06-24 14:33:16 +02:00
J. Nick Koston
604561aac0 Bump uiprotect to 3.3.1 (#120314) 2024-06-24 14:33:04 +02:00
J. Nick Koston
37c60d800e Bump aionut to 4.3.3 (#120313) 2024-06-24 14:32:52 +02:00
J. Nick Koston
8acb73df2e Bump aiooui to 0.1.6 (#120312) 2024-06-24 14:32:28 +02:00
Erik Montnemery
a5e6728227 Improve integration sensor tests (#120316) 2024-06-24 14:17:52 +02:00
J. Nick Koston
fbdc06647b Bump aiodhcpwatcher to 1.0.2 (#120311) 2024-06-24 14:05:13 +02:00
epenet
b4d0de9c0f Improve type hints in conversation tests (#120306) 2024-06-24 13:41:55 +02:00
epenet
aef2f7d707 Improve type hints in canary tests (#120305) 2024-06-24 13:34:44 +02:00
epenet
e3806d12f4 Improve type hints in simplisafe tests (#120303) 2024-06-24 13:34:23 +02:00
Mr. Bubbles
237f20de6c Add DataUpdateCoordinator to pyLoad integration (#120237)
* Add DataUpdateCoordinator

* Update tests

* changes

* changes

* test coverage

* some changes

* Update homeassistant/components/pyload/sensor.py

* use dataclass

* fix ConfigEntry

* fix configtype

* fix some issues

* remove logger

* remove unnecessary else

* revert fixture changes

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-24 12:58:37 +02:00
Joost Lekkerkerker
674dfa6e9c Add button platform to AirGradient (#119917) 2024-06-24 11:55:48 +02:00
Joost Lekkerkerker
f3a1ca6d54 Add coordinator to Knocki (#120251) 2024-06-24 11:41:33 +02:00
Jason R. Coombs
c04a6cc639 Bump jaraco.abode to 5.1.2 (#117363)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-24 11:37:12 +02:00
Cyrill Raccaud
59dd63ea86 Remove deprecated attributes from Swiss public transport integration (#120256) 2024-06-24 11:18:10 +02:00
Erik Montnemery
e32a27a8ff Remove hass_recorder test fixture (#120295) 2024-06-24 11:14:08 +02:00
Marc Mueller
be6dfc7a70 Typing improvements (#120297) 2024-06-24 11:07:22 +02:00
Arie Catsman
158c8b8400 Add optional test fixture collection to enphase_envoy diagnostic report (#116242)
* diagnostics_fixtures

* fix codespell errors

* fix merge order and typo

* remove pointless-string-statement
2024-06-24 10:37:32 +02:00
tronikos
deee10813c Ensure flume sees the most recent notifications (#120290) 2024-06-24 10:08:51 +02:00
tronikos
0dff7e8a55 Bump PyFlume to 0.8.7 (#120288) 2024-06-24 10:02:30 +02:00
Marc Mueller
b798d76706 Update mypy-dev to 1.11.0a9 (#120289) 2024-06-24 09:57:15 +02:00
Bouwe Westerdijk
213cb6f0fd Improve Plugwise runtime-updating (#120230) 2024-06-24 09:57:04 +02:00
Joost Lekkerkerker
ab9cbf64da Add sensors to Airgradient (#120286) 2024-06-24 09:54:22 +02:00
Paulus Schoutsen
5c2db162c4 Remove "no API" prompt (#120280) 2024-06-24 08:57:59 +02:00
Joost Lekkerkerker
4785810dc3 Migrate AEMET to has entity name (#120284) 2024-06-24 08:54:46 +02:00
Allen Porter
fa9bced6b0 Load local calendar ics in background thread to avoid timezone I/O in event loop (#120276) 2024-06-24 08:43:42 +02:00
Raman Gupta
6a5c1fc613 Replace custom validator from zwave_js with from_dict funcs (#120279) 2024-06-24 08:43:13 +02:00
Luca Angemi
fdade67211 Add device info for Aemet (#120243)
* Update sensor.py

* Update weather.py

* Update sensor.py

* ruff

* add device info to entity

* remove info from sensor

* remove info from weather

* ruff

* amend entity

* Update sensor.py

* Update weather.py

* ruff again

* add DOMAIN

* type unique_id

* Update entity.py

* Update entity.py

* assert

* update tests

* change snapshot
2024-06-24 08:20:34 +02:00
Thomas55555
fe3027f7de Adjust base entities in Husqvarna Automower (#120258)
* adjust base entities

* Adjust docstrings
2024-06-24 08:16:26 +02:00
Mr. Bubbles
d095d4e60d Change suggested data rate unit to Mbit/s in pyLoad (#120275)
Change data rate unit to Mbit/s
2024-06-24 07:53:15 +02:00
Danilo Bargen
66b91a84f9 mystrom: Add MAC and Config URL to devices (#120271)
* Add MAC address to mystrom switch devices

* Add configuration URL to mystrom switch devices
2024-06-23 21:39:58 -04:00
Paulus Schoutsen
19f97a3e53 LLM to handle decimal attributes (#120257) 2024-06-23 17:09:57 -04:00
Tsvi Mostovicz
143e8d09af Fix blocking call in Jewish Calendar while initializing location (#120265) 2024-06-23 16:04:16 -05:00
J. Nick Koston
436c36e3dd Bump aioesphomeapi to 24.6.1 (#120261) 2024-06-23 22:20:46 +02:00
Steven Looman
55a2645e78 Bump async_upnp_client to 0.39.0 (#120250) 2024-06-23 14:21:56 -05:00
Abílio Costa
480ffeda2c Remove connection state handling from Idasen Desk (#120242) 2024-06-23 12:56:10 -05:00
Tsvi Mostovicz
29da88d8f6 Create a Jewish Calendar entity (#120253)
* Set has_entity_name to true

* Move common code to jewish calendar service entity

* Remove already existing assignment

* Move data to common entity

* Remove description name

* Use config entry title instead of name for the device

* Address comments
2024-06-23 19:55:27 +02:00
Matthew FitzGerald-Chamberlain
034b5e88e0 Add Aprilaire air cleaning and fresh air functionality (#120174)
* Add custom services for Aprilaire

* Add icons.json

* Use select/number entities instead of services

* Remove unneeded consts

* Remove number platform

* Code review updates

* Update homeassistant/components/aprilaire/strings.json

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

* Code review updates

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-23 19:47:09 +02:00
Cyrill Raccaud
7efd1079bd Add Swiss public transport via stations (#115891)
* add via stations

* bump minor version due to backwards incompatibility

* better coverage of many via station options in unit tests

* fix migration unit test for new minor version 1.3

* switch version bump to major and improve migration test

* fixes

* improve error messages

* use placeholders for strings
2024-06-23 19:26:55 +02:00
J. Nick Koston
5fbb965624 Bump uiprotect to 3.1.8 (#120244) 2024-06-23 11:35:58 -05:00
J. Nick Koston
fa4b7f3078 Bump yalexs to 6.4.1 (#120248) 2024-06-23 11:16:11 -05:00
Joost Lekkerkerker
080d90b63a Add airgradient param fixture (#120241) 2024-06-23 17:48:54 +02:00
Joost Lekkerkerker
9769dec44b Add number platform to AirGradient (#120247)
* Add number entity

* Add airgradient number entities

* Fix
2024-06-23 17:45:43 +02:00
Jan Bouwhuis
f1fd52bc30 Fix issue in mqtt fixture calling disconnect handler (#120246) 2024-06-23 10:37:08 -05:00
Tsvi Mostovicz
2cc34fd7e7 Improve Jewish calendar entities (#120236)
* By default don't enable all sensors

* Fix tests

* Add entity category

* Set has_entity_name to true

* Revert "Set has_entity_name to true"

This reverts commit 5ebfcde78a.
2024-06-23 17:26:45 +02:00
Mr. Bubbles
473b3b61eb Add string and icon translations to pyLoad integration (#120234)
add string and icon translations to pyLoad
2024-06-23 14:25:36 +02:00
Virenbar
001abdaccf Fix generic thermostat string (#120235) 2024-06-23 13:49:43 +02:00
Mr. Bubbles
826587abb2 Add DeviceInfo to pyLoad integration (#120232)
* Add device info to pyLoad integration

* Update homeassistant/components/pyload/sensor.py

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

* Update homeassistant/components/pyload/sensor.py

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

* remove name, add entry_type

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-23 13:16:00 +02:00
Joakim Plate
84d1d11138 Add config flow to generic hygrostat (#119017)
* Add config flow to hygrostat

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-23 12:56:41 +02:00
G Johansson
4474e8c7ef Remove YAML import for tado (#120231) 2024-06-23 12:51:12 +02:00
Mr. Bubbles
28fb361c64 Add config flow to pyLoad integration (#120135)
* Add config flow to pyLoad integration

* address issues

* remove suggested values

* Fix exception

* abort import flow on error

* readd repair issues on error

* fix ruff

* changes

* changes

* exception hints
2024-06-23 12:34:32 +02:00
Bouwe Westerdijk
f257fcb0d1 Bump plugwise to v0.38.3 (#120152) 2024-06-23 10:58:08 +02:00
Mr. Bubbles
f0d5640f5d Bump pyloadapi to v1.2.0 (#120218) 2024-06-22 21:22:13 -05:00
Paulus Schoutsen
bc45dcbad3 Add template config_entry_attr function (#119899)
* Template config_entry_attr function

* Complete test coverage

* Improve readability
2024-06-22 21:51:09 -04:00
tronikos
22467cc575 Avoid Opower time gaps (#117763)
* Avoid time gaps

* fix mypy

* async_get_time_zone
2024-06-22 21:33:44 -04:00
J. Nick Koston
ea0c93e3db Update uiprotect to 3.1.1 (#120173) 2024-06-22 18:11:48 -05:00
Shay Levy
57e615aa36 Don't log Shelly push update failures if there are no errors (#120189) 2024-06-23 00:36:58 +03:00
Scott K Logan
1ca187611d Bump aioraven to 0.6.0 (#120184) 2024-06-22 16:35:21 -05:00
G Johansson
b59e7ede9a Raise on incorrect suggested unit for sensor (#120180) 2024-06-22 22:05:45 +02:00
Matthias Alphart
08fae5d419 Add reconfigure flow to Fronius (#116132) 2024-06-22 21:12:32 +02:00
Franck Nijhof
135379adc3 Merge branch 'master' into dev 2024-06-22 21:10:17 +02:00
G Johansson
5ddda14e59 Remove deprecated (moved) helpers from helpers.__init__ (#120172) 2024-06-22 20:55:03 +02:00
G Johansson
f14e8b728c Remove YAML import from ping (#120176) 2024-06-22 20:39:32 +02:00
G Johansson
f06bd1b66f Remove YAML import from homeworks (#120171) 2024-06-22 20:05:34 +02:00
G Johansson
9b341f5b67 Don't record attributes in sql (#120170) 2024-06-22 19:42:55 +02:00
tronikos
725c309c0d Add image entity (screenshot) in Fully Kiosk Browser (#119622) 2024-06-22 19:37:18 +02:00
G Johansson
753ab08b5e Add capability to exclude all attributes from recording (#119725) 2024-06-22 19:30:28 +02:00
Pete Sage
3cf52a4767 Sonos add tests for media_player.play_media share link (#120169) 2024-06-22 19:13:37 +02:00
Bouke Haarsma
28eef00cce Huisbaasje rebranded to EnergyFlip (#120151)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-22 19:09:40 +02:00
Franck Nijhof
8e93116ed3 Update Home Assistant base image to 2024.06.1 (#120168) 2024-06-22 18:52:44 +02:00
Yazan Majadba
b2ade94d15 Add new Islamic prayer times calculation methods (#113763)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-22 18:52:18 +02:00
Thomas55555
1bd95d3596 Add service for Husqvarna Automower (#117269) 2024-06-22 18:40:13 +02:00
puddly
bd65afa207 Prioritize the correct CP2102N serial port on macOS (#116461) 2024-06-22 18:37:55 +02:00
Joakim Plate
4d982a9227 Add config flow to generic thermostat (#119930)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-22 18:26:39 +02:00
Etienne Soufflet
6a34e1b7ca Add tado climate swings and fan level (#117378) 2024-06-22 18:25:17 +02:00
G Johansson
cac55d0f47 Remove YAML import for lutron (#120159)
* Remove YAML import for lutron

* Restore constants
2024-06-22 18:23:35 +02:00
Christian Neumeier
6045c2bb08 Add diagnostics support to Zeversolar integration (#118245) 2024-06-22 17:34:48 +02:00
Indu Prakash
65a740f35e Fix airnow timezone look up (#120136) 2024-06-22 17:31:39 +02:00
r-xyz
cdc157de74 Add styled formatting option to Signal Messenger integration - Bump pysignalclirestapi to 0.3.24 (#117148) 2024-06-22 17:29:42 +02:00
Indu Prakash
abb88bcb8a Updated pynws to 1.8.2 (#120164) 2024-06-22 17:24:31 +02:00
Lucas Mindêllo de Andrade
3d7a47fb6b Tuya curtain robot stuck in open state (#118444) 2024-06-22 17:22:46 +02:00
Joakim Plate
b5a7fb1c33 Add valve entity to gardena (#120160)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-22 17:02:53 +02:00
Brent Petit
ed0e0eee71 Create auxHeatOnly switch in Ecobee integration (#116323)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-22 16:44:43 +02:00
Mr. Bubbles
856aa38539 Add feature to generate OTP token in One-Time Password (OTP) integration (#120055) 2024-06-22 16:43:04 +02:00
dougiteixeira
10edf85311 Update test_device_cleaning in Template (#120163) 2024-06-22 15:59:46 +02:00
dougiteixeira
02f0050819 Update test_device_cleaning in Derivative (#120162) 2024-06-22 15:54:35 +02:00
dougiteixeira
e9515b7584 Update test_device_cleaning in Utiltity Meter. (#120161) 2024-06-22 15:46:55 +02:00
dougiteixeira
61931d15cd Use the new device helpers in Threshold (#120158) 2024-06-22 15:38:58 +02:00
dougiteixeira
0b5c533669 Link the Trend helper entity to the source entity device (#119755) 2024-06-22 15:31:47 +02:00
dougiteixeira
30f3f1082f Use the new device helpers in Integral (#120157) 2024-06-22 15:30:38 +02:00
Mr. Bubbles
f2a4566eef Add re-auth flow to Bring integration (#115327) 2024-06-22 15:14:53 +02:00
tronikos
cea7231aab Add notify entities in Fully Kiosk Browser (#119371) 2024-06-22 15:04:52 +02:00
dougiteixeira
89b7bf2108 Add the ability to change the source entity of the Derivative helper (#119754) 2024-06-22 15:03:43 +02:00
SLaks
2dfa0a3c90 Add Jewish Calendar attributes for non-date sensors (#116252) 2024-06-22 14:30:19 +02:00
Joakim Plate
2ce510357d Mark ambilight as not available when off (#120155) 2024-06-22 13:42:20 +02:00
vmonkey
56d5e41b28 Add switches to Tuya dehumidifier: anion, filter_reset, and child_lock (#105200)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-22 13:41:45 +02:00
Dawid Pietryga
5cdd650023 Add satel integra binary switches unique_id (#118660) 2024-06-22 13:35:26 +02:00
Lenn
93e87997be Add sensors to Motionblinds BLE integration (#114226)
* Add sensors

* Add sensor.py to .coveragerc

* Move icons to icons.json

* Remove signal strength translation key

* Change native_value attribute name in entity description to initial_value

* Use str instead of enum for MotionConnectionType for options

* Add calibration options to entity description

* Fix icons

* Change translations of connection and calibration

* Move entity descriptions to __init__

* Use generic sensor class

* Use generic sensor class

* Update homeassistant/components/motionblinds_ble/strings.json

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

* Update homeassistant/components/motionblinds_ble/sensor.py

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

* Update homeassistant/components/motionblinds_ble/strings.json

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

* Update homeassistant/components/motionblinds_ble/strings.json

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-22 13:25:03 +02:00
Matthew FitzGerald-Chamberlain
ea8d0ba2ce Add sensors for Aprilaire integration (#113194)
* Add sensors for Aprilaire integration

* Exclude from coverage

* Exclude from coverage

* Add comment

* Update homeassistant/components/aprilaire/sensor.py

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

* Code review updates

* Code review updates

* Code review updates

* Code review updates

* Remove temperature conversion

* Add suggested display precision

* Code review updates

* Merge fix

* Code review fixes

* Fix type errors

* Revert change

* Fix type errors

* Type errors

* Use common keys

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-22 13:20:33 +02:00
Jan-Philipp Benecke
1c2aa9a49b Add preview to Threshold config & option flow (#117181)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-22 13:19:57 +02:00
Jack Boswell
2b2c4e8262 Expose altitude for Starlink device tracker (#115508) 2024-06-22 12:56:28 +02:00
On Freund
6d0ae77288 Reload Risco on connection reset (#120150) 2024-06-22 12:55:42 +02:00
GraceGRD
6a19808718 Add transparent command to opentherm_gw (#116494) 2024-06-22 12:53:13 +02:00
dougiteixeira
6e32a96ff3 Add the ability to bind the template helper entity to a device (#117753) 2024-06-22 12:45:06 +02:00
David Symonds
f258034f9c Support todoist task description in new_task service (#116203) 2024-06-22 12:42:46 +02:00
cRemE-fReSh
f8c1710753 Add Tuya pool heating pumps (#118415)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-22 12:42:32 +02:00
Alexandre CUER
cb045a794d Add coordinator to emoncms (#120008) 2024-06-22 12:41:54 +02:00
Michael
1a962b415e Add support to consider device holiday and summer mode in AVM Fritz!Smarthome (#119862) 2024-06-22 12:40:03 +02:00
tronikos
ad1f0db5a4 Pass prompt as system_instruction for Gemini 1.5 models (#120147) 2024-06-22 12:35:48 +02:00
Jan Bouwhuis
57eb8dab6a Fix file yaml import fails on scan_interval (#120154) 2024-06-22 12:28:41 +02:00
mletenay
f676760ab1 Add GoodWe async_update support to number/select entities (#116739) 2024-06-22 12:27:32 +02:00
Franck Nijhof
0feead385a Add unique ID support to Flux (#120142) 2024-06-22 12:23:17 +02:00
tronikos
9002d85f9b Support playback of videos in Fully Kiosk Browser (#119496) 2024-06-22 12:05:39 +02:00
Michael Oborne
1bbfe7854f Add Tuya reverse_energy_total and total_power sensors (#114801)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-22 11:58:54 +02:00
Marcos A L M Macedo
03d8f4162e Add sensor total production energy for Tuya (#113565) 2024-06-22 11:58:36 +02:00
Bouke Haarsma
ed2ad5ceaa Increase precision of Huisbaasje gas readings (#120138) 2024-06-22 11:46:11 +02:00
Jan Gaedicke
5e71eb4e0d Add support for VESKA-micro-inverter (VK-800) to tuya integration (#115996) 2024-06-22 11:28:59 +02:00
Erwin Douna
6e15c06aa9 Melcloud add reconfigure flow (#115999) 2024-06-22 11:25:42 +02:00
Raman Gupta
d9e26077c6 Add discovery rule for a Z-Wave Basic CC sensor (#105134) 2024-06-22 11:22:32 +02:00
Matthias Alphart
77edc149ec Add distinct import / export entities to Fronius (#116535) 2024-06-22 11:12:21 +02:00
peteS-UK
3d9f053256 Update naming to reflect name change from Logitech Media Server to Lyrion Music Server (#119480)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-22 10:58:23 +02:00
Ryan Mattson
f1759982ad Lyric: Only pull priority rooms when its an LCC device (#116876) 2024-06-22 10:48:02 +02:00
Kevin Stillhammer
e0d8c4d726 Ensure kraken tracked pairs can be deselected (#117461) 2024-06-22 10:47:21 +02:00
Shai Ungar
03aba7e7ab Address late seventeentrack review (#116792) 2024-06-22 10:46:31 +02:00
Marc Mueller
a76fa9f3bf Update pytest warnings filter (#120143) 2024-06-22 10:45:18 +02:00
IceBotYT
7efd547962 Fix peco integration (#117165) 2024-06-22 10:37:37 +02:00
wittypluck
0a30032b96 Enable statistics for UniFi remaining power sensors (#120073)
Unifi: Add StateClass Measurement to all power sensors
2024-06-22 10:31:20 +02:00
Charles Garwood
f3d2ba7d8d Add additional checks for Enpower supported feature (#117107) 2024-06-22 09:27:17 +02:00
Lenn
32a94fc114 Motionblinds Bluetooth options (#120110) 2024-06-22 09:13:14 +02:00
Pete Sage
88039597e5 Sonos add tests for media_player.play_media library track (#120119) 2024-06-22 09:09:38 +02:00
Pete Sage
cbfb587f2d Sonos add tests for media_player.play_media favorite_item_id (#120120) 2024-06-22 09:08:12 +02:00
Marc Mueller
bd72637fec Extend component root imports in tests (1) (#120122) 2024-06-22 09:06:31 +02:00
Marc Mueller
2e3aeae520 Extend component root imports in tests (2) (#120123) 2024-06-22 09:06:05 +02:00
Brett Adams
cb78caf455 Platinum quality on Teslemetry (#115191) 2024-06-22 08:56:50 +02:00
J. Nick Koston
47587ee3fb Fix race against is_smart_detected in unifiprotect (#120133) 2024-06-21 17:11:28 -05:00
Marc Mueller
1aa9094d3d Adjust hddtemp test Telnet patch location (#120121) 2024-06-21 23:19:47 +02:00
J. Nick Koston
4d11dd6739 Add additional license plate test coverage to unifiprotect (#120125) 2024-06-21 15:16:33 -05:00
J. Nick Koston
c3ab72a1f9 Fix comparing end of event in unifiprotect (#120124) 2024-06-21 14:48:09 -05:00
Franck Nijhof
b315b566e5 2024.6.4 (#120114) 2024-06-21 20:31:04 +02:00
starkillerOG
8b4a5042bb Use UID instead of MAC or channel for unique_ID in Reolink (#119744) 2024-06-21 20:27:30 +02:00
Michael
d6be733287 Add config flow to Feedreader (#118047) 2024-06-21 20:23:47 +02:00
tronikos
ba7388546e Implement Android TV Remote browse media with apps and activity list (#117126) 2024-06-21 20:17:04 +02:00
Marc Hörsken
c13efa3664 Bump blinkpy to 0.23.0 (#119418) 2024-06-21 20:08:08 +02:00
Thomas Kistler
febcb33545 Update pydrawise to 2024.6.4 (#119868) 2024-06-21 20:00:47 +02:00
Franck Nijhof
e62268d5ea Revert "Make UniFi services handle unloaded config entry (#120028)"
This reverts commit 39f67afa64.
2024-06-21 19:59:25 +02:00
J. Nick Koston
f7e194b32c Adjust blocking I/O messages to provide developer help (#120113) 2024-06-21 12:55:22 -05:00
Ludovic BOUÉ
2ad5b1c3a6 Add Matter discovery schemas for BooleanState sensors (#117870)
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2024-06-21 18:57:18 +02:00
Erwin Douna
cb563f25fa Add DSMR MQTT subscribe error handling (#118316)
Add eror handling
2024-06-21 18:52:39 +02:00
Franck Nijhof
c1dc6fd511 Bump version to 2024.6.4 2024-06-21 18:42:30 +02:00
Michael Hansen
92c12fdf0a Bump intents to 2024.6.21 (#120106) 2024-06-21 18:42:19 +02:00
Álvaro Fernández Rojas
53a21dcb6b Update AEMET-OpenData to v0.5.2 (#120065) 2024-06-21 18:42:17 +02:00
Jan Bouwhuis
59b2f4e56f Bump aioimaplib to 1.1.0 (#120045) 2024-06-21 18:42:13 +02:00
Glenn Waters
75a469f4d6 Bump env-canada to 0.6.3 (#120035)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-21 18:42:10 +02:00
Robert Svensson
39f67afa64 Make UniFi services handle unloaded config entry (#120028) 2024-06-21 18:41:33 +02:00
BestPig
5b322f1af5 Fix songpal crash for soundbars without sound modes (#119999)
Getting soundField on soundbar that doesn't support it crash raise an exception, so it make the whole components unavailable. As there is no simple way to know if soundField is supported, I just get all sound settings, and then pick soundField one if present. If not present, then return None to make it continue, it will just have to effect to display no sound mode and not able to select one (Exactly what we want).
2024-06-21 18:41:30 +02:00
Thomas Kistler
5edf480a15 Fix Hydrawise volume unit bug (#119988) 2024-06-21 18:41:27 +02:00
Erik Montnemery
96adf98625 Always create a new HomeAssistant object when falling back to recovery mode (#119969) 2024-06-21 18:41:24 +02:00
Bouwe Westerdijk
500ef94ad4 Bump plugwise to v0.37.4.1 (#119963)
* Bump plugwise to v0.37.4

* bump plugwise to v0.37.4.1
2024-06-21 18:41:21 +02:00
Artur Pragacz
a55e82366a Fix Onkyo zone volume (#119949) 2024-06-21 18:41:18 +02:00
G Johansson
c3607bd6d5 Bump python-holidays to 0.51 (#119918) 2024-06-21 18:41:15 +02:00
G Johansson
16314c5c7c Bump babel to 2.15.0 (#119006) 2024-06-21 18:41:10 +02:00
Jeef
91064697b5 Bump weatherflow4py to 0.2.21 (#119889) 2024-06-21 18:39:45 +02:00
Tsvi Mostovicz
5b1b137fd2 Bump hdate to 0.10.9 (#119887) 2024-06-21 18:39:42 +02:00
Brent Petit
e1225d3f56 Fix up ecobee windspeed unit (#119870) 2024-06-21 18:39:39 +02:00
J. Nick Koston
99d1de901e Bump aiozoneinfo to 0.2.0 (#119845) 2024-06-21 18:39:35 +02:00
AlCalzone
a1884ed821 Add discovery for Z-Wave Meter Reset (#119968) 2024-06-21 18:39:22 +02:00
Marc Mueller
08578147f5 Pin tenacity to 8.3.0 (#119815) 2024-06-21 18:36:10 +02:00
0bmay
0b4bbbffc8 Bump py-canary to v0.5.4 (#119793)
fix gathering data from Canary sensors
2024-06-21 18:36:06 +02:00
dubstomp
98aeb0b034 Add Kasa Dimmer to Matter TRANSITION_BLOCKLIST (#119751) 2024-06-21 18:36:03 +02:00
jjlawren
7a9537dcc9 Fix model import in Spotify (#119747)
* Always import HomeAssistantSpotifyData in spotify.media_browser

Relocate HomeAssistantSpotifyData to avoid circular import

* Fix moved import

* Rename module to 'models'

* Adjust docstring
2024-06-21 18:36:00 +02:00
Tsvi Mostovicz
8e63bd3ac0 Fix Jewish Calendar unique id migration (#119683)
* Implement correct passing fix

* Keep the test as is, as it simulates the current behavior

* Last minor change
2024-06-21 18:35:57 +02:00
Lode Smets
ddec6d04e1 Fix for Synology DSM shared images (#117695)
* Fix for shared images

* - FIX: Synology shared photos

* - changes after review

* Added test

* added test

* fix test
2024-06-21 18:35:48 +02:00
J. Nick Koston
5e375dbf38 Update uiprotect to 1.20.0 (#120108) 2024-06-21 18:26:14 +02:00
Michael Hansen
8aed04cd3c Bump intents to 2024.6.21 (#120106) 2024-06-21 18:19:52 +02:00
TheJulianJES
1bebf79e5c Fix Solarlog snapshot missing self-consumption sensor (#120111) 2024-06-21 17:53:05 +02:00
Robert Contreras
842763bd27 Add Home Connect binary_sensor unit tests (#115323) 2024-06-21 17:37:22 +02:00
Joost Lekkerkerker
2770811dda Add Knocki integration (#119140)
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
2024-06-21 17:22:03 +02:00
Thomas55555
710e245819 Also test if command can be send successfully in Husqvarna Automower (#120107) 2024-06-21 17:02:20 +02:00
Matthias Alphart
c342c1e4d6 Device automation extra fields translation for ZHA (#119520)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
2024-06-21 17:00:55 +02:00
epenet
f03759295f Refactor Tibber realtime entity creation (#118031) 2024-06-21 16:52:09 +02:00
Marcel van der Veldt
4110f4f393 Fix Matter entity names (#120038) 2024-06-21 16:42:22 +02:00
Thomas Kistler
180c244a78 Change Ambient Network timestamp updates (#116941) 2024-06-21 16:36:53 +02:00
Álvaro Fernández Rojas
f353b3fa54 Add Airzone Cloud air/floor demand binary sensors (#120103) 2024-06-21 16:22:05 +02:00
dontinelli
97a025ccc1 Add sensor for self-consumption in solarlog (#119885) 2024-06-21 16:16:09 +02:00
tronikos
b931c3ffcf Include required name in reauth_confirm of Opower (#119627) 2024-06-21 16:14:55 +02:00
Robert Resch
db826c9727 Bum uv to 0.2.13 (#120101) 2024-06-21 16:10:57 +02:00
Ethem Cem Özkan
7f5a71d281 Tado water heater code quality changes (#119811)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-06-21 16:01:57 +02:00
Álvaro Fernández Rojas
289a54d632 Update aioairzone-cloud to v0.5.3 (#120100) 2024-06-21 15:59:57 +02:00
Mr. Bubbles
7fa74fcb07 Refactor sensor platform of Pyload integration (#119716) 2024-06-21 15:57:36 +02:00
Erik Montnemery
a10f9a5f6d Allow opting out of warnings when removing unknown frontend panel (#119824) 2024-06-21 15:56:22 +02:00
jvmahon
12f812d6da Add number platform to Matter integration (#119770)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2024-06-21 15:53:50 +02:00
epenet
648ef94888 Improve type hints in core helper tests (#120096) 2024-06-21 15:43:27 +02:00
Thomas55555
4aecd23f1d Fix Husqvarna Automower schedule switch turning back on (#117692) 2024-06-21 15:27:39 +02:00
Josef Zweck
e149aa6b2e Add backflush sensor to lamarzocco (#119888)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-21 15:27:22 +02:00
tronikos
6caf614efd Add camera entity in Fully Kiosk Browser (#119483) 2024-06-21 15:08:32 +02:00
Erwin Douna
7f20173f6d MelCloud add diagnostics platform (#115962) 2024-06-21 15:07:43 +02:00
Marcel van der Veldt
bad5eaf329 Add entity ids to grouped hue light (#113053) 2024-06-21 15:04:42 +02:00
karwosts
7ba1e4446c Fix for in climate hvac_mode_changed trigger (#116455) 2024-06-21 14:53:28 +02:00
Lenn
af59072203 Bump motionblindsble to 0.1.0 (#120093) 2024-06-21 14:50:37 +02:00
dougiteixeira
a8ba22f6bb Add device linking and stale device link clean up helpers (#119761) 2024-06-21 14:46:39 +02:00
epenet
e2a34d209f Improve type hints in Config entry oauth2 tests (#120090) 2024-06-21 14:44:28 +02:00
Marc Mueller
5c2f78a4b9 Fix solarlog client close (#120092) 2024-06-21 14:35:45 +02:00
Mr. Bubbles
905c1c5700 Fix removed exception InternalServerError in ista EcoTrend integration (#120089) 2024-06-21 13:51:46 +02:00
Brent Petit
901317ec39 Remove rstrip from ecobee binary_sensor __init__ (#118062) 2024-06-21 13:40:26 +02:00
starkillerOG
225e90c99e Add playback of autotrack lens to Reolink (#119829)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-21 13:38:51 +02:00
dontinelli
a0f81cb401 Add solarlog reconfigure flow (#119913) 2024-06-21 13:35:22 +02:00
Tobias Schmitt
988148d385 Add ZHA cod.m coordinator discovery (#115471) 2024-06-21 13:33:53 +02:00
Aidan Timson
7d86921d09 Reduce line length for unique id (#120086) 2024-06-21 13:30:21 +02:00
neturmel
c9ddabaead Support tuya diivoo dual zone irrigationkit (ggq) (#115090)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-21 13:28:20 +02:00
Erwin Douna
b186b3536f Add Home Connect child lock (#118544) 2024-06-21 13:26:37 +02:00
Mr. Bubbles
f5f2e04126 Add reauth flow to ista EcoTrend integration (#118955) 2024-06-21 13:25:24 +02:00
Michael Hansen
18767154df Generate and keep conversation id for Wyoming satellite (#118835) 2024-06-21 13:24:53 +02:00
TheJulianJES
955685e116 Pin codecov-cli to v0.6.0 (#120084) 2024-06-21 13:22:32 +02:00
Jan Čermák
4707108146 Samsung AC Wind Mode (#119750) 2024-06-21 13:19:42 +02:00
Marc Mueller
f0452e9ba0 Update mypy dev 1.11.0a8 (#120032) 2024-06-21 13:15:18 +02:00
Aidan Timson
01d4629a2b Move coordinator store to entry runtime data for Azure DevOps (#119408)
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
2024-06-21 13:14:32 +02:00
c0ffeeca7
7bfa1e4729 System information: apply sentence-style capitalization (#119893) 2024-06-21 12:59:57 +02:00
Robert Svensson
ed7a888c07 Add one UniFi sensor test to validate entity attributes (#119914) 2024-06-21 12:59:31 +02:00
Rami Mosleh
e1a6ac59e1 Move transmission services registration to async_setup (#119593)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-06-21 12:58:33 +02:00
G Johansson
127af149ca Remove legacy template hass config option (#119925) 2024-06-21 12:53:55 +02:00
Joakim Plate
6420837d58 Calculate device class as soon as it is known in integral (#119940) 2024-06-21 12:47:57 +02:00
dontinelli
af9f4f310b Add additional tests for solarlog (#119928) 2024-06-21 12:44:25 +02:00
epenet
904cf26d31 Add MockToggleEntity type hints in tests (#120075) 2024-06-21 12:32:03 +02:00
Joost Lekkerkerker
fa1e4a225d Bump aiomealie to 0.4.0 (#120076) 2024-06-21 12:27:33 +02:00
J. Nick Koston
324f07378a Bump uiprotect to 1.19.3 (#120079) 2024-06-21 05:25:28 -05:00
G Johansson
1c1d5a8d9b Add unrecorded attributes in dnsip (#119726)
* Add unrecorded attributes in dnsip

* Fix names
2024-06-21 12:25:03 +02:00
Igor Santos
a52a2383c5 Tuya's light POS actually means "opposite state" (#119948) 2024-06-21 12:22:33 +02:00
Evgeny
0aacc67c38 OpenWeatherMap remove obsolete forecast sensors (#119922) 2024-06-21 12:21:57 +02:00
Robert Svensson
6ddc872655 Improve UniFi device tracker client tests (#119982) 2024-06-21 12:20:13 +02:00
Max Gross
2157d0c05e Fix unit of measurement for Comed Hourly Pricing (#115594)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-21 12:16:13 +02:00
Mr. Bubbles
79bc6fc1a8 Bump pyecotrend-ista to 3.3.1 (#120037) 2024-06-21 12:14:44 +02:00
epenet
5bbc4c80c5 Adjust CI job for Check pylint on tests (#120080)
* Adjust Check pylint on tests CI job

* Apply suggestion

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-21 12:12:15 +02:00
J. Nick Koston
15e52de7e9 Avoid constructing unifiprotect enabled callable when unused (#120074) 2024-06-21 11:58:45 +02:00
starkillerOG
c8ce935ec7 Check Reolink IPC channels for firmware repair issue (#119241)
* Add IPC channels to firmware repair issue

* fix tests

* fix typo
2024-06-21 11:57:48 +02:00
Brett Adams
ecd61c6b6d Add entities with no data in Tessie (#119550) 2024-06-21 11:57:19 +02:00
epenet
55134e23ea Add type hints in automation tests (#120077) 2024-06-21 11:56:52 +02:00
G Johansson
5cdafba667 Make attribute names in dnsip lowercase (for translation) (#119727) 2024-06-21 11:43:53 +02:00
Brett Adams
fde7ddfa71 Fix charge behavior in Tessie (#119546) 2024-06-21 11:30:57 +02:00
Robert Hillis
64cef6e082 Store runtime data inside the config entry in Litter Robot (#119547) 2024-06-21 11:28:44 +02:00
G Johansson
9c5879656c Remove legacy list event calendar service (#118663) 2024-06-21 11:18:51 +02:00
Joost Lekkerkerker
d21908a0e4 Add event entity to Nanoleaf (#120013)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-06-21 11:16:00 +02:00
epenet
7af79ba013 Add MockModule type hints in tests (#120007) 2024-06-21 11:11:48 +02:00
dontinelli
0dd5391cd7 Add Siemes and Millisiemens as additional units of conductivity and enable conversion between conductivity units (#118728) 2024-06-21 11:10:15 +02:00
Mr. Bubbles
818750dfd1 Add icons to One-Time Password (OTP) (#120066) 2024-06-21 11:07:45 +02:00
Erik Montnemery
d2a5683fa0 Raise repair issues when automations can't be set up (#120010) 2024-06-21 11:07:30 +02:00
Joost Lekkerkerker
5138c3de0a Add Mealie integration (#119678) 2024-06-21 11:04:55 +02:00
epenet
dc6c1f4e87 Add MockPlatform type hints in tests (#120012)
* Add MockPlatform type hints in tests

* Remove useless code

* Improve

* Revert "Improve"

This reverts commit 9ad04f9255.
2024-06-21 11:04:15 +02:00
Joost Lekkerkerker
53022df8a4 Add sensor tests for APSystems (#117512) 2024-06-21 11:01:42 +02:00
epenet
54d8ce5ca9 Revert "Temporary pin CI to Python 3.12.3" (#119454) 2024-06-21 11:00:07 +02:00
Robert Svensson
94800cb11e UniFi temp fix to handle runtime data (#120031)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-21 10:55:21 +02:00
Thomas Kistler
aba5bb08dd Add Ambient Weather brand (#115898) 2024-06-21 10:51:46 +02:00
Joost Lekkerkerker
a6724db01b Fix calculation in Refoss (#120069) 2024-06-21 10:42:25 +02:00
Glenn Waters
3b6189a432 Bump env-canada to 0.6.3 (#120035)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-21 10:37:51 +02:00
Robert Svensson
6fb5a12ef1 Make UniFi services handle unloaded config entry (#120028) 2024-06-21 10:36:52 +02:00
Álvaro Fernández Rojas
f30b20b4df Update AEMET-OpenData to v0.5.2 (#120065) 2024-06-21 10:34:39 +02:00
J. Nick Koston
7375764301 Bump anyio to 4.4.0 (#120061) 2024-06-21 10:31:37 +02:00
Mr. Bubbles
4515eedea9 Add unique_id to One-Time Password (OTP) (#120050) 2024-06-21 10:28:52 +02:00
Álvaro Fernández Rojas
53d3475b1d Update aioairzone to v0.7.7 (#120067) 2024-06-21 10:28:11 +02:00
Marc Mueller
e5846fdffd Update pydantic to 1.10.17 (#119430) 2024-06-21 10:16:36 +02:00
Raman Gupta
3a8b0c3573 Bump zwave-js-server-python to 0.57.0 (#120047) 2024-06-21 09:29:10 +02:00
Mr. Bubbles
f770fa0de0 Fix translation key in config flow of One-Time Password (OTP) integration (#120053) 2024-06-21 09:22:55 +02:00
Thomas Kistler
4aa7a9faee Fix Hydrawise volume unit bug (#119988) 2024-06-21 09:07:14 +02:00
dependabot[bot]
b3722d60cb Bump actions/checkout from 4.1.6 to 4.1.7 (#120063)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-21 08:55:06 +02:00
Jan Bouwhuis
2add53e334 Bump aioimaplib to 1.1.0 (#120045) 2024-06-21 08:47:50 +02:00
Markus Jacobsen
1962759953 Add Bang olufsen init testing (#119834) 2024-06-21 07:35:38 +01:00
RJPoelstra
353e4865e1 Make preset list indicate whether the current mount position matches a preset in Vogel's Motionmount (#118731) 2024-06-21 06:22:12 +01:00
J. Nick Koston
4de8cca911 Disable generic unifiprotect object sensors by default (#120059) 2024-06-20 22:12:31 -05:00
J. Nick Koston
68462b014c Fix unifiprotect smart detection when end is set (#120027) 2024-06-20 22:03:07 -05:00
Leo Shen
ecadaf314d Add support for Switchbot Lock Pro (#119326)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-20 19:26:43 -05:00
J. Nick Koston
fb25902de9 Cleanup unifiprotect subscriptions logic (#120049) 2024-06-20 18:35:35 -05:00
J. Nick Koston
ee85c0e44c Bump uiprotect to 1.19.2 (#120048) 2024-06-20 18:34:57 -05:00
Robert Svensson
87e405396b Bump aiounifi to v79 (#120033) 2024-06-20 20:12:40 +02:00
epenet
325a49e8ff Enable pylint on tests (#119279)
* Enable pylint on tests

* Remove jobs==1
2024-06-20 16:02:49 +02:00
BestPig
7c5fcec062 Fix songpal crash for soundbars without sound modes (#119999)
Getting soundField on soundbar that doesn't support it crash raise an exception, so it make the whole components unavailable. As there is no simple way to know if soundField is supported, I just get all sound settings, and then pick soundField one if present. If not present, then return None to make it continue, it will just have to effect to display no sound mode and not able to select one (Exactly what we want).
2024-06-20 13:06:30 +02:00
mikosoft83
99cae16b75 Change meteoalarm scan interval (#119194) 2024-06-20 12:59:30 +02:00
epenet
1235338f1b Fix hass-component-root-import warnings in otp tests (#120019) 2024-06-20 12:39:26 +02:00
Joost Lekkerkerker
e89b9b0093 Small clean up for Refoss sensor platform (#120015) 2024-06-20 11:49:03 +02:00
Joost Lekkerkerker
4d7a857555 Use runtimedata in nanoleaf (#120009)
* Use runtimedata in nanoleaf

* Update homeassistant/components/nanoleaf/light.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-06-20 11:08:01 +02:00
ashionky
3224224bf8 Add Sensor for Refoss Integration (#116965)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-20 10:29:37 +02:00
Mr. Bubbles
1eb8b5a27c Add config flow to One-Time Password (OTP) integration (#118493) 2024-06-20 10:03:29 +02:00
Jan Bouwhuis
60ba80a28d Only (re)subscribe MQTT topics using the debouncer (#119995)
* Only (re)subscribe using the debouncer

* Update test

* Fix test

* Reset mock
2024-06-19 23:57:18 +02:00
Leo Shen
0053c92d2b Update PySwitchbot to 0.48.0 (#119998) 2024-06-19 16:56:20 -05:00
Pete Sage
ebbb63cd08 Fix Sonos album images with special characters not displaying in media browser UI (#118249)
* initial commit

* initial commit

* simplify tests

* rename symbol

* original_uri -> original_url

* change symbol name

---------

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-06-19 22:38:49 +01:00
G Johansson
e6967298ec Remove circuit integration (#119921) 2024-06-19 23:14:43 +02:00
Erik Montnemery
f32cb8545c Use MockHAClientWebSocket.send_json_auto_id in blueprint tests (#119956) 2024-06-19 23:07:56 +02:00
Artur Pragacz
42b62ec427 Fix Onkyo zone volume (#119949) 2024-06-19 22:48:34 +02:00
Robert Resch
bae008b0e2 Remove legacy_api_password auth provider (#119976) 2024-06-19 22:46:30 +02:00
Erik Montnemery
7d14b9c5c8 Always create a new HomeAssistant object when falling back to recovery mode (#119969) 2024-06-19 22:45:59 +02:00
Alexandre CUER
6dc680d251 Use aiohttp.ClientSession in EmoncmsClient (#119989) 2024-06-19 22:41:32 +02:00
Robert Svensson
49349de74e Unifi break out switch availability test to separate test (#119990) 2024-06-19 22:40:13 +02:00
Joost Lekkerkerker
52bf3a028f Move Nanoleaf event canceling (#119909)
* Move Nanoleaf event canceling

* Fix

* Fix
2024-06-19 22:16:16 +02:00
J. Nick Koston
d9c7887bbf Update yalexs to 6.4.0 (#119987) 2024-06-19 14:11:36 -05:00
Pete Sage
528422d238 Address Hydrawise review (#119965)
adjust formatting
2024-06-19 20:37:26 +02:00
Franck Nijhof
6c80f865f5 Remove deprecated WLED binary sensor platform (#119984) 2024-06-19 20:29:40 +02:00
Erik Montnemery
5ee418724b Tweak type annotations of energy websocket handlers (#119957) 2024-06-19 20:01:02 +02:00
epenet
f0dc39a903 Improve typing in core tests (#119958)
Add missing return values in core tests
2024-06-19 19:58:07 +02:00
G Johansson
8e3b58dc28 Clean weather tests (#119916) 2024-06-19 19:55:20 +02:00
Jan Bouwhuis
8ad63a0020 Fix flaky todoist test (#119954)
Fix flakey todoist test
2024-06-19 20:43:05 +03:00
Robert Svensson
970836da0c Clean up config option tests in UniFi device tracker tests (#119978) 2024-06-19 19:42:23 +02:00
Joost Lekkerkerker
6fa54229fe Bump airgradient to 0.6.0 (#119962)
* Bump airgradient to 0.6.0

* Bump airgradient to 0.6.0

* Bump airgradient to 0.6.0

* Bump airgradient to 0.6.0
2024-06-19 20:38:57 +03:00
Bouwe Westerdijk
e1f244e1c2 Bump plugwise to v0.37.4.1 (#119963)
* Bump plugwise to v0.37.4

* bump plugwise to v0.37.4.1
2024-06-19 19:23:14 +02:00
Tsvi Mostovicz
9371277b85 Bump hdate to 0.10.9 (#119887) 2024-06-19 09:21:43 -05:00
J. Nick Koston
87e52bb660 Small cleanups to august (#119950) 2024-06-19 09:21:04 -05:00
epenet
52bc006a72 Update default pylint.importStrategy in dev container (#119900) 2024-06-19 11:27:01 +02:00
Jan Bouwhuis
854b6c99fe Address review on comment group registry maintenance (#119952)
Address late review on comment group registry maintenance
2024-06-19 10:51:56 +02:00
J. Nick Koston
a642454e6f Bump sqlalchemy to 2.0.31 (#119951) 2024-06-19 08:09:04 +02:00
J. Nick Koston
5ae13c2ae2 Make use_device_name a cached_property in the base entity class (#119758)
There is a small risk that _attr_name or entity_description
would not be set before state was first written, but that
would likely be a bug.
2024-06-18 21:52:36 -04:00
J. Nick Koston
6a3778c48e Deprecate register_static_path in favor of async_register_static_paths (#119895)
* Deprecate register_static_path in favor of async_register_static_path

`hass.http.register_static_path` is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_path([StaticPathConfig(url_path, path, cache_headers)])`

The arguments to `async_register_static_path` are the same as `register_static_path` except they are wrapped in the `StaticPathConfig` dataclass and an iterable of them is accepted to allow registering multiple paths at once to avoid multiple executor jobs.

* add date

* spacing
2024-06-18 21:51:24 -04:00
J. Nick Koston
b11801df50 Reduce code needed to set august unique ids (#119942)
* Reduce code needed to set august unique ids

Set the unique ids in the base class since they always
use the same format

* Reduce code needed to set august unique ids

Set the unique ids in the base class since they always
use the same format
2024-06-18 21:43:06 -04:00
J. Nick Koston
f88b24f8a4 Combine statements that return the same result in august binary_sensor (#119944) 2024-06-18 21:40:21 -04:00
J. Nick Koston
c686eda305 Reduce duplicate code in baf for entities with descriptions (#119945)
* Reduce duplicate code in baf for entities with descriptions

* Reduce duplicate code in baf for entities with descriptions

* no cover

* no cover
2024-06-18 21:39:32 -04:00
Joakim Plate
ef51fc0d97 Remove code slated for deletion in integral (#119935)
* Remove code slated for deletion in integral
2024-06-19 02:25:11 +02:00
J. Nick Koston
60e64d14af Bump yalexs to 6.3.0 to move camera logic to the lib (#119941) 2024-06-18 18:52:41 -05:00
J. Nick Koston
8f3dcd6557 Cleanup august dataclasses (#119938) 2024-06-18 18:21:19 -05:00
J. Nick Koston
025d861e67 Update yalexs to 6.1.0 (#119910) 2024-06-18 17:36:07 -05:00
J. Nick Koston
39e5e517b0 Small cleanups to august (#119931) 2024-06-18 17:35:55 -05:00
J. Nick Koston
98140e0171 Reduce duplicate code in august to create entities (#119934) 2024-06-18 17:35:38 -05:00
Maciej Bieniek
54f8b5afdf Add pulse counter frequency sensors to Shelly (#119898)
* Add pulse counter frequency sensors

* Cleaning

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-18 23:08:30 +02:00
J. Nick Koston
3d45ced02e Cleanup code to add august sensors (#119929) 2024-06-18 16:03:46 -05:00
J. Nick Koston
b8cafe7e5e Small cleanups to august (#119912) 2024-06-18 15:43:16 -05:00
Joost Lekkerkerker
8a38424c24 Add more airgradient configuration entities (#119191) 2024-06-18 22:34:11 +02:00
Jeef
f0026d171e Bump weatherflow4py to 0.2.21 (#119889) 2024-06-18 15:31:59 -05:00
Franck Nijhof
b419ca2241 Register Z-Wave services on integration setup (#119924) 2024-06-18 22:27:52 +02:00
G Johansson
fe8805de6d Remove deprecated blink refresh service (#119919)
* Remove deprecated blink refresh service

* Remove string

* Fix tests
2024-06-18 22:26:44 +02:00
Shay Levy
f61347719f Allow removal of a Switcher device (#119927)
Allow removal of Switcher device
2024-06-18 23:26:29 +03:00
G Johansson
08864959ee Remove YAML import for Suez Water (#119923)
Remove YAML import for suez water
2024-06-18 22:26:10 +02:00
HarvsG
adcd0cc2a4 DNS IP custom ports for IPv4 (#113993)
* squash DNS IP enable port

* linting

* fix config entries in tests.

* fix more config entries

* fix parameter order

* Add defaults for legacy config entries

* test legacy config are not broken

* test driven migration

* define versions for future proofing

* remove defaults as should be covered by migrations in the future

* adds config migration

* spacing

* Review: remove unnecessary statements

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* make default ports the same

* test migration from future error

* linting

* Small tweaks

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-06-18 22:24:36 +02:00
G Johansson
9723b97f4b Bump python-holidays to 0.51 (#119918) 2024-06-18 22:05:11 +02:00
Thomas55555
0a781b8fa2 Add button platform to Husqvarna Automower (#119856)
* Add button platform to Husqvarna Automower

* test coverage

* adapt to library changes

* Address review
2024-06-18 21:24:09 +02:00
Joost Lekkerkerker
484a24512c Bump airgradient to 0.5.0 (#119911) 2024-06-18 20:51:54 +02:00
MallocArray
be4db90c91 Update airgradient names to NOx index and VOC index (#119152)
* Update names to NOx index and VOC index

* Fix snapshots

* Fix snapshots

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-06-18 20:31:33 +02:00
epenet
ec9f2f698c Add type hints to MockGroup and MockUser in tests (#119897) 2024-06-18 13:11:10 -05:00
Jan Bouwhuis
66faeb28d7 Fix late group platform registration (#119789)
* Fix late group platform registration

* use a callback instead

* Run thread safe

* Not working domain filter

* Also update if a group has nested group's

* Only update if the siingle state type key could change

* Avoid redundant regisister hooks

* Use set, add comment

* Revert changes

* Keep callback cleanup const

* Cleanup after dependencies

* Preimport and cleanup excluded domains

* Revert test changes as we assume early set up now

* Migrate alarm_control_panel

* Migrate climate

* Migrate cover

* Migrate device_tracker

* Migrate lock

* Migrate media_player

* Migrate person

* Migrate plant

* Migrate vacuum

* Migrate water_heater

* Remove water_heater group_pre_import

* Use Platform enum if possible

* Also use platform enum for excluded domains

* Set registry to self._registry

* move deregistering call back hook to async_added_to_hass

* Add comment

* Do no pass mutable reference to EXCLUDED_DOMAINS

* Remove unneeded type hint
2024-06-18 20:01:16 +02:00
Joost Lekkerkerker
edb391a0bd Extract coordinator to separate module in Nanoleaf (#119896)
* Extract coordinator to separate module in Nanoleaf

* Extract coordinator to separate module in Nanoleaf

* Extract coordinator to separate module in Nanoleaf
2024-06-18 19:50:07 +02:00
J. Nick Koston
419dcbf9a1 Fix typo in KEY_ALLOW_CONFIGRED_CORS (#119905) 2024-06-18 12:44:27 -05:00
J. Nick Koston
d2faaa1531 Remove useless function get_ufp_event from unifiprotect (#119906) 2024-06-18 12:29:26 -05:00
J. Nick Koston
407df2aedf Small cleanup to unifiprotect entity descriptions (#119904) 2024-06-18 12:08:22 -05:00
Joost Lekkerkerker
e0de436a58 Add myself as codeowner for Nanoleaf (#119892) 2024-06-18 12:03:30 -05:00
Erik Montnemery
7940303149 Add WS command frontend/subscribe_extra_js (#119833)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-18 16:18:42 +02:00
Erik Montnemery
0ca3f25c57 Add WS command for subscribing to storage collection changes (#119481) 2024-06-18 16:15:42 +02:00
Paulus Schoutsen
3c08a02ecf Update cover intent response (#119756)
* Update cover response

* Fix intent test
2024-06-18 15:54:08 +02:00
Josef Zweck
25b3fe6b64 Bump lmcloud to 1.1.13 (#119880)
* bump lmcloud to 1.1.12

* update diagnostics

* bump to 1.1.13
2024-06-18 14:49:04 +02:00
Markus Jacobsen
3046329f4f Add Tidal play_media support to Bang & Olufsen (#119838)
Add tidal play_media support
2024-06-18 13:00:27 +01:00
epenet
041746a50b Improve type hints in data_entry_flow tests (#119877) 2024-06-18 13:25:28 +02:00
Robert Hillis
6b27e9a745 Store runtime data inside the config entry in Deluge (#119549) 2024-06-18 13:23:11 +02:00
epenet
a1a8d38181 Move fixtures to decorators in netgear_lte tests (#119882) 2024-06-18 12:40:06 +02:00
epenet
f5fd389512 Fix hass-component-root-import warning in esphome tests (#119883) 2024-06-18 12:39:36 +02:00
Robert Hillis
dc388c76f9 Store runtime data inside the config entry in Steam (#119881) 2024-06-18 12:28:43 +02:00
Joost Lekkerkerker
9128dc198a Centralize lidarr device creation (#119822) 2024-06-18 12:10:11 +02:00
epenet
0ff0022877 Ignore use-implicit-booleaness-not-comparison pylint warnings in tests (#119876) 2024-06-18 12:00:24 +02:00
Franck Nijhof
fa1e23e905 Merge branch 'master' into dev 2024-06-18 11:49:25 +02:00
Thomas Kistler
2906fca40c Update pydrawise to 2024.6.4 (#119868) 2024-06-18 10:26:31 +02:00
Jan Bouwhuis
6eb9d1e01d Gracefully disconnect MQTT entry if entry is reloaded (#119753) 2024-06-18 09:29:22 +02:00
Robert Hillis
67223b2a2d Store runtime data inside the config entry in Lidarr (#119548) 2024-06-18 09:13:24 +02:00
Robert Hillis
d5d906e148 Add update coordinator to Netgear LTE (#115474) 2024-06-18 09:12:02 +02:00
dontinelli
2555827030 Replace Solarlog unmaintained library (#117484)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-18 09:06:22 +02:00
J. Nick Koston
faa55de538 Fix blocking I/O in the event loop when registering static paths (#119629) 2024-06-18 08:18:31 +02:00
Paulus Schoutsen
eb89ce47ea Inline primary integration (#119860) 2024-06-18 08:08:08 +02:00
Brent Petit
4be3b53143 Fix up ecobee windspeed unit (#119870) 2024-06-18 07:58:00 +02:00
Thomas55555
dc553a81a1 Bump aioautomower to 2024.6.1 (#119871) 2024-06-18 07:50:05 +02:00
Jesse Hills
f8711dbfbf Add esphome native device update entities (#119339)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-18 16:31:50 +12:00
Robert Hillis
faf2a447a4 Store runtime data inside the config entry in Sense (#119740) 2024-06-17 20:43:45 -05:00
Robert Hillis
ac51851664 Handle general update failure in Sense (#119739) 2024-06-17 19:53:46 -05:00
J. Nick Koston
a876a55d2f Bump uiprotect to 0.19.0 (#119863) 2024-06-17 17:08:43 -05:00
Christoph
7410db08fb Bump xiaomi_ble to 0.30.0 (#119859)
* bump xiaome_ble to 0.30.0

bump xiaomi_ble to 0.30.0

* bump xiaome_ble to 0.30.0

bump xiaomi_ble to 0.30.0

* bump xiaome_ble to 0.30.0

bump xiaomi_ble to 0.30.0
2024-06-17 23:57:47 +02:00
Maciej Bieniek
f5dfefb3a6 Use the humidity value in Shelly Wall Display climate entity (#119830)
* Use the humidity value with the climate entity if available

* Update tests

* Use walrus

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-17 23:17:05 +03:00
G Johansson
b6b6248713 Remove legacy get forecast service from Weather (#118664)
* Remove legacy get forecast service from Weather

* Fix tests

* Fix test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-17 21:13:28 +02:00
J. Nick Koston
75e8fc0f9c Fix homekit_controller haa fixture (#119855) 2024-06-17 13:34:05 -05:00
Robert Hillis
adacdd3a9f Run Radarr movie coordinator first refresh in background (#119827) 2024-06-17 19:18:59 +02:00
Joost Lekkerkerker
e5eef7c6dd Fix Dremel 3D printer tests (#119853) 2024-06-17 19:17:52 +02:00
J. Nick Koston
2560d7aeda Bump uiprotect to 1.18.1 (#119848)
changelog: https://github.com/uilibs/uiprotect/compare/v1.17.0...v1.18.1
2024-06-17 19:17:36 +02:00
Maciej Bieniek
87c1d5a6a7 Remove the switch entity for Shelly Gas Valve (#119817)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-17 19:17:06 +02:00
J. Nick Koston
57308599cd Bump aiozoneinfo to 0.2.0 (#119845) 2024-06-17 19:05:44 +02:00
jvmahon
71a9ba25dc Use "Button" label to name Matter event (#119768) 2024-06-17 15:30:59 +02:00
Erik Montnemery
8af5748716 Add frontend.remove_extra_js_url (#119831) 2024-06-17 15:15:00 +02:00
Erik Montnemery
c0a3b507c0 Add tests of frontend.add_extra_js_url (#119826) 2024-06-17 14:39:07 +02:00
Alexandre CUER
442554c223 Migrate Emoncms to external library (#119772)
* Migrate Emoncms to external library

https://github.com/Open-Building-Management/pyemoncms

* Remove the throttle decorator

* Remove MIN_TIME_BETWEEN_UPDATES as not used
2024-06-17 13:59:47 +02:00
Robert Hillis
dcca749d50 Store runtime data inside the config entry in Radarr (#119749)
* Store runtime data inside the config entry in Radarr

* move entry typing outside constructor
2024-06-17 13:47:49 +02:00
Joost Lekkerkerker
9f46b582d3 Avoid touching internals in Radarr tests (#119821)
* Avoid touching internals in Radarr tests

* Fix

* Fix
2024-06-17 13:33:36 +02:00
Joost Lekkerkerker
cfbc854c84 Remove deprecated import swiss public transport import flow (#119813) 2024-06-17 13:24:10 +02:00
starkillerOG
d34be0e8fa Bump reolink-aio to 0.9.3 (#119820) 2024-06-17 12:58:58 +02:00
Tsvi Mostovicz
369f9772f2 Fix Jewish Calendar unique id migration (#119683)
* Implement correct passing fix

* Keep the test as is, as it simulates the current behavior

* Last minor change
2024-06-17 12:37:30 +02:00
Erik Montnemery
e0378f79a4 Remove create_list from StorageCollectionWebsocket.async_setup (#119508) 2024-06-17 12:16:36 +02:00
dubstomp
0ae4903686 Add Kasa Dimmer to Matter TRANSITION_BLOCKLIST (#119751) 2024-06-17 11:31:18 +02:00
Marc Mueller
1d873115f3 Pin tenacity to 8.3.0 (#119815) 2024-06-17 11:17:35 +02:00
epenet
4e3cc43343 Fix consider-using-tuple warning in tplink_omada tests (#119814)
Fix consider-using-tuple in tplink_omada tests
2024-06-17 11:13:34 +02:00
azerty9971
75fa0b91d8 Add support for Tuya energy data for WKCZ devices (#119635)
Add support for energy sensors for  WKCZ devices
2024-06-17 10:59:36 +02:00
Marlon
496338fa4e Add number input for apsystems (#118825)
* Add number input for apsystems

* Exclude number from apsystems from coverage

* Remove unnecessary int-float conversion in apsystems number

* Remove unnecessary int-float conversion in apsystems number and redundant and single use variables

* Add translation for apsystems number
2024-06-17 10:31:21 +02:00
G Johansson
8556f3e7c8 Remove deprecated speedtest service from Fast.com (#119780)
* Remove deprecated speedtest service from Fast.com

* Remove not needed tests
2024-06-17 10:04:46 +02:00
G Johansson
d1d21811fa Remove YAML import from streamlabswater (#119783) 2024-06-17 10:04:18 +02:00
0bmay
09b49ee505 Bump py-canary to v0.5.4 (#119793)
fix gathering data from Canary sensors
2024-06-17 10:02:42 +02:00
G Johansson
75b0acf6b6 Remove YAML import from System monitor (#119782) 2024-06-17 09:52:25 +02:00
J. Nick Koston
b1c5845d35 Bump uiprotect to 1.17.0 (#119802)
* Bump uiprotect to 1.16.0

changelog: https://github.com/uilibs/uiprotect/compare/v1.12.1...v1.16.0

* one more bump
2024-06-17 09:51:28 +02:00
MarkGodwin
f09063d706 Add device trackers to tplink_omada (#115601)
* Add device trackers to tplink_omada

* tplink_omada - Remove trackers and options flow

* Addressed code review feedback

* Run linter

* Use entity registry fixture
2024-06-17 07:36:35 +02:00
G Johansson
bd37ce6e9a Remove beat (internet time) from time_date (#119785) 2024-06-16 23:36:06 -04:00
J. Nick Koston
fc3fbc6862 Bump uiprotect to 1.12.1 (#119799) 2024-06-16 18:06:45 -05:00
J. Nick Koston
4879c8b72e Increase unifiprotect polling interval to 60s (#119800) 2024-06-16 17:31:28 -05:00
Jan Bouwhuis
05e690ba0d Remove not used group class method (#119798) 2024-06-17 00:27:07 +02:00
J. Nick Koston
8c613bc869 Cleanup unifiprotect ProtectData object (#119787) 2024-06-16 17:08:09 -05:00
J. Nick Koston
85ca6f15be Add some suggested units to unifiprotect sensors (#119790) 2024-06-16 15:04:28 -05:00
J. Nick Koston
affbc30d0d Move unifiprotect services register to async_setup (#119786) 2024-06-16 14:50:03 -05:00
J. Nick Koston
151b3b3b0a Reduce duplicate code in unifiprotect entities (#119779) 2024-06-16 14:14:59 -05:00
J. Nick Koston
2713a3fdb1 Bump uiprotect to 1.12.0 (#119763) 2024-06-16 14:14:41 -05:00
J. Nick Koston
03027893ff Fix precision for unifiprotect sensors (#119781) 2024-06-16 13:54:58 -05:00
Paulus Schoutsen
54e6459a41 Speed up getting conversation agent languages (#119554)
Speed up getting conversation languages
2024-06-16 13:35:43 -04:00
Paulus Schoutsen
836abe68c7 Track primary integration (#119741)
* Track primary integration

* Update snapshots

* More snapshots updated

* Uno mas

* Update snapshot
2024-06-16 13:26:06 -04:00
J. Nick Koston
59ca5b04fa Migrate unifiprotect to use has_entity_name (#119759) 2024-06-16 09:00:14 -05:00
Shay Levy
b20160a465 Cleanup Shelly entry unload (#119748)
* Cleanup Shelly entry unload

* store platforms on runtime_data
2024-06-16 08:25:23 -05:00
starkillerOG
3a672642ea Reolink extend diagnostic data (#119745)
* Add diagnostic info

* fix

* change order

* update tests
2024-06-16 14:02:10 +02:00
J. Nick Koston
c519e12042 Cleanup unifiprotect entity model (#119746)
* Small cleanups to unifiprotect

* Small cleanups to unifiprotect

* Small cleanups to unifiprotect

* Small cleanups to unifiprotect

* tweak

* comments

* comments

* stale docstrings

* missed one

* remove dead code

* remove dead code

* remove dead code

* remove dead code

* cleanup
2024-06-15 22:02:03 -04:00
Lode Smets
c0a680a80a Fix for Synology DSM shared images (#117695)
* Fix for shared images

* - FIX: Synology shared photos

* - changes after review

* Added test

* added test

* fix test
2024-06-16 00:48:08 +02:00
jjlawren
59ade9cf93 Fix model import in Spotify (#119747)
* Always import HomeAssistantSpotifyData in spotify.media_browser

Relocate HomeAssistantSpotifyData to avoid circular import

* Fix moved import

* Rename module to 'models'

* Adjust docstring
2024-06-16 00:47:47 +02:00
Franck Nijhof
394dafd980 2024.6.3 (#119742) 2024-06-15 21:05:26 +02:00
Franck Nijhof
eba429dc54 Temporary pin CI to Python 3.12.3 (#119261) 2024-06-15 20:36:35 +02:00
Franck Nijhof
89ce8478de Bump version to 2024.6.3 2024-06-15 18:23:39 +02:00
Franck Nijhof
a4a8315376 Ensure workday issues are not persistent (#119732) 2024-06-15 18:23:29 +02:00
Franck Nijhof
3a705fd668 Ensure UniFi Protect EA warning is not persistent (#119730) 2024-06-15 18:23:25 +02:00
TheJulianJES
dc0fc318b8 Bump ZHA dependencies (#119713)
* Bump bellows to 0.39.1

* Bump zigpy to 0.64.1
2024-06-15 18:23:22 +02:00
J. Nick Koston
5ceb8537eb Bump uiprotect to 1.7.2 (#119705)
changelog: https://github.com/uilibs/uiprotect/compare/v1.7.1...v1.7.2
2024-06-15 18:23:19 +02:00
J. Nick Koston
d7d7782a69 Bump uiprotect to 1.7.1 (#119694)
changelog: https://github.com/uilibs/uiprotect/compare/v1.6.0...v1.7.0
2024-06-15 18:23:16 +02:00
G Johansson
2d4176d581 Fix alarm default code in concord232 (#119691) 2024-06-15 18:23:12 +02:00
J. Nick Koston
204e9a79c5 Bump uiprotect to 1.6.0 (#119661) 2024-06-15 18:23:09 +02:00
J. Nick Koston
ace7da2328 Bump uiprotect to 1.4.1 (#119653) 2024-06-15 18:21:52 +02:00
mletenay
dfe25ff804 Bump goodwe to 0.3.6 (#119646) 2024-06-15 18:21:49 +02:00
J. Nick Koston
2b44cf898e Soften unifiprotect EA channel message (#119641) 2024-06-15 18:21:45 +02:00
Paul Bottein
c77ed921de Update frontend to 20240610.1 (#119634) 2024-06-15 18:21:03 +02:00
Jan Bouwhuis
78e13d138f Fix group enabled platforms are preloaded if they have alternative states (#119621) 2024-06-15 18:20:05 +02:00
J. Nick Koston
4e394597bd Bump uiprotect to 1.2.1 (#119620)
* Bump uiprotect to 1.2.0

changelog: https://github.com/uilibs/uiprotect/compare/v1.1.0...v1.2.0

* bump
2024-06-15 18:20:02 +02:00
starkillerOG
78c2dc708c Fix error for Reolink snapshot streams (#119572) 2024-06-15 18:19:58 +02:00
Ethem Cem Özkan
4c1d2e7ac8 Revert "Revert Use integration fallback configuration for tado water fallback" (#119526)
* Revert "Revert Use integration fallback configuration for tado water heater fallback (#119466)"

This reverts commit ade936e6d5.

* add decide method for duration

* add repair issue to let users know

* test module for repairs

* Update strings.json

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* repair issue should not be persistent

* use issue_registery fixture instead of mocking

* fix comment

* parameterize repair issue created test case

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-15 18:19:55 +02:00
Jan-Philipp Benecke
7b809a8e55 Partially revert "Add more debug logging to Ping integration" (#119487) 2024-06-15 18:19:52 +02:00
Erwin Douna
4eea448f9d Revert Use integration fallback configuration for tado water heater fallback (#119466) 2024-06-15 18:19:48 +02:00
Joakim Plate
f58882c878 Add loggers to gardena bluetooth (#119460) 2024-06-15 18:19:45 +02:00
J. Nick Koston
4e6e9f35b5 Bump uiprotect to 1.1.0 (#119449) 2024-06-15 18:19:42 +02:00
Sebastian Goscik
d5e9976b2c Bump uiprotect to v1.0.1 (#119436) 2024-06-15 18:19:39 +02:00
MJJ
8d547d4599 Bump buieradar to 1.0.6 (#119433) 2024-06-15 18:19:32 +02:00
J. Nick Koston
94d79440a0 Fix incorrect key name in unifiprotect options strings (#119417) 2024-06-15 18:19:29 +02:00
J. Nick Koston
d602b7d19b Bump uiprotect to 1.0.0 (#119415) 2024-06-15 18:19:26 +02:00
J. Nick Koston
fb5de55c3e Bump uiprotect to 0.13.0 (#119344) 2024-06-15 18:19:23 +02:00
J. Nick Koston
5cf0ee936d Bump uiprotect to 0.10.1 (#119327)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-06-15 18:19:19 +02:00
tronikos
7443878333 Make remaining time of timers available to LLMs (#118696)
* Include speech_slots in IntentResponse.as_dict

* Populate speech_slots only if available

* fix typo

* Add test

* test all fields

* Fix another test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-06-15 18:19:16 +02:00
Ethem Cem Özkan
9065042960 Revert "Revert Use integration fallback configuration for tado water fallback" (#119526)
* Revert "Revert Use integration fallback configuration for tado water heater fallback (#119466)"

This reverts commit ade936e6d5.

* add decide method for duration

* add repair issue to let users know

* test module for repairs

* Update strings.json

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* repair issue should not be persistent

* use issue_registery fixture instead of mocking

* fix comment

* parameterize repair issue created test case

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-15 18:16:10 +02:00
Robert Hillis
410ef8ce14 Store runtime data inside the config entry in Efergy (#119551)
* Store runtime data inside the config entry in Efergy

* store later
2024-06-15 18:14:34 +02:00
Jan Bouwhuis
b405e2f03e Improve logging use of deprecated schema option for mqtt vacuum (#119724) 2024-06-15 16:50:12 +02:00
Franck Nijhof
af0f540dd4 Ensure UniFi Protect EA warning is not persistent (#119730) 2024-06-15 08:05:18 -04:00
Franck Nijhof
08ef556736 Ensure workday issues are not persistent (#119732) 2024-06-15 08:04:42 -04:00
Erik Montnemery
7e61ec96e7 Make the radius of the home zone configurable (#119385) 2024-06-15 13:22:01 +02:00
Diogo Gomes
8cf1890772 Moves diagnostic information from attributes to diagnostic in Utility Meter (#118637)
* move diag information from attributes to diagnostic

* remove constant attributes

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-06-15 12:50:19 +02:00
Brett Adams
dac661831e Add unique IDs to config entries for Teslemetry (#115616)
* Add basic UID

* Add Unique IDs

* Add debug message

* Readd debug message

* Minor bump config version

* Ruff

* Rework migration

* Fix migration return

* Review feedback

* Add test for v2
2024-06-15 12:10:02 +02:00
Josef Zweck
a515562a11 Bring back auto on off switches to lamarzocco (#119421)
* add auto on off switches
2024-06-15 11:33:29 +02:00
Matthias Alphart
c8e9a3a8f4 Device automation extra fields translation for KNX (#119518) 2024-06-15 11:31:10 +02:00
Sid
8c5c7203ea Bump ruff to 0.4.9 (#119721) 2024-06-15 11:28:10 +02:00
Paul Bottein
7a3a57c78e Add open state support to matter lock (#119682) 2024-06-15 11:24:33 +02:00
Aidan Timson
f1f82ffbf8 Update aioazuredevops to 2.1.1 (#119720)
* Update aioazuredevops to 2.1.1

* Update tests
2024-06-15 05:30:38 +02:00
TheJulianJES
c75db797d0 Bump ZHA dependencies (#119713)
* Bump bellows to 0.39.1

* Bump zigpy to 0.64.1
2024-06-14 22:33:38 +02:00
Jay
8397d6a29f Envisalink add arming as a state to alarm control panel (#119702)
Envisalink Add Arming as a State
2024-06-14 21:51:20 +02:00
starkillerOG
2639336ab0 Prefer mp4 playback in Reolink (#119630)
* If possible use PLAYBACK of mp4 files

* bring test_coverage back to 100%

* Do not reasign the vod_type multiple times

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>

* fix indent

* add white space

* fix tests

* Update homeassistant/components/reolink/media_source.py

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>

---------

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-06-14 21:38:53 +02:00
Thomas55555
c2e31e9846 Add work area sensor for Husqvarna Automower (#119704)
* Add work area sensor to Husqvarna Automower

* fix exist_fn
2024-06-14 21:34:47 +02:00
J. Nick Koston
c0ff2d866f Reduce code needed to check unifiprotect attrs (#119706)
* Reduce code needed to check unifiprotect attrs

* Apply suggestions from code review

* Update homeassistant/components/unifiprotect/manifest.json

* Apply suggestions from code review

* revert

* adjust

* tweak

* make mypy happy
2024-06-14 21:29:18 +02:00
J. Nick Koston
f8bf357811 Remove set default doorbell text service from unifiprotect (#119695)
UI has removed this functionality in UI Protect 4.x

discovered via https://github.com/uilibs/uiprotect/issues/57
2024-06-14 21:25:14 +02:00
tronikos
6b8bddf6e3 Make remaining time of timers available to LLMs (#118696)
* Include speech_slots in IntentResponse.as_dict

* Populate speech_slots only if available

* fix typo

* Add test

* test all fields

* Fix another test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-06-14 20:47:41 +02:00
Mr. Bubbles
c077c2a972 Fix pyload async_update SensorEntity raising exceptions (#119655)
* Fix Sensorentity raising exceptions

* Increase test coverage
2024-06-14 20:47:06 +02:00
G Johansson
05cbda0e50 Fix alarm default code in concord232 (#119691) 2024-06-14 20:45:27 +02:00
J. Nick Koston
6bdfed6910 Bump uiprotect to 1.7.2 (#119705)
changelog: https://github.com/uilibs/uiprotect/compare/v1.7.1...v1.7.2
2024-06-14 20:43:40 +02:00
J. Nick Koston
d2bcd5d1fb Refactor unifiprotect switch to match other platforms (#119698)
- Use _attr_is_on for nvr entities
- implement _async_get_state_attrs for nvr entities
- define MODEL_DESCRIPTIONS_WITH_CLASS
2024-06-14 13:22:12 -05:00
J. Nick Koston
6e322c310b Split binary sensor classes in unifiprotect (#119696)
* Split binary sensor classes in unifiprotect

There were two types of binary sensors, ones that can change device_class at
run-time (re-mountable ones), and ones that cannot. Instead of having
branching in the class, split the class

* tweak order to match name
2024-06-14 13:16:49 -05:00
J. Nick Koston
10a2fd7cb6 Bump uiprotect to 1.7.1 (#119694)
changelog: https://github.com/uilibs/uiprotect/compare/v1.6.0...v1.7.0
2024-06-14 10:56:26 -05:00
starkillerOG
da64f61083 Add firmware update entities for Reolink IPC channel cameras (#119637) 2024-06-14 08:12:55 -04:00
epenet
01be5d5f6b Move fixtures to decorators in core tests (#119675) 2024-06-14 13:32:42 +02:00
dependabot[bot]
b80f7185b2 Bump codecov/codecov-action from 4.4.1 to 4.5.0 (#119668)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-14 09:28:17 +02:00
dependabot[bot]
fb801946bb Bump github/codeql-action from 3.25.9 to 3.25.10 (#119669)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-14 09:27:54 +02:00
epenet
453564fd03 Force full CI on all root test files (#119673) 2024-06-14 09:27:18 +02:00
epenet
3e9d25f81d Add missing argument type hints to component tests (#119671) 2024-06-14 09:26:46 +02:00
epenet
83b97d3218 Add missing argument type hints to recorder tests (#119672) 2024-06-14 09:25:26 +02:00
Erik Montnemery
003f216820 Rename collection.CollectionChangeSet to collection.CollectionChange (#119532) 2024-06-14 08:54:37 +02:00
J. Nick Koston
9082dc2a79 Reduce recorder overhead when entity filter is empty (#119631) 2024-06-14 08:43:51 +02:00
epenet
9f41133bbc Add missing argument type to core tests (#119667) 2024-06-14 08:42:01 +02:00
Rami Mosleh
f3ce562847 Store Glances coordinator in runtime_data (#119607) 2024-06-14 08:39:04 +02:00
mletenay
1d62056d9b Bump goodwe to 0.3.6 (#119646) 2024-06-14 08:29:32 +02:00
epenet
4b29c35453 Tweak logging statements in tests (#119664) 2024-06-14 08:28:47 +02:00
J. Nick Koston
e6b7301367 Fix blocking I/O in CachingStaticResource (#119663) 2024-06-14 08:27:50 +02:00
epenet
38a6e666a7 Add missing return type to some test functions (#119665) 2024-06-14 08:26:45 +02:00
epenet
26e21bb356 Adjust incorrect unnecessary-lambda pylint disable statement in demo tests (#119666) 2024-06-14 08:25:35 +02:00
Erik Montnemery
471e2a17a2 Improve error messages when config entry is in wrong state (#119591)
* Improve error messages when config entry is in wrong state

* Apply suggestions from code review

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>

* Adjust tests

---------

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2024-06-14 08:00:36 +02:00
Jan Bouwhuis
9e146a51c2 Fix group enabled platforms are preloaded if they have alternative states (#119621) 2024-06-14 07:46:24 +02:00
Matrix
3336bdb402 Fix Yolink device incorrect state (#119658)
fix device incorrect state
2024-06-14 07:31:02 +02:00
Joakim Plate
097844aca6 Allow arm levels be in order for google assistant (#119645) 2024-06-14 07:18:57 +02:00
J. Nick Koston
95b9e15306 Bump uiprotect to 1.6.0 (#119661) 2024-06-13 23:34:55 -05:00
J. Nick Koston
b11d832fb1 Bump uiprotect to 1.4.1 (#119653) 2024-06-13 21:01:25 -05:00
Shay Levy
efa7240ac5 Use single list for Shelly non-sleeping platforms (#119540) 2024-06-13 20:27:40 -05:00
tronikos
87ddb02828 Bump python-fullykiosk to 0.0.13 (#119544)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-13 20:41:37 -04:00
Jan Bouwhuis
a992654a8b Fix blocking IO calls in mqtt client setup (#119647) 2024-06-13 17:47:38 -05:00
dougiteixeira
cd80b9b318 Remove obsolete device links in Utility Meter helper (#119328)
* Make sure we update the links between the devices and config entries when the changes source device
2024-06-13 23:44:13 +02:00
J. Nick Koston
09aa9cf842 Soften unifiprotect EA channel message (#119641) 2024-06-13 16:31:39 -05:00
J. Nick Koston
0c3a5ae5da Dispatch unifiprotect websocket messages based on model (#119633) 2024-06-13 16:17:31 -05:00
J. Nick Koston
de27f24a4c Use the existing api client for unifiprotect repairs if available (#119640)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-06-13 16:17:11 -05:00
Mr. Bubbles
7bbd28d385 Migrate library to PyLoadAPI 1.1.0 in pyLoad integration (#116053)
* Migrate pyLoad integration to externa API library

* Add const to .coveragerc

* raise update failed when cookie expired

* fix exceptions

* Add tests

* bump to PyLoadAPI 1.1.0

* remove unreachable code

* fix tests

* Improve logging and exception handling

- Modify manifest.json to update logger configuration.
- Improve error messages for authentication failures in sensor.py.
- Simplify and rename pytest fixtures in conftest.py.
- Update test cases in test_sensor.py to check for log entries and remove unnecessary code.

* remove exception translations
2024-06-13 22:52:19 +02:00
Shay Levy
40b98b70b0 Wait for background tasks in Shelly tests (#119636) 2024-06-13 22:36:03 +03:00
Paul Bottein
72c6257131 Update frontend to 20240610.1 (#119634) 2024-06-13 15:34:58 -04:00
starkillerOG
b8851f2f3c Cleanup Reolink firmware update entity (#119239) 2024-06-13 21:27:30 +02:00
Thomas55555
b4a77f8341 Bump aioautomower to 2024.6.0 (#119625) 2024-06-13 19:58:04 +02:00
J. Nick Koston
fc6dd7ce7d Bump uiprotect to 1.2.1 (#119620)
* Bump uiprotect to 1.2.0

changelog: https://github.com/uilibs/uiprotect/compare/v1.1.0...v1.2.0

* bump
2024-06-13 19:28:42 +02:00
J. Nick Koston
6d31991021 Reduce duplicate code in unifiprotect (#119624) 2024-06-13 11:44:29 -05:00
epenet
8e1103050c Fix dangerous-default-value warnings in core tests (#119568) 2024-06-13 17:10:37 +02:00
epenet
a80a372c1c Fix dangerous-default-value warnings in nzbget tests (#119580) 2024-06-13 17:10:00 +02:00
epenet
ed52ff3076 Fix dangerous-default-value warnings in ezviz tests (#119589) 2024-06-13 17:09:26 +02:00
epenet
75e0aee8fc Fix dangerous-default-value warnings in homematicip_cloud tests (#119583) 2024-06-13 17:08:40 +02:00
epenet
835d422a90 Fix dangerous-default-value warnings in control4 tests (#119592) 2024-06-13 17:06:12 +02:00
epenet
6901c24ab7 Fix dangerous-default-value warnings in aussie broadband tests (#119596) 2024-06-13 17:03:16 +02:00
epenet
382eb1e3b2 Fix dangerous-default-value warnings in rituals_perfume_genie tests (#119590) 2024-06-13 17:02:26 +02:00
epenet
1440ad26c8 Fix dangerous-default-value warnings in plex tests (#119603) 2024-06-13 17:01:52 +02:00
epenet
97e19cb61c Fix dangerous-default-value warnings in cloudflare tests (#119598) 2024-06-13 17:00:18 +02:00
epenet
49b28cca62 Fix consider-using-with warnings in core tests (#119606) 2024-06-13 16:59:40 +02:00
epenet
384fa53cc0 Fix dangerous-default-value warnings in panasonic_viera tests (#119602) 2024-06-13 16:59:05 +02:00
epenet
ca8d3e0c83 Ignore unnecessary-lambda warnings in tests (#119564) 2024-06-13 16:58:41 +02:00
Rami Mosleh
bb2883a5a8 Store imap coordinator in runtime_data (#119611) 2024-06-13 16:58:05 +02:00
epenet
50fe29ccc1 Fix attribute-defined-outside-init in harmony tests (#119614) 2024-06-13 16:57:20 +02:00
epenet
3b8337985c Fix dangerous-default-value warnings in environment_canada tests (#119586) 2024-06-13 16:56:22 +02:00
epenet
349ac54616 Fix dangerous-default-value warnings in auth tests (#119597) 2024-06-13 16:55:48 +02:00
epenet
2a061f58eb Fix dangerous-default-value warnings in tessie tests (#119605) 2024-06-13 16:55:06 +02:00
Rami Mosleh
f2ce510484 Store islamic prayer times coordinator in runtime_data (#119612) 2024-06-13 16:54:40 +02:00
epenet
23edbf7bbf Fix dangerous-default-value warnings in subaru tests (#119604) 2024-06-13 16:53:00 +02:00
epenet
27ee204e2f Fix dangerous-default-value warnings in mqtt tests (#119584) 2024-06-13 16:51:45 +02:00
epenet
e34c42c0a9 Fix dangerous-default-value warnings in greeneye_monitor tests (#119581) 2024-06-13 16:47:53 +02:00
Erik Montnemery
9f322b20d1 Use send_json_auto_id in some collection tests (#119570)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-06-13 16:04:32 +02:00
epenet
8871090463 Fix dangerous-default-value warnings in fronius tests (#119600) 2024-06-13 13:53:17 +02:00
epenet
27c08bcb5e Fix dangerous-default-value warnings in lastfm tests (#119601) 2024-06-13 11:57:45 +02:00
epenet
315e5f1d95 Fix import-outside-toplevel pylint warnings in zha tests (#119451) 2024-06-13 11:55:56 +02:00
epenet
40d9d22e76 Fix dangerous-default-value warnings in deconz tests (#119599) 2024-06-13 11:55:37 +02:00
Rami Mosleh
030fe6df4a Store Mikrotik coordinator in runtime_data (#119594) 2024-06-13 11:53:32 +02:00
Robert Resch
f5b86154b4 Bump deebot-client to 8.0.0 (#119515)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-13 11:49:20 +02:00
epenet
d211af75ef Fix dangerous-default-value warnings in cloud tests (#119585) 2024-06-13 10:30:44 +02:00
Matrix
55f8a36572 Improve code readability (#119558) 2024-06-13 09:31:29 +02:00
starkillerOG
440771bdea Fix error for Reolink snapshot streams (#119572) 2024-06-13 09:30:53 +02:00
William Grant
c02ac5e538 Classify more ecowitt power supply sensors as diagnostics (#119555) 2024-06-13 09:29:57 +02:00
epenet
b2be3e0a9b Fix dangerous-default-value warnings in automation tests (#119576) 2024-06-13 09:29:04 +02:00
epenet
cadb6317bf Fix dangerous-default-value warnings in canary tests (#119578) 2024-06-13 09:28:11 +02:00
epenet
b5d16bb3ca Fix dangerous-default-value warnings in version tests (#119577) 2024-06-13 09:27:51 +02:00
epenet
92d150ff57 Fix dangerous-default-value warnings in integration tests (#119574) 2024-06-13 09:21:59 +02:00
epenet
a06f098312 Fix dangerous-default-value warnings in switchbot tests (#119575) 2024-06-13 09:20:53 +02:00
dependabot[bot]
08403df20e Bump actions/checkout from 4.1.6 to 4.1.7 (#119566)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 09:19:26 +02:00
Robert Hillis
cad6163162 Store runtime data inside the config entry in Tautulli (#119552) 2024-06-13 08:57:28 +02:00
epenet
610f21c4a6 Fix unnecessary-lambda warnings in tests (#119563) 2024-06-13 08:56:14 +02:00
dependabot[bot]
4af3879fc2 Bump github/codeql-action from 3.25.8 to 3.25.9 (#119567)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 08:56:04 +02:00
dependabot[bot]
0a727aba4a Bump dawidd6/action-download-artifact from 5 to 6 (#119565)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 08:55:50 +02:00
J. Nick Koston
d52ce03aa4 Ensure asyncio blocking checks are undone after tests run (#119542)
* Ensure asyncio blocking checks are undone after tests run

* no reason to ever enable twice

* we are patching objects, make it more generic

* make sure bootstrap unblocks as well

* move disable to tests only

* re-protect

* Update tests/test_block_async_io.py

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

* Revert "Update tests/test_block_async_io.py"

This reverts commit 2d46028e21.

* tweak name

* fixture only

* Update tests/conftest.py

* Update tests/conftest.py

* Apply suggestions from code review

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-06-13 08:52:01 +02:00
epenet
669569ca49 Fix dangerous-default-value in zha tests (#119560) 2024-06-13 08:35:05 +02:00
epenet
dda6ccccd2 Fix dangerous-default-value in nest tests (#119561)
* Fix dangerous-default-value in nest tests

* Adjust

* Adjust
2024-06-12 23:32:55 -07:00
J. Nick Koston
dbd3147c9b Remove async_late_forward_entry_setups and instead implicitly hold the lock (#119088)
* Refactor config entry forwards to implictly obtain the lock instead of explictly

This is a bit of a tradeoff to not need async_late_forward_entry_setups

The downside is we can no longer detect non-awaited plastform setups
as we will always implicitly obtain the lock instead of explictly.

Note, this PR is incomplete and is only for discussion purposes
at this point

* preen

* cover

* cover

* restore check for non-awaited platform setup

* cleanup

* fix missing word

* make non-awaited test safer
2024-06-12 21:06:11 -04:00
Josef Zweck
4e121fcbe8 Remove steam temp sensor for Linea Mini (#119423) 2024-06-12 23:35:51 +02:00
Jan-Philipp Benecke
fd83b9a7c6 Add missing attribute translations to water heater entity component (#119531) 2024-06-12 23:34:01 +02:00
Jan Bouwhuis
532f6d1d97 Return override target temp for incomfort climate (#119528) 2024-06-12 23:13:12 +02:00
Erik Montnemery
51891ff8e2 Fix typo in google_assistant (#119522) 2024-06-12 22:45:41 +02:00
Matthias Alphart
929dd9f5da Device automation extra fields translation for LCN (#119519) 2024-06-12 22:45:10 +02:00
Matthias Alphart
39f3a294dc Device automation extra fields translation for Z-Wave-JS (#119529) 2024-06-12 22:44:50 +02:00
epenet
e3e80c83b7 Fix contextmanager-generator-missing-cleanup warning in tests (#119478) 2024-06-12 22:38:11 +02:00
epenet
f7326d3baf Ignore too-many-nested-blocks warning in zha tests (#119479) 2024-06-12 22:33:40 +02:00
Jan Bouwhuis
541c941006 Add state icons to incomfort water_heater entities (#119527) 2024-06-12 22:25:49 +02:00
J. Nick Koston
a586e7fb72 Remove useless delegation in unifiprotect (#119514) 2024-06-12 22:23:18 +02:00
Erik Montnemery
2661581d4e Fix typos in collection helper (#119524) 2024-06-12 20:37:38 +02:00
Erik Montnemery
a4c34fe207 Fix typo in lovelace (#119523) 2024-06-12 14:14:59 -04:00
J. Nick Koston
ae3134d875 Simplify unifiprotect device removal code (#119517) 2024-06-12 12:03:12 -05:00
J. Nick Koston
8f7686082c Refactor unifiprotect media_source to remove type ignores (#119516) 2024-06-12 12:02:53 -05:00
Caius-Bonus
7f7128adbf Add Danfoss Ally thermostat and derivatives to ZHA (#86907)
* zha integration: Add danfoss specific clusters and attributes; add thermostat.pi_heating_demand and thermostat_ui.keypad_lockout

* zha integration: fix Danfoss thermostat viewing direction not working because of use of bitmap8 instead of enum8

* ZHA Integration: add missing ThermostatChannelSensor

* ZHA integration: format using black

* zha integration: fix flake8 issues

* ZHA danfoss: Add MinHeatSetpointLimit, MaxHeatSetpointLimit, add reporting and read config for danfoss and keypad_lockout.

* ZHA danfoss: fix mypy complaining about type of _attr_entity_category

* ZHA danfoss: ruff fix

* fix tests

* pylint: disable-next=hass-invalid-inheritance

* fix pylint tests

* refactoring

* remove scheduled setpoint

* remove scheduled setpoint in manufacturer specific

* refactor

* fix tests

* change cluster ids

* remove custom clusters

* code quality

* match clusters in manufacturerspecific on quirk class

* fix comment

* fix match on quirk in manufacturerspecific.py

* correctly extend cluster handlers in manufacturerspecific.py and remove workaround for illegal use of attribute updated signals in climate.py

* fix style

* allow non-danfoss thermostats to work in manufacturerspecific.py

* correct order of init of parent and subclasses in manufacturerspecific.py

* improve entity names

* fix pylint

* explicitly state changing size of tuple

* ignore tuple size change error

* really ignore error

* initial

* fix tests

* match on specific name and quirk name

* don't restructure file as it is out of scope

* move back

* remove unnecessary change

* fix tests

* fix tests

* remove code duplication

* reduce code duplication

* empty line

* remove unused variable

* end file on newline

* comply with recent PRs

* correctly initialize all attributes

* comply with recent PRs

* make class variables private

* forgot one reference

* swap 2 lines for consistency

* reorder 2 lines

* fix tests

* align with recent PR

* store cluster handlers in only one place

* edit tests

* use correct device for quirk id

* change quirk id

* fix tests

* even if there is a quirk id, it doesn't have to have a specific cluster handler

* add tests

* use quirk id for manufacturer specific cluster handlers

* use quirk_ids instead of quirks_classes

* rename quirk_id

* rename quirk_id

* forgot to rename here

* rename id

* add tests

* fix tests

* fix tests

* use quirk ids from zha_quirks

* use quirk id from zha_quirks

* wrong translation

* sync changes with ZCL branch

* sync

* style

* merge error

* move bitmapSensor

* merge error

* merge error

* watch the capitals

* fix entity categories

* more decapitalization

* translate BitmapSensor

* translate all enums

* translate all enums

* don't convert camelcase to snakecase

* don't change enums at all

* remove comments

* fix bitmaps and add enum for algorithm scale factor

* improve readability if bitmapsensor

* fix capitals

* better setpoint response time

* feedback

* lowercase every enum to adhere to the translation_key standard

* remove enum state translations and use enums from quirks

* correctly capitalize OrientationEnum

* bump zha dependencies; this will have to be done in a separate PR, but this aids review

* accidentally removed enum

* tests

* comment

* Migrate reporting and ZCL attribute config out of `__init__`

* hvac.py shouldn't be changed in this pull request

* change wording comment

* I forgot I changed the size of the tuple.

---------

Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
2024-06-12 12:48:37 -04:00
Robert Svensson
707e422a31 Add UniFi sensor for number of clients connected to a device (#119509)
Co-authored-by: Kim de Vos <kim.de.vos@vippsmobilepay.com>
2024-06-12 18:20:31 +02:00
J. Nick Koston
4fb8202de1 Refactor adding entities to unifiprotect (#119512) 2024-06-12 18:11:59 +02:00
Jan-Philipp Benecke
b92372c4ca Partially revert "Add more debug logging to Ping integration" (#119487) 2024-06-12 18:08:44 +02:00
epenet
2f5f372f63 Remove pointless TODO in recorder tests (#119490) 2024-06-12 18:08:01 +02:00
J. Nick Koston
db3029dc5f Remove unreachable sensor code in unifiprotect (#119501) 2024-06-12 18:07:20 +02:00
epenet
0f0c2f0553 Fix redefined-argument-from-local pylint warning in tests (#119475) 2024-06-12 17:58:58 +02:00
epenet
44901bdcd1 Fix deprecated-typing-alias pylint warnings in zha tests (#119453) 2024-06-12 17:57:27 +02:00
epenet
0489d0b396 Fix attribute-defined-outside-init pylint warning in anova tests (#119472) 2024-06-12 17:56:52 +02:00
epenet
a0c445764c Ignore super-init-not-called pylint warnings in tests (#119474) 2024-06-12 17:54:38 +02:00
epenet
3d1165519d Fix broad-exception-raised in component tests (#119467) 2024-06-12 17:53:42 +02:00
Robert Hillis
aaa674955c Store runtime data inside the config entry in Dlink (#119442) 2024-06-12 17:52:10 +02:00
epenet
c3c3a705fa Fix attribute-defined-outside-init pylint warnings in tests (#119471) 2024-06-12 17:51:08 +02:00
J. Nick Koston
3f188b7e27 Migrate unifiprotect to use entry.runtime_data (#119507) 2024-06-12 17:49:18 +02:00
Joost Lekkerkerker
4766f48f47 Migrate Airzone to runtime_data (#119494) 2024-06-12 17:44:03 +02:00
Joost Lekkerkerker
b953ff73c0 Migrate Airzone cloud to runtime_data (#119495) 2024-06-12 17:42:51 +02:00
Maciej Bieniek
cd928d5571 Support reconfigure flow in Brother integration (#117298)
* Add reconfigure flow

* Improve config flow

* Check if it is the same printer

* Improve description

* Add tests

* Improve strings

* Add missing reconfigure_successful string

* Improve test names and comments

* Format

* Mock unload entry

* Use add_suggested_values_to_schema()

* Do not abort when another device's IP has been used

* Remove unnecessary code

* Suggested changes

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-12 17:39:44 +02:00
Robert Hillis
5b91ea4550 Store runtime data inside the config entry in Goalzero (#119440) 2024-06-12 16:52:18 +02:00
Robert Hillis
dc3ade6558 Store runtime data inside the config entry in Google Mail (#119439) 2024-06-12 16:49:40 +02:00
Joost Lekkerkerker
420ee782ff Migrate Airtouch4 to runtime_data (#119493) 2024-06-12 16:45:21 +02:00
epenet
99b349fa2c Fix consider-using-dict-items warnings in tests (#119497) 2024-06-12 16:44:29 +02:00
epenet
cb39d2d16b Ignore existing fixme pylint warnings in tests (#119500)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-12 16:40:26 +02:00
epenet
4962895f19 Fix consider-using-enumerate warnings in tests (#119506) 2024-06-12 16:27:56 +02:00
epenet
fb1b0058ee Fix consider-using-tuple pylint warnings in component tests (#119464)
* Fix consider-using-tuple pylint warnings in component tests

* Apply su

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-06-12 15:50:27 +02:00
Rami Mosleh
e065c70969 Store transmission coordinator in runtime_data (#119502)
store transmission coordinator in runtime_data
2024-06-12 15:38:35 +02:00
tronikos
2ca580898d Fix typo in Camera.turn_on (#119386) 2024-06-12 08:50:34 -04:00
Joost Lekkerkerker
3a4b46208f Migrate AirGradient to runtime_data (#119491)
* Migrate AirGradient to runtime_data

* Migrate AirGradient to runtime_data
2024-06-12 08:49:03 -04:00
Matthias Alphart
171707e8b7 Translation support for device automation extra fields (#115892)
* Translation support for device trigger extra fields

* Move extra_fields translations to backend
2024-06-12 14:10:02 +02:00
AlCalzone
8ca0de1d20 Forward Z-Wave JS node found event to frontend (#118866)
* forward Z-Wave `node found` event to frontend

* add tests
2024-06-12 13:48:47 +02:00
David Bonnes
e6b2a9b5c4 Remove redundant logging from evohome (#119482)
remove redundant logging
2024-06-12 13:45:03 +02:00
Robert Hillis
35b13e355b Store runtime data inside the config entry in Google Sheets (#119438) 2024-06-12 12:48:55 +02:00
Erwin Douna
ade936e6d5 Revert Use integration fallback configuration for tado water heater fallback (#119466) 2024-06-12 12:47:47 +02:00
epenet
20817955af Fix bad-chained-comparison pylint warning in tests (#119477) 2024-06-12 12:35:55 +02:00
epenet
abb8c58b87 Fix consider-using-tuple pylint warnings in core tests (#119463) 2024-06-12 12:35:01 +02:00
Robert Hillis
10b32e6a24 Store runtime data inside the config entry in Dremel 3D Printer (#119441)
* Store runtime data inside the config entry in Dremel 3D Printer

* add typing for config entry
2024-06-12 12:27:44 +02:00
epenet
c70cfbb535 Fix arguments-renamed pylint warning in tests (#119473) 2024-06-12 12:25:29 +02:00
epenet
d69e62c096 Ignore undefined-loop-variable pylint warnings in zha tests (#119476) 2024-06-12 12:24:16 +02:00
epenet
8323266960 Use pytest.mark.parametrize in airthings_ble tests (#119461) 2024-06-12 12:23:24 +02:00
epenet
7d631c28a6 Ignore attribute-defined-outside-init pylint warnings in tests (#119470) 2024-06-12 12:22:31 +02:00
epenet
2a7e78a80f Ignore broad-exception-raised pylint warnings in tests (#119468) 2024-06-12 12:21:41 +02:00
J. Nick Koston
0c79eeabdf Bump uiprotect to 1.1.0 (#119449) 2024-06-12 10:10:40 +02:00
Joakim Plate
47d3993805 Add loggers to gardena bluetooth (#119460) 2024-06-12 10:08:41 +02:00
Sebastian Goscik
35417649cd Bump uiprotect to v1.0.1 (#119436) 2024-06-11 18:20:00 -05:00
MJJ
34cfa0fd0e Bump buieradar to 1.0.6 (#119433) 2024-06-11 17:01:11 -05:00
Josef Zweck
bce8f2a25a Migrate lamarzocco to entry.runtime_data (#119425)
migrate lamarzocco to entry.runtime_data
2024-06-11 22:27:47 +02:00
J. Nick Koston
400b8a8361 Bump uiprotect to 1.0.0 (#119415) 2024-06-11 20:59:28 +02:00
J. Nick Koston
4f28f3a5fc Fix incorrect key name in unifiprotect options strings (#119417) 2024-06-11 20:58:05 +02:00
Douglas Krahmer
e6df0be072 Add support for Tuya non-standard contact sensors (#115557)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-11 18:09:57 +02:00
Aidan Timson
c907912dd1 Restructure and setup dedicated coordinator for Azure DevOps (#119199) 2024-06-11 18:08:58 +02:00
epenet
a0abd537c6 Adjust nacl import in tests (#119392) 2024-06-11 18:06:30 +02:00
epenet
9e8f9abbf7 Ignore misplaced-bare-raise warnings in tests (#119403) 2024-06-11 17:59:54 +02:00
epenet
7388271689 Fix unspecified-encoding warnings in tests (#119405) 2024-06-11 17:58:40 +02:00
epenet
6bb9011db3 Fix use-implicit-booleaness-not-len warnings in tests (#119407) 2024-06-11 17:57:58 +02:00
epenet
7384140a60 Fix pointless-exception-statement warning in tests (#119402) 2024-06-11 17:20:23 +02:00
epenet
5531e54745 Ignore no-name-in-module warnings in tests (#119401) 2024-06-11 16:37:07 +02:00
Erik Montnemery
8620bef5b0 Support shared keys starting with period in services.yaml (#118789) 2024-06-11 16:31:19 +02:00
epenet
ea571a6997 Fix unnecessary-dunder-call pylint warnings in tests (#119379) 2024-06-11 16:18:16 +02:00
epenet
bdf69c2e5b Remove deprecated imports in config tests (#119393) 2024-06-11 16:11:10 +02:00
epenet
fce4fc663e Fix import-outside-toplevel pylint warnings in core tests (#119394) 2024-06-11 16:10:34 +02:00
epenet
4bca0ad956 Fix incorrect constants in google_travel_time tests (#119395) 2024-06-11 16:10:17 +02:00
epenet
50356aa877 Drop use of deprecated constant in zha tests (#119397) 2024-06-11 16:09:53 +02:00
epenet
68a84c365d Fix incorrect constants in streamlabswater tests (#119399) 2024-06-11 16:09:02 +02:00
Sebastian Schneider
6df7c34aa2 Add switch to Tuya thermostat: child_lock (#113052) 2024-06-11 15:22:49 +02:00
Erik Montnemery
8c27214dc9 Use statistic tables' duration attribute instead of magic numbers (#119356) 2024-06-11 15:12:20 +02:00
epenet
18722aeccb Improve type hints and fix pylint warnings in util tests (#119355) 2024-06-11 15:07:40 +02:00
epenet
e14146d7c9 Fix consider-using-with pylint warnings in matrix tests (#119365) 2024-06-11 15:06:44 +02:00
epenet
2e9f63ced6 Fix use-maxsplit-arg pylint warnings in tests (#119366) 2024-06-11 15:06:16 +02:00
Jafar Atili
9af13e54c1 Bump pyElectra to 1.2.3 (#119369) 2024-06-11 15:05:53 +02:00
epenet
65befcf5d4 Fix import pylint warning in core tests (#119359) 2024-06-11 15:04:00 +02:00
epenet
e57bac6da8 Fix confusing-with-statement pylint warnings (#119364) 2024-06-11 15:03:03 +02:00
epenet
1974ea4fdd Improve type hints in yaml util tests (#119358) 2024-06-11 15:01:54 +02:00
epenet
d9b3ee35a0 Fix typo in pylint plugin (#119362) 2024-06-11 15:01:14 +02:00
epenet
5abdc83b2e Fix non-parent-init-called pylint warning in google_assistant tests (#119367) 2024-06-11 15:00:23 +02:00
epenet
d376371c25 Fix pylint warnings in testing config custom components (#119370) 2024-06-11 14:59:49 +02:00
epenet
2c7022950c Fix import-outside-toplevel pylint warnings in tests (#119389) 2024-06-11 14:57:50 +02:00
epenet
43db0e457c Fix pylint warnings in xiaomi tests (#119373) 2024-06-11 14:56:53 +02:00
Franck Nijhof
090d296135 2024.6.2 (#119376) 2024-06-11 14:41:12 +02:00
Erik Montnemery
f9cf7598da Fix missing checks in core config test (#119387) 2024-06-11 14:13:12 +02:00
Erik Montnemery
27fe00125d Fix typo in auth (#119388) 2024-06-11 14:01:23 +02:00
Erik Montnemery
904b89df80 Allow importing typing helper in core files (#119377)
* Allow importing typing helper in core files

* Really fix the circular import

* Update test
2024-06-11 13:48:12 +02:00
epenet
572700a326 Ignore c-extension-no-member pylint warnings in tests (#119378) 2024-06-11 12:57:43 +02:00
epenet
18f30d2ee9 Fix pointless-string-statement pylint warning in emulated_hue tests (#119368) 2024-06-11 11:57:54 +02:00
Franck Nijhof
415bfb40a7 Bump version to 2024.6.2 2024-06-11 11:21:51 +02:00
Maciej Bieniek
7ced4e981e Bump imgw-pib backend library to version 1.0.5 (#119360)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-11 11:17:29 +02:00
swcloudgenie
b656ef4d4f Fix AladdinConnect OAuth domain (#119336)
fix aladdin connect oauth domain
2024-06-11 11:17:26 +02:00
Erik Montnemery
6ea18a7b24 Fix statistic_during_period after core restart (#119323) 2024-06-11 11:17:22 +02:00
Bram Kragten
a0ac9fe6c9 Update frontend to 20240610.0 (#119320) 2024-06-11 11:16:04 +02:00
Jan-Philipp Benecke
135735126a Add more debug logging to Ping integration (#119318) 2024-06-11 11:10:36 +02:00
J. Nick Koston
3bc6cf666a Bump uiprotect to 0.4.1 (#119308) 2024-06-11 11:10:33 +02:00
Franck Nijhof
1929e103c0 Fix persistence on OpenWeatherMap raised repair issue (#119289) 2024-06-11 11:10:30 +02:00
J. Nick Koston
74b49556f9 Improve workday test coverage (#119259) 2024-06-11 11:10:27 +02:00
J. Nick Koston
8d40f4d39f Bump uiprotect to 0.4.0 (#119256) 2024-06-11 11:10:24 +02:00
Allen Porter
eed126c6d4 Bump google-nest-sdm to 4.0.5 (#119255) 2024-06-11 11:10:21 +02:00
J. Nick Koston
38cd84fa5f Fix climate on/off in nexia (#119254) 2024-06-11 11:10:18 +02:00
Abílio Costa
a28f5baeeb Fix wrong arg name in Idasen Desk config flow (#119247) 2024-06-11 11:10:14 +02:00
J. Nick Koston
f9352dfe8f Switch unifiprotect lib to use uiprotect (#119243) 2024-06-11 11:09:20 +02:00
J. Nick Koston
5beff34069 Remove myself as codeowner for unifiprotect (#118824) 2024-06-11 10:59:51 +02:00
Joakim Plate
119d4c2316 Always provide a currentArmLevel in Google assistant (#119238) 2024-06-11 10:29:34 +02:00
epenet
1e7ab07d9e Revert SamsungTV migration (#119234) 2024-06-11 10:29:31 +02:00
Ethem Cem Özkan
7896e7675c Bump python-roborock to 2.3.0 (#119228) 2024-06-11 10:29:28 +02:00
wittypluck
8b415a0376 Fix Glances v4 network and container issues (glances-api 0.8.0) (#119226) 2024-06-11 10:29:25 +02:00
Angel Nunez Mencias
6a656c5d49 Fixes crashes when receiving malformed decoded payloads (#119216)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-06-11 10:29:21 +02:00
G Johansson
8d094bf12e Fix envisalink alarm (#119212) 2024-06-11 10:29:18 +02:00
Sid
c71b6bdac9 Add fallback to entry_id when no mac address is retrieved in enigma2 (#119185) 2024-06-11 10:29:15 +02:00
tronikos
57cc1f841b Bump opower to 0.4.7 (#119183) 2024-06-11 10:29:12 +02:00
Quentin
d8f3778d77 Fix elgato light color detection (#119177) 2024-06-11 10:29:08 +02:00
Shay Levy
9a8e3ad5cc Handle Shelly BLE errors during connect and disconnect (#119174) 2024-06-11 10:29:05 +02:00
Michael
019d33c06c Use more conservative timeout values in Synology DSM (#119169)
use ClientTimeout object
2024-06-11 10:29:02 +02:00
Michael
40ebf3b2a9 Bump py-synologydsm-api to 2.4.4 (#119156)
bump py-synologydsm-api to 2.4.4
2024-06-11 10:28:58 +02:00
Tom Brien
7912c9e95c Fix workday timezone (#119148) 2024-06-11 10:28:55 +02:00
Paulus Schoutsen
4bb1ea1da1 Ensure intent tools have safe names (#119144) 2024-06-11 10:28:51 +02:00
Joost Lekkerkerker
a696ea18d3 Bump aiowaqi to 3.1.0 (#119124) 2024-06-11 10:28:48 +02:00
Shay Levy
df96b94985 Bump aioshelly to 10.0.1 (#119123) 2024-06-11 10:28:45 +02:00
tronikos
0f8ed4e73d Catch GoogleAPICallError in Google Generative AI (#119118) 2024-06-11 10:28:41 +02:00
tronikos
34477d3559 Properly handle escaped unicode characters passed to tools in Google Generative AI (#119117) 2024-06-11 10:28:38 +02:00
Austin Drummond
96ac566032 Fix control 4 on os 2 (#119104) 2024-06-11 10:28:35 +02:00
J. Nick Koston
87f48b15d1 Ensure multiple executions of a restart automation in the same event loop iteration are allowed (#119100)
* Add test for restarting automation

related issue #119097

* fix

* add a delay since restart is an infinite loop

* tests
2024-06-11 10:28:31 +02:00
kaareseras
a1f2140ed7 Fix Azure data explorer (#119089)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-11 10:28:28 +02:00
tronikos
db7a9321be Bump google-generativeai to 0.6.0 (#119062) 2024-06-11 10:28:24 +02:00
G Johansson
ebb0a453f4 Calculate attributes when entity information available in Group sensor (#119021) 2024-06-11 10:28:21 +02:00
Joakim Plate
7da10794a8 Update gardena library to 1.4.2 (#119010) 2024-06-11 10:28:18 +02:00
Ruben Bokobza
461f0865af Bump pyElectra to 1.2.1 (#118958) 2024-06-11 10:28:15 +02:00
karwosts
fc83bb1737 Fix statistic_during_period wrongly prioritizing ST statistics over LT (#115291)
* Fix statistic_during_period wrongly prioritizing ST statistics over LT

* comment

* start of a test

* more testcases

* fix sts insertion range

* update from review

* remove unneeded comments

* update logic

* min/mean/max testing
2024-06-11 10:28:09 +02:00
Jirka
a3356f4ee6 Fix typo in Tibber service description (#119354) 2024-06-11 09:36:12 +02:00
G Johansson
fc915dc1bf Calculate attributes when entity information available in Group sensor (#119021) 2024-06-11 09:26:44 +02:00
Maciej Bieniek
b84ea1edeb Bump imgw-pib backend library to version 1.0.5 (#119360)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-11 09:22:55 +02:00
kaareseras
511547c29a Fix Azure data explorer (#119089)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-11 09:18:06 +02:00
epenet
08eb8232e5 Fix namespace-import pylint warning in shelly tests (#119349) 2024-06-11 08:08:47 +02:00
epenet
a3ac0af56d Ignore some pylint errors in component tests (#119352) 2024-06-11 08:01:52 +02:00
epenet
4320445c30 Use absolute import in roborock tests (#119353) 2024-06-11 07:59:46 +02:00
epenet
ecad1bef7e Avoid cross-domain imports in scrape tests (#119351) 2024-06-11 07:57:45 +02:00
Paulus Schoutsen
0ea9581cfc OpenAI to respect custom conversation IDs (#119307) 2024-06-11 07:49:14 +02:00
Jesse Hills
cdd9f19cf9 Bump aioesphomeapi to 24.6.0 (#119348) 2024-06-11 07:32:40 +02:00
Jan Bouwhuis
8942088419 Customize incomfort binary sensor icons (#119331) 2024-06-11 07:07:52 +02:00
Ishima
013c117570 Add Xiaomi Air Purifier Pro H EU (zhimi.airpurifier.vb2) (#119149) 2024-06-11 07:06:25 +02:00
Ruben Bokobza
35347929ca Bump pyElectra to 1.2.1 (#118958) 2024-06-11 07:04:25 +02:00
middlingphys
cceb0d8b47 Fix typo in Ecovacs integration (#119346) 2024-06-11 06:56:31 +02:00
Jan Bouwhuis
dd6cfdf731 Bump incomfort backend client to v0.6.2 (#119330) 2024-06-11 06:55:05 +02:00
Joakim Plate
958a456275 Allow source sensor to be changed in threshold helper (#119157)
* Allow source sensor to be changed in threshold helper

* Make sure old device link is removed on entry change

* Add test case for changed association
2024-06-11 06:41:29 +02:00
J. Nick Koston
f02383e10d Bump uiprotect to 0.13.0 (#119344) 2024-06-10 22:50:44 -05:00
Jake Martin
9bb9792607 Move runtime_data deletion after unload (#119224)
* Move runtime_data deletion after unload.

Doing this before unload means we can't use, eg. the coordinator, during teardown.

* Re-order config entry on unload

* Add test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-06-10 22:11:07 -04:00
J. Nick Koston
3308f07d4b Speed up generating large stats results (#119210)
* Speed up generating large stats results

* naming

* fix type

* fix type

* tweak

* tweak

* delete unused code
2024-06-10 21:22:59 -04:00
J. Nick Koston
0149698002 Bump uiprotect to 0.10.1 (#119327)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-06-10 20:03:23 -05:00
Jan Bouwhuis
ea6729ab5f Fix enigma2 option flow (#119335) 2024-06-10 23:43:30 +02:00
swcloudgenie
68a9f3a048 Fix AladdinConnect OAuth domain (#119336)
fix aladdin connect oauth domain
2024-06-10 23:40:24 +02:00
J. Nick Koston
8855289d9c Migrate august to use yalexs 6.0.0 (#119321) 2024-06-10 21:50:11 +02:00
Erik Montnemery
def9d5b101 Fix statistic_during_period after core restart (#119323) 2024-06-10 21:44:55 +02:00
Álvaro Fernández Rojas
632f136c02 Update Airzone Cloud to v0.5.2 and add fan speeds to Zones (#119314)
* Update aioairzone-cloud to v0.5.2
* airzone_cloud: climate: add zone fan speeds support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-06-10 21:18:48 +02:00
Bas Brussee
b30a924e03 Add price service call to Tibber (#117366)
Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
2024-06-10 21:16:51 +02:00
Sid
6184fd26d3 Add options flow to enigma2 (#115795)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-10 21:13:12 +02:00
Brett Adams
4a9ebd9af1 Refactor helpers and bump Teslemetry (#119246) 2024-06-10 21:12:09 +02:00
Quentin
04c8a5574a Fix elgato light color detection (#119177) 2024-06-10 20:58:15 +02:00
Jan Bouwhuis
51d78c3c25 Improve incomfort binary sensors (#119292)
* Improve incomfort binary_sensor, add is_burning, is_pumping and is_tapping

* Update test snapshot

* Use helper for fault code label name

* Update tests

* Remove extra state attribute

* Make default Fault `none` to supprt localization

* Update snapshot
2024-06-10 20:57:36 +02:00
osohotwateriot
53d5a65f2c Add OSO Energy temperature sensors (#119301) 2024-06-10 20:48:41 +02:00
Cyr-ius
8d3e3faf02 Use runtime_data in Husqvarna Automower (#119309) 2024-06-10 20:46:29 +02:00
epenet
650cf13bca Improve type hints in aiohttp_client helper tests (#119300) 2024-06-10 20:31:19 +02:00
J. Nick Koston
612743077a Improve workday test coverage (#119259) 2024-06-10 20:26:52 +02:00
epenet
eb6af2238c Improve type hints in registry helper tests (#119302) 2024-06-10 20:25:34 +02:00
karwosts
aa419686cb Fix statistic_during_period wrongly prioritizing ST statistics over LT (#115291)
* Fix statistic_during_period wrongly prioritizing ST statistics over LT

* comment

* start of a test

* more testcases

* fix sts insertion range

* update from review

* remove unneeded comments

* update logic

* min/mean/max testing
2024-06-10 20:23:21 +02:00
Bram Kragten
f75cc1da24 Update frontend to 20240610.0 (#119320) 2024-06-10 20:22:04 +02:00
epenet
ac08cd1201 Revert SamsungTV migration (#119234) 2024-06-10 20:20:25 +02:00
Jan-Philipp Benecke
508564ece2 Add more debug logging to Ping integration (#119318) 2024-06-10 20:09:39 +02:00
Josef Zweck
42b984ee4f Migrate lamarzocco to lmcloud 1.1 (#113935)
* migrate to 1.1

* bump to 1.1.1

* fix newlines docstring

* cleanup entity_description fns

* strict generics

* restructure import

* tweaks to generics

* tweaks to generics

* removed exceptions

* move initialization, websocket clean shutdown

* get rid of duplicate entry addign

* bump lmcloud

* re-add calendar, auto on/off switches

* use asdict for diagnostics

* change number generator

* use name as entry title

* also migrate title

* don't migrate title

* remove generics for now

* satisfy mypy

* add s

* adapt

* migrate entry.runtime_data

* remove auto/onoff

* add issue on wrong gw firmware

* silence mypy

* remove breaks in ha version

* parametrize issue test

* Update update.py

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

* Update test_config_flow.py

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

* regen snapshots

* mapping steam level

* remove commented code

* fix typo

* coderabbitai availability tweak

* remove microsecond moving

* additonal schedule for coverage

* be more specific on date offset

* keep mappings the same

* config_entry imports sharpened

* remove unneccessary testcase, clenup date moving

* remove superfluous calendar testcase from diag

* guard against future version downgrade

* use new entry for downgrade test

* switch to lmcloud 1.1.11

* revert runtimedata

* revert runtimedata

* version to helper

* conistent Generator

* generator from typing_extensions

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-10 19:59:39 +02:00
Jan Bouwhuis
b7f74532dc Fix incomfort water heater return translated fault code (#119311) 2024-06-10 19:30:12 +02:00
Jan Bouwhuis
d6bcb1c5fd Add HVACAction to incomfort climate devices (#119315)
* Add HVACAction to incomfort climate devices

* Use IDLE state when not heating
2024-06-10 19:23:12 +02:00
J. Nick Koston
d74d418c06 Bump uiprotect to 0.4.1 (#119308) 2024-06-10 18:58:26 +02:00
Simone Chemelli
404ff9fd69 bump aiobotocore to 2.13.0 (#119297)
bump aiobotocore
2024-06-10 18:57:25 +03:00
tronikos
5f9455e0fd Log errors in Intent.async_handle (#119182)
* Log errors in Intent.async_handle

* log exception stack trace

* Update homeassistant/helpers/intent.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-06-10 11:33:12 -04:00
William Taylor
30fab7b807 Add support for animal detection in unifiprotect (#116290)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-10 10:16:36 -05:00
chammp
52379ad7cb Add code_format_template to template locks (#106947)
* Add code_format to template locks

* Replace code_format with code_format_template

* Add test case for template eval to None

* Apply suggestion to not call super()

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

* Add more negative tests

* Handle template render errors

* Better error message

* Add custom test lock config for code format

* Add type hints from upstream

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-06-10 16:54:17 +02:00
epenet
c896458fcf Fix namespace-import pylint warning in components (#119299) 2024-06-10 15:55:08 +02:00
epenet
fbaba3753b Fix root-import pylint warning in components (#119294)
* Fix root-import pylint warning in components

* Adjust

* Adjust
2024-06-10 15:14:49 +02:00
epenet
94b9ae14c9 Use Registry fixture in zwave_js tests (#119277) 2024-06-10 15:00:05 +02:00
epenet
6733f86c61 Use service_calls fixture in helper tests (#119275)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-06-10 14:57:34 +02:00
epenet
9c12067565 Don't run tests if lint-ruff-format fails (#119291) 2024-06-10 14:55:47 +02:00
Franck Nijhof
bedff29165 Fix persistence on OpenWeatherMap raised repair issue (#119289) 2024-06-10 14:55:28 +02:00
Sébastien Clément
80b2b05bd8 Change qBittorrent lib to qbittorrentapi (#113394)
* Change qBittorrent lib to qbittorrentapi

* Fix tests

* Convert qbittorrent service to new lib

* Add missing translation key

* Catch APIConnectionError in service call

* Replace type ignore by Any typing

* Remove last type: ignore

* Use lib type for torrent_filter

* Change import format

* Fix remaining Any type

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-06-10 14:27:20 +02:00
epenet
960d1289ef Avoid references to websocket_api.const in core and other components (#119285) 2024-06-10 13:49:44 +02:00
epenet
2e3c3789d3 Use relative imports in tests [s-z] (#119283) 2024-06-10 13:33:15 +02:00
epenet
ac588ddc75 Use relative imports in tests [j-r] (#119282) 2024-06-10 13:32:31 +02:00
epenet
94720fd015 Fix root-import pylint warning in dlna_dmr tests (#119286) 2024-06-10 13:31:29 +02:00
epenet
8cbfc5a58b Use service_calls fixture in arcam_fmj tests (#119274) 2024-06-10 13:09:51 +02:00
epenet
b8e57f6174 Use relative imports in tests [a-i] (#119280) 2024-06-10 12:52:34 +02:00
epenet
e818de1da8 Use service_calls fixture in scaffold (#119266) 2024-06-10 10:44:00 +02:00
Jan Bouwhuis
e114e6f862 Improve incomfort boiler state strings (#119270) 2024-06-10 10:07:38 +02:00
epenet
42f3dd636f Use service_calls fixture in bthome tests (#119268) 2024-06-10 10:05:47 +02:00
epenet
a5cde4b32b Use device_registry fixture in webostv tests (#119269) 2024-06-10 09:40:54 +02:00
epenet
1ebc1685f7 Improve type hints in camera tests (#119264) 2024-06-10 09:30:00 +02:00
epenet
d9362a2f2f Improve type hints in axis tests (#119260)
* Improve type hints in axis tests

* A couple more

* One more

* Improve light

* Improve hub

* Improve config-flow
2024-06-10 08:49:43 +02:00
epenet
2d2f5de191 Improve type hints in blueprint tests (#119263) 2024-06-10 08:49:18 +02:00
Austin Drummond
ea3097f84c Fix control 4 on os 2 (#119104) 2024-06-10 08:48:11 +02:00
Diogo Gomes
0873322af7 Moves V2C from hass.data to config_entry.runtime_data (#119165)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-06-10 08:47:08 +02:00
Angel Nunez Mencias
731df892c6 Fixes crashes when receiving malformed decoded payloads (#119216)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-06-10 08:41:22 +02:00
epenet
733e563500 Improve type hints in blackbird tests (#119262) 2024-06-10 08:39:24 +02:00
J. Nick Koston
d4baad62ef Bump uiprotect to 0.4.0 (#119256) 2024-06-10 08:36:36 +02:00
Allen Porter
edc7c58bba Bump google-nest-sdm to 4.0.5 (#119255) 2024-06-10 08:35:54 +02:00
Kevin Stillhammer
42e2c2b3e9 google_travel_time: Merge user_input validation (#119221) 2024-06-10 08:26:24 +02:00
wittypluck
f6c6b3cf6c Fix Glances v4 network and container issues (glances-api 0.8.0) (#119226) 2024-06-10 08:25:39 +02:00
Allen Porter
f046545883 Fix nest to cancel event listener on config entry unload (#119257) 2024-06-10 08:18:50 +02:00
J. Nick Koston
8b6fbd5b3f Fix climate on/off in nexia (#119254) 2024-06-10 08:17:29 +02:00
Franck Nijhof
8b5627b1be Temporary pin CI to Python 3.12.3 (#119261) 2024-06-10 08:08:52 +02:00
Brett Adams
159503b8d3 Add model to Teslemetry Wall Connectors (#119251) 2024-06-10 07:48:09 +02:00
Joakim Plate
8a0cc55278 Always provide a currentArmLevel in Google assistant (#119238) 2024-06-10 07:47:16 +02:00
Jan Bouwhuis
4376e0931a Add boiler entity state translations for incomfort water_heater entities (#119211) 2024-06-10 07:46:07 +02:00
Abílio Costa
be22214a33 Fix wrong arg name in Idasen Desk config flow (#119247) 2024-06-10 03:02:38 +02:00
J. Nick Koston
d657feafa6 Switch unifiprotect lib to use uiprotect (#119243) 2024-06-09 18:25:39 -05:00
starkillerOG
b70a33a718 Add Reolink manual record switch (#119232)
Add manual record switch
2024-06-09 23:02:11 +02:00
Ethem Cem Özkan
39820caa1a Bump python-roborock to 2.3.0 (#119228) 2024-06-09 22:58:49 +02:00
starkillerOG
0c585e1836 Bump reolink-aio to 0.9.2 (#119236) 2024-06-09 22:57:12 +02:00
David Knowles
9b41fa5f25 Bump pyschlage to 2024.6.0 (#119233) 2024-06-09 22:56:19 +02:00
Robert Svensson
325352e197 Fixture cleanup in UniFi tests (#119227)
* Make sure all mock_device_registry are used with usefixtuers

* Make sure to use name with fixtures and rename functions to start with fixture_

* Streamline config_entry_setup

* Type all *_payload

* Mark @pytest.mark.usefixtures("mock_default_requests")

* Clean up unnecessary newlines after docstring
2024-06-09 16:07:36 -04:00
epenet
7dfaa05793 Improve type hints in amberelectric tests (#119229) 2024-06-09 22:04:40 +02:00
epenet
06c1c435d1 Improve type hints in ambient_station tests (#119230) 2024-06-09 21:50:13 +02:00
Jake Martin
c03f9d264e Bump monzopy to 1.3.0 (#119225) 2024-06-09 20:24:33 +02:00
Jan Bouwhuis
4ca38f227a Fix - Remove unneeded assert in teslemetry test (#119219)
Remove unneded assert in teslemetry test
2024-06-09 19:21:37 +02:00
J. Nick Koston
7065c0993d Reduce overhead to reduce statistics (#119187) 2024-06-09 18:33:10 +02:00
J. Nick Koston
909df675e0 Use a listcomp for history results (#119188) 2024-06-09 18:32:33 +02:00
Brett Adams
38ab121db5 Add cabin overheat protection entity to Teslemetry (#118449)
* test_cabin_overheat_protection

* Fix snapshot

* Translate error

* Review Feedback
2024-06-09 18:30:36 +02:00
Joakim Plate
30e11ed068 Update links between config entry and device on sensor change in integral (#119213) 2024-06-09 18:26:33 +02:00
G Johansson
09ba9547ed Fix envisalink alarm (#119212) 2024-06-09 18:14:46 +02:00
Kevin Stillhammer
93fa9e778b Add reconfigure step for google_travel_time (#115178)
* Add reconfigure step for google_travel_time

* Do not allow to change name

* Duplicate tests for reconfigure

* Use link for description in strings.json

* Try except else

* Extend existing config flow tests
2024-06-09 18:13:32 +02:00
Jan Bouwhuis
361c46d491 Bump incomfort backend client to v0.6.1 (#119209) 2024-06-09 17:48:17 +02:00
Joost Lekkerkerker
b4c9b3f109 Create DWD device with unique_id instead of entry_id (#116498)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
2024-06-09 16:36:36 +02:00
Erik Montnemery
04a5a1d18b Improve demo config flow and add tests (#118481)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-06-09 16:02:58 +02:00
Joost Lekkerkerker
b26f613d06 Add config flow to MPD (#117907) 2024-06-09 16:01:19 +02:00
Robert Svensson
c9911e4dd4 Rework UniFi tests to not use runtime data (#119202) 2024-06-09 15:56:26 +02:00
Jan Bouwhuis
34f20fce36 Bump incomfort backend library to v0.6.0 (#119207) 2024-06-09 15:52:34 +02:00
Joost Lekkerkerker
279f183ce3 Remove Harmony switches (#119206) 2024-06-09 15:51:01 +02:00
J. Nick Koston
d9f1d40805 Migrate august to use yalexs 5.2.0 (#119178) 2024-06-09 12:30:41 +02:00
Robert Svensson
ff493a8a9d Rewrite the UniFi button entity tests (#118771) 2024-06-09 12:25:06 +02:00
Jonathan Jogenfors
5829d9d8ab Fix sia custom bypass arming in night mode (#119168) 2024-06-09 12:03:15 +02:00
Shay Levy
04222c32b5 Handle Shelly BLE errors during connect and disconnect (#119174) 2024-06-09 11:59:40 +02:00
Sid
b937fc0cfe Add fallback to entry_id when no mac address is retrieved in enigma2 (#119185) 2024-06-09 11:59:14 +02:00
Jakob Schlyter
f32b29e700 Add myself as codeowner for amazon_polly (#119189) 2024-06-09 11:57:54 +02:00
tronikos
9e7a6408c2 Bump opower to 0.4.7 (#119183) 2024-06-09 09:45:59 +02:00
Robert Hillis
a38d88730d Remove Netgear LTE yaml import (#119180)
Remove Netgear LTE yaml config
2024-06-09 09:44:56 +02:00
Michael
b577ce61b8 Use more conservative timeout values in Synology DSM (#119169)
use ClientTimeout object
2024-06-08 23:52:14 +02:00
J. Nick Koston
ad7097399e Ensure multiple executions of a restart automation in the same event loop iteration are allowed (#119100)
* Add test for restarting automation

related issue #119097

* fix

* add a delay since restart is an infinite loop

* tests
2024-06-08 17:07:39 -04:00
tronikos
0ca4314d48 Make supported_features of manual alarm_control_panel configurable (#119122) 2024-06-08 16:54:32 -04:00
Guy Shefer
7e1806229b Fix Tami4 component breaking API changes (#119158)
* fix tami4 api breaking changes

* fix tests
2024-06-08 16:52:15 -04:00
Robert Svensson
d6097573f5 Remove old UniFi test infrastructure (#119160)
Clean up hub
2024-06-08 16:44:24 -04:00
Michael
d6ec8a4a96 Bump py-synologydsm-api to 2.4.4 (#119156)
bump py-synologydsm-api to 2.4.4
2024-06-08 21:24:59 +02:00
Sid
a662ee772c Use runtime_data for enigma2 (#119154)
* Use runtime_data for enigma2

* Update __init__.py
2024-06-08 20:40:34 +02:00
xyzroe
ae0e751a6d Add ZHA XZG firmware discovery (#116828) 2024-06-08 18:06:25 +02:00
Sid
721b2c2ca8 Enable Ruff PT012 (#113957) 2024-06-08 17:59:08 +02:00
Robert Svensson
915658daa1 Fix failing UniFi tests related to utcnow (#119131)
* test

* Fix missed test
2024-06-08 17:58:47 +02:00
Paulus Schoutsen
c49ca5ed56 Ensure intent tools have safe names (#119144) 2024-06-08 17:53:47 +02:00
Tom Brien
fff2c1115d Fix workday timezone (#119148) 2024-06-08 17:53:20 +02:00
Franck Nijhof
a64d6e548c Update Home Assistant base image to 2024.06.0 (#119147) 2024-06-08 17:52:23 +02:00
Raman Gupta
2c41451abc Add new security keys to zwave_js config flow (#115835) 2024-06-08 11:31:05 -04:00
Richard Kroegel
43343ea44a Adjust BMW enum sensors translations (#118754)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-08 17:08:37 +02:00
Christian Neumeier
a2504dafbc Refactor Zeversolar init tests (#118551)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-06-08 16:34:17 +02:00
epenet
5166426d0a Add type hints for service_calls fixture in pylint plugin (#118356) 2024-06-08 16:32:27 +02:00
Richard Kroegel
b04a65f4d1 Change BMW select and sensor enums to lowercase (#118751)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-08 16:25:45 +02:00
Maciej Bieniek
cb672b85f4 Add icon translations to AccuWeather (#119134)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-08 15:57:22 +02:00
Maciej Bieniek
27df79daf1 Use translation placeholders in AccuWeather (#118760)
* Use translation placeholder

* Update test snapshot

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-08 14:00:55 +02:00
Joost Lekkerkerker
53f1cd8e72 Improve withings diagnostics (#119128) 2024-06-08 12:27:24 +02:00
Joost Lekkerkerker
522a1e9d56 Add support for segmental measurements in Withings (#119126) 2024-06-08 11:56:23 +02:00
Joost Lekkerkerker
675048cc38 Bump aiowaqi to 3.1.0 (#119124) 2024-06-08 11:28:45 +02:00
Matthias Alphart
fff5715a06 Require KNX boolean service descriptor selectors (#118597) 2024-06-08 11:09:52 +02:00
Lucas Mindêllo de Andrade
ad2ff500de Bump sunweg to 3.0.1 (#118435) 2024-06-08 10:57:44 +02:00
Shay Levy
742dd61d36 Bump aioshelly to 10.0.1 (#119123) 2024-06-08 10:44:37 +02:00
t0bst4r
deac59f1ee Add intelligent language matching for Google Assistant SDK Agents (#112600)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-06-08 09:50:15 +02:00
tronikos
f605c10f42 Properly handle escaped unicode characters passed to tools in Google Generative AI (#119117) 2024-06-08 09:02:00 +02:00
rwalker777
f07e7ec543 Add Tuya based bluetooth lights (#119103) 2024-06-08 08:59:14 +02:00
tronikos
5fdfafd57f Catch GoogleAPICallError in Google Generative AI (#119118) 2024-06-08 08:51:42 +02:00
Brett Adams
e4be3d8435 Improve the reliability of tests in Tessie (#118596) 2024-06-07 22:11:35 +02:00
Marc Mueller
00f78dc522 Update typing-extensions to 4.12.2 (#119098) 2024-06-07 22:06:51 +02:00
Robert Svensson
20df747806 Use fixtures in UniFi device tracker tests (#118912) 2024-06-07 21:28:02 +02:00
Franck Nijhof
b28cdcfc49 2024.6.1 (#119096) 2024-06-07 21:20:44 +02:00
Erik Montnemery
6c15351c18 Add support for common references in strings.json (#118783)
* Add support for common references in strings.json

* Update tests
2024-06-07 20:59:26 +02:00
epenet
b2a54c50e2 Move mock_zeroconf to decorator in tests (#119061) 2024-06-07 20:55:20 +02:00
tronikos
ae59d0eadf Bump google-generativeai to 0.6.0 (#119062) 2024-06-07 20:50:55 +02:00
epenet
4a4c98caad Move mock_async_zeroconf to decorator in zeroconf tests (#119063) 2024-06-07 20:49:58 +02:00
J. Nick Koston
1bda33b1e9 Bump home-assistant-bluetooth to 1.12.1 (#119026) 2024-06-07 13:48:36 -05:00
OzGav
aa121ebf73 Add previous track intent (#113222)
* add previous track intent

* add stop and clear playlist

* Remove clear_playlist and stop

* Remove clear_playlist and stop

* Use extra constraints

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-06-07 13:34:22 -05:00
Franck Nijhof
3f70e2b6f0 Bump version to 2024.6.1 2024-06-07 20:26:53 +02:00
Joost Lekkerkerker
ed22e98861 Fix Azure Data Explorer strings (#119067) 2024-06-07 20:24:03 +02:00
Marc Mueller
093f07c04e Add type ignore comments (#119052) 2024-06-07 20:24:00 +02:00
Joost Lekkerkerker
b5693ca604 Fix AirGradient name (#119046) 2024-06-07 20:23:57 +02:00
J. Nick Koston
20b77aa15f Fix remember_the_milk calling configurator async api from the wrong thread (#119029) 2024-06-07 20:23:53 +02:00
J. Nick Koston
1cbd3ab930 Fix refactoring error in snmp switch (#119028) 2024-06-07 20:23:50 +02:00
Matthias Alphart
31b44b7846 Fix KNX climate.set_hvac_mode not turning on (#119012) 2024-06-07 20:23:47 +02:00
Matthias Alphart
de3a0841d8 Increase test coverage for KNX Climate (#117903)
* Increase test coverage fro KNX Climate

* fix test type annotation
2024-06-07 20:23:40 +02:00
Mike Degatano
581fb2f9f4 Always have addon url in detached_addon_missing (#119011) 2024-06-07 20:21:25 +02:00
Shay Levy
5bb4e4f5d9 Hold connection lock in Shelly RPC reconnect (#119009) 2024-06-07 20:21:22 +02:00
J. Nick Koston
cfa619b67e Remove isal from after_dependencies in http (#119000) 2024-06-07 20:21:18 +02:00
Michael Hansen
56db7fc7dc Fix exposure checks on some intents (#118988)
* Check exposure in climate intent

* Check exposure in todo list

* Check exposure for weather

* Check exposure in humidity intents

* Add extra checks to weather tests

* Add more checks to todo intent test

* Move climate intents to async_match_targets

* Update test_intent.py

* Update test_intent.py

* Remove patch
2024-06-07 20:20:41 +02:00
Joost Lekkerkerker
1f6be7b4d1 Fix unit of measurement for airgradient sensor (#118981) 2024-06-07 20:18:45 +02:00
Maciej Bieniek
52d1432d81 Bump imgw-pib library to version 1.0.4 (#118978)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-07 20:18:41 +02:00
David Knowles
14da1e9b23 Bump pydrawise to 2024.6.3 (#118977) 2024-06-07 20:18:38 +02:00
G Johansson
d6e1d05e87 Bump python-holidays to 0.50 (#118965) 2024-06-07 20:18:35 +02:00
G Johansson
62f73cfcca Fix Alarm control panel not require code in several integrations (#118961) 2024-06-07 20:18:32 +02:00
Maciej Bieniek
6e9a53d02e Bump imgw-pib backend library to version 1.0.2 (#118953)
Bump imgw-pib to version 1.0.2

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-07 20:18:28 +02:00
J. Nick Koston
394c13af1d Revert "Bump orjson to 3.10.3 (#116945)" (#118920)
This reverts commit dc50095d06.
2024-06-07 20:17:01 +02:00
Jan-Philipp Benecke
86b13e8ae3 Fix flaky Google Assistant test (#118914)
* Fix flaky Google Assistant test

* Trigger full ci
2024-06-07 20:16:58 +02:00
Rami Mosleh
5a7332a135 Check if imap message text has a value instead of checking if its not None (#118901)
* Check if message_text has a value instead of checking if its not None

* Strip message_text to ensure that its actually empty or not

* Add test with multipart payload having empty plain text
2024-06-07 20:16:55 +02:00
Michael Hansen
0f9a91d369 Prioritize literal text with name slots in sentence matching (#118900)
Prioritize literal text with name slots
2024-06-07 20:16:52 +02:00
Marc Mueller
00dd86fb4b Update requests to 2.32.3 (#118868)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-07 20:16:47 +02:00
J. Nick Koston
440185be25 Fix refactoring error in snmp switch (#119028) 2024-06-07 20:09:48 +02:00
epenet
cd7f2f9f77 Fix incorrect type hints in azure_data_explorer tests (#119065) 2024-06-07 20:07:38 +02:00
epenet
9008b4295c Improve type hints in assist_pipeline tests (#119066) 2024-06-07 12:39:25 -05:00
paulusbrand
624017a0f9 Add template Base64 decode encoding parameter (#116603)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-07 17:01:35 +02:00
Joost Lekkerkerker
0556d9d4ed Fix Azure Data Explorer strings (#119067) 2024-06-07 16:31:50 +02:00
epenet
37b0e8fa33 Improve type hints in airvisual test fixtures (#119079) 2024-06-07 07:35:33 -06:00
epenet
5bf42e64e3 Improve type hints in arcam_fmj tests (#119072) 2024-06-07 15:33:43 +02:00
Dos Moonen
59c8270b1a Bump solax from 3.1.0 to 3.1.1 (#118888) 2024-06-07 15:16:07 +02:00
epenet
549f66fd6f Move mock_async_zeroconf to decorator in homekit tests (#119060) 2024-06-07 12:30:02 +02:00
Yuxin Wang
81ee5fb46b Refine sensor descriptions for APCUPSD (#114137)
* Refine sensor descriptions for APCUPSD

* Add device class for cumonbatt

* Add UoM to STESTI and TIMELEFT

* Remove device class for STESTI
2024-06-07 12:28:59 +02:00
Greg Dowling
92ed20ffbf Add mute_toggle to roon volume events (#114171)
Add mute_toggle event.
2024-06-07 12:25:14 +02:00
Robert Svensson
a8becb1248 Use fixtures in UniFi sensor tests (#118921) 2024-06-07 12:15:03 +02:00
Joost Lekkerkerker
f6c66dfd27 Bump aiowithings to 3.0.1 (#118854) 2024-06-07 12:11:15 +02:00
epenet
bfff3c0524 Add type hint to mock_async_zeroconf in test fixtures (#119057) 2024-06-07 12:09:18 +02:00
epenet
5f309b69cf Add type hints to current_request_with_host in tests (#119054) 2024-06-07 11:40:23 +02:00
epenet
907297cd1a Improve type hints in config tests (#119055) 2024-06-07 11:40:03 +02:00
epenet
1c8a9cc3b8 Remove unused caplog fixtures in tests (#119056) 2024-06-07 11:38:56 +02:00
epenet
b3a71dcea3 Improve type hints in homekit_controller tests (#119053) 2024-06-07 11:31:45 +02:00
Marc Mueller
af65da3875 Add type ignore comments (#119052) 2024-06-07 11:13:33 +02:00
Jeef
4600960895 Align weatherflow_cloud weather conditions with Home Assistant supported conditions (#114497)
* WeatherFlow Cloud changing icon mapping specificaly for Colorado

* changing name to state_map
2024-06-07 11:02:41 +02:00
Huyuwei
7947f63860 Enable retrieving sensor data from WoHub2 device and update pySwitchbot to 0.47.2 (#118567) 2024-06-07 10:56:12 +02:00
dependabot[bot]
5fafbebf87 Bump dawidd6/action-download-artifact from 4 to 5 (#118851)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-07 10:54:31 +02:00
G Johansson
f2d674d28d Bump babel to 2.15.0 (#119006) 2024-06-07 10:53:54 +02:00
Mike Degatano
78f53341b7 Always have addon url in detached_addon_missing (#119011) 2024-06-07 10:52:15 +02:00
epenet
42b1cfe6b9 Improve type hints in azure_event_hub tests (#119047)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-06-07 10:50:03 +02:00
epenet
7638380add Improve type hints in kaleidescape tests (#119040) 2024-06-07 10:49:09 +02:00
epenet
c107d980fa Improve type hints in motionblinds_ble tests (#119049) 2024-06-07 10:43:56 +02:00
epenet
d5a68ad311 Improve type hints in zamg tests (#119042) 2024-06-07 10:25:11 +02:00
Christopher Fenner
539b9d76fc Add photovoltaic sensors to ViCare integration (#113664)
* Add photovoltaic sensors

* Update strings.json

* Apply suggestions from code review

* change uom for daily sensor
2024-06-07 10:21:24 +02:00
Lorenzo Monaco
78c7af40ed Ecovacs get_positions service (#118572)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-07 10:11:49 +02:00
Shay Levy
9a6902d827 Hold connection lock in Shelly RPC reconnect (#119009) 2024-06-07 09:50:05 +02:00
J. Nick Koston
6ba8b7a5d6 Remove isal from after_dependencies in http (#119000) 2024-06-07 09:21:53 +02:00
G Johansson
c60dee16bc Ignore deprecation warning in python-holidays (#119007) 2024-06-07 09:21:04 +02:00
epenet
4f6a98cee3 Remove unused request fixtures (#119044) 2024-06-07 09:19:03 +02:00
Joost Lekkerkerker
6e9db52a5f Fix AirGradient name (#119046) 2024-06-07 09:18:16 +02:00
Joost Lekkerkerker
6027af3d36 Fix unit of measurement for airgradient sensor (#118981) 2024-06-07 09:17:36 +02:00
J. Nick Koston
aa0a90cd98 Fix remember_the_milk calling configurator async api from the wrong thread (#119029) 2024-06-07 09:07:47 +02:00
epenet
8628a1e449 Improve type hints in airnow tests (#119038) 2024-06-07 09:03:35 +02:00
Marc Mueller
274cd41d57 Fix Generator annotations in tests (1) (#119018) 2024-06-07 08:43:32 +02:00
Marc Mueller
7195a21126 Fix Generator annotations in tests (2) (#119019) 2024-06-07 08:34:38 +02:00
Maciej Bieniek
27e8a4ed6f Add the missing humidity value to the Accuweather daily forecast (#119013)
Add the missing humidity value to the daily forecast

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-07 07:23:44 +02:00
Michael Hansen
87114bf19b Fix exposure checks on some intents (#118988)
* Check exposure in climate intent

* Check exposure in todo list

* Check exposure for weather

* Check exposure in humidity intents

* Add extra checks to weather tests

* Add more checks to todo intent test

* Move climate intents to async_match_targets

* Update test_intent.py

* Update test_intent.py

* Remove patch
2024-06-06 20:41:25 -05:00
Joakim Plate
8c025ea1f7 Update gardena library to 1.4.2 (#119010) 2024-06-07 00:48:23 +02:00
Rami Mosleh
7337c13747 Use torrent id to identify torrents that should trigger events (#118897) 2024-06-07 00:44:21 +02:00
Matthias Alphart
a7429e5f50 Fix KNX climate.set_hvac_mode not turning on (#119012) 2024-06-06 22:40:04 +02:00
Jordi
7219a4fa98 Add Aquacell integration (#117117)
* Initial commit

* Support changed API
Change sensor entity descriptions

* Fix sensor not handling coordinator update

* Implement re-authentication flow and handle token expiry

* Bump aioaquacell

* Bump aioaquacell

* Cleanup and initial tests

* Fixes for config flow tests

* Cleanup

* Fixes

* Formatted

* Use config entry runtime
Use icon translations
Removed reauth
Removed last updated sensor
Changed lid in place to binary sensor
Cleanup

* Remove reauth strings

* Removed binary_sensor platform
Fixed sensors not updating properly

* Remove reauth tests
Bump aioaquacell

* Moved softener property to entity class
Inlined validate_input method
Renaming of entities
Do a single async_add_entities call to add all entities
Reduced code in try blocks

* Made tests parameterized and use test fixture for api
Cleaned up unused code
Removed traces of reauth

* Add check if refresh token is expired
Add tests

* Add missing unique_id to config entry mock
Inlined _update_config_entry_refresh_token method
Fix incorrect test method name and comment

* Add snapshot test
Changed WiFi level to WiFi strength

* Bump aioaquacell to 0.1.7

* Move test_coordinator tests to test_init
Add test for duplicate config entry
2024-06-06 22:33:58 +02:00
Robert Svensson
ec3a976410 Use fixtures in UniFi image tests (#118887) 2024-06-06 14:23:10 -04:00
Robert Svensson
d695660164 Use fixtures in UniFi diagnostics tests (#118905) 2024-06-06 14:22:41 -04:00
Michael Hansen
bca8958d4b Prioritize literal text with name slots in sentence matching (#118900)
Prioritize literal text with name slots
2024-06-06 14:20:34 -04:00
Gedaliah Knizhnik
696a079ba8 Add extra sensor to the Jewish Calendar integration (#116734)
* Added sensor for always three star tzeit

* Changed sensor name

* Change sensor name
2024-06-06 14:17:52 -04:00
Steven B
333ac56904 Fully mock the ring_doorbell api and remove requests_mock (#113140)
* Fully mock ring_doorbell library

* Add comments and docstrings

* Simplify devices_mocks and fake RingDevices

* Update post review

* Consolidate device filtering in conftest

* Fix ruff lambda assignment failure

* Fix ruff check fail

* Update post review
2024-06-06 20:13:19 +02:00
Mr. Bubbles
99b85e16d1 Set username as entry title in Bring integration (#118974)
Set username as entry title
2024-06-06 20:03:58 +02:00
David Bonnes
d40c940c20 Move evohome's API broker to the coordinator module (#118565)
* move Broker to coordinator module

* mypy tweak

* mypy
2024-06-06 13:02:50 -04:00
J. Nick Koston
62b1bde0e8 Only entity verify state writable once after success unless hass is missing (#118896) 2024-06-06 11:46:44 -05:00
Marc Mueller
ffea72f866 Increment ci cache version (#118998) 2024-06-06 18:25:24 +02:00
epenet
5914ff0de8 Improve type hints in apple_tv tests (#118980) 2024-06-06 17:44:22 +02:00
Marc Mueller
837ee7c4fb Import Generator from typing_extensions (4) (#118992) 2024-06-06 17:41:37 +02:00
Marc Mueller
59e178df3b Import Generator from typing_extensions (5) (#118993) 2024-06-06 17:33:27 +02:00
epenet
632238a7f9 Move mock_bluetooth* fixtures to decorator (#118846) 2024-06-06 17:31:08 +02:00
Marc Mueller
33ed4fd862 Import Generator from typing_extensions (3) (#118990) 2024-06-06 17:28:59 +02:00
David Knowles
0ecab967dd Bump pydrawise to 2024.6.3 (#118977) 2024-06-06 17:28:13 +02:00
epenet
fb51163075 Move socket_enabled fixture to decorator (#118847) 2024-06-06 17:27:38 +02:00
epenet
6de26ca811 Unhide facebook tests (#118867) 2024-06-06 17:24:48 +02:00
Marc Mueller
279483ddb0 Import Generator from typing_extensions (2) (#118989) 2024-06-06 17:24:22 +02:00
Maciej Bieniek
49c7b1aab9 Bump imgw-pib library to version 1.0.4 (#118978)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-06 17:14:02 +02:00
Marc Mueller
c3456215b8 Update requests to 2.32.3 (#118868)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-06 17:11:49 +02:00
Marc Mueller
fe21e2b8ba Import Generator from typing_extensions (1) (#118986) 2024-06-06 17:02:13 +02:00
Marc Mueller
69708db8e0 Update mypy-dev to 1.11.0a6 (#118881) 2024-06-06 16:14:39 +02:00
Rami Mosleh
cab58fa9b2 Check if imap message text has a value instead of checking if its not None (#118901)
* Check if message_text has a value instead of checking if its not None

* Strip message_text to ensure that its actually empty or not

* Add test with multipart payload having empty plain text
2024-06-06 14:10:03 +02:00
G Johansson
4ec6ba445b Remove unused constant in Tag (#118966)
Remove not used constant in Tag
2024-06-06 13:49:17 +02:00
G Johansson
0d2e441de5 Bump python-holidays to 0.50 (#118965) 2024-06-06 13:34:03 +02:00
Åke Strandberg
3d8fc96592 Migrate myuplink to runtime_data (#118960) 2024-06-06 13:31:47 +02:00
G Johansson
2a4f7439a2 Fix Alarm control panel not require code in several integrations (#118961) 2024-06-06 13:21:30 +02:00
Sebastian Lövdahl
a5959cfb83 Address post-merge review comments from Vallox reconfigure support PR (#118903)
Address late review comments from Vallox reconfigure support PR
2024-06-06 12:52:57 +02:00
epenet
622a69447d Add type hints to hdmi_cec assert_state function (#118940)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-06-06 12:39:24 +02:00
Maciej Bieniek
29952d8128 Bump imgw-pib backend library to version 1.0.2 (#118953)
Bump imgw-pib to version 1.0.2

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-06 12:26:07 +02:00
epenet
857b5c9c1b Fix type hints in google tests (#118941) 2024-06-06 12:19:41 +02:00
epenet
492b158818 Add return type hints in tests (a-i) (#118939) 2024-06-06 12:17:08 +02:00
Mr. Bubbles
6e8d6f5994 Load fixture with decorator to avoid variable not accessed error (#118954)
Use fixture decorator
2024-06-06 12:15:13 +02:00
epenet
f425420899 Improve type hints in rainforest_raven tests (#118950) 2024-06-06 12:10:13 +02:00
Sid
121bfc9766 Bump ruff to 0.4.8 (#118894) 2024-06-06 12:05:35 +02:00
epenet
c373e36995 Centralize duplicate fixtures in rainforest_raven tests (#118945) 2024-06-06 10:44:02 +02:00
epenet
7eda8aafc8 Ignore nested functions when enforcing type hints in tests (#118948) 2024-06-06 10:43:31 +02:00
Mr. Bubbles
093e85d59a Fix some minor typos in ista EcoTrend integration (#118949)
Fix typos
2024-06-06 10:43:12 +02:00
J. Nick Koston
e37ee68434 Bump cryptography to 42.0.8 (#118889) 2024-06-06 10:20:39 +02:00
epenet
c7cc465e5c Add return type hints in tests (k-z) (#118942) 2024-06-06 10:11:29 +02:00
Regin Larsen
b5b7c9bcd5 Bump xiaomi-ble to 0.29.0 (#118895) 2024-06-06 09:16:57 +02:00
Mr. Bubbles
4596b89201 Bump pyecotrend_ista to 3.2.0 (#118924) 2024-06-06 09:10:46 +02:00
J. Nick Koston
f9205cd88d Avoid additional timestamp conversion to set state (#118885)
Avoid addtional timestamp conversion to set state

Since we already have the timestamp, we can pass it on to the State
object and avoid the additional timestamp conversion which can be as
much as 30% of the state write runtime.

Since datetime objects are limited to microsecond precision, we need
to adjust some tests to account for the additional precision that we
will now be able to get in the database
2024-06-05 23:43:34 -04:00
J. Nick Koston
475c20d529 Always do thread safety check when writing state (#118886)
* Always do thread safety check when writing state

Refactor the 3 most common places where the thread safety check
for the event loop to be inline to make the check fast enough
that we can keep it long term. While code review catches most
of the thread safety issues in core, some of them still make
it through, and new ones keep getting added. Its not possible
to catch them all with manual code review, so its worth the
tiny overhead to check each time.

Previously the check was limited to custom components
because they were the most common source of thread
safety issues.

* Always do thread safety check when writing state

Refactor the 3 most common places where the thread safety check
for the event loop to be inline to make the check fast enough
that we can keep it long term. While code review catches most
of the thread safety issues in core, some of them still make
it through, and new ones keep getting added. Its not possible
to catch them all with manual code review, so its worth the
tiny overhead to check each time.

Previously the check was limited to custom components
because they were the most common source of thread
safety issues.

* async_fire is more common than expected with ccs

* fix mock

* fix hass mocking
2024-06-05 23:41:55 -04:00
Ernst Klamer
64b23419e0 Bump bthome-ble to 3.9.1 (#118907)
bump bthome-ble to 3.9.1
2024-06-05 23:38:30 -04:00
J. Nick Koston
a0957069f0 Revert "Bump orjson to 3.10.3 (#116945)" (#118920)
This reverts commit dc50095d06.
2024-06-05 23:37:35 -04:00
Jan-Philipp Benecke
7407995ff1 Fix flaky Google Assistant test (#118914)
* Fix flaky Google Assistant test

* Trigger full ci
2024-06-05 17:37:14 -04:00
Josef Zweck
feaf50eee7 Address Webhook async_generate_url review (#118910)
code styling
2024-06-05 22:38:23 +02:00
Franck Nijhof
460909a7f6 2024.6.0 (#118400) 2024-06-05 20:06:01 +02:00
Franck Nijhof
21fd012447 Bump version to 2024.6.0 2024-06-05 19:00:08 +02:00
Robert Resch
c27f0c560e Replace slave by meter in v2c (#118893) 2024-06-05 18:59:52 +02:00
Michael Hansen
0f4a1b421e Bump intents to 2024.6.5 (#118890) 2024-06-05 18:59:49 +02:00
Erik Montnemery
5e35ce2996 Improve WS command validate_config (#118864)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-05 18:59:44 +02:00
Erik Montnemery
8099ea8817 Improve WS command validate_config (#118864)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-05 18:53:44 +02:00
Michael Hansen
6efc3b95a4 Bump intents to 2024.6.5 (#118890) 2024-06-05 18:43:28 +02:00
Robert Resch
0562c3085f Replace slave by meter in v2c (#118893) 2024-06-05 18:21:03 +02:00
Åke Strandberg
e2dd88be6e Add more unit-based sensor descriptions to myuplink (#113104)
* Add more unit-based sensor descriptions

* Move late addition to icon translations
2024-06-05 17:45:52 +02:00
r-xyz
0487b38ed3 Add support for sending telegram messages to topics (#112715)
* Add support for sending telegram messages to topics
    Based on original PR #104059 by [jgresty](https://github.com/jgresty).
    Did not manage to merge conflicts, so I remade the changes from scratch, including suggestions from previous PR reviews.

    Topics were added to telegram groups in November 2022, and to the
    telegram-bot library in version 20.0. They are a purely additive change
    that is exposed by a single parameter `message_thread_id`. Not passing
    this parameter will not change the behaviour from current.

    This same parameter is used to send messages to threads and messages to
    topics inside groups.

    https://telegram.org/blog/topics-in-groups-collectible-usernames/it?setln=en#topics-in-groups

    Fixes #81888
    Fixes #91750

* telegram_bot: add tests for threads feature.

* telegram_bot: fixed tests for threads.

* telegram_bot: fixed wrong line.

* Update test_telegram_bot.py

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-06-05 17:41:40 +02:00
Robert Svensson
862c04a4b6 Use fixtures in UniFi service tests (#118838)
* Use fixtures in UniFi service tests

* Fix comments
2024-06-05 17:04:28 +02:00
Joost Lekkerkerker
c4cfd9adf0 Add entity translations to incomfort (#118876) 2024-06-05 17:03:58 +02:00
Joost Lekkerkerker
60c06732b1 Add state and device class to incomfort (#118877)
* Add state and device class to incomfort

* Add state and device class to incomfort
2024-06-05 16:06:23 +02:00
Dmitriy
906c906653 Fix Ezviz last alarm picture (#112074)
* Fix Ezviz last alarm picture

* Review fixes
2024-06-05 15:55:59 +02:00
Josef Zweck
d0a036c617 Allow more input params to webhook generate_url helper (#112334)
* allow more params to helper

* switch back to f-string

* add test

* switch to proper method

* add allow_external, internal params

* fx default

* add signature comparison

* remove test, change prefer_external

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-06-05 15:55:37 +02:00
Franck Nijhof
e5804307e7 Bump version to 2024.6.0b9 2024-06-05 15:51:19 +02:00
Bram Kragten
3b74b63b23 Update frontend to 20240605.0 (#118875) 2024-06-05 15:51:08 +02:00
Marc Mueller
06df32d9d4 Fix TypeAliasType not callable in senz (#118872) 2024-06-05 15:51:05 +02:00
Jan Bouwhuis
63947e4980 Improve repair issue when notify service is still being used (#118855)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-06-05 15:51:02 +02:00
Ethem Cem Özkan
ac6a377478 Bump python-roborock to 2.2.3 (#118853)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-06-05 15:50:59 +02:00
Paulus Schoutsen
18af423a78 Fix the radio browser doing I/O in the event loop (#118842) 2024-06-05 15:50:56 +02:00
Franck Nijhof
f1445bc8f5 Fix capitalization of protocols in Reolink option flow (#118839) 2024-06-05 15:50:53 +02:00
starkillerOG
3784c99305 Conserve Reolink battery by not waking the camera on each update (#118773)
* update to new cmd_list type

* Wake battery cams each 1 hour

* fix styling

* fix epoch

* fix timezone

* force full update when using generic update service

* improve comment

* Use time.time() instead of datetime

* fix import order
2024-06-05 15:50:50 +02:00
Pete Sage
0084d6c5bd Fix Hydrawise sensor availability (#118669)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-05 15:50:47 +02:00
Jan Bouwhuis
066cd6dbef Improve repair issue when notify service is still being used (#118855)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-06-05 15:41:22 +02:00
starkillerOG
edd3c45c09 Add binary "sleeping" sensor to Reolink (#118774) 2024-06-05 14:30:15 +02:00
Pete Sage
0d1fb1fc9f Fix Hydrawise sensor availability (#118669)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-05 14:18:41 +02:00
Bram Kragten
3a4b84a4ce Update frontend to 20240605.0 (#118875) 2024-06-05 13:32:50 +02:00
epenet
4b663dbf01 Rename esphome fixture (#118865) 2024-06-05 13:31:59 +02:00
Marc Mueller
873a842166 Update coverage to 7.5.3 (#118870) 2024-06-05 13:31:31 +02:00
Joost Lekkerkerker
986d8986a9 Introduce incomfort boiler entity (#118861) 2024-06-05 13:09:24 +02:00
Joost Lekkerkerker
8d11279bc9 Remove obsolete polling from incomfort water heater (#118860)
Remove obsolete polling
2024-06-05 12:55:40 +02:00
Joost Lekkerkerker
239984f87d Add entity descriptions to incomfort binary sensor (#118863)
* Detach name from unique id in incomfort

* Add entity descriptions to incomfort

* Revert "Detach name from unique id in incomfort"

This reverts commit 1744844466.

* yes
2024-06-05 12:51:39 +02:00
Marc Mueller
68a537a05a Fix TypeAliasType not callable in senz (#118872) 2024-06-05 12:47:52 +02:00
Michał Jaworski
aedb0a3ca4 Add new sensors to blebox (#118837)
blebox: add mapping for new sensor types introduced in blebox_uniapi>-2.4.0

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-06-05 12:17:56 +02:00
Michał Jaworski
5e9eae14fc Bump blebox-uniapi fom 2.2.2 to 2.4.2 (#118836)
* blebox: udpdate version in manifest and add new sensor key mapping

* blebox: add more sensor types

* blebox: use blebox_uniapi==2.4.1

* blebox: use blebox_uniapi==2.4.2

* blebox: update requirements_all.txt

* blebox: revert introduction of illuminance and power meter sensors set
2024-06-05 12:11:49 +02:00
Joost Lekkerkerker
7a7a9c610a Detach name from unique id in incomfort (#118862)
* Detach name from unique id in incomfort

* Add entity descriptions to incomfort

* Revert "Add entity descriptions to incomfort"

This reverts commit 2b6ccd4c3b.
2024-06-05 11:40:37 +02:00
Jan Bouwhuis
9a510cfe32 Add data coordinator to incomfort integration (#118816)
* Add data coordinator to incomfort integration

* Remove unused code and redundant comment, move entity class

* Use freezer

* Cleanup snapshot

* Use entry.runtime_data

* Use freezer, use mock_config_entry

* Use tick

* Use ConfigEntryError while we do not yet support a re-auth flow, update tests

* Use tick with async_fire_time_changed
2024-06-05 10:45:01 +02:00
Ethem Cem Özkan
adc21e7c55 Bump python-roborock to 2.2.3 (#118853)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-06-05 10:22:05 +02:00
epenet
9c8aa8456e Move enable_bluetooth fixture to decorator (#118849) 2024-06-05 09:20:48 +02:00
epenet
c7e065c413 Move enable_custom_integrations fixture to decorator (#118844) 2024-06-05 09:20:08 +02:00
Erwin Douna
985e42e50c Add more typing to DSMR Reader (#118852) 2024-06-05 09:05:31 +02:00
dependabot[bot]
357cc7d4cc Bump github/codeql-action from 3.25.7 to 3.25.8 (#118850)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-05 08:58:48 +02:00
Diogo Gomes
ba7f82d5e2 Add diagnostic to V2C (#118823)
* add diagnostic platform

* add diagnostic platform

* add diagnostic platform
2024-06-05 08:55:49 +02:00
Paulus Schoutsen
72309364f5 Fix the radio browser doing I/O in the event loop (#118842) 2024-06-04 23:59:25 -04:00
starkillerOG
678c06beb3 Conserve Reolink battery by not waking the camera on each update (#118773)
* update to new cmd_list type

* Wake battery cams each 1 hour

* fix styling

* fix epoch

* fix timezone

* force full update when using generic update service

* improve comment

* Use time.time() instead of datetime

* fix import order
2024-06-04 21:54:31 -04:00
starkillerOG
8723441227 Add Reolink serial number to device info of IPC camera (#118834)
* Add UID to dev info

* Add camera_uid to test
2024-06-04 21:37:40 -04:00
Franck Nijhof
46bb9cb014 Fix capitalization of protocols in Reolink option flow (#118839) 2024-06-04 21:35:54 -04:00
J. Nick Koston
ed0568c655 Ensure config entries are not unloaded while their platforms are setting up (#118767)
* Report non-awaited/non-locked config entry platform forwards

Its currently possible for config entries to be reloaded while their platforms
are being forwarded if platform forwards are not awaited or done after the
config entry is setup since the lock will not be held in this case.

In https://developers.home-assistant.io/blog/2022/07/08/config_entry_forwards
we advised to await platform forwards to ensure this does not happen, however
for sleeping devices and late discovered devices, platform forwards may happen
later.

If config platform forwards are happening during setup, they should be awaited

If config entry platform forwards are not happening during setup, instead
async_late_forward_entry_setups should be used which will hold the lock to
prevent the config entry from being unloaded while its platforms are being
setup

* Report non-awaited/non-locked config entry platform forwards

Its currently possible for config entries to be reloaded while their platforms
are being forwarded if platform forwards are not awaited or done after the
config entry is setup since the lock will not be held in this case.

In https://developers.home-assistant.io/blog/2022/07/08/config_entry_forwards
we advised to await platform forwards to ensure this does not happen, however
for sleeping devices and late discovered devices, platform forwards may happen
later.

If config platform forwards are happening during setup, they should be awaited

If config entry platform forwards are not happening during setup, instead
async_late_forward_entry_setups should be used which will hold the lock to
prevent the config entry from being unloaded while its platforms are being
setup

* run with error on to find them

* cert_exp, hold lock

* cert_exp, hold lock

* shelly async_late_forward_entry_setups

* compact

* compact

* found another

* patch up mobileapp

* patch up hue tests

* patch up smartthings

* fix mqtt

* fix esphome

* zwave_js

* mqtt

* rework

* fixes

* fix mocking

* fix mocking

* do not call async_forward_entry_setup directly

* docstrings

* docstrings

* docstrings

* add comments

* doc strings

* fixed all in core, turn off strict

* coverage

* coverage

* missing

* coverage
2024-06-04 21:34:39 -04:00
Franck Nijhof
f1e6375406 Bump version to 2024.6.0b8 2024-06-04 21:32:36 +02:00
Jan-Philipp Benecke
9157905f80 Initialize the Sentry SDK within an import executor job to not block event loop (#118830) 2024-06-04 21:31:49 +02:00
J. Nick Koston
b02c9aa2ef Ensure name of task is logged for unhandled loop exceptions (#118822) 2024-06-04 21:31:45 +02:00
Bram Kragten
6e30fd7633 Update frontend to 20240604.0 (#118811) 2024-06-04 21:31:42 +02:00
Stefan Agner
74b29c2e54 Bump Python Matter Server library to 6.1.0 (#118806) 2024-06-04 21:31:38 +02:00
Maciej Bieniek
b1b26af92b Check if Shelly entry.runtime_data is available (#118805)
* Check if runtime_data is available

* Add tests

* Use `is` operator

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-04 21:31:33 +02:00
arturyak
b107ffd30d Add missing FAN_ONLY mode to ccm15 (#118804) 2024-06-04 21:31:28 +02:00
Joost Lekkerkerker
776675404a Set unique id in aladdin connect config flow (#118798) 2024-06-04 21:30:08 +02:00
Paulus Schoutsen
38ee32fed2 Include script description in LLM exposed entities (#118749)
* Include script description in LLM exposed entities

* Fix race in test

* Fix type

* Expose script

* Remove fields
2024-06-04 21:21:26 +02:00
Tsvi Mostovicz
111d11aaca Fix updating options in Jewish Calendar (#118643) 2024-06-04 21:21:23 +02:00
Jack Boswell
ff8752ea4f Fix calculation of Starlink sleep end setting (#115507)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-04 21:21:13 +02:00
J. Nick Koston
67b3be8432 Remove useless threading locks in mqtt (#118737) 2024-06-04 14:21:03 -05:00
Jack Boswell
278751607f Fix calculation of Starlink sleep end setting (#115507)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-04 14:19:09 -05:00
Robert Svensson
b4f6325278 Use fixtures in UniFi switch tests (#118831) 2024-06-04 21:01:03 +02:00
Robert Svensson
c2e245f9d4 Use fixtures in UniFi update tests (#118818) 2024-06-04 21:00:50 +02:00
arturyak
513262c0ff Add missing FAN_ONLY mode to ccm15 (#118804) 2024-06-04 20:58:58 +02:00
Tsvi Mostovicz
98455cbd93 Fix updating options in Jewish Calendar (#118643) 2024-06-04 20:55:38 +02:00
Gerben Jongerius
f18ddb628c Bump youless dependency version to 2.1.0 (#118820) 2024-06-04 20:52:37 +02:00
Jan Bouwhuis
956623d964 Fix device name not set on all incomfort platforms (#118827)
* Prelimenary tests for incomfort integration

* Use snapshot_platform

* Use helper

* Ensure the device name is set in device info

* Move snapshot tests to platform test modules

* Move unused snapshot file

* Naming and docstr

* update snapshots

* cleanup snapshots

* Add water heater tests
2024-06-04 20:51:34 +02:00
Michał Huryn
5fca2c09c5 blebox: update codeowners (#118817) 2024-06-04 20:49:00 +02:00
Jan-Philipp Benecke
c83aba0fd1 Initialize the Sentry SDK within an import executor job to not block event loop (#118830) 2024-06-04 20:47:06 +02:00
J. Nick Koston
c8e7298556 Remove myself as codeowner for unifiprotect (#118824) 2024-06-04 13:21:56 -05:00
J. Nick Koston
72e4aee155 Ensure name of task is logged for unhandled loop exceptions (#118822) 2024-06-04 12:48:29 -04:00
Maciej Bieniek
709e32a38a Check if Shelly entry.runtime_data is available (#118805)
* Check if runtime_data is available

* Add tests

* Use `is` operator

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-04 18:40:18 +02:00
Bram Kragten
6483c46991 Update frontend to 20240604.0 (#118811) 2024-06-04 18:26:47 +02:00
Stefan Agner
e2f45bfbdc Bump Python Matter Server library to 6.1.0 (#118806) 2024-06-04 18:23:22 +02:00
epenet
b81f0b600f Move current_request_with_host fixture to decorator (#118810)
* Move current_request_with_host fixture to decorator

* One more
2024-06-04 17:50:22 +02:00
Paulus Schoutsen
52ad90a68d Include script description in LLM exposed entities (#118749)
* Include script description in LLM exposed entities

* Fix race in test

* Fix type

* Expose script

* Remove fields
2024-06-04 11:18:07 -04:00
ollo69
8610436948 Add remote entity to AndroidTV (#103496)
* Add remote entity to AndroidTV

* Add tests for remote entity

* Requested changes on tests
2024-06-04 17:02:30 +02:00
epenet
b09f3eb313 Fix incorrect current_request_with_host type hint (#118809) 2024-06-04 16:26:39 +02:00
epenet
80975d7a63 Move None bluetooth fixtures to decorator (#118802) 2024-06-04 16:26:07 +02:00
epenet
f120f55d86 Move enable_bluetooth fixture to decorator (#118803) 2024-06-04 16:20:11 +02:00
epenet
3d31af3eb4 Move entity_registry_enabled_by_default to decorator [a-p] (#118794) 2024-06-04 16:18:42 +02:00
epenet
089874f818 Move mock_hass_config fixture to decorator (#118807) 2024-06-04 16:05:56 +02:00
Joost Lekkerkerker
2ac5f8db06 Set unique id in aladdin connect config flow (#118798) 2024-06-04 16:00:53 +02:00
Richard Kroegel
1eb13b48a2 Add tests for BMW binary_sensor and lock (#118436)
* BMW: Add tests for binary_sensor & lock

* Use entity_registry_enabled_by_default fixture

* Update tests/components/bmw_connected_drive/test_binary_sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Move fixtures to decorator

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Use fixture decorators if possible

* Fix rebase

* Spelling adjustments

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Use snapshot_platform helper

* Spelling

* Remove comment

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-06-04 15:08:15 +02:00
Markus Jacobsen
67e9e90346 Bang & Olufsen add overlay/announce play_media functionality (#113434)
* Add overlay service

* Convert custom service to play_media announce

* Remove debugging
2024-06-04 13:48:22 +02:00
Joost Lekkerkerker
0aac4b26a4 Make Weatherflow a brand (#118785) 2024-06-04 13:40:48 +02:00
Joost Lekkerkerker
1877c1eec9 Make Ruuvi a brand (#118786) 2024-06-04 13:40:06 +02:00
epenet
20b5aa3e0e Move entity_registry_enabled_by_default to decorator [q-z] (#118793) 2024-06-04 13:38:32 +02:00
Franck Nijhof
2151f7ebf3 Bump version to 2024.6.0b7 2024-06-04 12:20:22 +02:00
Richard Kroegel
50efce4e53 Allow per-sensor unit conversion on BMW sensors (#110272)
* Update BMW sensors to use device_class

* Test adjustments

* Trigger CI

* Remove unneeded cast

* Set suggested_display_precision to 0

* Rebase for climate_status

* Change charging_status to ENUM device class

* Add test for Enum translations

* Pin Enum sensor values

* Use snapshot_platform helper

* Remove translation tests

* Formatting

* Remove comment

* Use const.STATE_UNKOWN

* Fix typo

* Update strings

* Loop through Enum sensors

* Revert enum sensor changes

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-04 12:20:08 +02:00
Richard Kroegel
c8538f3c08 Use snapshot_platform helper for BMW tests (#118735)
* Use snapshot_platform helper

* Remove comments

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-04 12:19:01 +02:00
Richard Kroegel
4bfff12570 Set lock state to unkown on BMW API error (#118559)
* Revert to previous lock state on BMW API error

* Set lock state to unkown on error and force refresh from API

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-04 12:02:47 +02:00
Richard Kroegel
f2b1635969 Refactor fixture calling for BMW tests (#118708)
* Refactor BMW tests to use pytest.mark.usefixtures

* Fix freeze_time

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-04 12:01:40 +02:00
Joost Lekkerkerker
b3b8ae31fd Move Aladdin stale device removal to init module (#118784) 2024-06-04 11:58:35 +02:00
Joost Lekkerkerker
ba96fc272b Re-enable sensor platform for Aladdin Connect (#118782) 2024-06-04 11:58:32 +02:00
Joost Lekkerkerker
c702174fa0 Add coordinator to Aladdin Connect (#118781) 2024-06-04 11:58:29 +02:00
Joost Lekkerkerker
5d6fe7387e Use model from Aladdin Connect lib (#118778)
* Use model from Aladdin Connect lib

* Fix
2024-06-04 11:58:25 +02:00
Joost Lekkerkerker
c76b7a48d3 Initial cleanup for Aladdin connect (#118777) 2024-06-04 11:58:22 +02:00
Joost Lekkerkerker
954e8ff9b3 Bump airgradient to 0.4.3 (#118776) 2024-06-04 11:58:18 +02:00
Joakim Sørensen
8c332ddbdb Update hass-nabucasa to version 0.81.1 (#118768) 2024-06-04 11:58:15 +02:00
Jan Bouwhuis
01c4ca2749 Recover mqtt abbrevations optimizations (#118762)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-04 11:58:12 +02:00
Michael Hansen
4b4b5362d9 Clean up exposed domains (#118753)
* Remove lock and script

* Add media player

* Fix tests
2024-06-04 11:58:08 +02:00
Jan Bouwhuis
70d7cedf08 Do not log mqtt origin info if the log level does not allow it (#118752) 2024-06-04 11:58:05 +02:00
Michael Hansen
7bbfb1a22b Bump intents to 2024.6.3 (#118748) 2024-06-04 11:58:02 +02:00
Paulus Schoutsen
d68d871054 Update OpenAI prompt on each interaction (#118747) 2024-06-04 11:57:58 +02:00
Jan Bouwhuis
69bdefb02d Revert "Allow MQTT device based auto discovery" (#118746)
Revert "Allow MQTT device based auto discovery (#109030)"

This reverts commit 585892f067.
2024-06-04 11:57:55 +02:00
Paulus Schoutsen
ebaec6380f Google Gen AI: Copy messages to avoid changing the trace data (#118745) 2024-06-04 11:57:51 +02:00
starkillerOG
9cf6e9b21a Bump reolink-aio to 0.9.1 (#118655)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-04 11:55:34 +02:00
David Bonnes
eb1a9eda60 Harden evohome against failures to retrieve zone schedules (#118517) 2024-06-04 11:55:21 +02:00
epenet
3ac0fa53c8 Cleanup unused FixtureRequest in tests (#118780) 2024-06-04 11:49:21 +02:00
Joost Lekkerkerker
fce5f2a93f Move Aladdin stale device removal to init module (#118784) 2024-06-04 11:34:21 +02:00
Erik Montnemery
c0912a019c Deduplicate light services.yaml (#118738)
* Deduplicate light services.yaml

* Remove support for .-keys
2024-06-04 11:30:34 +02:00
Joost Lekkerkerker
7ed119b0b6 Re-enable sensor platform for Aladdin Connect (#118782) 2024-06-04 11:04:10 +02:00
dependabot[bot]
d905542f49 Bump dawidd6/action-download-artifact from 3.1.4 to 4 (#118772)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-04 11:00:00 +02:00
Alexandre CUER
a1e4d4ddd7 Remove duplicate code in emoncms (#118610)
* Remove duplicate & property extra_state_attributes

* Add methods _update_attributes and _update_value

* correction in _update_value

* Update homeassistant/components/emoncms/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/emoncms/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/emoncms/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/emoncms/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-06-04 10:56:43 +02:00
Joost Lekkerkerker
43a9a4f9ed Bump airgradient to 0.4.3 (#118776) 2024-06-04 10:53:16 +02:00
Joost Lekkerkerker
e9f01be090 Add coordinator to Aladdin Connect (#118781) 2024-06-04 10:51:28 +02:00
Aidan Timson
42414d55e0 Azure DevOps build sensor attributes to new sensors (#114948)
* Setup for split

* Adjust to allow for None

* Create

* Add missing

* Fix datetime parsing in Azure DevOps sensor

* Remove definition id and name

These aren't needed and will never change

* Add tests for each sensor

* Add tests for edge cases

* Rename translations

* Update

* Use base sensor descriptions

* Remove

* Drop status

using this later for an event entity

* Switch to timestamp

* Switch to timestamp

* Merge

* Update snapshot

* Improvements from @joostlek

* Update homeassistant/components/azure_devops/sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-04 10:50:43 +02:00
Mr. Bubbles
7815840194 Add ista EcoTrend integration (#118360)
* Add ista EcoTrend integration

* move code out of try

* Use account owners name as entry title

* update config flow tests

* add tests for init

* Add reauth flow

* Add tests for sensors

* add translations for reauth

* trigger statistics import on first refresh

* Move statistics and reauth flow to other PR

* Fix tests

* some changes

* draft_final_final

* remove unnecessary icons

* changed tests

* move device_registry test to init

* add text selectors
2024-06-04 10:45:53 +02:00
epenet
b54a68750b Add type hints for FixtureRequest in tests (#118779) 2024-06-04 10:37:54 +02:00
Joost Lekkerkerker
16fd19f01a Use model from Aladdin Connect lib (#118778)
* Use model from Aladdin Connect lib

* Fix
2024-06-04 10:29:51 +02:00
Joost Lekkerkerker
da408c6703 Initial cleanup for Aladdin connect (#118777) 2024-06-04 10:13:31 +02:00
Richard Kroegel
7fb2802910 Allow per-sensor unit conversion on BMW sensors (#110272)
* Update BMW sensors to use device_class

* Test adjustments

* Trigger CI

* Remove unneeded cast

* Set suggested_display_precision to 0

* Rebase for climate_status

* Change charging_status to ENUM device class

* Add test for Enum translations

* Pin Enum sensor values

* Use snapshot_platform helper

* Remove translation tests

* Formatting

* Remove comment

* Use const.STATE_UNKOWN

* Fix typo

* Update strings

* Loop through Enum sensors

* Revert enum sensor changes

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-04 09:06:23 +02:00
starkillerOG
cba07540e9 Bump reolink-aio to 0.9.1 (#118655)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-04 08:00:40 +02:00
Aaron Bach
d43d12905d Don't require code to arm SimpliSafe (#118759) 2024-06-04 07:20:37 +02:00
J. Nick Koston
553311cc7d Add os.walk to asyncio loop blocking detection (#118769) 2024-06-04 06:53:37 +02:00
Joakim Sørensen
53ab215dfc Update hass-nabucasa to version 0.81.1 (#118768) 2024-06-04 06:27:54 +02:00
Jan Bouwhuis
e799270578 Recover mqtt abbrevations optimizations (#118762)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-04 06:20:18 +02:00
Michael Hansen
289263087c Bump intents to 2024.6.3 (#118748) 2024-06-03 22:47:09 -04:00
Michael Hansen
0257aa4839 Clean up exposed domains (#118753)
* Remove lock and script

* Add media player

* Fix tests
2024-06-03 21:26:40 -05:00
J. Nick Koston
35a1ecea27 Speed up statistics_during_period websocket api (#118672) 2024-06-03 18:08:46 -05:00
Jan Bouwhuis
2c206c18d4 Do not log mqtt origin info if the log level does not allow it (#118752) 2024-06-03 23:38:31 +02:00
Jan Bouwhuis
39f5f30ca9 Revert "Allow MQTT device based auto discovery" (#118746)
Revert "Allow MQTT device based auto discovery (#109030)"

This reverts commit 585892f067.
2024-06-03 22:30:37 +02:00
Paulus Schoutsen
035e19be01 Google Gen AI: Copy messages to avoid changing the trace data (#118745) 2024-06-03 22:29:50 +02:00
Paulus Schoutsen
299c0de968 Update OpenAI prompt on each interaction (#118747) 2024-06-03 22:27:05 +02:00
David Bonnes
8ea3a6843a Harden evohome against failures to retrieve zone schedules (#118517) 2024-06-03 21:48:48 +02:00
Jan Bouwhuis
ff27f8ef10 Add device info to incomfort entities (#118741)
* Add device info to incomfort entities

* Add DOMAIN import
2024-06-03 21:30:13 +02:00
Franck Nijhof
26344ffd74 Bump version to 2024.6.0b6 2024-06-03 21:27:31 +02:00
Paulus Schoutsen
2940104008 Remove dispatcher from Tag entity (#118671)
* Remove dispatcher from Tag entity

* type

* Don't use  helper

* Del is faster than pop

* Use id in update

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-06-03 21:27:08 +02:00
Joost Lekkerkerker
8072a268a1 Require firmware version 3.1.1 for airgradient (#118744) 2024-06-03 21:26:19 +02:00
Bram Kragten
b5f557ad73 Update frontend to 20240603.0 (#118736) 2024-06-03 21:26:16 +02:00
Michael Hansen
f977b54312 Resolve areas/floors to ids in intent_script (#118734) 2024-06-03 21:26:13 +02:00
Jan-Philipp Benecke
11b2f201f3 Rename Discovergy to inexogy (#118724) 2024-06-03 21:26:10 +02:00
Erik Montnemery
8cc3c147fe Tweak light service schema (#118720) 2024-06-03 21:26:07 +02:00
epenet
fd9ea2f224 Bump renault-api to 0.2.3 (#118718) 2024-06-03 21:26:04 +02:00
Diogo Gomes
f064f44a09 Address reviews comments in #117147 (#118714) 2024-06-03 21:26:01 +02:00
Erik Montnemery
f3d1157bc4 Remove tag_id from tag store (#118713) 2024-06-03 21:25:58 +02:00
mkmer
85982d2b87 Remove unintended translation key from blink (#118712) 2024-06-03 21:25:55 +02:00
Erik Montnemery
cc83443ad1 Don't store tag_id in tag storage (#118707) 2024-06-03 21:25:52 +02:00
tronikos
8a516207e9 Use ISO format when passing date to LLMs (#118705) 2024-06-03 21:25:49 +02:00
Mick Vleeshouwer
f805df8390 Bump pyoverkiz to 1.13.11 (#118703) 2024-06-03 21:25:46 +02:00
Joost Lekkerkerker
ea85ed6992 Disable both option in Airgradient select (#118702) 2024-06-03 21:25:43 +02:00
Joost Lekkerkerker
54425b756e Configure device in airgradient config flow (#118699) 2024-06-03 21:25:40 +02:00
Paul Bottein
7b43b587a7 Bump python-roborock to 2.2.2 (#118697) 2024-06-03 21:25:37 +02:00
Matrix
7e71975358 Fixing device model compatibility issues. (#118686) 2024-06-03 21:25:34 +02:00
J. Nick Koston
e0232510d7 Revert "Add websocket API to get list of recorded entities (#92640)" (#118644)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-06-03 21:21:45 +02:00
Paulus Schoutsen
84f9bb1d63 Automatically fill in slots based on LLM context (#118619)
* Automatically fill in slots from LLM context

* Add tests

* Apply suggestions from code review

Co-authored-by: Allen Porter <allen@thebends.org>

---------

Co-authored-by: Allen Porter <allen@thebends.org>
2024-06-03 21:21:41 +02:00
David Knowles
b436fe94ae Bump pydrawise to 2024.6.2 (#118608) 2024-06-03 21:21:38 +02:00
epenet
aff5da5762 Address late review comment in samsungtv (#118539)
Address late comment in samsungtv
2024-06-03 21:21:29 +02:00
Joost Lekkerkerker
2a92f78453 Require firmware version 3.1.1 for airgradient (#118744) 2024-06-03 21:08:28 +02:00
Jan Bouwhuis
dd1dd4c6a3 Migrate Intergas InComfort/Intouch Lan2RF gateway YAML to config flow (#118642)
* Add config flow

* Make sure the device is polled - refactor

* Fix

* Add tests config flow

* Update test requirements

* Ensure dispatcher has a unique signal per heater

* Followup on review

* Follow up comments

* One more docstr

* Make specific try blocks and refactoring

* Handle import exceptions

* Restore removed lines

* Move initial heater update in try block

* Raise issue failed import

* Update test codeowners

* Remove entity device info

* Remove entity device info

* Appy suggestions from code review

* Remove broad exception handling from entry setup

* Test coverage
2024-06-03 20:37:48 +02:00
Michael Hansen
aac31059b0 Resolve areas/floors to ids in intent_script (#118734) 2024-06-03 20:29:26 +02:00
J. Nick Koston
588380392d Small speed up to read-only database sessions (#118674) 2024-06-03 19:50:05 +02:00
tronikos
f9dff1632e Use ISO format when passing date to LLMs (#118705) 2024-06-03 19:48:50 +02:00
Richard Kroegel
60bcd27a47 Use snapshot_platform helper for BMW tests (#118735)
* Use snapshot_platform helper

* Remove comments

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-03 19:46:04 +02:00
Paulus Schoutsen
3cc13d454f Remove dispatcher from Tag entity (#118671)
* Remove dispatcher from Tag entity

* type

* Don't use  helper

* Del is faster than pop

* Use id in update

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-06-03 20:39:40 +03:00
David Knowles
ebe4888c21 Bump pydrawise to 2024.6.2 (#118608) 2024-06-03 19:29:20 +02:00
Bram Kragten
049cac3443 Update frontend to 20240603.0 (#118736) 2024-06-03 19:25:01 +02:00
Joost Lekkerkerker
16485af7fc Configure device in airgradient config flow (#118699) 2024-06-03 19:23:07 +02:00
Diogo Gomes
91ca7db02f Address reviews comments in #117147 (#118714) 2024-06-03 19:22:00 +02:00
mkmer
ca1ed6f610 Remove unintended translation key from blink (#118712) 2024-06-03 19:13:18 +02:00
J. Nick Koston
9cb113e5d4 Convert mqtt to use a timer instead of task sleep loop (#118666) 2024-06-03 11:19:19 -05:00
J. Nick Koston
099ad77078 Migrate recorder instance to use HassKey (#118673) 2024-06-03 11:19:00 -05:00
epenet
5d594a509c Add type hints for MockAgent in conversation tests (#118701) 2024-06-03 17:44:13 +02:00
epenet
f178467b0e Add type hints for TTS test fixtures (#118704) 2024-06-03 17:43:18 +02:00
Jan-Philipp Benecke
32d4431f9b Rename Discovergy to inexogy (#118724) 2024-06-03 17:30:17 +02:00
Diogo Gomes
827dfec311 Bump pytrydan to 0.7.0 (#118726) 2024-06-03 17:27:06 +02:00
epenet
dd90fb15e1 Fix incorrect type hint in dremel_3d_printer tests (#118709) 2024-06-03 17:16:48 +02:00
Erik Montnemery
99e02fe2b2 Remove tag_id from tag store (#118713) 2024-06-03 17:15:57 +02:00
Erik Montnemery
01b4589ef6 Tweak light service schema (#118720) 2024-06-03 17:13:48 +02:00
Paulus Schoutsen
bdcfd93129 Automatically fill in slots based on LLM context (#118619)
* Automatically fill in slots from LLM context

* Add tests

* Apply suggestions from code review

Co-authored-by: Allen Porter <allen@thebends.org>

---------

Co-authored-by: Allen Porter <allen@thebends.org>
2024-06-03 10:36:41 -04:00
RJPoelstra
8a68529dd1 Bump python-MotionMount to 2.0.0 (#118719) 2024-06-03 16:27:42 +02:00
Matrix
595c9a2e01 Fixing device model compatibility issues. (#118686) 2024-06-03 15:56:42 +02:00
epenet
771ed33b14 Bump renault-api to 0.2.3 (#118718) 2024-06-03 15:53:23 +02:00
Joost Lekkerkerker
c32eb97ac0 Disable both option in Airgradient select (#118702) 2024-06-03 15:49:51 +02:00
Paul Bottein
6d02453c8a Bump python-roborock to 2.2.2 (#118697) 2024-06-03 15:39:50 +02:00
starkillerOG
26ab4ad918 Add HDR type attribute to Kodi (#109603)
Co-authored-by: Andriy Kushnir <me@orhideous.name>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-06-03 14:37:36 +02:00
Jake Martin
a3b60cb054 Add Monzo config reauth (#117726)
* Add reauth config flow

* Trigger reauth on Monzo AuthorisaionExpiredError

* Add missing abort strings

* Use FlowResultType enum

* One extra == swapped for is

* Use helper in reauth

* Patch correct function in reauth test

* Remove unecessary **

* Swap patch and calls check for access token checks

* Do reauth trigger test without patch

* Remove unnecessary str() on user_id - always str anyway

* Update tests/components/monzo/test_config_flow.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-06-03 13:18:15 +02:00
Richard Kroegel
ef7c7f1c05 Refactor fixture calling for BMW tests (#118708)
* Refactor BMW tests to use pytest.mark.usefixtures

* Fix freeze_time

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-03 13:16:12 +02:00
Erik Montnemery
765114bead Don't store tag_id in tag storage (#118707) 2024-06-03 13:11:00 +02:00
Mick Vleeshouwer
87a1b8e83c Bump pyoverkiz to 1.13.11 (#118703) 2024-06-03 11:43:40 +02:00
David Bonnes
185ce8221b Update the codeowners of the incomfort integration (#118706) 2024-06-03 11:29:54 +02:00
Åke Strandberg
855ba68b62 Allow removal of myuplink device from GUI (#117009)
* Allow removal of device from GUI

* Check that device is orphaned before removing
2024-06-03 10:59:42 +02:00
Jan Bouwhuis
1b87a2dd73 Update codeowners incomfort integration (#118700) 2024-06-03 10:38:24 +02:00
Erik Montnemery
35dcda29b9 Use ULID instead of UUID for config entry id and flow ID (#118677) 2024-06-03 10:34:09 +02:00
epenet
6cf7889c38 Add type hints for requests_mock.Mocker in test fixtures (#118678) 2024-06-03 10:30:08 +02:00
epenet
9be972b13e Add type hints for list[Device] in test fixtures (#118681) 2024-06-03 10:21:24 +02:00
epenet
f39dd40be1 Add type hints for hass_storage in test fixtures (#118682) 2024-06-03 10:20:57 +02:00
epenet
fdec1b0b16 Add type hints for ClientSessionGenerator in test fixtures (#118689) 2024-06-03 10:19:49 +02:00
epenet
77c627e6f3 Fix incorrect blueprint type hints in tests (#118694) 2024-06-03 10:19:13 +02:00
epenet
d5eebb202b Remove unused fixture from elmax tests (#118684) 2024-06-03 10:18:36 +02:00
epenet
8772a59f5c Add type hints for Recorder in test fixtures (#118685) 2024-06-03 10:17:51 +02:00
epenet
666fc2333a Add type hints for AiohttpClientMocker in test fixtures (#118691) 2024-06-03 10:13:22 +02:00
epenet
c93d42d59b Add type hints for FrozenDateTimeFactory in test fixtures (#118690) 2024-06-03 10:12:58 +02:00
J. Nick Koston
134088e1f6 Revert "Add websocket API to get list of recorded entities (#92640)" (#118644)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-06-03 10:11:24 +02:00
epenet
891f9c9578 Add error message to device registry helper (#118676) 2024-06-03 09:58:02 +02:00
dependabot[bot]
a87b422d3e Bump github/codeql-action from 3.25.6 to 3.25.7 (#118680)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 09:52:04 +02:00
epenet
1db7c7946e Add type hints for MqttMockHAClient in test fixtures (#118683) 2024-06-03 09:29:15 +02:00
epenet
9a5706fa30 Add type hints for pytest.LogCaptureFixture in test fixtures (#118687) 2024-06-03 09:28:54 +02:00
Jan Bouwhuis
bb259b607f Refactor incomfort platform attributes (#118667)
* Refector incomfort platform attributes

* Initialize static entity properties as class level
2024-06-03 08:32:05 +02:00
Richard Kroegel
7c5a6602b3 Set lock state to unkown on BMW API error (#118559)
* Revert to previous lock state on BMW API error

* Set lock state to unkown on error and force refresh from API

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-06-03 07:48:48 +02:00
Marlon
c23ec96174 Add BaseEntity for apsystems integration (#117514)
* Add BaseEntity for apsystems integration

* Exclude entity.py from apsystems from coverage

* Remove api from BaseEntity from apsystems as it is not yet used

* Split BaseEntity and BaseCoordinatorEntity in apsystems integration

* Clean up of asserting unique_id everywhere in apsystems integration

* Remove BaseCoordinatorEntity from apsystems

* Remove double type declaration originating from merge in apsystems
2024-06-03 07:28:13 +02:00
Thomas55555
78e5f9578c Clean up Husqvarna Automower number platform (#118641)
Address late review and remove unneeded loop in Husqvarna Automower
2024-06-03 05:13:02 +02:00
Paulus Schoutsen
b5783e6f5c Bump version to 2024.6.0b5 2024-06-03 01:10:10 +00:00
G Johansson
1708b60ecf Fix entity state dispatching for Tag entities (#118662) 2024-06-03 01:10:06 +00:00
puddly
3c012c497b Bump ZHA dependencies (#118658)
* Bump bellows to 0.39.0

* Do not create a backup if there is no active ZHA gateway object

* Bump universal-silabs-flasher as well
2024-06-03 01:10:05 +00:00
Joost Lekkerkerker
4d2dc9a40e Fix incorrect placeholder in SharkIQ (#118640)
Update strings.json
2024-06-03 01:10:05 +00:00
Jan Bouwhuis
3653a51288 Fix handling undecoded mqtt sensor payloads (#118633) 2024-06-03 01:10:04 +00:00
J. Nick Koston
9366a4e69b Include a traceback for non-strict event loop blocking detection (#118620) 2024-06-03 01:10:03 +00:00
Luca Angemi
1d1af7ec11 Fix telegram bot send_document (#118616) 2024-06-03 01:10:02 +00:00
tronikos
236b19c5b3 Use gemini-1.5-flash-latest in google_generative_ai_conversation.generate_content (#118594) 2024-06-03 01:10:02 +00:00
tronikos
1afbfd687f Strip Google AI text responses (#118593)
* Strip Google AI test responses

* strip each part
2024-06-03 01:10:01 +00:00
Paulus Schoutsen
20159d0277 Add base prompt for LLMs (#118592) 2024-06-03 01:10:00 +00:00
tronikos
4df3d43e45 Stop instructing LLM to not pass the domain as a list (#118590) 2024-06-03 01:10:00 +00:00
Michael
1a588760b9 Avoid future exception during setup of Synology DSM (#118583)
* avoid future exception during integration setup

* clear future flag during setup

* always clear the flag (with comment)
2024-06-03 01:09:58 +00:00
Jan-Philipp Benecke
6ba9e7d5fd Run ruff format for device registry (#118582) 2024-06-03 01:09:58 +00:00
epenet
4b06c5d2fb Update device connections in samsungtv (#118556) 2024-06-03 01:09:57 +00:00
Adam Pasztor
bfc1c62a49 Bump pyads to 3.4.0 (#116934)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-03 01:09:57 +00:00
Thomas Ytterdal
c52fabcf77 Ignore myuplink sensors without a description that provide non-numeric values (#115525)
Ignore sensors without a description that provide non-numeric values

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2024-06-03 01:09:56 +00:00
G Johansson
6a8a975fae Remove config flow import from fastdotcom (#118665) 2024-06-02 21:04:35 -04:00
G Johansson
dd1d21c77a Fix entity state dispatching for Tag entities (#118662) 2024-06-02 20:41:16 -04:00
puddly
746939c8cd Bump ZHA dependencies (#118658)
* Bump bellows to 0.39.0

* Do not create a backup if there is no active ZHA gateway object

* Bump universal-silabs-flasher as well
2024-06-02 16:55:48 -04:00
Jan Bouwhuis
375f48142c Fix handling undecoded mqtt sensor payloads (#118633) 2024-06-02 21:25:05 +02:00
Maciej Bieniek
afc29fdbe7 Add support for the DS18B20 temperature sensor to Nettigo Air Monitor integration (#118601)
Add support for DS18B20 temperature sensor

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-02 20:55:36 +02:00
Joost Lekkerkerker
51394cefba Fix incorrect placeholder in SharkIQ (#118640)
Update strings.json
2024-06-02 20:15:35 +02:00
J. Nick Koston
51ed4f89ec Use more efficient chunked_or_all for recorder table managers (#118646) 2024-06-02 13:04:53 -05:00
Adam Pasztor
54a1a4ab41 Bump pyads to 3.4.0 (#116934)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-02 15:41:44 +02:00
epenet
37fc16d7b6 Fix incorrect patch type hint in main conftest (#118461) 2024-06-02 15:34:30 +02:00
Marc Mueller
dbb27755a4 Update mypy-dev to 1.11.0a5 (#118519) 2024-06-02 15:28:24 +02:00
J. Nick Koston
8f94205014 Include a traceback for non-strict event loop blocking detection (#118620) 2024-06-02 06:36:25 -04:00
epenet
e976db8443 Address late review comment in samsungtv (#118539)
Address late comment in samsungtv
2024-06-02 10:42:42 +02:00
Luca Angemi
d67ed42edc Fix telegram bot send_document (#118616) 2024-06-02 01:32:24 -05:00
Michael
46eb779c5c Avoid future exception during setup of Synology DSM (#118583)
* avoid future exception during integration setup

* clear future flag during setup

* always clear the flag (with comment)
2024-06-01 23:51:17 +02:00
Marc Mueller
e485a0c6f2 Update typing-extensions to 4.12.1 (#118615) 2024-06-01 22:26:23 +02:00
Alexandre CUER
1f922798d8 Add new codeowner for emoncms integration (#118609)
adding new codeowner
2024-06-01 21:14:18 +02:00
Sid
daadc4662a Bump ruff to 0.4.7 (#118612) 2024-06-01 20:04:04 +02:00
Maciej Bieniek
649d6ec11a Bump nettigo_air_monitor library to version 3.2.0 (#118600)
* Bump nam to version 3.2.0

* Update test snapshot

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-06-01 18:10:45 +02:00
Dave T
b69789d056 Don't prompt user to verify still image if none was provided in generic camera (#118599)
Skip user prompt for preview image if only stream
2024-06-01 10:30:32 -04:00
Thomas Ytterdal
ca89d22a34 Ignore myuplink sensors without a description that provide non-numeric values (#115525)
Ignore sensors without a description that provide non-numeric values

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2024-06-01 11:27:03 +02:00
epenet
6115dffd80 Cleanup pylint ignore in melnor tests (#118564) 2024-06-01 08:03:32 +02:00
Joost Lekkerkerker
51933b0f47 Improve typing in Zabbix (#118545) 2024-06-01 07:40:26 +02:00
tronikos
a4612143e6 Use gemini-1.5-flash-latest in google_generative_ai_conversation.generate_content (#118594) 2024-05-31 21:57:14 -07:00
tronikos
7af469f81e Strip Google AI text responses (#118593)
* Strip Google AI test responses

* strip each part
2024-05-31 21:55:52 -07:00
Paulus Schoutsen
f3b20d30ae Add base prompt for LLMs (#118592) 2024-06-01 00:21:37 -04:00
tronikos
dfb407728f Stop instructing LLM to not pass the domain as a list (#118590) 2024-05-31 20:21:18 -04:00
Robert Svensson
3232fd0eaf Improve UniFi config flow tests (#118587)
* Use proper fixtures in config flow tests

* Improve rest of config flow tests

* Small improvement

* Rename fixtures
2024-06-01 00:27:53 +02:00
epenet
738935a73a Update device connections in samsungtv (#118556) 2024-05-31 16:07:51 -05:00
Jan-Philipp Benecke
32b51b8792 Run ruff format for device registry (#118582) 2024-05-31 22:22:48 +02:00
Joost Lekkerkerker
f6800e6968 Improve typing in Zengge (#118547) 2024-05-31 21:35:42 +02:00
Paulus Schoutsen
b39d7b39e1 Bump version to 2024.6.0b4 2024-05-31 19:34:58 +00:00
Paulus Schoutsen
c01c155037 Fix openAI tool calls (#118577) 2024-05-31 19:34:38 +00:00
epenet
b459559c8b Add ability to replace connections in DeviceRegistry (#118555)
* Add ability to replace connections in DeviceRegistry

* Add more tests

* Improve coverage

* Apply suggestion

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-31 19:34:38 +00:00
Maciej Bieniek
d823e56659 In Brother integration use SnmpEngine from SNMP integration (#118554)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-31 19:34:37 +00:00
Michael Chisholm
e401a0da7f Fix KeyError in dlna_dmr SSDP config flow when checking existing config entries (#118549)
Fix KeyError checking existing dlna_dmr config entries
2024-05-31 19:34:36 +00:00
Tsvi Mostovicz
3f6df28ef3 Fix YAML deprecation breaking version in jewish calendar and media extractor (#118546)
* Fix YAML deprecation breaking version

* Update

* fix media extractor deprecation as well

* Add issue_domain
2024-05-31 19:34:35 +00:00
Joost Lekkerkerker
9b63779063 Fix typo in OWM strings (#118538)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-05-31 19:34:35 +00:00
Josef Zweck
4998fe5e6d Migrate openai_conversation to entry.runtime_data (#118535)
* switch to entry.runtime_data

* check for missing config entry

* Update homeassistant/components/openai_conversation/__init__.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-31 19:34:34 +00:00
Brett Adams
a59c890779 Fix off_grid_vehicle_charging_reserve_percent in Teselemetry (#118532) 2024-05-31 19:34:34 +00:00
Luca Angemi
a2cdb349f4 Fix telegram doing blocking I/O in the event loop (#118531) 2024-05-31 19:34:33 +00:00
J. Nick Koston
267228cae0 Fix openweathermap config entry migration (#118526)
* Fix openweathermap config entry migration

The options keys were accidentally migrated to data so
they could no longer be changed in the options flow

* more fixes

* adjust

* reduce

* fix

* adjust
2024-05-31 19:34:32 +00:00
J. Nick Koston
ba769f4d9f Fix snmp doing blocking I/O in the event loop (#118521) 2024-05-31 19:34:31 +00:00
Denis Shulyaka
c09bc726d1 Add OpenAI Conversation system prompt user_name and llm_context variables (#118512)
* OpenAI Conversation: Add variables to the system prompt

* User name and llm_context

* test for user name

* test for user id

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-31 19:34:31 +00:00
Josef Zweck
c441f689bf Add typing for OpenAI client and fallout (#118514)
* typing for client and consequences

* Update homeassistant/components/openai_conversation/conversation.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-31 19:34:07 +00:00
Denis Shulyaka
395e1ae31e Add Google Generative AI Conversation system prompt user_name and llm_context variables (#118510)
* Google Generative AI Conversation: Add variables to the system prompt

* User name and llm_context

* test for template variables

* test for template variables

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-31 19:32:47 +00:00
Bas Brussee
2e45d678b8 Revert "Fix Tibber sensors state class" (#118409)
Revert "Fix Tibber sensors state class (#117085)"

This reverts commit 658c1f3d97.
2024-05-31 19:32:46 +00:00
Paulus Schoutsen
17cb25a5b6 Rename llm.ToolContext to llm.LLMContext (#118566) 2024-05-31 19:32:07 +00:00
epenet
41e852a01b Add ability to replace connections in DeviceRegistry (#118555)
* Add ability to replace connections in DeviceRegistry

* Add more tests

* Improve coverage

* Apply suggestion

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-31 15:31:44 -04:00
Denis Shulyaka
bae96e7d36 Add Google Generative AI Conversation system prompt user_name and llm_context variables (#118510)
* Google Generative AI Conversation: Add variables to the system prompt

* User name and llm_context

* test for template variables

* test for template variables

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-31 15:28:44 -04:00
Denis Shulyaka
46da43d09d Add OpenAI Conversation system prompt user_name and llm_context variables (#118512)
* OpenAI Conversation: Add variables to the system prompt

* User name and llm_context

* test for user name

* test for user id

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-31 15:28:23 -04:00
Paulus Schoutsen
80e9ff672a Fix openAI tool calls (#118577) 2024-05-31 19:28:52 +02:00
starkillerOG
51d8f83a54 Add state translation to Reolink AI detections (#118560) 2024-05-31 17:55:59 +02:00
Josef Zweck
d956db691a Migrate openai_conversation to entry.runtime_data (#118535)
* switch to entry.runtime_data

* check for missing config entry

* Update homeassistant/components/openai_conversation/__init__.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-31 11:16:39 -04:00
J. Nick Koston
ade0f94a20 Remove duplicate getattr call in entity wrap_attr (#118558) 2024-05-31 11:11:46 -04:00
Paulus Schoutsen
6dd01dbff7 Rename llm.ToolContext to llm.LLMContext (#118566) 2024-05-31 11:11:24 -04:00
J. Nick Koston
6656f7d6b9 Log directory blocking I/O functions that run in the event loop (#118529)
* Log directory I/O functions that run in the event loop

* tests
2024-05-31 11:09:19 -04:00
J. Nick Koston
1fef4fa1f6 Prevent time.sleep calls from blocking the event loop (#118561)
* Prevent time.sleep calls from blocking the event loop

We have been warning on these since Jan 2022. 2+ years seems more than enough
time to give to fix these. see https://github.com/home-assistant/core/pull/63766

* Prevent time.sleep calls from blocking the event loop

We have been warning on these since Jan 2022. 2+ years seems more than enough
time to give to fix these. see https://github.com/home-assistant/core/pull/63766
2024-05-31 11:08:22 -04:00
Michael Chisholm
15f726da50 Fix KeyError in dlna_dmr SSDP config flow when checking existing config entries (#118549)
Fix KeyError checking existing dlna_dmr config entries
2024-05-31 10:52:19 -04:00
J. Nick Koston
d67f14ac0b Fix openweathermap config entry migration (#118526)
* Fix openweathermap config entry migration

The options keys were accidentally migrated to data so
they could no longer be changed in the options flow

* more fixes

* adjust

* reduce

* fix

* adjust
2024-05-31 10:51:38 -04:00
Bas Brussee
bff2d3e2ee Revert "Fix Tibber sensors state class" (#118409)
Revert "Fix Tibber sensors state class (#117085)"

This reverts commit 658c1f3d97.
2024-05-31 10:50:22 -04:00
osohotwateriot
cf3e758aa1 Move OSO Energy base entity class to separate module (#118563)
Move base entity class to separate file
2024-05-31 16:13:20 +02:00
Maciej Bieniek
8f5ddd5bcc Bump brother backend library to version 4.2.0 (#118557)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-31 09:00:33 -05:00
Brett Adams
929568c3b5 Fix off_grid_vehicle_charging_reserve_percent in Teselemetry (#118532) 2024-05-31 07:54:40 -05:00
Maciej Bieniek
c85743822a In Brother integration use SnmpEngine from SNMP integration (#118554)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-31 07:52:43 -05:00
Luca Angemi
5ed9d58a7b Fix telegram doing blocking I/O in the event loop (#118531) 2024-05-31 07:45:52 -05:00
J. Nick Koston
76391d71d6 Fix snmp doing blocking I/O in the event loop (#118521) 2024-05-31 07:44:28 -05:00
Joost Lekkerkerker
a23b5e97e6 Fix typo in OWM strings (#118538)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-05-31 07:11:59 -05:00
epenet
0974ea9a5a Adjust "hass" type hint for test fixtures in pylint plugin (#118548)
Adjust "hass" type hint in pylint plugin
2024-05-31 13:06:49 +02:00
epenet
7e1f4cd3fb Check fixtures for type hints in pylint plugin (#118313)
* Check fixtures for type hints in pylint plugin

* Apply suggestion
2024-05-31 12:42:42 +02:00
Tsvi Mostovicz
9fc51891ca Fix YAML deprecation breaking version in jewish calendar and media extractor (#118546)
* Fix YAML deprecation breaking version

* Update

* fix media extractor deprecation as well

* Add issue_domain
2024-05-31 12:35:40 +02:00
epenet
ec4545ce4a Small performance improvement to pylint plugin (#118475)
* Small improvement to pylint plugin

* Adjust

* Improve

* Rename variable and drop used argument
2024-05-31 12:03:29 +02:00
Alexandre CUER
8a3b49434e Code quality improvements in emoncms integration (#118468)
* type hints
remove unused var interval

* corrections as suggested by epenet

* reintroducing property extra_state_attributes
so that the extra parameters update correctly
2024-05-31 11:50:18 +02:00
epenet
7804076064 Drop single-use constant from pylint plugin (#118540)
* Drop single-use constant from pylint plugin

* Typo
2024-05-31 11:18:55 +02:00
David Bonnes
85d979847c Move evohome helper functions to separate module (#118497)
initial commit
2024-05-31 10:22:15 +02:00
Maciej Bieniek
cdcf091c9c Pass the message as an exception argument in Tractive integration (#118534)
Pass the message as an exception argument

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-31 09:11:52 +02:00
Markus Jacobsen
cb502263fd Bang & Olufsen fix straggler from previous PR (#118488)
* Fix callback straggler from previous PR

* Update homeassistant/components/bang_olufsen/media_player.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-30 22:23:43 -04:00
Paulus Schoutsen
e5e26de06f Bump version to 2024.6.0b3 2024-05-31 02:20:10 +00:00
tronikos
7dab255c15 Fix unnecessary single quotes escaping in Google AI (#118522) 2024-05-31 02:19:58 +00:00
tronikos
cea7347ed9 Improve LLM prompt (#118520) 2024-05-31 02:19:56 +00:00
tronikos
f4a876c590 Fix LLMs asking which area when there is only one device (#118518)
* Ignore deprecated open and close cover intents for LLMs

* Fix LLMs asking which area when there is only one device

* remove unrelated changed

* remove unrelated changes
2024-05-31 02:19:55 +00:00
tronikos
117a02972d Ignore deprecated open and close cover intents for LLMs (#118515) 2024-05-31 02:19:54 +00:00
G Johansson
3fb40deacb Fix key issue in config entry options in Openweathermap (#118506) 2024-05-31 02:19:54 +00:00
G Johansson
38c88c576b Fix tado non-string unique id for device trackers (#118505)
* Fix tado none string unique id for device trackers

* Add comment

* Fix comment
2024-05-31 02:19:53 +00:00
Paulus Schoutsen
e95b63bc89 Intent script: allow setting description and platforms (#118500)
* Add description to intent_script

* Allow setting platforms
2024-05-31 02:19:51 +00:00
Jan Bouwhuis
ea44b534e6 Fix group platform dependencies (#118499) 2024-05-31 02:19:50 +00:00
G Johansson
7646d853f4 Remove not needed hass object from Tag (#118498) 2024-05-31 02:19:49 +00:00
G Johansson
248c7c33b2 Fix blocking call in holiday (#118496) 2024-05-31 02:19:48 +00:00
Paulus Schoutsen
eb887a707c Ignore the toggle intent (#118491) 2024-05-31 02:19:46 +00:00
David Bonnes
e3ddbb2768 Fix evohome so it doesn't retrieve schedules unnecessarily (#118478) 2024-05-31 02:19:45 +00:00
Jan-Philipp Benecke
008aec5670 Log aiohttp error in rest_command (#118453) 2024-05-31 02:19:45 +00:00
Tsvi Mostovicz
d93d7159db Fix Jewish calendar unique id's (#117985)
* Initial commit

* Fix updating of unique id

* Add testing to check the unique id is being updated correctly

* Reload the config entry and confirm the unique id has not been changed

* Move updating unique_id to __init__.py as suggested

* Change the config_entry variable's name back from config to config_entry

* Move the loop into the update_unique_ids method

* Move test from test_config_flow to test_init

* Try an early optimization to check if we need to update the unique ids

* Mention the correct version

* Implement suggestions

* Ensure all entities are migrated correctly

* Just to be sure keep the previous assertion as well
2024-05-31 02:19:44 +00:00
Diogo Gomes
e6e017dab7 Add support for V2C Trydan 2.1.7 (#117147)
* Support for firmware 2.1.7

* add device ID as unique_id

* add device ID as unique_id

* add test device id as unique_id

* backward compatibility

* move outside try

* Sensor return type

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

* not needed

* make slave error enum state

* fix enum

* Update homeassistant/components/v2c/sensor.py

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

* Update homeassistant/components/v2c/strings.json

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

* Update homeassistant/components/v2c/strings.json

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

* simplify tests

* fix misspellings from upstream library

* add sensor tests

* just enough coverage for enum sensor

* Refactor V2C tests (#117264)

* Refactor V2C tests

* fix rebase issues

* ruff

* review

* fix https://github.com/home-assistant/core/issues/117296

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-31 02:19:43 +00:00
dontinelli
486c72db73 Adjustment of unit of measurement for light (#116695) 2024-05-31 02:19:42 +00:00
Jan-Philipp Benecke
2b4e9212bc Log aiohttp error in rest_command (#118453) 2024-05-30 22:17:44 -04:00
epenet
83e77720e9 Improve type hints for mock_bluetooth/enable_bluetooth (#118484) 2024-05-30 22:16:45 -04:00
tronikos
2b7685b71d Add Google Assistant SDK diagnostics (#118513) 2024-05-30 22:13:54 -04:00
Josef Zweck
eae04bf2e9 Add typing for OpenAI client and fallout (#118514)
* typing for client and consequences

* Update homeassistant/components/openai_conversation/conversation.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-30 22:13:18 -04:00
tronikos
2bd142d3a6 Improve LLM prompt (#118520) 2024-05-30 22:03:57 -04:00
tronikos
272c51fb38 Fix unnecessary single quotes escaping in Google AI (#118522) 2024-05-30 19:56:06 -04:00
tronikos
0d6c7d0973 Fix LLMs asking which area when there is only one device (#118518)
* Ignore deprecated open and close cover intents for LLMs

* Fix LLMs asking which area when there is only one device

* remove unrelated changed

* remove unrelated changes
2024-05-30 17:14:11 -04:00
G Johansson
b5ec24ef63 Fix key issue in config entry options in Openweathermap (#118506) 2024-05-30 16:35:36 -04:00
G Johansson
5c6753f4c0 Fix tado non-string unique id for device trackers (#118505)
* Fix tado none string unique id for device trackers

* Add comment

* Fix comment
2024-05-30 16:31:02 -04:00
Mr. Bubbles
2b016d29c9 Fix typing and streamline code in One-Time Password integration (#118511)
* Fix some issues

* some changes
2024-05-30 22:29:28 +02:00
tronikos
6d82cfa91a Ignore deprecated open and close cover intents for LLMs (#118515) 2024-05-30 16:29:13 -04:00
epenet
a5dc4cb1c7 Fix incorrect zeroconf type hint in tests (#118465)
* Fix incorrect `mock_async_zeroconf` type hint

* Adjust thread

* One more

* Fix mock_zeroconf also

* Adjust

* Adjust
2024-05-30 21:57:09 +02:00
Matthias Alphart
1352c4e427 Increase test coverage for KNX Climate (#117903)
* Increase test coverage fro KNX Climate

* fix test type annotation
2024-05-30 21:42:11 +02:00
Diogo Gomes
822273a6a3 Add support for V2C Trydan 2.1.7 (#117147)
* Support for firmware 2.1.7

* add device ID as unique_id

* add device ID as unique_id

* add test device id as unique_id

* backward compatibility

* move outside try

* Sensor return type

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

* not needed

* make slave error enum state

* fix enum

* Update homeassistant/components/v2c/sensor.py

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

* Update homeassistant/components/v2c/strings.json

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

* Update homeassistant/components/v2c/strings.json

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

* simplify tests

* fix misspellings from upstream library

* add sensor tests

* just enough coverage for enum sensor

* Refactor V2C tests (#117264)

* Refactor V2C tests

* fix rebase issues

* ruff

* review

* fix https://github.com/home-assistant/core/issues/117296

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-30 20:42:48 +02:00
Ron Weikamp
43c69c71c2 Add time based integration trigger to Riemann sum integral helper sensor (#110685)
* Schedule max dt for Riemann Integral sensor

* Simplify validation. Dont integrate on change if either old or new state is not numeric.

* Add validation to integration methods. Rollback requirement for both states to be always numeric.

* Use 0 max_dt for disabling time based updates.

* Use docstring instead of pass keyword in abstract methods.

* Use time_period config validation for max_dt

* Use new_state for scheduling max_dt. Only schedule if new state is numeric.

* Use default 0 (None) for max_dt.

* Rename max_dt to max_age.

* Rollback accidental renaming of different file

* Remove unnecessary and nonsensical max value.

* Improve new config description

* Use DurationSelector in config flow

* Rename new config to max_sub_interval

* Simplify by checking once for the integration strategy

* Use positive time period validation of sub interval in platform schema

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

* Remove return keyword

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

* Simplify scheduling of interval exceeded callback

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

* Improve documentation

* Be more clear about when time based integration is disabled.

* Update homeassistant/components/integration/config_flow.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-30 20:40:23 +02:00
G Johansson
4d27dd0fb0 Remove not needed hass object from Tag (#118498) 2024-05-30 19:24:34 +02:00
David Bonnes
a3fcd6b32f Fix evohome so it doesn't retrieve schedules unnecessarily (#118478) 2024-05-30 19:23:58 +02:00
dontinelli
f1465baada Adjustment of unit of measurement for light (#116695) 2024-05-30 19:18:48 +02:00
Jan Bouwhuis
796d940f2f Fix group platform dependencies (#118499) 2024-05-30 19:14:54 +02:00
G Johansson
34df767762 Fix blocking call in holiday (#118496) 2024-05-30 19:11:19 +02:00
Paulus Schoutsen
80588d9c67 Ignore the toggle intent (#118491) 2024-05-30 12:53:50 -04:00
Paulus Schoutsen
ae3741c364 Intent script: allow setting description and platforms (#118500)
* Add description to intent_script

* Allow setting platforms
2024-05-30 12:53:42 -04:00
Tsvi Mostovicz
12215c51b3 Fix Jewish calendar unique id's (#117985)
* Initial commit

* Fix updating of unique id

* Add testing to check the unique id is being updated correctly

* Reload the config entry and confirm the unique id has not been changed

* Move updating unique_id to __init__.py as suggested

* Change the config_entry variable's name back from config to config_entry

* Move the loop into the update_unique_ids method

* Move test from test_config_flow to test_init

* Try an early optimization to check if we need to update the unique ids

* Mention the correct version

* Implement suggestions

* Ensure all entities are migrated correctly

* Just to be sure keep the previous assertion as well
2024-05-30 18:27:15 +02:00
Ron Weikamp
2814ed5003 Add allow_negative configuration option to DurationSelector (#116134)
* Add configuration option positive to DurationSelector

* Rename to allow_negative in conjunction with a deprecation notice

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-30 17:42:34 +02:00
Franck Nijhof
4beb184faf Bump version to 2024.6.0b2 2024-05-30 17:02:58 +02:00
Bram Kragten
4951b60b1d Update frontend to 20240530.0 (#118489) 2024-05-30 17:02:37 +02:00
Marcel van der Veldt
9095941b62 Mark Matter climate dry/fan mode support on Panasonic AC (#118485) 2024-05-30 17:02:32 +02:00
Marcel van der Veldt
e906812fbd Extend Matter sensor discovery schemas for Air Purifier / Air Quality devices (#118483)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-05-30 17:02:26 +02:00
Robert Resch
522152e7d2 Set enity_category to config for airgradient select entities (#118477) 2024-05-30 17:02:21 +02:00
lunmay
50acc26812 Typo fix in media_extractor (#118473) 2024-05-30 17:02:16 +02:00
Maciej Bieniek
356374cdc3 Raise ConfigEntryNotReady when there is no _id in the Tractive data (#118467)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-30 17:02:11 +02:00
Robert Resch
98d905562e Bump deebot-client to 7.3.0 (#118462) 2024-05-30 17:02:05 +02:00
tronikos
48342837c0 Instruct LLM to not pass a list to the domain (#118451) 2024-05-30 17:02:00 +02:00
tronikos
3e0d9516a9 Improve LLM prompt (#118443)
* Improve LLM prompt

* test

* improvements

* improvements
2024-05-30 17:01:55 +02:00
Alexey Guseynov
c6c36718b9 Add Total Volatile Organic Compounds (tVOC) matter discovery schema (#116963) 2024-05-30 17:01:49 +02:00
Marcel van der Veldt
a95c074ab8 Extend Matter sensor discovery schemas for Air Purifier / Air Quality devices (#118483)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-05-30 16:59:45 +02:00
Bram Kragten
56e4fa86b0 Update frontend to 20240530.0 (#118489) 2024-05-30 16:55:49 +02:00
Marcel van der Veldt
2ca4077608 Mark Matter climate dry/fan mode support on Panasonic AC (#118485) 2024-05-30 16:39:04 +02:00
Oleg Kurapov
2cc38b426a Add XML support to RESTful binary sensor (#110062)
* Add XML support to RESTful binary sensor

* Add test for binary sensor with XML input data

* Address mypy validation results by handling None returns

* Use proper incorrect XML instead of blank

* Change failure condition to match the behavior of the library method

* Change error handling for bad XML to expect ExpatError

* Parametrize bad XML test to catch both empty and invalid XML

* Move exception handling out of the shared method

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-30 16:29:50 +02:00
Erik Montnemery
4b95ea864f Fix a typo in hassfest (#118482) 2024-05-30 15:46:08 +02:00
Markus Jacobsen
12f2bcc3a4 Bang & Olufsen sort supported media_player features alphabetically (#118476)
Sort supported media_player features alphabetically
2024-05-30 14:31:38 +02:00
Robert Resch
7f49077ec6 Set enity_category to config for airgradient select entities (#118477) 2024-05-30 14:20:02 +02:00
Tsvi Mostovicz
e3f6d4cfbf Use const instead of literal string in HVV integration (#118479)
Use const instead of literal string
2024-05-30 13:59:38 +02:00
lunmay
c387698c6f Typo fix in media_extractor (#118473) 2024-05-30 13:24:58 +02:00
Maciej Bieniek
cf51179009 Add tests for Tractive integration (#118470)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-30 12:45:11 +02:00
Alexey Guseynov
fc5d58effd Add Total Volatile Organic Compounds (tVOC) matter discovery schema (#116963) 2024-05-30 12:20:02 +02:00
David Bonnes
46aa3ca97c Move evohome constants to separate module (#118471)
* move constants to const.py

* make module docstring tweaks

* move schemas back to init
2024-05-30 11:13:45 +01:00
Robert Resch
ac979e9105 Bump deebot-client to 7.3.0 (#118462) 2024-05-30 11:40:05 +02:00
ashionky
c0ccc86954 Bump refoss to v1.2.1 (#118450) 2024-05-30 11:03:18 +02:00
Maciej Bieniek
9bd1c408bd Raise ConfigEntryNotReady when there is no _id in the Tractive data (#118467)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-30 11:00:36 +02:00
epenet
06251d403a Fix special case in pylint type hint plugin (#118454)
* Fix special case in pylint type hint plugin

* Simplify

* Simplify

* Simplify

* Apply

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-05-30 10:41:32 +02:00
epenet
c6e0e93680 Cleanup mock_get_source_ip from tests (#118459) 2024-05-30 09:37:01 +02:00
epenet
9221eeb2f7 Add check for usefixtures decorator in pylint plugin (#118456) 2024-05-30 08:54:56 +02:00
epenet
baaf16e9b3 Adjust type hint for request_mock.Mocker in pylint plugin (#118458) 2024-05-30 08:53:42 +02:00
epenet
1317837986 Improve type hints in tests (q-z) (#118381) 2024-05-30 08:48:02 +02:00
epenet
242ee04642 Improve type hints in tests (i-p) (#118380) 2024-05-30 08:47:08 +02:00
epenet
092cdcfe91 Improve type hints in tests (a-h) (#118379) 2024-05-30 08:46:18 +02:00
tronikos
4893faa671 Instruct LLM to not pass a list to the domain (#118451) 2024-05-30 08:37:45 +02:00
tronikos
639f6c640c Improve LLM prompt (#118443)
* Improve LLM prompt

* test

* improvements

* improvements
2024-05-29 21:44:33 -04:00
Franck Nijhof
8ee1d8865c Bump version to 2024.6.0b1 2024-05-30 01:19:49 +02:00
J. Nick Koston
5d5210b47d Fix google_mail doing blocking i/o in the event loop (take 2) (#118441) 2024-05-30 01:18:34 +02:00
tronikos
27cc97bbeb Bump opower to 0.4.6 (#118434) 2024-05-30 01:18:31 +02:00
J. Nick Koston
9728103de4 Fix blocking I/O in the event loop in meteo_france (#118429) 2024-05-30 01:18:28 +02:00
Evgeny
ebf9013569 Fix OpenWeatherMap migration (#118428) 2024-05-30 01:18:24 +02:00
J. Nick Koston
b75f3d9681 Fix workday doing blocking I/O in the event loop (#118422) 2024-05-30 01:18:21 +02:00
J. Nick Koston
0d4990799f Fix google_mail doing blocking I/O in the event loop (#118421)
fixes #118411
2024-05-30 01:18:17 +02:00
J. Nick Koston
1e77a59561 Fix google_tasks doing blocking I/O in the event loop (#118418)
fixes #118407
2024-05-30 01:17:37 +02:00
J. Nick Koston
ef79842c2f Fix google_mail doing blocking i/o in the event loop (take 2) (#118441) 2024-05-29 18:55:53 -04:00
J. Nick Koston
7ee2f09fe1 Ensure paho.mqtt.client is imported in the executor (#118412)
fixes #118405
2024-05-30 00:12:34 +02:00
Michael Hansen
23d9b4b17f Handle case where timer device id exists but is not registered (delayed command) (#118410)
Handle case where device id exists but is not registered
2024-05-30 00:12:30 +02:00
Marcel van der Veldt
a580d834da Fix light discovery for Matter dimmable plugin unit (#118404) 2024-05-30 00:12:27 +02:00
Marcel van der Veldt
4fb6e59fdc Add translation strings for Matter Fan presets (#118401) 2024-05-30 00:12:24 +02:00
swcloudgenie
ad3823764a New official genie garage integration (#117020)
* new official genie garage integration

* move api constants into api module

* move scan interval constant to cover.py
2024-05-30 00:12:19 +02:00
tronikos
e50defa7f5 Bump opower to 0.4.6 (#118434) 2024-05-29 11:37:36 -10:00
J. Nick Koston
f957ba09de Fix blocking I/O in the event loop in meteo_france (#118429) 2024-05-29 23:37:24 +02:00
Evgeny
ab9581c617 Fix OpenWeatherMap migration (#118428) 2024-05-29 11:12:24 -10:00
swcloudgenie
a670169325 New official genie garage integration (#117020)
* new official genie garage integration

* move api constants into api module

* move scan interval constant to cover.py
2024-05-29 16:13:28 -04:00
J. Nick Koston
f93a3127f2 Fix workday doing blocking I/O in the event loop (#118422) 2024-05-29 22:07:56 +02:00
J. Nick Koston
1743d1700d Ensure paho.mqtt.client is imported in the executor (#118412)
fixes #118405
2024-05-29 15:55:34 -04:00
J. Nick Koston
5fae2bd7c5 Fix google_tasks doing blocking I/O in the event loop (#118418)
fixes #118407
2024-05-29 15:55:22 -04:00
J. Nick Koston
9e9e1f75f2 Fix google_mail doing blocking I/O in the event loop (#118421)
fixes #118411
2024-05-29 15:55:12 -04:00
Michael Hansen
43ceb1c6c8 Handle case where timer device id exists but is not registered (delayed command) (#118410)
Handle case where device id exists but is not registered
2024-05-29 15:18:46 -04:00
Marcel van der Veldt
a0443ac328 Add translation strings for Matter Fan presets (#118401) 2024-05-29 21:12:47 +02:00
Marcel van der Veldt
8cc15e82df Fix light discovery for Matter dimmable plugin unit (#118404) 2024-05-29 21:09:50 +02:00
Franck Nijhof
eca8dd93c5 Bump version to 2024.7.0dev0 (#118399) 2024-05-29 20:54:49 +02:00
Franck Nijhof
024de4f8a6 Bump version to 2024.6.0b0 2024-05-29 20:17:13 +02:00
Joost Lekkerkerker
c80718628e Add select entities to AirGradient (#117136) 2024-05-29 20:12:51 +02:00
TheJulianJES
6382cb9134 Bump zha-quirks to 0.0.116 (#118393) 2024-05-29 19:52:25 +02:00
Marcel van der Veldt
7136be5047 Bump Python Matter Server library to 6.1.0(b0) (#118388) 2024-05-29 19:20:18 +02:00
Bram Kragten
23381ff30c Bump frontend to 20240529.0 (#118392) 2024-05-29 19:06:46 +02:00
Michael Hansen
3ffbbcfa5c Allow delayed commands to not have a device id (#118390) 2024-05-29 12:39:41 -04:00
Joost Lekkerkerker
181ae1227a Bump airgradient to 0.4.2 (#118389) 2024-05-29 18:17:26 +02:00
G Johansson
9e3e7f5b48 Entity for Tags (#115048)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik <erik@montnemery.com>
2024-05-29 17:45:19 +02:00
Sid
f37edc207e Bump ruff to 0.4.6 (#118384) 2024-05-29 17:35:54 +02:00
Markus Jacobsen
7fda7ccafc Convert unnecessary coroutines into functions (#118311) 2024-05-29 16:44:43 +02:00
Michael
916c6a2f46 Rework and simplify the cleanup of orphan AVM Fritz!Tools entities (#117706) 2024-05-29 15:52:49 +02:00
tronikos
3d15e15e59 Add Android TV Remote debug logs to help with zeroconf issue (#117960) 2024-05-29 15:50:13 +02:00
Joost Lekkerkerker
9e342a61f3 Bump yt-dlp to 2024.05.27 (#118378) 2024-05-29 15:38:21 +02:00
epenet
461ac1e0bc Add ClientSessionGenerator type hints in tests (#118377) 2024-05-29 14:49:14 +02:00
epenet
d10362e226 Add AiohttpClientMocker type hints in tests (#118373) 2024-05-29 14:38:46 +02:00
osohotwateriot
d69431ea48 Bump pyosoenergyapi to 1.1.4 (#118368) 2024-05-29 14:15:26 +02:00
epenet
1fbf93fd36 Add SnapshotAssertion type hints in tests (#118371) 2024-05-29 14:11:58 +02:00
epenet
166c588cac Add LogCaptureFixture type hints in tests (#118372) 2024-05-29 14:10:00 +02:00
tronikos
aeee222df4 Default to gemini-1.5-flash-latest in Google Generative AI (#118367)
Default to flash
2024-05-29 08:04:47 -04:00
tronikos
4056c4c2cc Ask LLM to pass area name and domain (#118357) 2024-05-29 08:03:43 -04:00
tronikos
c75cb08aae Fix LLM tracing for Google Generative AI (#118359)
Fix LLM tracing for Gemini
2024-05-29 08:02:59 -04:00
tronikos
b7ee90a53c Expose useful media player attributes to LLMs (#118363) 2024-05-29 08:01:40 -04:00
karwosts
6e5dcd8b8d Support in blueprint schema for input sections (#110513)
* initial commit for sections

* updates

* add description

* fix test

* rename collapsed key

* New schema

* update snapshots

* Testing for sections

* Validate no duplicate input keys across sections

* rename all_inputs

* Update homeassistant/components/blueprint/models.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-29 13:13:01 +02:00
tronikos
d83ab7bb04 Fix issue when you have multiple Google Generative AI config entries and you remove one of them (#118365) 2024-05-29 11:59:06 +02:00
dontinelli
aa957600ce Set quality scale of fyta to platinum (#118307) 2024-05-29 11:41:59 +02:00
Joakim Sørensen
d33068d00c Update pylaunches dependency to version 2.0.0 (#118362) 2024-05-29 11:18:29 +02:00
Adam Kapos
43f42dd512 Extend image_upload to return the original image (#116652) 2024-05-29 11:16:23 +02:00
Jan Bouwhuis
585892f067 Allow MQTT device based auto discovery (#109030)
* Add MQTT device based auto discovery

* Respect override of component options over shared ones

* Add state_topic, command_topic, qos and encoding as shared options

* Add shared option test

* Rename device.py to schemas.py

* Remove unused legacy `platform` attribute to avoid confusion

* Split validation device and origin info

* Require `origin` info on device based discovery

* Log origin info for only once for device discovery

* Fix tests and linters

* ruff

* speed up _replace_all_abbreviations

* Fix imports and merging errors - add slots attr

* Fix unrelated const changes

* More unrelated changes

* join string

* fix merge

* Undo move

* Adjust logger statement

* fix task storm to load platforms

* Revert "fix task storm to load platforms"

This reverts commit 8f12a5f251.

* bail if logging is disabled

* Correct mixup object_id and node_id

* Auto migrate entities to device discovery

* Add device discovery test for device_trigger

* Add migration support for non entity platforms

* Use helper to remove discovery payload

* Fix tests after update branch

* Add discovery migration test

* Refactor

* Repair after rebase

* Fix discovery is broken after migration

* Improve comments

* More comment improvements

* Split long lines

* Add comment to indicate payload dict can be empty

* typo

* Add walrus and update comment

* Add tag to migration test

* Join try blocks

* Refactor

* Cleanup not used attribute

* Refactor

* Move _replace_all_abbreviations out of try block

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-29 11:12:05 +02:00
Bouwe Westerdijk
83e62c5239 Discover new device at runtime in Plugwise (#117688)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-05-29 11:00:07 +02:00
G Johansson
6b7ff2bf44 Add default code to alarm_control_panel (#112540) 2024-05-29 10:46:53 +02:00
Erwin Douna
38da61a5ac Add DSMR Reader icons (#118329) 2024-05-29 10:41:51 +02:00
G Johansson
13ebc6fb0e Add more tests to Yale Smart Alarm (#116501) 2024-05-29 10:34:20 +02:00
epenet
bead6b0094 Rename service_calls fixture in template tests (#118358) 2024-05-29 10:27:52 +02:00
Stefan Agner
cae22e5109 Adjust add-on installation error message (#118309) 2024-05-29 09:41:09 +02:00
epenet
98d24dd276 Improve typing for calls fixture in tests (m-z) (#118350)
* Improve typing for `calls` fixture in tests (m-z)

* More

* More
2024-05-29 09:30:41 +02:00
epenet
0c38aa56f5 Rename calls fixture in components tests (#118355) 2024-05-29 09:26:44 +02:00
epenet
0f8588a857 Rename calls fixture in mqtt tests (#118354)
Rename calls fixture in mqtt
2024-05-29 09:25:34 +02:00
epenet
e488f9b87f Rename calls fixture in calendar tests (#118353) 2024-05-29 09:24:36 +02:00
J. Nick Koston
0888233f06 Make Recorder dialect_name a cached_property (#117922) 2024-05-29 09:23:40 +02:00
Bygood91
f7d2d94fdc Add Google assistant Gate device type (#118144) 2024-05-29 09:18:02 +02:00
dependabot[bot]
09d4112784 Bump docker/login-action from 3.1.0 to 3.2.0 (#118351)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-29 09:16:54 +02:00
Robert Resch
e087abe802 Add ws endpoint to remove expiration date from refresh tokens (#117546)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-29 09:09:59 +02:00
epenet
7e62061b9a Improve typing for calls fixture in tests (a-l) (#118349)
* Improve typing for `calls` fixture in tests (a-l)

* More

* More
2024-05-29 09:06:48 +02:00
Raman Gupta
89ae425ac2 Update zwave_js WS APIs for provisioning (#117400) 2024-05-29 02:47:09 -04:00
osohotwateriot
1c2cda5033 Add OSO Energy binary sensors (#117174) 2024-05-29 08:36:20 +02:00
Maximilian Hildebrand
05d0174e07 Add august open action (#113795)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-28 20:35:53 -10:00
G Johansson
ae6c394b53 Add smoke detector temperature to Yale Smart Alarm (#116306) 2024-05-29 08:34:00 +02:00
Erik Montnemery
7abffd7cc8 Don't report entities with invalid unique id when loading the entity registry (#118290) 2024-05-29 08:32:39 +02:00
Quentame
4d7b1288d1 Fix epic_games_store mystery game URL (#118314) 2024-05-29 08:32:29 +02:00
Jan-Philipp Benecke
2c99925286 Use runtime_data in ping (#118332) 2024-05-29 08:12:54 +02:00
J. Nick Koston
76aa504e36 Fix last_reported_timestamp not being updated when last_reported is changed (#118341)
* Reduce number of calls to last_reported_timestamp

When a state is created, last_update is always the same
as last_reported, and we only update it later if it changes
so we can pre-set the cached property to avoid it being
run when the recorder accesses it later.

* fix cache not being overridden

* coverage
2024-05-28 19:03:19 -10:00
J. Nick Koston
f3fa843b9d Replace pop calls with del where the result is discarded in restore_state (#118339) 2024-05-28 23:14:40 -04:00
J. Nick Koston
79bc179ce8 Improve websocket message coalescing to handle thundering herds better (#118268)
* Increase websocket peak messages to match max expected entities

During startup the websocket would frequently disconnect if more than
4096 entities were added back to back. Some MQTT setups will have more
than 10000 entities. Match the websocket peak value to the max expected
entities

* coalesce more

* delay more if the backlog gets large

* wait to send if the queue is building rapidly

* tweak

* tweak for chrome since it works great in firefox but chrome cannot handle it

* Revert "tweak for chrome since it works great in firefox but chrome cannot handle it"

This reverts commit 439e2d76b1.

* adjust for chrome

* lower number

* remove code

* fixes

* fast path for bytes

* compact

* adjust test since we see the close right away now on overload

* simplify check

* reduce loop

* tweak

* handle ready right away
2024-05-28 23:14:06 -04:00
J. Nick Koston
b94bf1f214 Add cache to more complex entity filters (#118344)
Many of these do regexes and since the entity_ids are almost
always the same we should cache these
2024-05-28 23:07:50 -04:00
Paulus Schoutsen
d22871f1fd Reduce the intent response data sent to LLMs (#118346)
* Reduce the intent response data sent to LLMs

* No longer delete speech
2024-05-28 23:07:00 -04:00
J. Nick Koston
fa9ebb062c Small speed up to connecting dispatchers (#118342) 2024-05-28 16:49:58 -10:00
Paulus Schoutsen
c097a05ed4 Tweak Assist LLM API prompt (#118343) 2024-05-28 22:43:22 -04:00
Michael Hansen
d223e1f2ac Add Conversation command to timers (#118325)
* Add Assist command to timers

* Rename to conversation_command. Execute in timer code.

* Make agent_id optional

* Fix arg

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-28 20:33:31 -05:00
Paulus Schoutsen
615a1eda51 LLM Assist API to ignore intents if not needed for exposed entities or calling device (#118283)
* LLM Assist API to ignore timer intents if device doesn't support it

* Refactor to use API instances

* Extract ToolContext class

* Limit exposed intents based on exposed entities
2024-05-28 21:29:18 -04:00
J. Nick Koston
e0264c8604 Replace pop calls with del where the result is discarded in entity (#118340) 2024-05-28 15:26:53 -10:00
J. Nick Koston
9de066d9e1 Replace pop calls with del where the result is discarded in mqtt (#118338) 2024-05-28 15:26:35 -10:00
J. Nick Koston
fd9d4dbb34 Use del instead of pop in the entity platform remove (#118337) 2024-05-28 15:26:22 -10:00
Paulus Schoutsen
0cf574dc42 Update the recommended model for Google Gen AI (#118323) 2024-05-28 21:21:28 -04:00
Markus Jacobsen
8d7dff0228 Fix source_change not triggering an update (#118312) 2024-05-28 21:19:10 -04:00
Marcel van der Veldt
5f5288d8b9 Several fixes for the Matter climate platform (#118322)
* extend hvacmode mapping with extra modes

* Fix climate platform

* adjust tests

* fix reversed test

* cleanup

* dry and fan hvac mode test
2024-05-28 21:18:35 -04:00
Joakim Sørensen
7f1a616c9a Use None default for traccar server battery level sensor (#118324)
Do not set -1 as default for traccar server battery level
2024-05-28 21:15:22 -04:00
Jesse Hills
035e21ddbb [esphome] 100% voice assistant test coverage (#118334) 2024-05-28 21:14:47 -04:00
J. Nick Koston
097ca3a0ae Mark sonos group update a background task (#118333) 2024-05-28 14:53:28 -10:00
Michael Hansen
9e1676bee4 Filter timers more when pausing/unpausing (#118331) 2024-05-28 19:36:34 -04:00
Joakim Plate
acfc027456 Update ha philips_js to 3.2.2 (#118326) 2024-05-28 23:13:17 +02:00
J. Nick Koston
69353d2719 Speed up mqtt debug info on message callback (#118303) 2024-05-28 11:10:07 -10:00
Michael Hansen
2dc49f0410 Add platforms to intent handlers (#118328) 2024-05-28 16:46:08 -04:00
dontinelli
5eb1d72691 Raise UpdateFailed on fyta API error (#118318)
* Raise UpdateFailed

* Update homeassistant/components/fyta/coordinator.py

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

* Remove logger

* simplify code

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-05-28 21:18:15 +02:00
Jesse Hills
7f530ee0e4 [esphome] Assist timers (#118275)
* [esphome] Assist timers

* Add intent to manifest dependencies

* Add test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-28 14:57:58 -04:00
Michael Hansen
06d6f99964 Respect WyomingSatelliteMuteSwitch state on start (#118320)
* Respect WyomingSatelliteMuteSwitch state on start

* Fix test

---------

Co-authored-by: Kostas Chatzikokolakis <kostas@chatzi.org>
2024-05-28 14:55:02 -04:00
Michael Hansen
75ab4d2398 Add temperature slot to light turn on intent (#118321) 2024-05-28 14:53:49 -04:00
epenet
a59621bf9e Add more type hints to pylint plugin (#118319) 2024-05-28 18:37:38 +02:00
epenet
0b2aac8f4c Use registry fixtures in tests (z) (#118300) 2024-05-28 18:25:49 +02:00
Michael Hansen
106cb4cfb7 Bump intents and add tests for new error messages (#118317)
* Add new error keys

* Bump intents and test new error messages

* Fix response text
2024-05-28 12:24:24 -04:00
epenet
05fc7cfbde Enforce namespace use for import conventions (#118215)
* Enforce namespace use for import conventions

* Include all registries

* Only apply to functions

* Use blacklist

* Rephrase comment

* Add async_entries_for_config_entry

* Typo

* Improve

* More core files

* Revert "More core files"

This reverts commit 9978b93706.

* Revert diagnostics amends

* Include category/floor/label registries

* Performance

* Adjust text
2024-05-28 18:15:53 +02:00
Kostas Chatzikokolakis
14132b5090 Don't set 'assist in progess' flag on wake_word-end (#113585) 2024-05-28 11:09:59 -05:00
Paulus Schoutsen
f0d7f48930 Handle generic commands as area commands in the LLM Assist API (#118276)
* Handle generic commands as area commands in the LLM Assist API

* Add word area
2024-05-28 11:21:17 -04:00
Mike Degatano
dbcef2e3c3 Add more supervisor info to system info panel (#115715)
* Add virtualization field fo system info

* Add ntp sync and host connectivity

* Prevent nonetype errors

* Add supervisor_connectivity and fix tests

* Add mock of network info to other fixtures

* Update more fixtures with network/info mock
2024-05-28 16:14:42 +02:00
epenet
e58d060f82 Use registry fixtures in tests (s) (#118295) 2024-05-28 15:41:03 +02:00
Poshy163
90500c4b97 Thread: Add more Thread vendor to brand mappings (#115888)
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-05-28 15:33:32 +02:00
epenet
f07f183a3e Use registry fixtures in tests (v-y) (#118299) 2024-05-28 14:26:14 +02:00
epenet
8d8696075b Use registry fixtures in tests (r) (#118293) 2024-05-28 14:23:31 +02:00
epenet
2545b7d3bb Use registry fixtures in tests (t-u) (#118297) 2024-05-28 14:23:01 +02:00
epenet
ef6c7621cf Use registry fixtures in scaffold (#118308) 2024-05-28 14:20:01 +02:00
epenet
301c17cba7 Use registry fixtures in tests (o-p) (#118292) 2024-05-28 13:42:38 +02:00
epenet
ead0e797c1 Use registry fixtures in tests (m-n) (#118291) 2024-05-28 13:40:45 +02:00
epenet
8837c50da7 Use registry fixtures in tests (a-h) (#118288) 2024-05-28 13:15:16 +02:00
Sebastian Lövdahl
e9ab9b818f Add reconfigure step for vallox (#115915)
* Add reconfigure step for vallox

* Reuse translation
2024-05-28 13:13:53 +02:00
epenet
01be006d40 Use registry fixtures in tests (tailscale) (#118301) 2024-05-28 13:12:51 +02:00
Marcel van der Veldt
21f5ac7715 Fix Matter device ID for non-bridged composed device (#118256) 2024-05-28 12:47:46 +02:00
starkillerOG
a5f81262aa Bump reolink-aio to 0.8.11 (#118294) 2024-05-28 12:29:30 +02:00
Ludovic BOUÉ
f44dfe8fef Add Matter fan platform (#111212)
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2024-05-28 12:24:58 +02:00
ollo69
7f934bafc2 Add diagnostics test to AndroidTV (#117129) 2024-05-28 10:56:32 +02:00
J. Nick Koston
a3c3f938a7 Migrate mqtt mixin async_added_to_hass inner functions to bound methods (#118280) 2024-05-27 22:45:40 -10:00
Erwin Douna
fb95b91507 Add DSMR Reader tests (#115808)
* Add DSMR Reader sensor tests

* Change to paramatization

* Removing patch

* Emulate the test

* Go for 100% test coverage

* Adding defintions.py

* Add myself as code owner to keep improving
2024-05-28 10:42:21 +02:00
Mr. Bubbles
98710e6c91 Fix some typing errors in Bring integration (#115641)
Fix typing errors
2024-05-28 10:25:39 +02:00
Ville Skyttä
3b938e592f Add additional Huawei LTE 5G sensors (#108928)
* Add some Huawei LTE 5G sensor descriptions

Closes https://github.com/home-assistant/core/issues/105786

* Mark cqi1 and nrcqi1 as diagnostic
2024-05-28 09:59:28 +02:00
Brett Adams
b71f6a2b7d Use entry.runtime_data in Tessie (#118287) 2024-05-28 09:05:24 +02:00
J. Nick Koston
3ba3e3135e Fix flakey bootstrap test (#118285) 2024-05-28 08:11:14 +02:00
Michael
5d61743a5b Bump aiovlc to 0.3.2 (#118258) 2024-05-28 07:58:20 +02:00
Tsvi Mostovicz
ea91f7a5aa Change strings to const in Jewish Calendar (#118274) 2024-05-28 07:49:39 +02:00
tronikos
4f7a91828e Mock llm prompts in test_default_prompt for Google Generative AI (#118286) 2024-05-28 00:40:26 -04:00
J. Nick Koston
69a177e864 Migrate mqtt discovery subscribes to use internal helper (#118279) 2024-05-27 18:14:58 -10:00
tronikos
63227f14ed Add diagnostics to Google Generative AI (#118262)
* Add diagnostics for Google Generative AI

* Remove quality scale from manifest

* include options in diagnostics
2024-05-28 00:02:32 -04:00
Ben Thomas
f6f6bf8953 SharkIQ Fix for vacuums without room support (#118209)
* Fix SharkIQ vacuums without room support crashing the SharkIQ integration

* Fix ruff format

* Fix SharkIQ tests to account for robot identifier and second expected value
2024-05-27 23:57:21 -04:00
Ben Thomas
4d7802215c Fix rooms not being matched correctly in sharkiq.clean_room (#118277)
* Fix rooms not being matched correctly in sharkiq.clean_room

* Update sharkiq tests to account for new room matching logic
2024-05-27 23:51:51 -04:00
tronikos
0c245f1976 Fix freezing on HA startup when there are multiple Google Generative AI config entries (#118282)
* Fix freezing on HA startup when there are multiple Google Generative AI config entries

* Add timeout to list_models
2024-05-27 23:49:16 -04:00
Paulus Schoutsen
aa78998f41 Make sure conversation entities have correct name in list output (#118272) 2024-05-27 21:45:14 -04:00
J. Nick Koston
a5644c8ddb Rewrite flow handler to flow result conversion as a list comp (#118269) 2024-05-27 15:39:59 -10:00
Paulus Schoutsen
6f248acfd5 LLM Assist API: Inline all exposed entities (#118273)
Inline all exposed entities
2024-05-27 21:12:10 -04:00
Jesse Hills
a23da3bd46 Bump aioesphomeapi to 24.5.0 (#118271) 2024-05-28 13:03:01 +12:00
tronikos
f2d0512f39 Make sure HassToggle and HassSetPosition have description (#118267) 2024-05-27 20:30:34 -04:00
J. Nick Koston
33ff84469a Align max expected entities constant between modules (#118102) 2024-05-27 14:06:16 -10:00
tronikos
722feb285b Handle multiple function_call and text parts in Google Generative AI (#118270) 2024-05-27 19:57:03 -04:00
Jan Bouwhuis
bfc3194661 Fix mqtt not publishing null payload payload to remove discovery (#118261) 2024-05-27 12:53:22 -10:00
G Johansson
6067ea2454 Cleanup tag integration (#118241)
* Cleanup tag integration

* Fix review comments
2024-05-27 21:53:06 +02:00
Josef Zweck
c349797938 Add new lock states to tedee integration (#117108) 2024-05-27 15:04:44 -04:00
G Johansson
d9ce4128c0 Add entry.runtime_data typing for Teslemetry (#118253) 2024-05-27 19:11:55 +02:00
dontinelli
e54fbcec77 Add diagnostics for fyta (#118234)
* Add diagnostics

* add test for diagnostics

* Redact access_token

* remove unnecessary redaction
2024-05-27 18:34:05 +02:00
Josef Zweck
70820c1702 Migrate tedee to entry.runtime_data (#118246)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-05-27 16:11:38 +02:00
Åke Strandberg
b61919ec71 Add helper strings for myuplink application credentials (#115349) 2024-05-27 15:58:22 +02:00
Michael
a24d97d79d Convert Feedreader to use an update coordinator (#118007) 2024-05-27 14:48:41 +02:00
epenet
97f6b578c8 Enforce namespace import in core (#118235) 2024-05-27 14:03:00 +02:00
Josef Zweck
9828a50dca Add quality scale (platinum) to tedee integration (#106940) 2024-05-27 12:57:58 +02:00
Maciej Bieniek
805f634634 Bump nettigo_air_monitor to version 3.1.0 (#118227)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-27 12:54:10 +02:00
epenet
e7ce01e649 Enforce namespace import in components (#118218) 2024-05-27 12:50:11 +02:00
shelvacu
33bdcb46cf Fix XMPP giving up on first auth fail (#118224) 2024-05-27 12:44:56 +02:00
epenet
fa038bef92 Use area_registry fixture in component tests (#118236) 2024-05-27 12:40:08 +02:00
Brett Adams
46158f5c14 Allow older vehicles to sleep in Teslemetry (#117229)
* Allow older vehicles to sleep

* Remove updated_once

* move pre2021 to lib

* bump

* Bump again

* Bump to 0.5.11

* Fix VIN so it matches the check

* Fix snapshot

* Snapshots

* Fix self.updated_once

* Remove old pre2021 attribute

* fix snapshots

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-05-27 12:37:33 +02:00
dontinelli
2a8fc7f310 Add Fyta sensor tests (#117995)
* Add test for init

* update tests

* split common.py into const.py and __init__.py

* Update tests/components/fyta/__init__.py

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

* add autospec, tidy up

* adjust len-test

* add test_sensor.py, amend tests for coordinator.py

* Update tests/components/fyta/conftest.py

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

* move load_unload with expired token into own test

* Update tests/components/fyta/test_init.py

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

* ruff change

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-27 12:01:11 +02:00
Tsvi Mostovicz
1565561c03 Remove platform sensor from Jewish Calendar binary sensor (#118231) 2024-05-27 11:47:08 +02:00
Joost Lekkerkerker
f2762c9031 Bump yt-dlp to 2024.05.26 (#118229) 2024-05-27 11:38:30 +02:00
Claes Hallström
efcfbbf189 Add key expiry disabled binary sensor to Tailscale (#117667) 2024-05-27 11:37:00 +02:00
Duco Sebel
22cc7d34d5 Fix unique_id not being unique in HomeWizard (#117940) 2024-05-27 11:23:10 +02:00
J. Nick Koston
6b8223e339 Try to read multiple packets in MQTT (#118222) 2024-05-27 11:07:24 +02:00
Arie Catsman
83e4c2927c Implement reconfigure step for enphase_envoy (#115781) 2024-05-27 11:06:55 +02:00
Richard Kroegel
10291b1ce8 Bump bimmer_connected to 0.15.3 (#118179)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-05-27 11:01:22 +02:00
Joost Lekkerkerker
481c50f7a5 Remove platform setup from Jewish calendar (#118226) 2024-05-27 10:51:54 +02:00
Joost Lekkerkerker
a2b1dd8a5f Add config flow to Media Extractor (#115717) 2024-05-27 10:43:49 +02:00
J. Nick Koston
87989a88cd Remove translation and icon component path functions (#118214)
These functions have been stripped down to always return
the same path so there was no longer a need to have a
function for this. This is left-over cleanup from
previous refactoring.
2024-05-27 10:35:52 +02:00
Joost Lekkerkerker
3d2ecd6a28 Refactor Twitch tests (#114330)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-05-27 10:09:12 +02:00
J. Nick Koston
21b9a4ef2e Increase MQTT incoming buffer to 8MiB (#118220) 2024-05-27 10:07:53 +02:00
J. Nick Koston
3ebcee9bbb Fix mqtt chunk subscribe logging (#118217) 2024-05-26 21:56:09 -10:00
J. Nick Koston
3680d1f8c5 Remove legacy mqtt debug_info implementation (#118212) 2024-05-26 21:55:54 -10:00
J. Nick Koston
cfc2cadb77 Eagerly remove MQTT entities on reload (#118213) 2024-05-26 21:55:42 -10:00
G Johansson
e6142985a5 Use config entry runtime data in Scrape (#118191)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-05-27 08:48:54 +02:00
G Johansson
4d52d920ee Create EventEntity for Folder Watcher (#116526) 2024-05-27 08:47:02 +02:00
J. Nick Koston
5b608bea01 Remove extra inner function for mqtt reload service (#118211) 2024-05-26 18:55:00 -10:00
J. Nick Koston
872e9f2d5e Fix thundering herd of mqtt component setup tasks (#118210)
We had a thundering herd of tasks to back up against the lock to load each MQTT platform at startup because we had to wait to import the platforms.
2024-05-27 00:29:35 -04:00
Paulus Schoutsen
ecb05989ca Add exposed entities to the Assist LLM API prompt (#118203)
* Add exposed entities to the Assist LLM API prompt

* Check expose entities in Google test

* Copy Google default prompt test cases to LLM tests
2024-05-27 00:27:08 -04:00
J. Nick Koston
c391d73fec Remove unneeded time fetch in mqtt discovery (#118208) 2024-05-26 18:07:27 -10:00
J. Nick Koston
25f199c39c Improve performance of verify_event_loop_thread (#118198) 2024-05-26 17:39:15 -10:00
Paulus Schoutsen
87fc27eeae Teach Context about deepcopy (#118206)
Teach context about deepcopy
2024-05-26 23:14:02 -04:00
J. Nick Koston
c15f7f304f Remove unneeded dispatcher in mqtt discovery (#118205) 2024-05-26 17:07:24 -10:00
Paulus Schoutsen
9dc580e5de Add (deep)copy support to read only dict (#118204) 2024-05-26 23:05:45 -04:00
J. Nick Koston
56431ef750 Pre-set the HassJob job_type cached_property if its known (#118199) 2024-05-26 16:13:48 -10:00
J. Nick Koston
811ec57c31 Convert mqtt entity discovery to use callbacks (#118200) 2024-05-26 16:12:40 -10:00
Paulus Schoutsen
1602c8063c Standardize LLM instructions prompt (#118195)
* Standardize instructions prompt

* Add time/date to default instructions
2024-05-26 20:24:26 -04:00
J. Nick Koston
98d7821f47 Avoid creating template objects in mqtt sensor if they are not configured (#118194) 2024-05-26 12:09:06 -10:00
Brett Adams
841d5dfd4f Fix flaky test in Teslemetry (#118196)
Cleanup tests
2024-05-26 17:31:11 -04:00
Michael Hansen
3766c72ddb Forward timer events to Wyoming satellites (#118128)
* Add timer tests

* Forward timer events to satellites

* Use config entry for background tasks
2024-05-26 17:29:46 -04:00
J. Nick Koston
039bc3501b Fix mqtt switch types (#118193)
Remove unused code, add missing type for _is_on_map
2024-05-26 23:18:07 +02:00
tronikos
0588806922 Promote Google Generative AI to platinum quality (#118158)
* Promote Google Generative AI to platinum quality

* make exception for diagnostics
2024-05-26 17:07:31 -04:00
J. Nick Koston
f0b4f4655c Simplify mqtt switch state message processor (#118187) 2024-05-26 10:42:24 -10:00
J. Nick Koston
e74292e358 Move sensor mqtt state update functions to bound methods (#118188) 2024-05-26 10:42:09 -10:00
J. Nick Koston
226d010ab2 Simplify mqtt connection state dispatcher (#118184) 2024-05-26 10:21:21 -10:00
Jan Bouwhuis
b7f1f805fa Simplify subscription mqtt entity platforms (#118177) 2024-05-26 09:25:54 -10:00
G Johansson
008b56b4dd Bump holidays to 0.49 (#118181) 2024-05-26 20:29:58 +02:00
Tsvi Mostovicz
11646cab5f Move Jewish calendar constants to const file (#118180)
* Move Jewish calendar constants to const file

* Add a few missed constants

* Move CONF_LANGUAGE to it's correct path
2024-05-26 19:23:02 +02:00
tronikos
0972b29510 Add Google Generative AI reauth flow (#118096)
* Add reauth flow

* address comments
2024-05-26 11:44:48 -04:00
Angel Nunez Mencias
b85cf36a68 Upgrade thethingsnetwork to v3 (#113375)
* thethingsnetwork upgrade to v3

* add en translations and requirements_all

* fix most of the findings

* hassfest

* use ttn_client v0.0.3

* reduce content of initial release

* remove features that trigger errors

* remove unneeded

* add initial testcases

* Exception warning

* add strict type checking

* add strict type checking

* full coverage

* rename to conftest

* review changes

* avoid using private attributes - use protected instead

* simplify config_flow

* remove unused options

* review changes

* upgrade client

* add types client library - no need to cast

* use add_suggested_values_to_schema

* add ruff fix

* review changes

* remove unneeded comment

* use typevar for TTN value

* use typevar for TTN value

* review

* ruff error not detected in local

* test review

* re-order fixture

* fix test

* reviews

* fix case

* split testcases

* review feedback

* Update homeassistant/components/thethingsnetwork/__init__.py

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

* Update homeassistant/components/thethingsnetwork/__init__.py

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

* Update tests/components/thethingsnetwork/test_config_flow.py

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

* Remove deprecated var

* Update tests/components/thethingsnetwork/test_config_flow.py

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

* Remove unused import

* fix ruff warning

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-26 16:30:33 +02:00
Robert Svensson
a7938091bf Use fixtures to setup UniFi config entries (#118126) 2024-05-26 16:30:22 +02:00
J. Nick Koston
caa65708fb Collapse websocket_api _state_diff into _state_diff_event (#118170) 2024-05-26 16:04:34 +02:00
Jan Bouwhuis
4a5c5fa311 Remove remove unreachable code in async_wait_for_mqtt_client (#118172) 2024-05-26 16:04:03 +02:00
J. Nick Koston
8b3cad372e Avoid constructing mqtt availability template objects when there is no template (#118171) 2024-05-26 02:02:13 -10:00
J. Nick Koston
c368ffffd5 Add async_get_hass_or_none (#118164) 2024-05-26 13:38:46 +02:00
Mike Degatano
05c24e92d1 Add repair for detached addon issues (#118064)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-05-26 13:37:50 +02:00
Paulus Schoutsen
233c3bb2be Add render prompt method when no API selected (#118136) 2024-05-26 13:35:15 +02:00
J. Nick Koston
dff8c06166 Fix unnecessary calls to update entity display_precision (#118159) 2024-05-26 13:32:59 +02:00
J. Nick Koston
80371d3a73 Reduce duplicate publish code in mqtt (#118163) 2024-05-26 01:22:54 -10:00
J. Nick Koston
5d37217d96 Avoid expensive inspection of callbacks to setup mqtt subscriptions (#118161) 2024-05-26 01:22:44 -10:00
J. Nick Koston
607aaa0efe Speed up template result parsing (#118168) 2024-05-26 13:09:12 +02:00
Paulus Schoutsen
4a3808c08e Don't crash when firing event for timer for unregistered device (#118132) 2024-05-26 13:08:00 +02:00
J. Nick Koston
6697cf07a6 Fix parallel script execution in queued mode (#118153) 2024-05-26 13:05:31 +02:00
Brett Adams
f12f82caac Add update platform to Teslemetry (#118145)
* Add update platform

* Add tests

* updates

* update test

* Fix support features comment

* Add assertion
2024-05-26 13:04:02 +02:00
J. Nick Koston
7bbb33b415 Improve script disallowed recursion logging (#118151) 2024-05-26 12:58:34 +02:00
G-Two
189cf88537 Bump subarulink to 0.7.11 (#117743) 2024-05-26 12:56:43 +02:00
Michael
66119c9d47 Clean up PIhole unneccesary async_block_till_done call (#118166)
leanup unneccesary async_bock_till_done calls
2024-05-26 12:40:22 +02:00
Michael
1b191230e4 Clean up AVM Fritz!Box Tools unneccesary async_block_till_done call (#118165)
cleanup unneccesary async_bock_till_done calls
2024-05-26 12:40:07 +02:00
Brett Adams
28a6f9eae7 Add number platform to Teslemetry (#117470)
* Add number platform

* Cast numbers

* rework numbers

* Add number platform

* Update docstrings

* fix json

* Remove speed limit

* Fix snapshot

* remove speed limit icon

* Remove speed limit strings

* rework min max

* Fix coverage

* Fix snapshot

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Type callable

* Fix types

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-05-26 11:02:35 +02:00
Michael
74f288286a Bump py-sucks to 0.9.10 (#118148)
bump py-sucks to 0.9.10
2024-05-26 10:55:04 +02:00
Brett Adams
711f7e1ac3 Add media player platform to Teslemetry (#117394)
* Add media player

* Add tests

* Better service assertions

* Update strings.json

* Update snapshot

* Docstrings

* Fix json

* Update diag

* Review feedback

* Update snapshot

* use key for title
2024-05-26 10:36:35 +02:00
Brett Adams
af8542ebe1 Add button platform to Teslemetry (#117227)
* Add buttons

* Add buttons

* Fix docstrings

* Rebase entry.runtime_data

* Revert testing change

* Fix tests

* format json

* Type callable

* Remove refresh

* Update icons.json

* Update strings.json

* Update homeassistant/components/teslemetry/button.py

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

* import Awaitable

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-26 09:04:07 +02:00
J. Nick Koston
04101b044b Avoid constructing mqtt json attrs template if its not defined (#118146) 2024-05-25 16:13:54 -10:00
Shay Levy
0ae5275f01 Bump aioswitcher to 3.4.3 (#118123) 2024-05-26 00:04:44 +02:00
J. Nick Koston
5eeeb8c11f Remove code that is no longer used in mqtt (#118143) 2024-05-25 11:59:34 -10:00
Shay Levy
6a0e7cfea5 Clean up WebOS TV unneccesary async_block_till_done calls (#118142) 2024-05-26 00:37:44 +03:00
Jan Bouwhuis
991d6d92db Refactor mqtt callbacks for valve (#118140) 2024-05-25 11:34:56 -10:00
J. Nick Koston
9be829ba1f Make mqtt internal subscription a normal function (#118092)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-05-25 11:34:24 -10:00
Shay Levy
ecd48cc447 Clean up Shelly unneccesary async_block_till_done calls (#118141) 2024-05-26 00:28:48 +03:00
Jan Bouwhuis
d4a95b3735 Refactor mqtt callbacks for light basic, json and template schema (#118113) 2024-05-25 11:24:38 -10:00
Jan Bouwhuis
f21c0679b4 Rework mqtt callbacks for camera, image and event (#118109) 2024-05-25 11:23:45 -10:00
Jan Bouwhuis
ae0c00218a Refactor mqtt callbacks for vacuum (#118137) 2024-05-25 11:19:37 -10:00
Jan Bouwhuis
fc9f7aee7e Refactor mqtt callbacks for switch (#118127) 2024-05-25 11:17:54 -10:00
Jan Bouwhuis
6b1b15ef9b Refactor mqtt callbacks for text (#118130) 2024-05-25 11:16:54 -10:00
Jan Bouwhuis
e740e2cdc1 Refactor mqtt callbacks for select platform (#118121) 2024-05-25 11:16:16 -10:00
Jan Bouwhuis
3dbe9a41af Refactor mqtt callbacks for number (#118119) 2024-05-25 11:15:53 -10:00
Jan Bouwhuis
c510031fcf Refactor mqtt callbacks for siren (#118125) 2024-05-25 11:15:22 -10:00
Jan Bouwhuis
0f44ebd51e Refactor mqtt callbacks for update platform (#118131) 2024-05-25 11:14:48 -10:00
Jan Bouwhuis
e30297d837 Refactor mqtt callbacks for lawn_mower (#118117) 2024-05-25 11:13:43 -10:00
Jan Bouwhuis
05d8ec85aa Refactor mqtt callbacks for lock (#118118) 2024-05-25 11:13:14 -10:00
Jan Bouwhuis
6580a07308 Refactor mqtt callbacks for humidifier (#118116) 2024-05-25 11:11:07 -10:00
Jan Bouwhuis
b4acadc992 Rework mqtt callbacks for fan (#118115) 2024-05-25 11:09:24 -10:00
Jan Bouwhuis
5d7a735da6 Rework mqtt callbacks for device_tracker (#118110) 2024-05-25 11:07:50 -10:00
Jan Bouwhuis
521ed0a220 Fix mqtt callback exception logging (#118138)
* Fix mqtt callback exception logging

* Improve code

* Add test
2024-05-25 22:46:33 +02:00
elmurato
569763b7a8 Reach platinum level in Minecraft Server (#105432)
Reach platinum level
2024-05-25 22:13:32 +02:00
Denis Shulyaka
cee3be5f7a Break long strings in LLM tools (#118114)
* Break long code strings

* Address comments

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-25 14:24:51 -04:00
Allen Porter
89e2c57da6 Add conversation agent debug tracing (#118124)
* Add debug tracing for conversation agents

* Minor cleanup
2024-05-25 14:16:51 -04:00
Marc Mueller
2f16c3aa80 Fix mqtt callback typing (#118104) 2024-05-25 18:59:29 +02:00
Matthias Alphart
344bb568f4 Add diagnostics support for Fronius (#117845)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-05-25 14:01:24 +02:00
Michael
73f9234107 Remove deprecated services from AVM Fritz!Box Tools (#118108) 2024-05-25 13:52:28 +02:00
tronikos
0182bfcc81 Google Generative AI: 100% test coverage for conversation (#118112)
100% coverage for conversation
2024-05-25 07:52:20 -04:00
MatthewFlamm
8fbe39f2a7 Improve nws tests by centralizing and removing unneeded patching (#118052) 2024-05-25 13:50:15 +02:00
Michael
a89dcbc78b Use PEP 695 type alias for ConfigEntry type in Forecast Solar (#118107) 2024-05-25 13:48:58 +02:00
Brett Adams
ec76f34ba5 Add device tracker platform to Teslemetry (#117341) 2024-05-25 12:29:27 +01:00
Michael
10efb2017b Use PEP 695 type alias for ConfigEntry type in Spotify (#118106)
Use PEP 695 type alias for ConfigEntry type
2024-05-25 12:55:40 +02:00
Jan Bouwhuis
6fc6d109c9 Freeze and fix plaato CI tests (#118103) 2024-05-25 12:34:44 +02:00
nopoz
543d47d7f7 Allow Meraki API v2 or v2.1 (#115828) 2024-05-25 12:33:39 +02:00
J. Nick Koston
de275878c4 Small speed up to mqtt _async_queue_subscriptions (#118094) 2024-05-25 12:32:15 +02:00
Franck Nijhof
09cbc35b46 Merge branch 'master' into dev 2024-05-25 12:28:34 +02:00
Shay Levy
e8226a8056 Store Switcher runtime data in config entry (#118054) 2024-05-25 12:17:33 +02:00
J. Nick Koston
3f76b865fa Switch mqtt to use async_unload_platforms (#118097) 2024-05-25 11:55:36 +02:00
J. Nick Koston
b58e0331cf Migrate zwave_js to use async_unload_platforms (#118101) 2024-05-25 11:54:25 +02:00
J. Nick Koston
2954cba65d Migrate zha to use async_unload_platforms (#118100) 2024-05-25 11:53:42 +02:00
J. Nick Koston
131c1807c4 Migrate vera to use async_unload_platforms (#118099) 2024-05-25 11:48:55 +02:00
J. Nick Koston
204cd376cb Migrate firmata to use async_unload_platforms (#118098) 2024-05-25 11:48:06 +02:00
J. Nick Koston
4da125e27b Simplify mqtt discovery cooldown calculation (#118095) 2024-05-24 23:27:22 -10:00
Allister Maguire
5c60a5ae59 Bump pyenvisalink version to 4.7 (#118086) 2024-05-25 11:16:51 +02:00
Joakim Plate
943799f4d9 Adjust title of integration sensor (#116954) 2024-05-25 11:00:47 +02:00
Michael
a43fe71413 Store runtime data inside the config entry in Forecast Solar (#117033) 2024-05-25 10:54:38 +02:00
Michael
0ea1474556 Store runtime data inside the config entry in Spotify (#117037) 2024-05-25 10:41:23 +02:00
J. Nick Koston
ad638dbcc5 Speed up removing MQTT subscriptions (#118088) 2024-05-25 10:28:14 +02:00
Maikel Punie
ffcc9100a6 Bump velbusaio to 2024.5.1 (#118091) 2024-05-25 10:24:06 +02:00
Paulus Schoutsen
81f3387d06 Flip prompts to put user prompt on top (#118085) 2024-05-25 00:33:24 -04:00
Paulus Schoutsen
69f237fa9e Update Google safety defaults to match Google (#118084) 2024-05-25 00:02:53 -04:00
Paulus Schoutsen
676fe5a9a2 Add recommended model options to OpenAI (#118083)
* Add recommended options to OpenAI

* Use string join
2024-05-25 00:01:48 -04:00
Paulus Schoutsen
c59d4f9bba Add no-API LLM prompt back to Google (#118082)
* Add no-API LLM prompt back

* Use string join
2024-05-25 00:00:04 -04:00
Paulus Schoutsen
86a24cc3b9 Fix default Google AI prompt on initial setup (#118078) 2024-05-24 23:55:11 -04:00
Paulus Schoutsen
a257f63119 Add device info to OpenAI (#118077) 2024-05-24 23:55:01 -04:00
J. Nick Koston
d71c7705ae Convert remaining mqtt attrs classes to dataclasses (#118073) 2024-05-24 17:44:50 -10:00
J. Nick Koston
42232ecc8a Remove unused code in template helper (#118075) 2024-05-24 17:44:24 -10:00
J. Nick Koston
6923fb1601 Avoid template context manager overhead when template is already compiled (#118079) 2024-05-24 17:44:02 -10:00
J. Nick Koston
5cb3bc19c0 Speed up async_render_with_possible_json_value (#118080) 2024-05-24 17:43:42 -10:00
J. Nick Koston
3416162fdb Remove OrderedDict from entity_values as dict guarantees order on newer cpython (#118081) 2024-05-24 17:43:20 -10:00
J. Nick Koston
f026083712 Speed up is_template_string by avoiding regex engine (#118076) 2024-05-24 17:42:55 -10:00
Paulus Schoutsen
4b0f58ec63 Add device info to Google (#118074) 2024-05-24 22:23:25 -04:00
Denis Shulyaka
da74ac06d7 Add user name and location to the LLM assist prompt (#118071)
Add user name and location to the llm assist prompt
2024-05-24 22:23:05 -04:00
tronikos
620487fe75 Add Google Generative AI safety settings (#117679)
* Add safety settings

* snapshot-update

* DROPDOWN

* fix test

* rename const

* Update const.py

* Update strings.json
2024-05-24 21:48:39 -04:00
tronikos
5ca27f5d0c Google Generative AI: add timeout to ensure we don't block HA startup (#118066)
* timeout

* fix

* tests
2024-05-24 21:31:02 -04:00
Jan Bouwhuis
c9a79f6293 Fix lingering mqtt test (#118072) 2024-05-24 14:34:18 -10:00
J. Nick Koston
90d10dd773 Use defaultdict instead of setdefault in mqtt client (#118070) 2024-05-24 14:34:06 -10:00
J. Nick Koston
3031e4733b Reduce duplicate code to handle mqtt message replies (#118067) 2024-05-24 14:33:21 -10:00
J. Nick Koston
c7a1c59215 Avoid catch_log_exception overhead in MQTT for simple callbacks (#118036) 2024-05-24 14:32:32 -10:00
J. Nick Koston
65a702761b Avoid generating matchers that will never be used in MQTT (#118068) 2024-05-24 14:04:03 -10:00
Jan Bouwhuis
fa1ef8b0cf Split mqtt subscribe and unsubscribe calls to smaller chunks (#118035) 2024-05-24 13:33:28 -10:00
Jan Bouwhuis
01f3a5a97c Consequently ignore empty MQTT state payloads and set state to unknown on "None" payload (#117813)
* Consequently ignore empty MQTT state payloads and set state to `unknown` on "None" payload

* Do not change preset mode behavior

* Add device tracker ignoring empty state

* Ignore empty state for lock

* Resolve merge errors
2024-05-25 01:29:43 +02:00
Jan Bouwhuis
c616fc036e Move recorder chunk utils to shared collection utils (#118065) 2024-05-24 12:49:39 -10:00
Jan Bouwhuis
7522bbfa9d Refactor mqtt callbacks for climate and water_heater (#118040)
* Refactor mqtt callbacks for climate and water_heater

* Reduce callbacks
2024-05-25 00:20:05 +02:00
J. Nick Koston
cf73a47fc0 Significantly speed up single use callback dispatchers (#117934) 2024-05-24 11:21:10 -10:00
Aaron Bach
881237189d Add activity type to appropriate RainMachine switches (#117875) 2024-05-24 22:40:13 +02:00
Jan Bouwhuis
35a20d9c60 Refactor mqtt callbacks for cover (#118044) 2024-05-24 10:26:24 -10:00
Jan Bouwhuis
4b89443f62 Refactor mqtt callbacks for alarm_control_panel (#118037) 2024-05-24 10:20:37 -10:00
Christian Neumeier
ee38099a91 Add tests to Zeversolar integration (#117928) 2024-05-24 22:18:29 +02:00
Paulus Schoutsen
7554ca9460 Allow llm API to render dynamic template prompt (#118055)
* Allow llm API to render dynamic template prompt

* Make rendering api prompt async so it can become a RAG

* Fix test
2024-05-24 16:04:48 -04:00
Franck Nijhof
c347311851 2024.5.5 (#118049) 2024-05-24 22:01:44 +02:00
Paulus Schoutsen
3b2cdb63f1 Update OpenAI defaults (#118059)
* Update OpenAI defaults

* Update max temperature
2024-05-24 15:37:44 -04:00
J. Nick Koston
750ec261be Add state check to config entry setup to ensure it cannot be setup twice (#117193) 2024-05-24 21:28:04 +02:00
Paulus Schoutsen
ffc3560dad Remove unneeded asserts (#118056)
* Remove unneeded asserts

* No need to guard changing a timer that is owned by a disconnected device
2024-05-24 14:56:57 -04:00
Michael Hansen
5be15c94bc Require registered device id for all timer intents (#117946)
* Require device id when registering timer handlers

* Require device id for timer intents

* Raise errors for unregistered device ids

* Add callback

* Add types for callback to __all__

* Clean up

* More clean up
2024-05-24 12:55:52 -05:00
Michael Hansen
77e385db52 Fix intent helper test (#118053)
Fix test
2024-05-24 12:59:19 -04:00
Franck Nijhof
8128449879 Fix rc pylint warning in MQTT (#118050) 2024-05-24 18:41:46 +02:00
Franck Nijhof
3f7e57dde2 Bump version to 2024.5.5 2024-05-24 16:13:44 +02:00
Marcel van der Veldt
81bf31bbb1 Extend the blocklist for Matter transitions with more models (#118038) 2024-05-24 16:13:32 +02:00
J. Nick Koston
f5c20b3528 Bump pySwitchbot to 0.46.1 (#118025) 2024-05-24 16:13:29 +02:00
Erik Montnemery
3238bc83b8 Improve async_get_issue_tracker for custom integrations (#118016) 2024-05-24 16:13:26 +02:00
J. Nick Koston
f4b653a767 Update pySwitchbot to 0.46.0 to fix lock key retrieval (#118005)
* Update pySwitchbot to 0.46.0 to fix lock key retrieval

needs https://github.com/Danielhiversen/pySwitchbot/pull/236

* bump

* fixes
2024-05-24 16:13:22 +02:00
Shay Levy
09779b5f6e Add Shelly debug logging for async_reconnect_soon (#117945) 2024-05-24 16:13:19 +02:00
On Freund
ac97f25d6c Bump pyrympro to 0.0.8 (#117919) 2024-05-24 16:13:15 +02:00
Joakim Plate
7e18527dfb Update philips_js to 3.2.1 (#117881)
* Update philips_js to 3.2.0

* Update to 3.2.1
2024-05-24 16:13:12 +02:00
Peter
7d5f9b1adf Prevent time pattern reschedule if cancelled during job execution (#117879)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-24 16:13:09 +02:00
Bernardus Jansen
0fb5aaf0f8 Tesla Wall Connector fix spelling error/typo (#117841) 2024-05-24 16:13:05 +02:00
puddly
6956d0d65a Account for disabled ZHA discovery config entries when migrating SkyConnect integration (#117800)
* Properly handle disabled ZHA discovery config entries

* Update tests/components/homeassistant_sky_connect/test_util.py

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

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-05-24 16:13:02 +02:00
Franck Nijhof
db73074185 Update wled to 0.18.0 (#117790) 2024-05-24 16:12:59 +02:00
J. Nick Koston
dae4d316ae Fix race in config entry setup (#117756) 2024-05-24 16:12:55 +02:00
J. Nick Koston
56b55a0df5 Block older versions of custom integration mydolphin_plus since they cause crashes (#117751) 2024-05-24 16:12:50 +02:00
Ricardo Steijn
8d24f68f55 Bump crownstone-sse to 2.0.5, crownstone-cloud to 1.4.11 (#117748) 2024-05-24 16:12:46 +02:00
Anrijs
b44821b805 Bump aranet4 to 2.3.4 (#117738)
bump aranet4 lib version to 2.3.4
2024-05-24 16:12:43 +02:00
Michael
66c52e144e Consider only active config entries as media source in Synology DSM (#117691)
consider only active config entries as media source
2024-05-24 16:12:40 +02:00
On Freund
66fccb7296 Bump pyrisco to 0.6.2 (#117682) 2024-05-24 16:12:36 +02:00
J. Nick Koston
ecb587c4ca Fix setting MQTT socket buffer size with WebsocketWrapper (#117672) 2024-05-24 16:12:33 +02:00
Bouwe Westerdijk
c6a9388aea Add options-property to Plugwise Select (#117655) 2024-05-24 16:12:29 +02:00
Ville Skyttä
85f0fffa5a Filter out HTML greater/less than entities from huawei_lte sensor values (#117209) 2024-05-24 16:12:26 +02:00
Pete Sage
9dc66404e7 Fix Sonos album artwork performance (#116391) 2024-05-24 16:12:05 +02:00
epenet
6a10e89f6d Exclude gold and platinum integrations from .coveragerc (#117563) 2024-05-24 16:10:22 +02:00
J. Nick Koston
a8fba691ee Add types to event tracker data (#118010)
* Add types to event tracker data

* fixes

* do not test event internals in other tests

* fixes

* Update homeassistant/helpers/event.py

* cleanup

* cleanup
2024-05-24 10:09:39 -04:00
dontinelli
7183260d95 Change ZoneInfo to async_get_time_zone in fyta (#117996) 2024-05-24 16:09:18 +02:00
epenet
44f715bd02 Use issue_registry fixture in component tests (#118041) 2024-05-24 15:54:20 +02:00
Robert Resch
cb62f4242e Remove strict connection (#117933) 2024-05-24 15:50:22 +02:00
Jan Bouwhuis
6f81852eb4 Rename MQTT mixin classes (#118039) 2024-05-24 15:41:59 +02:00
Brian Rogers
080bba5d9b Update Rachio hose timer battery sensor (#118045) 2024-05-24 15:31:05 +02:00
epenet
0b4f1cff98 Use issue_registry fixture in core tests (#118042) 2024-05-24 15:26:32 +02:00
Marc Mueller
dd22ee3dac Improve annotation styling (#118032) 2024-05-24 15:05:53 +02:00
J. Nick Koston
2308ff2cbf Add json cache to lovelace config (#117843) 2024-05-24 14:07:43 +02:00
Yuval Aboulafia
2c09f72c33 Add config flow to Jewish Calendar (#84464)
* Initial commit

* add basic tests (will probably fail)

* Set basic UID for now

* Various improvements

* use new naming convention?

* bit by bit, still not working tho

* Add tz selection

* Remove failing tests

* update unique_id

* add the tests again

* revert to previous binary_sensor test

* remove translations

* apply suggestions

* remove const.py

* Address review

* revert changes

* Initial fixes for tests

* Initial commit

* add basic tests (will probably fail)

* Set basic UID for now

* Various improvements

* use new naming convention?

* bit by bit, still not working tho

* Add tz selection

* Remove failing tests

* update unique_id

* add the tests again

* revert to previous binary_sensor test

* remove translations

* apply suggestions

* remove const.py

* Address review

* revert changes

* Fix bad merges in rebase

* Get tests to run again

* Fixes due to fails in ruff/pylint

* Fix binary sensor tests

* Fix config flow tests

* Fix sensor tests

* Apply review

* Adjust candle lights

* Apply suggestion

* revert unrelated change

* Address some of the comments

* We should only allow a single jewish calendar config entry

* Make data schema easier to read

* Add test and confirm only single entry is allowed

* Move OPTIONS_SCHEMA to top of file

* Add options test

* Simplify import tests

* Test import end2end

* Use a single async_forward_entry_setups statement

* Revert schema updates for YAML schema

* Remove unneeded brackets

* Remove CONF_NAME from config_flow

* Assign hass.data[DOMAIN][config_entry.entry_id] to a local variable before creating the sensors

* Data doesn't have a name remove slugifying of it

* Test that the entry has been created correctly

* Simplify setup_entry

* Use suggested values helper and flatten location dictionary

* Remove the string for name exists as this error doesn't exist

* Remove name from config entry

* Remove _attr_has_entity_name - will be added in a subsequent PR

* Don't override entity id's - we'll fixup the naming later

* Make location optional - will by default revert to the user's home location

* Update homeassistant/components/jewish_calendar/strings.json

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

* No need for local lat/long variable

* Return name attribute, will deal with it in another PR

* Revert unique_id changes, will deal with this in a subsequent PR

* Add time zone data description

* Don't break the YAML config until the user has removed it.

* Cleanup initial config flow test

---------

Co-authored-by: Tsvi Mostovicz <ttmost@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-24 14:04:17 +02:00
Marcel van der Veldt
23597a8cdf Extend the blocklist for Matter transitions with more models (#118038) 2024-05-24 13:50:10 +02:00
Fabrice
d4acd86819 Make co/co2 threshold configurable via entity_config (#112978)
* make co/co2 threshold configurable via entity_config

* Split threshold into co/co2_threshold configuration
2024-05-24 13:28:19 +02:00
Philip Rosenberg-Watt
e7d23d8b49 Add APRS object tracking (#113080)
* Add APRS object tracking

Closes issue #111731

* Fix unit test

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-24 13:13:02 +02:00
Jan Bouwhuis
f12aee28a8 Improve error logging on invalid MQTT entity state (#118006)
* Improve error logging on invalid MQTT entity state

* Explain not hanlding TpeError and ValueError

* Move length check closer to source

* use _LOGGER.exception
2024-05-24 13:11:52 +02:00
Em
7d44321f0f Remove duplicate tests in generic_thermostat (#105622)
Tests using `setup_comp_4` and `setup_comp_6` have been replaced by a parameterized tests in #105643. Tests using `setup_comp_5` are therefore still duplicates and are removed.
2024-05-24 12:24:05 +02:00
Brett Adams
b99476284b Add Cover platform to Teslemetry (#117340)
* Add cover

* Test coverage

* Json lint

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update tests

* Fix features

* Update snapshot from fixture

* Apply suggestions from code review

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-05-24 12:09:23 +02:00
Jan Bouwhuis
9333965b23 Create bound callback_message_received method for handling mqtt callbacks (#117951)
* Create bound callback_message_received method for handling mqtt callbacks

* refactor a bit

* fix ruff

* reduce overhead

* cleanup

* cleanup

* Revert changes alarm_control_panel

* Add sensor and binary sensor

* use same pattern for MqttAttributes/MqttAvailability

* remove useless function since we did not need to add to it

* code cleanup

* collapse

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-24 11:18:25 +02:00
epenet
d4df86da06 Move TibberDataCoordinator to separate module (#118027) 2024-05-24 11:05:54 +02:00
epenet
95840a031a Move nuki coordinator to separate module (#117975) 2024-05-24 10:55:26 +02:00
Thomas55555
13385912d1 Refactor Husqvarna Automower (#117938) 2024-05-24 10:54:19 +02:00
Sid
bc72f82776 Convert namedtuple to NamedTuple for smartthings (#115395) 2024-05-24 10:53:05 +02:00
Pete Sage
1ad2e4951d Fix Sonos album artwork performance (#116391) 2024-05-24 10:42:45 +02:00
mkmer
5c263b039e Catch client connection error in Honeywell (#117502)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-05-24 10:40:30 +02:00
epenet
bb0b01e4a9 Add error message to snapshot_platform helper (#117974) 2024-05-24 10:38:23 +02:00
J. Nick Koston
488b2edfd8 Bump pySwitchbot to 0.46.1 (#118025) 2024-05-24 10:37:10 +02:00
epenet
39f618d5e5 Add snapshot tests to nuki (#117973) 2024-05-24 10:36:59 +02:00
Ulfmerbold2000
e274316a50 Add missing Ecovacs life spans (#117134)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-05-24 10:36:13 +02:00
Fredrik Erlandsson
d1904941c1 Fix issue with device_class.capitalize() in point (#117969) 2024-05-24 10:35:44 +02:00
Marc Mueller
905adb2431 Update codespell ignore list (#118018) 2024-05-24 10:24:34 +02:00
Marc Mueller
3b4b36a9fd Fix partial typing (#118022) 2024-05-24 10:24:18 +02:00
Marc Mueller
0e03e591e7 Improve callable annotations (#118024) 2024-05-24 10:24:09 +02:00
J. Nick Koston
b7a18e9a8f Avoid calling split_entity_id in event add/remove filters (#118015) 2024-05-24 10:01:33 +02:00
Marc Mueller
01ace8cffd Update typing-extensions to 4.12.0 (#118020) 2024-05-24 10:00:43 +02:00
epenet
a6ca5c5b84 Add logging to SamsungTV turn-on (#117962)
* Add logging to SamsungTV turn-on

* Apply suggestions from code review

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-24 09:59:29 +02:00
Erik Montnemery
f896c7505b Improve async_get_issue_tracker for custom integrations (#118016) 2024-05-24 09:55:05 +02:00
Evgeny
24d31924a0 Migrate OpenWeaterMap to new library (support API 3.0) (#116870)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-23 21:51:10 -10:00
epenet
5bca9d142c Use snapshot in renault diagnostics tests (#118021) 2024-05-24 09:42:33 +02:00
epenet
19aaa8ccee Move plaato coordinator to separate module (#118019) 2024-05-24 09:42:12 +02:00
Franck Nijhof
9224997411 Add sequence action for automations & scripts (#117690)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-05-24 09:34:49 +02:00
kingy444
e70d8aec96 Daikin Aircon - Add strings and debug (#116674) 2024-05-24 09:28:44 +02:00
epenet
edd14929e3 Add snapshot tests to plaato (#118017) 2024-05-24 09:23:09 +02:00
Brett Adams
96d9342f13 Add models to energy sites in Teslemetry (#117419)
* Add models to energy sites and test devices

* Fix device testing

* Revert VIN

* Fix snapshot

* Fix snapshot

* fix snap

* Sort list
2024-05-24 09:18:22 +02:00
Shay Levy
cb59eb183d Switcher - use single_config_entry and register_discovery_flow in con… (#118000) 2024-05-24 09:15:17 +02:00
Brett Adams
ad90ecef3f Add binary sensor platform to Teslemetry (#117230)
* Add binary sensor platform

* Add tests

* Cleanup

* Add refresh test

* Fix runtime_data after rebase

* Remove streaming strings

* test error

* updated_once

* fix updated_once

* assert_entities_alt

* Update homeassistant/components/teslemetry/binary_sensor.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-05-24 08:55:27 +02:00
epenet
8da799e420 Move omnilogic coordinator to separate module (#118014) 2024-05-24 08:48:05 +02:00
Marc Mueller
301c484e05 Fix vallow test fixtures (#118003) 2024-05-24 08:31:21 +02:00
Thomas55555
528d67ee06 Remove unused snapshots [a-f] (#117999) 2024-05-24 08:28:04 +02:00
Brett Adams
3c7857f0f0 Add lock platform to Teslemetry (#117344)
* Add lock platform

* Tests and fixes

* Fix json

* Review Feedback

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* wording

* Fix rebase

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-05-24 08:26:29 +02:00
Marc Mueller
dc47792ff2 Update codespell to 2.3.0 (#118001) 2024-05-24 08:22:29 +02:00
J. Nick Koston
93daac9b3d Update pySwitchbot to 0.46.0 to fix lock key retrieval (#118005)
* Update pySwitchbot to 0.46.0 to fix lock key retrieval

needs https://github.com/Danielhiversen/pySwitchbot/pull/236

* bump

* fixes
2024-05-23 23:59:44 -04:00
Paulus Schoutsen
d1af40f1eb Google gen updates (#117893)
* Add a recommended model for Google Gen AI

* Add recommended settings to Google Gen AI

* Revert no API msg

* Use correct default settings

* Make sure options are cleared when using recommended

* Update snapshots

* address comments
2024-05-23 17:16:48 -04:00
Shay Levy
c0bcf00bf8 Remove Switcher YAML import support (#117994) 2024-05-23 21:12:19 +02:00
epenet
4ee1460eec Move moehlenhoff_alpha2 coordinator to separate module (#117970) 2024-05-23 21:06:00 +02:00
epenet
34deac1a61 Add snapshot tests to omnilogic (#117986) 2024-05-23 21:04:31 +02:00
J. Nick Koston
bdc3bb57f3 Bump habluetooth to 3.1.1 (#117992) 2024-05-23 20:43:14 +02:00
Shay Levy
36d77414c6 Enable Switcher assume buttons for all devices (#117993) 2024-05-23 20:29:49 +02:00
Allen Porter
978fe2d7b0 Bump to google-nest-sdm to 4.0.4 (#117982) 2024-05-23 20:27:48 +02:00
agrauballe
ef138eb976 Deconz - Added trigger support for Aqara WB-R02D mini switch (#117917)
Added support for Aqara WB-R02D mini switch

Co-authored-by: agr <agr@kamstrup.com>
2024-05-23 18:04:37 +02:00
J. Nick Koston
c5cc9801a6 Cache serialize of manifest for loaded integrations (#117965)
* Cache serialize of manifest for loaded integrations

The manifest/list and manifest/get websocket apis
are called frequently when moving around in the UI.
Since the manifest does not change we can make
the the serialized version a cached property

* reduce

* reduce
2024-05-23 10:52:05 -04:00
J. Nick Koston
09e7156d2d Fix turbojpeg init doing blocking I/O in the event loop (#117971)
* Fix turbojpeg init doing blocking I/O in the event loop

fixes
```
Detected blocking call to open inside the event loop by integration camera at homeassistant/components/camera/img_util.py, line 100: TurboJPEGSingleton.__instance = TurboJPEG() (offender: /usr/local/lib/python3.12/ctypes/util.py, line 276: 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+camera%22
```

* Update homeassistant/components/camera/img_util.py

* Fix turbojpeg init doing blocking I/O in the event loop

fixes
```
Detected blocking call to open inside the event loop by integration camera at homeassistant/components/camera/img_util.py, line 100: TurboJPEGSingleton.__instance = TurboJPEG() (offender: /usr/local/lib/python3.12/ctypes/util.py, line 276: 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+camera%22
```

* already suppressed and logged
2024-05-23 10:50:25 -04:00
epenet
6b2ddcca5e Move rainmachine coordinator to separate module (#117983)
* Move rainmachine coordinator to separate module

* Coverage
2024-05-23 16:41:50 +02:00
epenet
162f5ccbde Add snapshot platform tests to rainmachine (#117978)
* Add snapshot tests to rainmachine

* Add sensor and switch tests
2024-05-23 16:29:39 +02:00
epenet
0c243d699c Use SnapshotAssertion in rainmachine diagnostic tests (#117979)
* Use SnapshotAssertion in rainmachine diagnostic tests

* Force entry_id

* Adjust

* Fix incorrect fixtures

* Adjust
2024-05-23 16:22:31 +02:00
Brett Adams
880b315890 Add switch platform to Teslemetry (#117482)
* Add switch platform

* Add tests

* Add test

* Fixes

* ruff

* Rename to storm watch

* Remove valet

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* ruff

* Review feedback

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-05-23 14:28:18 +02:00
epenet
bc51a4c524 Add snapshot tests to moehlenhoff_alpha2 (#117967)
* Add tests to moehlenhoff_alpha2

* Adjust coverage

* Adjust coverage

* Adjust coverage

* Adjust patch

* Adjust
2024-05-23 11:54:20 +02:00
epenet
bbe8e69795 Cleanup pylint ignore (#117964) 2024-05-23 11:09:33 +02:00
dontinelli
6682244abf Improve fyta tests (#117661)
* Add test for init

* update tests

* split common.py into const.py and __init__.py

* Update tests/components/fyta/__init__.py

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

* add autospec, tidy up

* adjust len-test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-23 10:51:30 +02:00
Joost Lekkerkerker
e8f544d216 Bump airgradient to 0.4.1 (#117963) 2024-05-23 10:25:54 +02:00
J. Nick Koston
6c6a5f496a Simplify async_track_time_interval implementation (#117956) 2024-05-22 21:56:49 -10:00
Matthias Alphart
fc4ea774ca Fix run-in-env script for not running in venv (#117961) 2024-05-23 09:14:59 +02:00
kaareseras
cd14d9b0e3 Add Azure data explorer (#68992)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-05-23 09:14:09 +02:00
Galorhallen
767d971c5f Better handling of EADDRINUSE for Govee light (#117943) 2024-05-23 08:45:49 +02:00
Jan-Philipp Benecke
88257c9c42 Allow to reconfigure integrations with single_config_entry set (#117939) 2024-05-23 08:41:12 +02:00
Sid
cc17725d1d Bump ruff to 0.4.5 (#117958) 2024-05-23 07:29:09 +02:00
Shay Levy
178c185a2f Add Shelly debug logging for async_reconnect_soon (#117945) 2024-05-22 23:15:15 -04:00
J. Nick Koston
e663d4f602 Refactor state_reported listener setup to avoid merge in async_fire_internal (#117953)
* Refactor state_reported listener setup to avoid merge in async_fire_internal

Instead of merging the listeners in async_fire_internal, setup the listener for
state_changed at the same time so async_fire_internal can avoid having to copy
another list

* Refactor state_reported listener setup to avoid merge in async_fire_internal

Instead of merging the listeners in async_fire_internal, setup the listener for
state_changed at the same time so async_fire_internal can avoid having to copy
another list

* tweak

* tweak

* tweak

* tweak

* tweak
2024-05-22 23:14:50 -04:00
Paulus Schoutsen
1f7245ecf2 Update LLM no tools message (#117935) 2024-05-22 21:17:03 -04:00
Jan Bouwhuis
050fc73056 Refactor shared mqtt schema's to new module (#117944)
* Refactor mqtt schema's to new module

* Remove unrelated change
2024-05-23 01:12:25 +02:00
Mischa Siekmann
ad69a23fda Send MEDIA_ANNOUNCE flag to ESPHome media_player (#116993) 2024-05-23 09:47:34 +12:00
Peter
eb76386c68 Prevent time pattern reschedule if cancelled during job execution (#117879)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-22 10:36:03 -10:00
Kevin Worrel
40fdc840ab Add number entities for screenlogic values used in SI calc (#117812) 2024-05-22 09:52:09 -10:00
Michael
be6598ea4f Store runtime data inside the config entry in iBeacon (#117936)
store runtime data inside the config entry

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-22 20:44:41 +02:00
epenet
deded19bb3 Add available and state to SamsungTV remote (#117909)
* Add available and state to SamsungTV remote

* Align turn_off

* Fix merge

* Fix merge (again)
2024-05-22 20:35:34 +02:00
J. Nick Koston
0d5c8e30cd Migrate issue registry to use singleton helper (#117848)
* Migrate issue registry to use singleton helper

The other registries were already migrated, but since this
one had a read only flag, it required a slightly different
solution since it uses the same hass.data key

* refactor
2024-05-22 14:13:19 -04:00
Allen Porter
7a6b107248 Move nest diagnostic tests to use snapshots (#117929) 2024-05-22 14:11:07 -04:00
Joost Lekkerkerker
0c5296b38f Add lock to token validity check (#117912) 2024-05-22 14:10:23 -04:00
puddly
55c8ef1c7b Simplify SkyConnect setup flow (#117868)
* Delay firmware probing until after the user picks the firmware type

* Remove confirmation step

* Fix unit tests

* Simplify unit test patching logic

Further simplify unit tests

* Bump Zigbee firmware up to the first choice

* Reuse `async_step_pick_firmware` during options flow

* Proactively validate all ZHA entries, not just the first
There can only be one (for now) so this changes nothing functionally

* Add unit test for bad firmware when configuring Thread
2024-05-22 14:09:30 -04:00
J. Nick Koston
6113b58e9c Speed up registry indices (#117897)
* Use defaultdict for registry indices

defaultdict is faster and does not have to create an empty
dict that gets throw away when the key is already present

* Use defaultdict for registry indices

defaultdict is faster and does not have to create an empty
dict that gets throw away when the key is already present
2024-05-22 14:07:39 -04:00
Michael Hansen
f99ec87338 Fail if targeting all devices in the house in service intent handler (#117930)
* Fail if targeting all devices in the house

* Update homeassistant/helpers/intent.py

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-22 13:53:31 -04:00
Thomas55555
eeeb5b2725 Add switch for stay out zones in Husqvarna Automower (#117809)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-05-22 18:51:21 +02:00
On Freund
f9eb3db897 Bump pyrympro to 0.0.8 (#117919) 2024-05-22 18:14:04 +02:00
tronikos
e4130480c3 Google Generative AI: Handle response with empty parts in generate_content (#117908)
Handle response with empty parts in generate_content
2024-05-22 07:47:16 -07:00
mkmer
5b1677ccb7 Use common title for reauth confirm in Whirlpool config flow (#117924)
* Add missing placeholder

* Use common title for reauth
2024-05-22 16:45:54 +02:00
G Johansson
d1bdf73bc5 Add clear night to smhi (#115998) 2024-05-22 16:03:48 +02:00
Marc Mueller
5c9c71ba2c Fix performance regression with SignalType (#117920) 2024-05-22 13:58:37 +02:00
Joost Lekkerkerker
5229f0d0ef Exclude modbus from diagnostics hassfest check (#117855) 2024-05-22 13:09:20 +02:00
epenet
5ee42ec780 Remove duplicate code in SamsungTV (#117913) 2024-05-22 12:29:25 +02:00
J. Nick Koston
9454dfc719 Bump habluetooth to 3.1.0 (#117905) 2024-05-22 12:28:13 +02:00
J. Nick Koston
4e3c4400a7 Refactor MQTT to replace get_mqtt_data with HassKey (#117899) 2024-05-21 23:21:51 -10:00
Chris
b4d0562063 Adopt new runtime entry data model for AlarmDecoder (#117856)
* Adopt new runtime entity data model for AlarmDecoder

Transition the AlarmDecoder integration to the new runtime entity model.

* Apply change suggestions by epenet

Tested & applied the suggestions from epenet.
2024-05-22 10:47:37 +02:00
epenet
b898c86c89 Add MAC cleanup to SamsungTV (#117906)
* Add MAC cleanup to samsungtv

* Simplify

* Adjust

* leftover

* Appl

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

* Update diagnostics tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-22 10:36:21 +02:00
MatthewFlamm
52bb02b376 Keep observation data valid for 60 min and retry with no data for nws (#117109)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-21 22:14:05 -10:00
epenet
cddb057eae Adjust conftest type hints (#117900) 2024-05-22 09:34:17 +02:00
epenet
39b4e890a0 Add coordinator to SamsungTV (#117863)
* Introduce samsungtv coordinator

* Adjust

* Adjust media_player

* Remove remote

* Adjust

* Fix mypy

* Adjust

* Use coordinator.async_refresh
2024-05-22 09:20:05 +02:00
Jakob Schlyter
2e68363755 Improve typing via hassfest serializer (#117382) 2024-05-22 08:22:18 +02:00
J. Nick Koston
1985a2ad8b Small speed up to creating flows (#117896)
Use a defaultdict instead of setdefault
2024-05-22 08:16:08 +02:00
Robert Svensson
5abf77662a Support carbon dioxide and formaldehyde sensors in deCONZ (#117877)
* Add formaldehyde sensor
* Add carbon dioxide sensor
* Bump pydeconz to v116
2024-05-22 07:33:55 +02:00
J. Nick Koston
f42b98336c Reduce overhead to validate mqtt topics (#117891)
* Reduce overhead to validate mqtt topics

valid_topic would iterate all the chars 4x, refactor to only
do it 1x

valid_subscribe_topic would enumerate all the chars when there was
no + in the string

* check if adding a cache helps

* tweak lrus based on testing stats

* note to future maintainers

* note to future maintainers

* keep standard lru_cache size as increasing makes no material difference
2024-05-21 23:11:05 -04:00
Denis Shulyaka
2f0215b034 LLM Tools support for OpenAI integration (#117645)
* initial commit

* Add tests

* Move tests to the correct file

* Fix exception type

* Undo change to default prompt

* Add intent dependency

* Move format_tool out of the class

* Fix tests

* coverage

* Adjust to new API

* Update strings

* Update tests

* Remove unrelated change

* Test referencing non-existing API

* Add test to verify no exception on tool conversion for Assist tools

* Bump voluptuous-openapi==0.0.4

* Add device_id to tool input

* Fix tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-21 22:45:04 -04:00
J. Nick Koston
09213d8933 Avoid creating tasks to subscribe to discovery in MQTT (#117890) 2024-05-21 16:39:23 -10:00
Denis Shulyaka
009c9e79ae LLM Tools: Add device_id (#117884) 2024-05-21 21:24:46 -04:00
J. Nick Koston
4ed45a322c Reduce overhead to call get_mqtt_data (#117887)
We call this 100000s of times if there are many subscriptions

https://github.com/home-assistant/core/pull/109030#issuecomment-2123612530
2024-05-21 21:11:27 -04:00
J. Nick Koston
f429bfa903 Fix mqtt timer churn (#117885)
Borrows the same design from homeassistant.helpers.storage to avoid
rescheduling the timer every time async_schedule is called if a timer
is already running.

Instead of the timer fires too early it gets rescheduled for the time
we wanted it. This avoids 1000s of timer add/cancel during startup
2024-05-21 21:05:33 -04:00
J. Nick Koston
1800a60a6d Simplify and speed up mqtt_config_entry_enabled check (#117886) 2024-05-21 21:04:31 -04:00
Joakim Plate
5f7b84caea Update philips_js to 3.2.1 (#117881)
* Update philips_js to 3.2.0

* Update to 3.2.1
2024-05-22 00:11:10 +02:00
Matthias Alphart
70cf176d93 Add value_template option to KNX expose (#117732)
* Add value_template option to KNX expose

* template exception handling
2024-05-22 00:09:42 +02:00
Matthias Alphart
622d1e4c50 Add data point type option to knx.telegram trigger (#117463)
* Add data point type (dpt) option to `knx.telegram` trigger

* Rename from `dpt` to `type` to match services

* Add test for GroupValueRead telegrams

* Fix device trigger schema inheritance

* Typesafe dispatcher signal

* readability

* Avoid re-decoding with same transcoder
2024-05-22 00:03:54 +02:00
Matthias Alphart
b94735a445 Add async_turn_on/off methods for KNX climate entities (#117882)
Add async_turn_on/off methods for KNX climate entities
2024-05-21 23:54:43 +02:00
Sid
c2b3bf3fb9 Enable Ruff RET502 (#115139) 2024-05-21 22:19:33 +02:00
Paulus Schoutsen
ff2b851683 Make Google AI model picker a dropdown (#117878) 2024-05-21 22:13:07 +02:00
Paulus Schoutsen
f21226dd0e Address late feedback Google LLM (#117873) 2024-05-21 20:11:18 +02:00
mkmer
2a9b31261c Add missing placeholder name to reauth (#117869)
add placeholder name to reauth
2024-05-21 12:57:23 -04:00
Michael Hansen
8079cc0464 Add description to intent handlers and use in LLM helper (#117864) 2024-05-21 12:54:34 -04:00
wittypluck
0c37a065ad Add support for Glances v4 (#117664) 2024-05-21 16:21:36 +02:00
J. Nick Koston
0112c7fcfd Small speed up to logbook humanify (#117854) 2024-05-21 09:10:20 -04:00
J. Nick Koston
e12d23bd48 Speed up async_get_loaded_integrations (#117851)
* Speed up async_get_loaded_integrations

Use a setcomp and difference to find the components to split
to avoid the loop. A setcomp is inlined in python3.12 so its
much faster

* Speed up async_get_loaded_integrations

Use a setcomp and difference to find the components to split
to avoid the loop. A setcomp is inlined in python3.12 so its
much faster

* simplify

* fix compat

* bootstrap

* fix tests
2024-05-21 09:08:49 -04:00
J. Nick Koston
266ce9e268 Cache area registry JSON serialize (#117847)
We already cache the entity and device registry, but since I never
used area until recently I did not have enough to notice that they
were not cached
2024-05-21 09:03:31 -04:00
J. Nick Koston
905692901c Simplify service description cache logic (#117846) 2024-05-21 09:02:32 -04:00
J. Nick Koston
e8fc4e0f19 Small speed up to adding event bus listeners (#117849) 2024-05-21 13:52:44 +02:00
epenet
bfffcc3ad6 Simplify samsungtv unload (#117838) 2024-05-21 10:01:52 +02:00
epenet
54d048fb11 Remove silver integrations from NO_DIAGNOSTICS (#117840) 2024-05-21 10:01:13 +02:00
Bernardus Jansen
d5e0ffc4d8 Tesla Wall Connector fix spelling error/typo (#117841) 2024-05-21 10:00:29 +02:00
Robert Resch
5e3483ac3c Use uv instead of pip in development env (#113517) 2024-05-21 09:56:31 +02:00
Marc Mueller
d44f949b19 Use PEP 695 misc (2) (#117814) 2024-05-21 09:45:57 +02:00
J. Nick Koston
c1b4c977e9 Convert solax to use DataUpdateCoordinator (#117767) 2024-05-21 09:44:10 +02:00
Thomas55555
bb758bcb26 Bump aioautomower to 2024.5.1 (#117815) 2024-05-21 09:43:36 +02:00
Marc Mueller
58d0ac7f21 Remove future import to fix broken typing.get_type_hints call (#117837) 2024-05-21 09:39:47 +02:00
J. Nick Koston
508cc2e5a1 Remove @ from codeowners when downloading diagnostics (#117825)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-21 09:32:07 +02:00
Bernardus Jansen
d0b1ac6918 Tesla wall connector add sensors (#117769) 2024-05-21 09:30:24 +02:00
dependabot[bot]
0fb78b3ab3 Bump github/codeql-action from 3.25.5 to 3.25.6 (#117835)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 09:29:06 +02:00
epenet
aaa5df9981 Refactor SamsungTV auth check (#117834) 2024-05-21 09:14:17 +02:00
dependabot[bot]
ae0988209b Bump codecov/codecov-action from 4.4.0 to 4.4.1 (#117836)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 09:09:53 +02:00
Allen Porter
fc931ac449 Stop the nest subscriber on Home Assistant stop (#117830) 2024-05-20 22:59:11 -07:00
Marc Mueller
9cbcf5f2a5 Improve zwave_js TypeVar usage (#117810)
* Improve zwave_js TypeVar usage

* Use underscore for TypeVar name
2024-05-21 07:42:07 +02:00
Marc Mueller
26fb7627ed Update scaffold templates to use runtime_data (#117819) 2024-05-21 07:15:08 +02:00
J. Nick Koston
c9d1b127d8 Improve error message when template is rendered from wrong thread (#117822)
* Improve error message when template is rendered from wrong thread

* Improve error message when template is rendered from wrong thread
2024-05-20 23:26:48 -04:00
J. Nick Koston
58210b1968 Bump tesla-powerwall to 0.5.2 (#117823) 2024-05-20 16:51:39 -10:00
J. Nick Koston
7c58f05898 Bump dbus-fast to 2.21.3 (#117824) 2024-05-20 16:27:02 -10:00
puddly
4dc670056c Account for disabled ZHA discovery config entries when migrating SkyConnect integration (#117800)
* Properly handle disabled ZHA discovery config entries

* Update tests/components/homeassistant_sky_connect/test_util.py

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

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-05-20 21:35:57 -04:00
J. Nick Koston
7714f807b4 Detect incorrect exception in forwarded platforms (#117754)
* Detect incorrect exception in forwarded platforms

If an integration raises ConfigEntryError/ConfigEntryAuthFailed/ConfigEntryAuthFailed
in a forwarded platform it would affect the state of the config entry and cause it to
process unloads and setup retries in while the other platforms continued to setup

* Detect incorrect exception in forwarded platforms

If an integration raises ConfigEntryError/ConfigEntryAuthFailed/ConfigEntryAuthFailed
in a forwarded platform it would affect the state of the config entry and cause it to
process unloads and setup retries in while the other platforms continued to setup

* Update homeassistant/config_entries.py

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

* adjust

* fix

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-20 20:01:59 -04:00
MatthewFlamm
4d447ee0a7 Bump pynws to 1.8.1 for nws (#117820) 2024-05-20 10:43:31 -10:00
Marc Mueller
bc2ee96cae Remove quotes surrounding annotations (#117817) 2024-05-20 22:06:58 +02:00
Marc Mueller
1ad8151bd1 Use PEP 695 type alias in tests (#117797) 2024-05-20 19:03:04 +02:00
Michael Hansen
e8aa4b069a Unpause media players that were paused outside voice (#117575)
* Unpause media players that were paused outside voice

* Use time.time()

* Update last paused as media players change state

* Add sleep to test

* Use context

* Implement suggestions
2024-05-20 11:02:36 -05:00
Marc Mueller
32bf02479b Enable UP040 ruff check (#117792) 2024-05-20 15:57:03 +02:00
Franck Nijhof
7f92ee5e04 Update wled to 0.18.0 (#117790) 2024-05-20 14:49:52 +03:00
Marc Mueller
7998f874c0 Use PEP 695 for function annotations with scoping (#117787) 2024-05-20 12:43:39 +02:00
Marc Mueller
f50973c76c Use PEP 695 misc (#117788) 2024-05-20 12:01:49 +02:00
Marc Mueller
649981e503 Update mypy-dev to 1.11.0a3 (#117786) 2024-05-20 11:40:55 +02:00
Marlon
2809070e85 Set integration_type to device for apsystems integration (#117782) 2024-05-20 11:13:08 +02:00
epenet
1bf7a4035c Downgrade tellduslive quality scale to silver (#117784) 2024-05-20 11:07:26 +02:00
epenet
ae5769dc50 Downgrade point quality scale to silver (#117783) 2024-05-20 11:06:56 +02:00
J. Nick Koston
5a609c34bb Fix blocking I/O in the event loop when loading timezones (#117721) 2024-05-20 11:06:03 +02:00
Marc Mueller
0293315b23 Use PEP 695 for covariant class annotations (#117780) 2024-05-20 10:55:44 +02:00
Marc Mueller
f76842d7db Use PEP 695 for hass_dict annotations (#117779) 2024-05-20 10:46:50 +02:00
Marc Mueller
7b27101f8a Use PEP 695 for class annotations (3) (#117777) 2024-05-20 10:46:01 +02:00
Marc Mueller
8f0fb4db3e Use PEP 695 for class annotations (4) (#117778) 2024-05-20 10:44:52 +02:00
Marc Mueller
eedce95bc9 Use PEP 695 for class annotations (2) (#117776) 2024-05-20 10:43:59 +02:00
Marc Mueller
b93312b62c Use PEP 695 for class annotations (1) (#117775) 2024-05-20 10:42:57 +02:00
epenet
3f15b44a11 Move environment_canada coordinator to separate module (#117426) 2024-05-20 10:00:01 +02:00
Marc Mueller
e48cf6fad2 Update pylint to 3.2.2 (#117770) 2024-05-20 09:59:22 +02:00
J. Nick Koston
149120b749 Add setup time detail to diagnostics (#117766) 2024-05-20 09:52:28 +02:00
J. Nick Koston
13ba8e62a9 Fix race in config entry setup (#117756) 2024-05-20 09:47:47 +02:00
J. Nick Koston
d11003ef12 Block older versions of custom integration mydolphin_plus since they cause crashes (#117751) 2024-05-20 09:45:52 +02:00
J. Nick Koston
fe769c4527 Fix missing type for mqtt websocket wrapper (#117752) 2024-05-20 09:32:50 +02:00
epenet
570d5f2b55 Add turn_on to SamsungTV remote (#117403)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-19 20:14:20 -10:00
Ricardo Steijn
14f1e8c520 Bump crownstone-sse to 2.0.5, crownstone-cloud to 1.4.11 (#117748) 2024-05-19 19:18:28 -10:00
Alberto Geniola
9fab2aa2bc Update elmax_api to v0.0.5 (#117693)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-19 19:16:46 -10:00
Denis Shulyaka
c3196a5667 LLM Tools support for Google Generative AI integration (#117644)
* initial commit

* Undo prompt chenges

* Move format_tool out of the class

* Only catch HomeAssistantError and vol.Invalid

* Add config flow option

* Fix type

* Add translation

* Allow changing API access from options flow

* Allow model picking

* Remove allowing HASS Access in main flow

* Move model to the top in options flow

* Make prompt conditional based on API access

* convert only once to dict

* Reduce debug logging

* Update title

* re-order models

* Address comments

* Move things

* Update labels

* Add tool call tests

* coverage

* Use LLM APIs

* Fixes

* Address comments

* Reinstate the title to not break entity name

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-19 22:11:25 -04:00
J. Nick Koston
ac3321cef1 Fix setting MQTT socket buffer size with WebsocketWrapper (#117672) 2024-05-19 14:09:21 -10:00
Jan-Philipp Benecke
99565bef27 Bump pydiscovergy to 3.0.1 (#117740) 2024-05-19 20:56:58 +02:00
Maciej Bieniek
826f6c6f7e Refactor tests for Brother integration (#117377)
* Refactor tests - step 1

* Remove fixture

* Refactor test_init

* Refactor test_diagnostics

* Refactor test_config_flow

* Increase test coverage

* Cleaning

* Cleaning

* Check config entry state in test_async_setup_entry

* Simplify patching

* Use AsyncMock when patching

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-19 20:41:47 +02:00
Anrijs
d2008ffdd7 Bump aranet4 to 2.3.4 (#117738)
bump aranet4 lib version to 2.3.4
2024-05-19 21:08:39 +03:00
Guido Schmitz
e68bf623a7 Use reauth helper in devolo Home Control (#117739) 2024-05-19 19:31:19 +02:00
Joost Lekkerkerker
1b105a3c97 Use helper in Withings reauth (#117727) 2024-05-19 19:25:31 +02:00
Shay Levy
d84890bc59 Bump aioshelly to 10.0.0 (#117728) 2024-05-19 19:25:12 +02:00
Guido Schmitz
38f0c47942 Use reauth helper in devolo Home Network (#117736) 2024-05-19 19:23:30 +02:00
Jake Martin
cc60fc6d9f Bump monzopy to 1.2.0 (#117730) 2024-05-19 15:37:25 +02:00
jjlawren
b8c5dcaeef Bump PlexAPI to 4.15.13 (#117712) 2024-05-19 11:36:25 +02:00
Maciej Bieniek
da42a8e1c6 Use SnmpEngine stored in hass.data by singleton in Brother integration (#117043) 2024-05-19 11:33:21 +02:00
Paulus Schoutsen
d001e7daea Add API class to LLM helper (#117707)
* Add API class to LLM helper

* Add more tests

* Rename intent to assist to broaden scope
2024-05-18 21:14:05 -04:00
Shay Levy
bfc52b9fab Avoid Shelly RPC reconnect during device shutdown (#117702) 2024-05-19 02:05:51 +03:00
Paulus Schoutsen
c59010c499 Remove AngellusMortis as code-owner Unifi Protect (#117708) 2024-05-18 22:54:00 +02:00
Paulus Schoutsen
98330162e9 Add GitHub CoPilot to extensions devcontainer (#117699) 2024-05-18 22:30:22 +02:00
Michael
6d3cafb43b Move entity definitions into own module in AVM Fritz!Tools (#117701)
* move entity definitions into own module

* merge entity description mixin

* add entity.py to .coveragerc
2024-05-18 22:25:25 +02:00
Michael
a983a8c6d8 Consider only active config entries as media source in Synology DSM (#117691)
consider only active config entries as media source
2024-05-18 16:38:22 +02:00
epenet
d81bb8cdcd Allow manual delete of stale Renault vehicles (#116229) 2024-05-18 13:46:38 +02:00
Ville Skyttä
a27cc24da2 Filter out HTML greater/less than entities from huawei_lte sensor values (#117209) 2024-05-18 13:45:42 +02:00
epenet
3a8bdfbfdf Use remove_device helper in tasmota tests (#116617) 2024-05-18 13:43:21 +02:00
Joost Lekkerkerker
1d16e219e4 Refactor Aurora tests (#117323) 2024-05-18 13:40:30 +02:00
Sid
54ba393be8 Add __pycache__ to gitignore (#114056) 2024-05-18 13:30:03 +02:00
Brett Adams
1b0c91fa4d Improve diagnostics in Teslemetry (#117613) 2024-05-18 13:27:23 +02:00
Joost Lekkerkerker
b39028acf2 Improve Monzo tests (#117036) 2024-05-18 13:20:08 +02:00
epenet
4dad9c8859 Move plenticore coordinators to separate module (#117491) 2024-05-18 13:11:22 +02:00
Joost Lekkerkerker
c38539b368 Use generator expression in poolsense (#117582) 2024-05-18 13:10:06 +02:00
Marc Mueller
10dfa91e54 Remove useless TypeVars (#117687) 2024-05-18 12:58:51 +02:00
Marc Mueller
97a4101900 Use PEP 695 for dispatcher helper typing (#117685) 2024-05-18 12:47:03 +02:00
Bouwe Westerdijk
fe6df8db1e Add options-property to Plugwise Select (#117655) 2024-05-18 12:39:58 +02:00
Marc Mueller
3cd1717437 Improve YieldFixture typing (#117686) 2024-05-18 12:35:02 +02:00
Marc Mueller
26a599ad11 Use PEP 695 for function annotations (1) (#117658) 2024-05-18 11:45:54 +02:00
Marc Mueller
900b6211ef Use PEP 695 for function annotations (2) (#117659) 2024-05-18 11:44:39 +02:00
Marc Mueller
4cf0a3f154 Use PEP 695 for function annotations (3) (#117660) 2024-05-18 11:43:32 +02:00
Marc Mueller
34ea781031 Use PEP 695 for decorator typing with type aliases (1) (#117662) 2024-05-18 11:42:39 +02:00
Marc Mueller
907b9c42e5 Use PEP 695 for decorator typing with type aliases (2) (#117663) 2024-05-18 11:41:46 +02:00
tronikos
d65437e347 Bump google-generativeai==0.5.4 (#117680) 2024-05-18 11:38:33 +02:00
On Freund
b97cf9ce42 Bump pyrisco to 0.6.2 (#117682) 2024-05-18 11:37:24 +02:00
Maciej Bieniek
fe65ef72a7 Add missing string reconfigure_successful for NAM reconfigure flow (#117683)
Add missing string reconfigure_successful

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-18 11:24:39 +02:00
David Knowles
034197375c Clean up some bad line wrapping in Hydrawise (#117671)
Fix some bad line wrapping
2024-05-18 10:26:22 +02:00
epenet
a904557bbb Move philips_js coordinator to separate module (#117561) 2024-05-18 10:21:22 +02:00
epenet
7ceaf2d3f0 Move tomorrowio coordinator to separate module (#117537)
* Move tomorrowio coordinator to separate module

* Adjust imports
2024-05-18 09:01:50 +02:00
Christopher Tremblay
b015dbfccb Add AlarmDecoder device info (#117357)
* Update AlarmDecoder component to newer model

This commit makes AlarmDecoder operate as a proper device entity following the new model introduced a few years ago.

Code also has an internal dependency on a newer version of adext (>= 0.4.3) which has been updated correspondingly.

* Created AlarmDecoder entity

Added an alarmdecoder entity so the device_info can be re-used across the integration

* Move _attr_has_entity_name to base entity

As per code review suggestion, clean up the object model.

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Missed one suggestion with the prior commit

Moves _attr_has_entity_name to base entity

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Address some ruff issues

* Apply additional ruff cleanups

Ran ruff again to clean up a few files tat weren't picked up last time

* Apply suggestions from code review

Some additional cleanup of style & removal of unnecessary code

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Properly generated the integration file

generation had to happen twice for this to work.  Now that it's generated, I'm including the missing update.

* Apply suggestions from code review

Use local client variable instead of self._client

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Sort the manifest

documentation was added, but it wasn't sorted properly in the key/value pairs

* Add alarmdecoder entity file to coverage ignore file

Added the alarmdecoder entity file so it is ignored for coverage

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-05-18 08:59:44 +02:00
Mr. Bubbles
2b195cab72 Fix Habitica doing blocking I/O in the event loop (#117647) 2024-05-17 21:06:26 -04:00
Maikel Punie
3efdeaaa77 Bump pyduotecno to 2024.5.1 (#117643) 2024-05-17 18:37:59 +02:00
Allen Porter
caa35174cb Add Google Gen AI Conversation Agent Entity (#116362)
* Add Google Gen AI Conversation Agent Entity

* Rename agent to entity

* Revert ollama changes

* Don't copy service tests to conversation_test.py

* Move logger and cleanup snapshots

* Move property after init

* Set logger to use package

* Cleanup hass from constructor

* Fix merges

* Revert ollama change
2024-05-17 11:00:11 -04:00
epenet
fce4263493 Move p1_monitor coordinator to separate module (#117562) 2024-05-17 16:34:47 +02:00
Marc Mueller
c41962455e Use PEP 695 for decorator typing (2) (#117639) 2024-05-17 16:31:01 +02:00
Marc Mueller
25d1ca747b Use PEP 695 for decorator typing (3) (#117640) 2024-05-17 16:27:32 +02:00
Marc Mueller
34bd291615 Use PEP 695 for decorator typing (1) (#117638) 2024-05-17 16:27:02 +02:00
epenet
067c9e63e9 Adjust bootstrap script to use correct version of pre-commit (#117621) 2024-05-17 16:18:44 +02:00
Joost Lekkerkerker
9cf8e49b01 Fix icons and strings in Balboa (#117618) 2024-05-17 16:17:36 +02:00
epenet
a29a0a36e5 Move elmax coordinator to separate module (#117425) 2024-05-17 16:02:19 +02:00
epenet
bbcbf57117 Add snapshot tests to elmax (#117637)
* Add snapshot tests to elmax

* Rename test methods

* Re-generate
2024-05-17 15:55:38 +02:00
Marc Mueller
44049c34f9 Use PEP 695 type alias for ConfigEntry types (#117632) 2024-05-17 15:42:58 +02:00
Joost Lekkerkerker
0b8a5ac9ad Add snapshot tests to Balboa (#117620) 2024-05-17 15:38:39 +02:00
epenet
081bf1cc39 Move modern_forms coordinator to separate module (#117610) 2024-05-17 15:19:40 +02:00
Bas Brussee
658c1f3d97 Fix Tibber sensors state class (#117085)
* set correct state classes

* revert bool to pass mypy locally
2024-05-17 09:10:08 -04:00
tronikos
a7ca36e88c Android TV Remote: Mention the TV will turn on in the reauth flow (#117548)
* Update strings.json

* Remove duplicate space

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-05-17 09:05:46 -04:00
Franck Nijhof
3dc3de95fa 2024.5.4 (#117631) 2024-05-17 15:04:13 +02:00
Marc Mueller
87bb7ced79 Use PEP 695 for simple type aliases (#117633) 2024-05-17 14:42:21 +02:00
Franck Nijhof
5c8f7fe52a Fix rc pylint warning for Home Assistant Analytics (#117635) 2024-05-17 14:13:10 +02:00
Franck Nijhof
8896d134e9 Bump version to 2024.5.4 2024-05-17 13:45:47 +02:00
Robert Svensson
f043b2db49 Improve syncing light states to deCONZ groups (#117588) 2024-05-17 13:45:03 +02:00
Joost Lekkerkerker
5cd101d2b1 Fix poolsense naming (#117567) 2024-05-17 13:45:00 +02:00
Joost Lekkerkerker
ab9ed0eba4 Handle uncaught exceptions in Analytics insights (#117558) 2024-05-17 13:44:57 +02:00
starkillerOG
4548ff619c Bump reolink-aio to 0.8.10 (#117501) 2024-05-17 13:44:53 +02:00
Erik Montnemery
b1746faa47 Fix API creation for passwordless pi_hole (#117494) 2024-05-17 13:43:50 +02:00
starkillerOG
615ae780ca Reolink fix not unregistering webhook during ReAuth (#117490) 2024-05-17 13:38:56 +02:00
J. Nick Koston
b86513c3a4 Fix non-thread-safe state write in tellduslive (#117487) 2024-05-17 13:38:51 +02:00
Maikel Punie
970ad8c07c Bump pyduotecno to 2024.5.0 (#117446) 2024-05-17 13:38:48 +02:00
Franck Nijhof
819e9860a8 Update wled to 0.17.1 (#117444) 2024-05-17 13:38:44 +02:00
mk-81
e7ff552de6 Fix Kodi on/off status (#117436)
* Fix Kodi Issue 104603

Fixes issue, that Kodi media player is displayed as online even when offline. The issue occurrs when using HTTP(S) only (no web Socket) integration after kodi was found online once.
Issue: In async_update the connection exceptions from self._kodi.get_players are not catched and therefore self._players (and the like) are not reset. The call of self._connection.connected returns always true for HTTP(S) connections.

Solution: Catch Exceptions from self._kodi.get_players und reset state in case of HTTP(S) only connection. Otherwise keep current behaviour.

* Fix Kodi Issue 104603 / code style adjustments

as requested
2024-05-17 13:38:41 +02:00
Jiaqi Wu
f48f8eefe7 Fix Lutron Serena Tilt Only Wood Blinds set tilt function (#117374) 2024-05-17 13:38:38 +02:00
J. Nick Koston
c90818e10c Fix squeezebox blocking startup (#117331)
fixes #117079
2024-05-17 13:38:33 +02:00
tronikos
642a6b44eb Call Google Assistant SDK service using async_add_executor_job (#117325) 2024-05-17 13:38:30 +02:00
Joost Lekkerkerker
bca20646bb Fix Aurora naming (#117314) 2024-05-17 13:38:26 +02:00
Jan Bouwhuis
dba4785c9b Increase MQTT broker socket buffer size (#117267)
* Increase MQTT broker socket buffer size

* Revert unrelated change

* Try to increase buffer size

* Set INITIAL_SUBSCRIBE_COOLDOWN back to 0.5 sec

* Sinplify and add test

* comments

* comments

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-17 13:38:23 +02:00
Raman Gupta
57cf91a8d4 Fix zwave_js discovery logic for node device class (#117232)
* Fix zwave_js discovery logic for node device class

* simplify check
2024-05-17 13:38:19 +02:00
jjlawren
17c6a49ff8 Bump SoCo to 0.30.4 (#117212) 2024-05-17 13:38:17 +02:00
Tom Harris
5941cf05e4 Fix issue changing Insteon Hub configuration (#117204)
Add Hub version to config schema
2024-05-17 13:38:14 +02:00
Thomas55555
a53b8cc0e2 Add reauth for missing token scope in Husqvarna Automower (#117098)
* Add repair for wrong token scope to Husqvarna Automower

* avoid new installations with missing scope

* tweaks

* just reauth

* texts

* Add link to correct account

* Update homeassistant/components/husqvarna_automower/strings.json

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

* Update homeassistant/components/husqvarna_automower/strings.json

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

* Update homeassistant/components/husqvarna_automower/strings.json

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

* Add comment

* directly assert mock_missing_scope_config_entry.state is loaded

* assert that a flow is started

* pass complete url to strings and simplify texts

* shorten long line

* address review

* simplify tests

* grammar

* remove obsolete fixture

* fix test

* Update tests/components/husqvarna_automower/test_init.py

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

* test if reauth flow has started

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-17 13:38:11 +02:00
Michal Čihař
9d25d228ab Reduce update interval in Ondilo Ico (#116989)
Ondilo: reduce update interval

The API seems to have sticter rate-limiting and frequent requests fail
with HTTP 400.

Fixes #116593
2024-05-17 13:38:08 +02:00
tronikos
652ee1b90d Avoid exceptions when Gemini responses are blocked (#116847)
* Bump google-generativeai to v0.5.2

* Avoid exceptions when Gemini responses are blocked

* pytest --snapshot-update

* set error response

* add test

* ruff
2024-05-17 13:38:05 +02:00
Thomas55555
afb5e622cd Catch auth exception in husqvarna automower (#115365)
* Catch AuthException in Husqvarna Automower

* don't use getattr

* raise ConfigEntryAuthFailed
2024-05-17 13:38:01 +02:00
Maikel Punie
4501658a16 Mark Duotecno entities unavailable when tcp goes down (#114325)
When the tcp connection to the duotecno smartbox goes down, mark all entities as unavailable.
2024-05-17 13:37:58 +02:00
amura11
52147e5196 Fix Fully Kiosk set config service (#112840)
* Fixed a bug that prevented setting Fully Kiosk config values using a template

* Added test to cover change

* Fixed issue identified by Ruff

* Update services.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-17 13:37:52 +02:00
Marc Mueller
4edee94a81 Update mypy-dev to 1.11.0a2 (#117630) 2024-05-17 13:32:20 +02:00
epenet
eacbebce22 Prevent const.py in coverage ignore list (#117625) 2024-05-17 12:53:58 +02:00
Joost Lekkerkerker
098ba125d1 Extract Monzo coordinator in separate module (#117034) 2024-05-17 12:40:19 +02:00
epenet
addc4a84ff Rename hassio coordinator module (#117611) 2024-05-17 12:10:21 +02:00
epenet
ac62faee23 Bump pre-commit to 3.7.1 (#117619) 2024-05-17 11:44:51 +02:00
starkillerOG
abe83f5515 Fix Reolink battery translation_key unneeded (#117616) 2024-05-17 09:09:01 +02:00
dependabot[bot]
1589226618 Bump actions/checkout from 4.1.4 to 4.1.6 (#117612)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 08:45:23 +02:00
Robert Svensson
bbfc2456ec Improve syncing light states to deCONZ groups (#117588) 2024-05-17 08:44:09 +02:00
J. Nick Koston
48ea15cc6e Fix dlna_dmr task flood when player changes state (#117606) 2024-05-17 08:40:14 +02:00
epenet
bbf86335be Move opengarage coordinator to separate module (#117608) 2024-05-17 08:05:43 +02:00
epenet
407d0f88f0 Rename openweathermap coordinator module (#117609) 2024-05-17 08:05:11 +02:00
Tom Harris
9420e041ac Fix issue changing Insteon Hub configuration (#117204)
Add Hub version to config schema
2024-05-16 21:45:03 -04:00
Robert Svensson
0e3c0ccfd8 Remove old deCONZ entity cleanup (#117590) 2024-05-16 21:42:09 -04:00
Robert Svensson
657b3ceedc Rework deCONZ services to load once and never unload (#117592)
* Rework deCONZ services to load once and never unload

* Fix hassfest
2024-05-16 21:41:23 -04:00
Marc Mueller
4300ff6b60 Mark HassJob target as Final (#117578) 2024-05-17 00:01:07 +02:00
MatthewFlamm
121aa158c9 Use config entry runtime_data in nws (#117593) 2024-05-16 23:14:44 +02:00
starkillerOG
f788f88052 Add Reolink battery entities (#117506)
* add battery sensors

* Disable Battery Temperature and State by default

* fix mypy

* Use device class for icon
2024-05-16 21:41:19 +02:00
Joost Lekkerkerker
68b7302cdc Add Poolsense platform tests (#117579) 2024-05-16 21:35:00 +02:00
MatthewFlamm
9aa7d3057b Add diagnostics for nws (#117587)
* add diagnostics

* remove hassfezt exception
2024-05-16 21:26:22 +02:00
Chris Talkington
5635bcce86 Bump pyipp to 0.16.0 (#117583)
bump pyipp to 0.16.0
2024-05-16 13:04:35 -05:00
Joost Lekkerkerker
cd8dac65b3 Refactor Poolsense config flow tests (#117573) 2024-05-16 17:51:57 +02:00
Maciej Bieniek
789073384b Support reconfigure flow in Shelly integration (#117525)
* Support reconfigure flow

* Update strings

* Add tests

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-16 17:47:12 +02:00
epenet
996132f3f8 Ensure gold and platinum integrations implement diagnostic (#117565) 2024-05-16 11:33:23 -04:00
Joost Lekkerkerker
0335a01fba Use runtime data in Poolsense (#117570) 2024-05-16 17:31:14 +02:00
Joakim Sørensen
535aa05c65 Update hass-nabucasa dependency to version 0.81.0 (#117568) 2024-05-16 11:08:01 -04:00
epenet
d670f1d81d Move pure_energie coordinator to separate module (#117560) 2024-05-16 16:51:25 +02:00
Michael Hansen
e168cb96e9 Add area filter and rounded time to timers (#117527)
* Add area filter

* Add rounded time to status

* Fix test

* Extend test

* Increase test coverage
2024-05-16 09:45:14 -05:00
Joost Lekkerkerker
ba395fb9f3 Fix poolsense naming (#117567) 2024-05-16 16:42:40 +02:00
epenet
d019c25ae4 Move pvpc coordinator to separate module (#117559) 2024-05-16 16:06:50 +02:00
dfaour
6f5e820090 Improve recorder statistics error messages (#113498)
* Update statistics.py

Added more detail error descriptions to make debugging easier

* Update statistics.py

formatting corrected
2024-05-16 13:44:03 +02:00
Joost Lekkerkerker
4cded378bf Handle uncaught exceptions in Analytics insights (#117558) 2024-05-16 13:43:03 +02:00
epenet
59645aeb0f Move risco coordinator to separate module (#117549) 2024-05-16 13:29:57 +02:00
epenet
388132cfc8 Move rainforest_eagle coordinator to separate module (#117556) 2024-05-16 12:57:20 +02:00
Simone Chemelli
32a9cb4b14 Add Shelly motion sensor switch (#115312)
* Add Shelly motion sensor switch

* update name

* make motion switch a restore entity

* add test

* apply review comment

* Update tests/components/shelly/test_switch.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* Update tests/components/shelly/test_switch.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* Update tests/components/shelly/test_switch.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* Update tests/components/shelly/test_switch.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* rename switch

* Update tests/components/shelly/test_switch.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* Update tests/components/shelly/test_switch.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* Update tests/components/shelly/test_switch.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* fix ruff

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-05-16 12:49:49 +02:00
Marc Mueller
53da59a454 Replace meaningless TypeVar usage (#117553) 2024-05-16 12:48:02 +02:00
Marc Mueller
ab07bc5298 Improve ReloadServiceHelper typing (#117552) 2024-05-16 12:47:43 +02:00
Sid
9d10e42d79 Only allow ethernet and wi-fi interfaces as unique ID in webmin (#113084) 2024-05-16 12:16:13 +02:00
Jeffrey Stone
e6f5b08264 Add functionality to Mastodon (#112862)
* Adds functionality to Mastodon

* protect media type

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

* update log warning

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

* protect upload media

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

* Update protected functions

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-16 12:08:50 +02:00
epenet
962dd81eb7 Move upcloud coordinator to separate module (#117536) 2024-05-16 11:45:22 +02:00
epenet
c2bf4b905c Move surepetcare coordinator to separate module (#117544) 2024-05-16 11:44:36 +02:00
Christopher Tremblay
2a540e1100 Bump adext to 0.4.3 (#117496) 2024-05-16 10:54:44 +02:00
Mischa Siekmann
481264693e Bump aioesphomeapi to 24.4.0 (#117543) 2024-05-16 10:53:00 +02:00
epenet
8bbac8040f Move gogogate2 coordinator to separate module (#117433) 2024-05-16 09:11:49 +02:00
epenet
07d289d1c6 Move switcher_kis coordinator to separate module (#117538) 2024-05-16 10:11:19 +03:00
epenet
2cd9bc1c2c Move xbox coordinator to separate module (#117421) 2024-05-16 09:10:41 +02:00
Sid
6ce1d97e7a Add Webmin filesystem sensors (#112660)
* Add Webmin filesystem sensors

* fix names

* update snapshots

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-16 09:03:35 +02:00
epenet
465e3d421e Move google coordinator to separate module (#117473) 2024-05-15 20:40:51 -07:00
J. Nick Koston
f1e8262db2 Bump bleak to 0.22.1 (#117383) 2024-05-16 12:36:27 +09:00
Michael Hansen
daee3d8db0 Don't prioritize "name" slot if it's a wildcard in default conversation agent (#117518)
* Don't prioritize "name" slot if it's a wildcard

* Fix typing error
2024-05-15 22:23:24 -04:00
Denis Shulyaka
f31873a846 Add LLM tools (#115464)
* Add llm helper

* break out Tool.specification as class members

* Format state output

* Fix intent tests

* Removed auto initialization of intents - let conversation platforms do that

* Handle DynamicServiceIntentHandler.extra_slots

* Add optional description to IntentTool init

* Add device_id and conversation_id parameters

* intent tests

* Add LLM tools tests

* coverage

* add agent_id parameter

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Fix tests

* Fix intent schema

* Allow a Python function to be registered as am LLM tool

* Add IntentHandler.effective_slot_schema

* Ensure IntentHandler.slot_schema to be vol.Schema

* Raise meaningful error on tool not found

* Move this change to a separate PR

* Update todo integration intent

* Remove Tool constructor

* Move IntentTool to intent helper

* Convert custom serializer into class method

* Remove tool_input from FunctionTool auto arguments to avoid recursion

* Remove conversion into Open API format

* Apply suggestions from code review

* Fix tests

* Use HassKey for helpers (see #117012)

* Add support for functions with typed lists, dicts, and sets as type hints

* Remove FunctionTool

* Added API to get registered intents

* Move IntentTool to the llm library

* Return only handlers in intents.async.get

* Removed llm tool registration from intent library

* Removed tool registration

* Add bind_hass back for now

* removed area and floor resolving

* fix test

* Apply suggestions from code review

* Improve coverage

* Fix intent_type type

* Temporary disable HassClimateGetTemperature intent

* Remove bind_hass

* Fix usage of slot schema

* Fix test

* Revert some test changes

* Don't mutate tool_input

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-15 19:16:47 -04:00
Paulus Schoutsen
4aba92ad04 Fix the type of slot schema of intent handlers (#117520)
Fix the slot schema of dynamic intenet handler
2024-05-15 16:45:15 -04:00
Paulus Schoutsen
a95baf0d39 Set integration type for wyoming (#117519)
* Set integration type to wyoming

* Add entry_type
2024-05-15 16:17:49 -04:00
Jan-Philipp Benecke
5e194b8a82 Do not register mqtt mock config flow with handlers (#117521) 2024-05-15 16:17:27 -04:00
epenet
0a625baeed Rename fritz coordinator module (#117440)
* Rename fritz coordinator module

* Update .coveragerc

* Adjust .coveragerc

* Adjust coverage

* Adjust coverage
2024-05-15 21:58:29 +02:00
IceBotYT
ebb02a7081 Add light platform to Linear garage door (#111426)
* Add light platform

* Fix light test

* Suggestions by CFenner

* Fix tests

* More fixes

* Revert test changes

* Undo base entity

* Rebase

* Fix to use base entity

* Fix name

* More fixes

* Fix tests

* Add translation key

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-15 21:43:31 +02:00
starkillerOG
38c2688ec2 Add Reolink PIR entities (#117507)
* Add PIR entities

* fix typo
2024-05-15 21:10:52 +02:00
Matthias Alphart
ec4c8ae228 Allow templates for enabling actions (#117049)
* Allow templates for enabling automation actions

* Use `cv.template` instead of `cv.template_complex`

* Rename test function
2024-05-15 21:03:52 +02:00
Matthias Alphart
076f57ee07 Allow templates for enabling conditions (#117047)
* Allow templates for enabling automation conditions

* Use `cv.template` instead of `cv.template_complex`
2024-05-15 21:03:28 +02:00
epenet
aa2485c7b9 Move vallox coordinator to separate module (#117503)
* Move vallox coordinator to separate module

* Move logic into coordinator class

* Adjust
2024-05-15 21:01:21 +02:00
epenet
2c6071820e Move vizio coordinator to separate module (#117498) 2024-05-15 21:00:21 +02:00
Marlon
3604a34823 Post review comments on APsystems (#117504)
* Cleanup for apsystems and fix for strings

* Migrate to typed ConfigEntry Data for apsystems

* Improve strings for apsystems

* Improve config flow tests for apsystems by cleaning up fixtures

* Do not use Dataclass for Config Entry Typing

* Improve translations for apsystems by using sentence case and removing an apostrophe

* Rename test fixture and remove unnecessary comment in tests from apsystems

* Remove default override with default in coordinator from apsystems
2024-05-15 19:56:12 +02:00
Brett Adams
4125b6e15f Add select platform to Teslemetry (#117422)
* Add select platform

* Add tests

* Tests WIP

* Add tests

* Update homeassistant/components/teslemetry/select.py

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

* Update homeassistant/components/teslemetry/select.py

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

* use references

* Fix typo

* Update homeassistant/components/teslemetry/select.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/teslemetry/select.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Make less confusing for @joostlek

* Update homeassistant/components/teslemetry/select.py

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

* Update homeassistant/components/teslemetry/select.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-05-15 18:17:28 +02:00
Åke Strandberg
c4c96be880 Add alarm and connectivity binary_sensors to myuplink (#111643)
* Add alarm and connectivity binary_sensors

* Get is_on for correct system

* Make coverage 100% in binary_sensor

* Address review comments

* Revert dict comprehension for now
2024-05-15 17:13:56 +02:00
Anil Daoud
8eaf471dd2 Improve error handing in kaiterra data retrieval when no aqi data is present (#112885)
* Update api_data.py

change log level on typeerror on line 103 from error to debug, it occurs too often to be useful as an error

* Update api_data.py

restore error level and add a type check instead

* Update homeassistant/components/kaiterra/api_data.py

actually filter for aqi being None rather than None or 0

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-15 16:22:58 +02:00
starkillerOG
fd8dbe0367 Bump reolink-aio to 0.8.10 (#117501) 2024-05-15 16:19:02 +02:00
Dennis Lee
4d34350f66 Add Jellyfin audio_codec optionflow (#113036)
* Fix #92419; Add Jellyfin audio_codec optionflow

* Use CONF_AUDIO_CODEC constant, clean up code based on suggestions

* Fixed typos

* Parameterize Tests

* Use parameterized test for jellyfin test media resolve

* Apply suggestions from code review

* Update homeassistant/components/jellyfin/config_flow.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-15 16:11:11 +02:00
tronikos
d2d39bce3a Android TV Remote: Support launching any app by its application ID/package name (#116906)
Bumps androidtvremote2 to 0.1.1
2024-05-15 15:48:57 +02:00
Marcel van der Veldt
5af8041c57 Fix ghost events for Hue remotes (#113047)
* Use report values for events

* adjust tests
2024-05-15 15:48:15 +02:00
epenet
4e600b7b19 Move venstar coordinator to separate module (#117500) 2024-05-15 15:18:26 +02:00
Maikel Punie
d5a1587b1c Mark Duotecno entities unavailable when tcp goes down (#114325)
When the tcp connection to the duotecno smartbox goes down, mark all entities as unavailable.
2024-05-15 15:12:47 +02:00
amura11
2a9d29c5f5 Fix Fully Kiosk set config service (#112840)
* Fixed a bug that prevented setting Fully Kiosk config values using a template

* Added test to cover change

* Fixed issue identified by Ruff

* Update services.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-15 15:01:55 +02:00
epenet
60193a3c2d Move mill coordinator to separate module (#117493) 2024-05-15 13:52:32 +02:00
epenet
4803db7cf0 Move prusalink coordinators to separate module (#117495) 2024-05-15 13:51:22 +02:00
Erik Montnemery
6ecc0ec3a1 Fix API creation for passwordless pi_hole (#117494) 2024-05-15 13:39:07 +02:00
epenet
6bd3648c77 Move melnor coordinator to separate module (#117486) 2024-05-15 12:13:05 +02:00
J. Nick Koston
37c55d81e3 Fix non-thread-safe state write in tellduslive (#117487) 2024-05-15 12:08:24 +02:00
starkillerOG
e286621f93 Reolink fix not unregistering webhook during ReAuth (#117490) 2024-05-15 12:04:12 +02:00
epenet
6c892b227b Rename mikrotik coordinator module (#117488) 2024-05-15 12:02:33 +02:00
epenet
73ed49e4b7 Remove ignore-wrong-coordinator-module in pylint CI (#117479) 2024-05-15 11:51:14 +02:00
epenet
6116caa7ed Move idasen_desk coordinator to separate module (#117485) 2024-05-15 11:26:40 +02:00
epenet
48c03a6564 Move gios coordinator to separate module (#117471) 2024-05-15 11:26:04 +02:00
Aidan Timson
65e6e1fa28 Add exception translations to System Bridge integration (#112206)
* Add exception translations to System Bridge integration

* Add translated error to coordinator

* Refactor strings.json in system_bridge component

* Sort

* Add HomeAssistantError import
2024-05-15 11:00:56 +02:00
Dave T
30f789d5e9 Set integration type for generic (#117464) 2024-05-15 09:33:47 +02:00
epenet
a36ad6bb64 Move ialarm coordinator to separate module (#117478) 2024-05-15 09:30:44 +02:00
Joost Lekkerkerker
72d873ce70 Rename add entities function in Aurora (#117480) 2024-05-15 09:27:19 +02:00
Franck Nijhof
bed31f302a Revert "Bump opower to 0.4.5 and use new account.id" (#117476) 2024-05-15 09:22:45 +02:00
Erik Montnemery
e6296ae502 Revert "Add Viam image processing integration" (#117477) 2024-05-15 09:20:40 +02:00
Renat Sibgatulin
be5d6425dc Add options flow to the airq integration (#109337)
* Add support for options to airq integration

Expose to the user the following configuration:
1. A choice between fetching from the device either:
    a. the averaged (previous and the new default behaviour) or
    b. noisy momentary sensor reading
2. A toggle to clip (spuriously) negative sensor values (default
    functionality, previously unexposed)

To those ends:
- Introduce an `OptionsFlowHandler` alongside with a listener
  `AirQCoordinator.async_set_options`
- Introduce constants to handle represent options
- Add tests and strings

* Drop OptionsFlowHandler in favour of SchemaOptionsFlowHandler

Modify `AirQCoordinator.__init__` to accommodate the change in option
handling, and drop `async_set_options` which slipped through the
previous commit.

* Ruff formatting
2024-05-15 09:13:26 +02:00
epenet
f188668d8a Rename gree coordinator module (#117474) 2024-05-15 08:57:27 +02:00
epenet
a4ceba2e0f Split homeassistant_alerts constants and coordinator (#117475) 2024-05-15 08:54:12 +02:00
dependabot[bot]
141355e776 Bump codecov/codecov-action from 4.3.1 to 4.4.0 (#117472)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-15 08:52:04 +02:00
J. Nick Koston
3f053eddbd Add websocket API to get list of recorded entities (#92640)
* Add API to get list of recorded entities

* update for latest codebase

* ruff

* Update homeassistant/components/recorder/websocket_api.py

* Update homeassistant/components/recorder/websocket_api.py

* Update homeassistant/components/recorder/websocket_api.py

* add suggested test
2024-05-15 08:41:56 +02:00
J. Nick Koston
d29084d6fc Improve thread safety check messages to better convey impact (#117467)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-15 13:49:57 +09:00
Paulus Schoutsen
8f9273e945 Fix intent_type type (#117469) 2024-05-14 21:32:11 -07:00
Marlon
d4d30f1c46 Add integration for APsystems EZ1 microinverter (#114531)
* Add APsystems local API integration

* Fix session usage in config_flow in apsystems local api

* Remove skip check option for apsystems_loca api

* Update APsystems API dependency and increased test coverage to 100%

* Utilize EntityDescriptions for APsystems Local integration

* Ensure coverage entries are sorted (#114424)

* Ensure coverage entries are sorted

* Use autofix

* Adjust

* Add comment to coverage file

* test CI

* revert CI test

---------

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

* Use patch instead of Http Mocks for APsystems API tests

* Fix linter waring for apsystemsapi

* Fix apsystemsapi test

* Fix CODEOWNERS for apsystemsapi

* Address small PR review changes for apsystems_local

* Remove wrong lines in coveragerc

* Add serial number for apsystems_local

* Remove option of custom refresh interval fro apsystems_local

* Remove function override and fix stale comments

* Use native device id and name storage instead of custom one for apsystems_local

* Use runtime_data for apsystems_local

* Don't store entry data in runtime data

* Move from apsystems_local to apsystems domain

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-05-14 22:50:25 -04:00
Scott K Logan
2590db1b6d Fix brand ID for Rainforest Automation (#113770) 2024-05-14 22:50:48 +02:00
Floris272
b4eeb00f9e Separate Blue Current timestamp sensors (#111942) 2024-05-14 22:46:31 +02:00
Dave T
03cce66f23 Set integration type for aurora_abb_powerone (#117462) 2024-05-14 22:36:15 +02:00
Ben Van Mechelen
dad9423c08 Add water meter to Youless intergration (#117452)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-05-14 21:50:38 +02:00
Michael Hansen
d441a62aa6 Remove "device_id" slot from timers (#117460)
Remove "device_id" slot
2024-05-14 15:48:24 -04:00
Ben Van Mechelen
6322821b65 Bump youless_api to 1.1.1 (#117459) 2024-05-14 21:34:50 +02:00
c0mputerguru
420afe0029 Bump opower to 0.4.5 and use new account.id (#117330) 2024-05-14 21:21:31 +02:00
Sean Chen
b6a530c405 Add PM10 sensor to AirNow (#117432) 2024-05-14 21:17:09 +02:00
Erik Montnemery
7f3d6fe1f0 Fix lying docstring in entity_platform (#117450) 2024-05-14 21:15:05 +02:00
Richard Kroegel
13e2bc7b6f Enable raising ConfigEntryAuthFailed on BMW coordinator init (#116643)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-05-14 21:14:35 +02:00
Robert Svensson
fa815234be Make UniFi use runtime data (#117457) 2024-05-14 21:04:26 +02:00
Franck Nijhof
faff5f4738 Some minor cleanups in WLED (#117453) 2024-05-14 21:02:31 +02:00
mk-81
0df9006bf7 Fix Kodi on/off status (#117436)
* Fix Kodi Issue 104603

Fixes issue, that Kodi media player is displayed as online even when offline. The issue occurrs when using HTTP(S) only (no web Socket) integration after kodi was found online once.
Issue: In async_update the connection exceptions from self._kodi.get_players are not catched and therefore self._players (and the like) are not reset. The call of self._connection.connected returns always true for HTTP(S) connections.

Solution: Catch Exceptions from self._kodi.get_players und reset state in case of HTTP(S) only connection. Otherwise keep current behaviour.

* Fix Kodi Issue 104603 / code style adjustments

as requested
2024-05-14 21:02:17 +02:00
Michael Hansen
641754e0bb Pass device_id to intent handlers (#117442) 2024-05-14 13:59:49 -05:00
Joost Lekkerkerker
d88851a85a Refactor Linear tests (#116336) 2024-05-14 20:47:14 +02:00
Michael Hansen
add6ffaf70 Add Assist timers (#117199)
* First pass at timers

* Move to separate file

* Refactor to using events

* Add pause/unpause/status

* Add ordinal

* Add test for timed Assist command

* Fix name matching

* Fix IntentHandleError

* Fix again

* Refactor to callbacks

* is_paused -> is_active

* Rename "set timer" to "start timer"

* Move tasks to timer manager

* More fixes

* Remove assist command

* Remove cancel by ordinal

* More tests

* Remove async on callbacks

* Export async_register_timer_handler
2024-05-14 14:42:32 -04:00
epenet
458cc838cf Rename wemo coordinator module (#117437) 2024-05-14 20:21:50 +02:00
Andrew Sayre
223bf99ac9 Update SmartThings codeowners (#117448) 2024-05-14 19:40:39 +02:00
Josef Zweck
d0e99b62da Re-introduce webhook to tedee integration (#110247)
* bring webhook over to new branch

* change log levels

* Update homeassistant/components/tedee/coordinator.py

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

* fix minor version

* ruff

* mock config entry version

* fix

* ruff

* add cleanup during webhook registration

* feedback

* ruff

* Update __init__.py

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

* Update homeassistant/components/tedee/__init__.py

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

* add downgrade test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-14 19:38:58 +02:00
Ethem Cem Özkan
b684801cae Use integration fallback configuration for tado water heater fallback (#111014)
* 103619 tado water heater fallback

* extracted a method to remove code duplication

* test cases and suggested changes

* tests

* util method for connector

* Update homeassistant/components/tado/climate.py

Co-authored-by: Andriy Kushnir <me@orhideous.name>

* missing import after applies suggestion

* early return

* simplify if statements

* simplify pr

* pr requested changes

* better docstring

---------

Co-authored-by: Andriy Kushnir <me@orhideous.name>
2024-05-14 19:27:26 +02:00
Maikel Punie
ad6e6a1810 Bump pyduotecno to 2024.5.0 (#117446) 2024-05-14 19:22:13 +02:00
Franck Nijhof
c94d7b3294 Update wled to 0.17.1 (#117444) 2024-05-14 19:17:50 +02:00
epenet
3f4fd41549 Rename flo coordinator module (#117438) 2024-05-14 17:34:02 +02:00
Christopher Fenner
eca67eb901 Add ability to change heating programs for heat pumps in ViCare integration (#110924)
* heating programs

* fix heating program

* fix heating program

* remove commented code

* simplify

* Update types.py

* update vicare_programs in init
2024-05-14 17:01:34 +02:00
epenet
83f5133065 Move evil_genius_labs coordinator to separate module (#117435) 2024-05-14 10:32:41 -04:00
Denis Shulyaka
9add251b0a Add context to telegram_bot events (#109920)
* Add context for received messages events

* Add context for sent messages events

* ruff

* ruff

* ruff

* Removed user_id mapping

* Add tests
2024-05-14 15:48:59 +02:00
Robert Hillis
121966245b Bump pyefergy to 22.5.0 (#117395) 2024-05-14 15:42:41 +02:00
Diogo Gomes
450c57969a Add diagnostic platform to utility_meter (#114967)
* Add diagnostic to identify next_reset

* Add test

* add next_reset attr

* Trigger CI

* set as _unrecorded_attributes
2024-05-14 15:20:59 +02:00
J. Nick Koston
7871e9279b Adjust thread safety check messages to point to developer docs (#117392) 2024-05-14 15:20:31 +02:00
epenet
77de1b2331 Move abode service registration (#117418) 2024-05-14 15:18:45 +02:00
epenet
2e155f4de5 Move esphome coordinator to separate module (#117427) 2024-05-14 15:16:47 +02:00
Joost Lekkerkerker
92bb76ed24 Use snapshot platform helper in Flexit bacnet (#117428) 2024-05-14 15:10:21 +02:00
epenet
09fccf5188 Rename sharkiq coordinator module (#117429) 2024-05-14 15:07:19 +02:00
Matthias Alphart
bca277a027 Add knx.telegram integration specific trigger; update KNX Interface device trigger (#107592)
* Add `knx.telegram` integration specific trigger

* Move implementation to trigger.py, use it from device_trigger

* test device_trigger

* test trigger.py

* Add "incoming" and "outgoing" and handle legacy device triggers

* work with mixed group address styles

* improve coverage

* Add no-op option

* apply changed linting rules

* Don't distinguish legacy device triggers from new ones

that's now supported since frontend has fixed default values of extra_fields

* review suggestion: reuse trigger schema for device trigger extra fields

* cleanup for readability

* Remove no-op option
2024-05-14 14:45:49 +02:00
Matthias Alphart
ba48da7678 Allow templates for enabling automation triggers (#114458)
* Allow templates for enabling automation triggers

* Test exception for non-limited template

* Use `cv.template` instead of `cv.template_complex`

* skip trigger with invalid enable template

instead of returning and thus not evaluating other triggers
2024-05-14 14:44:21 +02:00
Marc Mueller
2a6a0e6230 Update pytest warnings filter (#117413) 2024-05-14 13:59:45 +02:00
J. Nick Koston
6d7345ea1c Speed up loading YAML (#117388)
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-05-14 13:56:42 +02:00
Nick Hehr
55bf0b6647 Add Viam image processing integration (#101786)
* feat: scaffold integration, configure client

* feat: register services, allow API key auth flow

* feat: register detection, classification services

* test(viam): add test coverage

* chore(viam): update viam-sdk version

* fix(viam): add service schemas and translation keys

* test(viam): update config flow to use new selector values

* chore(viam): update viam-sdk to 0.11.0

* feat: add exceptions translation stings

* refactor(viam): use constant keys, defer filesystem IO execution

* fix(viam): add missing constants, resolve correct image for services

* fix(viam): use lokalize string refs, resolve more constant strings

* fix(viam): move service registration to async_setup

* refactor: abstract services into separate module outside of manager

* refactor(viam): extend common vol schemas

* refactor(viam): consolidate common service values

* refactor(viam): replace FlowResult with ConfigFlowResult

* chore(viam): add icons.json for services

* refactor(viam): use org API key to connect to robot

* fix(viam): close app client if user abort config flow

* refactor(viam): run ruff formatter

* test(viam): confirm 100% coverage of config_flow

* refactor(viam): simplify manager, clean up config flow methods

* refactor(viam): split auth step into auth_api & auth_location

* refactor(viam): remove use of SelectOptionDict for auth choice, update strings

* fix(viam): use sentence case for translation strings

* test(viam): create mock_viam_client fixture for reusable mock
2024-05-14 13:35:56 +02:00
Federico D'Amico
746cfd3492 Add climate platform to microBees (#111152)
* Add climate platform to microBees

* add list comprehension

* fixes

* fixes

* fixes

* fix multiline ternary

* use a generator expression instead of filter + lambda.

* bug fixes

* Update homeassistant/components/microbees/climate.py

---------

Co-authored-by: Marco Lettieri <m.lettieri@microbees.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-14 12:11:19 +02:00
epenet
ed2c30b830 Move abode base entities to separate module (#117417) 2024-05-14 11:41:27 +02:00
Marc Mueller
09a8c06133 Update pylint to 3.1.1 (#117416) 2024-05-14 11:40:37 +02:00
epenet
438db92d86 Use ConfigEntry runtime_data in agent_dvr (#117412) 2024-05-14 11:10:40 +02:00
epenet
010ed8da9c Use ConfigEntry runtime_data in aemet (#117411) 2024-05-14 10:59:55 +02:00
Franck Nijhof
003622defd Update gotailwind to 0.2.3 (#117402) 2024-05-14 10:54:53 +02:00
dependabot[bot]
744e82f4fe Bump github/codeql-action from 3.25.4 to 3.25.5 (#117409) 2024-05-14 10:53:34 +02:00
epenet
635a89b9f9 Use ConfigEntry runtime_data in advantage_air (#117408) 2024-05-14 10:52:49 +02:00
Marc Mueller
31f980b054 Update types packages (#117407) 2024-05-14 10:48:54 +02:00
Franck Nijhof
053c898101 Update apprise to 1.8.0 (#117370) 2024-05-14 10:39:05 +02:00
Marc Mueller
d60f97262e Update uv to 0.1.43 (#117405) 2024-05-14 10:38:50 +02:00
Franck Nijhof
f5f57908dc Use ConfigEntry runtime_data in Tailwind (#117404) 2024-05-14 10:30:53 +02:00
Allen Porter
b84829f70f Import and cache supported feature enum flags only when needed (#117270)
* Import and cache supported feature enum flags only when needed

* Add comment aboud being loaded from executor.

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-13 21:07:39 -07:00
J. Nick Koston
13414a0a32 Pass loop to create_eager_task in loops from more coros (#117390) 2024-05-14 09:48:25 +09:00
J. Nick Koston
9381462877 Migrate restore_state to use the singleton helper (#117385) 2024-05-14 09:13:44 +09:00
Jiaqi Wu
728e1a2223 Fix Lutron Serena Tilt Only Wood Blinds set tilt function (#117374) 2024-05-14 09:05:12 +09:00
Thomas55555
b2996844be Add reauth for missing token scope in Husqvarna Automower (#117098)
* Add repair for wrong token scope to Husqvarna Automower

* avoid new installations with missing scope

* tweaks

* just reauth

* texts

* Add link to correct account

* Update homeassistant/components/husqvarna_automower/strings.json

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

* Update homeassistant/components/husqvarna_automower/strings.json

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

* Update homeassistant/components/husqvarna_automower/strings.json

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

* Add comment

* directly assert mock_missing_scope_config_entry.state is loaded

* assert that a flow is started

* pass complete url to strings and simplify texts

* shorten long line

* address review

* simplify tests

* grammar

* remove obsolete fixture

* fix test

* Update tests/components/husqvarna_automower/test_init.py

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

* test if reauth flow has started

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-13 23:00:51 +02:00
J. Nick Koston
9c97269fad Bump dbus-fast to 2.21.2 (#117195) 2024-05-14 05:52:43 +09:00
Jan Bouwhuis
85e651fd5a Create helper for File config flow step handling (#117371) 2024-05-13 22:40:01 +02:00
Joakim Plate
f23419ed35 Update to arcam 1.5.2 (#117375) 2024-05-13 20:59:50 +02:00
Maciej Bieniek
0d09226661 Support reconfigure flow in Nettigo Air Monitor integration (#117318)
* Add reconfigure flow

* Fix input

* Add tests

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-13 19:17:14 +02:00
Laurence Presland
c3f95a4f7a Implement support for SwitchBot Meter, MeterPlus, and Outdoor Meter (#115522)
* Implement support for SwitchBot MeterPlus

Add temperature, humidity, and battery sensor entities for the MeterPlus device

* Rename GH username

* Update homeassistant/components/switchbot_cloud/coordinator.py

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

* Refactor to use EntityDescriptions

Concat entity ID in SwitchBotCloudSensor init

* Remove __future__ import

* Make scan interval user configurable

* Add support for Meter and Outdoor Meter

* Revert "Make scan interval user configurable"

This reverts commit e256c35bb7.

* Remove device-specific default scan intervals

* Update homeassistant/components/switchbot_cloud/sensor.py

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

* Update homeassistant/components/switchbot_cloud/sensor.py

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

* Update homeassistant/components/switchbot_cloud/sensor.py

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

* Fix ruff errors

* Reorder manifest keys

* Update CODEOWNERS

* Add sensor.py to coveragerc

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-13 15:18:28 +02:00
Jan Bouwhuis
548eb35b79 Migrate File notify entity platform (#117215)
* Migrate File notify entity platform

* Do not load legacy notify service for new  config entries

* Follow up comment

* mypy

* Correct typing

* Only use the name when importing notify services

* Make sure a name is set on new entires
2024-05-13 11:22:13 +02:00
Erik Montnemery
0b47bfc823 Add minor version + migration to config entry store (#117350) 2024-05-13 10:16:18 +02:00
Erik Montnemery
b006aadeff Remove options from FlowResult (#117351) 2024-05-13 10:11:33 +02:00
Erik Montnemery
90ef19a255 Alphabetize some parts of config_entries (#117347) 2024-05-13 09:39:18 +02:00
Erik Montnemery
b09565b4ff Remove migration of config entry data pre version 0.73 (#117345) 2024-05-13 09:39:04 +02:00
Bouwe Westerdijk
84cc650bb3 Implement runtime data for Plugwise (#117172) 2024-05-13 09:38:06 +02:00
Erik Montnemery
d0c60ab21b Fix typo and useless default in config_entries (#117346) 2024-05-13 09:26:18 +02:00
Paulus Schoutsen
f3b694ee42 Add gh cli to dev container (#117321) 2024-05-13 15:33:42 +09:00
Brett Adams
af0dd189d9 Improve error handling in Teslemetry (#117336)
* Improvement command handle

* Add test for ignored reasons
2024-05-12 19:37:59 -07:00
Marc Hörsken
4d5ae57390 Add camera recording service to blink (#110612)
Add camera clip recording service to blink

Revival of #46598 by @fronzbot, therefore:

Co-authored-by: Kevin Fronczak <kfronczak@gmail.com>
2024-05-12 19:35:01 -07:00
Raman Gupta
61b906e29f Bump zwave-js-server-python to 0.56.0 (#117288)
* Bump zwave-js-server-python to 0.56.0

* Fix deprecation warning

* Fix tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-12 22:19:47 -04:00
tronikos
492ef67d02 Call Google Assistant SDK service using async_add_executor_job (#117325) 2024-05-12 22:19:20 -04:00
J. Nick Koston
38ce7b15b0 Fix squeezebox blocking startup (#117331)
fixes #117079
2024-05-12 22:18:52 -04:00
J. Nick Koston
11f49280c9 Enable open protection in the event loop (#117289) 2024-05-13 08:50:31 +09:00
J. Nick Koston
d06932bbc2 Refactor asyncio loop protection to improve performance (#117295) 2024-05-13 07:01:55 +09:00
Joost Lekkerkerker
aae39759d9 Clean up aurora (#117315)
* Clean up aurora

* Fix

* Fix

* Fix
2024-05-12 21:54:32 +02:00
Joost Lekkerkerker
8ab4113b4b Fix Aurora naming (#117314) 2024-05-12 15:36:21 -04:00
Robert Hillis
0a8feae49a Add test for radarr update failure (#116882) 2024-05-12 20:23:53 +02:00
Marc Mueller
3434fb70fb Remove ConfigEntry runtime_data on unload (#117312) 2024-05-12 13:53:22 -04:00
Jan Bouwhuis
a1bc929421 Migrate Tibber notify service (#116893)
* Migrate tibber notify service

* Tests and repair flow

* Use notify repair flow helper

* Cleanup strings after using helper, use HomeAssistantError

* Add entry state assertions to unload test

* Update comment

* Update comment
2024-05-12 19:52:08 +02:00
Jan Bouwhuis
07061b14d0 Fix typo in mqtt test name (#117305) 2024-05-12 16:44:39 +02:00
Jan Bouwhuis
606a2848db Fix import on File config entry and other improvements (#117210)
* Address comments

* Remove Name option for File based sensor

* Make sure platform schema is applied
2024-05-12 15:09:54 +02:00
J. Nick Koston
c971d08454 Fix flume doing blocking I/O in the event loop (#117293)
constructing FlumeData opens files
2024-05-12 08:28:22 -04:00
Brett Adams
7509ccff40 Use entry runtime data in Teslemetry (#117283)
* runtime_data

* runtime_data

* Remove some code

* format

* Fix missing entry.runtime_data
2024-05-12 08:25:09 -04:00
J. Nick Koston
f318a3b5e2 Fix blocking I/O in the event loop to get MacOS system_info (#117290)
* Fix blocking I/O in the event look to get MacOS system_info

* split pr

* Update homeassistant/helpers/system_info.py

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Update homeassistant/helpers/system_info.py

---------

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2024-05-12 08:16:21 -04:00
Jan Bouwhuis
65a4e5a1af Spelling of controlling in mqtt valve tests (#117301) 2024-05-12 14:06:21 +02:00
Marc Mueller
4f4389ba85 Improve bluetooth generic typing (#117157) 2024-05-12 13:15:30 +02:00
Jan Bouwhuis
92254772ca Increase MQTT broker socket buffer size (#117267)
* Increase MQTT broker socket buffer size

* Revert unrelated change

* Try to increase buffer size

* Set INITIAL_SUBSCRIBE_COOLDOWN back to 0.5 sec

* Sinplify and add test

* comments

* comments

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-12 13:13:41 +02:00
J. Nick Koston
f4e8d46ec2 Small speed ups to bootstrap tests (#117285) 2024-05-12 20:05:02 +09:00
J. Nick Koston
437fe3fa4e Fix mimetypes doing blocking I/O in the event loop (#117292)
The first time aiohttp calls mimetypes, it will load the mime.types file

We now init the db in the executor to avoid blocking the event loop
2024-05-12 10:47:52 +02:00
Ville Skyttä
34175846ff Bump upcloud-api to 2.5.1 (#117231)
Upgrade upcloud-python-api to 2.5.1

- https://github.com/UpCloudLtd/upcloud-python-api/releases/tag/v2.0.1
- https://github.com/UpCloudLtd/upcloud-python-api/releases/tag/v2.5.0
- https://github.com/UpCloudLtd/upcloud-python-api/releases/tag/v2.5.1
2024-05-12 08:10:02 +00:00
J. Nick Koston
eac4aaef10 Use a dictcomp to reconstruct DeviceInfo in the device_registry (#117286)
Use a dictcomp to reconstruct DeviceInfo

a dictcomp is faster than many sets on the dict by at least
25%

We call this for nearly every device in the registry at
startup
2024-05-12 08:07:12 +02:00
Erik Montnemery
0acf392a50 Use MockConfigEntry in hue tests (#117237)
Use MockConfigEntry in hue tests
2024-05-11 23:36:54 -04:00
J. Nick Koston
b061e7d1aa Small speed up to setting up integrations and config entries (#117278)
* Small speed up to setting up integration and config entries

When profiling tests, I noticed many calls to get_running_loop. In the places
where we are already in a coro, pass the existing loop so it does not have to
be looked up. I did not do this for places were we are not in a coro since there
is risk that an integration could be doing a non-thread-safe call and its better
that the code raises when trying to fetch the running loop vs the performance
improvement for these cases.

* fix merge

* missed some
2024-05-11 22:39:20 -04:00
Abílio Costa
15825b9444 Fix docstring in Idasen Desk (#117280) 2024-05-12 09:14:52 +09:00
J. Nick Koston
481de8cdc9 Ensure config entry operations are always holding the lock (#117214)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-12 08:20:08 +09:00
Erik Montnemery
f55fcca0bb Tweak config_entries tests (#117242) 2024-05-11 21:45:03 +02:00
Joost Lekkerkerker
9f53c807c6 Refactor V2C tests (#117264)
* Refactor V2C tests

* Refactor V2C tests

* Refactor V2C tests

* Refactor V2C tests

* Update tests/components/v2c/conftest.py

* Refactor V2C tests
2024-05-11 21:28:37 +02:00
Jan Bouwhuis
7eb8f265fe Add shared notify service migration repair helper (#117213)
* Add shared notifiy service migration repair helper

* Delete ecobee repairs.py

* Update dependency

* Fix file test

* Fix homematic tests

* Improve tests for file  and homematic
2024-05-11 21:13:44 +02:00
Erik Montnemery
d1525b1edf Sort parameters to MockConfigEntry (#117239) 2024-05-11 14:16:29 -04:00
Erik Montnemery
35900cd579 Use mock_config_flow helper in bootstrap tests (#117240) 2024-05-11 14:11:42 -04:00
Erik Montnemery
021b057a87 Use mock_config_flow helper in config_entries tests (#117241) 2024-05-11 14:11:18 -04:00
Erik Montnemery
5c1f6aeb60 Use mock_config_flow helper in config tests (#117245) 2024-05-11 14:09:00 -04:00
Raman Gupta
1f792fc2aa Start using runtime_data for zwave_js (#117261)
* Start using runtime_data for zwave_js

* fix bug
2024-05-11 14:08:30 -04:00
Tom Harris
a892062f01 Bump pyinsteon to 1.6.1 (#117196)
* Bump pyinsteon

* Bump pyinsteon

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-11 13:41:14 -04:00
mtielen
e5f8e08d62 Bump wolf-comm to 0.0.8 (#117218) 2024-05-11 18:29:59 +02:00
hahn-th
8e71fca511 Bump homematicip to 1.1.1 (#117175) 2024-05-11 18:24:56 +02:00
Raman Gupta
9655db3d55 Fix zwave_js discovery logic for node device class (#117232)
* Fix zwave_js discovery logic for node device class

* simplify check
2024-05-11 17:41:03 +02:00
Erik Montnemery
3bea124d84 Sort asserts in config config_entries tests (#117244) 2024-05-11 17:38:07 +02:00
Erik Montnemery
813f97dedc Rename some MQTT tests (#117246) 2024-05-11 16:57:46 +02:00
Erik Montnemery
745c4aef30 Rename some rflink tests (#117247) 2024-05-11 14:18:41 +01:00
Erik Montnemery
acc78b26f7 Rename some translation helper tests (#117248) 2024-05-11 14:17:53 +01:00
Erik Montnemery
6f50c60e60 Rename some runner tests (#117249) 2024-05-11 14:16:41 +01:00
Erik Montnemery
90a50c162d Use MockConfigEntry in unifi tests (#117238) 2024-05-11 11:11:53 +02:00
J. Nick Koston
daef625985 Speed up init and finish flow (#117226)
Since every flow now has to check for single config entry, change
the check to see if a config entry exists first before calling
the _support_single_config_entry_only since _support_single_config_entry_only
has to load the integration which adds up quite a bit in test runs
2024-05-11 09:47:17 +02:00
Paul Donald
c979597ec4 Prevent shutdown fault-log trace-back (#116735)
Closes issue #116710
2024-05-11 07:59:05 +02:00
G Johansson
70a1e627b6 Add device class to Command Line cover (#117183) 2024-05-11 06:22:30 +01:00
J. Nick Koston
d7aa24fa50 Only load translations for an integration once per test session (#117118) 2024-05-11 12:00:02 +09:00
J. Nick Koston
9e107a02db Fix flakey advantage_air test (#117224) 2024-05-10 21:39:01 -05:00
Allen Porter
f35b9c2b22 Bump pyrainbird to 6.0.1 (#117217)
* Bump pyrainbird to 6.0.0

* Bump to 6.0.1
2024-05-10 19:00:08 -07:00
jjlawren
b180e14224 Bump SoCo to 0.30.4 (#117212) 2024-05-10 21:38:38 -04:00
J. Nick Koston
52cca26473 Use async_get_loaded_integration in config_entries (#117192) 2024-05-11 10:30:34 +09:00
Allen Porter
25c97a5eab Bump ical to 8.0.1 (#117219) 2024-05-10 21:25:16 -04:00
J. Nick Koston
3ad489d835 Fix flakey sonos test teardown (#117222)
https://github.com/home-assistant/core/actions/runs/9039805087/job/24843300480?pr=117214
2024-05-10 21:24:49 -04:00
J. Nick Koston
2e60e09ba2 Ensure config entry setup lock is held when removing a config entry (#117086) 2024-05-11 09:47:26 +09:00
J. Nick Koston
c74c2f3652 Add state check to config entry setup to ensure it cannot be setup twice (#117193) 2024-05-11 07:09:28 +09:00
Jan Bouwhuis
c21dac855a Fix File entry setup config parsing whole YAML config (#117206)
Fix File entry setup config parsingwhole YAML config
2024-05-10 22:05:40 +02:00
Marc-Olivier Arsenault
db6e3f7cbf Add update_without_throttle to ecobee number (#116504)
add update_without_throttle
2024-05-10 21:54:28 +02:00
Paulus Schoutsen
9b6500582a 2024.5.3 (#117203) 2024-05-10 15:08:20 -04:00
Denis Shulyaka
8168aff253 Update SetPositionIntentHandler intent schema (#116794)
Update SetPositionIntentHandler

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-10 14:33:11 -04:00
Paulus Schoutsen
e2da28fbdb Bump version to 2024.5.3 2024-05-10 18:14:24 +00:00
Robert Resch
2c8b3ac8bb Bump deebot-client to 7.2.0 (#117189) 2024-05-10 18:10:05 +00:00
Diogo Gomes
f07c00a05b Bump pytrydan to 0.6.0 (#117162) 2024-05-10 18:10:04 +00:00
Jan Bouwhuis
56b38cd842 Fix typo in xiaomi_ble translation strings (#117144) 2024-05-10 18:10:03 +00:00
J. Nick Koston
1b519a4610 Handle tilt position being None in HKC (#117141) 2024-05-10 18:10:02 +00:00
mletenay
09490d9e0a Bump goodwe to 0.3.5 (#117115) 2024-05-10 18:10:02 +00:00
Jan Bouwhuis
c0cd76b3bf Make the mqtt discovery update tasks eager and fix race (#117105)
* Fix mqtt discovery race for update rapidly followed on creation

* Revert unrelated renaming local var
2024-05-10 18:10:01 +00:00
MatthewFlamm
b9ed2dab5f Fix nws blocking startup (#117094)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-10 18:10:00 +00:00
J. Nick Koston
11f86d9e0b Improve config entry has already been setup error message (#117091) 2024-05-10 18:10:00 +00:00
mletenay
82fab7df39 Goodwe Increase max value of export limit to 200% (#117090) 2024-05-10 18:09:59 +00:00
puddly
d40689024a Add a missing addon_name placeholder to the SkyConnect config flow (#117089) 2024-05-10 18:09:58 +00:00
Arie Catsman
9e7e839f03 Bump pyenphase to 1.20.3 (#117061) 2024-05-10 18:09:57 +00:00
Chris Talkington
08ba5304fe Bump rokuecp to 0.19.3 (#117059) 2024-05-10 18:09:57 +00:00
Jan Bouwhuis
f34a0dc5ce Log an exception mqtt client call back throws (#117028)
* Log an exception mqtt client call back throws

* Supress exceptions and add test
2024-05-10 18:09:56 +00:00
J. Nick Koston
1a13e1d024 Simplify MQTT subscribe debouncer execution (#117006) 2024-05-10 18:09:55 +00:00
Marc Mueller
bee518dc78 Update jinja2 to 3.1.4 (#116986) 2024-05-10 18:09:54 +00:00
Matrix
fdc59547e0 Bump Yolink api to 0.4.4 (#116967) 2024-05-10 18:09:54 +00:00
Mr. Bubbles
57861dc091 Update strings for Bring notification service (#116181)
update translations
2024-05-10 18:09:53 +00:00
Pete Sage
624baebbaa Fix Sonos select_source timeout error (#115640) 2024-05-10 18:09:52 +00:00
Diogo Gomes
8953616d11 Bump pytrydan to 0.6.0 (#117162) 2024-05-10 19:59:28 +02:00
Denis Shulyaka
f2460a6975 Update media_player intent schema (#116793)
Update media_player/intent.py
2024-05-10 11:27:04 -04:00
Jan Bouwhuis
96ccf7f2da Log some mqtt of the discovery logging at debug level (#117185) 2024-05-10 14:49:27 +02:00
Marc Mueller
9f321642b2 Import TypedDict from typing (#117161) 2024-05-10 14:18:13 +02:00
Robert Resch
22b83657f9 Bump deebot-client to 7.2.0 (#117189) 2024-05-10 13:33:18 +02:00
Markus
ed4c3196ab Add ESPhome discovery via MQTT (#116499)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-10 13:32:42 +02:00
Brett Adams
62d70b1b10 Add energy site coordinator to Teslemetry (#117184)
* Add energy site coordinator

* Add missing string

* Add another missing string

* Aprettier
2024-05-10 12:38:20 +02:00
Jan Bouwhuis
55c4ba12f6 Migrate file integration to config entry (#116861)
* File integration entry setup

* Import to entry and tests

* Add config flow

* Exception handling and tests

* Add config flow tests

* Add issue for micration and deprecation

* Check whole entry data for uniqueness

* Revert changes change new notify entity

* Follow up on code review

* Keep name service option

* Also keep sensor name

* Make name unique

* Follow up comment

* No default timestamp needed

* Remove default name as it is already set

* Use links
2024-05-10 10:54:36 +02:00
Brett Adams
1a4e416bf4 Refactor Teslemetry integration (#112480)
* Refactor Teslemetry

* Add abstractmethod

* Remove unused timestamp const

* Ruff

* Fix

* Update snapshots

* ruff

* Ruff

* ruff

* Lint

* Fix tests

* Fix tests and diag

* Refix snapshot

* Ruff

* Fix

* Fix bad merge

* has as property

* Remove _handle_coordinator_update

* Test and error changes
2024-05-10 10:52:33 +02:00
Bertrand Roussel
11f5b48724 Add standard deviation calculation to group (#112076)
* Add standard deviation calculation to group

* Add missing bits

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-05-10 10:16:09 +02:00
RJPoelstra
8c54587d7e Improve base entity state in Vogel's MotionMount integration (#109043)
* Update device info when name changes

* Entities now report themselves as being unavailable when the MotionMount is disconnected

* Don't update device_info when name changes

* Use `device_entry` property to update device name

* Assert device is available

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

* Add missing import

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-10 09:58:16 +02:00
tizianodeg
d4fbaef4f6 Raise ServiceValidationError in Nibe climate services (#117171)
Fix ClimateService to rise ServiceValidationError for stack free logs
2024-05-10 09:22:20 +02:00
J. Nick Koston
4138c7a0ef Handle tilt position being None in HKC (#117141) 2024-05-10 00:47:13 -05:00
Sid
e4a3cab801 Bump ruff to 0.4.4 (#117154) 2024-05-09 22:13:11 +02:00
Thomas55555
3fa2db84f0 Catch auth exception in husqvarna automower (#115365)
* Catch AuthException in Husqvarna Automower

* don't use getattr

* raise ConfigEntryAuthFailed
2024-05-09 16:56:26 +02:00
Jan Bouwhuis
82e12052e4 Fix typo in xiaomi_ble translation strings (#117144) 2024-05-09 16:31:36 +02:00
J. Nick Koston
333d5a9251 Speed up test teardown when no config entries are loaded (#117095)
Avoid the gather call when there are no loaded config entries
2024-05-09 10:14:07 -04:00
Kevin Worrel
c1f0ebee2c Add screenlogic service tests (#116356) 2024-05-09 07:19:58 -05:00
Joost Lekkerkerker
b30a02dee6 Add base entity for Airgradient (#117135) 2024-05-09 11:12:47 +02:00
Joost Lekkerkerker
6485973d9b Add airgradient integration (#114113) 2024-05-09 10:54:29 +02:00
dependabot[bot]
32061d4eb1 Bump github/codeql-action from 3.25.3 to 3.25.4 (#117127) 2024-05-09 09:28:24 +02:00
J. Nick Koston
19c26b79af Move available property in BasePassiveBluetoothCoordinator to PassiveBluetoothDataUpdateCoordinator (#117056) 2024-05-08 17:45:57 -05:00
Marc Mueller
04c0b7d3df Use HassKey for importlib helper (#117116) 2024-05-08 17:42:28 -05:00
Luke Lashley
a77add1b77 Add better testing to vacuum platform (#112523)
* Add better testing to vacuum platform

* remove state strings

* some of the MR comments

* move MockVacuum

* remove manifest extra

* fix linting

* fix other linting

* Fix create entity calls

* Format

* remove create_entity

* change to match notify

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-09 00:33:23 +02:00
mletenay
f9413fcc9c Bump goodwe to 0.3.5 (#117115) 2024-05-09 00:17:20 +02:00
Luke Lashley
412e9bb072 Add test data for Zeo and Dyad devices to Roborock (#117054) 2024-05-09 00:16:48 +02:00
mletenay
b60c90e5ee Goodwe Increase max value of export limit to 200% (#117090) 2024-05-09 00:08:08 +02:00
Michael
12759b50cc Store runtime data inside the config entry in Tuya (#116822) 2024-05-09 00:04:26 +02:00
J. Nick Koston
89049bc022 Fix config entry _async_process_on_unload being called for forwarded platforms (#117084) 2024-05-08 23:59:37 +02:00
puddly
ac9b8cce37 Add a missing addon_name placeholder to the SkyConnect config flow (#117089) 2024-05-08 23:57:50 +02:00
Sid
fe9e5e4382 Ignore Ruff SIM103 (#115732)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-08 23:56:59 +02:00
Sid
ac54cdcdb4 Enable Ruff RUF010 (#115371)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-08 23:54:49 +02:00
Jan Bouwhuis
589104f63d Export MQTT subscription helpers at integration level (#116150) 2024-05-08 23:46:50 +02:00
Luke Lashley
6da432a5c3 Bump python-roborock to 2.1.1 (#117078) 2024-05-08 23:46:24 +02:00
J. Nick Koston
00150881a5 Migrate elkm1 to use config entry runtime_data (#117077) 2024-05-08 23:44:39 +02:00
J. Nick Koston
8464c95fb4 Migrate yalexs_ble to use config entry runtime_data (#117082) 2024-05-08 23:43:25 +02:00
J. Nick Koston
6eeeafa8b8 Speed up tests by making mock_get_source_ip session scoped (#117096) 2024-05-08 23:42:35 +02:00
J. Nick Koston
03dcede211 Avoid creating inner tasks to load storage (#117099) 2024-05-08 23:41:20 +02:00
J. Nick Koston
ead69af27c Avoid creating a task to clear the hass instance at test teardown (#117103) 2024-05-08 23:39:45 +02:00
J. Nick Koston
8c37b3afd7 Migrate govee_ble to use config entry runtime_data (#117076) 2024-05-08 23:22:40 +02:00
J. Nick Koston
1d833d3795 Avoid storing Bluetooth scanner in hass.data (#117074) 2024-05-08 16:08:12 -05:00
Jan Bouwhuis
840d8cb39f Add open and opening state support to MQTT lock (#117110) 2024-05-08 22:52:57 +02:00
J. Nick Koston
159f0fcce7 Migrate baf to use config entry runtime_data (#117081) 2024-05-08 22:37:14 +02:00
Jan Bouwhuis
20b29242f1 Make the mqtt discovery update tasks eager and fix race (#117105)
* Fix mqtt discovery race for update rapidly followed on creation

* Revert unrelated renaming local var
2024-05-08 21:42:11 +02:00
MatthewFlamm
6b3ffad77a Fix nws blocking startup (#117094)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-08 14:16:20 -05:00
J. Nick Koston
84a91a86a9 Improve config entry has already been setup error message (#117091) 2024-05-08 14:16:08 -05:00
tizianodeg
92b246fda9 Fix nibe_heatpump climate for models without cooling support (#114599)
* fix nibe_heatpump climate for models without cooling support

* add test for set temperature with no cooling support

* fixup use self._coil_setpoint_cool None

* fixup add new test to explicitly test unsupported cooling
2024-05-08 21:02:43 +02:00
G Johansson
7862596ef3 Add open state to LockEntity (#111968)
* Add `open` state to LockEntity

* Add tests

* Fixes

* Fix tests

* strings and icons

* Adjust demo open lock

* Fix lock and tests

* fix import

* Fix strings

* mute ruff

* Change sequence

* Sequence2

* Group on states

* Fix ruff

* Fix tests

* Add more test cases

* Sorting
2024-05-08 20:42:22 +02:00
Peter Antonvich
189c07d502 Correct state class of ecowitt hourly rain rate sensors (#110475)
* Update sensor.py for Hourly Rain Rates mm and in

hourly_rain_rate from integration ecowitt has state class total_increasing, but its state is not strictly increasing

* Update sensor.py format
2024-05-08 17:19:16 +02:00
Troon
cc99a9b62a Add an add template filter (#109884)
* Addition of add filter

This change adds an `add` filter, the addition equivalent of the existing `multiply` filter.

* Test for add filter

* Update test_template.py

* Update tests/helpers/test_template.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-08 15:39:36 +02:00
Chris Talkington
1e35dd9f6f Bump rokuecp to 0.19.3 (#117059) 2024-05-08 08:38:44 -05:00
Luke Lashley
22bc11f397 Convert Anova to cloud push (#109508)
* current state

* finish refactor

* Apply suggestions from code review

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

* address MR comments

* Change to sensor setup to be listener based.

* remove assert for websocket handler

* added assert for log

* remove mixin

* fix linting

* fix merge change

* Add clarifying comment

* Apply suggestions from code review

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

* Address MR comments

* bump version and fix typing check

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-08 14:53:44 +02:00
J. Nick Koston
de62e205dd Bump bleak to 0.22.0 (#116955) 2024-05-08 07:35:33 -05:00
Joost Lekkerkerker
b54077026a Bump pylutron to 0.2.13 (#117062)
* Bump pylutron to 0.2.13

* Bump pylutron to 0.2.13
2024-05-08 14:32:23 +02:00
Michael
d9ad0c101b Apply late review on Synology DSM (#117060)
keep CONF_TIMEOUT in options to allow downgrades
2024-05-08 14:30:58 +02:00
Simone Chemelli
ad05a542ae Bump aiovodafone to 0.6.0 (#117064)
bump aiovodafone to 0.6.0
2024-05-08 14:26:43 +02:00
Arie Catsman
c437d3f858 Bump pyenphase to 1.20.3 (#117061) 2024-05-08 07:02:49 -05:00
Erik Montnemery
fd8c36d93b User eager task in github config flow (#117066) 2024-05-08 11:25:57 +02:00
Sid
dc1aba0a05 Use runtime_data in webmin (#117058) 2024-05-08 09:04:20 +02:00
Maciej Bieniek
40be1424b5 Store Tractive data in config_entry.runtime_data (#116781)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-05-08 09:03:26 +02:00
Maciej Bieniek
e16a88a9c9 Set the quality scale to platinum for IMGW-PIB integration (#116912)
* Increase test coverage

* Set the quality scale to platinum

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-08 08:51:25 +02:00
Michael
2891a63281 Store runtime data inside the config entry in IPP (#116765)
* store runtime data inside the config entry

* improve tests
2024-05-08 01:16:06 -05:00
Kevin Stillhammer
3844e2d533 Add service waze_travel_time.get_travel_times (#108170)
* Add service waze_travel_time.get_travel_times

* Align strings with home-assistant.io

* Remove not needed service args

* Use SelectSelectorConfig.sort

* Move vehicle_type mangling to async_get_travel_times
2024-05-08 07:56:17 +02:00
Michael Hansen
7923471b94 Intent target matching and media player enhancements (#115445)
* Working

* Tests are passing

* Fix climate

* Requested changes from review
2024-05-07 22:01:03 -04:00
J. Nick Koston
8401b05d40 Move thread safety check in category_registry sooner (#117050) 2024-05-07 19:55:43 -05:00
Lennard Beers
3b51bf266a Update eq3btsmart library dependency to 1.1.8 (#117051)
* Update eq3btsmart dependency to 1.1.8

* Update test dependency and manifest for eq3btsmart to 1.1.8
2024-05-07 19:49:00 -05:00
J. Nick Koston
0b2c29fdb9 Move thread safety in floor_registry sooner (#117044) 2024-05-07 18:48:38 -05:00
Joost Lekkerkerker
27d45f04c4 Fix capitalization in Monzo strings (#117035)
* Fix capitalization in Monzo strings

* Fix capitalization in Monzo strings

* Fix capitalization in Monzo strings
2024-05-07 22:33:10 +02:00
J. Nick Koston
fc3c384e0a Move thread safety in label_registry sooner (#117026) 2024-05-07 15:15:30 -05:00
Michael
9557ea902e Store runtime data inside the config entry in Apple TV (#117032)
store runtime data inside the config entry
2024-05-07 22:13:53 +02:00
Michael
7f7d025b44 Store runtime data inside the config entry in Upnp (#117030)
store runtime data inside the config entry
2024-05-07 22:05:04 +02:00
Maciej Bieniek
35d44ec90a Store Airly runtime data in config entry (#117031)
* Store runtime data in config entry

* Fix tests

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-07 22:04:37 +02:00
John Hollowell
640cd519dd Add Venstar HVAC stage sensor (#107510)
* Add sensor for which stage of heating/cooling is active

for example, a 2-stage heating system would initially use the first stage for heat and if it was unable to fulfill the demand, the thermostat would call for the second stage heat in addition to the first stage heat already in use.

* Add translation keys for english

* Apply suggestions from code review

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Add translation of entity name

* Update sensor name to correctly be translatable

---------

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
2024-05-07 21:43:01 +02:00
J. Nick Koston
649dd55da9 Simplify MQTT subscribe debouncer execution (#117006) 2024-05-07 14:41:31 -05:00
G Johansson
38a3c3a823 Fix double executor in Filesize (#117029) 2024-05-07 21:34:07 +02:00
Álvaro Fernández Rojas
3774d8ed54 Add climate temp ranges support for Airzone Cloud (#115025)
airzone_cloud: climate: add temperature ranges support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-05-07 21:29:45 +02:00
Thomas Kistler
14fcf7be8e Add flow and rain sensor support to Hydrawise (#116303)
* Add flow and rain sensor support to Hydrawise

* Address comments

* Cleanup

* Review comments

* Address review comments

* Added tests

* Add icon translations

* Add snapshot tests

* Clean up binary sensor

* Mypy cleanup

* Another mypy error

* Reviewer feedback

* Clear next_cycle sensor when the value is unknown

* Reviewer feedback

* Reviewer feedback

* Remove assert

* Restructure switches, sensors, and binary sensors

* Reviewer feedback

* Reviewer feedback
2024-05-07 21:26:10 +02:00
Jan Bouwhuis
a3248ccff9 Log an exception mqtt client call back throws (#117028)
* Log an exception mqtt client call back throws

* Supress exceptions and add test
2024-05-07 21:19:46 +02:00
Marc Mueller
db138f3727 Add MediaSourceProtocol to improve platform typing (#117001) 2024-05-07 21:18:11 +02:00
Mr. Bubbles
e5b91aa522 Update strings for Bring notification service (#116181)
update translations
2024-05-07 21:10:04 +02:00
J. Nick Koston
26cc1cd3db Use singleton helper for registries (#117027) 2024-05-07 21:04:01 +02:00
Jake Martin
6e024d54f1 Add Monzo integration (#101731)
* Initial monzo implementation

* Tests and fixes

* Extracted api to pypi package

* Add app confirmation step

* Corrected data path for accounts

* Removed useless check

* Improved tests

* Exclude partially tested files from coverage check

* Use has_entity_name naming

* Bumped monzopy to 1.0.10

* Remove commented out code

* Remove reauth from initial PR

* Remove useless code

* Correct comment

* Remove reauth tests

* Remove device triggers from intial PR

* Set attr outside constructor

* Remove f-strings where no longer needed in entity.py

* Rename field to make clearer it's a Callable

* Correct native_unit_of_measurement

* Remove pot transfer service from intial PR

* Remove reauth string

* Remove empty fields in manifest.json

* Freeze SensorEntityDescription and remove Mixin

Also use list comprehensions for producing sensor lists

* Use consts in application_credentials.py

* Revert "Remove useless code"

Apparently this wasn't useless

This reverts commit c6b7109e47202f866c766ea4c16ce3eb0588795b.

* Ruff and pylint style fixes

* Bumped monzopy to 1.1.0

Adds support for joint/business/etc account pots

* Update test snapshot

* Rename AsyncConfigEntryAuth

* Use dataclasses instead of dictionaries

* Move OAuth constants to application_credentials.py

* Remove remaining constants and dependencies for services from this PR

* Remove empty manifest entry

* Fix comment

* Set device entry_type to service

* ACC_SENSORS -> ACCOUNT_SENSORS

* Make value_fn of sensors return StateType

* Rename OAuthMonzoAPI again

* Fix tests

* Patch API instead of integration for unavailable test

* Move pot constant to sensor.py

* Improve type safety in async_get_monzo_api_data()

* Update async_oauth_create_entry() docstring

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-07 20:38:58 +02:00
G Johansson
5bef2d5d25 Use entry runtime data on Filesize (#116962)
* Use entry runtime data on Filesize

* Fix comment

* ignore

* Another way

* Refactor
2024-05-07 20:07:32 +02:00
Michal Čihař
789aadcc4c Reduce update interval in Ondilo Ico (#116989)
Ondilo: reduce update interval

The API seems to have sticter rate-limiting and frequent requests fail
with HTTP 400.

Fixes #116593
2024-05-07 19:55:03 +02:00
Erwin Douna
968af28c54 Add Tado reconfigure step (#115970)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
2024-05-07 19:50:07 +02:00
Marc Mueller
f9e2ab2e81 Improve issue_registry event typing (#117023) 2024-05-07 19:49:02 +02:00
G Johansson
b9d26c097f Holiday update calendar once per day (#116421) 2024-05-07 18:52:51 +02:00
Marc Mueller
018e7731ae Add SignificantChangeProtocol to improve platform typing (#117002) 2024-05-07 18:40:57 +02:00
Jan Bouwhuis
7148c849d6 Only log loop client subscription log if log level is DEBUG (#117008)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-07 18:38:59 +02:00
Marc Mueller
15618a8a97 Use HassKey for loader (#116999) 2024-05-07 18:37:01 +02:00
Marc Mueller
b21632ad05 Improve energy platform typing (#117003) 2024-05-07 11:28:42 -05:00
Marc Mueller
2db64c7e6d Use HassKey for helpers (1) (#117012) 2024-05-07 11:25:16 -05:00
Marc Mueller
8f614fb06d Use HassKey for helpers (2) (#117013) 2024-05-07 11:24:13 -05:00
Marc Mueller
c50a340cbc Use HassKey for setup and bootstrap (#116998) 2024-05-07 11:18:20 -05:00
Marc Mueller
fd5885ec83 Use HassKey for registries (#117000) 2024-05-07 18:03:14 +02:00
G-Two
5ad52f122d Return raw API data for subaru device diagnostics (#114119) 2024-05-07 17:32:17 +02:00
Marc Mueller
95a27796f2 Update imports from alarm_control_panel (#117014) 2024-05-07 17:21:29 +02:00
Joost Lekkerkerker
1559562c26 Clean up Ondilo config flow (#116931) 2024-05-07 14:15:56 +02:00
Maciej Bieniek
16d86e5d4c Store Philips TV runtime data in config entry (#116952)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-07 14:10:44 +02:00
Sid
2cc916db6d Replace pylint broad-except with Ruff BLE001 (#116250) 2024-05-07 14:00:27 +02:00
Marc Mueller
b35fbd8d20 Update tqdm to 4.66.4 (#116984) 2024-05-07 13:56:36 +02:00
Marc Mueller
f9755f5c4c Update jinja2 to 3.1.4 (#116986) 2024-05-07 13:56:11 +02:00
Thomas55555
9e5bb92851 Fix flakey test in Husqvarna Automower (#116981) 2024-05-07 12:08:52 +02:00
pemontto
1c414966fe Add support for round-robin DNS (#115218)
* Add support for RR DNS

* 🧪 Update tests for DNS IP round-robin

* 🤖 Configure DNS IP round-robin automatically

* 🐛 Sort IPv6 addresses correctly

* Limit returned IPs and cleanup test class

* 🔟 Change max DNS results to 10

* Rename IPs to ip_addresses
2024-05-07 11:49:13 +02:00
Marc Mueller
3d700e2b71 Add HassDict implementation (#103844) 2024-05-07 10:53:13 +02:00
J. Nick Koston
fd52588565 Bump SQLAlchemy to 2.0.30 (#116964) 2024-05-07 10:42:13 +02:00
Pete Sage
731fe17224 Fix Sonos select_source timeout error (#115640) 2024-05-07 10:08:12 +02:00
SLaks
b5cd0e629d Upgrade to hdate 0.10.8 (#116202)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-07 09:28:54 +02:00
Matrix
6ac44f3f14 Bump Yolink api to 0.4.4 (#116967) 2024-05-07 07:51:10 +02:00
ollo69
5db8082f91 Review AndroidTV decorator exception management (#114133) 2024-05-06 18:00:12 -05:00
Thomas55555
8e66e5bb11 Bump aioautomower to 2024.5.0 (#116942) 2024-05-06 17:59:34 -05:00
Abílio Costa
486b8ca7c4 Make Idasen Desk react to bluetooth changes (#115939) 2024-05-06 17:52:54 -05:00
G Johansson
4037f52d62 Bump python-holidays to 0.48 (#116951)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-06 23:36:47 +02:00
Jan Bouwhuis
eaf277844f Correct typo in MQTT translations (#116956) 2024-05-06 23:21:34 +02:00
J. Nick Koston
dc50095d06 Bump orjson to 3.10.3 (#116945) 2024-05-06 22:45:23 +02:00
Jan Bouwhuis
821c7d813d Correct formatting mqtt MQTT_DISCOVERY_DONE and MQTT_DISCOVERY_UPDATED message (#116947) 2024-05-06 22:32:46 +02:00
Guido Schmitz
e65f2f1984 Use ConfigEntry runtime_data in devolo Home Network (#116694) 2024-05-06 22:31:39 +02:00
G Johansson
b3008b074e Remove ambiclimate integration (#116410) 2024-05-06 22:15:04 +02:00
Joakim Plate
2b6dd59cfc Allow reconfiguration of integration sensor (#116740)
* Allow reconfiguration of integration sensor

* Adjust allowed options to not change unit
2024-05-06 21:03:46 +02:00
G Johansson
ebd1efa53b Handle exceptions in panic button for Yale Smart Alarm (#116515)
* Handle exceptions in panic button for Yale Smart Alarm

* Change key
2024-05-06 20:51:37 +02:00
Joost Lekkerkerker
ffa8265365 Snapshot Ondilo Ico devices (#116932)
Co-authored-by: JeromeHXP <dartdoka@mainguet.fr>
2024-05-06 20:34:29 +02:00
Sid
b456d97e65 Replace pylint protected-access with Ruff SLF001 (#115735) 2024-05-06 20:33:26 +02:00
mtielen
460c05dc43 Revert polling interval back to orginal value in Wolflink (#116758) 2024-05-06 20:09:41 +02:00
Maciej Bieniek
57283d16d9 Store AccuWeather runtime data in config entry (#116946)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-06 20:06:47 +02:00
Joakim Plate
1ef09048e6 Allow the rounding to be optional in integral (#116884) 2024-05-06 20:06:26 +02:00
Franck Nijhof
a8f3b699b3 2024.5.2 (#116937) 2024-05-06 19:49:06 +02:00
Maciej Bieniek
09be56964d AccuWeather tests refactoring (#116923)
* Add mock_accuweather_client

* Improve tests

* Fix exceptions

* Remove unneeded update_listener()

* Fix arguments for fixtures

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-06 19:41:48 +02:00
Franck Nijhof
72d6b4d1c9 Use ConfigEntry runtime_data in TwenteMilieu (#116642) 2024-05-06 19:21:34 +02:00
Marc Mueller
f5c54bcc0d Use runtime_data for wled (#116615) 2024-05-06 19:19:47 +02:00
Joost Lekkerkerker
f92fb0f492 Remove deprecated WAQI state attributes (#116595) 2024-05-06 19:12:45 +02:00
Marc Mueller
8c053a351c Use runtime_data for elgato (#116614) 2024-05-06 19:12:01 +02:00
Joost Lekkerkerker
95405ba6bb Add dataclass to Ondilo Ico (#116928) 2024-05-06 19:10:49 +02:00
Marc Mueller
52b8c189d7 Fix wiz test warning (#116693) 2024-05-06 19:10:06 +02:00
Joost Lekkerkerker
485f3b0f0a Set pH device class in Ondilo Ico (#116930) 2024-05-06 19:09:02 +02:00
J. Nick Koston
f3b08e89a5 Small speed ups to async_get_integration (#116900) 2024-05-06 19:08:33 +02:00
Bram Kragten
eb6ccea8aa Update frontend to 20240501.1 (#116939) 2024-05-06 18:43:20 +02:00
Bram Kragten
71d65e38b5 Update frontend to 20240501.1 (#116939) 2024-05-06 18:40:01 +02:00
Michael
ead9c4af38 Store runtime data inside the config entry in Radio Browser (#116821) 2024-05-06 17:54:44 +02:00
Franck Nijhof
6b93f8d997 Bump version to 2024.5.2 2024-05-06 17:19:04 +02:00
Jan Bouwhuis
ab113570c3 Fix initial mqtt subcribe cooldown timeout (#116904) 2024-05-06 17:18:26 +02:00
Robert Hillis
ed6788ca3f fix radarr coordinator updates (#116874) 2024-05-06 17:18:23 +02:00
J. Nick Koston
9533f5b490 Fix non-thread-safe operations in amcrest (#116859)
* Fix non-thread-safe operations in amcrest

fixes #116850

* fix locking

* fix locking

* fix locking
2024-05-06 17:18:19 +02:00
mletenay
7c9653e397 Bump goodwe to 0.3.4 (#116849) 2024-05-06 17:18:16 +02:00
tronikos
73eabe821c Bump androidtvremote2 to v0.0.15 (#116844) 2024-05-06 17:18:13 +02:00
Michael
834c2e2a09 Avoid duplicate data fetch during Synologs DSM setup (#116839)
don't do first refresh of central coordinator, is already done by api.setup before
2024-05-06 17:18:10 +02:00
Michael
421f74cd7f Increase default timeout to 30 seconds in Synology DSM (#116836)
increase default timeout to 30s and use it consequently
2024-05-06 17:18:06 +02:00
J. Nick Koston
c049888b00 Fix non-thread-safe state write in lutron event (#116829)
fixes #116746
2024-05-06 17:18:01 +02:00
Paulus Schoutsen
ad5e0949b6 Hide conversation agents that are exposed as agent entities (#116813) 2024-05-06 16:58:30 +02:00
J. Nick Koston
ae28c604e5 Fix airthings-ble data drop outs when Bluetooth connection is flakey (#116805)
* Fix airthings-ble data drop outs when Bluetooth adapter is flakey

fixes #116770

* add missing file

* update
2024-05-06 16:57:55 +02:00
Jan Bouwhuis
dbe303d95e Fix IMAP config entry setup (#116797) 2024-05-06 16:51:29 +02:00
J. Nick Koston
ad7688197f Ensure all synology_dsm coordinators handle expired sessions (#116796)
* Ensure all synology_dsm coordinators handle expired sessions

* Ensure all synology_dsm coordinators handle expired sessions

* Ensure all synology_dsm coordinators handle expired sessions

* handle cancellation

* add a debug log message

---------

Co-authored-by: mib1185 <mail@mib85.de>
2024-05-06 16:51:26 +02:00
Patrick Decat
79460cb017 fix UnboundLocalError on modified_statistic_ids in compile_statistics (#116795)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-06 16:51:23 +02:00
J. Nick Koston
18bcc61427 Bump bluetooth-adapters to 0.19.2 (#116785) 2024-05-06 16:51:19 +02:00
J. Nick Koston
57bbd10517 Refactor statistics to avoid creating tasks (#116743) 2024-05-06 16:51:16 +02:00
Joost Lekkerkerker
f068b8cdb8 Remove suggested UoM from Opower (#116728) 2024-05-06 16:51:12 +02:00
Joost Lekkerkerker
bbb94d9e17 Fix Bosch-SHC switch state (#116721) 2024-05-06 16:51:09 +02:00
J. Nick Koston
6d537e2a66 Bump aiohttp-isal to 0.3.1 (#116720) 2024-05-06 16:51:06 +02:00
J. Nick Koston
17c5aa2871 Improve logging of _TrackPointUTCTime objects (#116711) 2024-05-06 16:51:03 +02:00
Erik Montnemery
f4830216a8 Add workaround for data entry flow show progress (#116704)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-05-06 16:50:52 +02:00
Erik Montnemery
1cea22b8ba Fix search/replace mistake in recorder tests (#116933) 2024-05-06 09:03:21 -05:00
Erik Montnemery
2e945aed54 Convert recorder auto_repairs tests to use async API (#116927) 2024-05-06 08:25:48 -05:00
Erik Montnemery
5150557372 Convert recorder util tests to use async API (#116926) 2024-05-06 08:25:41 -05:00
epenet
9f9493c504 Simplify config entry check in SamsungTV (#116907)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-06 08:12:04 -05:00
Erik Montnemery
9807b2ec11 Convert recorder statistics tests to use async API (#116925) 2024-05-06 08:10:58 -05:00
Erik Montnemery
d01d161fe2 Convert recorder history tests to use async API (#116909) 2024-05-06 08:10:45 -05:00
Joost Lekkerkerker
9517800da6 Add snapshot tests to Ondilo Ico (#116929) 2024-05-06 15:08:15 +02:00
Maciej Bieniek
74df693079 Add new sensors to IMGW-PIB integration (#116631)
Add flood warning/alarm level sensors

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-06 15:03:25 +02:00
Mr. Bubbles
d81fad1ef1 Reduce API calls to fetch Habitica tasks (#116897) 2024-05-06 08:02:54 -05:00
ollo69
7e8fab65ff Store runtime data inside the config entry in AsusWrt (#116889) 2024-05-06 08:00:15 -05:00
Erik Montnemery
f5fe80bc90 Convert recorder init tests to use async API (#116918) 2024-05-06 07:59:39 -05:00
JeromeHXP
c9930d912e Handle errors retrieving Ondilo data and bump ondilo to 0.5.0 (#115926)
* Bump ondilo to 0.5.0 and handle errors retrieving data

* Bump ondilo to 0.5.0 and handle errors retrieving data

* Updated ruff recommendation

* Refactor

* Refactor

* Added exception log and updated call to update data

* Updated test cases to test through state machine

* Updated test cases

* Updated test cases after comments

* REnamed file

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-05-06 14:41:28 +02:00
Jan Bouwhuis
4b8b9ce92d Fix initial mqtt subcribe cooldown timeout (#116904) 2024-05-06 14:32:37 +02:00
tronikos
5c4afe55fd Avoid exceptions when Gemini responses are blocked (#116847)
* Bump google-generativeai to v0.5.2

* Avoid exceptions when Gemini responses are blocked

* pytest --snapshot-update

* set error response

* add test

* ruff
2024-05-06 18:22:22 +10:00
Paulus Schoutsen
4fce99edb5 Only call conversation should_expose once (#116891)
Only call should expose once
2024-05-05 21:37:10 -04:00
J. Nick Koston
5d5f311898 Move thread safety check in issue_registry sooner (#116899) 2024-05-05 20:32:55 -05:00
tronikos
2a4686e1b7 Bump google-generativeai to v0.5.2 (#116845) 2024-05-05 18:59:29 -05:00
Mr. Bubbles
db4eeffeed Bump bring-api to 0.7.1 (#115532)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-05 18:59:21 -05:00
Mr. Bubbles
afe55e2918 Bump Habitipy to 0.3.1 (#116378)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-06 01:44:54 +02:00
ollo69
e6fda4b357 Store runtime data inside the config entry in AndroidTV (#116895) 2024-05-05 18:15:33 -05:00
mletenay
9684867a57 Bump goodwe to 0.3.4 (#116849) 2024-05-05 18:05:21 -05:00
elmurato
2e52a7c4c0 Abort Minecraft Server config flow if device is already configured (#116852)
* Abort config flow if device is already configured

* Fix review findings

* Rename newly added test case
2024-05-06 00:21:50 +02:00
J. Nick Koston
673bbc1372 Switch out aiohttp-isal for aiohttp-fast-zlib to make isal optional (#116814)
* Switch out aiohttp-isal for aiohttp-fast-zlib to make isal optional

aiohttp-isal does not work on core installs where the system has 32bit userland and a 64bit kernel because we have no way to detect this configuration or handle it.

fixes #116681

* Update homeassistant/components/isal/manifest.json

* Update homeassistant/components/isal/manifest.json

* hassfest

* isal

* fixes

* Apply suggestions from code review

* make sure isal is updated before http

* fix tests

* late import
2024-05-05 17:06:12 -04:00
J. Nick Koston
092a2de340 Fix non-thread-safe operations in amcrest (#116859)
* Fix non-thread-safe operations in amcrest

fixes #116850

* fix locking

* fix locking

* fix locking
2024-05-05 16:58:38 -04:00
J. Nick Koston
a57f4b8f42 Index auth token ids to avoid linear search (#116583)
* Index auth token ids to avoid linear search

* async_remove_refresh_token

* coverage
2024-05-05 16:47:26 -04:00
J. Nick Koston
c8e6292cb7 Refactor statistics to avoid creating tasks (#116743) 2024-05-05 16:39:45 -04:00
J. Nick Koston
d970c19342 Fix airthings-ble data drop outs when Bluetooth connection is flakey (#116805)
* Fix airthings-ble data drop outs when Bluetooth adapter is flakey

fixes #116770

* add missing file

* update
2024-05-05 16:37:10 -04:00
J. Nick Koston
2964471e19 Keep august offline key up to date when it changes (#116857)
We only did discovery for the key at setup time. If it
changed, a reloaded of the integration was needed to
update the key. We now update it every time we update
the lock detail.
2024-05-05 16:33:55 -04:00
J. Nick Koston
91fa8b50cc Turn on thread safety checks in async_dispatcher_send (#116867)
* Turn on thread safety checks in async_dispatcher_send

We keep seeing issues where async_dispatcher_send is called from
a thread which means we call the callback function on the other
side in the thread as well which usually leads to a crash

* Turn on thread safety checks in async_dispatcher_send

We keep seeing issues where async_dispatcher_send is called from
a thread which means we call the callback function on the other
side in the thread as well which usually leads to a crash

* adjust
2024-05-05 16:29:43 -04:00
J. Nick Koston
b41b1bb998 Refactor entity_platform polling to avoid double time fetch (#116877)
* Refactor entity_platform polling to avoid double time fetch

Replace async_track_time_interval with loop.call_later
to avoid the useless time fetch every time the listener
fired since we always throw it away

* fix test
2024-05-05 16:28:01 -04:00
J. Nick Koston
76cd498c44 Replace utcnow().timestamp() with time.time() in auth_store (#116879)
utcnow().timestamp() is a slower way to get time.time()
2024-05-05 16:25:27 -04:00
J. Nick Koston
6339c63176 Improve recorder and worker thread matching in RecorderPool (#116886)
* Improve recorder and worker thread matching in RecorderPool

Previously we would look at the name of the threads. This
was a brittle if because other integrations may name their
thread Recorder or DbWorker. Instead we now use explict thread
ids which ensures there will never be a conflict

* fix

* fixes

* fixes
2024-05-05 16:25:10 -04:00
Robert Hillis
ee031f4850 fix radarr coordinator updates (#116874) 2024-05-05 18:54:17 +02:00
Michael
203d110787 Remove timeout option and set timeout static to 30 seconds in Synology DSM (#116815)
* remove timeout option, set timeout static to 30 seconds

* be slightly faster :)
2024-05-05 18:51:35 +02:00
Mr. Bubbles
b53081dc51 Add update coordinator for Habitica integration (#116427)
* Add DataUpdateCoordinator and exception handling for service

* remove unnecessary lines

* revert changes to service

* remove type check

* store coordinator in config_entry

* add exception translations

* update HabiticaData

* Update homeassistant/components/habitica/__init__.py

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

* Update homeassistant/components/habitica/sensor.py

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

* remove auth exception

* fixes

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-05 17:02:28 +02:00
tronikos
ffe6b9b6f0 Bump androidtvremote2 to v0.0.15 (#116844) 2024-05-05 15:44:40 +02:00
Joost Lekkerkerker
da5d975e22 Add Sensor descriptions for Bosch SHC (#116775)
* Add Sensor descriptions for Bosch SHC

* fix

* fix

* fix
2024-05-05 15:44:11 +02:00
J. Nick Koston
cb9914becd Fix non-thread-safe state write in lutron event (#116829)
fixes #116746
2024-05-05 15:43:39 +02:00
Austin Mroczek
91f5e2c8d3 Bump tcc to 2024.5 (#116827)
bump tcc to 2024.5
2024-05-05 15:38:16 +02:00
Maciej Bieniek
3498cb3ced Increase test coverage for Total Connect (#116851)
Increase test coverage

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-05 15:37:24 +02:00
Michael
b4ec1f5877 Avoid duplicate data fetch during Synologs DSM setup (#116839)
don't do first refresh of central coordinator, is already done by api.setup before
2024-05-05 15:09:26 +02:00
Michael
3d7d8fa28b Increase default timeout to 30 seconds in Synology DSM (#116836)
increase default timeout to 30s and use it consequently
2024-05-05 15:07:18 +02:00
Joost Lekkerkerker
486bb6d89f Use parametrize in drop connect sensor tests (#107078)
* Use parametrize in drop connect sensor tests

* Use parametrize in drop connect sensor tests

* Make common helper

* Assert the whole entity state

* fix

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-05-05 14:10:34 +02:00
Jan Bouwhuis
9fd31f6c92 Correct stale docstring on mqtt config flow method (#116848) 2024-05-05 14:06:13 +02:00
Joost Lekkerkerker
7d5aa03bf0 Move Totalconnect coordinator to separate module (#116368)
* Move Totalconnect coordinator to separate module

* Move Totalconnect coordinator to separate module

* Move Totalconnect coordinator to separate module
2024-05-05 13:05:36 +02:00
Maciej Bieniek
7e11fec761 Migrate properties to instance variables in NAM coordinator (#116703)
* Migrate properties to instance variables

* Fix unique_id type

* Update homeassistant/components/nam/__init__.py

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

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-05 13:04:01 +02:00
J. Nick Koston
b4bac7705e Ensure all synology_dsm coordinators handle expired sessions (#116796)
* Ensure all synology_dsm coordinators handle expired sessions

* Ensure all synology_dsm coordinators handle expired sessions

* Ensure all synology_dsm coordinators handle expired sessions

* handle cancellation

* add a debug log message

---------

Co-authored-by: mib1185 <mail@mib85.de>
2024-05-05 12:09:57 +02:00
Michael
f5394dc3a3 Store runtime data inside the config entry in Android TV Remote (#116824) 2024-05-05 08:59:19 +02:00
Paulus Schoutsen
33e9a6bd58 Hide conversation agents that are exposed as agent entities (#116813) 2024-05-04 19:09:38 -05:00
Michael
59349d2859 Store runtime data inside the config entry in System Monitor (#116816)
* replace optional timeout by sane default

* SystemMonitorConfigEntry noz needed in repairs.py
2024-05-05 02:03:57 +02:00
Mr. Bubbles
95ddb734ed Store runtime data inside the config entry in Bring (#116820) 2024-05-05 01:57:00 +02:00
Michael
e66581e3a2 Store runtime data inside the config entry in Certificate Expiry (#116819)
replace optional timeout by sane default
2024-05-05 01:33:24 +02:00
Michael
ddf9d6c53a Store runtime data inside the config entry in Local ToDo (#116818)
store runtime data inside the config entry
2024-05-05 01:10:34 +02:00
J. Nick Koston
0380116ef6 Improve logging of _TrackPointUTCTime objects (#116711) 2024-05-04 17:35:44 -05:00
Michael
910c991a58 Store runtime data inside the config entry in Sun (#116808)
* store runtime data inside the config entry

* move to entry.async_on_unload()
2024-05-04 23:39:12 +02:00
Michael
90a3c2e357 Store runtime data inside the config entry in NUT (#116771)
* store runtime data inside the config entry

* remove unsued constants

* add test for InvalidDeviceAutomationConfig exception

* assert entry

* add more specific type hint
2024-05-04 23:08:01 +02:00
Michael
4a25e67234 Store runtime data inside the config entry in Pi-Hole (#116806) 2024-05-04 22:52:13 +02:00
Michael
55ffc82be1 Store runtime data inside the config entry in Speedtest.net (#116802) 2024-05-04 22:32:53 +02:00
Michael
65120e5789 Store runtime data inside the config entry in VLC telnet (#116803)
store runtime data inside the config entry
2024-05-04 21:52:53 +02:00
Michael
64b5881652 Store runtime data inside the config entry in OpenWeatherMap (#116788) 2024-05-04 21:19:50 +02:00
Jan Bouwhuis
8bc5a798ca Fix IMAP config entry setup (#116797) 2024-05-04 13:18:26 -05:00
Erik Montnemery
1e72e9e0b2 Add workaround for data entry flow show progress (#116704)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-05-04 13:17:21 -05:00
Patrick Decat
ac12d2a463 fix UnboundLocalError on modified_statistic_ids in compile_statistics (#116795)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-04 13:16:58 -05:00
Michael
f143ed9eeb Store runtime data inside the config entry in SamsungTV (#116787) 2024-05-04 19:12:31 +02:00
Michael
ec46d4d644 Store runtime data inside the config entry in Nextcloud (#116790) 2024-05-04 19:03:25 +02:00
Michael
831282c3ba Store runtime data inside the config entry in Met.no (#116767) 2024-05-04 18:59:01 +02:00
Joost Lekkerkerker
985fd49909 Remove suggested UoM from Opower (#116728) 2024-05-04 10:29:42 -05:00
J. Nick Koston
a2a8cf6361 Bump aiohttp-isal to 0.3.1 (#116720) 2024-05-04 10:29:00 -05:00
J. Nick Koston
a444b832ed Bump bluetooth-adapters to 0.19.2 (#116785) 2024-05-04 10:26:14 -05:00
Maciej Bieniek
19eb51deeb Move Brother DataUpdateCoordinator to the coordinator module (#116772)
* Store data in config_entry.runtime_data

* Update homeassistant/components/brother/__init__.py

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

* Fix setdefault

* Do not include ignored and disabled

* Check loaded entries

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-04 16:29:08 +02:00
Maciej Bieniek
63484fdadd Store BraviaTV data in config_entry.runtime_data (#116778) 2024-05-04 15:50:33 +02:00
mkmer
2132b170f2 Update unique_id to string in Honeywell (#116726)
* Update unique_id to string

* Update homeassistant/components/honeywell/climate.py

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

* Update homeassistant/components/honeywell/climate.py

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

* Update homeassistant/components/honeywell/climate.py

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

* Add typing for devices

* Add tests

* Use methods to verify unique_id

* Update tests/components/honeywell/test_climate.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-04 14:18:50 +02:00
Marc Mueller
f9d95efac0 Improve CoordinatorWeatherEntity generic typing (#116760) 2024-05-04 14:02:23 +02:00
Michael
8238cd9f22 Store runtime data inside the config entry in Shelly (#116763) 2024-05-04 12:41:25 +02:00
Michael
e5543e3b95 Store runtime data inside the config entry in DWD (#116764) 2024-05-04 12:36:28 +02:00
Sid
a5df229715 Bump ruff to 0.4.3 (#116749) 2024-05-04 11:56:40 +02:00
Sean Chen
ac0eabad9f Fix UpdateCoordinator types in CoordinatorWeatherEntity constructor (#116747) 2024-05-04 10:32:37 +02:00
mtielen
8ec1576c67 Fix active state mapping in wolflink (#116659)
* Fix active state mapping for certain entities
2024-05-04 09:23:40 +01:00
Joost Lekkerkerker
45d44ac49e Fix Bosch-SHC switch state (#116721) 2024-05-03 23:54:27 +02:00
Robert Svensson
81a269f4f5 Use runtime_data in Axis integration (#116729)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-05-03 21:52:37 +02:00
Jan-Philipp Benecke
ce8cea86a2 Use ConfigEntry runtime_data in Discovergy (#116671) 2024-05-03 21:29:35 +02:00
Franck Nijhof
ab8a811c9f 2024.5.1 (#116696) 2024-05-03 17:17:43 +02:00
Allen Porter
9b4099950c Cleanup OpenAI and Ollama conversation entities (#116714) 2024-05-03 10:59:08 -04:00
Maciej Bieniek
1eed5442e2 Bump nettigo-air-monitor to version 3.0.1 (#116699)
Bump nettigo-air-monitor to version 3.0.1

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-03 14:36:42 +02:00
Erik Montnemery
e9b9d2d545 Convert recorder entity registry tests to use async API (#116448)
* Convert recorder entity registry tests to use async API

* Address review comment

* Make sure recorder is patch is set up before hass fixture
2024-05-03 14:10:58 +02:00
Erik Montnemery
f309064a7f Convert sensor recorder tests to use async API (#116373)
* Convert sensor recorder tests to use async API

* Fix accidentally renamed test

* Avoid unnecessary calls to async_wait_recording_done

* Avoid auto-commits for every state change

* Make sure recorder patches are set up before hass fixture
2024-05-03 14:07:38 +02:00
Maciej Bieniek
3c3a948c33 EntityDescription doesn't need to be generic for NextDNS binary sensor and switch platforms (#116697) 2024-05-03 13:56:38 +02:00
Guido Schmitz
cb26e3c633 Use ConfigEntry runtime_data in devolo Home Control (#116672) 2024-05-03 13:55:04 +02:00
Maciej Bieniek
5274165007 Use runtime_data to store NextDNS data (#116691)
* Use runtime_data to store data

* Use data type instead of CoordinatorDataT

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-03 13:39:10 +02:00
Franck Nijhof
9d2fd8217f Bump version to 2024.5.1 2024-05-03 13:38:38 +02:00
Guido Schmitz
79d50a0685 Add test for HA stop to devolo Home Control (#116682)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-05-03 13:36:15 +02:00
Felipe Martins Diel
7e8cbafc6f Fix BroadlinkRemote._learn_command() (#116692) 2024-05-03 13:36:03 +02:00
Marc Mueller
a4f9a64588 Fix fyta test timezone handling (#116689) 2024-05-03 13:36:00 +02:00
J. Nick Koston
7a56ba1506 Block dreame_vacuum versions older than 1.0.4 (#116673) 2024-05-03 13:35:56 +02:00
Glenn Waters
66bb3ecac9 Bump env_canada lib to 0.6.2 (#116662) 2024-05-03 13:35:53 +02:00
J. Nick Koston
ac302f38b1 Bump habluetooth to 2.8.1 (#116661) 2024-05-03 13:35:49 +02:00
puddly
abeb65e43d Bump ZHA dependency bellows to 0.38.4 (#116660)
Bump ZHA dependencies

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-05-03 13:35:46 +02:00
Galorhallen
c36fd5550b Bump govee-light-local library and fix wrong information for Govee lights (#116651) 2024-05-03 13:35:42 +02:00
Robert Svensson
6be25c784d Bump aiounifi to v77 (#116639) 2024-05-03 13:35:38 +02:00
Marc Mueller
c338f1b964 Add constraint for tuf (#116627) 2024-05-03 13:35:35 +02:00
Kevin Stillhammer
8193b82f4a Bump pywaze to 1.0.1 (#116621)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-03 13:35:31 +02:00
Ståle Storø Hauknes
7c1502fa05 Bump Airthings BLE to 0.8.0 (#116616)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-03 13:35:27 +02:00
Matthias Alphart
575a3da772 Fix inheritance order for KNX notify (#116600) 2024-05-03 13:35:23 +02:00
Joost Lekkerkerker
0e488ef505 Improve coordinator in Ondilo ico (#116596)
* Improve coordinator in Ondilo ico

* Improve coordinator in Ondilo ico
2024-05-03 13:35:19 +02:00
Ståle Storø Hauknes
fabbe2f28f Fix Airthings BLE model names (#116579) 2024-05-03 13:35:16 +02:00
Tomasz
99ab8d2956 Bump sanix to 1.0.6 (#116570)
dependency version bump
2024-05-03 13:35:12 +02:00
Marcel van der Veldt
523de94184 Fix Matter startup when Matter bridge is present (#116569) 2024-05-03 13:35:09 +02:00
Glenn Waters
65839067e3 Bump elkm1_lib to 2.2.7 (#116564)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-03 13:35:05 +02:00
Glenn Waters
5da6f83d10 Bump upb_lib to 0.5.6 (#116558) 2024-05-03 13:35:02 +02:00
Jan Bouwhuis
ea6a9b8316 Fix MQTT discovery cooldown too short with large setup (#116550)
* Fix MQTT discovery cooldown too short with large setup

* Set to 5 sec

* Only change the discovery cooldown

* Fire immediatly when teh debouncing period is over
2024-05-03 13:34:58 +02:00
J. Nick Koston
49de59432e Add a lock to homekit_controller platform loads (#116539) 2024-05-03 13:34:55 +02:00
GraceGRD
624e4a2b48 Bump opentherm_gw to 2.2.0 (#116527) 2024-05-03 13:34:52 +02:00
MatthewFlamm
4e4ac79595 Fix nws forecast coordinators and remove legacy forecast handling (#115857)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-03 13:34:48 +02:00
Marc Mueller
28ab45d5d8 Fix snapcast test warning (#116687) 2024-05-03 13:29:05 +02:00
Marc Mueller
15b24dfbc2 Fix fyta test warning (#116688) 2024-05-03 13:28:36 +02:00
Marcel van der Veldt
217795865b Fix Matter startup when Matter bridge is present (#116569) 2024-05-03 13:27:01 +02:00
Maciej Bieniek
309b3451b6 Move NAM Data Update Coordinator to the coordinator module (#116686)
Move Data Update Coordinator to the coordinator module

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-03 13:13:56 +02:00
Felipe Martins Diel
453ce0fc4e Fix BroadlinkRemote._learn_command() (#116692) 2024-05-03 13:11:22 +02:00
Galorhallen
fd398a3b3c Bump govee-light-local library and fix wrong information for Govee lights (#116651) 2024-05-03 13:07:45 +02:00
Marc Mueller
4a2b595cc8 Fix fyta test timezone handling (#116689) 2024-05-03 13:07:12 +02:00
MatthewFlamm
6413376ccb Fix nws forecast coordinators and remove legacy forecast handling (#115857)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-03 13:06:40 +02:00
J. Nick Koston
ee7f818fcd Block dreame_vacuum versions older than 1.0.4 (#116673) 2024-05-03 12:17:01 +02:00
J. Nick Koston
2b2b46c774 Bump habluetooth to 3.0.1 (#116663) 2024-05-03 12:15:51 +02:00
Maciej Bieniek
395fe0f47f Bump imgw_pib to version 1.0.1 (#116630)
Bump imgw_pib to version 1.0.1

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-03 11:44:51 +02:00
Jan Bouwhuis
84308c9e53 Add title feature to notify entity platform (#116426)
* Add title feature to notify entity platform

* Add overload variants

* Remove overloads, update signatures

* Improve test coverage

* Apply suggestions from code review

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

* Do not use const

* fix typo

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-03 11:17:28 +02:00
J. Nick Koston
ecdad19296 Drop pyserial-asyncio from zha (#116638) 2024-05-03 02:12:28 -05:00
Erik Montnemery
27fcf72275 Convert history tests to use async API (#116447)
* Convert history tests to use async API

* Add new fixture to help patch recorder

* Modify

* Modify

* Update tests/conftest.py

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

* Rename fixture

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-03 08:14:46 +02:00
Allen Porter
897794f53b Clean up small changes from OpenAI conversation entity change (#116395)
Small cleanups in OpenAI conversation
2024-05-02 19:38:12 -05:00
J. Nick Koston
c07f02534b Migrate bluetooth to use the singleton helper (#116629) 2024-05-02 19:35:16 -05:00
puddly
007b15dc8b Bump ZHA dependency bellows to 0.38.4 (#116660)
Bump ZHA dependencies

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-05-02 19:31:28 -05:00
Marc-Olivier Arsenault
0e23d0439b Add ecobee ventilator 20 min timer (#115969)
* add 20 min timer Ecobee

* modify local value with estimated time

* add ecobee test switch

* removed manual setting of data

* Add no throttle updates

* add more test cases

* move timezone calculation in update function

* update attribute based on feedback

* use timezone for time comparaison

* add location data to tests

* remove is_on function

* update python-ecobee-api lib

* remove uncessary checks

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-03 02:08:25 +02:00
Glenn Waters
a3791fde09 Bump env_canada lib to 0.6.2 (#116662) 2024-05-02 18:17:41 -05:00
J. Nick Koston
43a0c880eb Bump habluetooth to 2.8.1 (#116661) 2024-05-02 18:15:56 -05:00
Jan Bouwhuis
5ddf21e4da Cleanup MQTT sensor last_reset_topic config parameter a year after removal (#116657) 2024-05-03 00:04:58 +02:00
Erik Montnemery
b013d6ade9 Fix flaky hassio test (#116658) 2024-05-02 16:24:14 -05:00
J. Nick Koston
a1a314f63a Replace pyserial-asyncio with pyserial-asyncio-fast in serial (#116636) 2024-05-02 16:23:47 -05:00
Jan Bouwhuis
cbf853a84f Improve docstring on roborock image entity method (#116654)
* Improve docstring on roborock image entity method

* Update homeassistant/components/roborock/image.py

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

* More line breaks

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-02 23:09:52 +02:00
Jan Bouwhuis
2ec9728edb Cleanup unused class attr for MQTT config flow (#116653) 2024-05-02 23:09:16 +02:00
Jon Deeming
949ef49c09 Add vesync Vital 100S UK & EU Model mappings (#115948)
Add Vital 100S UK & EU Model mappings, fixes devices not being retrieved via VeSync APIs, using existing 100S device
2024-05-02 22:57:28 +02:00
Jan Bouwhuis
41b688645a Refactor group state logic (#116318)
* Refactor group state logic

* Fix

* Add helper and tests for groups with entity platforms multiple ON states

* Adress comments

* Do not store object and avoid linear search

* User dataclass, cleanup multiline ternary

* Add test cases for grouped groups

* Remove dead code

* typo in comment

* Update metjod and module docstr
2024-05-02 21:55:46 +02:00
Marc Mueller
8e7026d643 Use runtime_data for airnow (#116619) 2024-05-02 21:00:05 +02:00
Marc Mueller
f2b7733e8c Use runtime_data for airthings (#116622)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
2024-05-02 20:59:34 +02:00
Marc Mueller
1c65aacde5 Use runtime_data for airq (#116620) 2024-05-02 20:58:37 +02:00
Jan Bouwhuis
bedd5c1cef Cleanup removed MQTT broker settings (#116633) 2024-05-02 20:37:21 +02:00
Robert Svensson
ecc431e231 Bump aiounifi to v77 (#116639) 2024-05-02 19:53:17 +02:00
Marc Mueller
3133dea803 Use runtime_data for aftership (#116618) 2024-05-02 18:38:52 +02:00
Marc Mueller
d19dac7290 Use runtime_data for airtouch5 (#116625) 2024-05-02 18:36:35 +02:00
Kevin Stillhammer
bf709bae9c Bump pywaze to 1.0.1 (#116621)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-02 09:54:06 -05:00
Marc Mueller
0977ad017d Use runtime_data for airthings_ble (#116623)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-02 09:38:01 -05:00
Ståle Storø Hauknes
adfd63be8c Bump Airthings BLE to 0.8.0 (#116616)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-02 09:37:02 -05:00
Maciej Bieniek
37d9ed899d Add binary_sensor platform to IMGW-PIB integration (#116624)
* Add binary_sensor platform

* Add tests

* Remove state attributes

* Remove attrs from strings.json

* Use base entity class

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-02 16:16:26 +02:00
Marc Mueller
1ec7a515d2 Add constraint for tuf (#116627) 2024-05-02 09:12:26 -05:00
Joost Lekkerkerker
a2bd045c9d Improve coordinator in Ondilo ico (#116596)
* Improve coordinator in Ondilo ico

* Improve coordinator in Ondilo ico
2024-05-02 15:57:47 +02:00
Marc Mueller
1fc8fdf9ff Use runtime_data for august (#116610) 2024-05-02 07:39:02 -05:00
Marc Mueller
ef242f2883 Use runtime_data for bond (#116611) 2024-05-02 07:38:59 -05:00
Marc Mueller
6bb2ab519f Use runtime_data for co2signal (#116612) 2024-05-02 14:04:21 +02:00
Matthias Alphart
70ae082281 Use entry.runtime_data in Fronius (#116604) 2024-05-02 13:42:48 +02:00
Marc Mueller
63a45035dd Use runtime_data for ambient_station (#116608) 2024-05-02 13:42:16 +02:00
Marc Mueller
5e8c9d66fb Use runtime_data for airvisual_pro (#116607) 2024-05-02 13:41:32 +02:00
Marc Mueller
64d9fac6db Use runtime_data for acmeda (#116606) 2024-05-02 13:40:49 +02:00
Matthias Alphart
8eb1970721 Fix inheritance order for KNX notify (#116600) 2024-05-02 11:44:32 +02:00
Franck Nijhof
10bc66ac77 Merge branch 'master' into dev 2024-05-02 11:22:38 +02:00
blob810
1170ce1296 Add shutter tilt support for Shelly Wave Shutter QNSH-001P10 (#116211)
* Add shutter tilt support for Shelly Wave Shutter QNSH-001P10

* Add shelly_europe_ltd_qnsh_001p10_state.json fixture

* Update test_discovery.py

* Load shelly wave shutter 001p10 node fixture

* Update test_discovery.py

Check if entity of first node exists.

* Update test_discovery.py

Add additional comments

* Clean whitespace

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-02 11:02:35 +02:00
dependabot[bot]
71c5f33e69 Bump codecov/codecov-action from 4.3.0 to 4.3.1 (#116592)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4.3.0...v4.3.1)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 10:24:36 +02:00
dependabot[bot]
9c3a4c5365 Bump sigstore/cosign-installer from 3.4.0 to 3.5.0 (#115399)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.4.0...v3.5.0)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-02 10:18:44 +02:00
Thomas55555
86637f7171 Address late review for Husqvarna Automower (#116536)
* Address late review for Husqvarna Automower

* fix wrong base entity
2024-05-02 10:05:45 +02:00
David Knowles
67e199fb2f Bump pydrawise to 2024.4.1 (#116449)
* Bump pydrawise to 2024.4.1

* Fix typing errors

* Use assert instead of cast

* Remove unused import
2024-05-02 07:56:27 +02:00
Glenn Waters
62a87b8430 Bump elkm1_lib to 2.2.7 (#116564)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-01 19:51:04 -05:00
J. Nick Koston
657c9ec25b Add a lock to homekit_controller platform loads (#116539) 2024-05-01 19:23:43 -05:00
Ståle Storø Hauknes
713ce0dd17 Fix Airthings BLE model names (#116579) 2024-05-01 19:19:40 -05:00
Tomasz
afbe0ce096 Bump sanix to 1.0.6 (#116570)
dependency version bump
2024-05-02 00:21:40 +02:00
Marc Mueller
2cb3a31db1 Improve fitbit generic coordinator typing (#116562) 2024-05-02 00:00:47 +02:00
Marc Mueller
86f96db9b0 Improve asuswrt decorator typing (#116563) 2024-05-02 00:00:30 +02:00
GraceGRD
aa1af37d1b Bump opentherm_gw to 2.2.0 (#116527) 2024-05-01 16:13:09 -05:00
Marc Mueller
8bc214b185 Improve airly generic coordinator typing (#116561) 2024-05-01 22:41:11 +02:00
Marc Mueller
bd24ce8d4d Improve tankerkoenig generic coordinator typing (#116560) 2024-05-01 22:33:07 +02:00
Glenn Waters
fa920fd910 Bump upb_lib to 0.5.6 (#116558) 2024-05-01 15:32:56 -05:00
J. Nick Koston
041456759f Remove duplicate mid handling in MQTT (#116531) 2024-05-01 15:18:44 -05:00
Joost Lekkerkerker
e68901235b Store runtime data in entry in Analytics Insights (#116441) 2024-05-01 22:13:38 +02:00
G Johansson
3bf67f3ddd Use config entry runtime data in Trafikverket Train (#116556) 2024-05-01 22:08:19 +02:00
G Johansson
b089f89f14 Use config entry runtime data in Trafikverket Ferry (#116557) 2024-05-01 22:05:47 +02:00
G Johansson
5e9a864f5b Use config entry runtime data in Sensibo (#116530)
* Use config entry runtime data in Sensibo

* Add typing

* Fixes coordinator

* Move import
2024-05-01 22:02:36 +02:00
G Johansson
b2c1cd3e2a Use config entry runtime data in Trafikverket Camera (#116552) 2024-05-01 21:59:07 +02:00
G Johansson
6cb703aa1d Use config entry runtime data in Trafikverket Weather (#116554) 2024-05-01 21:58:21 +02:00
Michael
054fb5af31 Store runtime data inside the config entry in PegelOnline (#116534) 2024-05-01 21:54:05 +02:00
Michael
a4139f1a61 Store runtime data inside the config entry in Proximity (#116533) 2024-05-01 21:51:47 +02:00
Michael
ad61e5f237 Store runtime data inside the config entry in Tankerkoenig (#116532) 2024-05-01 21:48:31 +02:00
Marc Mueller
a25e202ef0 Use runtime data for FritzBox Call Monitor (#116553) 2024-05-01 21:27:34 +02:00
Jan Bouwhuis
7fd60ddba4 Fix MQTT discovery cooldown too short with large setup (#116550)
* Fix MQTT discovery cooldown too short with large setup

* Set to 5 sec

* Only change the discovery cooldown

* Fire immediatly when teh debouncing period is over
2024-05-01 21:19:55 +02:00
G Johansson
ef2ae7b600 Use runtime data in Yale Smart Alarm (#116548) 2024-05-01 21:13:29 +02:00
Maciej Bieniek
ae6a497cd1 Add diagnostics platform to IMGW-PIB integration (#116551)
* Add diagnostics

* Add tests

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-01 21:06:22 +02:00
Michael
c5cac8fed4 Store runtime data inside the config entry in AVM Fritz!Smarthome (#116523) 2024-05-01 20:51:39 +02:00
Franck Nijhof
2f47668422 2024.5.0 (#116538) 2024-05-01 20:47:10 +02:00
J. Nick Koston
343d97527c Ensure mqtt handler is restored if its already registered in bootstrap test (#116549) 2024-05-01 20:23:14 +02:00
J. Nick Koston
f73c55b434 Ensure mqtt handler is restored if its already registered in bootstrap test (#116549) 2024-05-01 20:22:18 +02:00
J. Nick Koston
21466180aa Ensure mock mqtt handler is cleaned up after test_bootstrap_dependencies (#116544) 2024-05-01 19:46:54 +02:00
J. Nick Koston
573cd8e94a Ensure mock mqtt handler is cleaned up after test_bootstrap_dependencies (#116544) 2024-05-01 19:45:47 +02:00
Franck Nijhof
858874f0da Bump version to 2024.5.0 2024-05-01 18:59:07 +02:00
Franck Nijhof
1641f24314 Bump version to 2024.5.0b7 2024-05-01 18:32:41 +02:00
J. Nick Koston
e1c08959b0 Fix stop event cleanup when reloading MQTT (#116525) 2024-05-01 18:32:33 +02:00
Marcel van der Veldt
b42f367128 Add blocklist for known Matter devices with faulty transitions (#116524) 2024-05-01 18:32:24 +02:00
Marcel van der Veldt
1db770ab3a Add blocklist for known Matter devices with faulty transitions (#116524) 2024-05-01 18:30:59 +02:00
J. Nick Koston
0b08ae7e44 Reduce timestamp function call overhead in core states (#116517)
* Reduce timestamp function call overhead in core states

The recorder or the websocket_api will always call the timestamps, so we will set the timestamp values when creating the State to avoid the function call overhead in the property we know will always be called.

* Reduce timestamp function call overhead in core states

The recorder or the websocket_api will always call the timestamps, so we will set the timestamp values when creating the State to avoid the function call overhead in the property we know will always be called.

* reduce scope of change since last_reported is not called in websocket_api

* reduce scope of change since last_reported is not called in websocket_api
2024-05-01 11:04:20 -05:00
J. Nick Koston
25df41475a Simplify MQTT mid handling (#116522)
* Simplify MQTT mid handling

switch from asyncio.Event to asyncio.Future

* preen

* preen

* preen
2024-05-01 11:03:10 -05:00
J. Nick Koston
2fe17acaf7 Bump yalexs to 3.1.0 (#116511)
changelog: https://github.com/bdraco/yalexs/compare/v3.0.1...v3.1.0
2024-05-01 11:01:54 -05:00
Maciej Bieniek
9e8f7b5618 Store GIOS runtime data in entry (#116510)
Use entry.runtime_data

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-01 17:28:20 +02:00
J. Nick Koston
2ad6353bf8 Fix stop event cleanup when reloading MQTT (#116525) 2024-05-01 10:22:50 -05:00
G Johansson
51f9e661a4 Workday only update once a day (#116419)
* Workday only update once a day

* Fix tests
2024-05-01 17:11:47 +02:00
Franck Nijhof
1e4e891f0b Bump version to 2024.5.0b6 2024-05-01 16:24:03 +02:00
Joost Lekkerkerker
15aa8949ee Improve scrape strings (#116519) 2024-05-01 16:23:54 +02:00
J. Nick Koston
780a6b314f Fix blocking I/O to import modules in mysensors (#116516) 2024-05-01 16:23:50 +02:00
Marcel van der Veldt
082721e1ab Bump python matter server library to 5.10.0 (#116514) 2024-05-01 16:23:47 +02:00
J. Nick Koston
4312f36dbe Fix non-thread-safe operations in ihc (#116513) 2024-05-01 16:23:43 +02:00
puddly
f89677cd76 Bump ZHA dependencies (#116509) 2024-05-01 16:23:39 +02:00
Joost Lekkerkerker
b7a138b02a Improve scrape strings (#116519) 2024-05-01 16:22:25 +02:00
puddly
07e608d815 Bump ZHA dependencies (#116509) 2024-05-01 16:00:17 +02:00
Marcel van der Veldt
0b340e1477 Bump python matter server library to 5.10.0 (#116514) 2024-05-01 15:42:53 +02:00
J. Nick Koston
c39d3b501e Fix non-thread-safe operations in ihc (#116513) 2024-05-01 15:23:33 +02:00
J. Nick Koston
61a7bc7aab Fix blocking I/O to import modules in mysensors (#116516) 2024-05-01 15:22:50 +02:00
Maciej Bieniek
c46be022c8 Add IMGW-PIB integration (#116468)
* Add sensor platform

* Add tests

* Fix icons.json

* Use entry.runtime_data

* Remove validate_input function

* Change abort reason to cannot_connect

* Remove unnecessary square brackets

* Move _attr_attribution outside the constructor

* Use native_value property

* Use is with ENUMs

* Import SOURCE_USER

* Change test name

* Use freezer.tick

* Tests refactoring

* Remove test_setup_entry

* Test creating entry after error

* Add missing async_block_till_done

* Fix translation key

* Remove coordinator type annotation

* Enable strict typing

* Assert config entry unique_id

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-05-01 14:38:36 +02:00
Franck Nijhof
0eb734b6bf Bump version to 2024.5.0b5 2024-05-01 13:41:34 +02:00
Bram Kragten
ad16c5bc25 Update frontend to 20240501.0 (#116503) 2024-05-01 13:41:18 +02:00
max2697
fabc3d751e Bump opower to 0.4.4 (#116489) 2024-05-01 13:40:25 +02:00
Luke Lashley
31cfabc44d Fix roborock image crashes (#116487) 2024-05-01 13:40:22 +02:00
J. Nick Koston
7d51556e1e Hold a lock to prevent concurrent setup of config entries (#116482) 2024-05-01 13:40:18 +02:00
Bram Kragten
ac24105777 Update frontend to 20240430.0 (#116481) 2024-05-01 13:40:15 +02:00
Jan Bouwhuis
3d86577cab Add test MQTT subscription is completed when birth message is sent (#116476) 2024-05-01 13:40:12 +02:00
J. Nick Koston
6971898a43 Fix non-thread-safe operation in roon volume callback (#116475) 2024-05-01 13:40:08 +02:00
puddly
c54d53b88a Change SkyConnect integration type back to hardware and fix multi-PAN migration bug (#116474)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-01 13:40:05 +02:00
J. Nick Koston
c574d86ddb Fix local_todo blocking the event loop (#116473) 2024-05-01 13:40:01 +02:00
J. Nick Koston
3d13345575 Ensure MQTT resubscribes happen before birth message (#116471) 2024-05-01 13:39:58 +02:00
J. Nick Koston
c77cef0391 Bump bluetooth-adapters to 0.19.1 (#116465) 2024-05-01 13:39:55 +02:00
Joost Lekkerkerker
3351b82667 Fix zoneminder async v2 (#116451) 2024-05-01 13:39:52 +02:00
Richard Kroegel
78d19854dd Bump bimmer_connected to 0.15.2 (#116424)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-05-01 13:39:48 +02:00
Marcel van der Veldt
c0d529b072 Some fixes for the Matter light discovery schema (#116108)
* Fix discovery schema for light platform

* fix switch platform discovery schema

* extend light tests

* Update switch.py

* clarify comment

* use parameter for supported_color_modes
2024-05-01 13:39:16 +02:00
Bram Kragten
53d5960f49 Update frontend to 20240501.0 (#116503) 2024-05-01 12:53:45 +02:00
Luke Lashley
835ce919f4 Fix roborock image crashes (#116487) 2024-05-01 11:56:02 +02:00
Marcel van der Veldt
8230bfcf8f Some fixes for the Matter light discovery schema (#116108)
* Fix discovery schema for light platform

* fix switch platform discovery schema

* extend light tests

* Update switch.py

* clarify comment

* use parameter for supported_color_modes
2024-05-01 11:46:52 +02:00
Joost Lekkerkerker
ac608ef86a Remove unused argument from DWD coordinator (#116496) 2024-05-01 11:19:26 +02:00
wittypluck
7a10959e58 Use websocket client to test device removal in Unifi (#116309)
* Use websocket client to test device removal from registry

* Rename client to ws_client to avoid confusion with Unifi clients

* Use remove_device helper
2024-05-01 08:46:03 +02:00
max2697
58c7a97149 Bump opower to 0.4.4 (#116489) 2024-05-01 07:11:47 +02:00
J. Nick Koston
6cf1c5c1f2 Hold a lock to prevent concurrent setup of config entries (#116482) 2024-04-30 18:47:12 -05:00
Jan Bouwhuis
3c7cbf5794 Add test MQTT subscription is completed when birth message is sent (#116476) 2024-04-30 18:15:46 -05:00
J. Nick Koston
2401580b6f Make a copy of capability_attributes instead of making a new dict (#116477) 2024-04-30 17:54:33 -05:00
Bram Kragten
d39707ee4f Update frontend to 20240430.0 (#116481) 2024-05-01 00:46:25 +02:00
Richard Kroegel
0d0865e783 Bump bimmer_connected to 0.15.2 (#116424)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-04-30 22:49:28 +02:00
J. Nick Koston
d524baafd2 Fix non-thread-safe operation in roon volume callback (#116475) 2024-04-30 22:47:27 +02:00
puddly
963d8d6a76 Change SkyConnect integration type back to hardware and fix multi-PAN migration bug (#116474)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-30 22:47:17 +02:00
Robert Resch
1641df18ce Store runtime data in entry in Ecovacs (#116445) 2024-04-30 22:44:56 +02:00
J. Nick Koston
2e9b1916c0 Ensure MQTT resubscribes happen before birth message (#116471) 2024-04-30 22:31:40 +02:00
J. Nick Koston
6c446b4e59 Fix local_todo blocking the event loop (#116473) 2024-04-30 22:31:09 +02:00
G Johansson
23a8b29bfe Bring sensibo to full coverage (again) (#116469) 2024-04-30 21:31:52 +02:00
Christopher Bailey
c7a84b1c7b Bump pydantic constraint (#116401)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-30 13:13:56 -05:00
J. Nick Koston
9995207817 Avoid re-encoding the message id as bytes for every event/state change (#116460) 2024-04-30 12:02:28 -05:00
J. Nick Koston
fbe1781ebc Bump bluetooth-adapters to 0.19.1 (#116465) 2024-04-30 11:53:55 -05:00
J. Nick Koston
6be2b334d8 Avoid netloc ipaddress re-encoding to construct ingress urls (#116431) 2024-04-30 11:44:25 -05:00
J. Nick Koston
ff104f54b5 Small performance improvements to ingress forwarding (#116457) 2024-04-30 11:43:58 -05:00
andarotajo
1e63665bf2 Mock dwdwfsapi in all tests that use it (#116414)
* Mock dwdwfsapi in all tests

* Add mocking for config entries

* Fix assertions in init test
2024-04-30 18:08:15 +02:00
epenet
a440783208 Store runtime data in entry in renault (#116454) 2024-04-30 17:39:03 +02:00
epenet
0005f8400d Move Renault service registration (#116459)
* Move Renault service registration

* Hassfest
2024-04-30 17:10:40 +02:00
Maciej Bieniek
f9b1b371e9 Remove entity description mixin in NextDNS (#116456)
Remove entity description mixin

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-30 16:05:49 +02:00
J. Nick Koston
feb6cfdd56 Add pydantic to skip-binary (#116406) 2024-04-30 09:00:06 -05:00
epenet
8291769361 Store runtime data in entry in onewire (#116450)
* Store runtime data in entry in onewire

* Adjust
2024-04-30 15:55:20 +02:00
Joost Lekkerkerker
a12301f696 Fix zoneminder async v2 (#116451) 2024-04-30 08:07:15 -05:00
Joost Lekkerkerker
6f406603a6 Store runtime data in entry in Withings (#116439)
* Add entry runtime data to Withings

* Store runtime data in entry in Withings

* Fix

* Fix

* Update homeassistant/components/withings/coordinator.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-04-30 13:00:11 +02:00
epenet
ad84ff18eb Use remove_device helper in tests (1/2) (#116240)
* Use remove_device helper in tests

* Update test_tag.py

* Update test_tag.py
2024-04-30 12:52:33 +02:00
epenet
a3942e019b Use remove_device helper in tests (2/2) (#116442)
Use remove_device helper in tests (part 2)
2024-04-30 12:50:35 +02:00
Franck Nijhof
5b7e09b886 Bump version to 2024.5.0b4 2024-04-30 12:47:51 +02:00
Joost Lekkerkerker
7cbb2892c1 Add user id to coordinator name in Withings (#116440)
* Add user id to coordinator name in Withings

* Add user id to coordinator name in Withings

* Fix
2024-04-30 12:47:44 +02:00
Joost Lekkerkerker
5510315b87 Fix zoneminder async (#116436) 2024-04-30 12:47:41 +02:00
Michael
bd8ded1e55 Fix error handling in Shell Command integration (#116409)
* raise proper HomeAssistantError on command timeout

* raise proper HomeAssistantError on non-utf8 command output

* add error translation and test it

* Update homeassistant/components/shell_command/strings.json

* Update tests/components/shell_command/test_init.py

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-30 12:47:38 +02:00
Joost Lekkerkerker
1a1dfbd489 Remove semicolon in Modbus (#116399) 2024-04-30 12:47:34 +02:00
Graham Wetzler
3477c81ed1 Bump smart_meter_texas to 0.5.5 (#116321) 2024-04-30 12:47:31 +02:00
Collin Fair
5d9abf9ac5 Fix stale prayer times from islamic-prayer-times (#115683) 2024-04-30 12:47:28 +02:00
Joost Lekkerkerker
8843780aab Set Synology camera device name as entity name (#109123) 2024-04-30 12:47:24 +02:00
Joost Lekkerkerker
d84d2109c2 Add user id to coordinator name in Withings (#116440)
* Add user id to coordinator name in Withings

* Add user id to coordinator name in Withings

* Fix
2024-04-30 12:41:34 +02:00
Marc Mueller
dace9b32de Store runtime data inside ConfigEntry (#115669) 2024-04-30 11:29:43 +02:00
dontinelli
258e20bfc4 Update fyta async_migrate_entry (#116433)
Update async_migrate_entry __init__.py
2024-04-30 10:02:31 +02:00
Joost Lekkerkerker
fd8287bc15 Set Synology camera device name as entity name (#109123) 2024-04-30 09:49:35 +02:00
Joost Lekkerkerker
59d618bed1 Fix zoneminder async (#116436) 2024-04-30 09:48:58 +02:00
Graham Wetzler
b777947978 Bump smart_meter_texas to 0.5.5 (#116321) 2024-04-30 09:47:06 +02:00
Collin Fair
7184543f12 Fix stale prayer times from islamic-prayer-times (#115683) 2024-04-30 09:18:09 +02:00
G Johansson
822646749d Remove entity category "system" check from entity registry (#116412) 2024-04-30 04:01:12 +02:00
Marc Mueller
8233b621f0 Update pytest to 8.2.0 (#116379) 2024-04-29 21:50:11 +02:00
Guy Sie
f5700279d3 Add Open Home Foundation link (#116405) 2024-04-29 21:28:47 +02:00
Robert Resch
630ddd6a8c Revert "Remove strict connection" (#116416) 2024-04-29 21:26:40 +02:00
Thomas55555
f001e8524a Add Workarea cutting height to Husqvarna Automower (#116115)
* add work_area cutting_height

* add

* add default work_area

* ruff/mypy

* better names

* fit to api bump

* tweaks

* more tweaks

* layout

* address review

* change entity name

* tweak test

* cleanup entities

* fix for mowers with no workareas

* assure not other entities get deleted

* sort & remove one callback

* remove typing callbacks

* rename entity to entity_entry
2024-04-29 21:10:45 +02:00
Michael
c5953045d4 Add error translations to AVM Fritz!Tools (#116413) 2024-04-29 20:48:54 +02:00
rale
a6fdd4e1e2 Report webOS media player state (#113774)
* support for webos media player state

* add test coverage and don't use assumed state if media player state is available

* fallback to assumed state if media state isn't available

Co-authored-by: Shay Levy <levyshay1@gmail.com>

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-04-29 21:43:46 +03:00
Michael
50d83bbdbf Fix error handling in Shell Command integration (#116409)
* raise proper HomeAssistantError on command timeout

* raise proper HomeAssistantError on non-utf8 command output

* add error translation and test it

* Update homeassistant/components/shell_command/strings.json

* Update tests/components/shell_command/test_init.py

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-29 20:19:14 +02:00
Joost Lekkerkerker
d1c58467c5 Remove semicolon in Modbus (#116399) 2024-04-29 20:13:36 +02:00
Franck Nijhof
a7faf2710f Bump version to 2024.5.0b3 2024-04-29 19:44:22 +02:00
Bram Kragten
06e032b838 Update frontend to 20240429.0 (#116404) 2024-04-29 19:44:12 +02:00
Robert Resch
8f2d10c49a Remove strict connection (#116396) 2024-04-29 19:44:09 +02:00
Steve Easley
39d923dc02 Fix jvcprojector command timeout with some projectors (#116392)
* Fix projector timeout in pyprojector lib v1.0.10

* Fix projector timeout by increasing time between power command and refresh.

* Bump jvcprojector lib to ensure unknown power states are handled
2024-04-29 19:44:06 +02:00
Mr. Bubbles
99e3236fb7 Deprecate YAML configuration of Habitica (#116374)
Add deprecation issue for yaml import
2024-04-29 19:44:03 +02:00
dontinelli
7ee79002b3 Store access token in entry for Fyta (#116260)
* save access_token and expiration date in ConfigEntry

* add MINOR_VERSION and async_migrate_entry

* shorten reading of expiration from config entry

* add additional consts and test for config entry migration

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/__init__.py

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

* omit check for datetime data type

* Update homeassistant/components/fyta/__init__.py

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

* Update homeassistant/components/fyta/coordinator.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 19:43:59 +02:00
dontinelli
ac45d20e1f Bump fyta_cli to 0.4.1 (#115918)
* bump fyta_cli to 0.4.0

* Update PLANT_STATUS and add PLANT_MEASUREMENT_STATUS

* bump fyta_cli to v0.4.0

* minor adjustments of states to API documentation
2024-04-29 19:43:55 +02:00
Robert Resch
dfc198cae0 Remove strict connection (#116396) 2024-04-29 19:33:31 +02:00
Bram Kragten
b3c1a86194 Update frontend to 20240429.0 (#116404) 2024-04-29 18:34:20 +02:00
Steve Easley
420d6a2d9d Fix jvcprojector command timeout with some projectors (#116392)
* Fix projector timeout in pyprojector lib v1.0.10

* Fix projector timeout by increasing time between power command and refresh.

* Bump jvcprojector lib to ensure unknown power states are handled
2024-04-29 18:25:16 +02:00
dontinelli
180e178a69 Store access token in entry for Fyta (#116260)
* save access_token and expiration date in ConfigEntry

* add MINOR_VERSION and async_migrate_entry

* shorten reading of expiration from config entry

* add additional consts and test for config entry migration

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/__init__.py

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

* omit check for datetime data type

* Update homeassistant/components/fyta/__init__.py

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

* Update homeassistant/components/fyta/coordinator.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 17:09:07 +02:00
dontinelli
8ed10c7c4f Bump fyta_cli to 0.4.1 (#115918)
* bump fyta_cli to 0.4.0

* Update PLANT_STATUS and add PLANT_MEASUREMENT_STATUS

* bump fyta_cli to v0.4.0

* minor adjustments of states to API documentation
2024-04-29 17:08:36 +02:00
J. Nick Koston
8bfcaf3524 Add service to log all the current asyncio Tasks to the profiler (#116389)
* Add service to log all the current asyncio Tasks to the profiler

I have been helping users look for a task leaks, and need a
way to examine tasks at run time as trying to get someone to
run Home Assistant and attach aiomonitor is too difficult in
many cases.

* cover
2024-04-29 10:03:35 -05:00
J. Nick Koston
f1e5bbcbca Fix grammar in internal function comments (#116387)
https://github.com/home-assistant/core/pull/116339#discussion_r1582610474
2024-04-29 17:01:15 +02:00
Mr. Bubbles
3d750414f1 Deprecate YAML configuration of Habitica (#116374)
Add deprecation issue for yaml import
2024-04-29 17:00:13 +02:00
Joost Lekkerkerker
eec1dafe11 Fix typo in Switchbot cloud (#116388) 2024-04-29 16:58:02 +02:00
mkmer
f5b4637da8 Address late review in Honeywell (#115702)
Pass honeywell_data
2024-04-29 16:16:46 +02:00
Allen Porter
f1dda8ef63 Add Ollama Conversation Agent Entity (#116363)
* Add ConversationEntity to OLlama integration

* Add assist_pipeline dependencies
2024-04-29 10:15:46 -04:00
Paulus Schoutsen
0a9ac6b7a9 Bump version to 2024.5.0b2 2024-04-29 14:09:46 +00:00
J. Nick Koston
6fe20be095 Fix usb scan delaying shutdown (#116390)
If the integration page is accessed right before shutdown it
can trigger the usb scan debouncer which was not marked as
background so shutdown would wait for the scan to finish
2024-04-29 14:09:41 +00:00
Shay Levy
a61650e38f Prevent Shelly raising in a task (#116355)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-29 14:09:40 +00:00
J. Nick Koston
087b6533cd Fix another case of homeassistant_alerts delaying shutdown (#116352) 2024-04-29 14:09:39 +00:00
J. Nick Koston
9445b84ab5 Fix shelly delaying shutdown (#116346) 2024-04-29 14:09:39 +00:00
J. Nick Koston
88015986ad Fix bond update delaying shutdown when push updated are not available (#116344)
If push updates are not available, bond could delay shutdown. The update
task should have been marked as a background task
2024-04-29 14:09:38 +00:00
J. Nick Koston
0cec378126 Fix some flapping sonos tests (#116343) 2024-04-29 14:09:37 +00:00
Joost Lekkerkerker
5ca91190f2 Fix Netatmo indoor sensor (#116342)
* Debug netatmo indoor sensor

* Debug netatmo indoor sensor

* Fix
2024-04-29 14:09:36 +00:00
J. Nick Koston
c533ca50b1 Fix homeassistant_alerts delaying shutdown (#116340) 2024-04-29 14:09:35 +00:00
J. Nick Koston
66538ba34e Add thread safety checks to async_create_task (#116339)
* Add thread safety checks to async_create_task

Calling async_create_task from a thread almost always results in an
fast crash. Since most internals are using async_create_background_task
or other task APIs, and this is the one integrations seem to get wrong
the most, add a thread safety check here

* Add thread safety checks to async_create_task

Calling async_create_task from a thread almost always results in an
fast crash. Since most internals are using async_create_background_task
or other task APIs, and this is the one integrations seem to get wrong
the most, add a thread safety check here

* missed one

* Update homeassistant/core.py

* fix mocks

* one more internal

* more places where internal can be used

* more places where internal can be used

* more places where internal can be used

* internal one more place since this is high volume and was already eager_start
2024-04-29 14:09:34 +00:00
J. Nick Koston
6786479a81 Fix sonos events delaying shutdown (#116337) 2024-04-29 14:09:33 +00:00
J. Nick Koston
c4c21bc8ea Fix bluetooth adapter discovery delaying startup and shutdown (#116335) 2024-04-29 14:09:33 +00:00
J. Nick Koston
c3cb79e0e9 Fix wemo push updates delaying shutdown (#116333) 2024-04-29 14:09:32 +00:00
J. Nick Koston
1309fc5eda Fix unifiprotect delaying shutdown if websocket if offline (#116331) 2024-04-29 14:09:31 +00:00
J. Nick Koston
624eed4b83 Fix august delaying shutdown (#116329) 2024-04-29 14:09:30 +00:00
J. Nick Koston
d1e7471094 Prevent setup retry from delaying shutdown (#116328) 2024-04-29 14:09:29 +00:00
J. Nick Koston
f2a101128f Make discovery flow tasks background tasks (#116327) 2024-04-29 14:09:28 +00:00
Jan Bouwhuis
bfcffb5cb1 Fix no will published when mqtt is down (#116319) 2024-04-29 14:09:27 +00:00
hopkins-tk
abf45a0e0c Fix Aseko binary sensors names (#116251)
* Fix Aseko binary sensors names

* Fix add missing key to strings.json

* Fix remove setting shorthand translation key attribute

* Update homeassistant/components/aseko_pool_live/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 14:09:26 +00:00
J. Nick Koston
2c46db16d4 Fix script in restart mode that is fired from the same trigger (#116247) 2024-04-29 14:09:25 +00:00
Martin Hjelmare
6d8066afa2 Add matter during onboarding (#116163)
* Add matter during onboarding

* test_zeroconf_not_onboarded_running

* test_zeroconf_not_onboarded_installed

* test_zeroconf_not_onboarded_not_installed

* test_zeroconf_discovery_not_onboarded_not_supervisor

* Clean up

* Add udp address

* Test zeroconf udp info too

* test_addon_installed_failures_zeroconf

* test_addon_running_failures_zeroconf

* test_addon_not_installed_failures_zeroconf

* Clean up stale changes

* Set unique id for discovery step

* Fix tests for background flow

* Fix flow running in background

* Test already discovered zeroconf

* Mock unload entry
2024-04-29 14:09:24 +00:00
Marco van 't Wout
ee4f55a5a9 Improve error handling for HTTP errors on Growatt Server (#110633)
* Update dependency growattServer for improved error details

Updating to latest version. Since version 1.3.1 it will raise requests.exceptions.HTTPError for unexpected API responses such as HTTP 405 (rate limiting/firewall)

* Improve error details by raising ConfigEntryAuthFailed

Previous code was returning None which the caller couldn't handle

* Use a more appropiate exception type

* Update homeassistant/components/growatt_server/sensor.py

* Update homeassistant/components/growatt_server/sensor.py

* Fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 14:09:23 +00:00
J. Nick Koston
eced3b0f57 Fix usb scan delaying shutdown (#116390)
If the integration page is accessed right before shutdown it
can trigger the usb scan debouncer which was not marked as
background so shutdown would wait for the scan to finish
2024-04-29 10:07:48 -04:00
J. Nick Koston
81d2f5b791 Small cleanups to climate entity feature compat (#116361)
* Small cleanups to climate entity feature compat

Fix some duplicate property fetches, avoid generating a new
enum every time supported_features was fetched if there was
no modifier

* param

* param
2024-04-29 15:43:55 +02:00
Shay Levy
d1f88ffd1e Prevent Shelly raising in a task (#116355)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-29 08:03:57 -05:00
Marc Mueller
8ac493fcf4 Update types packages (#116382) 2024-04-29 14:50:00 +02:00
Marc Mueller
6c9f277bbe Update uv to 0.1.39 (#116381) 2024-04-29 14:48:13 +02:00
Marc Mueller
de65e6b5d1 Update respx to 0.21.1 (#116380) 2024-04-29 14:45:57 +02:00
Marc Mueller
e060e90858 Update pipdeptree to 2.19.0 (#116376) 2024-04-29 14:44:04 +02:00
Marc Mueller
26fad0b786 Update pytest-xdist to 3.6.1 (#116377) 2024-04-29 14:42:57 +02:00
Marc Mueller
fd52348d57 Update freezegun to 1.5.0 (#116375) 2024-04-29 14:40:47 +02:00
Mr. Bubbles
0b8838cab8 Add icons and translations to Habitica (#116204)
* refactor habitica sensors, add strings and icon translations

* Change sensor names

* remove max_health as it is a fixed value

* remove SENSOR_TYPES

* removed wrong sensor

* Move Data coordinator to separate module

* add coordinator.py to coveragerc

* add deprecation warning for task sensors

* remove unused imports and logger

* Revert "add deprecation warning for task sensors"

This reverts commit 9e58053f3b.

* Update homeassistant/components/habitica/strings.json

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

* Update homeassistant/components/habitica/strings.json

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

* Revert "Move Data coordinator to separate module"

This reverts commit f5c8c3c886.

* Revert "add coordinator.py to coveragerc"

This reverts commit 8ae07a4786.

* rename Mana max. to Max. mana

* deprecation for yaml import

* move SensorType definition before TASK_TYPES

* Revert "deprecation for yaml import"

This reverts commit 2a1d58ee5f.

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 12:51:38 +02:00
Marco van 't Wout
b426c4133d Improve error handling for HTTP errors on Growatt Server (#110633)
* Update dependency growattServer for improved error details

Updating to latest version. Since version 1.3.1 it will raise requests.exceptions.HTTPError for unexpected API responses such as HTTP 405 (rate limiting/firewall)

* Improve error details by raising ConfigEntryAuthFailed

Previous code was returning None which the caller couldn't handle

* Use a more appropiate exception type

* Update homeassistant/components/growatt_server/sensor.py

* Update homeassistant/components/growatt_server/sensor.py

* Fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 12:02:49 +02:00
Martin Hjelmare
0e0ea0017e Add matter during onboarding (#116163)
* Add matter during onboarding

* test_zeroconf_not_onboarded_running

* test_zeroconf_not_onboarded_installed

* test_zeroconf_not_onboarded_not_installed

* test_zeroconf_discovery_not_onboarded_not_supervisor

* Clean up

* Add udp address

* Test zeroconf udp info too

* test_addon_installed_failures_zeroconf

* test_addon_running_failures_zeroconf

* test_addon_not_installed_failures_zeroconf

* Clean up stale changes

* Set unique id for discovery step

* Fix tests for background flow

* Fix flow running in background

* Test already discovered zeroconf

* Mock unload entry
2024-04-29 10:59:36 +02:00
Austin Mroczek
8153ff78bf Add Button for TotalConnect (#114530)
* add button for totalconnect

* test button for totalconnect

* change to zone.can_be_bypassed

* Update homeassistant/components/totalconnect/button.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Update homeassistant/components/totalconnect/button.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Update homeassistant/components/totalconnect/button.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* remove unused logging

* Update homeassistant/components/totalconnect/button.py

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

* Update homeassistant/components/totalconnect/button.py

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

* fix button and test

* Revert "bump total_connect_client to 2023.12.1"

This reverts commit 189b7dcd89cf3cc8309dacc92ba47927cfbbdef3.

* bump total_connect_client to 2023.12.1

* use ZoneEntity for Bypass button

* use LocationEntity for PanelButton

* fix typing

* add translation_key for panel buttons

* mock clear_bypass instead of disarm

* use paramaterize

* use snapshot

* sentence case in strings

* remove un-needed stuff

* Update homeassistant/components/totalconnect/button.py

* Apply suggestions from code review

* Fix

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 09:47:05 +02:00
Erik Montnemery
0425b7aa6d Reduce scope of test fixtures for the pylint plugin tests (#116207) 2024-04-29 08:21:31 +02:00
J. Nick Koston
381ffe6eed Use built-in aiohttp timeout instead of asyncio.timeout in media_player (#116364)
* Use built-in aiohttp timeout instead of asyncio.timeout in media_player

Avoids having two timeouts running to fetch images

* fix mock
2024-04-29 07:38:40 +02:00
Austin Mroczek
8c73c1e1a5 Bump total_connect_client to 2024.4 (#116360) 2024-04-28 21:02:10 -05:00
J. Nick Koston
164403de20 Add thread safety checks to async_create_task (#116339)
* Add thread safety checks to async_create_task

Calling async_create_task from a thread almost always results in an
fast crash. Since most internals are using async_create_background_task
or other task APIs, and this is the one integrations seem to get wrong
the most, add a thread safety check here

* Add thread safety checks to async_create_task

Calling async_create_task from a thread almost always results in an
fast crash. Since most internals are using async_create_background_task
or other task APIs, and this is the one integrations seem to get wrong
the most, add a thread safety check here

* missed one

* Update homeassistant/core.py

* fix mocks

* one more internal

* more places where internal can be used

* more places where internal can be used

* more places where internal can be used

* internal one more place since this is high volume and was already eager_start
2024-04-28 18:29:00 -04:00
J. Nick Koston
b8ddf51e28 Avoid creating tasks to update universal media player (#116350)
* Avoid creating tasks to update universal media player

Nothing was being awaited in async_update. This entity has polling
disabled and there was no reason to implement manual updates since
the state is always coming from other entities

* manual update
2024-04-28 18:17:26 -04:00
J. Nick Koston
e215270c05 Remove eager_start argument from internal _async_add_hass_job function (#116310) 2024-04-28 16:30:19 -05:00
J. Nick Koston
cdfd0aa7d4 Fix incorrect call to async_schedule_update_ha_state in manual_mqtt (#116348) 2024-04-28 12:55:28 -05:00
J. Nick Koston
66a9430410 Fix incorrect call to async_schedule_update_ha_state in generic_hygrostat (#116349) 2024-04-28 12:55:17 -05:00
J. Nick Koston
48d620ce94 Fix another case of homeassistant_alerts delaying shutdown (#116352) 2024-04-28 12:54:53 -05:00
J. Nick Koston
ab2ea6100c Speed up singleton decorator so it can be used more places (#116292) 2024-04-28 12:11:08 -05:00
epenet
48b1678075 Add test helper to remove device (#116234)
* Add test helper to remove device

* Rename

* Fix signature
2024-04-28 18:50:15 +02:00
J. Nick Koston
3bcce2197c Fix incorrect call to async_schedule_update_ha_state in command_line switch (#116347) 2024-04-28 18:36:01 +02:00
J. Nick Koston
9ca1d204b6 Fix shelly delaying shutdown (#116346) 2024-04-28 11:19:38 -05:00
J. Nick Koston
62ab67376f Fix bond update delaying shutdown when push updated are not available (#116344)
If push updates are not available, bond could delay shutdown. The update
task should have been marked as a background task
2024-04-28 17:57:08 +02:00
J. Nick Koston
ddf58b6905 Fix homeassistant_alerts delaying shutdown (#116340) 2024-04-28 10:36:03 -05:00
Joost Lekkerkerker
7a4aa3c40c Fix Netatmo indoor sensor (#116342)
* Debug netatmo indoor sensor

* Debug netatmo indoor sensor

* Fix
2024-04-28 17:34:27 +02:00
Jan Bouwhuis
986df70fe3 Refactor group setup (#116317)
* Refactor group setup

* Add @callback decorator and remove commented out code

* Keep set, add default on state
2024-04-28 16:32:17 +02:00
J. Nick Koston
ad0aabe9a1 Fix some flapping sonos tests (#116343) 2024-04-28 09:21:32 -05:00
J. Nick Koston
6ccb165d8e Fix bluetooth adapter discovery delaying startup and shutdown (#116335) 2024-04-28 08:57:31 -05:00
J. Nick Koston
bf91ab6e2b Fix sonos events delaying shutdown (#116337) 2024-04-28 08:54:34 -05:00
J. Nick Koston
c3aa238a33 Fix wemo push updates delaying shutdown (#116333) 2024-04-28 08:14:45 -05:00
J. Nick Koston
006040270c Fix august delaying shutdown (#116329) 2024-04-28 08:14:30 -05:00
J. Nick Koston
66e86170b1 Make storage load tasks background tasks to avoid delaying shutdown (#116332) 2024-04-28 08:14:15 -05:00
J. Nick Koston
ce42ad187c Fix unifiprotect delaying shutdown if websocket if offline (#116331) 2024-04-28 08:14:04 -05:00
J. Nick Koston
3f0c0a72db Prevent setup retry from delaying shutdown (#116328) 2024-04-28 08:13:51 -05:00
J. Nick Koston
76639252c9 Make discovery flow tasks background tasks (#116327) 2024-04-28 08:13:37 -05:00
J. Nick Koston
5d59b4cddd Remove unneeded TYPE_CHECKING guard in core async_set (#116311) 2024-04-27 19:34:17 -05:00
Jan Bouwhuis
43dc5415de Fix no will published when mqtt is down (#116319) 2024-04-27 18:42:38 -05:00
J. Nick Koston
50405fae5f Add a cache to _verify_event_type_length_or_raise (#116312)
Most of the time the events being fired are the same so we can
skip the python code in this function
2024-04-27 18:42:29 -05:00
IceBotYT
9fb01f3956 Convert Linear to use a base entity (#116133)
* Convert Linear to use a base entity

* Convert Linear to use a base entity

* Remove str cast in coordinator

* More minor fixes
2024-04-27 23:11:52 +02:00
wittypluck
3fd863bd7c Unifi: enable statistics for PoE port power sensor (#116308)
Add SensorStateClass.MEASUREMENT to PoE port power sensor
2024-04-27 22:21:08 +02:00
J. Nick Koston
cf682c0c44 Use more shorthand attrs in emonitor (#116307) 2024-04-27 14:24:02 -05:00
David Knowles
83b5ecb36f Increase the Hydrawise refresh frequency from 120s to 30s (#116298) 2024-04-27 20:46:58 +02:00
J. Nick Koston
cbcfd71f3d Reduce number of time calls needed to write state (#116297) 2024-04-27 13:17:31 -05:00
J. Nick Koston
f295172d07 Add a fast path for _stringify_state when state is already a str (#116295) 2024-04-27 10:48:17 -05:00
J. Nick Koston
eea66921bb Avoid update call in entity state write if there is no customize data (#116296) 2024-04-27 10:48:05 -05:00
Erik Montnemery
b94b93cc63 Make freezegun find event.time_tracker_utcnow (#116284) 2024-04-27 07:08:56 -05:00
J. Nick Koston
7715bee6b0 Fix script in restart mode that is fired from the same trigger (#116247) 2024-04-27 07:08:29 -05:00
hopkins-tk
a37d274b37 Fix Aseko binary sensors names (#116251)
* Fix Aseko binary sensors names

* Fix add missing key to strings.json

* Fix remove setting shorthand translation key attribute

* Update homeassistant/components/aseko_pool_live/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-27 10:02:52 +02:00
Paulus Schoutsen
9819cdfec2 Bump version to 2024.5.0b1 2024-04-27 07:27:57 +00:00
Raman Gupta
3c48c41734 Bump zwave-js-server-python to 0.55.4 (#116278) 2024-04-27 07:27:50 +00:00
J. Nick Koston
46dff86d1a Move thread safety check in area_registry sooner (#116265)
It turns out we have custom components that are writing to the area registry using the async APIs from threads. We now catch it at the point async_fire is called. Instead we should check sooner and use async_fire_internal so we catch the unsafe operation before it can corrupt the registry.
2024-04-27 07:27:49 +00:00
J. Nick Koston
85baa2508d Move thread safety check in device_registry sooner (#116264)
It turns out we have custom components that are writing to the device registry using the async APIs from threads. We now catch it at the point async_fire is called. Instead we should check sooner and use async_fire_internal so we catch the unsafe operation before it can corrupt the registry.
2024-04-27 07:27:49 +00:00
J. Nick Koston
8d11a9f21a Move thread safety check in entity_registry sooner (#116263)
* Move thread safety check in entity_registry sooner

It turns out we have a lot of custom components that are writing
to the entity registry using the async APIs from threads. We now
catch it at the point async_fire is called. Instread we should check
sooner and use async_fire_internal so we catch the unsafe operation
before it can corrupt the registry.

* coverage

* Apply suggestions from code review
2024-04-27 07:27:48 +00:00
Paul Bottein
603f46184c Update frontend to 20240426.0 (#116230) 2024-04-27 07:27:47 +00:00
Aidan Timson
e9c4185cf6 Fix state classes for ovo energy sensors (#116225)
* Fix state classes for ovo energy sensors

* Restore monetary values

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-04-27 07:27:47 +00:00
Robert Resch
2861ac4ac9 Use None as default value for strict connection cloud store (#116219) 2024-04-27 07:27:46 +00:00
Erik Montnemery
5fb08e8b25 Restore default timezone after electric_kiwi sensor tests (#116217) 2024-04-27 07:27:45 +00:00
Brett Adams
8f02ed4bf3 Breakfix to handle null value in Teslemetry (#116206)
* Fixes

* Remove unused test
2024-04-27 07:27:44 +00:00
Erik Montnemery
1be5249269 Reduce scope of bootstrap test fixture to module (#116195) 2024-04-27 07:27:43 +00:00
J. Nick Koston
9f84c38f08 Bump bluetooth-auto-recovery to 1.4.2 (#116192) 2024-04-27 07:27:42 +00:00
Erik Montnemery
a9b9d7f566 Fix flaky traccar_server tests (#116191) 2024-04-27 07:27:42 +00:00
J. Nick Koston
63ef52a312 Fix smartthings doing I/O in the event loop to import platforms (#116190) 2024-04-27 07:27:41 +00:00
Luke Lashley
8ac6593b53 Make Roborock listener update thread safe (#116184)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-27 07:27:40 +00:00
On Freund
7cabb04bc9 Bump pyrisco to 0.6.1 (#116182) 2024-04-27 07:27:39 +00:00
J. Nick Koston
1defd18cf5 Bump govee-ble to 0.31.2 (#116177)
changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.31.0...v0.31.2

Fixes some unrelated BLE devices being detected as a GVH5106
2024-04-27 07:27:38 +00:00
Jan Bouwhuis
e0cc9198aa Revert "Return specific group state if there is one" (#116176)
Revert "Return specific group state if there is one (#115866)"

This reverts commit 350ca48d4c.
2024-04-27 07:27:37 +00:00
Michael Hansen
5ac8488d2a Update Ollama model names list (#116172) 2024-04-27 07:27:36 +00:00
J. Nick Koston
12bce5451e Revert orjson to 3.9.15 due to segmentation faults (#116168) 2024-04-27 07:27:36 +00:00
Erik Montnemery
4612f18186 Remove early return when validating entity registry items (#116160) 2024-04-27 07:27:35 +00:00
Paul Bottein
29ab68fd24 Update unlocked icon for locks (#116157) 2024-04-27 07:27:34 +00:00
Erik Montnemery
0b74f02c4e Fix language in strict connection guard page (#116154) 2024-04-27 07:27:34 +00:00
epenet
571c86cb91 Handle invalid device type in onewire (#116153)
* Make device type optional in onewire

* Add comment
2024-04-27 07:27:33 +00:00
Erik Montnemery
18f1c0c9f3 Fix lying docstring for relative_time template function (#116146)
* Fix lying docstring for relative_time template function

* Update homeassistant/helpers/template.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-27 07:27:32 +00:00
Erik Montnemery
c8d025f525 Remove deprecation warnings for relative_time (#116144)
* Remove deprecation warnings for relative_time

* Update homeassistant/helpers/template.py

Co-authored-by: Simon <80467011+sorgfresser@users.noreply.github.com>

---------

Co-authored-by: Simon <80467011+sorgfresser@users.noreply.github.com>
2024-04-27 07:27:32 +00:00
On Freund
74f32cfa90 Avoid blocking the event loop when unloading Monoprice (#116141)
* Avoid blocking the event loop when unloading Monoprice

* Code review suggestions
2024-04-27 07:27:31 +00:00
rappenze
f91266908d Bump pyfibaro to 0.7.8 (#116126) 2024-04-27 07:27:30 +00:00
Joakim Plate
d6f1d0666c Update rfxtrx to 0.31.1 (#116125) 2024-04-27 07:27:29 +00:00
Joakim Plate
0eace572c6 Don't create event entries for lighting4 rfxtrx devices (#115716)
These have no standardized command need to be reworked
in the backing library to support exposing as events.

Fixes #115545
2024-04-27 07:27:28 +00:00
Maciej Bieniek
c65187cbfb Fix climate entity creation when Shelly WallDisplay uses external relay as actuator (#115216)
* Fix climate entity creation when Shelly WallDisplay uses external relay as actuator

* More comments

* Wrap condition into function

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-27 07:27:27 +00:00
J. Nick Koston
b403c9f92e Move thread safety check in area_registry sooner (#116265)
It turns out we have custom components that are writing to the area registry using the async APIs from threads. We now catch it at the point async_fire is called. Instead we should check sooner and use async_fire_internal so we catch the unsafe operation before it can corrupt the registry.
2024-04-27 09:26:35 +02:00
epenet
c1572d9600 Handle invalid device type in onewire (#116153)
* Make device type optional in onewire

* Add comment
2024-04-27 09:26:26 +02:00
On Freund
97d151d1c6 Avoid blocking the event loop when unloading Monoprice (#116141)
* Avoid blocking the event loop when unloading Monoprice

* Code review suggestions
2024-04-27 09:26:11 +02:00
J. Nick Koston
244433aeca Move thread safety check in entity_registry sooner (#116263)
* Move thread safety check in entity_registry sooner

It turns out we have a lot of custom components that are writing
to the entity registry using the async APIs from threads. We now
catch it at the point async_fire is called. Instread we should check
sooner and use async_fire_internal so we catch the unsafe operation
before it can corrupt the registry.

* coverage

* Apply suggestions from code review
2024-04-27 09:25:19 +02:00
Marc Mueller
4a79e750a1 Add HA version to cache key (#116159)
* Add HA version to cache key

* Add comment
2024-04-27 09:25:08 +02:00
J. Nick Koston
09ebbfa0e1 Move thread safety check in device_registry sooner (#116264)
It turns out we have custom components that are writing to the device registry using the async APIs from threads. We now catch it at the point async_fire is called. Instead we should check sooner and use async_fire_internal so we catch the unsafe operation before it can corrupt the registry.
2024-04-27 09:24:55 +02:00
Raman Gupta
8bae614d4e Bump zwave-js-server-python to 0.55.4 (#116278) 2024-04-27 09:24:23 +02:00
Joakim Plate
ff4b8fa5e3 Don't create event entries for lighting4 rfxtrx devices (#115716)
These have no standardized command need to be reworked
in the backing library to support exposing as events.

Fixes #115545
2024-04-27 09:24:11 +02:00
Erik Montnemery
a25b2168a3 Reduce scope of ZHA test fixtures (#116208) 2024-04-26 09:08:58 -05:00
Erik Montnemery
aa65f21be7 Fix flapping recorder tests (#116239) 2024-04-26 09:05:23 -05:00
Erik Montnemery
c9301850be Reduce scope of bluetooth test fixtures (#116210) 2024-04-26 09:03:49 -05:00
Brett Adams
e909074dfb Breakfix to handle null value in Teslemetry (#116206)
* Fixes

* Remove unused test
2024-04-26 15:44:13 +02:00
Paul Bottein
63dffbcce1 Update frontend to 20240426.0 (#116230) 2024-04-26 15:40:32 +02:00
Erik Montnemery
10be8f9683 Simplify timezone setting in recorder test (#116220) 2024-04-26 15:14:23 +02:00
Bram Kragten
b582d51a8a Remove myself as codeowner for Harmony (#116241)
* Remove myself as codeowner

* Update CODEOWNERS

* Format
2024-04-26 14:31:37 +02:00
Aidan Timson
7c64658aa9 Fix state classes for ovo energy sensors (#116225)
* Fix state classes for ovo energy sensors

* Restore monetary values

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-04-26 14:03:16 +02:00
Erik Montnemery
56f2f10a17 Fix flapping trafikverket tests (#116238)
* Fix flapping trafikverket tests

* Fix copy-paste mistake
2024-04-26 13:49:43 +02:00
Erik Montnemery
09a18459ff Restore default timezone after electric_kiwi sensor tests (#116217) 2024-04-26 12:28:40 +02:00
Robert Resch
67f6a84f5d Use None as default value for strict connection cloud store (#116219) 2024-04-26 11:22:04 +02:00
dependabot[bot]
49d8ac0811 Bump github/codeql-action from 3.25.2 to 3.25.3 (#116209)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.2 to 3.25.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.25.2...v3.25.3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-26 08:50:58 +02:00
Sid
e662e3b65c Bump ruff to 0.4.2 (#116201)
* Bump ruff to 0.4.2

* review comments
2024-04-26 08:48:32 +02:00
Erik Montnemery
623d34e1e0 Remove early return when validating entity registry items (#116160) 2024-04-26 08:38:24 +02:00
Erik Montnemery
764b34ab62 Reduce scope of bootstrap test fixture to module (#116195) 2024-04-25 22:00:07 -05:00
Erik Montnemery
db8597a742 Reduce scope of JSON/XML test fixtures (#116197) 2024-04-25 19:12:36 -05:00
Jan Bouwhuis
372c6c7874 Use existing monotonic timestamp on mqtt messages for debugging (#116196) 2024-04-25 19:09:54 -05:00
Joost Lekkerkerker
4a1e1bd1b9 Improve linear coordinator (#116167)
* Improve linear coordinator

* Fix

* Fix
2024-04-25 22:57:29 +02:00
Thomas55555
ccc2f6c5b5 Add strict typing to husqvarna automower (#115374) 2024-04-25 15:39:42 -05:00
J. Nick Koston
421dbe1356 Bump bluetooth-auto-recovery to 1.4.2 (#116192) 2024-04-25 15:37:38 -05:00
Joost Lekkerkerker
860ac450c4 Use snapshots in Linear diagnostics tests (#116169)
* Use snapshots in Linear diagnostics tests

* Use snapshots in Linear diagnostics tests
2024-04-25 22:23:13 +02:00
Patrick Frazer
1e06054344 Bump dropmqttapi to 1.0.3 (#116179) 2024-04-25 15:00:21 -05:00
Anrijs
8649489117 Add support for Aranet radiation devices (#115239)
* sensor: added radiation dose sensor type and units

* Add support for Aranet Radiation devices

* Fix Aranet Radiation CI issues

* Revert "sensor: added radiation dose sensor type and units"

This reverts commit 28736a7da7.

* aranet4: bump version to 2.3.3

* aranet radiation: remove removed sesnor consts

* aranet radiation: use radioactive icon by default

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-04-25 22:38:20 +03:00
Thomas55555
a8b41c90c5 Bump aioautomower to 2024.4.4 (#116185) 2024-04-25 14:36:00 -05:00
Erik Montnemery
9d33965bc9 Fix flaky traccar_server tests (#116191) 2024-04-25 21:20:24 +02:00
J. Nick Koston
8523df952e Fix smartthings doing I/O in the event loop to import platforms (#116190) 2024-04-25 14:07:07 -05:00
Maciej Bieniek
51bceb1c99 Fix climate entity creation when Shelly WallDisplay uses external relay as actuator (#115216)
* Fix climate entity creation when Shelly WallDisplay uses external relay as actuator

* More comments

* Wrap condition into function

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-25 21:06:52 +02:00
Michael Hansen
b3124aa7ed Update Ollama model names list (#116172) 2024-04-25 20:35:29 +02:00
Luke Lashley
cc79129587 Make Roborock listener update thread safe (#116184)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-25 13:26:11 -05:00
Joakim Plate
316f58404d Update rfxtrx to 0.31.1 (#116125) 2024-04-25 20:58:13 +03:00
rappenze
18be38d19f Bump pyfibaro to 0.7.8 (#116126) 2024-04-25 20:57:15 +03:00
J. Nick Koston
1e95476fa8 Bump govee-ble to 0.31.2 (#116177)
changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.31.0...v0.31.2

Fixes some unrelated BLE devices being detected as a GVH5106
2024-04-25 20:56:33 +03:00
On Freund
0467fca316 Bump pyrisco to 0.6.1 (#116182) 2024-04-25 20:43:31 +03:00
J. Nick Koston
98eb9a4067 Revert orjson to 3.9.15 due to segmentation faults (#116168) 2024-04-25 11:15:57 -05:00
Jan Bouwhuis
855bb57d5e Revert "Return specific group state if there is one" (#116176)
Revert "Return specific group state if there is one (#115866)"

This reverts commit 350ca48d4c.
2024-04-25 17:32:42 +02:00
Erik Montnemery
6bff0c384f Remove deprecation warnings for relative_time (#116144)
* Remove deprecation warnings for relative_time

* Update homeassistant/helpers/template.py

Co-authored-by: Simon <80467011+sorgfresser@users.noreply.github.com>

---------

Co-authored-by: Simon <80467011+sorgfresser@users.noreply.github.com>
2024-04-25 13:02:18 +02:00
Erik Montnemery
2e88ba40ff Fix lying docstring for relative_time template function (#116146)
* Fix lying docstring for relative_time template function

* Update homeassistant/helpers/template.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-25 13:01:41 +02:00
Marc Mueller
e2c60e9333 Update mypy to 1.10.0 (#116158) 2024-04-25 12:27:34 +02:00
dependabot[bot]
1e1e5ccc7a Bump actions/download-artifact from 4.1.6 to 4.1.7 (#116148)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4.1.6...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 11:23:15 +02:00
Paul Bottein
ce4db445e8 Update unlocked icon for locks (#116157) 2024-04-25 11:21:19 +02:00
dependabot[bot]
1241d70b3b Bump actions/checkout from 4.1.3 to 4.1.4 (#116147)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.3...v4.1.4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 10:52:57 +02:00
Erik Montnemery
59dc394ac7 Fix language in strict connection guard page (#116154) 2024-04-25 10:48:32 +02:00
Chris Roberts
12c2ed5c4d Add play/pause functionality for Vizio Smartcast media_player entities (#108896)
* Add play/pause functionality to vizio integration

Leverages existing pyvizio functionality. My impression is that it also
works for soundbars based on https://github.com/exiva/Vizio_SmartCast_API/issues/19.

* Set vizio assumed_state to True

The Vizio API is only capable of indicating whether the device is on
or off and not whether it's playing/paused/idle. Setting assumed_state
to True gives us separate Play and Pause buttons versus the (useless)
merged Play/Pause button we would get otherwise.
2024-04-25 08:25:10 +02:00
Franck Nijhof
f2fe62d159 Bump version to 2024.6.0dev0 (#116120) 2024-04-24 23:16:48 +02:00
Franck Nijhof
0c44051d2a Bump version to 2024.5.0b0 2024-04-24 21:05:09 +02:00
prabhjotsbhatia-ca
79d6c2e75a Add all supported languages to Google Translate and remove unsupported ones (#107404)
* Adding supported language codes from Google Translate

Added all languages that Google Translate supports.

* Corrected alphabetical order of languages

* Remove languages not actually supported for speech

Previously I added languages supported by Google Translate. Based on comments received, I manually verified each language, and  removed languages that are not actually supported for speech in Google Translate.

* Add instructions to update the list of supported languages

Added instructions as suggested so as to facilitate easier update on this list.

* Reformat comment in const.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-24 20:51:46 +02:00
Robert Svensson
f8c38fad00 Split out event handling from Axis hub (#113837)
* Split out event handling from Axis hub

* Improve test coverage

* Mark internal methods with '_'

* Rename to event source
2024-04-24 20:47:22 +02:00
Michael
4b53471b60 Bump aiopegelonline to 0.0.10 (#116114)
bump aiopegelonline to 0.0.10
2024-04-24 20:09:40 +02:00
Daniel Hjelseth Høyer
830e8d7b94 Fix statistic bug in Tibber sensor (#116112)
* Handle keyError in Tibber sensor

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Constant

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

---------

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2024-04-24 20:00:06 +02:00
Mr. Bubbles
67021be274 Add notification service for Bring component (#109222)
* Add notification service for Bring component

* change to async

* update to new library and raise for urgent message without item name

* add icons.json and replace string with reference in strings.json

* Incorporate proposed changes from https://github.com/home-assistant/core/pull/115510

* Remove unnecessary exception, rewrite translations strings

* remove unused constants
2024-04-24 19:41:46 +02:00
Michael Hansen
bc7fa8cf9e Bump intents to 2024.4.24 (#116111) 2024-04-24 18:41:17 +02:00
Steve Easley
d565c1a84b Add select platform to jvc_projector component (#111638)
* Initial commit of jvc_projector select platform

* Move icon to icons.json

* Apply suggestions from code review

* Update tests/components/jvc_projector/test_select.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-24 17:36:50 +02:00
Simone Chemelli
41a86d2404 Add quality scale to Vodafone Station (#116040)
Add quality scale
2024-04-24 17:36:31 +02:00
Simone Chemelli
7d5af09aec Add quality scale to Comelit (#116041)
add quality scale
2024-04-24 17:32:12 +02:00
TheJulianJES
5c3ffb8f55 Bump ZHA dependencies (#116106) 2024-04-24 17:24:43 +02:00
Joakim Sørensen
f83ee963bf Add binary sensor entities to Traccar Server (#114719) 2024-04-24 17:08:56 +02:00
Manuel Dipolt
2beab34de8 Add sensor platform to romy integration (#112388)
* poc romy status sensor working

* poc romy adc sensor working

* code review changes

* code review changes base enitity.py see branch romy_binary_sensor

* code review change: move CoordinatorEntity to the base class

* code review changes: sensors disabled per default

* code review: icons.json added

* checkout main entity.py

* code review changes: sensors enabled per default again

* disable rssi sensor per default

* Update homeassistant/components/romy/strings.json

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

* code review changes

* code review changes

* code review changes

* pylint fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-24 17:06:46 +02:00
puddly
380f192c93 Expose the SkyConnect integration with a firmware config/options flow (#115363)
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2024-04-24 17:06:24 +02:00
J. Nick Koston
e47e62cbbf Reduce duplicate code in enphase_envoy (#116107)
Also converts a coro to a callback function since nothing
was being awaited
2024-04-24 16:58:46 +02:00
Phil Bruckner
169b9b0bfe Fix removing suggested_display_precision from entity registry (#110671)
* Fix removing suggested_display_precision from entity registry

* Fix tests

* Update homeassistant/components/sensor/__init__.py

---------

Co-authored-by: Erik <erik@montnemery.com>
2024-04-24 16:47:03 +02:00
Arie Catsman
bbaa0c16cc Cancel timer on enphase_envoy config entry unload (#111406)
* lingeringtimer

* Add async_cleanup to enphase_envoy_coordinator and call from unload_entry
2024-04-24 16:33:14 +02:00
nyangogo
c9ff618ef0 Add nfandroidtv type checking and allow for strings to be passed to the image and icon data (#108652)
* nfandroidtv - add type checking and allow for strings to be passed to the image and icon data

* nfandroidtv - wrong argument name

* nfandroidtv - put the icon in the wrong varible 🙃

* nfandroidtv - raise ServiceValidationError instead of logging

---------

Co-authored-by: nyangogo <7449028+ioangogo@users.noreply.github.com>
2024-04-24 16:19:44 +02:00
J. Nick Koston
d0f5e40b19 Refactor ESPHome manager to avoid sending signals in tests (#116033) 2024-04-24 16:14:44 +02:00
Manuel Dipolt
220dc1f125 Add binary sensor platform to romy integration (#112998)
* wip

* poc working, reworked to a binary sensor list

* Update homeassistant/components/romy/binary_sensor.py

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

* Update homeassistant/components/romy/binary_sensor.py

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

* Update homeassistant/components/romy/binary_sensor.py

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

* Update homeassistant/components/romy/binary_sensor.py

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

* Update homeassistant/components/romy/binary_sensor.py

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

* code review changes, adjust translation key names

* code review clean up: removed unecessary RomyBinarySensorEntityDescription

* code review changes: translation names

* code review changes, put DeviceInfo into RomyEntity

* code review change: change docked icon to type plug

* code review change: move CoordinatorEntity to the base class

* code review changes: sensors disabled per default

* code review: icons.json added

* code review changes: sensors enabled per default again

* checkout main entity.py

* type hinting changes

* Update homeassistant/components/romy/binary_sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-24 15:59:09 +02:00
mletenay
74cea2ecae Update goodwe library to 0.3.2 (#115309) 2024-04-24 15:31:29 +02:00
Bram Kragten
ea96ac37b7 Update frontend to 20240424.1 (#116103) 2024-04-24 15:29:51 +02:00
Jan Bouwhuis
70b358bca1 Always reload after a successful reauth flow (#116026)
* Always reload after a succesfull reauth-flow

* Add test, fix CI failures

* Add kwarg to prevent reloading and tests

* Do not reload entry for bond if it exists

* Remove mocks on internals

* Rename kwarg to always_reload

* Update tests/components/weatherflow_cloud/test_config_flow.py

* Update tests/components/homeworks/test_config_flow.py

* Update tests/components/homeworks/test_config_flow.py

* Rename to option to reload_even_if_entry_is_unchanged
2024-04-24 15:13:33 +02:00
Jan Bouwhuis
350ca48d4c Return specific group state if there is one (#115866)
* Return specific group state if there is one

* Refactor

* Additional test cases

* Refactor

* Break out if more than one on state

* tweaks

* Remove log, add comment

* add comment

* Apply suggestions from code review

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

* Refactor and improve comments

* Refactor to class method

* More filtering

* Apply suggestions from code review

* Only active if not excluded

* Do not use a set

* Apply suggestions from code review

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-24 15:12:29 +02:00
Shai Ungar
1f4585cc9e Add service to 17track to get packages (#116067)
* Add service to 17track

* Add service to 17track

change to select selector
add snapshot test

* Add service to 17track

use strings for the selector

* Add service to 17track

fix test
2024-04-24 14:29:13 +02:00
Pete Sage
24a1f0712f Fix Sonos music library play problems (#113429) 2024-04-24 14:03:40 +02:00
Brett Adams
0e0b543dec Deprecate speed limit lock in Tessie (#113848) 2024-04-24 13:30:22 +02:00
Jan Bouwhuis
18132916fa Mask current password in MQTT option flow (#116098)
* Mask current password in MQTT option flow

* Update docstr

* Typo
2024-04-24 13:29:42 +02:00
Andy
5aa61cb6d5 Extend options for ecovacs lifespans (#116094)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-04-24 13:19:50 +02:00
Michael
bfed682abe Mark Tankerkoenig as Platinum 🏆 integration (#115917) 2024-04-24 13:18:09 +02:00
Marc Mueller
a752f8e7d7 Remove microsoft apt package list before update (#116097) 2024-04-24 13:17:01 +02:00
Michael
9fcb774252 Add reconfigure flow to AVM Fritz!SmartHome (#116047) 2024-04-24 13:06:14 +02:00
J. Nick Koston
d17e9bfc99 Enable debug mode if asyncio debug is on at startup (#116084) 2024-04-24 12:55:09 +02:00
J. Nick Koston
df12789e08 Remove duplicate async_write_ha_state thread safety check (#116086) 2024-04-24 12:46:16 +02:00
J. Nick Koston
e3984cd50a Temporary CI workaround for broken microsoft ubuntu repo (#116091) 2024-04-24 12:06:52 +02:00
J. Nick Koston
e9e401ae29 Migrate discovery debouncer callback to async_fire_internal (#116078) 2024-04-24 11:26:48 +02:00
rlippmann
1120246194 Deprecate relative_time() in favor of time_since() and time_until() (#111177)
* add time_since/time_until.  add deprecation of relative_time

* fix merge conflicts

* Apply suggestions from code review

* Update homeassistant/helpers/template.py

* Update homeassistant/helpers/template.py

* Update homeassistant/helpers/template.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-24 11:13:07 +02:00
J. Nick Koston
e0b58c3f45 Move thread safety check in async_register/async_remove (#116077) 2024-04-24 10:41:11 +02:00
Marc Mueller
5bded2a52d Fix accuweather system_health after data change (#116063) 2024-04-24 10:30:57 +02:00
Robert Resch
bcc2dd99b2 Rename strict connection static page to guard page (#116085) 2024-04-24 10:29:59 +02:00
Simon Roberts
07d68eacfa Fix iotawatt warnings about "Detected new cycle for sensor.{sensorname}_wh_last" (#115909)
* Bump ha-iotawattpy to 0.1.2

* Remove energy energy-over-period sensors: they cause issue for HA

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-04-24 10:24:49 +02:00
TheJulianJES
102b34123c Bump zha-quirks to 0.0.115 (#116071) 2024-04-24 10:17:01 +02:00
Gage Benne
c4340f6f5f Ecobee preset mode icon translations (#116072) 2024-04-24 10:16:35 +02:00
J. Nick Koston
79b4889812 Always do thread safety checks when writing state for custom components (#116044) 2024-04-24 10:05:52 +02:00
Bouwe Westerdijk
6f2a2ba46e Bump plugwise to v0.37.3 (#116081) 2024-04-24 10:00:18 +02:00
Robert Resch
a4829330f6 Add strict connection for cloud (#115814)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-24 09:57:38 +02:00
J. Nick Koston
b520efb87a Small speed up to async_track_event (#116083) 2024-04-24 09:56:59 +02:00
Robert Resch
ec377ce665 Bump deebot-client to 7.1.0 (#116082) 2024-04-24 09:49:10 +02:00
Richard Kroegel
474a1a3d94 Use display_precision if suggested_display_precision is None (#110270)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-24 09:46:55 +02:00
osohotwateriot
44208a5be0 Add OSO Energy sensors (#108226)
* Add OSO Energy sensors

* Fix comments

* Fixes after review

* Fix sensor names and translations

* Fixes after review

* Fix validation errors

* Fixes after review

* Remove profile sensor
2024-04-24 08:19:26 +02:00
Michael
d8cca482b3 Add reconfigure flow to AVM Fritz!Tools (#116057)
add reconfigure flow
2024-04-24 07:52:14 +02:00
Matthias Alphart
f115525137 Migrate KNX notify service to entity platform (#115665) 2024-04-24 07:51:02 +02:00
Sid
b37f7b1ff0 Enable Ruff RUF019 (#115396)
* Enable Ruff RUF019

* fix tado tests

* review comments
2024-04-24 07:23:24 +02:00
J. Nick Koston
4a59ee978c Always do thread safety checks when calling async_fire (#116055) 2024-04-24 06:41:55 +02:00
J. Nick Koston
53a179088f Add debug mode to catch unsafe thread operations using core helpers (#115390)
* adjust

* adjust

* fixes

* one more

* test

* debug

* move to config

* cover

* Update homeassistant/core.py

* set debug from RuntimeConfig

* reduce

* fix message

* raise

* Update homeassistant/core.py

* Update homeassistant/core.py

* no flood check for raise

* cover
2024-04-24 03:36:05 +02:00
J. Nick Koston
9d54aa205b Fix non-thread-safe operations in html5 (#116068)
Fix non thread-safe calls in html5

https://github.com/home-assistant/core/actions/runs/8808425552/job/24177668764?pr=116055
2024-04-24 03:33:19 +02:00
J. Nick Koston
b1b8b8ba00 Fix non-thread-safe operations in wake_on_lan (#116069)
Fix unsafe thread operations in wake_on_lan

https://github.com/home-assistant/core/actions/runs/8808429751/job/24177715837?pr=116066
2024-04-24 03:32:07 +02:00
J. Nick Koston
f2336a5a3a Fix non-thread-safe operation in harmony (#116070)
Fix unsafe thread operation in harmony

https://github.com/home-assistant/core/actions/runs/8808429751/job/24177716644?pr=116066
2024-04-24 03:31:44 +02:00
David Friedland
e3016b131a Add Event support to ESPHome components (#116061)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-04-24 13:22:03 +12:00
J. Nick Koston
f9c2cd73f5 Fix non-thread-safe operations in media_extractor (#116065) 2024-04-24 02:19:18 +02:00
dependabot[bot]
62dadc47ff Bump github/codeql-action from 3.25.1 to 3.25.2 (#116016)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-24 00:02:31 +02:00
Michael
35db2e4101 Complete test coverage for Tankerkonig (#115920)
* complete tests

* update snapshots after rebase
2024-04-23 23:42:17 +02:00
Jan Bouwhuis
72ed16c3e0 Update quality scale mqtt integration to platinum (#116059) 2024-04-23 23:20:34 +02:00
Jan Bouwhuis
8d2813fb8b Migrate legacy Ecobee notify service (#115592)
* Migrate legacy Ecobee notify service

* Correct comment

* Update homeassistant/components/ecobee/notify.py

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

* Use version to check latest entry being used

* Use 6 months of deprecation

* Add repair flow tests

* Only allow migrate_notify fix flow

* Simplify repair flow

* Use ecobee data to refrence entry

* Make entry attrubute puiblic

* Use hass.data ro retrieve entry.

* Only register issue when legacy service when it is use

* Remove backslash

* Use ws_client.send_json_auto_id

* Cleanup

* Import domain from notify integration

* Apply suggestions from code review

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

* Update dependencies

* Use Issue_registry fixture

* remove `update_before_add` flag

* Update homeassistant/components/ecobee/notify.py

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

* Update homeassistant/components/ecobee/notify.py

* Update tests/components/ecobee/conftest.py

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

* Fix typo and import

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-23 22:53:13 +02:00
J. Nick Koston
0f60b404df Fix husqvarna_automower typing (#116060) 2024-04-23 22:50:31 +02:00
Franck Nijhof
f828eb2301 Merge branch 'master' into dev 2024-04-23 22:40:16 +02:00
Joost Lekkerkerker
a45040af14 Add entity translations to 17track (#116022) 2024-04-23 22:30:20 +02:00
J. Nick Koston
a22c221722 Rename bus._async_fire to bus.async_fire_internal (#116027) 2024-04-23 22:28:31 +02:00
Jan Bouwhuis
31d11b2362 Add re-auth flow for MQTT broker username and password (#116011)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-23 22:26:01 +02:00
J. Nick Koston
0c583bb1d9 Fix ruff complaints in control4 (#116058) 2024-04-23 22:25:35 +02:00
J. Nick Koston
8f1761343e Only work out job type once when setting up dispatcher (#116030) 2024-04-23 22:24:36 +02:00
Thomas55555
f1fa33483e Bump aioautomower to 2024.4.3 (#114500) 2024-04-23 22:23:44 +02:00
Bouwe Westerdijk
2c7a1ddb1d Bump plugwise to v0.37.2 (#115989) 2024-04-23 22:13:09 +02:00
Brett Adams
f249a9ba4b Add API scope checks to Teslemetry (#113640) 2024-04-23 22:11:41 +02:00
Nalin Mahajan
a33aacfcaa Add Retry for C4 API due to flakiness (#113857)
Co-authored-by: nalin29 <nalin29@github.com>
2024-04-23 22:10:16 +02:00
J. Nick Koston
fd08b7281e Convert solaredge to asyncio with aiosolaredge (#115599) 2024-04-23 22:07:16 +02:00
Jan Bouwhuis
d08bb96d00 Deprecate Unify Circuit integration (#115528)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-23 21:59:03 +02:00
Joost Lekkerkerker
b5bd25d4fb Add entity translations to totalconnect (#115950) 2024-04-23 21:54:13 +02:00
J. Nick Koston
bb2bd086bc Add missing adapter data to Bluetooth config entry titles (#115930) 2024-04-23 21:52:55 +02:00
Franck Nijhof
60be2af8ac 2024.4.4 (#116045) 2024-04-23 21:50:08 +02:00
Robert Svensson
8bf3c87336 Breakout heartbeat monitor and poe command queue in UniFi (#112529)
* Split out entity helper functionality to own class

* Split out heartbeat to own class

* Break out poe command

* Make more parts private

* Make more things private and simplify naming

* Sort initialize

* Fix ruff
2024-04-23 21:45:20 +02:00
Franck Nijhof
3e0a45eee2 Update requests_mock to 1.12.1 (#116050) 2024-04-23 21:36:36 +02:00
J. Nick Koston
46ec8a85b6 Pass the job type when setting up homekit state change listeners (#116038) 2024-04-23 21:31:08 +02:00
Franck Nijhof
991e479dac Update coverage to 7.5.0 (#116048) 2024-04-23 21:26:00 +02:00
Franck Nijhof
61cf7e851b Update pipdeptree to 2.17.0 (#116049) 2024-04-23 21:13:32 +02:00
Markus Jacobsen
0ed48c844d Bump mozart-api to 3.4.1.8.5 (#113745) 2024-04-23 21:06:06 +02:00
Franck Nijhof
4d551d68c6 Bump version to 2024.4.4 2024-04-23 20:12:21 +02:00
Raj Laud
b521acb724 Use start helper in squeezebox for server discovery (#115978) 2024-04-23 20:12:06 +02:00
Michael
036b6fca25 Fix geo location attributes of Tankerkoenig sensors (#115914)
* geo location attributes needs to be float

* make mypy happy
2024-04-23 20:12:04 +02:00
Allen Porter
c9c7c7803e Bump ical to 8.0.0 (#115907)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-23 20:12:01 +02:00
jjlawren
b8b2f6427a Bump plexapi to 4.15.12 (#115872) 2024-04-23 20:11:58 +02:00
Ståle Storø Hauknes
13ed2d2919 Fix KeyError error when fetching sensors (Airthings) (#115844) 2024-04-23 20:11:55 +02:00
J. Nick Koston
32f82d480f Ensure scripts with timeouts of zero timeout immediately (#115830) 2024-04-23 20:11:52 +02:00
Robert Svensson
6464218e59 Bump aiounifi to v75 (#115819) 2024-04-23 20:11:49 +02:00
Simone Chemelli
4088447303 Add missing media_player features to Samsung TV (#115788)
* add missing features

* fix snapshot
2024-04-23 20:11:46 +02:00
Erik Montnemery
851a5497b4 Allow [##:##:##] type keypad address in homeworks (#115762)
Allow [##:##:##] type keypad address
2024-04-23 20:11:43 +02:00
Erik Montnemery
c4b504ce39 Fix homeworks import flow (#115761) 2024-04-23 20:11:40 +02:00
epenet
db31a526e5 Bump renault-api to 0.2.2 (#115738) 2024-04-23 20:11:36 +02:00
J. Nick Koston
8207fc29d2 Bump aiohttp to 3.9.5 (#115727)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.9.4...v3.9.5
2024-04-23 20:08:08 +02:00
J. Nick Koston
630763ad9e Bump sqlparse to 0.5.0 (#115681)
fixes https://github.com/home-assistant/core/security/dependabot/54
fixes https://github.com/home-assistant/core/security/dependabot/55
2024-04-23 20:07:08 +02:00
J. Nick Koston
09ed0aa399 Bump httpcore to 1.0.5 (#115672)
Fixes missing handling of EndOfStream errors
2024-04-23 20:07:05 +02:00
Brett Adams
66918d1686 Fix sensor entity description in Teslemetry (#115614)
Add description back to sensor entity
2024-04-23 20:07:02 +02:00
jan iversen
3d68ee99a4 Modbus: Bump pymodbus v3.6.8 (#115574) 2024-04-23 20:06:59 +02:00
Brett Adams
37a82c8785 Fix Teslemetry sensor values (#115571) 2024-04-23 20:06:56 +02:00
J. Nick Koston
038040db5e Fix race in TimestampDataUpdateCoordinator (#115542)
* Fix race in TimestampDataUpdateCoordinator

The last_update_success_time value was being set after the listeners
were fired which could lead to a loop because the listener may
re-trigger an update because it thinks the data is stale

* coverage

* docstring
2024-04-23 20:06:53 +02:00
Marc Mueller
b770edc16e Update pillow to 10.3.0 (#115524) 2024-04-23 20:06:50 +02:00
J. Nick Koston
e1a2416076 Bump zeroconf to 0.132.2 (#115505) 2024-04-23 20:06:47 +02:00
J. Nick Koston
6247624514 Bump zeroconf to 0.132.1 (#115501) 2024-04-23 20:06:44 +02:00
slyoldfox
42c13eb57f Add scheduled mode to renault charge mode (#115427)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-04-23 20:06:41 +02:00
avee87
7eb6b2ca33 Fix Hyperion light not updating state (#115389) 2024-04-23 20:03:23 +02:00
Joost Lekkerkerker
5194faa8fd Make Withings recoverable after internet outage (#115124) 2024-04-23 20:03:20 +02:00
Jonny Rimkus
5826f9a4f6 Bump slixmpp version to 1.8.5 (#114448)
* Update slixmpp to 1.8.5, hopefully fixes #113990

* Bump slixmpp version to 1.8.5 #114448
2024-04-23 20:03:15 +02:00
Jim
cc9eab4c78 Allow plain text messages in telegram_bot (#110051)
* Add new plain_text parser

Passing None in the parse_mode kwargs on the various bot methods actually means that no parser is used.

* Add new plain text parser option to services.yaml

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 19:32:09 +02:00
Tucker Kern
d8aa1cd8b5 Add fan preset translations and icons to BAF (#109944) 2024-04-23 19:11:40 +02:00
Erik Montnemery
d4ecf30b6a Include libgammu-dev in devcontainer (#115983) 2024-04-23 18:35:53 +02:00
David Knowles
3b678896d9 Remove platform schema from Hydrawise (#116032) 2024-04-23 18:08:07 +02:00
Michael
10228ee1a2 Bump python-fritzhome to 0.6.11 (#115904) 2024-04-23 17:39:44 +02:00
Thomas55555
d4b801af32 Use snapshot test helper in Husqvarna Automower (#116039) 2024-04-23 17:39:29 +02:00
Marc Mueller
8257af1b22 Improve energy typing (#116034) 2024-04-23 17:33:36 +02:00
Marc Mueller
14e19c6d9c Remove unnecessary type ignores (#116036) 2024-04-23 17:32:21 +02:00
Volker Stolz
5e250d8a76 Augment SyntaxError raised during dependency collection with offending filename (#109204)
* Capture parsing exception when collecting dependencies and augment with offending filename.

Whereas before any syntax error in some component-file would result in an opaque SyntaxError without pointing out the file, now the result will show as:

```
  File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 873, in next
    raise value
SyntaxError: Can't parse file homeassistant/components/your/file.py
```

* tweak

* D'oh, had pre-commit hook still off.

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 17:13:25 +02:00
Maikel Punie
90efe5ac90 Velbus Cover: Assume state for VMBxBL modules (#109213) 2024-04-23 16:44:37 +02:00
Spacetech
1649957e5c Expose dynamic range status in Onkyo media player (#109099)
Expose HDR status in Onkyo media player

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 16:39:11 +02:00
Marc Mueller
a0314cddd4 Fix invalid tuple annotations (#116035) 2024-04-23 16:02:16 +02:00
Ståle Storø Hauknes
d367bc63f0 Fix KeyError error when fetching sensors (Airthings) (#115844) 2024-04-23 15:53:31 +02:00
Robert Resch
fced9eb4b5 Use location name on self hosted Ecovacs config entries (#115294) 2024-04-23 14:33:05 +02:00
Arie Catsman
2c651e190f Add additional zeroconf discovery coverage and logging to enphase_envoy (#114405)
* add debug info to zeroconf for enphase_envoy

* Implement review feedback, lost space

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>

* review feedback textual changes.

* implement review feedbackw.py

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

* Add some more zeroconf tests and valid jwt

* review feedback assert abort reason and keyerror for serialnumber

* Review feedback config flow test ends with abort or create_entry

* Review feedback optimize resource usage

* Cover new code in test.

* Use caplog for debug COV

---------

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-23 08:26:53 -04:00
Thomas55555
b8918d7d17 Add number platform to Husqvarna Automower (#115125)
* Add number platform to Husqvarna Automower

* use fixture to enable by default

* replace state test with snapshot test

* make property in entity description

* send value as integer

* give the exists functions something to do
2024-04-23 14:18:49 +02:00
Robert Resch
fd14695d26 Bump deebot-client to 7.0.0 (#116025) 2024-04-23 13:16:55 +02:00
Joost Lekkerkerker
2977ec4872 Add event platform to Lutron (#109121)
* Add event platform to Lutron

* Add event platform to Lutron

* Fix

* Fix

* Fix

* Add deprecation note

* Fix

* Fix

* Update homeassistant/components/lutron/event.py

* Update homeassistant/components/lutron/event.py

* Fix
2024-04-23 11:54:19 +02:00
Jesse Hills
85203aeb28 Bump aioesphomeapi to 24.3.0 (#116004) 2024-04-23 11:23:28 +02:00
Marc Mueller
9cdf7b435a Add uv version to wheels cache key [ci] (#116021) 2024-04-23 11:06:29 +02:00
jan iversen
640dc56c51 Deprecate modbus:restart service (#115754) 2024-04-23 10:28:46 +02:00
Martijn van der Pol
e90d76b18d Don't raise errors when using datetime objects in as_datetime Jinja function/filter (#109062)
* add support for datetime objects to as_datetime

* change import of datetime.date

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 09:55:58 +02:00
myhomeiot
3d59303433 Improve Vodafone Station empty/unavailable phone number detection (#115696)
Vodafone Sercomm H300S model incorrectly reports phone_unavailable1/phone_unavailable2 flags.
2024-04-23 09:50:41 +02:00
Joost Lekkerkerker
8f56d170b9 Use generator expression in totalconnect (#116020) 2024-04-23 09:48:17 +02:00
dependabot[bot]
e2b401397d Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#116015) 2024-04-23 09:24:32 +02:00
dependabot[bot]
616c7ce68b Bump actions/download-artifact from 4.1.4 to 4.1.6 (#116017) 2024-04-23 09:23:45 +02:00
Shai Ungar
e0c785b2b4 Add coordinator to 17Track (#115057)
* Add coordinator to 17Track

* Add coordinator to 17Track

remove SensorEntityDescription (different PR)

* Update homeassistant/components/seventeentrack/coordinator.py

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

* Update homeassistant/components/seventeentrack/sensor.py

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

* Add coordinator to 17Track

fix CR

* Add coordinator to 17Track

fix second CR

* Add coordinator to 17Track

remove commented out code + fix display name

* Add coordinator to 17Track

created a set outside _async_create_remove_entities function

* Add coordinator to 17Track

fix CR

* Add coordinator to 17Track

fix CR 2

* Update homeassistant/components/seventeentrack/coordinator.py

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

* Add coordinator to 17Track

raise UpdateFailed if API throws an exception

* Add coordinator to 17Track

merge calls

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-23 09:01:45 +02:00
Thomas Kistler
b8f44fb722 Update Hydrawise from the legacy API to the new GraphQL API (#106904)
* Update Hydrawise from the legacy API to the new GraphQL API.

* Cleanup
2024-04-23 09:01:25 +02:00
G Johansson
917f4136a7 Add config flow to Folder Watcher (#105605)
* Add config flow to Folder Watcher

* Add tests config flow

* docstrings

* watcher is sync

* Fix strings

* Fix

* setup_entry issue

* ConfigFlowResult

* Review comments

* Review comment

* ruff

* new date
2024-04-23 08:55:39 +02:00
Robert Resch
2fafdc64d5 Bump uv to 0.1.35 (#115985) 2024-04-23 08:48:35 +02:00
Robert Svensson
c32961f1bc Bump aiounifi to v76 (#116005)
* Bump aiounifi to v76
2024-04-23 07:48:25 +02:00
Kim de Vos
b69f589c30 Add bandwidth sensor for unifi device ports (#115362) 2024-04-22 22:39:46 +02:00
G Johansson
5318a6f465 Bump holidays to 0.47 (#115992) 2024-04-22 21:33:56 +02:00
karwosts
2ac44f6083 Make recorder.purge_entities require at least one entity filter value (#110066)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-22 20:10:18 +02:00
J. Nick Koston
0ed56694b0 Migrate MQTT EnsureJobAfterCooldown to use eager start (#115977) 2024-04-22 20:09:45 +02:00
Marc-Olivier Arsenault
f2adae4524 Revert "Reduce ecobee throttle (#115968)" (#115981) 2024-04-22 19:28:08 +02:00
Erik Montnemery
2caca7fbe3 Generate requirements per supported architecture (#115708)
* Generate requirements per supported architecture

* Don't store wheels requirements in the repo

* Dry run

* Set Python version

* Install base packages

* Fix

* Fix

* Fix

* Fix typo

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

* Genarate requirements_all_pytest.txt

* Fix hassfest

* Reenable building wheels

* Remove unneeded code

* Address review comment

* Fix lying comment

* Add tests, address review comments

* Deduplicate

* Fix file name

* Add comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-22 19:23:08 +02:00
Raj Laud
124eca4d53 Use start helper in squeezebox for server discovery (#115978) 2024-04-22 17:46:12 +02:00
David Knowles
2afaa3d333 Remove YAML support from Hydrawise (#115966) 2024-04-22 16:54:04 +02:00
J. Nick Koston
20adc5be70 Small fixes for processing integration requirements (#115973) 2024-04-22 16:52:04 +02:00
J. Nick Koston
37d329c286 Improve reliability of homeassistant_alerts updates (#115974) 2024-04-22 16:51:19 +02:00
Marc-Olivier Arsenault
65b2c1519c Reduce ecobee throttle (#115968)
reduce ecobee throttle
2024-04-22 16:43:01 +02:00
Michael
5a7e921ae3 Address late review for AVM Fritz!Smarthome (#115960)
fix typo
2024-04-22 13:24:23 +02:00
Jesse Hills
9b6863f182 ESPHome: Add datetime entities (#115942) 2024-04-22 13:12:22 +02:00
Joost Lekkerkerker
693bd08a0b Add snapshot tests to Totalconnect (#115952)
* Add snapshot tests to Totalconnect

* Add snapshot tests to Totalconnect
2024-04-22 13:01:31 +02:00
Aidan Timson
6985d36f18 Update ovoenergy to 2.0.0 (#115921)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-22 12:39:53 +02:00
Maciej Bieniek
354e8e92f3 Move NextDNS data update coordinators to the coordinator module (#115919)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-22 11:19:35 +02:00
Joost Lekkerkerker
09ae8b9f52 Introduce base location entity for totalconnect (#115938)
* Introduce base location entity for totalconnect

* Update homeassistant/components/totalconnect/entity.py

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

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-22 10:41:26 +02:00
Jesse Hills
46941adb51 Bump aioesphomeapi to 24.2.0 (#115943) 2024-04-22 10:30:14 +02:00
Quentame
f927b27ed4 Add Epic Games Store integration (#104725)
* Add Epic Games Store integration

Squashed commit of the following PR: #81167

* Bump epicstore-api to 0.1.7 as it handle better error 1004

Thanks to d7469f7c99

* Use extra_state_attributes instead of overriding state_attributes

* Review: change how config_flow.validate_input is handled

* Use LanguageSelector and rename locale to language

* Review: init-better use of hass.data.setdefault

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

* Review: don't need to update at init

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

* Revert "Review: don't need to update at init" --> not working otherwise

This reverts commit 1445a87c8e9b7247f1c9835bf2e2d7297dd02586.

* Review: fix config_flow.validate_input/retactor following lib bump

* review: merge async_update function with event property

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

* hassfest

* Fix duplicates data from applied comment review 5035055

* review: thanks to 5035055 async_add_entities update_before_add param is not required anymore

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

* Fix Christmas special "Holiday sale" case

* gen_requirements_all

* Use CONF_LANGUAGE from HA const

* Move CalendarType to const

* manifest: integration_type -> service

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* calendar: remove date start/end assert

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

* const: rename SUPPORTED_LANGUAGES

* hassfest

* config: Move to ConfigFlowResult

* coordinator: main file comment

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

* ruff & hassfest

* review: do not guess country

* Add @hacf-fr as codeowner

* review: remove games extra_attrs
Was dropped somehow:
- 73c20f34803b0a0ec242bf0740494f17a68f6f59 review: move games extra_attrs to data service
- other commit that removed the service part

* review: remove unused error class
was removed:
- 040cf945bb5346b6d42b3782b5061a13fb7b1f6b

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-22 09:54:47 +02:00
dependabot[bot]
66ea528e94 Bump actions/checkout from 4.1.2 to 4.1.3 (#115945)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 09:43:19 +02:00
rappenze
de75f82235 Refactor fibaro connect (#106875)
* Refactor fibaro connect

* Remove obsolete test

* Add comment about ignored return value
2024-04-22 09:29:58 +02:00
rappenze
aeaa1f84c0 Add type hints in fibaro device (#106874)
* Add typings in fibaro device

* Fix type hints

* Fix type hints

* Remove unused method parameter

* Improve log message

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-22 09:29:10 +02:00
andarotajo
70d4b4d20d Add optional location based region to dwd_weather_warnings (#96027)
* Add device tracker option

* Update const name to be more understandable

* Clean up sensor code

* Clean up init and coordinator

* Add tests and update util function and it's usage

* Switch to using the registry entry and add tests

* Clean up code

* Consolidate duplicate code and adjust tests

* Fix runtime error

* Fix blocking of the event loop

* Adjust API object handling

* Update homeassistant/components/dwd_weather_warnings/exceptions.py

* Optimize coordinator data update

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-22 09:13:09 +02:00
Allen Porter
e29b301dd1 Bump ical to 8.0.0 (#115907)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-21 15:52:47 -07:00
Joost Lekkerkerker
f26ac465b5 Introduce base entity for totalconnect (#115936) 2024-04-21 23:38:32 +02:00
Sid
895f73d8e4 Enable Ruff A001 (#115654) 2024-04-21 23:25:27 +02:00
J. Nick Koston
8754b12d08 Temporarily pickup mqtt codeowner (#115934) 2024-04-21 22:57:57 +02:00
J. Nick Koston
423544401e Convert MQTT to use asyncio (#115910) 2024-04-21 22:33:58 +02:00
Michael
5a24690d79 Make use of snapshot testing in Synology DSM (#115931) 2024-04-21 22:26:57 +02:00
mkmer
2620443a88 Add error translations to Blink (#115924)
* Add translations
Catch timeout in snap

* Grammer cleanup
2024-04-21 21:19:48 +02:00
Austin Mroczek
ddb415b77e Bump total_connect_client to 2023.12.1 (#115928)
bump total_connect_client to 2023.12.1
2024-04-21 20:27:50 +02:00
Robert Svensson
83370a5bde Remove sensor exposing UniFi WLAN password (#115929) 2024-04-21 20:27:44 +02:00
Joost Lekkerkerker
95b858648e Refactor Totalconnect binary sensor (#115629) 2024-04-21 17:36:19 +02:00
Michael
ec066472ae Fix geo location attributes of Tankerkoenig sensors (#115914)
* geo location attributes needs to be float

* make mypy happy
2024-04-21 11:44:58 +02:00
wittypluck
1c0c0bb0bc Allow manual delete of stale Unifi device from UI (#115267)
* Allow manual delete of stale device from UI

* Add unit tests for remove_config_entry_device
2024-04-21 11:08:39 +02:00
Jan Bouwhuis
b592225a87 Improve service validation exception test and translation key (#115843)
* Small improvement to service validation exception test and translation key

* Apply suggestions from code review

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

* Refactor string assertion

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-21 08:54:23 +02:00
Adam Goode
27bccf0b24 Add test for prometheus export of entities becoming unavailable and available again (#112157)
Add test for state change to unavailable and back
2024-04-20 20:20:01 -07:00
David Bonnes
30a60fd38b Improve debug logging for evohome (#110256)
better logging
2024-04-20 20:17:11 -07:00
Luke Lashley
d8117fd2bd Fix Roborock status not correctly mapping for some devices (#115646)
Use device_info.model instead of name
2024-04-20 19:57:05 -07:00
J. Nick Koston
29bfed72f7 Fix flaky history stats test (#115824) 2024-04-21 01:08:40 +02:00
Brett Adams
7d386b0d26 Fix sensor entity description in Teslemetry (#115614)
Add description back to sensor entity
2024-04-20 23:54:24 +02:00
r-binder
68225abce5 Add tls support for AVM Fritz!Tools (#112714) 2024-04-20 23:08:29 +02:00
Sid
b450918f66 Bump ruff to 0.4.1 (#115873) 2024-04-20 21:35:02 +02:00
Joost Lekkerkerker
48d1692cd6 Use snapshot test helper in Ambient Network (#115887) 2024-04-20 21:29:14 +02:00
Joost Lekkerkerker
ee116713cf Use snapshot test helper in Analytics insights (#115889) 2024-04-20 21:27:54 +02:00
Alberto Montes
c94b0a82ca Make release channel a hardcoded enum rather than a free form string (#115595)
* Make release channel a hardcoded enum rather than a free form string

* Update enum comparison to remove equality and us identity comparison

* Fix comparison condition to match the previous implementation

* Update tests to use Enum instead of string
2024-04-20 20:01:49 +02:00
Joost Lekkerkerker
c753093741 Use snapshot test helper in AO Smith (#115890) 2024-04-20 19:10:56 +02:00
mtielen
d478b87af7 Fix Wolf Smart Set Authentication and Session Management (#115815)
* Fix Wolf Smart Set Authentication and Session Management

Fix in the library to respect Wolf API token lifetime and implement Session Management

* Updatie requirments

* Update Code Owner
2024-04-20 19:09:32 +02:00
Maciej Bieniek
10be2cc004 Use snapshot test helper in NextDNS (#115895)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 18:43:40 +02:00
Maciej Bieniek
5e345b7129 Use snapshot test helper in NAM (#115894)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 18:43:33 +02:00
Maciej Bieniek
de1312f7e4 Use snapshot test helper in GIOS (#115893)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 18:43:25 +02:00
Joost Lekkerkerker
b328981868 Use snapshot test helper in Accuweather (#115884) 2024-04-20 17:24:40 +02:00
Joost Lekkerkerker
5796b651af Use snapshot test helper in Brother (#115885) 2024-04-20 17:14:42 +02:00
Joost Lekkerkerker
16e31d8f74 Add test helper to snapshot a platform (#115880)
* Add test helper to snapshot a platform

* Add test helper to snapshot a platform
2024-04-20 14:49:57 +02:00
Nathan Spencer
8f73422ce5 Bump pylitterbot to 2023.5.0 (#115856) 2024-04-20 12:37:35 +02:00
jjlawren
e3ce3ed6fd Bump plexapi to 4.15.12 (#115872) 2024-04-20 12:36:03 +02:00
Maciej Bieniek
194f3366ce Use snapshot testing in NAM sensor and diagnostics (#115877)
* Use snapshot testing in NAM diagnostics

* Use snapshot testing in NAM sensor

* Add NAM data fixture

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 12:34:27 +02:00
Maciej Bieniek
c4e7a7af21 Use snapshot testing in Brother sensor (#115875)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 12:33:08 +02:00
Maciej Bieniek
c2450c1112 Use snapshot testing in GIOS sensor (#115876)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 12:32:11 +02:00
Maciej Bieniek
c8d52c02c5 Use snapshot testing in NextDNS (#115879)
* Use snapshot testing in NextDNS sensor

* Use snapshot testing in NextDNS switch

* Use snapshot testing in NextDNS binary sensor

* Use snapshot testing in NextDNS button

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 12:31:20 +02:00
Michael
354c20a57b Automatic cleanup of entity and device registry in AVM FRITZ!SmartHome (#114601) 2024-04-20 12:13:56 +02:00
J. Nick Koston
0ea1564248 Bump bluetooth-adapters to 0.19.0 (#115864) 2024-04-20 01:36:46 +02:00
Maciej Bieniek
ffd6635c14 Bump nettigo_air_monitor to version 3.0.0 (#115853)
Bump nettigo_air_monitor to version 3.0.0

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-19 20:25:57 +02:00
Maciej Bieniek
f9ff3165af Bump nextdns to version 3.0.0 (#115854)
Bump nextdns to version 3.0.0

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-19 20:25:07 +02:00
Jan Bouwhuis
a8025a8606 Fix mutable objects in group registry class (#115797) 2024-04-19 18:41:29 +02:00
J. Nick Koston
4529268544 Ensure scripts with timeouts of zero timeout immediately (#115830) 2024-04-19 18:24:54 +02:00
slyoldfox
ebbcad17c6 Add scheduled mode to renault charge mode (#115427)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-04-19 18:22:12 +02:00
avee87
18d6581523 Fix Hyperion light not updating state (#115389) 2024-04-19 18:21:21 +02:00
Joost Lekkerkerker
cc2e0fd921 Make Withings recoverable after internet outage (#115124) 2024-04-19 18:18:32 +02:00
Joost Lekkerkerker
c108c7df38 Add reauth flow to Google Tasks (#109517)
* Add reauth flow to Google Tasks

* Update homeassistant/components/google_tasks/config_flow.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Add tests

* Reauth

* Remove insta reauth

* Fix

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-04-19 17:38:39 +02:00
Simone Chemelli
ff83d9acff Add missing media_player features to Samsung TV (#115788)
* add missing features

* fix snapshot
2024-04-19 16:45:19 +02:00
Maciej Bieniek
b462fdbf51 Bump gios to version 4.0.0 (#115822)
Bump gios to version 4.0.0

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-19 15:52:09 +02:00
Jan Bouwhuis
5b082ed669 Add group tests with mixed domain entities (#115849) 2024-04-19 14:48:18 +02:00
dependabot[bot]
f8738d9263 Bump actions/download-artifact from 4.1.4 to 4.1.5 (#115841) 2024-04-19 12:22:09 +02:00
dependabot[bot]
8d7ef6ea9a Bump actions/upload-artifact from 4.3.1 to 4.3.2 (#115842) 2024-04-19 12:11:08 +02:00
J. Nick Koston
79c9db4089 Bump aiodiscover to 2.1.0 (#115823) 2024-04-19 09:43:02 +02:00
hahn-th
ed4f00279e Show default profiles in homematic cloud climate entity (#107348)
* Default names for visible profiles

* Increase number of devices in test

* remove unnecessary check

* Add testcase and split another into two

* Add type annotations and docstring

* Remove code which not belongs to the PR

* Add myself to codeowners
2024-04-19 08:09:48 +02:00
Joe Neuman
4cce75177a Add get_torrents service to qBittorrent integration (#106501)
* Upgrade QBittorrent integration to show torrents

This brings the QBittorrent integration to be more in line with the Transmission integration. It updates how the integration is written, along with adding sensors for Active Torrents, Inactive Torrents, Paused Torrents, Total Torrents, Seeding Torrents, Started Torrents.

* Remove unused stuff

* Correct name in comments

* Make get torrents a service with a response

* Add new sensors

* remove service

* Add service with response to get torrents list

This adds a service with a response to be able to get the list of torrents within qBittorrent

* update

* update from rebase

* Update strings.json

* Update helpers.py

* Update to satisfy lint

* add func comment

* fix lint issues

* another update attempt

* Fix helpers

* Remove unneccesary part in services.yaml and add translations

* Fix return

* Add tests

* Fix test

* Improve tests

* Fix issue from rebase

* Add icon for get_torrents service

* Make get torrents a service with a response

* remove service

* Add service with response to get torrents list

This adds a service with a response to be able to get the list of torrents within qBittorrent

* Update to satisfy lint

* Handle multiple installed integrations

* fix lint issue

* Set return types for helper methods

* Create the service method in async_setup

* Add CONFIG_SCHEMA

* Add get_all_torrents service

* fix lint issues

* Add return types and ServiceValidationError(s)

* Fix naming

* Update translations

* Fix tests
2024-04-19 07:56:37 +02:00
Robert Svensson
6b6324f48e Bump aiounifi to v75 (#115819) 2024-04-19 06:36:43 +02:00
Maciej Bieniek
e62ae90d81 Bump accuweather to version 3.0.0 (#115820)
Bump accuweather to version 3.0.0

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-18 20:24:10 -07:00
Matrix
814b7a4447 Bump yolink-api to 0.4.3 (#115794) 2024-04-19 03:14:14 +02:00
J. Nick Koston
1d6ae01baa Handle Bluetooth adapters in a crashed state (#115790)
* Skip bluetooth discovery for Bluetooth adapters in a crashed state

* fixes

* fixes

* adjust

* coverage

* coverage

* fix race
2024-04-18 15:06:53 -05:00
Ryan Mattson
05c37648c4 Add support for room sensor accessories assigned to a Honeywell (Lyric) Thermostat (#104343)
* Add support for room sensor accessories.

- Update coordinator to refresh and grab information about room sensor accessories assigned to a thermostat
- Add sensor entities for room humidity and room temperature
- Add devices to the registry for each room accessory
- "via_device" these entities through the assigned thermostat.

* fixed pre-commit issues.

* PR suggestions

- update docstring to reflect ownership by thermostat
- fixed potential issue where a sensor would not be added if its temperature value was 0

* fix bad github merge

* asyicio.gather futures for updating theromstat room stats
2024-04-18 20:50:11 +02:00
Or Evron
5702ab3059 Add zhimi.fan.za3 to xiaomi_miio workaround unable to discover device (#108310)
* add  zhimi.fan.za3 to workaround fix unable to discover issue

* Update __init__.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 20:48:37 +02:00
Brian Rogers
3a461c32ac Add battery binary sensor to Rachio hose timer (#115810)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-18 13:26:09 -05:00
J. Nick Koston
d48bd9b016 Deprecate async_track_state_change in favor of async_track_state_change_event (#115558) 2024-04-18 10:45:14 -05:00
J. Nick Koston
b18f1ac265 Migrate device_sun_light_trigger to use async_track_state_change_event (#115555)
* Migrate device_sun_light_trigger to use async_track_state_change_event

async_track_state_change is legacy and will eventually be deprecated after
all core usage is removed. There are only two places left

* coverage
2024-04-18 10:45:06 -04:00
J. Nick Koston
80d6cdad67 Small cleanups to translation loading (#115583)
- Add missing typing
- Convert a update loop to a set comp
- Save some indent
2024-04-18 10:42:44 -04:00
J. Nick Koston
588c260dc5 Skip processing websocket_api schema if it has no arguments (#115618)
* Skip processing websocket_api schema if has no arguments

About 40% of the websocket commands on first connection have
no arguments. We can skip processing the schema for these cases

* cover

* fixes

* allow extra

* Revert "allow extra"

This reverts commit 85d9ec36b3.

* match behavior
2024-04-18 10:41:08 -04:00
J. Nick Koston
ea8d4d0dca Add reauth support to oncue (#115667)
* Add reauth support to oncue

* review comments

* reauth on update failure

* coverage
2024-04-18 10:39:58 -04:00
J. Nick Koston
53c48537d7 Add bluetooth adapter model and manufacturer to config flow (#115780)
* Show bluetooth adapter model and manufacturer in config flow

If there are multiple adapters, it could be a bit difficult
to figure out which one is which

* Show bluetooth adapter model and manufacturer in config flow

If there are multiple adapters, it could be a bit difficult
to figure out which one is which

* reorder

* reorder

* names

* remove

* fix incomplete mocking

* more missing mocks
2024-04-18 10:39:32 -04:00
J. Nick Koston
fbdef7f5cd Bump habluetooth to 2.8.0 (#115789)
* Bump habluetooth to 2.8.0

Adds support for recovering some adapters that fail to initialize
due to kernel races

* bump lib

* tweak
2024-04-18 10:37:20 -04:00
Arjan van Balken
74afed3b6d Bump arris-tg2492lg to 2.2.0 (#107905)
Bumps arris-tg2492lg from 1.2.1 to 2.2.0
2024-04-18 15:52:03 +02:00
Marcin Wielgoszewski
90575bc496 Add hvac_action attribute to iAqualink Thermostat climate entities (#107803)
* Update climate.py

* Reorder if/else statements per @dcmeglio's suggestion

* Don't infer state, actually read it from the underlying device

* HVACAction has a HEATING state, not ON

* Update homeassistant/components/iaqualink/climate.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 15:37:11 +02:00
Lukasz Szmit
ceaf8f2402 Add support for payload_template in rest component (#107464)
* Add support for payload_template in rest component

* Update homeassistant/components/rest/schema.py

* Update homeassistant/components/rest/data.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 15:22:58 +02:00
vexofp
8ba1340c2e Clarify cover toggle logic; prevent opening when already open (#107920)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 14:58:16 +02:00
Jan Bouwhuis
3299bc5ddc Translate service validation errors (#115024)
* Move service validation error message to translation cache

* Fix test

* Revert unrelated change

* Address review comments

* Improve error message

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-18 14:36:03 +02:00
Erwin Douna
d5e5a16303 Add diagnostics platform to DSMR Reader (#115805)
* Add diagnostics platform

* Feedback

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-18 14:08:23 +02:00
Luca Angemi
844ff30a60 Add state class to mobile_app restore entity (#115798)
add state class
2024-04-18 08:06:51 -04:00
mkmer
28da10ad0d Handle connection error in honeywell (#108168)
* Handle connection error

* Catch connection error

* Add tests

* Add translation strings

* Clean up overlapping exceptions

* ServiceValidationError

* HomeAssistant Error translations

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 13:53:32 +02:00
Martin Hjelmare
47f0d5ed1f Add script to compare alexa locales with upstream (#114247)
* Add script to compare alexa locales with upstream

* Use a function in script

* Add test base

* Complete output assertion

* Add type annotation

* Add note to docstring

* Update script call example

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-18 13:41:34 +02:00
William Easton
aee620be9f Ambient Weather: Check for key existence before checking value (#115776) 2024-04-18 05:38:52 -06:00
Krzysztof Kwitt
a47c76fc40 Bump connect-box to 0.3.1 (#107852) 2024-04-18 13:18:14 +02:00
dependabot[bot]
4374ec767d Bump github/codeql-action from 3.25.0 to 3.25.1 (#115796)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 10:14:51 +02:00
J. Nick Koston
0398a481c3 Fix failing sanix tests (#115793)
Fixing failing sanix tests

Regenerate snapshot to match what actually happens. There is no
translation keys for these two
2024-04-18 09:25:03 +02:00
Keith Burzinski
14515b77bb Add valve entity support for ESPHome (#115341)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-04-17 20:47:15 -05:00
J. Nick Koston
8fb551430d Bump bluetooth-auto-recovery to 1.4.1 (#115792) 2024-04-17 20:38:17 -05:00
J. Nick Koston
98ed6e7fe5 Bump habluetooth to 2.7.0 (#115783) 2024-04-17 17:47:40 -05:00
J. Nick Koston
b829f1030b Migrate snooze config flow to use eager_start (#115658) 2024-04-17 14:59:16 -05:00
Felipe Martins Diel
7188d62340 Bump Broadlink to 0.19.0 (#115742)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-17 14:37:38 -05:00
J. Nick Koston
11931cdb56 Simplify labels and areas template calls (#115673)
The labels and areas are already exposed on the object
2024-04-17 21:28:09 +02:00
Allen Porter
0aa7946208 Bump google-nest-sdm to 3.0.4 (#115731) 2024-04-17 21:23:58 +02:00
Joost Lekkerkerker
07a46f17d0 Add sanix sensor tests (#115763)
Add sanix tests
2024-04-17 21:20:12 +02:00
Sid
cdc49328be Address late reviews for the enigma2 config flow (#115768)
* Address late reviews for the enigma2 config flow

* fix tests

* review comments

* test for issues

* Apply suggestions from code review

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-17 21:08:10 +02:00
Jan Bouwhuis
8275512130 Add mqtt notify platform (#115653)
* Add mqtt notify platform

* Stale docstring
2024-04-17 20:07:11 +02:00
J. Nick Koston
0a78e9d4aa Replace aiohttp-zlib-ng[isal] with aiohttp-isal (#115777)
* Replace aiohttp-zlib-ng[isal] with aiohttp-isal

The extra was causing wheel builds to fail

Since isal works on all of our supported platforms we can
always use it and drop the need for zlib-ng

https://github.com/home-assistant/core/actions/runs/8725019072

https://github.com/bdraco/aiohttp-isal

* typo
2024-04-17 19:46:15 +02:00
Xander
d4b62adfdc Guard negative values for IPP states (#107446)
* Guard negative values for IPP states

* ruff format

* Update sensor.py

---------

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-17 13:38:12 -04:00
jan iversen
3202743b6c Cleanup modbus test mocks (#115412) 2024-04-17 19:10:09 +02:00
Ståle Storø Hauknes
dcd61ac086 Fix unrecoverable error when fetching airthings_ble data (#115699) 2024-04-17 11:47:29 -05:00
Erik Montnemery
e4280b2c00 Use aiohttp-zlib-ng[isal] (#115767) 2024-04-17 17:57:34 +02:00
Álvaro Fernández Rojas
7e9b5b1128 Allow selecting Air Quality mode for Airzone Cloud (#106769)
* airzone_cloud: add Air Quality mode select

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* trigger CI

* trigger CI

* Update select.py

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

* airzone_cloud: select: remove AirzoneSelectDescriptionMixin usage

* airzone_cloud: select: rename AIR_QUALITY_DICT

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-17 17:11:29 +02:00
Christopher Fenner
9bae6d694d Add secondary temperature sensor for DHW in ViCare (#106612)
* add temp2 sensor

* Update strings.json
2024-04-17 17:08:23 +02:00
J. Nick Koston
f62a3a7176 Simplify config_entries entity registry filter (#115678) 2024-04-17 09:42:23 -05:00
J. Nick Koston
7a67304301 Bump habluetooth to 2.6.0 (#115724) 2024-04-17 09:41:42 -05:00
Erik Montnemery
08b565701c Include hash of requirements.txt in venv cache key (#115759) 2024-04-17 16:37:49 +02:00
Joost Lekkerkerker
dfec91d274 Remove obsolete translation keys in Sanix (#115764) 2024-04-17 16:11:42 +02:00
Mike Degatano
f1ebe9d20a Add repairs to hassio manifest (#115486)
* Add repairs to hassio manifest

* Remove unnecessary fixture
2024-04-17 15:51:29 +02:00
J. Nick Koston
bd2efffb4a Reduce duplicate code in the device registry (#115677) 2024-04-17 15:50:39 +02:00
J. Nick Koston
45f025480e Avoid linear search to remove a label from the entity registry (#115674)
* Avoid linear search to remove a label from the entity registry

* simplify
2024-04-17 15:47:56 +02:00
J. Nick Koston
8cf14c9268 Avoid linear search to clear labels and areas in the device registry (#115676) 2024-04-17 15:46:59 +02:00
J. Nick Koston
9ca24ab2a2 Avoid linear search to remove labels and floors from area registry (#115675)
* Avoid linear search to remove labels and floors from area registry

* simplify
2024-04-17 15:45:40 +02:00
Sid
be0926b7b8 Add config flow to enigma2 (#106348)
* add config flow to enigma2

* Apply suggestions from code review

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

* fix suggested change

* use parametrize for config flow tests

* Restore PLATFORM_SCHEMA and add create_issue to async_setup_platform

* fix docstring

* remove name, refactor config flow

* bump dependency

* remove name, add verify_ssl, use async_create_clientsession

* use translation key, change integration type to device

* Bump openwebifpy to 4.2.1

* cleanup, remove CONF_NAME from entity, add async_set_unique_id

* clear unneeded constants, fix tests

* fix tests

* move _attr_translation_key out of init

* update test requirement

* Address review comments

* address review comments

* clear strings.json

* Review coments

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-17 15:21:54 +02:00
Erik Montnemery
764a0f29cc Allow [##:##:##] type keypad address in homeworks (#115762)
Allow [##:##:##] type keypad address
2024-04-17 15:04:37 +02:00
Erik Montnemery
e45583b83b Fix homeworks import flow (#115761) 2024-04-17 15:00:10 +02:00
Erik Montnemery
3f62267a48 Fix flaky qld_bushfire test (#115757) 2024-04-17 14:29:49 +02:00
Tomasz
864c80fa55 Add Sanix integration (#106785)
* Add Sanix integration

* Add Sanix integration

* Add sanix pypi package

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Fix ruff

* Fix

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-04-17 14:24:34 +02:00
epenet
92aae4d368 Bump renault-api to 0.2.2 (#115738) 2024-04-17 14:23:47 +02:00
Erik Montnemery
5c018f6ffc Improve standard library violation check in hassfest (#115752)
* Improve standard library violation check in hassfest

* Improve prints

* Improve error message
2024-04-17 14:10:26 +02:00
J. Nick Koston
cb16465539 Keep track of top level components (#115586)
* Keep track of top level components

Currently we have to do a set comp for icons, translations,
and integration platforms every time to split the top level
components from the platforms. Keep track of the top level
components in a seperate set so avoid having to do the setcomp
every time.

* remove impossible paths

* remove unused code

* preen

* preen

* fix

* coverage and fixes

* Update homeassistant/core.py

* Update homeassistant/core.py

* Update tests/test_core.py
2024-04-17 13:23:20 +02:00
Erik Montnemery
fee1f2833d Fix hassfest requirements check (#115744)
* Fix hassfest requirements check

* Add electrasmart to ignore list
2024-04-17 12:27:48 +02:00
Erik Montnemery
ff1ac1a544 Remove useless any in gen_requirements_all.comment_requirement (#115751) 2024-04-17 12:12:51 +02:00
Erik Montnemery
a3c767da2d Correct normalize_package_name (#115750) 2024-04-17 12:03:06 +02:00
Erik Montnemery
ba4731ecb4 Remove stale packages from uncommenting when building wheels (#115700) 2024-04-17 11:54:53 +02:00
J. Nick Koston
dae56222e9 Bump orjson to 3.10.1 (#115728)
changelog: https://github.com/ijl/orjson/compare/3.9.15...3.10.1
2024-04-17 09:13:55 +02:00
J. Nick Koston
34c3e523b4 Bump aiohttp to 3.9.5 (#115727)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.9.4...v3.9.5
2024-04-17 09:10:06 +02:00
c0ffeeca7
20ff101015 Multiple data disks detected: tweak strings (#115713)
* Multiple data disks: tweak strings

* Fix typos

* Update homeassistant/components/hassio/strings.json

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-17 09:06:47 +02:00
Erik Montnemery
537b00db9a Fix stale comment in wheels.yml (#115736) 2024-04-17 08:50:33 +02:00
Jesse Hills
94a66fa648 Bump aioesphomeapi to 24.1.0 (#115729) 2024-04-17 15:39:38 +12:00
J. Nick Koston
6dcfe861fd Bump habluetooth to 2.5.2 (#115721) 2024-04-16 18:34:57 -05:00
Maciej Bieniek
e7076ac83f Use separate data coordinators for AccuWeather observation and forecast (#115628)
* Remove forecast option

* Update strings

* Use separate DataUpdateCoordinator for observation and forecast

* Fix tests

* Remove unneeded variable

* Separate data coordinator classes

* Use list comprehension

* Separate coordinator clasess to add type annotations

* Test the availability of the forecast sensor entity

* Add DataUpdateCoordinator types

* Use snapshot for test_sensor()

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-17 00:00:16 +02:00
Joakim Plate
81036967f0 Correct unit for total usage in rfxtrx (#115719) 2024-04-16 22:35:55 +02:00
Matthew Hallonbacka
4a89e18b7e Fix check for missing parts on incoming SMS (#105068)
* Fix check for missing parts on incoming SMS

* Add tests for get_and_delete_all_sms function

* Fix CI issues

* Install libgammu-dev in CI

* Bust the venv cache

* Include python-gammu in requirements-all.txt

* Adjust install of dependencies

---------

Co-authored-by: Erik <erik@montnemery.com>
2024-04-16 21:34:09 +02:00
Mike Degatano
249a92d321 Unsupported if wrong image used on virtualization (#113882)
* Unsupported if wrong image used on virtualization

* Language tweaks

Co-authored-by: Stefan Agner <stefan@agner.ch>

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-04-16 17:54:49 +02:00
BestPig
586d27320e Add Sound Mode selection in soundpal components (#106589) 2024-04-16 17:45:48 +02:00
J. Nick Koston
135fe26704 Bump httpcore to 1.0.5 (#115672)
Fixes missing handling of EndOfStream errors
2024-04-16 18:13:47 +03:00
Guido Schmitz
63c9aef71d Correct spelling of "Wi-Fi" in devolo_home_network (#106167)
* Use Wi-Fi in devolo_home_network

* Recreate snapshots

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-16 16:28:25 +02:00
myMartek
18ac9a7ba5 Add select hold to AppleTVs remote entity as possible command (#105764)
* Fixed home hold and added select hold

* Fixed home hold and added select hold

* Removed select_hold for now

* Fixed wrong import block sorting

* Fixed unit tests for AppleTV

* Added select hold command to AppleTV integration

* Removed home_hold and added hold_secs option for remote commands

* Added DEFAULT_HOLD_SECS

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-16 16:16:32 +02:00
Joost Lekkerkerker
e9894f8e91 Add extract media url service to media extractor (#100780)
* Exclude manifest files from youtube media extraction

* Add media_extractor service to extract media

* Fix snapshot

* Run ytdlp async

* Add icon

* Fix

* Fix
2024-04-16 16:13:03 +02:00
Erik Montnemery
7cd0fe3c5f Don't reload other automations when saving an automation (#80254)
* Only reload modified automation

* Correct check for existing automation

* Add tests

* Remove the new service, improve ReloadServiceHelper

* Revert unneeded changes

* Update tests

* Address review comments

* Improve test coverage

* Address review comments

* Tweak reloader code + add a targetted test

* Apply suggestions from code review

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

* Explain the tests + add more variations

* Fix copy-paste mistake in test

* Rephrase explanation of expected test outcome

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-16 15:58:57 +02:00
dependabot[bot]
679752ceb8 Bump github/codeql-action from 3.24.10 to 3.25.0 (#115686) 2024-04-16 12:33:10 +02:00
Martin Hjelmare
d1ed8d817c Remove Adafruit-BBIO from commented requirements (#115689) 2024-04-16 10:50:51 +02:00
Martin Hjelmare
093aee672c Fix ambient network test linting (#115691) 2024-04-16 10:19:23 +02:00
Thomas Kistler
0dd8ffd1f5 Add a new "Ambient Weather Network" integration (#105779)
* Adding a new "Ambient Weather Network" integration.

* Rebase and update code coverage.

* Addressed some reviewer comments.

* Remove mnemonics and replace with station names.

* Remove climate-utils

* Remove support for virtual stations.

* Rebase

* Address feedback

* Remove redundant errors

* Reviewer feedback

* Add icons.json

* More icons

* Reviewer feedback

* Fix test

* Make sensor tests more robust

* Make coordinator more robust

* Change update coordinator to raise UpdateFailed

* Recover from no station found error

* Dynamically set device name

* Address feedback

* Disable some sensors by default

* Reviewer feedback

* Change from hub to service

* Rebase

* Address reviewer feedback

* Reviewer feedback

* Manually rerun ruff on all files
2024-04-16 09:46:15 +02:00
Stephen Alderman
f62fb76765 Add Config Flow to LG Netcast (#104913)
* Add Config Flow to lg_netcast

* Add YAML import to Lg Netcast ConfigFlow

Deprecates YAML config support

* Add LG Netcast Device triggers for turn_on action

* Add myself to LG Netcast codeowners

* Remove unnecessary user_input validation check.

* Move netcast discovery logic to the backend

* Use FlowResultType Enum for tests

* Mock pylgnetcast.query_device_info instead of _send_to_tv

* Refactor lg_netcast client discovery, simplify YAML import

* Simplify CONF_NAME to use friendly name

Fix: Use Friendly name for Name

* Expose model to DeviceInfo

* Add test for testing YAML import when not TV not online

* Switch to entity_name for LGTVDevice

* Add data_description to host field in user step

* Wrap try only around _get_session_id

* Send regular request for access_token to ensure it display on the TV

* Stop displaying access token when flow is aborted

* Remove config_flow only consts and minor fixups

* Simplify media_player logic & raise new migration issue

* Add async_unload_entry

* Create issues when import config flow fails, and raise only a single yaml deprecation issue type

* Remove single use trigger helpers

* Bump issue deprecation breakage version

* Lint

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-16 09:29:02 +02:00
brave0d
a99ecb024e New BMW sensor for climate activity (#110287)
* add sensor with climate activity status

* Update strings.json

* use icon translation and is_available for sensor

* use enum with translations

* Return None if value is UNKNOWN

* fix getting the value: x.value

* fix getting the value: x instead of x.value

* Fix tests and pre-commit

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-04-16 09:24:32 +02:00
Tom Harris
c5c407b3bb Move Insteon configuration panel to config entry (#105581)
* Move Insteon panel to the config menu

* Bump pyinsteon to 1.5.3

* Undo devcontainer.json changes

* Bump Insteon frontend

* Update config_flow.py

* Code cleanup

* Code review changes

* Fix failing tests

* Fix format

* Remove unnecessary exception

* codecov

* Remove return from try

* Fix merge mistake

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-16 09:10:32 +02:00
theminer3746
1dfabf34c4 Fix typo in modbus integration strings.json (#115685) 2024-04-16 09:04:00 +02:00
J. Nick Koston
7e35fcf11a Bump sqlparse to 0.5.0 (#115681)
fixes https://github.com/home-assistant/core/security/dependabot/54
fixes https://github.com/home-assistant/core/security/dependabot/55
2024-04-16 08:30:51 +02:00
Marc Mueller
6a7a44c998 Add dataclass to store AdGuard data (#115668)
* Add dataclass to store AdGuard data

* Unify version call
2024-04-16 08:02:27 +02:00
J. Nick Koston
11ff00f637 Small speed up to async_prepare_setup_platform (#115662) 2024-04-15 17:30:05 -05:00
Collin Fair
4aab073bd2 Remove cloud dependency from islamic-prayer-times (#115146)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-15 15:42:33 -05:00
John Luetke
a16d98854a Remove pihole codeowner (#110384)
* Update codeowners

Removing myself from codeowners as I have been unable to dedicate time to this

* Update CODEOWNERS

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-15 22:32:14 +02:00
Sid
5f055a64bb Enable Ruff B017 (#115335) 2024-04-15 22:25:09 +02:00
Brian Rogers
c7e6f3696f Create base class for Rachio smart hose timer entities (#115475) 2024-04-15 14:22:44 -05:00
Heiko Carrasco
2c6ec506ad Update switchbot_api to 2.1.0 (#115529) 2024-04-15 21:09:34 +02:00
J. Nick Koston
a6a47c0b44 Make aiohttp_cors a top level import (#115563)
* Make aiohttp_cors a top level import

This was moved to a late import in #27935 but there is no
longer any need to import it late in the event loop as aiohttp_cors
is listed in pyproject.toml so it will always be available

* drop requirements as they are all top level now

* drop requirements as they are all top level now

* adjust
2024-04-15 21:06:59 +02:00
J. Nick Koston
2ec588d2a6 Migrate websocket_api sensor to use shorthand attrs (#115620) 2024-04-15 20:40:31 +02:00
J. Nick Koston
dbc5109fd8 Avoid update calls in state writes when attributes are empty (#115624) 2024-04-15 17:42:18 +02:00
Luke Lashley
9f852c6a58 Bump vacuum-map-parser-roborock to 0.1.2 (#115579)
bump to 0.1.2
2024-04-15 16:06:44 +02:00
Marc Mueller
881e201a15 Set platform for mypy (#115638) 2024-04-15 14:12:26 +02:00
J. Nick Koston
3963b3994b Small cleanups to the rate limit helper (#115621) 2024-04-15 13:42:28 +02:00
J. Nick Koston
15ecd3ae31 Fix flaky zwave update entity delay test (#115552)
The test assumed the node updates would happen in a specific order
but they can switch order based on timing.

Adjust to check to make sure all the nodes are called but make it
order independent
2024-04-15 13:12:09 +02:00
Shawn Weeks
b1bd9dc22c Bump emulated-roku to 0.3.0 to fix Sofabaton Support (#115452) 2024-04-14 21:43:11 -05:00
Brett Adams
5e1de6842d Fix Teslemetry sensor values (#115571) 2024-04-15 01:48:22 +02:00
Pete Sage
d40fc613aa Bump soco to 0.30.3 (#115607)
bump soco to 0.30.3
2024-04-14 18:39:07 -05:00
Marc Mueller
6422bc4c19 Set follow_imports to normal [mypy] (#115521) 2024-04-15 00:26:06 +02:00
Marc Hörsken
e08301f362 Move Alexa entity id generation into abstract config class (#115593)
This makes it possible to change the id schema in implementations.
2024-04-14 23:11:42 +02:00
J. Nick Koston
269429aa0c Only calculate the tplink emeter values once per update cycle (#115587)
The sensor platform has to read the native_value multiple times
during the state write cycle which means the integration calculated
the value multiple times. Switch to using _attr_native_value to
ensure the calculations in the library are only done once per
state write.

To demonstrate this issue,
+        _LOGGER.warning("Fetch name value for %s", self.entity_id)
was added to `def native_value`:
```
2024-04-14 06:58:52.506 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_current_consumption
2024-04-14 06:58:52.506 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_total_consumption
2024-04-14 06:58:52.507 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_today_s_consumption
2024-04-14 06:58:52.507 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_voltage
2024-04-14 06:58:52.508 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_current
2024-04-14 06:58:52.509 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_current_consumption
2024-04-14 06:58:52.510 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_total_consumption
2024-04-14 06:58:52.510 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_today_s_consumption
2024-04-14 06:58:52.510 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_voltage
2024-04-14 06:58:52.510 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_current
```
2024-04-14 20:38:28 +02:00
jan iversen
7cfd6a04d3 Modbus: Bump pymodbus v3.6.8 (#115574) 2024-04-14 19:22:42 +02:00
J. Nick Koston
5f00b9207d Small cleanups to script (#115565) 2024-04-14 10:47:13 -05:00
Arie Catsman
131edea576 Replace lambda by attrgetter in enphase_envoy platform value_fn (#115569) 2024-04-14 10:41:25 -05:00
Arie Catsman
6092894ce5 For new installs make enphase_envoy phase entities default disabled (#115577) 2024-04-14 10:41:00 -05:00
Shay Levy
291df6dafe Bump aioshelly to 9.0.0 (#114025)
* Update Shelly to use initialize from aioshelly

* Save indentation in _async_device_connect

* Use firmware_supported property from aioshelly

* Review comments

* Bump aioshelly

* Fix lint errors

* Test RPC initialized update
2024-04-14 18:07:26 +03:00
J. Nick Koston
33412dd9f6 Remove unused legacy state translations (#112023)
* Remove unused state translations

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

* nothing does merging anymore

* useless dispatch

* remove

* remove platform code from hassfest

* preen

* Update homeassistant/helpers/translation.py

* ruff

* fix merge

* check is impossible now since we already know if translations exist or not

* keep the function for now

* remove unreachable code since we filter out `.` before now

* reduce

* reduce

* fix merge conflict (again)
2024-04-14 07:13:17 -04:00
Sid
0200d1aa66 Unignore Ruff UP006, UP007 (#115533) 2024-04-14 00:26:58 -05:00
Sid
c24ae01a43 Unignore Ruff E731 (#115564) 2024-04-14 00:15:10 -05:00
Sid
3799d20d43 Enable Ruff B905 (#114197) 2024-04-14 00:14:26 -05:00
J. Nick Koston
b70edb89bf Fix missing Home in listener deprecation message (#115559) 2024-04-13 20:44:07 -05:00
J. Nick Koston
0feea624f9 Migrate rfxtrx to use async_track_state_change_event (#115556) 2024-04-13 20:37:01 -05:00
J. Nick Koston
41f5325ce3 Refactor _async_setup_component to remove need for C901 (#115553) 2024-04-13 19:46:37 -05:00
J. Nick Koston
8da7de1fea Remove attr usage in event helper (#115554) 2024-04-13 19:46:23 -05:00
J. Nick Koston
dad03e7283 Remove sleep in async_setup_component (#115515)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-13 19:34:28 -05:00
J. Nick Koston
14b794b0f7 Migrate config entry reauth to use eager_start (#115549) 2024-04-13 18:38:33 -05:00
J. Nick Koston
7e84158fad Avoid double dict conversion in bluetooth serialize_entity_description (#115551) 2024-04-13 18:08:38 -05:00
J. Nick Koston
09b209245a Only calculate native_value once in mobile_app (#115550)
native_value is read a few times during the state write.

Use _attr_native_value so its only calculated once
2024-04-13 18:57:12 -04:00
Mr. Bubbles
927ea14562 Add exception translations to Bring integration (#115547)
* Add exception translations

* Add test for exceptions

* Remove unnecessary logging
2024-04-14 00:26:37 +02:00
J. Nick Koston
4955364948 Fix advantage_air disabled entity tests (#115548)
* Fix advantage_air disabled entity test

* fix both
2024-04-13 18:13:19 -04:00
J. Nick Koston
0b3627b59e Add additional cached_property to camera entities (#115075) 2024-04-13 16:50:11 -05:00
J. Nick Koston
dee99c764b Complete ESPHome media_player coverage (#114352) 2024-04-13 16:29:14 -05:00
J. Nick Koston
ee535ee611 Ensure test async_create_task eager start behavior matches production (#115517) 2024-04-13 15:58:52 -05:00
J. Nick Koston
d9617a8e3a Enable eager_start for weather platform update (#115496) 2024-04-13 15:56:14 -05:00
J. Nick Koston
0bd4064212 Update ollama config_flow task to use eager_start (#115455)
The test now adds a delay because it finished too fast
2024-04-13 16:54:21 -04:00
J. Nick Koston
f452c5b84e Add forecast subscription failure test case to nws (#115541) 2024-04-13 15:48:23 -05:00
J. Nick Koston
f1ac33c246 Fix unmocked remote socket calls in sunweg tests (#115546)
Fix unmocked calls in sunweg tests
2024-04-13 16:36:33 -04:00
J. Nick Koston
edd75a9d5f Fix race in TimestampDataUpdateCoordinator (#115542)
* Fix race in TimestampDataUpdateCoordinator

The last_update_success_time value was being set after the listeners
were fired which could lead to a loop because the listener may
re-trigger an update because it thinks the data is stale

* coverage

* docstring
2024-04-13 16:35:07 -04:00
J. Nick Koston
08e2b655be Migrate EntityRegistryDisabledHandler to use async_schedule_reload (#115544)
async_schedule_reload ensures that any setup retries are cancelled
before executing the reload. Its unlikely in this case but its
still possible
2024-04-13 16:30:59 -04:00
J. Nick Koston
1a8857aa2e Migrate homekit ffmpeg task to use eager_start (#115543) 2024-04-13 16:29:55 -04:00
J. Nick Koston
82d0f478a5 Hold the reload lock while attempting config entry setup retry (#115538) 2024-04-13 15:26:41 -05:00
J. Nick Koston
b9d4d0e15d Avoid removing websocket_api subscription in mobile_app teardown (#115540) 2024-04-13 15:24:46 -05:00
J. Nick Koston
008c42e282 Bump py-synologydsm-api to 2.4.2 (#115499)
Co-authored-by: mib1185 <mail@mib85.de>
2024-04-13 14:38:37 -05:00
Marc Mueller
64a4d52b3c Update pillow to 10.3.0 (#115524) 2024-04-13 18:26:33 +02:00
Robert Resch
68ba4d57d5 Remove unused CI code (#115300) 2024-04-13 17:24:02 +02:00
Jan Bouwhuis
197070486f Set up notify group with the notify services in test (#115526) 2024-04-13 17:10:16 +02:00
Jan Bouwhuis
36bdda5669 Migrate demo notify platform (#115448)
* Migrate demo notify platform

* Update homeassistant/components/demo/notify.py

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

* Remove no needed tests

* Cleanup redundant attribute assignment

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-04-13 14:27:07 +02:00
Joost Lekkerkerker
5e8b46c670 Make color extractor single config entry (#115016)
* Make color extractor single config entry

* Make color extractor single config entry

* Fix
2024-04-13 13:04:39 +02:00
Jan Bouwhuis
38c7b99aef Make legacy notify group tests independent of demo platform (#115494) 2024-04-13 12:58:31 +02:00
Marc Mueller
27f6a7de43 Revert mypy_config formatting (#115518) 2024-04-13 10:48:34 +02:00
Toni Korhonen
84a975b61e Add Balboa spa temperature range state control (high/low) (#115285)
* Add temperature range switch (high/low) to Balboa spa integration.

* Change Balboa spa integration temperature range control from switch to select

* Balboa spa integration: Fix ruff formatting

* Balboa spa integration: increase test coverage

* Balboa spa integration review fixes: Move instance attributes as class attributes. Fix code comments.
2024-04-13 10:44:02 +02:00
Jan Bouwhuis
127c27c9a7 Isolate legacy notify tests (#115470)
* Isolate legacy notify tests

* Rebase

* Refactor
2024-04-13 10:14:58 +02:00
Sid
223fefbbfa Enable Ruff RUF018 (#115485) 2024-04-13 09:56:33 +02:00
Sid
1a9ff8c8fa Ignore Ruff RUF015 (#115481) 2024-04-13 09:46:04 +02:00
J. Nick Koston
bb9330135d Fix race in influxdb test (#115514)
The patch was still too late in #115442

There is no good candidate to patch here since the late operation
is the error log that is being tested.

Patching the logger did not seem like a good idea so I went with
patching to wait for the error to be emitted since emit is the public
API of the log handler and was less likely to change
2024-04-13 09:13:01 +02:00
Jan Bouwhuis
76fefaafb0 Move out demo notify tests to the notify platform (#115504)
* Move test file

* Make independent of demo platform

* Restore tests for demo platform for coverage
2024-04-13 08:18:45 +02:00
J. Nick Koston
0d0b77c9e4 Remove eager_start=False from zeroconf (#115498) 2024-04-13 00:09:42 -05:00
J. Nick Koston
af2c381a0c Bump zeroconf to 0.132.2 (#115505) 2024-04-13 00:05:08 -05:00
J. Nick Koston
b9899a441c Bump zeroconf to 0.132.1 (#115501) 2024-04-12 14:13:06 -10:00
Sid
d74be6d5fe Set Ruff RUF001-003 to ignore (#115477) 2024-04-13 00:51:36 +02:00
Bram Kragten
f16ee2ded9 Update strict connection static page (#115473) 2024-04-12 23:35:59 +02:00
dontinelli
6eaf3402c6 Add re-auth-flow to fyta integration (#114972)
* add re-auth-flow to fyta integration

* add strings for reauth-flow

* resolve typing error

* update based on review comments

* Update homeassistant/components/fyta/config_flow.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* add async_auth

* adjustment based on review commet

* Update test_config_flow.py

* remove credentials

* Update homeassistant/components/fyta/config_flow.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update tests/components/fyta/test_config_flow.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update tests/components/fyta/test_config_flow.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update conftest.py

* Update test_config_flow.py

* Aktualisieren von conftest.py

* Update test_config_flow.py

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-12 20:33:24 +02:00
karwosts
77d1e2c812 Allow customizing display name for energy device (#112834)
* Allow customizing display name for energy device

* optional typing and comment
2024-04-12 20:31:51 +02:00
Brett Adams
b266224ccd Add diagnostics to Teslemetry (#115195)
* Add diag

* Add diag and tests

* Fix redaction

* Add another energy redact

* Review Feedback

* Update snapshot

* Fixed the wrong integration

* Fix snapshot again

* Update tests/components/teslemetry/test_diagnostics.py

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-12 20:27:38 +02:00
epenet
bea4c52d10 Ignore coverage for aiohttp_resolver backport helper (#115177)
* Ignore coverage for aiohttp_resolver backport helper

* Adjust generate to sort core items

* Adjust validate to sort core items

* Split line

* Apply suggestion

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>

* Fix suggestion

---------

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-04-12 16:33:05 +02:00
Sid
6d22dd073c Bump ruff to 0.3.7 (#115451)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-04-12 16:03:23 +02:00
Robert Resch
348e1df949 Add strict connection (#112387)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-12 14:47:46 +02:00
Franck Nijhof
efe91815fb 2024.4.3 (#115463) 2024-04-12 13:20:48 +02:00
Marc Mueller
f70ce8abf9 Fix ci Python cache key (#115467) 2024-04-12 13:11:24 +02:00
Franck Nijhof
62eee52aed Bump version to 2024.4.3 2024-04-12 12:00:16 +02:00
Bram Kragten
7f6514b03c Update frontend to 20240404.2 (#115460) 2024-04-12 11:59:53 +02:00
Santobert
2ed1cfd68d Bump pybotvac to 0.0.25 (#115435)
Bump pybotvac
2024-04-12 11:59:50 +02:00
Allen Porter
a455e142ac Fix bug in rainbird switch when turning off a switch that is already off (#115421)
Fix big in rainbird switch when turning off a switch that is already off

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 11:59:45 +02:00
Jessica Smith
5fa06e5a9c Bump whirlpool-sixth-sense to 0.18.8 (#115393)
bump whirlpool to 0.18.8
2024-04-12 11:59:42 +02:00
J. Nick Koston
4aca39b49e Fix deadlock in holidays dynamic loading (#115385) 2024-04-12 11:59:39 +02:00
jan iversen
d055f98736 Solve modbus test problem (#115376)
Fix test.
2024-04-12 11:59:35 +02:00
jan iversen
98bc7c0ed2 Secure against resetting a non active modbus (#115364) 2024-04-12 11:59:32 +02:00
J. Nick Koston
0d62e2e92a Bump bleak-retry-connector 3.5.0 (#115328) 2024-04-12 11:59:28 +02:00
J. Nick Koston
db5343164f Ensure automations do not execute from a trigger if they are disabled (#115305)
* Ensure automations are stopped as soon as the stop future is set

* revert script changes and move them to #115325
2024-04-12 11:59:24 +02:00
TheJulianJES
5c2e9142fa Bump zha-quirks to 0.0.114 (#115299) 2024-04-12 11:59:21 +02:00
Shay Levy
f941e5d5bb Fix Aranet failure when the Bluetooth proxy is not providing a device name (#115298)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 11:59:17 +02:00
Joost Lekkerkerker
150145c9b1 Bump yt-dlp to 2024.04.09 (#115295) 2024-04-12 11:59:14 +02:00
jan iversen
db2005d4ec Bump pymodbus v3.6.7 (#115279)
Bump pymodbus v3.6.7.
2024-04-12 11:59:11 +02:00
Stefan Agner
08bd269696 Support backup of add-ons with hyphens (#115274)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 11:59:07 +02:00
Klaas Schoute
5723ed28d3 Bump forecast-solar lib to v3.1.0 (#115272) 2024-04-12 11:59:04 +02:00
Allen Porter
14da34cd4d Fix Google Tasks parsing of remove responses (#115258) 2024-04-12 11:59:01 +02:00
J. Nick Koston
f284273ef6 Fix misssing timeout in caldav (#115247) 2024-04-12 11:58:57 +02:00
On Freund
fc60426213 Improve Risco exception logging (#115232) 2024-04-12 11:58:54 +02:00
On Freund
922cc81a62 Configurable maximum concurrency in Risco local (#115226)
* Configurable maximum concurrency in Risco local

* Show advanced Risco options in advanced mode
2024-04-12 11:58:50 +02:00
Mike Degatano
4c6fad8dc3 Add support for adopt data disk repair (#114891) 2024-04-12 11:58:46 +02:00
J. Nick Koston
733e2ec57a Bump aiohttp to 3.9.4 (#110730)
* Bump aiohttp to 3.9.4

This is rc0 for now but will be updated when the full release it out

* cleanup cruft

* regen

* fix tests (these changes are fine)

* chunk size is too small to read since boundry is now enforced

* chunk size is too small to read since boundry is now enforced
2024-04-12 11:55:52 +02:00
Bram Kragten
d59af22b69 Update frontend to 20240404.2 (#115460) 2024-04-12 11:50:22 +02:00
Jan Bouwhuis
a213de3db5 Add service schema tests for notify entity platform (#115457)
* Add service schema tests for notify entity platform

* Use correct entity

* Assert on exception value
2024-04-12 10:40:17 +02:00
J. Nick Koston
f3a3e6821b Switch imap push coordinator to use eager_start (#115454)
When I turned on eager_start here the data would always end up being
None because _async_update_data always returned None. To fix this
it now returns the value from the push loop. It appears this race
would happen in production so this may be a bugfix but since
I do not use this integration it could use a second set of eyes
2024-04-12 09:14:35 +02:00
Sid
9bf87329da Enable Ruff FLY002 rule (#115112)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-12 09:04:16 +02:00
Stefan Agner
35d3f2b29b Support backup of add-ons with hyphens (#115274)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 09:02:22 +02:00
Joost Lekkerkerker
adafdb2b2d Use enum device class in Netatmo health index sensor (#115409) 2024-04-12 08:40:27 +02:00
Joost Lekkerkerker
6cc2b1e10a Use enum device class in Netatmo wind direction (#115413)
* Use enum device class in Netatmo wind direction

* Use enum device class in Netatmo wind direction

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 08:39:59 +02:00
J. Nick Koston
fb5fc136e8 Avoid falling back to event loop import on ModuleNotFound (#115404) 2024-04-11 16:32:47 -10:00
J. Nick Koston
28bdbec14e Bypass ConfigEntry __setattr__ in __init__ (#115405)
ConfigEntries.async_initialize was trigger asyncio warnings because of the CPU time
to call __setattr__ for every variable for each ConfigEntry being loaded at startup
2024-04-11 22:16:01 -04:00
Allen Porter
c7cb0237d1 Fix bug in rainbird switch when turning off a switch that is already off (#115421)
Fix big in rainbird switch when turning off a switch that is already off

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-11 22:14:52 -04:00
Marc Mueller
1b24e78dd9 Improve FlowHandler menu_options typing (#115296) 2024-04-11 22:14:37 -04:00
Marc Mueller
a48f2803b2 Add py.typed file (#115446) 2024-04-11 22:14:10 -04:00
J. Nick Koston
e3680044fe Fix flakey influxdb test (#115442) 2024-04-11 13:26:03 -10:00
Luke Lashley
cfda8f64b4 Bump python-roborock to 2.0.0 (#115449) 2024-04-12 01:04:51 +02:00
J. Nick Koston
2e8f4743eb Fix flakey mobile app webhook test (#115447) 2024-04-11 12:17:01 -10:00
Sid
a093f943d7 Use library classes instead of namedtuple in ipma tests (#115372) 2024-04-12 01:03:10 +03:00
J. Nick Koston
137514edb7 Bump aiohttp to 3.9.4 (#110730)
* Bump aiohttp to 3.9.4

This is rc0 for now but will be updated when the full release it out

* cleanup cruft

* regen

* fix tests (these changes are fine)

* chunk size is too small to read since boundry is now enforced

* chunk size is too small to read since boundry is now enforced
2024-04-11 11:58:56 -10:00
Marc Mueller
db38da8eb8 Update pytest warnings filter (#115275) 2024-04-11 23:35:15 +02:00
J. Nick Koston
d9fc9f2e0c Convert async_setup calls for auth sub-modules to callback functions (#115443) 2024-04-11 11:22:50 -10:00
Santobert
c14f11fbf0 Bump pybotvac to 0.0.25 (#115435)
Bump pybotvac
2024-04-11 21:57:18 +02:00
TheJulianJES
6ba7a30cc8 Fix Codecov upload with token (#115384)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-11 09:51:09 -10:00
Allen Porter
6c1bc2a9f4 Reduce scope of diagnostics tests for rtsp_to_webrtc to not depend on global state (#115422) 2024-04-11 18:13:39 +02:00
Jessica Smith
f558121752 Bump whirlpool-sixth-sense to 0.18.8 (#115393)
bump whirlpool to 0.18.8
2024-04-11 16:26:05 +02:00
Jan Bouwhuis
10076e6523 Add notify entity component (#110950)
* Add notify entity component

* Device classes, restore state, icons

* Add icons file

* Add tests for kitchen_sink

* Remove notify from no_entity_platforms in hassfest icons, translation link

* ruff

* Remove `data` feature

* Only message support

* Complete initial device classes

* mypy pylint

* Remove device_class implementation

* format

* Follow up comments

* Remove _attr_supported_features

* Use setup_test_component_platform

* User helper at other places

* last comment

* Add entry unload test and non async test

* Avoid default mutable object in constructor
2024-04-11 12:04:08 +02:00
Steven B
df5d818c08 Make ring device generic in RingEntity (#115406)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-04-11 11:31:37 +02:00
Mike Degatano
5308e02c99 Add support for adopt data disk repair (#114891) 2024-04-11 11:23:10 +02:00
Steven B
6954fcc8ad Add strict typing to ring integration (#115276) 2024-04-11 10:10:56 +02:00
Jan Bouwhuis
3546ca386f Use freezer on diagnostics test (#115398)
* Use freezer on diagnostics test

* Patch correctly
2024-04-11 09:40:16 +02:00
Joost Lekkerkerker
4224234b7a Add binary sensor to Netatmo (#115119)
* Add binary sensor to Netatmo

* Update homeassistant/components/netatmo/binary_sensor.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Sigh

* Fix

* Fix

* Fix

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-04-11 07:46:07 +02:00
J. Nick Koston
d9b74fda89 Add PYTHONASYNCIODEBUG to the dev container env (#115392) 2024-04-11 07:26:30 +02:00
J. Nick Koston
f0c8c2a684 Adjust importlib helper to avoid leaking memory on re-raise (#115377) 2024-04-10 15:19:17 -10:00
J. Nick Koston
6bd6adc4f5 Avoid calling valid_entity_id when adding entities if they are already registered (#115388) 2024-04-10 15:18:47 -10:00
J. Nick Koston
288f3d84ba Fix duplicate automation entity state writes (#115386)
_async_attach_triggers was writing state, async_enable was
writing state, and all of them were called async_added_to_hass

After entity calls async_added_to_hass via add_to_platform_finish
it will also write state so there were some paths that
did it 3x

async_disable was also writing state when the entity was
removed
2024-04-10 21:15:21 -04:00
J. Nick Koston
e17c4ab4e3 Fix flakey tessie media_player test (#115391) 2024-04-10 14:18:11 -10:00
Jan Bouwhuis
be8adf9d29 Fix zha test by tweaking the log level (#115368) 2024-04-10 13:10:46 -10:00
J. Nick Koston
bbecb98927 Fix type on known_object_ids in _entity_id_available and async_generate_entity_id (#115378) 2024-04-10 11:44:25 -10:00
J. Nick Koston
9d7e20f9ca Fix deadlock in holidays dynamic loading (#115385) 2024-04-10 23:38:34 +02:00
On Freund
6394e25f75 Improve Risco exception logging (#115232) 2024-04-10 11:26:15 -10:00
jan iversen
220801bf1c Secure against resetting a non active modbus (#115364) 2024-04-10 22:09:10 +02:00
jan iversen
8d6473061c Solve modbus test problem (#115376)
Fix test.
2024-04-10 21:39:53 +02:00
Åke Strandberg
b99cdf3144 Add missing oauth2 error strings to myuplink (#115315)
Add some oauth2 error strings

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-10 17:52:08 +02:00
J. Nick Koston
63545ceaa4 Ensure automations do not execute from a trigger if they are disabled (#115305)
* Ensure automations are stopped as soon as the stop future is set

* revert script changes and move them to #115325
2024-04-10 08:42:18 -04:00
J. Nick Koston
f80894d56f Stop scripts with eager tasks (#115340) 2024-04-10 08:41:13 -04:00
Shay Levy
a6b93ea8ac Fix Aranet failure when the Bluetooth proxy is not providing a device name (#115298)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-10 14:58:35 +03:00
Joakim Sørensen
012509f683 Add documentation link for custom integrations in diagnostics (#115336)
* Add documentation link for custom integrations in diagnostics

* Enable custom integrations in test_download_diagnostics
2024-04-10 11:36:25 +02:00
Marc Mueller
8aa3ea575f Update pytest-xdist to 3.5.0 (#111266) 2024-04-10 08:56:08 +02:00
Sid
3efee10b95 Enable Ruff RUF013 (#115333) 2024-04-10 08:55:59 +02:00
Joost Lekkerkerker
7e1a5b19c4 Add entity translations to Netatmo (#115104)
* Add entity translations to Netatmo

* Yes

* Remove

* Fix name
2024-04-10 08:50:27 +02:00
Sid
d61db732da Enable Ruff SLOT rules (#115043) 2024-04-09 18:57:27 -10:00
Collin Fair
0636ba340c Fix flakiness of test_measure_sliding_window (#115322) 2024-04-09 18:28:06 -10:00
J. Nick Koston
2fdb420d1a Bump bleak-retry-connector 3.5.0 (#115328) 2024-04-09 18:04:52 -10:00
Marc Mueller
2decf6c023 Use dict instead of MutableMapping [recorder] (#115318) 2024-04-09 15:08:31 -10:00
Marc Mueller
d8c8d1a297 Use dict instead of MutableMapping [extra_state_attributes] (#115319) 2024-04-09 15:06:11 -10:00
Luke Lashley
968de08e4b Bump python-roborock to 1.0.0 (#115324)
* refactor base code

* refactor tests code
2024-04-09 20:50:46 -04:00
Jan-Philipp Benecke
fa3cba5b87 Bump codecov/codecov-action to v4.3.0 (#115317) 2024-04-09 12:15:30 -10:00
J. Nick Koston
f527fd0947 Improve error reporting when an integration tries to create a task in a thread (#115307) 2024-04-09 11:11:22 -10:00
TheJulianJES
6ed2190c29 Bump zha-quirks to 0.0.114 (#115299) 2024-04-09 15:22:46 -04:00
Joost Lekkerkerker
076e6ce6e6 Bump yt-dlp to 2024.04.09 (#115295) 2024-04-09 21:10:22 +02:00
J. Nick Koston
469b01bd64 Migrate apple_tv to use async_schedule_reload (#115241) 2024-04-09 07:05:23 -10:00
J. Nick Koston
d2a3473454 Migrate elkm1 to use async_schedule_reload (#115240) 2024-04-09 07:05:09 -10:00
J. Nick Koston
11af7d91ff Optimize _async_track_event for the single key common case (#115242) 2024-04-09 07:04:50 -10:00
J. Nick Koston
1de1e413a9 Migrate script entities to use more shorthand attrs (#115245) 2024-04-09 07:04:32 -10:00
J. Nick Koston
59d92f16bd Use shorthand attributes in automation for name (#115246) 2024-04-09 07:04:12 -10:00
J. Nick Koston
f8aec03c03 Migrate hyperion to use async_update_reload_and_abort (#115238) 2024-04-09 18:37:01 +02:00
Joost Lekkerkerker
763df83cdb Remove Nextbus YAML import (#115277) 2024-04-09 18:34:35 +02:00
Joost Lekkerkerker
e7c247f1f0 Remove Twitch YAML import (#115278) 2024-04-09 18:34:29 +02:00
Klaas Schoute
d2dcf04946 Bump forecast-solar lib to v3.1.0 (#115272) 2024-04-09 18:34:04 +02:00
Paulus Schoutsen
2df6f1849f Add OpenAI conversation entity (#114942)
* Add OpenAI conversation entity

* Add migration
2024-04-09 11:10:03 -04:00
jan iversen
51d5d51248 Bump pymodbus v3.6.7 (#115279)
Bump pymodbus v3.6.7.
2024-04-09 17:09:55 +02:00
Jesse Hills
68384bba67 Send/receive Voice Assistant audio via ESPHome native API (#114800)
* Protobuf audio test

* Remove extraneous code

* Rework voice assistant pipeline

* Move variables

* Fix reading flags

* Dont directly put to queue

* Bump aioesphomeapi to 24.0.0

* Update tests

- Add more tests for API pipeline
- Convert some udp tests to use api pipeline
- Update fixtures for new device info flags

* Fix bad merge

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-04-09 10:55:59 -04:00
konsti
cad4c3c0c2 Remove pip jemalloc config from dockerfile (#115206) 2024-04-09 15:08:55 +02:00
pleum
7bf2baa236 Add additional Vital 100S model to vesync (#113838) 2024-04-09 10:18:37 +01:00
Steven B
4cd2351bcc Update and migrate ring non string unique ids (#115265)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-08 23:08:46 -10:00
Joost Lekkerkerker
80450adb1a Remove Epson Workforce integration (#115201)
* Remove Epson Workforce integration

* Remove Epson Workforce integration
2024-04-09 10:38:17 +02:00
Steven B
bf3eb463ae Wrap tplink exceptions caused by user actions inside HomeAssistantError (#114919) 2024-04-08 22:35:25 -10:00
Steven B
0a57641f3f Bump ring_doorbell library to 0.8.11 (#115263) 2024-04-08 22:12:50 -10:00
On Freund
a852a38d24 Configurable maximum concurrency in Risco local (#115226)
* Configurable maximum concurrency in Risco local

* Show advanced Risco options in advanced mode
2024-04-09 09:59:27 +02:00
Robert Contreras
af7d0187cb Add tests to Home Connect integration (#114214)
* Add tests to Home Connect integration

* Fix misspelling

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

* Changes to tests with properly setup fixtures.

* Consolidated api tests, patched library instead of code

* Consolidate sensor edge cases, switch mock assertion to call_count

* Adjust assertion

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-09 08:52:39 +02:00
Allen Porter
4a7a22641e Fix Google Tasks parsing of remove responses (#115258) 2024-04-09 07:39:31 +02:00
Marc Mueller
d4500cf945 Improve recorder event typing (#115253) 2024-04-08 14:56:18 -10:00
J. Nick Koston
4e983d710f Fix misssing timeout in caldav (#115247) 2024-04-08 11:09:18 -10:00
J. Nick Koston
aa85e59c6f Migrate group to use shorthand attributes for name and icon (#115244) 2024-04-08 11:05:56 -10:00
J. Nick Koston
95958ac0ef Increase discovery flow init concurrency limit to 20 (#115230) 2024-04-08 11:05:40 -10:00
Jan-Philipp Benecke
44f8dbf86b Fix failing escea test in connection with greeneye_monitor (#115237)
* Fix failing escea test in connection with greeneye_monitor

* typing
2024-04-08 22:11:14 +02:00
J. Nick Koston
ca5ed274cb Deprecate calling async_listen and async_listen_once with run_immediately (#115169) 2024-04-08 10:07:54 -10:00
Luke Lashley
5ef42078a3 Add a service to get maps for Roborock (#111478)
* add service to get rooms

* fix linting

* add snapshot

* change map id
2024-04-08 21:40:59 +02:00
Sid
9cbed10372 Enable Ruff PYI041 (#115229) 2024-04-08 09:29:05 -10:00
Sid
cbbadf6256 Enable Ruff PYI036 (#115228) 2024-04-08 08:47:03 -10:00
Sergio Conde Gómez
f114ebd79d Remove @skgsergio from foscam and qingping codeowners (#115210) 2024-04-08 08:46:22 -10:00
Marc Mueller
4e94f11665 Use EventType for entity_registry_updated (#115187) 2024-04-08 08:44:59 -10:00
Sid
025c6f5e2e Add __slots__ to NodeClass classes (#115079)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-08 08:44:18 -10:00
J. Nick Koston
266e4f0c8b Migrate rfxtrx to use run_immediately=True for the device registry listener (#115165) 2024-04-08 08:29:27 -10:00
Marc Mueller
2fc0d8494d Use EventType for device_registry_updated (#115188) 2024-04-08 08:25:57 -10:00
Marc Mueller
0d18679c8f Use EventType for remaining registry events (#115189) 2024-04-08 08:25:39 -10:00
Marc Mueller
6116f11e6c Use EventType for system events (#115190) 2024-04-08 08:25:34 -10:00
Marc Mueller
a52a80f806 Always include old_state in EventStateChangedData [tests] (#115098) 2024-04-08 08:25:22 -10:00
Thomas55555
017b2fe685 Change scan interval for Husqvarna Automower (#115225)
* Change scan interval for Husqvarna Automower

* Also use const
2024-04-08 20:22:09 +02:00
Luca Angemi
fc1ebdaaa3 Add config message items selector to imap option flow (#115108)
* Update const.py

* Update config_flow.py

* Update coordinator.py

* Update coordinator.py

* Update strings.json

* Update config_flow.py

* Update const.py

* Update coordinator.py

* Update config_flow.py

* Update config_flow.py

* Update test_diagnostics.py

* Update const.py

* Update test_init.py

* Update test_diagnostics.py

* Update test_diagnostics.py

* Update test_diagnostics.py

* Update test_init.py

* Update test_diagnostics.py

* Update test_init.py

* Update test_diagnostics.py

* Update test_diagnostics.py

* Update test_diagnostics.py

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update test_init.py

* Update const.py

* Only make text and headers optional

* Add message data tests

* Add message data test

* Update test_config_flow.py

* Update test message data

* Fix ruff

* Fix ruff

* Update test_init.py

* Update strings.json

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-08 19:34:50 +02:00
Kim de Vos
f23e48f373 Add sensor for CPU and memory utilization for unifi device (#114986)
Add system stats to unifi device sensors
2024-04-08 19:29:54 +02:00
Paulus Schoutsen
f9a7e6bb9f Add migration logic to assist_pipeline (#115172) 2024-04-08 11:29:55 -04:00
Illia
cbaef096fa Add Arve integration (#113156)
* add Arve integration

* Update homeassistant/components/arve/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Various fixes, changed scan interval to one minute

* coordinator implementation

* Code cleanup

* Moved device info to the entity.py, ArveDeviceEntityDescription to sensor.py

* delete refresh before adding entities

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update tests/components/arve/test_config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update tests/components/arve/conftest.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Changed value_fn in sensors.py, added typing to description

* Code cleanups, platfrom test implementation

* New code cleanups, first two working tests

* Created platform test, generated snapshots

* Reworked integration to get all of the customer devices

* new fixes

* Added customer id, small cleanups

* Logic of setting unique_id to the config flow

* Added test of abortion on duplicate config_flow id

* Added "available" and "device" properties fro ArveDeviceEntity

* small _attr_unique_id fix

* Added new test, improved mocking, various fixes

* Various cleanups and fixes

* microfix

* Update homeassistant/components/arve/strings.json

* ruff fix

---------

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-08 17:24:32 +02:00
Sid
376aafc83e Enable Ruff INP001 (#115082) 2024-04-08 15:43:58 +02:00
Sid
f8b6629b26 Enable Ruff PGH rules (#115091) 2024-04-08 15:42:22 +02:00
Erwin Douna
85b453b86c Fix Downloader test cases and error title (#114847)
* Fix test cases

* Return value

* isdir change

* FIx test cases and error title

* Removing patch

* Tiny needless fine-tuning
2024-04-08 15:28:07 +02:00
Jan Bouwhuis
d9dada4fb3 Remove condition from ecobee humidifier attribute test (#115197)
Remove conditions from ecobee humidifier attribute test
2024-04-08 14:33:24 +02:00
Franck Nijhof
04072cb3c1 2024.4.2 (#115186) 2024-04-08 14:17:03 +02:00
Marc Mueller
53b4fd419a Update build system dependencies (#115102) 2024-04-08 11:18:20 +02:00
dependabot[bot]
c5f05908d7 Bump github/codeql-action from 3.24.9 to 3.24.10 (#115179) 2024-04-08 10:46:25 +02:00
Franck Nijhof
05082fcceb Bump version to 2024.4.2 2024-04-08 10:41:50 +02:00
gibwar
8c0b44d6d5 Only reset requested utility meter with no tariff (#115170) 2024-04-08 10:41:41 +02:00
J. Nick Koston
9a342f87c0 Avoid checking for polling if an entity fails to add (#115159)
* Avoid checking for polling if an entity fails to add

* no need to do protected access

* no need to do protected access

* no need to do protected access

* no need to do protected access

* coverage

* fix test

* fix

* broken one must be first
2024-04-08 10:41:38 +02:00
J. Nick Koston
d062ef357b Write timer entity state before firing events (#115151) 2024-04-08 10:41:35 +02:00
rappenze
265d04c593 Fix fibaro sensor additional sensor lookup (#115148) 2024-04-08 10:41:32 +02:00
dontinelli
fc9653581a Bump fyta_cli to 0.3.5 (#115143)
bump fyta_cli to 0.3.5
2024-04-08 10:41:29 +02:00
dontinelli
7bea6eface improve handling of incorrect values in fyta integration (#115134)
* improve handling of incorrect values

* Changes based on review comment

* Apply suggestions from code review

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

* update value_fn

* ruff

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-08 10:41:26 +02:00
J. Nick Koston
19f3ef763d Terminate scripts with until and while conditions that execute more than 10000 times (#115110) 2024-04-08 10:41:23 +02:00
Maikel Punie
fa88975055 Bump velbus-aio to 2024.4.1 (#115109)
bump velbusaio to 2024.4.1
2024-04-08 10:41:19 +02:00
Joakim Sørensen
1322f38911 Downgrade hass-nabucasa from 0.80.0 to 0.78.0 (#115078) 2024-04-08 10:40:42 +02:00
J. Nick Koston
75127105b9 Fix synology_dsm availablity (#115073)
* Remove reload on update failure from synology_dsm

fixes #115062

The coordinator will retry on its own later, there is no
reason to reload here.  This was added in #42697

* fix available checks
2024-04-08 10:34:59 +02:00
Matthias Alphart
d6793a756f Update xknxproject to 3.7.1 (#115053) 2024-04-08 10:34:55 +02:00
Matrix
20e88255df Bump yolink-api to 0.4.2 (#115026) 2024-04-08 10:34:52 +02:00
Maciej Bieniek
2f9f1008a5 Bump brother to version 4.1.0 (#115021)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-08 10:34:49 +02:00
J. Nick Koston
90bc21b7f6 Fix dictionary changed size during iteration in prometheus (#115005)
Fixes #104803
2024-04-08 10:34:45 +02:00
Øyvind Matheson Wergeland
b29eb317bd Upgrade to pynobo 1.8.1 (#114982)
pynobo 1.8.1
2024-04-08 10:34:42 +02:00
Joost Lekkerkerker
dcd9d987a7 Filter out fuzzy translations from Lokalise (#114968) 2024-04-08 10:34:38 +02:00
Robert Svensson
e26ea40570 Bump axis to v61 (#114964) 2024-04-08 10:34:35 +02:00
Joost Lekkerkerker
0a2d79f63e Fix Snapcast Config flow (#114952) 2024-04-08 10:34:31 +02:00
Nathan Spencer
d1b1d6388f Bump pylitterbot to 2023.4.11 (#114918) 2024-04-08 10:34:28 +02:00
Benjamin
93569e3827 Fix missing if statement in homematic (#114832)
* homematic fix issue #114807

Update climate.py

* Update homeassistant/components/homematic/climate.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-08 10:34:24 +02:00
Niccolò Maggioni
61a359e4d2 Fix hang in SNMP device_tracker implementation (#112815)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-08 10:34:20 +02:00
gibwar
e403b50ddc Only reset requested utility meter with no tariff (#115170) 2024-04-08 10:05:46 +02:00
Niccolò Maggioni
f06b00c6d8 Fix hang in SNMP device_tracker implementation (#112815)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-08 10:04:59 +02:00
Joost Lekkerkerker
ecda6b70ff Filter out fuzzy translations from Lokalise (#114968) 2024-04-08 10:04:16 +02:00
Jan Bouwhuis
8b5177e989 Add IMAP fetch service (#115127)
* Add IMAP fetch service

* Fix docstr
2024-04-08 09:50:28 +02:00
Brett Adams
1cace9a609 Add reauth to Teslemetry (#114726)
* Add reauth

* Add tests

* PARALLEL_UPDATES

* Bump quality to platinum

* Fix assertion

* Remove quality

* Remove async_create_task

* Review Feedback

* Remove loop inside parametrize

* Change config during reauth

* Fix missing return
2024-04-08 09:44:51 +02:00
Richard Kroegel
16fc935c87 Refactor BMW entity availability (#110294)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-04-08 09:26:50 +02:00
MarkGodwin
487480dc88 Address late review of TP-Link Omada (#115121)
tplink_omada implement feedback from #114138
2024-04-08 06:26:20 +02:00
Federico D'Amico
111ffdd77e Improve microBees code quality (#114939)
microBees code quality
2024-04-08 05:35:46 +02:00
J. Nick Koston
3daecc7a31 Remove remaining run_immediately=False from tests (#115168) 2024-04-07 16:47:41 -10:00
J. Nick Koston
9ef28f83ea Switch async_track_state_change to use run_immediately (#115164) 2024-04-07 16:38:25 -10:00
J. Nick Koston
1fd5f64dcc Migrate matrix to use run_immediately for start listener (#115167)
* Migrate matrix to use run_immediately for start listener

* Migrate matrix to use run_immediately for start listener
2024-04-07 22:30:54 -04:00
J. Nick Koston
af1023074e Add an event_filter to google_assistant state reporting (#115160)
* adjust

* fix test since it happens sooner now

* remove debug

* remove unneeded test change

* reduce

* reduce
2024-04-07 21:30:03 -04:00
J. Nick Koston
89a2c89fe2 Avoid checking for polling if an entity fails to add (#115159)
* Avoid checking for polling if an entity fails to add

* no need to do protected access

* no need to do protected access

* no need to do protected access

* no need to do protected access

* coverage

* fix test

* fix

* broken one must be first
2024-04-07 21:25:55 -04:00
J. Nick Koston
6b4457043d Deprecate async_add_hass_job (#115061) 2024-04-07 14:08:25 -10:00
rappenze
f044dd54cf Bump fibaro to 0.7.7 (#115152) 2024-04-07 13:49:20 -10:00
J. Nick Koston
213cf76781 Fix flakey fritz image test (#115161) 2024-04-07 13:46:38 -10:00
Mick Vleeshouwer
94a2352b41 Bump pyoverkiz to 1.13.10 (#115154) 2024-04-07 13:39:11 -10:00
Marc Mueller
a0e6fd6ec5 Add improved typing for event fire and listen methods (#114906)
* Add EventType implementation

* Update integrations for EventType

* Change state_changed to EventType

* Fix tests

* Remove runtime impact

* Add tests

* Move to stub file

* Apply pre-commit to stub files

* Fix ruff PYI checks

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-07 13:28:24 -10:00
J. Nick Koston
d007b175c5 Write timer entity state before firing events (#115151) 2024-04-07 12:51:59 -10:00
Pete Sage
f96c5a2905 Add additional Sonos integration code-owner (#115157) 2024-04-07 12:51:44 -10:00
Matrix
3a28125470 Bump yolink-api to 0.4.2 (#115026) 2024-04-07 11:31:52 -10:00
Sid
8e98ba7312 Add first batch of Ruff PYI rules (#115100)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-07 11:30:50 -10:00
J. Nick Koston
569f54d8e3 Terminate scripts with until and while conditions that execute more than 10000 times (#115110) 2024-04-07 11:02:53 -10:00
rappenze
771fe57e32 Fix fibaro sensor additional sensor lookup (#115148) 2024-04-07 10:53:30 -10:00
dontinelli
05440ec04c Bump fyta_cli to 0.3.5 (#115143)
bump fyta_cli to 0.3.5
2024-04-07 21:38:13 +02:00
dontinelli
80ec9d4394 improve handling of incorrect values in fyta integration (#115134)
* improve handling of incorrect values

* Changes based on review comment

* Apply suggestions from code review

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

* update value_fn

* ruff

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-07 21:07:51 +02:00
Joost Lekkerkerker
9ec4e9a1a9 Remove Color extractor import flow (#115015)
* Remove Color extractor import flow

* Remove Color extractor import flow
2024-04-07 19:38:56 +02:00
Maikel Punie
3239351f18 Bump velbus-aio to 2024.4.1 (#115109)
bump velbusaio to 2024.4.1
2024-04-07 19:32:15 +02:00
Jan Bouwhuis
c270ab0059 Correct duplicate word in IMAP translations (#115132) 2024-04-07 19:29:19 +02:00
wittypluck
63d43a9384 Add Glances network sensors (#114546)
* Add Glances network sensors

* Add unit test for network and remove unused MOCK_DATA

* Add network icons
2024-04-07 16:01:00 +02:00
Joost Lekkerkerker
32d62e477a Add entity translations to Bluemaestro (#102424)
* Add entity translations to Bluemaestro

* Fix

* yes
2024-04-07 15:54:22 +02:00
J. Nick Koston
5630b3611d Add an event filter to the alexa state report state change listener (#115076)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-04-07 03:14:18 -10:00
Tobias Sauerwein
f617000920 Add device removal capability for Netatmo (#107630)
* Add device removal capability for Netatmo

* Update tests/components/netatmo/test_init.py

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

* Update tests/components/netatmo/test_init.py

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

* Update tests/components/netatmo/test_init.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-07 15:10:00 +02:00
Álvaro Fernández Rojas
d4d06c0bc3 Add Water Heater support for Airzone Cloud (#115097)
* airzone_cloud: add Water Heater support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* run CI

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-04-07 15:07:40 +02:00
fhoekstra
e4fbe539aa Add GPU sensor to Glances (#106322)
* feat: add GPU sensor to Glances

* Add translations to Glances GPU sensor

* Fix translations of GPU processor and memory usage

* PR feedback: move icons to icons.json

thanks to @wittypluck

* Update glances snapshot with added GPU

* Remove JSON trailing comma

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

* Limit precision of Glance GPU mem usage sensor

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

* Clean up outdated snapshots

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-07 15:05:22 +02:00
Joost Lekkerkerker
1b07d3ecfa Enable entities in Netatmo snapshot test (#115105) 2024-04-07 14:38:40 +02:00
Joakim Sørensen
df6997bfa9 Downgrade hass-nabucasa from 0.80.0 to 0.78.0 (#115078) 2024-04-07 08:20:58 -04:00
Joost Lekkerkerker
021eed66f3 Add more base entities to netatmo (#107862)
* Rename netatmo base entity file

* Add more Netatmo base entities

* Add more Netatmo base entities

* Add more Netatmo base entities

* Add more Netatmo base entities

* Apply suggestions from code review

* Add more Netatmo base entities

* Add snapshot tests to Netatmo platforms

* Add snapshot tests to Netatmo platforms

* Fix snapshots

* Fix tests

* Update snapshots

* Add fans

* Add fans

* Update homeassistant/components/netatmo/select.py

Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>

* Add snapshot tests to Netatmo platforms

* Update snapshots

* minor clean up

* Fix tests

* Fix

* Fix

* Fix

* Move dot split to weather station sensors

---------

Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>
Co-authored-by: Tobias Sauerwein <cgtobi@gmail.com>
2024-04-07 13:36:12 +02:00
Joost Lekkerkerker
9f2fa7ec19 Add snapshot tests to Bluemaestro (#115094) 2024-04-07 13:19:40 +02:00
J. Nick Koston
32004973c8 Simplify invalidating the User cache (#115074) 2024-04-07 12:17:18 +02:00
J. Nick Koston
f2fe2c4510 Fix synology_dsm availablity (#115073)
* Remove reload on update failure from synology_dsm

fixes #115062

The coordinator will retry on its own later, there is no
reason to reload here.  This was added in #42697

* fix available checks
2024-04-07 10:54:40 +02:00
J. Nick Koston
b456a212eb Fix flakey tests using the _get_diagnostics_for_config_entry helper (#115069) 2024-04-06 21:58:23 -10:00
Marc Mueller
cb9352110c Improve registry store data typing (#115066) 2024-04-06 14:34:49 -10:00
J. Nick Koston
a0936902c2 Use identity checks for EntityPlatformState enum (#115067) 2024-04-07 02:31:23 +02:00
J. Nick Koston
164d29d4d9 Remove prepare override in HomeAssistantQueueHandler (#115064) 2024-04-06 13:53:36 -10:00
Marc Mueller
8324fd5d1d Deprecated old backports and typing aliases (#114883) 2024-04-06 13:15:30 -10:00
J. Nick Koston
8e645c9b32 Fix flakey cast discovery test (#115063) 2024-04-06 13:15:14 -10:00
Pete Sage
553c147933 Fix sonos switch test failures (#115052) 2024-04-06 12:51:21 -10:00
Avi Miller
6f783d75bc Bump aiolifx to 1.0.2 and aiolifx-themes to 0.4.15 (#115059) 2024-04-06 12:48:37 -10:00
J. Nick Koston
c4b5a7c027 Migrate start helper to use run_immediately (#115055) 2024-04-06 12:35:46 -10:00
wittypluck
3ef2c464ac Add Glances DiskIO read/write sensors (#114933) 2024-04-07 00:13:02 +02:00
Kevin Stillhammer
cce8e4839a Add reconfigure step for waze_travel_time (#114885)
* Add reconfigure step for waze_travel_time

* Add reconfigure_successful string

* Update tests/components/waze_travel_time/test_config_flow.py

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-07 00:06:30 +02:00
William Easton
ed451cab3b Update Ambient Weather to include Lightning Strike Time and Distance (#114255)
* Update sensor.py to include Lightning Distance

* Update strings.json to include Lightning Strikes distance

* Update homeassistant/components/ambient_station/sensor.py

* Update homeassistant/components/ambient_station/strings.json

* Update device class lightning distance

* Also add Last Lightning strike datetime

---------

Co-authored-by: Aaron Bach <bachya1208@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-06 23:39:43 +02:00
Steven Looman
78bb21138c Remove @StevenLooman from dlna_dmr codeowners (#115028)
* Remove myself from dlna_dmr codeowners

* Update codeowners file

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-04-06 23:38:05 +02:00
Álvaro Fernández Rojas
9a1b0874fd Update aioairzone-cloud to v0.5.1 (#115029)
* Update aioairzone-cloud to v0.5.1

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone_cloud: fix diagnostics

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-04-06 23:37:22 +02:00
J. Nick Koston
29bc67234e Make eager_start default to True for config entry async_create_task (#115047) 2024-04-06 11:22:02 -10:00
Matthias Alphart
2290362dfb Update xknxproject to 3.7.1 (#115053) 2024-04-06 23:18:52 +02:00
Maciej Bieniek
b0fd3d0b89 Bump brother to version 4.1.0 (#115021)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-06 11:09:46 -10:00
J. Nick Koston
52957849cf Make eager_start default to True for config entry async_create_background_task (#115050) 2024-04-06 10:59:24 -10:00
J. Nick Koston
166910f587 Make eager_start default to True for async_create_background_task (#114996) 2024-04-06 09:53:50 -10:00
Marc Mueller
8f425b9ea7 Improve generic event typing [recorder] (#114736) 2024-04-06 21:35:42 +02:00
Jan Bouwhuis
2e3cb1a767 Correct changes hassfest coverage backports (#115044) 2024-04-06 21:17:44 +02:00
J. Nick Koston
c33a234048 Make eager_start default to True for async_create_task (#114995) 2024-04-06 09:15:40 -10:00
Jan Bouwhuis
fa47e79292 Correct typo in IMAP translation (#115032) 2024-04-06 18:37:54 +02:00
mkmer
7f8341e03a Deprecate aux heat from Honeywell (#114110)
* Remove aux heat

* Add switch entity for emheat

* Optimized async_setup_entry

* Fix errors in comments

* Fix new ruff failuer

* Use constant for EM

* Protect EM mode - must be in heat to turn on/off

* Restore aux_heat

* Add repair issue

* Add missing place holder to issue

* Better placeholder "option"
2024-04-06 17:22:56 +02:00
larsvinc
a5c82f3713 Add adax on/off functionality for local heaters (#114557)
* Add adax on/off functionality for local heaters

* Fixed ruff / newline

* Ran Ruff

* Update homeassistant/components/adax/climate.py

Removed unecessary return

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/adax/climate.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/adax/climate.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Fixed bug with internal temperature state.

* Apply suggestions from code review

Added target_temp for code clarity

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-06 17:09:48 +02:00
Joost Lekkerkerker
57cc3495c2 Sort coveragerc again (#115017)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-06 15:51:56 +02:00
Joost Lekkerkerker
b743a86aa9 Refactor Vilfo tests (#115020)
* Refactor Vilfo tests

* Patch is_host_valid
2024-04-06 15:48:52 +02:00
Marc Mueller
81d682874f Update typing extensions to 4.11.0 (#114985) 2024-04-06 14:23:32 +02:00
Marc Mueller
856567d674 Improve generic event typing [google_pubsub] (#114731) 2024-04-06 14:20:31 +02:00
Marc Mueller
bf0309a722 Improve generic event typing [mqtt_statestream] (#114732) 2024-04-06 14:19:39 +02:00
Marc Mueller
e0f5559c8f Improve generic event typing [EventComponentLoaded] (#114739) 2024-04-06 14:18:03 +02:00
Marc Mueller
fa7da34298 Improve generic event typing [tasmota] (#114737) 2024-04-06 14:16:25 +02:00
Joost Lekkerkerker
bf142aef5f Fix ruff error (#115023) 2024-04-06 14:13:20 +02:00
Marc Mueller
289700dcf5 Improve generic event typing [device_tracker] (#114730) 2024-04-06 14:01:05 +02:00
Marc Mueller
7898bdcd4e Improve generic event typing [conversation] (#114729) 2024-04-06 14:00:13 +02:00
Marc Mueller
d24cf9e4ec Improve generic event typing [cloud] (#114728) 2024-04-06 13:59:12 +02:00
Marc Mueller
082af6e0ae Improve generic event typing [voip] (#114738) 2024-04-06 13:57:09 +02:00
Øyvind Matheson Wergeland
fdef3ece13 Fix placeholder quotes (#114974)
* When quoting placeholders, always use double quotes so Lokalise recognizes the placeholder.

* Ensure that strings does not contain placeholders in single quotes.

* Avoid redefining value

* Moved string_with_no_placeholders_in_single_quotes

* Define regex once

* Fix tests
2024-04-06 13:01:56 +02:00
Álvaro Fernández Rojas
bd9070be11 Update aioairzone-cloud to v0.5.0 (#114928) 2024-04-06 12:24:00 +02:00
wittypluck
0ccd334608 Update glances-api to 0.6.0 (#114929) 2024-04-06 12:20:00 +02:00
Nathan Spencer
6594d022ba Bump pylitterbot to 2023.4.11 (#114918) 2024-04-06 12:16:00 +02:00
Joost Lekkerkerker
d9573bb7dc Move Color extractor service to async_setup (#115013) 2024-04-06 12:06:16 +02:00
J. Nick Koston
b6d0c9d1c3 Migrate proximity to use async_track_state_change_event (#115002) 2024-04-06 12:00:30 +02:00
J. Nick Koston
34bf4dc962 Migrate generic_hygrostat to use async_track_state_change_event (#115001) 2024-04-06 11:57:30 +02:00
J. Nick Koston
7d5b39b9de Fix dictionary changed size during iteration in prometheus (#115005)
Fixes #104803
2024-04-06 11:50:29 +02:00
Steven B
e85b9faa00 Bump ring_doorbell to 0.8.10 (#114865) 2024-04-06 11:49:30 +02:00
Sid
0d66d298ec Enable Ruff RET504 (#114528)
* Enable Ruff RET504

* fix test

* Use noqa instead of cast

* fix sonos RET504

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-06 11:07:37 +02:00
Claudio Ruggeri - CR-Tech
a28731c294 Add Swing Mode Feature to Modbus integration (#113710) 2024-04-06 11:01:44 +02:00
Øyvind Matheson Wergeland
c3942a7d44 Upgrade to pynobo 1.8.1 (#114982)
pynobo 1.8.1
2024-04-06 09:38:14 +02:00
Robert Svensson
48b281a581 Bump axis to v61 (#114964) 2024-04-06 09:01:55 +02:00
lunmay
0e202770e3 Brand name typo in swiss_public_transport (#115000) 2024-04-06 08:12:44 +02:00
J. Nick Koston
f497c461ed Switch to using the AsyncResolver with aiohttp (#114529)
* Bump aiodns to 3.2.0

changelog: https://github.com/saghul/aiodns/compare/v3.1.1...v3.2.0

* Switch to using the AsyncResolver with aiohttp

This avoids creating executor jobs to do DNS resolution

AsyncResolver was not usable before https://github.com/aio-libs/aiohttp/pull/8270
because it did not fallback to fallback to A records and only returned AAAA records
in most cases when IPv6 was available

This is a backport of https://github.com/aio-libs/aiohttp/pull/8270

* Switch to using the AsyncResolver with aiohttp

This avoids creating executor jobs to do DNS resolution

AsyncResolver was not usable before https://github.com/aio-libs/aiohttp/pull/8270
because it did not fallback to fallback to A records and only returned AAAA records
in most cases when IPv6 was available

This is a backport of https://github.com/aio-libs/aiohttp/pull/8270

* Switch to using the AsyncResolver with aiohttp

This avoids creating executor jobs to do DNS resolution

AsyncResolver was not usable before https://github.com/aio-libs/aiohttp/pull/8270
because it did not fallback to fallback to A records and only returned AAAA records
in most cases when IPv6 was available

This is a backport of https://github.com/aio-libs/aiohttp/pull/8270

* Switch to using the AsyncResolver with aiohttp

This avoids creating executor jobs to do DNS resolution

AsyncResolver was not usable before https://github.com/aio-libs/aiohttp/pull/8270
because it did not fallback to fallback to A records and only returned AAAA records
in most cases when IPv6 was available

This is a backport of https://github.com/aio-libs/aiohttp/pull/8270

* fixes

* fix mocking in next_dns

* fix unmocked calls in blink

* more mocking fixes

* more fixes

* more fixes

* Fix missing mocking in nextdns tests

extracted from #114539

* extract from context
2024-04-05 23:15:51 -04:00
J. Nick Koston
9c27e632fb Switch configurator to use async_run_hass_job (#114993) 2024-04-05 17:02:58 -10:00
J. Nick Koston
657bc969a3 Improve performance of system_log traceback handling (#114992) 2024-04-05 16:47:17 -10:00
J. Nick Koston
90bbfdd53c Migrate torque to use async platform setup (#114994) 2024-04-05 22:41:37 -04:00
J. Nick Koston
fb98a6f026 Make run_immediately the default for core EventBus listeners (#113752)
* DNM: Make run_immediately the default for listeners

This is a test to see how much progress we have made twords this goal

https://github.com/home-assistant/core/pull/113727#issuecomment-2004587947

* fix shutdown

* Revert "fix shutdown"

This reverts commit a8969d7db9.

* set false since it break utility meter tests

* one more

* fix rfxtrx test

* test needs to be explict now

* fix matrix

* fail sooner
2024-04-05 22:14:20 -04:00
J. Nick Koston
bf5cf382dc Avoid useless stat() syscalls for every logger record (#114987)
* Avoid useless stat() syscalls for every logger record

shouldRollover will always return False since we do
not use maxBytes as we are only using RotatingFileHandler
for the backupCount option. Since every log record will
stat the log file to see if it exists and if its a normal
file, we can override the shouldRollover to reduce the
logging overhead quite a bit

1d3225ae05/Lib/logging/handlers.py (L189)

* assert False is False
2024-04-05 22:00:09 -04:00
J. Nick Koston
00db97a765 Run device_registry stop listener immediately (#114978) 2024-04-05 21:59:27 -04:00
J. Nick Koston
d25ac06326 Run storage final write listener immediately (#114976)
This one should not need a call_soon
2024-04-05 21:59:11 -04:00
Brent Petit
c9ce848b4b Add current_humidity to Ecobee humidifier (#114753)
* Ecobee: add current_humidity to humidifier

* Ecobee: Add test for current_humidity property

* Update current_humidity handling in climate and
humidifier entity to support the ecobee API
not returning actualHumidity, which is an optional
value.
Also updated tests to add a thermostat which
covers a non-populated humidity. In passing,
set up the new test thermostat to cover a missing
condition where the code doens't recognize the
ecobee model number. This gets ecobee humidifier
test coverage to 100%
2024-04-05 21:54:40 +02:00
Joost Lekkerkerker
0214511b38 Make config flow imports consistent (#114962)
* Make config flow imports consistent

* Fix
2024-04-05 21:38:11 +02:00
J. Nick Koston
aeaed83578 Start async_schedule_update_ha_state task eagerly (#114704) 2024-04-05 08:14:21 -10:00
Joost Lekkerkerker
850361d1da Fix Snapcast Config flow (#114952) 2024-04-05 19:45:24 +02:00
Joost Lekkerkerker
5194215074 Allow single entry in Downloader (#114957) 2024-04-05 19:45:14 +02:00
Bengt Sirbelius
e1575678ed Add new OUI for Axis products (#114923)
* Add new OUI for Axis products

* Run hassfest

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-04-05 19:06:18 +02:00
Erwin Douna
f142e902df SIngle entry for Fastdotcom (#114963) 2024-04-05 18:53:28 +02:00
epenet
9204ccfa17 Use is in ConfigEntryState enum comparison in tests (N-Z) (#114926) 2024-04-05 17:37:00 +02:00
Ashot Tonoyan
f2c091fe0c Include serial number in HomeKit device info (#114688)
Very useful when adding a hub that has many identical devices already paired
2024-04-05 17:32:23 +02:00
RJPoelstra
35f2287d1a Bump python-MotionMount to 1.0.0 (#114945) 2024-04-05 17:20:58 +02:00
epenet
0b01326f9f Use is in ConfigEntryState enum comparison in tests (A-M) (#114925) 2024-04-05 17:16:55 +02:00
Franck Nijhof
b1fb77cb4d 2024.4.1 (#114934) 2024-04-05 16:18:02 +02:00
Jan-Philipp Benecke
dd8de14cc5 Update person to use _attr_* and thus cached properties (#114590)
* Update `person` to use `_attr_*` and thus cached properties

* Make func

* Just use attribute

* Move to init
2024-04-05 15:28:33 +02:00
Joost Lekkerkerker
95606135a6 Fix ROVA validation (#114938)
* Fix ROVA validation

* Fix ROVA validation
2024-04-05 14:53:21 +02:00
Aidan Timson
47d9879c0c Pin systembridgemodels to 4.0.4 (#114842) 2024-04-05 14:53:17 +02:00
Joost Lekkerkerker
370c902eb9 Fix ROVA validation (#114938)
* Fix ROVA validation

* Fix ROVA validation
2024-04-05 14:21:24 +02:00
Franck Nijhof
e3c111b1dd Bump version to 2024.4.1 2024-04-05 12:34:07 +02:00
Joost Lekkerkerker
9937743863 Fix cast dashboard in media browser (#114924) 2024-04-05 12:33:49 +02:00
Joost Lekkerkerker
ed3daed869 Create right import issues in Downloader (#114922)
* Create right import issues in Downloader

* Create right import issues in Downloader

* Create right import issues in Downloader

* Create right import issues in Downloader

* Fix

* Fix

* Fix

* Fix

* Apply suggestions from code review

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

* Fix

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-05 12:33:46 +02:00
Åke Strandberg
5d5dc24b33 Show correct model string in myuplink (#114921) 2024-04-05 12:33:43 +02:00
J. Nick Koston
c39d6f0730 Reduce august polling frequency (#114904)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-05 12:33:40 +02:00
J. Nick Koston
87ffd5ac56 Ensure all tables have the default table args in the db_schema (#114895) 2024-04-05 12:33:36 +02:00
Bram Kragten
71877fdeda Update frontend to 20240404.1 (#114890) 2024-04-05 12:33:33 +02:00
Robert Svensson
2434a22e4e Fix Axis reconfigure step not providing protocols as alternatives but as string (#114889) 2024-04-05 12:33:30 +02:00
Jeef
618fa08ab2 Bump weatherflow4py to 0.2.20 (#114888) 2024-04-05 12:33:27 +02:00
Robert Svensson
96003e3562 Fix Axis camera platform support HTTPS (#114886) 2024-04-05 12:33:24 +02:00
Bram Kragten
411e55d059 Update frontend to 20240404.0 (#114859) 2024-04-05 12:33:21 +02:00
Joost Lekkerkerker
58533f02af Fix Downloader YAML import (#114844) 2024-04-05 12:33:18 +02:00
Joost Lekkerkerker
aa14793479 Avoid blocking IO in downloader initialization (#114841)
* Avoid blocking IO in downloader initialization

* Avoid blocking IO in downloader initialization
2024-04-05 12:33:15 +02:00
J. Nick Koston
0191d3e41b Refactor ConfigStore to avoid needing to pass config_dir (#114827)
Co-authored-by: Erik <erik@montnemery.com>
2024-04-05 12:33:12 +02:00
tronikos
319f76cdc8 Bump opower to 0.4.3 (#114826)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-05 12:33:09 +02:00
J. Nick Koston
530725bbfa Handle ambiguous script actions by using action map order (#114825) 2024-04-05 12:33:06 +02:00
Lex Li
d8ae7d6955 Fix type cast in snmp (#114795) 2024-04-05 12:33:03 +02:00
cdheiser
3d0bafbdc9 Fix Lutron light brightness values (#114794)
Fix brightness values in light.py

Bugfix to set the brightness to 0-100 which is what Lutron expects.
2024-04-05 12:33:00 +02:00
Aaron Bach
ef8e54877f Fix unhandled KeyError during Notion setup (#114787) 2024-04-05 12:32:57 +02:00
Manuel Dipolt
a39e1a6428 Update romy to 0.0.10 (#114785) 2024-04-05 12:32:53 +02:00
Joost Lekkerkerker
69f8de2c59 Create right import issues in Downloader (#114922)
* Create right import issues in Downloader

* Create right import issues in Downloader

* Create right import issues in Downloader

* Create right import issues in Downloader

* Fix

* Fix

* Fix

* Fix

* Apply suggestions from code review

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

* Fix

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-05 12:32:09 +02:00
dependabot[bot]
63392ea1c2 Bump Wandalen/wretry.action from 3.0.1 to 3.1.0 (#114916) 2024-04-05 12:16:27 +02:00
Joost Lekkerkerker
8ca6e12ddd Fix cast dashboard in media browser (#114924) 2024-04-05 11:44:51 +02:00
Joost Lekkerkerker
772d9f754a Fix Downloader YAML import (#114844) 2024-04-05 11:32:59 +02:00
epenet
24f83c5890 Use is in FlowResultType enum comparison in tests (#114917)
* Use is in FlowResultType enum comparison in tests

* Adjust auth

* Adjust systemmonitor

* Once more

* Add comment
2024-04-05 10:40:14 +02:00
Marc Mueller
450be67406 Update romy to 0.0.9 (#114360) 2024-04-05 10:14:00 +02:00
Åke Strandberg
25289e0ca1 Bump myuplink dependency to 0.6.0 (#114767) 2024-04-05 10:06:39 +02:00
Álvaro Fernández Rojas
d983fa6da7 Update aioairzone-cloud to v0.4.7 (#114761) 2024-04-05 10:06:35 +02:00
Åke Strandberg
04e5086e01 Show correct model string in myuplink (#114921) 2024-04-05 10:01:51 +02:00
Robert Svensson
b67e9b28d6 Fix Axis reconfigure step not providing protocols as alternatives but as string (#114889) 2024-04-05 09:47:49 +02:00
J. Nick Koston
bfe944f666 Handle ambiguous script actions by using action map order (#114825) 2024-04-05 08:42:57 +02:00
Lex Li
1f37774352 Fix type cast in snmp (#114795) 2024-04-05 08:41:15 +02:00
Robert Svensson
6040272c04 Fix Axis camera platform support HTTPS (#114886) 2024-04-05 08:28:35 +02:00
J. Nick Koston
0e2fe3b728 Avoid timestamp conversion in core State when equal to last_updated (#114911) 2024-04-05 08:27:27 +02:00
J. Nick Koston
5447a1a015 Ensure all tables have the default table args in the db_schema (#114895) 2024-04-05 08:22:00 +02:00
Jeef
90d502e161 Bump weatherflow4py to 0.2.20 (#114888) 2024-04-04 15:37:54 -10:00
J. Nick Koston
d321906342 Always run keyed event trackers immediately (#114709) 2024-04-04 15:30:01 -10:00
J. Nick Koston
78920e1d71 Reduce august polling frequency (#114904)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-04 15:28:36 -10:00
Åke Strandberg
a66ed1d936 Bump myuplink dependency to 0.6.0 (#114767) 2024-04-05 02:55:39 +02:00
Joakim Sørensen
96149d9444 Bump hass-nabucasa from 0.79.0 to 0.80.0 (#114818)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-04-05 00:48:21 +02:00
Bram Kragten
7f19882843 Update frontend to 20240404.1 (#114890) 2024-04-05 00:26:07 +02:00
Marc Mueller
3c5089bc3f Update import for EventStateChangedData [a-h] (#114899) 2024-04-04 11:48:36 -10:00
Marc Mueller
0f03079065 Update import for EventStateChangedData [i-z] (#114900) 2024-04-04 11:48:29 -10:00
J. Nick Koston
e0e54ab9d3 Migrate more sonos tasks to use eager_start (#114697) 2024-04-04 11:43:15 -10:00
Erik Montnemery
b0d1b6555d Address late review comments on homeworks PRs (#114867) 2024-04-04 22:48:31 +02:00
Pete Sage
95ef087fa8 Fix Sonos Tests failing intermittently on CI (#114873) 2024-04-04 10:34:23 -10:00
tronikos
2cfc60b5b6 Bump opower to 0.4.3 (#114826)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-04 22:06:15 +02:00
Erik Montnemery
7c95ecff20 Validate unique_id in entity registry (#114648)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-04 09:51:44 -10:00
Michael Hansen
1c2499b03a Add "conversation" key to translations (#114887)
* Use translated trigger response

* Use conversation key instead
2024-04-04 14:45:27 -05:00
J. Nick Koston
cceea6dac2 Refactor ConfigStore to avoid needing to pass config_dir (#114827)
Co-authored-by: Erik <erik@montnemery.com>
2024-04-04 09:30:10 -10:00
Marc Mueller
56ef9500f7 Use EventStateChangedData type when firing state changed event (#114740) 2024-04-04 09:27:44 -10:00
J. Nick Koston
9189cd5ec2 Avoid linear search in gpslogger to find devices (#114811) 2024-04-04 09:27:24 -10:00
J. Nick Koston
a83d5e4071 Avoid linear search in geofency to find devices (#114810) 2024-04-04 09:27:14 -10:00
J. Nick Koston
c7d1319acf Avoid linear search in owntracks to find devices (#114812) 2024-04-04 09:26:58 -10:00
Bram Kragten
c798128ef1 Update frontend to 20240404.0 (#114859) 2024-04-04 15:01:15 -04:00
J. Nick Koston
a9d43db315 Avoid linear search to clear a config entry in the device registry (#114802) 2024-04-04 08:35:07 -10:00
Aidan Timson
e845d12733 Pin systembridgemodels to 4.0.4 (#114842) 2024-04-04 14:25:35 +02:00
Joost Lekkerkerker
28dc77a72d Avoid blocking IO in downloader initialization (#114841)
* Avoid blocking IO in downloader initialization

* Avoid blocking IO in downloader initialization
2024-04-04 13:45:44 +02:00
Marc Mueller
efde8400e2 Improve generic event typing [rfxtrx] (#114733) 2024-04-04 12:08:37 +02:00
J. Nick Koston
342e47dcc8 Ensure async_test_home_assistant is passed a str in storage tests (#114813) 2024-04-04 12:05:16 +02:00
J. Nick Koston
cc96bc44a0 Avoid linear search in ps4 to find devices (#114814) 2024-04-04 11:53:04 +02:00
J. Nick Koston
0710f4c661 Avoid linear search in purpleair to find devices (#114816) 2024-04-04 11:51:57 +02:00
J. Nick Koston
d7153d525f Avoid linear search in ibeacon to find devices (#114809) 2024-04-04 11:50:30 +02:00
Benjamin
e909242bc5 Fix missing if statement in homematic (#114832)
* homematic fix issue #114807

Update climate.py

* Update homeassistant/components/homematic/climate.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-04 11:45:01 +02:00
J. Nick Koston
5be5c37326 Avoid linear search in homekit to find devices (#114808) 2024-04-04 11:39:16 +02:00
J. Nick Koston
86feae421c Avoid linear search in hassio to find devices (#114806) 2024-04-04 11:38:37 +02:00
Marc Mueller
816ce116bf Remove unnecessary functools.cached_property backport (#114239) 2024-04-04 11:24:26 +02:00
cdheiser
7228f63c4a Fix Lutron light brightness values (#114794)
Fix brightness values in light.py

Bugfix to set the brightness to 0-100 which is what Lutron expects.
2024-04-04 11:24:02 +02:00
J. Nick Koston
7b64097399 Load mobile_app notify platform with eager_start (#114700) 2024-04-04 09:34:13 +02:00
J. Nick Koston
1462c99bc0 Load template platforms with eager_start (#114701)
* Load template platforms with eager_start

These can all be loaded synchronously

* missed some
2024-04-04 09:33:10 +02:00
J. Nick Koston
2b06168573 Avoid linear search in traccar to find devices (#114817)
* Avoid linear search in traccar to find devices

* remove useless check
2024-04-04 09:09:47 +02:00
Álvaro Fernández Rojas
15a821f6ac Update aioairzone-cloud to v0.4.7 (#114761) 2024-04-03 21:05:08 -10:00
J. Nick Koston
aedfd6c983 Add index for floor/label to the area registry (#114777) 2024-04-03 21:04:26 -10:00
J. Nick Koston
aa52688d4b Avoid linear search of the device registry in deconz (#114803) 2024-04-03 21:02:18 -10:00
dependabot[bot]
c18ff39540 Bump Wandalen/wretry.action from 2.1.0 to 3.0.1 (#114805)
Bumps [Wandalen/wretry.action](https://github.com/wandalen/wretry.action) from 2.1.0 to 3.0.1.
- [Release notes](https://github.com/wandalen/wretry.action/releases)
- [Commits](https://github.com/wandalen/wretry.action/compare/v2.1.0...v3.0.1)

---
updated-dependencies:
- dependency-name: Wandalen/wretry.action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-04 08:38:15 +02:00
J. Nick Koston
0c3ccabfb1 Speed up logger setup (#114610)
* Speed up logger setup

Preload core.logger and avoid saving it
until after startup

* add comment about 180s

* Adjust grammar

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-04 08:35:44 +02:00
J. Nick Koston
7a2e529bb7 Avoid executor job to start http if server_host is unspecified (#114609)
* Avoid executor job to start http if server_host is unspecified

Same as #112522 for http

* adjust test

* CONF_SERVER_HOST is always set now
2024-04-04 07:51:18 +02:00
J. Nick Koston
56d0ad27f0 Adjust async_load_platform comment to remove dead lock reference (#114771)
* Adjust async_load_platform comment

Its likely the deadlock here has been fixed for a long time, however
we should still do these in a task because it has to wait for base
components if they are not loaded yet.

* Adjust async_load_platform comment

Its likely the deadlock here has been fixed for a long time, however
we should still do these in a task because it has to wait for base
components if they are not loaded yet.
2024-04-03 22:53:31 -04:00
J. Nick Koston
3f76d1f056 Add index for area/config_entry/label to the device registry (#114776)
* Add index for area/config_entry/label to the device registry

* use it for services

* naming

* naming

* tweak
2024-04-03 22:52:17 -04:00
Aaron Bach
841d3940d1 Fix unhandled KeyError during Notion setup (#114787) 2024-04-03 18:20:20 -06:00
Manuel Dipolt
c1c664dc09 Update romy to 0.0.10 (#114785) 2024-04-04 00:48:35 +02:00
J. Nick Koston
5394a2a34a Load mailbox integration platforms in tracked tasks (#114774) 2024-04-03 11:12:38 -10:00
J. Nick Koston
e86fec310b Improve performance of extracting entities by label (#114720) 2024-04-03 10:24:44 -10:00
J. Nick Koston
3d8a110908 Dispatch the same ReceiveMessage object if the subscription topic is the same (#114769) 2024-04-03 09:36:57 -10:00
Fexiven
535da483b6 Rework update_data starlink coordinator (#114642)
* Update coordinator.py

fixes https://github.com/home-assistant/core/issues/114353

* Rework update_data starlink coordinator

* modify return handlung according to ruff

* add type annotation for _get_srtarlink_data

* add channel_context type annotation

* Add docstring

* ruff ruff here you go - modfied docstring

* Clean up

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-03 20:51:55 +02:00
Franck Nijhof
b61397656c 2024.4.0 (#114764) 2024-04-03 20:38:11 +02:00
J. Nick Koston
69a6e9f5d7 Use eager_start to forward wemo config entry platforms (#114702)
* Use eager_start to forward wemo config entry platforms

These can all be setup synchronously

* do not create another task
2024-04-03 20:29:48 +02:00
Jan-Philipp Benecke
590546a9a5 Use setup_test_component_platform helper for sensor entity component tests instead of hass.components (#114316)
* Use `setup_test_component_platform` helper for sensor entity component tests instead of `hass.components`

* Missing file

* Fix import

* Remove invalid device class
2024-04-03 20:00:56 +02:00
IngoK1
9ba4d26abd Fix for Sonos URL encoding problem #102557 (#109518)
* Fix for URL encoding problem #102557

Fixes the problem "Cannot play media with spaces in folder names to Sonos #102557" removing the encoding of the strings in the music library.

* Fix type casting problem

* Update media_browser.py to fix pr check findings

Added required casting for all unquote statements to avoid further casting findings in the pr checks

* Update media_browser.py

Checked on linting, lets give it another try

* Update media_browser.py

Updated ruff run

* Update media_browser.py - added version run through ruff

* Update media_browser.py - ruff changes

* Apply ruff formatting

* Update homeassistant/components/sonos/media_browser.py

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

* Update homeassistant/components/sonos/media_browser.py

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

* Update homeassistant/components/sonos/media_browser.py

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

* Update homeassistant/components/sonos/media_browser.py

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

---------

Co-authored-by: computeq-admin <51021172+computeq-admin@users.noreply.github.com>
Co-authored-by: Jason Lawrence <jjlawren@users.noreply.github.com>
2024-04-03 19:31:02 +02:00
Franck Nijhof
aa33da546d Bump version to 2024.4.0 2024-04-03 19:09:39 +02:00
Jan Bouwhuis
d66145358a Correct imap services setup (#114760)
* Correct imap services setup

* Add config schema
2024-04-03 18:40:59 +02:00
Chris Bräucker
51a3e79048 Add wake on LAN via Fritz!Box for tracked devices (#106778) 2024-04-03 18:37:20 +02:00
Franck Nijhof
3845523a27 Bump version to 2024.4.0b9 2024-04-03 17:55:24 +02:00
Michael
6a7fad0228 Fix Synology DSM setup in case no Surveillance Station permission (#114757) 2024-04-03 17:55:12 +02:00
Bram Kragten
33f07ce035 Update frontend to 20240403.1 (#114756) 2024-04-03 17:55:09 +02:00
Michael Hansen
4302c5c273 Bump intents (#114755) 2024-04-03 17:55:05 +02:00
Robert Resch
b2df1b1c03 Allow passing area/device/entity IDs to floor_id and floor_name (#114748) 2024-04-03 17:55:01 +02:00
Michael
6369b75653 Fix Synology DSM setup in case no Surveillance Station permission (#114757) 2024-04-03 17:53:44 +02:00
Bram Kragten
dcef40f27c Update frontend to 20240403.1 (#114756) 2024-04-03 17:32:26 +02:00
Michael Hansen
26c7e170e9 Bump intents (#114755) 2024-04-03 17:27:26 +02:00
Robert Resch
e2c99d226e Fix CI after splitting tests (#114754) 2024-04-03 16:45:07 +02:00
Robert Resch
7adced6876 Allow passing area/device/entity IDs to floor_id and floor_name (#114748) 2024-04-03 16:33:58 +02:00
Maciej Bieniek
f91994d788 Revert the logger level in the Shelly update platform (#114749)
Revert debug level

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-03 16:01:56 +02:00
Robert Resch
ed88c2abc9 Replace pytest-test-groups by custom tests splitter (#114381)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-04-03 15:43:12 +02:00
Franck Nijhof
0aa134459b Bump version to 2024.4.0b8 2024-04-03 15:35:53 +02:00
Bram Kragten
0ca3700c16 Update frontend to 20240403.0 (#114747) 2024-04-03 15:35:40 +02:00
Joost Lekkerkerker
35ff633d99 Avoid blocking IO in downloader config flow (#114741) 2024-04-03 15:35:36 +02:00
Joost Lekkerkerker
7a2f6ce430 Fix Downloader config flow (#114718) 2024-04-03 15:35:32 +02:00
David F. Mulcahey
7cb603a226 Import zha quirks in the executor (#114685) 2024-04-03 15:35:29 +02:00
Jonas Fors Lellky
43562289e4 Bump flexit_bacnet to 2.2.1 (#114641) 2024-04-03 15:35:26 +02:00
Lenn
79fa7caa41 Rename Motionblinds BLE integration to Motionblinds Bluetooth (#114584) 2024-04-03 15:35:20 +02:00
Bram Kragten
90c06d6538 Update frontend to 20240403.0 (#114747) 2024-04-03 15:19:49 +02:00
Jan-Philipp Benecke
613bdebfe5 Migrate sabnzbd to use data update coordinator (#114745)
* Migrate sabnzbd to use data update coordinator

* Add to coveragerc

* Setup coordinator after migration

* Use kB/s as UoM

* Add suggested
2024-04-03 15:15:23 +02:00
J. Nick Koston
2b9f22f11e Make creation of capabilities_updated_at deque in Entity lazy (#114711)
Most entities will never update their capabilities so we should
avoid creating the deque as its a large chunk of the entity
creation time
2024-04-03 13:53:17 +02:00
Joost Lekkerkerker
b9f27d2b31 Avoid blocking IO in downloader config flow (#114741) 2024-04-03 13:50:34 +02:00
J. Nick Koston
e522f2f67e Create bond fallback polling tasks eagerly (#114705)
There was not reason to delay here
2024-04-03 12:36:55 +02:00
J. Nick Koston
80e066a7a8 Use eager_start to create async_update_alerts task in homeassistant_alerts (#114707)
If there are no alerts, the task will finish synchronously
2024-04-03 12:23:36 +02:00
J. Nick Koston
ef047707d9 Simplify config entry cache clear (#114691)
same as #113136 but for config entries
2024-04-03 12:21:37 +02:00
J. Nick Koston
cf4c02b9fa Simplify core state cache clear (#114694)
same as #113136 but for core
2024-04-03 12:20:32 +02:00
J. Nick Koston
742643936f Migrate legacy device_tracker task creation to use eager_start (#114703)
Many of these can finish synchronously without being scheduled on the loop
2024-04-03 12:12:52 +02:00
Lenn
e870d420a6 Rename Motionblinds BLE integration to Motionblinds Bluetooth (#114584) 2024-04-03 12:11:46 +02:00
J. Nick Koston
41a88c876d Avoid useless done check in config entries async_create_task (#114695)
If the task is not started with eager_start it will
never be done right away
2024-04-03 11:49:32 +02:00
Robert Resch
74d8c6cce4 Fix synology_dsm test side effects (#114722) 2024-04-03 11:11:56 +02:00
J. Nick Koston
be3c923c7f Use eager_start to load utility_meter platforms (#114699) 2024-04-02 22:06:16 -10:00
Joost Lekkerkerker
4a879ce424 Fix Downloader config flow (#114718) 2024-04-03 09:56:19 +02:00
Joost Lekkerkerker
f3ba713289 Use FlowResultType enum in config flow tests N-Z (#114682)
Use FlowResultType enum in config flow tests
2024-04-03 09:53:20 +02:00
J. Nick Koston
7a543af8ee Simplify homekit_controller cache clear (#114692) 2024-04-02 21:45:08 -10:00
Jonas Fors Lellky
05c1963815 Bump flexit_bacnet to 2.2.1 (#114641) 2024-04-03 09:23:06 +02:00
Joost Lekkerkerker
b9281327c4 Use FlowResultType enum in config flow tests A-M (#114681) 2024-04-03 09:21:17 +02:00
J. Nick Koston
a767530970 Migrate homeassistant_sky_connect to use eager_start for tasks (#114706) 2024-04-03 09:14:15 +02:00
dependabot[bot]
3eafdadc8f Bump Wandalen/wretry.action from 3.0.0 to 3.0.1 (#114714)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 09:13:53 +02:00
David F. Mulcahey
53cbb83e46 Import zha quirks in the executor (#114685) 2024-04-03 09:12:00 +02:00
Erik Montnemery
d058615961 Add service homeworks.send_command (#114059)
* Add service homeworks.send_command

* Translate exception
2024-04-03 09:10:10 +02:00
J. Nick Koston
adbaed2c6d Reduce code for registry items with a base class (#114689) 2024-04-03 09:02:32 +02:00
J. Nick Koston
d17f308c6a Small speed up to starting and stopping cloud (#114696) 2024-04-02 23:47:22 -04:00
J. Nick Koston
06a752aa92 Small speed ups to ambient_station (#114698) 2024-04-02 16:09:27 -10:00
Franck Nijhof
8bdb27c88b Bump version to 2024.4.0b7 2024-04-03 00:14:07 +02:00
Bram Kragten
f676448f27 Update frontend to 20240402.2 (#114683) 2024-04-03 00:13:57 +02:00
J. Nick Koston
639c4a843b Avoid trying to load platform that are known to not exist in async_prepare_setup_platform (#114659) 2024-04-03 00:13:53 +02:00
G Johansson
02dee34338 Bump holidays to 0.46 (#114657) 2024-04-03 00:13:49 +02:00
Maciej Bieniek
4e0290ce0e Add missing state to the Tractive tracker state sensor (#114654)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-03 00:13:45 +02:00
Robert Svensson
fa2f49693c Bump aiounifi to v74 (#114649) 2024-04-03 00:13:39 +02:00
Pete Sage
2ce784105d Fix Sonos play imported playlists (#113934) 2024-04-03 00:13:35 +02:00
Bram Kragten
3c76036c15 Update frontend to 20240402.2 (#114683) 2024-04-03 00:12:31 +02:00
Pete Sage
f26a7843c6 Fix Sonos play imported playlists (#113934) 2024-04-03 00:10:15 +02:00
J. Nick Koston
1779fe8f62 Bump yalexs to 3.0.1 (#114678)
* Bump yalexs to 3.0.1

changelog: https://github.com/bdraco/yalexs/compare/v2.0.0...v3.0.1

* fix for breaking change
2024-04-02 23:37:16 +02:00
J. Nick Koston
17da077c74 Avoid trying to load platform that are known to not exist in async_prepare_setup_platform (#114659) 2024-04-02 11:22:40 -10:00
Joost Lekkerkerker
9b41e3d124 Use is in enum comparison in config flow tests A-E (#114669) 2024-04-02 11:22:05 -10:00
Joost Lekkerkerker
ee66f6ec8c Use is in enum comparison in config flow tests P-T (#114675) 2024-04-02 11:21:50 -10:00
Joost Lekkerkerker
5d500cb74b Use is in enum comparison in config flow tests K-O (#114672) 2024-04-02 11:21:42 -10:00
Dos Moonen
3875533f95 Bump solax to 3.1.0 (#114617)
0.3.2 was succeeded by 0.3.4.
0.3.3 was yanked
0.3.4 was succeeded by 3.0.5.
3.0.5 is succeeded by 3.1.0.
2024-04-02 23:16:39 +02:00
Joost Lekkerkerker
2ef0521d3d Use is in enum comparison in config flow tests U-Z (#114677)
* Use right enum expression U-Z

* Fix
2024-04-02 23:09:56 +02:00
Jan Bouwhuis
83b56ab005 Add IMAP seen, move and delete service (#114501)
* Add seen, move and delete IMAP services

* Add entry_id to the imap_content event data

* Use config validation library

* Add tests

* Add logging

* Typo in docstr

* Add guard
2024-04-02 23:05:05 +02:00
Joost Lekkerkerker
906d3198e3 Use is in enum comparison in config flow tests F-J (#114670)
* Use right enum expression F-J

* Fix
2024-04-02 23:01:37 +02:00
Phil Bruckner
ea2bb24484 Remove old device tracker device cleanup code & test (#114668) 2024-04-02 15:23:59 -05:00
Joost Lekkerkerker
2175cd6039 Add tests for Roomba Options flow (#114666)
* Add tests for Roomba Options flow

* Fix
2024-04-02 21:49:53 +02:00
G Johansson
448f8a9568 Refactor setup code in command_line (#114661)
* Refactor setup code in command_line

* Fix rebase

* Review comments
2024-04-02 22:47:04 +03:00
Cyrill Raccaud
bf9627ad07 Add extra sensors to Swiss Public Transport (#114636)
* convert extra_state_attributes to sensors

* add deprecation notice for extra state attributes

* cleanup after comments

* remove exists_fn as it does not add value

* move function outside the class
2024-04-02 21:35:11 +02:00
Aidan Timson
17f0002549 Azure DevOps integration tests (#114577)
* Add tests to azure devops

* Remove Azure DevOps files from coverage

* Add assertion for entity registration in test_sensors()

* Remove unnecessary code in test_sensor.py

* Refactor test_sensors function

* Fix

* Test unique id

* Refactor

* Refactor reauth_flow test in azure_devops module

* Suggested changes, batched

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

* Changes

* Use snapshot

* Remove redundant entry fetch

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-02 21:23:55 +02:00
Joost Lekkerkerker
7cb01f75ae Add typing to Roomba config flow (#114624) 2024-04-02 21:21:55 +03:00
Robert Resch
f85511255c Fix Rpi_power test race condition (#114662) 2024-04-02 21:19:43 +03:00
jayme-github
850dac0655 Don't overwrite target temperature by setting hvac mode in AVM Fritz!SmartHome (#112119) 2024-04-02 20:14:02 +02:00
atlflyer
ef7836be73 Add icon to command_line cover config (#114645)
* Add icon to command_line cover config

* Remove unwanted #noqa tag

* Remove redundancy from new test name

* Apply requested changes
2024-04-02 20:59:57 +03:00
G Johansson
6638d1c8e8 Bump holidays to 0.46 (#114657) 2024-04-02 20:58:18 +03:00
Robert Resch
17625dc74d Fix Google translate TTS test race condition (#114656) 2024-04-02 18:52:41 +02:00
Robert Svensson
9893a6c5e4 Bump aiounifi to v74 (#114649) 2024-04-02 18:33:12 +02:00
Maciej Bieniek
25c920b1ee Add missing state to the Tractive tracker state sensor (#114654)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-02 18:28:52 +02:00
Franck Nijhof
85fb4a27a3 Bump version to 2024.4.0b6 2024-04-02 17:35:01 +02:00
Bram Kragten
8cbedbe26b Update frontend to 20240402.1 (#114646) 2024-04-02 17:34:29 +02:00
Steven B
5bd52da13a Bump ring_doorbell integration to 0.8.9 (#114631) 2024-04-02 17:33:24 +02:00
Paulus Schoutsen
52bd3efad9 Clean up unnecessary setup calls in tests (#114644) 2024-04-02 17:30:41 +02:00
dotvav
d53848aae4 Fix Overkiz Hitachi OVP air-to-air heat pump (#114611) 2024-04-02 17:23:51 +02:00
puddly
4e0d6f287e Reduce ZHA OTA logbook entries and extraneous updates (#114591) 2024-04-02 17:23:45 +02:00
puddly
581c67ed29 Reduce ZHA OTA logbook entries and extraneous updates (#114591) 2024-04-02 17:16:59 +02:00
Bram Kragten
1b875e7de2 Update frontend to 20240402.1 (#114646) 2024-04-02 17:15:24 +02:00
Joost Lekkerkerker
991a4940cd Bump ruff to 0.3.5 (#114634) 2024-04-02 13:53:58 +02:00
Joost Lekkerkerker
0b7d9d6c44 Remove YAML configuration from Withings (#114626)
* Remove YAML configuration from Withings

* Remove YAML configuration from Withings

* Remove YAML configuration from Withings
2024-04-02 13:36:44 +02:00
Robert Resch
476e39dd2c Bump uv to 0.1.27 (#114629) 2024-04-02 13:19:50 +02:00
Steven B
8a86d7512a Bump ring_doorbell integration to 0.8.9 (#114631) 2024-04-02 13:17:47 +02:00
dotvav
a3dce51d38 Fix Overkiz Hitachi OVP air-to-air heat pump (#114611) 2024-04-02 13:08:53 +02:00
Franck Nijhof
5af5f3694e Bump version to 2024.4.0b5 2024-04-02 12:28:20 +02:00
Bram Kragten
b539b25682 Update frontend to 20240402.0 (#114627) 2024-04-02 12:28:07 +02:00
Fexiven
ca31479d29 Fix Starlink integration startup issue (#114615) 2024-04-02 12:28:04 +02:00
Franck Nijhof
92dfec3c98 Add floor selector (#114614) 2024-04-02 12:28:00 +02:00
max2697
230c29edbe Bump opower to 0.4.2 (#114608) 2024-04-02 12:27:57 +02:00
Jack Boswell
559fe65471 Catch potential ValueError when getting or setting Starlink sleep values (#114607) 2024-04-02 12:27:54 +02:00
mkmer
384d10a51d Add diagnostic platform to Whirlpool (#114578)
* Add diagnostic platform and tests

* lowercase variable

* Correc doc string
2024-04-02 12:27:50 +02:00
Brett Adams
e5a620545c Fix battery heater in Tessie (#114568) 2024-04-02 12:27:47 +02:00
Maciej Bieniek
7b84e86f89 Improve Shelly RPC device update progress (#114566)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-02 12:27:44 +02:00
Joost Lekkerkerker
18b6de567d Bump roombapy to 1.8.1 (#114478)
* Bump roombapy to 1.7.0

* Bump

* Bump

* Fix
2024-04-02 12:27:40 +02:00
Pete Sage
a6076a0d33 Display sonos album title with URL encoding (#113693)
* unescape the title

When extracting the title from the item_id, it needs to be unescaped.

* sort imports
2024-04-02 12:27:36 +02:00
Austin Mroczek
49fc8a1230 Improve DeviceInfo for Total Connect (#114509) 2024-04-02 12:23:44 +02:00
Brett Adams
f36c37a3b7 Fix battery heater in Tessie (#114568) 2024-04-02 12:23:08 +02:00
Jan Bouwhuis
acf2f855fe Raise ServiceValidationError on number out of range exception (#114589) 2024-04-02 12:22:00 +02:00
Bram Kragten
31b0b823df Update frontend to 20240402.0 (#114627) 2024-04-02 12:17:52 +02:00
Joakim Sørensen
a1ae4ec23d Add sensor entities to Traccar Server (#111374) 2024-04-02 12:11:28 +02:00
Fexiven
e473914407 Fix Starlink integration startup issue (#114615) 2024-04-02 12:04:07 +02:00
Joost Lekkerkerker
21c7cc3250 Bump roombapy to 1.8.1 (#114478)
* Bump roombapy to 1.7.0

* Bump

* Bump

* Fix
2024-04-02 11:15:52 +02:00
Steven B
51e716bef3 Update ring quality scale to silver (#113146) 2024-04-02 10:47:30 +02:00
Jack Boswell
385da75963 Catch potential ValueError when getting or setting Starlink sleep values (#114607) 2024-04-02 10:45:46 +02:00
Franck Nijhof
4a93b4a4b4 Add floor selector (#114614) 2024-04-02 10:43:14 +02:00
Robert Resch
67c334f842 Fix ruff issue in sonos (#114616) 2024-04-02 10:30:01 +02:00
Maciej Bieniek
c8f282c8bc Improve Shelly RPC device update progress (#114566)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-02 10:15:58 +02:00
Pete Sage
31cd41adb8 Display sonos album title with URL encoding (#113693)
* unescape the title

When extracting the title from the item_id, it needs to be unescaped.

* sort imports
2024-04-02 10:11:45 +02:00
mkmer
078535e1d6 Add diagnostic platform to Whirlpool (#114578)
* Add diagnostic platform and tests

* lowercase variable

* Correc doc string
2024-04-02 09:41:40 +02:00
Erik Montnemery
0030c97f59 Tweak integration sensor (#114384)
* Tweak integration sensor

* Improve tests
2024-04-02 09:19:25 +02:00
dependabot[bot]
667e119d32 Bump Wandalen/wretry.action from 2.1.0 to 3.0.0 (#114554)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 09:07:47 +02:00
max2697
09fbd8bb52 Bump opower to 0.4.2 (#114608) 2024-04-02 09:04:28 +02:00
Jan-Philipp Benecke
c2ffed9b2d Use switch entities instead of toggle entities in tests (#114585) 2024-04-02 08:25:28 +02:00
Paulus Schoutsen
7164993562 Bump version to 2024.4.0b4 2024-04-02 01:51:42 +00:00
mkmer
bc21836e7e Bump whirlpool-sixth-sense to 0.18.7 (#114606)
Bump sixth-sense to 0.18.7
2024-04-02 01:51:35 +00:00
J. Nick Koston
52612b10fd Avoid storing raw extracted traceback in system_log (#114603)
This is never actually used and takes up quite a bit of ram
2024-04-02 01:51:35 +00:00
J. Nick Koston
623d85ecaa Fix memory leak when importing a platform fails (#114602)
* Fix memory leak when importing a platform fails

re-raising ImportError would trigger a memory leak

* fixes, coverage

* Apply suggestions from code review
2024-04-02 01:51:33 +00:00
J. Nick Koston
43631d5944 Add missing platforms_exist guard to check_config (#114600)
* Add missing platforms_exist guard to check_config

related issue #112811

When the exception hits, the config will end up being saved in the traceback
so the memory is never released.

This matches the check_config code to homeassistant.config to avoid having
the exception thrown.

* patch

* merge branch
2024-04-02 01:51:33 +00:00
J. Nick Koston
112aab47fb Bump zeroconf to 0.132.0 (#114596)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.131.0...0.132.0
2024-04-02 01:51:32 +00:00
Martin Hjelmare
ea13f102e0 Fix reolink media source data access (#114593)
* Add test

* Fix reolink media source data access
2024-04-02 01:51:31 +00:00
jjlawren
bb33725e7f Bump plexapi to 4.15.11 (#114581) 2024-04-02 01:51:31 +00:00
Michael
bd6890ab83 Filter out ignored entries in ssdp step of AVM Fritz!SmartHome (#114574)
filter out ignored entries in ssdp step
2024-04-02 01:51:30 +00:00
Michael
25c611ffc4 Reduce usage of executer threads in AVM Fritz!Tools (#114570)
* call entity state update calls in one executer task

* remove not needed wrapping

* mark as "non-public" method

* add guard against changes on _entity_update_functions
2024-04-02 01:51:29 +00:00
Maikel Punie
fc24b61859 Bump velbusaio to 2024.4.0 (#114569)
Bump valbusaio to 2024.4.0
2024-04-02 01:51:28 +00:00
Joost Lekkerkerker
71588b5c22 Fix wrong icons (#114567)
* Fix wrong icons

* Fix wrong icons
2024-04-02 01:51:27 +00:00
Robert Svensson
14dfb6a255 Bump axis to v60 (#114544)
* Improve Axis MQTT support

* Bump axis to v60
2024-04-02 01:51:27 +00:00
G Johansson
ef97255d9c Fix server update from breaking setup in Speedtest.NET (#114524) 2024-04-02 01:51:26 +00:00
J. Nick Koston
e8afdd67d0 Fix workday doing blocking I/O in the event loop (#114492) 2024-04-02 01:51:25 +00:00
J. Nick Koston
008e4413b5 Fix late load of anyio doing blocking I/O in the event loop (#114491)
* Fix late load of anyio doing blocking I/O in the event loop

httpx loads anyio which loads the asyncio backend in the event loop
as soon as httpx makes the first request

* tweak
2024-04-02 01:51:24 +00:00
dotvav
c373d40e34 Fix Overkiz Hitachi OVP air-to-air heat pump (#114487)
Unpack command parameters instead of passing a list
2024-04-02 01:51:24 +00:00
J. Nick Koston
bdf51553ef Improve sonos test synchronization (#114468) 2024-04-02 01:51:23 +00:00
Michael Hansen
f2edc15687 Add initial support for floors to intents (#114456)
* Add initial support for floors to intents

* Fix climate intent

* More tests

* No return value

* Add requested changes

* Reuse event handler
2024-04-02 01:51:22 +00:00
J. Nick Koston
286a09d737 Mark executor jobs as background unless created from a tracked task (#114450)
* Mark executor jobs as background unless created from a tracked task

If the current task is not tracked the executor job should not
be a background task to avoid delaying startup and shutdown.

Currently any executor job created in a untracked task or
background task would end up being tracked and delaying
startup/shutdown

* import exec has the same issue

* Avoid tracking import executor jobs

There is no reason to track these jobs as they are always awaited
and we do not want to support fire and forget import executor jobs

* fix xiaomi_miio

* lots of fire time changed without background await

* revert changes moved to other PR

* more

* more

* more

* m

* m

* p

* fix fire and forget tests

* scrape

* sonos

* system

* more

* capture callback before block

* coverage

* more

* more races

* more races

* more

* missed some

* more fixes

* missed some more

* fix

* remove unneeded

* one more race

* two
2024-04-02 01:51:21 +00:00
Shay Levy
e8ee2fd25c Cleanup Shelly RGBW light entities (#114410) 2024-04-02 01:51:21 +00:00
Michael
ab2c88353b Filter out ignored entries in ssdp step of AVM Fritz!SmartHome (#114574)
filter out ignored entries in ssdp step
2024-04-01 21:48:26 -04:00
mkmer
3513bd0cc5 Bump whirlpool-sixth-sense to 0.18.7 (#114606)
Bump sixth-sense to 0.18.7
2024-04-01 21:47:30 -04:00
J. Nick Koston
5856bbc07b Add missing platforms_exist guard to check_config (#114600)
* Add missing platforms_exist guard to check_config

related issue #112811

When the exception hits, the config will end up being saved in the traceback
so the memory is never released.

This matches the check_config code to homeassistant.config to avoid having
the exception thrown.

* patch

* merge branch
2024-04-01 21:37:30 -04:00
J. Nick Koston
b12c69accb Fix memory leak when importing a platform fails (#114602)
* Fix memory leak when importing a platform fails

re-raising ImportError would trigger a memory leak

* fixes, coverage

* Apply suggestions from code review
2024-04-01 21:36:48 -04:00
J. Nick Koston
0963f5e642 Avoid storing raw extracted traceback in system_log (#114603)
This is never actually used and takes up quite a bit of ram
2024-04-01 21:35:38 -04:00
J. Nick Koston
ce9d4c8683 Fix flakey cast discovery stop test (#114605)
https://github.com/home-assistant/core/actions/runs/8515215623/job/23322322954?pr=114602
2024-04-01 21:34:54 -04:00
Paulus Schoutsen
d2e4f5f36e Add conversation entity (#114518)
* Default agent as entity

* Migrate constant to point at new value

* Fix tests

* Fix more tests

* Move assist pipeline back to cloud after dependenceis
2024-04-01 21:34:25 -04:00
Martin Hjelmare
b1af590eed Fix reolink media source data access (#114593)
* Add test

* Fix reolink media source data access
2024-04-02 00:14:13 +02:00
IngoK1
acdb3cc7a2 Fix for Sonos URL encoding problem #102557 (#109518)
* Fix for URL encoding problem #102557

Fixes the problem "Cannot play media with spaces in folder names to Sonos #102557" removing the encoding of the strings in the music library.

* Fix type casting problem

* Update media_browser.py to fix pr check findings

Added required casting for all unquote statements to avoid further casting findings in the pr checks

* Update media_browser.py

Checked on linting, lets give it another try

* Update media_browser.py

Updated ruff run

* Update media_browser.py - added version run through ruff

* Update media_browser.py - ruff changes

* Apply ruff formatting

* Update homeassistant/components/sonos/media_browser.py

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

* Update homeassistant/components/sonos/media_browser.py

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

* Update homeassistant/components/sonos/media_browser.py

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

* Update homeassistant/components/sonos/media_browser.py

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

---------

Co-authored-by: computeq-admin <51021172+computeq-admin@users.noreply.github.com>
Co-authored-by: Jason Lawrence <jjlawren@users.noreply.github.com>
2024-04-01 17:07:02 -05:00
Jan-Philipp Benecke
8e384ab598 Use dict comprehension in honeywell diagnostics (#114598) 2024-04-01 23:55:14 +02:00
Jan-Philipp Benecke
e14573a465 Migrate uptime to use single_config_entry (#114586) 2024-04-01 23:33:29 +02:00
J. Nick Koston
f2b9e6b389 Bump zeroconf to 0.132.0 (#114596)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.131.0...0.132.0
2024-04-01 23:18:26 +02:00
Michael
98a1608604 Reduce usage of executer threads in AVM Fritz!Tools (#114570)
* call entity state update calls in one executer task

* remove not needed wrapping

* mark as "non-public" method

* add guard against changes on _entity_update_functions
2024-04-01 21:59:06 +02:00
J. Nick Koston
0732952b32 Reduce hassio startup time (#114588) 2024-04-01 09:58:06 -10:00
Sid
304ed8bf3d Unignore Ruff PLC in tests (#114572) 2024-04-01 21:28:54 +02:00
J. Nick Koston
ae640b6e1a Small cleanups to zone to reduce startup time (#114587) 2024-04-01 09:03:59 -10:00
Michael
886f03dd71 Apply late review of tankerkoenig (#114582)
remove config entry from device, not device itself
2024-04-01 19:36:57 +02:00
jjlawren
94060b1566 Bump plexapi to 4.15.11 (#114581) 2024-04-01 19:28:39 +02:00
J. Nick Koston
96120b64e0 Fix missing mocking in nextdns tests (#114541) 2024-04-01 06:53:49 -10:00
Aidan Timson
429b5d22cf Upgrade aioazuredevops to 2.0.0 (#114537)
* Upgrade aioazuredevops to 2.0.0

* Refactor Azure DevOps config flow to use async_get_clientsession

* Wrap conditional in parentesis
2024-04-01 16:51:27 +02:00
Michael
2e11a61726 Automatic cleanup of entity and device registry in Tankerkoenig (#114573) 2024-04-01 16:04:18 +02:00
Joost Lekkerkerker
7f9ad140f9 Fix wrong icons (#114567)
* Fix wrong icons

* Fix wrong icons
2024-04-01 15:53:14 +02:00
Maikel Punie
72447a0717 Bump velbusaio to 2024.4.0 (#114569)
Bump valbusaio to 2024.4.0
2024-04-01 14:49:14 +02:00
epenet
ad3577804b Ensure coverage entries are sorted (#114424)
* Ensure coverage entries are sorted

* Use autofix

* Adjust

* Add comment to coverage file

* test CI

* revert CI test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-01 14:12:24 +02:00
J. Nick Koston
ea7f2af966 Fix missing mocking in blink tests (#114540)
extracted from #114539
2024-04-01 11:23:38 +02:00
Sid
d5f883fbf0 Unignore Ruff PLR in tests (#114470)
* Unignore Ruff PLR in tests

* Address review comments

* review comments

* fix import

* Update test_api.py

* Update test_api.py

* Update test_api.py
2024-04-01 11:11:59 +02:00
Jonny Rimkus
dc59073f25 Bump slixmpp version to 1.8.5 (#114448)
* Update slixmpp to 1.8.5, hopefully fixes #113990

* Bump slixmpp version to 1.8.5 #114448
2024-04-01 10:50:21 +02:00
Teemu R
55657dcb40 Bump python-songpal to 0.16.2 (#114525) 2024-04-01 02:08:05 +02:00
J. Nick Koston
be398e0a3f Fix flakey sonos test test_creating_entry_sets_up_media_player (#114539) 2024-03-31 13:49:24 -10:00
Jan-Philipp Benecke
04786e019a Use device registry mock instead of hass.helpers in traccar_server tests (#114532) 2024-04-01 00:42:46 +02:00
Jan-Philipp Benecke
ecf286cd81 Avoid use of hass.helpers in plugwise test (#114534) 2024-04-01 00:41:47 +02:00
Jan-Philipp Benecke
0238c2ea9e Use device registry mock instead of hass.helpers in dsmr tests (#114535) 2024-04-01 00:41:06 +02:00
Robert Svensson
05d40fbc4c Bump axis to v60 (#114544)
* Improve Axis MQTT support

* Bump axis to v60
2024-04-01 00:24:41 +02:00
Jan-Philipp Benecke
f08af5dc6d Avoid use of hass.helpers in _mqtt_mock_entry fixture (#114536) 2024-03-31 11:33:59 -10:00
G Johansson
3bb9858dfb Fix server update from breaking setup in Speedtest.NET (#114524) 2024-03-31 20:08:43 +02:00
Thomas55555
5eb4cf6a05 Add error sensor for Husqvarna Automower (#113165)
* Add error sensor for Husqvarna Automower

* Apply suggestions from code review

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* address review

* Add restricted reason sensor

* ruff

* pin options

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-03-31 20:06:30 +02:00
wittypluck
7919ca63d0 Add uptime sensor to Glances (#111402)
* Add uptime sensor to Glances

* Merge upstream

* Merge upstream

* Fix coverage

* Add uptime sensor to Glances

* Merge upstream

* Merge upstream

* Fix coverage

* Move most uptime specific code to DataUpdateCoordinator

* Add last_reported after merge with upstream

* Add unit tests for uptime sensor

* Add unit tests for uptime sensor

* Add unit tests for uptime sensor

* Add unit tests for uptime sensor

* Move update code out of getter native_value()

* Add unit tests for uptime sensor

* Update uptime method signatures

* Set uptime icon in icons.json

* Use freezer.tick for uptime tests

* Frozen time test fails on github

* Add MIN_UPTIME_VARIATION const value

* Only update uptime on startup or when remote server restarts

* Fix for 0 values

* Set value to None to set state to Unknown if key is not found

* Add unit test for uptime change

* Code reduction

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-03-31 20:04:39 +02:00
J. Nick Koston
8ebdd46509 Bump aiodns to 3.2.0 (#114527)
changelog: https://github.com/saghul/aiodns/compare/v3.1.1...v3.2.0
2024-03-31 19:41:06 +02:00
Joost Lekkerkerker
52741d7114 Add single config entry to Analytics insights (#114427)
* Add single config entry to Analytics insights

* Add single config entry to Analytics insights

* Add single config entry to Analytics insights
2024-03-31 15:47:24 +02:00
Jan-Philipp Benecke
d5da0a053b Deprecate hass.helpers (#114484)
* Deprecate hass.helpers

* Patch

* Patch _REPORTED_INTEGRATIONS set in test

* Fix test

* Update version
2024-03-31 11:44:11 +02:00
dotvav
f2f24a5d35 Fix Overkiz Hitachi OVP air-to-air heat pump (#114487)
Unpack command parameters instead of passing a list
2024-03-31 11:38:59 +02:00
Sid
d846676e84 Enable first batch of Ruff RET rules (#114480)
* Enable first batch of Ruff RET rules

* disable pylint rules
2024-03-31 11:30:59 +02:00
Jan-Philipp Benecke
6e3e09f2c3 Use entity & device registry mocks instead of hass.helpers in airthings_ble tests (#114520) 2024-03-31 09:08:07 +02:00
J. Nick Koston
5038a035bd Detect blocking module imports in the event loop (#114488) 2024-03-30 19:51:31 -10:00
Paulus Schoutsen
f01235ef74 Re-organize conversation integration (#114502)
* Re-organize conversation integration

* Clean up 2 more imports

* Re-export models

* Fix imports

* Uno mas

* Rename agents to models

* Fix cast test that i broke?

* Just blocking till I'm done

* Wrong place
2024-03-31 00:05:25 -04:00
Paulus Schoutsen
fb572b8413 Conversation to unsubscribe when no cache to invalidate (#114515)
* Add event filter callbacks to conversation

* Unsusbcribe when we have no slot lists
2024-03-30 23:47:13 -04:00
J. Nick Koston
f0b07ae942 Add pytest rewrite for wemo tests that use entity_test_helpers (#114516) 2024-03-30 17:35:49 -10:00
TheJulianJES
b0a1450a2b Fix ZHA websocket API test (#114495)
* Fix result overwriting expected config

* Use `BASE_CUSTOM_CONFIGURATION` for initial/expected config
2024-03-31 00:17:09 +01:00
Michael Hansen
d23b22b566 Add initial support for floors to intents (#114456)
* Add initial support for floors to intents

* Fix climate intent

* More tests

* No return value

* Add requested changes

* Reuse event handler
2024-03-30 16:59:20 -04:00
Jan-Philipp Benecke
502231b7d2 Avoid call to hass.helpers.store in CategoryRegistry (#114485) 2024-03-30 21:15:52 +01:00
J. Nick Koston
ef5f6829e7 Fix late load of anyio doing blocking I/O in the event loop (#114491)
* Fix late load of anyio doing blocking I/O in the event loop

httpx loads anyio which loads the asyncio backend in the event loop
as soon as httpx makes the first request

* tweak
2024-03-30 14:56:01 -04:00
Bruno Henrique
9f9a141112 Add UniFi WLAN Password sensor (#114419)
* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

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

* Adding UniFi WLAN Password Sensor

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

* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-30 19:49:33 +01:00
J. Nick Koston
0b9c40a233 Fix workday doing blocking I/O in the event loop (#114492) 2024-03-30 19:05:14 +01:00
J. Nick Koston
d63adb6350 Improve sonos test synchronization (#114468) 2024-03-30 06:34:47 -10:00
Shay Levy
3e99afdd54 Cleanup Shelly RGBW light entities (#114410) 2024-03-30 18:48:57 +03:00
Bruno Henrique
53f262095c Add UniFi WLAN regenerate password button (#114422)
* Adding UniFi WLAN Change Password Button

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

* Adding UniFi WLAN Regenerate Password Button

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

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-30 15:53:23 +01:00
Tom Matheussen
a1eef4732f Add hourly forecast to open_meteo (#113622)
* Add hourly forecast to open_meteo

* Ran ruff formatting again
2024-03-30 15:13:26 +01:00
Joost Lekkerkerker
b7527feb5f Rework opensky tests (#114441)
* Rework opensky tests

* Rework opensky tests

* Fix
2024-03-30 14:52:33 +01:00
Sid
6587ee20db Enable Ruff TRY300 (#114437)
* Enable Ruff TRY300

* Update validation.py

* Address review comments
2024-03-30 10:37:59 +01:00
J. Nick Koston
9a79320861 Mark executor jobs as background unless created from a tracked task (#114450)
* Mark executor jobs as background unless created from a tracked task

If the current task is not tracked the executor job should not
be a background task to avoid delaying startup and shutdown.

Currently any executor job created in a untracked task or
background task would end up being tracked and delaying
startup/shutdown

* import exec has the same issue

* Avoid tracking import executor jobs

There is no reason to track these jobs as they are always awaited
and we do not want to support fire and forget import executor jobs

* fix xiaomi_miio

* lots of fire time changed without background await

* revert changes moved to other PR

* more

* more

* more

* m

* m

* p

* fix fire and forget tests

* scrape

* sonos

* system

* more

* capture callback before block

* coverage

* more

* more races

* more races

* more

* missed some

* more fixes

* missed some more

* fix

* remove unneeded

* one more race

* two
2024-03-30 00:16:53 -04:00
Sid
aec7a67a58 Unignore Ruff PLE, PLW in tests (#114406)
* Unignore Ruff PLE, PLW in tests

* fix tests
2024-03-29 23:58:30 +01:00
Franck Nijhof
11b8b01cde Bump version to 2024.4.0b3 2024-03-29 22:22:45 +01:00
Paul Bottein
4f761c25d8 Update frontend to 20240329.1 (#114459) 2024-03-29 22:22:37 +01:00
J. Nick Koston
953ceb0d8d Avoid tracking import executor jobs (#114453) 2024-03-29 22:22:33 +01:00
J. Nick Koston
969b027a46 Avoid tracking import executor jobs (#114453) 2024-03-29 22:18:21 +01:00
Paul Bottein
3b4958d972 Update frontend to 20240329.1 (#114459) 2024-03-29 22:13:31 +01:00
Tereza Tomcova
0554ac18b8 Address late code review comment of Prusa MK3 support (#114455)
Address code review comment from #114210 (Prusa MK3 support)
2024-03-29 21:57:08 +01:00
Franck Nijhof
e53672250f Bump version to 2024.4.0b2 2024-03-29 19:35:52 +01:00
Paul Bottein
84901f1983 Update frontend to 20240329.0 (#114452) 2024-03-29 19:35:44 +01:00
Steven Looman
e4d973e8a2 Bump async-upnp-client to 0.38.3 (#114447) 2024-03-29 19:35:40 +01:00
epenet
cdd7ce435a Log warnings in Renault initialisation (#114445) 2024-03-29 19:35:37 +01:00
Mick Vleeshouwer
c7ce53cc49 Bump pyoverkiz to 1.13.9 (#114442) 2024-03-29 19:35:33 +01:00
Steven B
db7d0a0ee9 Bump python-ring-doorbell to 0.8.8 (#114431)
* Bump ring_doorbell to 0.8.8

* Fix intercom history test for new library version

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-29 19:35:30 +01:00
J. Nick Koston
906febadef Cleanup some plex tasks that delayed startup (#114418) 2024-03-29 19:35:27 +01:00
J. Nick Koston
bc740f95c9 Avoid concurrent radio operations with powerview hubs (#114399)
Co-authored-by: kingy444 <toddlesking4@hotmail.com>
2024-03-29 19:35:23 +01:00
Alexey ALERT Rubashёff
bf4e527f44 Add overkiz bottom tank water temperature and core control water temperature for Atlantic Water Heater (#114186)
* Adds bottom tank water temperature and core conrol water temperature sensors for Atlantic water heater

* Update homeassistant/components/overkiz/sensor.py

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

* Update homeassistant/components/overkiz/sensor.py

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

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 19:35:20 +01:00
Alexey ALERT Rubashёff
35e582a240 Add overkiz water targets temperature numbers for Atlantic water heater (#114185)
* Adds water targets temperature numbers for Atlantic water heater

* Update homeassistant/components/overkiz/number.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/number.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* ruff formatting reverted

* Update homeassistant/components/overkiz/number.py

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

* Update homeassistant/components/overkiz/number.py

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

* changed command hardcode to a constant

---------

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 19:35:17 +01:00
Alexey ALERT Rubashёff
65d25bd780 Add overkiz heating status, absence mode, and boost mode binary sensors for Atlantic Water Heater (#114184)
* Adds heating status, absense mode, and boost mode binary sensors for Atlantic water heater

* Renamed absence mode and boost mode binary sensors

* Update homeassistant/components/overkiz/binary_sensor.py

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

* Update homeassistant/components/overkiz/binary_sensor.py

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

* Update homeassistant/components/overkiz/binary_sensor.py

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

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 19:35:13 +01:00
Jeremy TRUFIER
b8a2c14813 Follow real AtlanticPassAPCZoneControlZone physical mode on Overkiz (HEAT, COOL or HEAT_COOL) (#111830)
* Support HEAT_COOL when mode is Auto on overkiz AtlanticPassAPCZoneControlZone

* Refactor ZoneControlZone to simplify usic by only using a single hvac mode

* Fix linting issues

* Makes more sense to use halves there

* Fix PR feedback
2024-03-29 19:35:09 +01:00
Paul Bottein
0f710f9fe0 Update frontend to 20240329.0 (#114452) 2024-03-29 19:34:16 +01:00
Alexey ALERT Rubashёff
6c6d1fb71d Add overkiz water targets temperature numbers for Atlantic water heater (#114185)
* Adds water targets temperature numbers for Atlantic water heater

* Update homeassistant/components/overkiz/number.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/number.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* ruff formatting reverted

* Update homeassistant/components/overkiz/number.py

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

* Update homeassistant/components/overkiz/number.py

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

* changed command hardcode to a constant

---------

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 19:33:13 +01:00
Joost Lekkerkerker
1c151d78a4 Don't store analytics insights info on entry level (#114429) 2024-03-29 19:29:09 +01:00
Steven Looman
eb0aa6bb82 Bump async-upnp-client to 0.38.3 (#114447) 2024-03-29 19:08:07 +01:00
Mick Vleeshouwer
87f4b1414f Bump pyoverkiz to 1.13.9 (#114442) 2024-03-29 17:46:21 +01:00
epenet
60d545e5f9 Log warnings in Renault initialisation (#114445) 2024-03-29 16:20:43 +01:00
J. Nick Koston
63ccdcb786 Avoid concurrent radio operations with powerview hubs (#114399)
Co-authored-by: kingy444 <toddlesking4@hotmail.com>
2024-03-29 16:20:26 +01:00
Jan Bouwhuis
5e3ce80488 Remove stale test for mqtt climate (#114443) 2024-03-29 16:01:50 +01:00
Luca Angemi
54c5f18aac Add uid attribute to imap_content event data (#114432)
* Add uid to imap event

* Add ´uid´ to tests

* Update test_init.py
2024-03-29 15:04:24 +01:00
Jeremy TRUFIER
5b4452a579 Follow real AtlanticPassAPCZoneControlZone physical mode on Overkiz (HEAT, COOL or HEAT_COOL) (#111830)
* Support HEAT_COOL when mode is Auto on overkiz AtlanticPassAPCZoneControlZone

* Refactor ZoneControlZone to simplify usic by only using a single hvac mode

* Fix linting issues

* Makes more sense to use halves there

* Fix PR feedback
2024-03-29 14:51:44 +01:00
Sid
dc557fca1e Refactor conversation mock_agent (#114428)
* Refactor conversation mock_agent

* Address review comments
2024-03-29 14:38:58 +01:00
Jan-Philipp Benecke
8d6d70d6b5 Use setup_test_component_platform helper for select entity component tests instead of hass.components (#114412)
* Use `setup_test_component_platform` helper for select entity component tests instead of `hass.components`

* Use _values instead of _attr_current_option

* Clean up

* Set default current_option for second mock entity

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-29 14:36:33 +01:00
Alexey ALERT Rubashёff
3381469076 Add overkiz heating status, absence mode, and boost mode binary sensors for Atlantic Water Heater (#114184)
* Adds heating status, absense mode, and boost mode binary sensors for Atlantic water heater

* Renamed absence mode and boost mode binary sensors

* Update homeassistant/components/overkiz/binary_sensor.py

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

* Update homeassistant/components/overkiz/binary_sensor.py

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

* Update homeassistant/components/overkiz/binary_sensor.py

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

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 14:07:22 +01:00
Alexey ALERT Rubashёff
8ed03112f0 Add overkiz bottom tank water temperature and core control water temperature for Atlantic Water Heater (#114186)
* Adds bottom tank water temperature and core conrol water temperature sensors for Atlantic water heater

* Update homeassistant/components/overkiz/sensor.py

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

* Update homeassistant/components/overkiz/sensor.py

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

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 14:05:18 +01:00
Mischa Siekmann
6d54f686a6 Add Integration for Energenie Power-Sockets (#113097)
* Integration for Energenie Power-Strips (EGPS)

* cleanups reocommended by reviewer

* Adds missing exception handling when trying to send a command to an unreachable device.

* fix: incorrect handling of already opened devices in pyegps api. bump to pyegps=0.2.4

* Add blank line after file docstring, and other cosmetics

* change asyncio.to_thread to async_add_executer_job

* raises HomeAssistantError EgpsException in switch services.

* switch test parameterized by entity name

* reoved unused device registry

* add translation_key and update_before_add

* bump pyegps dependency to version to 0.2.5

* combined get_device patches and put into conftest.py

* changed switch entity to use _attr_is_on and cleanups

* further cleanup

* Apply suggestions from code review

* refactor: rename egps to energenie_power_sockets

* updated test snapshot

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-29 13:29:14 +01:00
Steven B
72614c86c2 Bump python-ring-doorbell to 0.8.8 (#114431)
* Bump ring_doorbell to 0.8.8

* Fix intercom history test for new library version

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-29 12:47:21 +01:00
Joost Lekkerkerker
ed7e5c4de6 Add single config entry to Mullvad (#114426)
* Add single config entry to Mullvad

* Add single config entry to Mullvad

* Add single config entry to Mullvad

* Fix
2024-03-29 11:04:37 +01:00
Jan-Philipp Benecke
247ee6e4f0 Address late review comments for fan entity component test (#114425)
* Address late review comments for fan entity component test

* Update tests/components/fan/common.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-29 10:18:57 +01:00
Jan-Philipp Benecke
045dc3f1fb Use setup_test_component_platform helper for datetime entity component tests instead of hass.components (#114415) 2024-03-29 07:51:10 +01:00
Jan-Philipp Benecke
74d614243b Use setup_test_component_platform helper for date entity component tests instead of hass.components (#114413)
* Use `setup_test_component_platform` helper for date entity component tests instead of `hass.components`

* Remove missing
2024-03-29 07:43:19 +01:00
J. Nick Koston
61982acb17 Cleanup some plex tasks that delayed startup (#114418) 2024-03-28 20:36:33 -10:00
Jan-Philipp Benecke
a102230498 Use setup_test_component_platform helper for time entity component tests instead of hass.components (#114411) 2024-03-29 07:34:00 +01:00
Jan-Philipp Benecke
ae635a5586 Use setup_test_component_platform helper for fan entity component tests instead of hass.components (#114409) 2024-03-29 07:32:41 +01:00
Sid
a5b609f081 Enable ruff TRY401 (#114395)
* Enable ruff TRY401

* fix tests
2024-03-29 07:20:36 +01:00
Jan-Philipp Benecke
530552b4f5 Use mock_platform for device_tracker entity component tests instead of hass.components (#114398)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-28 15:23:21 -10:00
Lennard Beers
282cbfc048 Add eq3btsmart integration (#109291)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-28 15:20:56 -10:00
Jan-Philipp Benecke
4adbf7c730 Migrate nina to use single_config_entry (#114408) 2024-03-28 23:05:47 +01:00
Jan-Philipp Benecke
7d0437808a Migrate moon to use single_config_entry (#114404) 2024-03-28 21:28:02 +01:00
Jan-Philipp Benecke
3fd24989c6 Use setup_test_component_platform helper for text entity component tests instead of hass.components (#114400) 2024-03-28 21:08:25 +01:00
Franck Nijhof
612988cf3e Bump version to 2024.4.0b1 2024-03-28 20:43:23 +01:00
Scott K Logan
7a53ea4b92 Bump aioraven to 0.5.3 (#114397) 2024-03-28 20:43:10 +01:00
Paul Bottein
8e4cf4e4a7 Update frontend to 20240328.0 (#114396) 2024-03-28 20:43:07 +01:00
Franck Nijhof
53ba732ed0 Fix area search for entities of devices (#114394) 2024-03-28 20:43:03 +01:00
Michael Hansen
c81e9447f9 Filter preferred TTS format options if not supported (#114392)
Filter preferred format options if not supported
2024-03-28 20:43:00 +01:00
Franck Nijhof
8cd8718855 Fix hassfest service icons check for custom integrations (#114389) 2024-03-28 20:42:58 +01:00
Maciej Bieniek
aa30194249 Adapt Tractive integration the latest API changes (#114380)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-28 20:42:55 +01:00
Joost Lekkerkerker
80273b4873 Fix Lupusec feedback (#114374) 2024-03-28 20:42:52 +01:00
Joost Lekkerkerker
99282d27c6 Fix Swiss public transport feedback (#114373) 2024-03-28 20:42:48 +01:00
Joost Lekkerkerker
ba12652cbc Fix Suez water feedback (#114372) 2024-03-28 20:42:42 +01:00
Joost Lekkerkerker
5e0a0718e3 Fix streamlabswater feedback (#114371) 2024-03-28 20:42:39 +01:00
Marc Mueller
1c6689be41 Update pytile to 2023.12.0 (#114370) 2024-03-28 20:42:36 +01:00
Erik Montnemery
b143390d88 Improve device class of utility meter (#114368) 2024-03-28 20:42:33 +01:00
Erik Montnemery
42580a1113 Improve utility meter restore state tests (#114356) 2024-03-28 20:42:30 +01:00
Robert Resch
21bff95bd7 Fix script for checking on existing translations (#114354) 2024-03-28 20:42:27 +01:00
Christopher Bailey
737e5e70ec Bump pyunifiprotect to 5.1.2 (#114348) 2024-03-28 20:42:24 +01:00
J. Nick Koston
f204faf202 Fix empty delays in script helper (#114346)
fixes
```
Logger: homeassistant.components.automation.kamermaster_knop_4_acties_licht
Bron: components/automation/__init__.py:726
integratie: Automatisering (documentatie, problemen)
Eerst voorgekomen: 22:17:29 (5 gebeurtenissen)
Laatst gelogd: 22:59:24

While executing automation automation.kamermaster_knop_4_acties_licht
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 726, in async_trigger
    return await self.action_script.async_run(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1645, in async_run
    return await asyncio.shield(create_eager_task(run.async_run()))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 454, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 506, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 536, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 504, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 626, in _async_delay_step
    if timeout_future.done():
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'done'
```
2024-03-28 20:42:21 +01:00
Joakim Plate
f141be73c7 Bump fjaraskupan to 2.3.0 (#114344)
Update fjarakupen to 2.3.0

- Support delayed disconnection
- Speed up on/off transitions
2024-03-28 20:42:18 +01:00
Michael Hansen
04bfb1de3c Add more Ollama models (#114339)
Add more models
2024-03-28 20:42:15 +01:00
J. Nick Koston
541a6c5f64 Revert velocity change in powerview (#114337) 2024-03-28 20:42:12 +01:00
Robert Resch
824d6afa24 Remove checked in translations (#114336) 2024-03-28 20:42:09 +01:00
Robert Resch
53cc4b8c37 Download translations only once in the build pipeline (#114335) 2024-03-28 20:42:06 +01:00
Erik Montnemery
a91c03b164 Don't access States.last_reported_ts before it's added (#114333) 2024-03-28 20:42:03 +01:00
Øyvind Matheson Wergeland
f8edab0c12 Avoid changing local time on Nobø Ecohub (#114332)
nobo_hub: Pass timezone to avoid changing local time on Nobø Ecohub in handshake
2024-03-28 20:42:00 +01:00
Marcel van der Veldt
00993a6be3 Fix Matter airconditioner discovery of climate platform (#114326)
* Discover Thermostat platform for Room Airconditioner device

* add test

* Adjust docstring

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-28 20:41:57 +01:00
Maikel Punie
a18184a4c0 Bump pyduotecno to 2024.3.2 (#114320) 2024-03-28 20:41:54 +01:00
TheJulianJES
e2710184cb Bump zha-quirks to 0.0.113 (#114311) 2024-03-28 20:41:51 +01:00
Martin Hjelmare
9319528e0e Use fallback voice for selected language in cloud (#114246)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-28 20:41:47 +01:00
Paul Bottein
dbbc6914c4 Update frontend to 20240328.0 (#114396) 2024-03-28 20:38:12 +01:00
Scott K Logan
78c1efa7d4 Bump aioraven to 0.5.3 (#114397) 2024-03-28 18:52:17 +01:00
Christopher Bailey
435781be45 Bump pyunifiprotect to 5.1.2 (#114348) 2024-03-28 07:48:51 -10:00
Sid
5523cb6be8 Set ruff requires-version to 0.3.4 (#114388) 2024-03-28 18:45:07 +01:00
Marc Mueller
443bfee16d Replace partial annotations (#114177) 2024-03-28 18:33:39 +01:00
Michael Hansen
6fafb9c9b4 Filter preferred TTS format options if not supported (#114392)
Filter preferred format options if not supported
2024-03-28 11:09:15 -05:00
Franck Nijhof
3df03f5be5 Fix area search for entities of devices (#114394) 2024-03-28 16:57:29 +01:00
Franck Nijhof
192fad040a Fix hassfest service icons check for custom integrations (#114389) 2024-03-28 16:20:20 +01:00
Martin Hjelmare
f9aa7d34f8 Use fallback voice for selected language in cloud (#114246)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-28 15:44:50 +01:00
Martin Hjelmare
52ca14de48 Add matter zeroconf (#114385)
* Add matter zeroconf

* Clean up
2024-03-28 14:57:18 +01:00
Mark Adkins
2511a9a087 Add SharkIQ room targeting (#89350)
* SharkIQ Dep & Codeowner Update

* Update code owners

* SharkIQ Room-Targeting Support

* Add Tests for New Service

* Remove unreachable code

* Refine tests to reflect unreachable code changes

* Updates based on PR comments

* Updates based on PR review comments

* Address issues found in PR Review

* Update Exception type, add excption message to strings.  Do not save room list in state history.

* Update message to be more clear that only one faild room is listed

* couple more updates based on comments

---------

Co-authored-by: jrlambs <jrlambs@gmail.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-28 14:19:25 +01:00
Marc Mueller
b90542077c Update boto3 to 1.34.51 and aiobotocore to 2.12.1 (#114379) 2024-03-28 14:18:44 +01:00
Jan-Philipp Benecke
71a0a7fe00 Use setup_test_component_platform helper for switch entity component tests instead of hass.components (#114305)
* Use `setup_test_component_platform` helper for switch entity component tests instead of `hass.components`

* Do not import fixtures

* Re-add switch.py to testing_config as stub

* Rename to mock_toggle_entities
2024-03-28 13:56:23 +01:00
Marc Mueller
a3f251674a Update romy to 0.0.9 (#114360) 2024-03-28 13:56:08 +01:00
Lucas Mindêllo de Andrade
5fb12c93aa SunWEG reauth flow (#105861)
* feat(sunweg): reauth flow

* fix(sunweg): autentication as sunweg 2.1.0

* fix: configflowresult

* chore(sunweg): dedupe code

* chore(sunweg): using entry_id instead of unique_id

* test(sunweg): added test launch reauth flow

* chore(sunweg): moved test_reauth_started test

* chore(sunweg): formatting

* chore(sunweg): formating

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-28 13:53:32 +01:00
Øyvind Matheson Wergeland
596436d679 Avoid changing local time on Nobø Ecohub (#114332)
nobo_hub: Pass timezone to avoid changing local time on Nobø Ecohub in handshake
2024-03-28 13:31:55 +01:00
Marc Mueller
f80e319a4d Update pytest-xdist to 3.4.0 (#114377) 2024-03-28 13:29:43 +01:00
Maciej Bieniek
c9c0625fa5 Adapt Tractive integration the latest API changes (#114380)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-28 13:25:01 +01:00
Erik Montnemery
5b98a8458f Improve device class of utility meter (#114368) 2024-03-28 13:24:44 +01:00
Marc Mueller
68d6f96a9d Update boschshcpy to 0.2.91 (#114366) 2024-03-28 12:41:30 +01:00
Marc Mueller
62816e2041 Update aiogithubapi to 23.11.0 (#114362) 2024-03-28 12:41:08 +01:00
Jan-Philipp Benecke
22b14d83e8 Use setup_test_component_platform helper for sensor entity component tests instead of hass.components (#114316)
* Use `setup_test_component_platform` helper for sensor entity component tests instead of `hass.components`

* Missing file

* Fix import

* Remove invalid device class
2024-03-28 12:07:55 +01:00
Marc Mueller
41bd3d0853 Update pytile to 2023.12.0 (#114370) 2024-03-28 11:37:57 +01:00
Marc Mueller
d2b5769123 Update ovoenergy to 1.3.1 (#114367) 2024-03-28 11:29:31 +01:00
Marc Mueller
f0eca8233e Update aprslib to 0.7.2 (#114365) 2024-03-28 11:28:28 +01:00
Joost Lekkerkerker
795cc361ee Fix Lupusec feedback (#114374) 2024-03-28 11:12:02 +01:00
Joost Lekkerkerker
e1bff6dac4 Fix Swiss public transport feedback (#114373) 2024-03-28 11:11:28 +01:00
Joost Lekkerkerker
fc672be0ca Fix Suez water feedback (#114372) 2024-03-28 11:10:46 +01:00
Joost Lekkerkerker
72cfeff5b2 Fix streamlabswater feedback (#114371) 2024-03-28 11:09:59 +01:00
Marc Mueller
fa72d70726 Update aioazuredevops to 1.4.3 (#114361) 2024-03-28 11:08:38 +01:00
Marc Mueller
4d4d2850be Update pyudev to 0.24.1 (#114359) 2024-03-28 11:01:12 +01:00
Robert Resch
4a9c592f3c Mark core as codeowner for some folders (#114357) 2024-03-28 10:54:10 +01:00
G Johansson
fc4d960d17 Add translation support to Config Entry errors (#106305)
* Config Entry error translation

* split key and placeholders

* Fix config entries tests

* translation optional

* Mods
2024-03-28 10:52:21 +01:00
Erik Montnemery
aa9d58df67 Improve utility meter restore state tests (#114356) 2024-03-28 10:42:52 +01:00
Marc Mueller
a29dc86f62 Fix ruff error (#114364) 2024-03-28 10:31:42 +01:00
Erwin Douna
393dc289c4 Set fastdotcom to gold quality (#105598)
Gold code quality application
2024-03-28 10:24:55 +01:00
Sid
f7b7f74d10 Enable Ruff TRY201 (#114269)
* Enable Ruff TRY201

* remove redundant rules
2024-03-28 10:18:07 +01:00
Yuxin Wang
071c3abb69 Define PARALLEL_UPDATES for APCUPSD (#114134) 2024-03-28 10:17:12 +01:00
Robert Resch
ed90df309c Fix script for checking on existing translations (#114354) 2024-03-28 09:11:02 +01:00
J. Nick Koston
a07dc85bf4 Revert velocity change in powerview (#114337) 2024-03-28 07:58:07 +01:00
J. Nick Koston
bec45dacf0 Add additional coverage to the ESPHome manager (#114265) 2024-03-27 20:52:45 -10:00
Joakim Plate
ae0b41f7a7 Bump fjaraskupan to 2.3.0 (#114344)
Update fjarakupen to 2.3.0

- Support delayed disconnection
- Speed up on/off transitions
2024-03-28 06:57:02 +01:00
J. Nick Koston
f4922edb4b Fix empty delays in script helper (#114346)
fixes
```
Logger: homeassistant.components.automation.kamermaster_knop_4_acties_licht
Bron: components/automation/__init__.py:726
integratie: Automatisering (documentatie, problemen)
Eerst voorgekomen: 22:17:29 (5 gebeurtenissen)
Laatst gelogd: 22:59:24

While executing automation automation.kamermaster_knop_4_acties_licht
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 726, in async_trigger
    return await self.action_script.async_run(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1645, in async_run
    return await asyncio.shield(create_eager_task(run.async_run()))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 454, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 506, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 536, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 504, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 626, in _async_delay_step
    if timeout_future.done():
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'done'
```
2024-03-28 00:29:43 -04:00
Erik Montnemery
4d7a434254 Don't access States.last_reported_ts before it's added (#114333) 2024-03-28 00:44:01 +01:00
Maikel Punie
4ea8185d4d Bump pyduotecno to 2024.3.2 (#114320) 2024-03-28 00:43:34 +01:00
Michael Hansen
b8e9a78d6f Add more Ollama models (#114339)
Add more models
2024-03-27 18:19:34 -04:00
Robert Resch
acb9eb4818 Download translations only once in the build pipeline (#114335) 2024-03-27 22:52:02 +01:00
Arie Catsman
afcc4b58f4 Remove suggested_uom from frequency in Enphase (#114340)
remove suggested_uom from frequency
2024-03-27 22:49:34 +01:00
Marcel van der Veldt
0e12fea0cb Fix Matter airconditioner discovery of climate platform (#114326)
* Discover Thermostat platform for Room Airconditioner device

* add test

* Adjust docstring

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-27 22:35:08 +01:00
Robert Resch
d6ac8ba5c8 Remove checked in translations (#114336) 2024-03-27 22:33:06 +01:00
Franck Nijhof
3d4733a026 Bump version to 2024.5.0dev0 (#114324) 2024-03-27 19:43:38 +01:00
Marc Mueller
1120745d4e Update SignalType imports (#114287) 2024-03-27 19:41:11 +01:00
TheJulianJES
1a46158a1d Bump zha-quirks to 0.0.113 (#114311) 2024-03-27 13:53:18 -04:00
Franck Nijhof
b2e7808114 Bump version to 2024.4.0b0 2024-03-27 18:27:38 +01:00
Bram Kragten
6af0ccfa8d Update frontend to 20240327.0 (#114322) 2024-03-27 18:21:45 +01:00
puddly
fc34453caa Support the Home Assistant Connect ZBT-1 (#114213) 2024-03-27 18:20:48 +01:00
Marc Mueller
63e28f958d Use SignalType to improve typing [homekit] (#114297) 2024-03-27 18:05:01 +01:00
Joost Lekkerkerker
e626cd12aa Fix feedback in ROVA (#114308) 2024-03-27 18:01:07 +01:00
Lenn
6f1b4fad01 Fix icons for Motionblinds BLE integration (#114321)
Remove icon.json and add to icons.json
2024-03-27 18:00:18 +01:00
Joost Lekkerkerker
544215a609 Handle TypeError in Spotify (#114317) 2024-03-27 17:56:22 +01:00
David F. Mulcahey
c518acfef3 Defensively validate ZHA quirks v2 supplied entity metadata (#112643) 2024-03-27 17:48:43 +01:00
G Johansson
65230908c6 Remove deprecated forecast attribute from WeatherEntity (#110761)
* Remove deprecated forecast attribute from WeatherEntity

* Fix some

* Ruff

* ipma

* buienradar

* some more

* Some more

* More and more

* strings

* attr_forecast

* Fix nws

* Fix

* remove from coverage

* Remove recorder test

* Review comments
2024-03-27 16:51:29 +01:00
Jan Bouwhuis
1269031d11 Change min and max humidity for MQTT climate and humidifier (#114292)
Allow floats for humidity on mqtt platforms
2024-03-27 16:46:42 +01:00
Michael Hansen
e4d2985589 Bump intents to 2024.3.27 (#114312) 2024-03-27 16:43:15 +01:00
Joost Lekkerkerker
5aabb2a920 Finish ROVA init tests (#114315)
* Finish ROVA init tests

* Finish ROVA init tests

* Finish ROVA init tests
2024-03-27 16:36:42 +01:00
Jeef
fc596cde44 Version Bump for WeatherFlow Cloud Backing Lib (#114302)
Version bump to support stations going offline for some time
2024-03-27 16:24:18 +01:00
Joost Lekkerkerker
6289082dab Migrate Rova to has entity name (#114303) 2024-03-27 16:20:51 +01:00
YogevBokobza
4d27f4be51 Refactor switcher kis (#114281)
* switcher: small refactoring

* swithcer: Update switch.py

* more refactoring

* fix ruff
2024-03-27 17:15:49 +02:00
G Johansson
c21d508c2d Start deprecation of auxiliary heater in ClimateEntity (#112532)
* Start deprecation of auxiliary heater in ClimateEntity

* No issue for core integrations

* Remove unneded strings

* Move report to state_attributes
2024-03-27 16:10:32 +01:00
MarkGodwin
834f45397d Add support for PoE control of TP-Link Omada Gateways (#114138)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-27 16:05:14 +01:00
Erik Montnemery
23e9be756d Fix exception when logging out from cloud (#114306)
* Fix exception when logging out from cloud

* Add test
2024-03-27 16:02:47 +01:00
Joost Lekkerkerker
a9fd4e45cd Raise issue if not Rova area anymore (#114309) 2024-03-27 15:51:49 +01:00
Tereza Tomcova
a00c1fa241 Bump pyprusalink to 2.1.1 and support Prusa MK3 (#114210)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-27 15:26:44 +01:00
Robert Resch
1a64be6da6 Fix version_bump --set-nightly-version (#114304) 2024-03-27 14:45:28 +01:00
J. Nick Koston
ce022a1793 Fix missing powerview shade data when initial refresh fails (#113033) 2024-03-27 03:38:57 -10:00
Jan-Philipp Benecke
5316b94705 Use setup_test_component_platform helper for alarm_control_panel entity component tests instead of hass.components (#114301) 2024-03-27 14:36:31 +01:00
Marc Mueller
911a31f860 Use SignalType to improve typing [core] (#114298) 2024-03-27 14:25:02 +01:00
Jan-Philipp Benecke
6313571fbc Use setup_test_component_platform helper for binary_sensor entity component tests instead of hass.components (#114293) 2024-03-27 14:24:02 +01:00
Joost Lekkerkerker
c222cfd692 Add coordinator to Rova (#114288)
* Add coordinator to Rova

* Add coordinator to Rova

* Fix

* Update homeassistant/components/rova/sensor.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Fix

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-03-27 14:14:49 +01:00
Robert Resch
aaecbbdc40 Update bump_version.py to append also the time to nightlies and add possibility to set manual a nightly version (#114300) 2024-03-27 14:12:45 +01:00
Marc Mueller
9ea666b5e1 Use SignalType to improve typing [bthome] (#114295) 2024-03-27 08:22:44 -04:00
Marc Mueller
09ebca9630 Use SignalType to improve typing [esphome] (#114296) 2024-03-27 08:22:10 -04:00
Joost Lekkerkerker
45da6f8f2c Add tests to Rova (#114285) 2024-03-27 13:00:02 +01:00
Erik Montnemery
a3059fe504 Record state.last_reported (#114201)
* Record state.last_reported

* Include last_reported in parts of the history API

* Use a bulk update

* fix refactoring error

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-27 12:48:06 +01:00
Marc Mueller
24168dfba7 Update mypy-dev to 1.10.0a3 (#114289)
* Update mypy-dev to 1.10.0a3

* Allow TypedDict init from Type
2024-03-27 12:32:29 +01:00
Jan-Philipp Benecke
34cf0c5721 Use setup_test_component_platform func for cover entity component tests instead of hass.components (#114010)
* Use `mock_platform` for cover entity component tests instead of `hass.components`

* Remove setup fixture and use helper function

* Remove is_on from MockCover

* Run ruff

* Do not override state in `MockCover` in cover tests

* Remove is_on from MockCover
2024-03-27 12:20:19 +01:00
Marc Mueller
3929273b41 Allow float for int argument type [pylint plugin] (#114105) 2024-03-27 11:51:27 +01:00
Jan-Philipp Benecke
5c97049f2e Do not override state property in MockEntity (#114231)
Do not override state in `MockEntity`
2024-03-27 11:36:00 +01:00
Marc Mueller
44eeb2eb5e Allow Humidifier.current_humidity to be a float (#111297)
* Allow Humidifier.current_humidity to be a float

* Code review

* Allow climate humidity values to be float

* Update demo integration
2024-03-27 11:19:20 +01:00
G Johansson
b190cdceaf Remove hourly weather entity from metoffice (#112452) 2024-03-27 11:06:31 +01:00
Shai Ungar
69356300f0 Address late review of 17track config flow (#114283)
* some fixes for 17track

* remove await

* fix test
2024-03-27 11:06:13 +01:00
Lenn
6423501498 Add buttons to Motionblinds BLE integration (#114227)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-27 11:05:26 +01:00
Lenn
7b56643278 Add select to Motionblinds BLE integration (#114228)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-27 10:50:04 +01:00
J. Nick Koston
2421b42f10 Refactor yeelight scanner to avoid creating tasks to wait for scanner start (#113919) 2024-03-27 10:17:35 +01:00
J. Nick Koston
13d6ebaabf Avoid delaying automation/script startup for sample blueprints (#114277)
Avoid delaying automation/script startup to check if the blueprint folder exists

automations and script both populate sample blueprints if none exist

The check to see if the blueprint folder exists always had to create
an executor job which would delay startup a bit if the executor was
busy. Since we do not need the sample blueprints to be populated
until the start event, we can run this in a task.
2024-03-27 09:55:59 +01:00
Franck Nijhof
da78dbb61f Merge branch 'master' into dev 2024-03-27 09:43:52 +01:00
Robert Svensson
03ec1798e4 Bump aiounifi to v73 (#114278) 2024-03-27 09:43:08 +01:00
Franck Nijhof
dd2d79b77e Refactor/fix search component, including labels & floors support (#114206)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-27 09:39:05 +01:00
J. Nick Koston
d8acd90370 Run recorder shutdown tasks eagerly (#113018) 2024-03-26 22:25:45 -10:00
Marc Mueller
1d2c2d2055 Move SignalTypes to util (#114236) 2024-03-27 08:41:44 +01:00
JeromeHXP
fbb590ea1f Bump ondilo_ico to 0.4.0 (#114022) 2024-03-27 08:41:11 +01:00
dependabot[bot]
4d7da61e99 Bump actions/setup-python from 5.0.0 to 5.1.0 (#114276)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-27 08:39:56 +01:00
Lenn
480b2ec84a Add Motionblinds brand (#114235) 2024-03-27 08:02:25 +01:00
J. Nick Koston
1697b116e4 Combine tts cache init executor jobs (#114271) 2024-03-26 23:58:46 -04:00
tronikos
a6fabdc115 Fix Opower accounts that report cost less regularly than usage (#114034)
* Update coordinator.py

* Update coordinator.py
2024-03-26 17:20:16 -04:00
Michael Hansen
72fed878b4 Add Ollama conversation agent (#113962)
* Add ollama conversation agent

* Change iot class

* Much better default template

* Slight adjustment to prompt

* Make casing consistent

* Switch to ollama Python fork

* Add prompt to tests

* Rename to "ollama"

* Download models in config flow

* Update homeassistant/components/ollama/config_flow.py

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-26 16:15:20 -05:00
Jan-Philipp Benecke
f94f1fb826 Use setup_test_component_platform func for number entity component tests instead of hass.components (#114017)
* Use `setup_test_component_platform` fixture for number entity component tests instead of `hass.components`

* Now function

* Ruff format
2024-03-26 21:56:38 +01:00
Jan-Philipp Benecke
e80d73783c Do not late import config_entry in setup_test_component_platform test helper (#114260) 2024-03-26 21:54:09 +01:00
J. Nick Koston
a0d43aeba2 Remove unused code in ESPHome entry_data (#114263) 2024-03-26 10:32:16 -10:00
J. Nick Koston
6599b9a36d Restore scapy pin to >=2.5.0 (#114253) 2024-03-26 10:31:52 -10:00
J. Nick Koston
2649dfaa11 Fix ruff-format on energy sensor (#114261) 2024-03-26 10:05:55 -10:00
Mr. Bubbles
8955ef7fc6 Bump bring-api to 0.5.7 (#114252) 2024-03-26 20:53:45 +01:00
J. Nick Koston
f982473e53 Small performance improvements to energy sensors (#114149) 2024-03-26 09:40:06 -10:00
Franck Nijhof
9a32d1bbd5 Add label selector (#111029)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-26 20:31:06 +01:00
Jan-Philipp Benecke
dce3bde0ab Use setup_test_component_platform helper for update entity component tests instead of hass.components (#114203)
* Use `setup_test_component_platform` helper for update entity component tests instead of `hass.components`

* Run ruff format
2024-03-26 20:20:08 +01:00
Franck Nijhof
9a1906322b Allow numeric state trigger/condition against zone entities (#114221) 2024-03-26 19:41:46 +01:00
Ron Weikamp
e1036b3af0 Refactor Riemann sum integral sensor to prepare for time based trigger (#113932)
* Refactor Integration sensor.

* Use local simple function to verify the State is numeric.

* Merge two methods to one.

* Method renaming: _handle_state_change

* Move async_write_ha_state to the caller.

* Add comment on why attr_icon is set to None

* Remove possible None type of State in validation methods.

* Use a dict to map method name to method class.

* Explain derived unit after integration.

* Renaming to _multiply_unit_with_time and elaborate in docstring.

* Set integral unit_of_measurement explicitly to None if source unit_of_measurement is None

* One function for unit of measurement related steps.

* Improve docstring of _multiply_unit_with_time

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

* Apply f-string suggestions from code review

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

* Be more clear in comment about removing the sensors icon default.

* Apply suggestions from code review

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>

* Update homeassistant/components/integration/sensor.py

* Update homeassistant/components/integration/sensor.py

* Update homeassistant/components/integration/sensor.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
2024-03-26 19:09:48 +01:00
Franck Nijhof
c247534731 Default floor level to None (and allow unsetting it) (#114249) 2024-03-26 18:58:25 +01:00
Marc Mueller
c8260a5966 Remove test cases for task eager_start <3.12 (#114243) 2024-03-26 15:52:38 +01:00
Lenn
53944b260c Bump motionblindsble to 0.0.9 (#114232) 2024-03-26 08:17:29 -04:00
Franck Nijhof
2388e2dda9 Drop Python 3.11 support (#114220) 2024-03-26 12:51:14 +01:00
Marc Mueller
31f5576b6e Add ruff commit to git-blame-ignore-revs (#114229) 2024-03-26 12:16:55 +01:00
Marc Mueller
eb81a4204e Allow string formatting for dispatcher SignalType (#114174) 2024-03-26 10:38:29 +01:00
Erik Montnemery
dd43947ca0 Add test to ensure non callback event filter is rejected (#114182) 2024-03-26 10:36:08 +01:00
Erik Montnemery
bac527f289 Don't allow listening to state_reported in event triggers (#114191)
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-26 10:35:47 +01:00
Duco Sebel
788813aad6 Implement Identify button and Cloud connection toggle for HomeWizard Watermeter (#113814) 2024-03-26 10:34:36 +01:00
Franck Nijhof
5c69e0d2c6 Add label template functions (#111024) 2024-03-26 10:32:29 +01:00
Cyrill Raccaud
e136847b89 Add more timestamp sensors to swiss_public_transport (#107916)
* add more timestamp sensors

* more generic definition for future sensors

* add entity descriptor

* use enable property to prevent sensors from getting added

* set legacy attribute flag for first sensor

* remove departure from extra attributes

* remove breaking changes again and keep for next pr

* fix multiline statements

* outsource the multiline ifs into function

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-26 10:17:25 +01:00
Robert Resch
0338aaf577 Allow pre-releases for "Adjust nightly version" only (#114219) 2024-03-26 10:05:13 +01:00
Joost Lekkerkerker
ddee999843 Fix motion blinds formatting (#114222) 2024-03-26 09:57:19 +01:00
Lenn
70c4fa8475 Add Motionblinds BLE integration (#109497)
* initial fork

* intial tests

* Initial test coverage

* extra coverage

* complete config flow tests

* fix generated

* Update CODEOWNERS

* Move logic to PyPi library and update to pass config_flow test and pre-commit

* Remove Button, Select and Sensor platform for initial PR

* Update manifest.json

* Change info logs to debug in cover

* Use _abort_if_unique_id_configured instead of custom loop checking existing entries

* Change platforms list to PLATFORMS global

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove VERSION from ConfigFlow

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Replace all info logs by debug

* Use instance attributes in ConfigFlow

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Add return type and docstring to init in ConfigFlow

* Add recovery to tests containing errors

* Make NoBluetoothAdapter and NoDevicesFound abort instead of show error

* Change info logs to debug

* Add and change integration type from hub to device

* Use CONF_ADDRESS from homeassistant.const

* Move cover attributes initialization out of constructor

* Change CONF_ADDRESS in tests from const to homeassistant.const

* Remove unused part of tests

* Change 'not motion_device' to 'motion_device is None'

* Change _attr_connection_type to _connection_type

* Add connections to DeviceInfo

* Add model to DeviceInfo and change MotionBlindType values

* Remove identifiers from DeviceInfo

* Move constants from const to library

* Move calibration and running to library, re-add all platforms

* Remove platforms from init

* Remove button platform

* Remove select platform

* Remove sensor platform

* Bump motionblindsble to 0.0.4

* Remove closed, opening and closing attribute default values

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove CONFIG_SCHEMA from init

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove unused platform attributes and icons

* Re-add _attr_is_closed to GenericBlind to fix error

* Use entry.async_create_background_task for library instead of entry.async_create_task

* Move updating of position on disconnect to library

* Remove type hints, keep for _attr_is_closed

* Use DISPLAY_NAME constant from library for display name

* Add TYPE_CHECKING condition to assert in config_flow

* Re-add CONFIG_SCHEMA to __init__ to pass hassfest

* Change FlowResult type to ConfigFlowResult

* Fix import in tests

* Fix ruff import

* Fix tests by using value of enum

* Use lowercase name of MotionBlindType enum for data schema selector and translation

* Fix using name instead of value for MotionBlindType

* Improve position None handling

Co-authored-by: starkillerOG <starkiller.og@gmail.com>

* Improve tilt None handling

Co-authored-by: starkillerOG <starkiller.og@gmail.com>

* Change BLIND_TO_ENTITY_TYPE name

* Set entity name of cover to None and use DeviceInfo name

* Add base entity

* Move async_update to base entity

* Move unique ID with suffix to base class

* Add entity.py to .coveragerc

* Remove extra state attribute connection type

* Remove separate line hass.data.setdefault(DOMAIN, {})

* Remove use of field for key and translation_key in MotionCoverEntityDescription

* Remove entity translation with extra state_attributes from strings.json

* Use super().__init__(device, entry)

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

* Change if block in async_update_running

* Use if blocks in async_update_position

* Add additional scanner check before show_form

* Remove default value of device_class in MotionCoverEntityDescription

* Fix entry.data[CONF_BLIND_TYPE] uppercase

* Fix device info model name

* Bump motionblindsble to 0.0.5

* Fix tests

* Move entity_description to MotionblindsBLEEntity

* Change double roller blind name

* Bump motionblindsble to 0.0.6

* Fix ruff

* Use status_query for async_update

* Bump motionblindsble to 0.0.7

* Change bluetooth local name

* Set kw_only=True for dataclass

* Change name of GenericBlind

* Change scanner_count conditional

* Wrap async_register_callback in entry.async_on_unload

* Bump motionblindsble to 0.0.8

* Use set_create_task_factory and set_call_later_factory

* Update bluetooth.py generated

* Simplify COVER_TYPES dictionary

* Move registering callbacks to async_added_to_hass

* Remove check for ATTR_POSITION and ATTR_TILT_POSITION in kwargs

* Add naming consistency for device and entry

* Use if block instead of ternary for _attr_unique_id

* Improve errors ternary in config_flow

* Use set instead of list for running_type

* Improve errors ternary in config_flow

* Remove init from MotionblindsBLECoverEntity and move debug log to async_added_to_hass

* Update debug log create cover

* Fix ruff

* Use identity check instead of equals

* Use identity check instead of equals

* Change MotionblindsBLECoverEntityDescription name

* Change debug log text

* Remove ATTR_CONNECTION from const

* Add types for variables in async_setup_entry

* Add types for variables in async_setup_entry

* Change PositionBlind class name to PositionCover etc

* Improve docstrings

* Improve docstrings

---------

Co-authored-by: starkillerOG <starkiller.og@gmail.com>
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-26 09:52:04 +01:00
Arie Catsman
b9fdd56f01 Bump pyenphase to 1.20.1 (#114218) 2024-03-25 22:42:19 -10:00
Matrix
63b4fd09c1 Add YoLink Water Meter Support (#114148)
* Add YS-5006/5007/5008 Water Meter Support

* Add YoLink Water Meter Support

* Update .coveragerc

* fix as suggestion
2024-03-26 09:29:14 +01:00
J. Nick Koston
54a69a2687 Remove async_get_device_class_lookup from entity_registry (#114212)
This function was only ever used in homekit, and since there is
now an index of devices in the entity registry, homekit no longer
uses it.

I searched github code for all references to async_get_device_class_lookup
and the only think I could find using it were forks of core. It seems
unlikely that any custom components are affected by removing this
function
2024-03-26 09:22:53 +01:00
Robert Svensson
3f545cb3d3 Rework Axis entity loader to have a better internal storage structure (#114114)
* Make one single subscribe containing all topics at once

* Update homeassistant/components/axis/hub/entity_loader.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 07:55:07 +01:00
Marc Mueller
d0ecad78ac Revert "Update typing-extensions to 4.11.0rc1 (#114116)" (#114216) 2024-03-25 20:44:57 -10:00
J. Nick Koston
cabc4f797a Preload storage for integrations we know we are going to setup (#114192) 2024-03-25 15:49:54 -10:00
J. Nick Koston
345fa75562 Bump SQLAlchemy to 2.0.29 (#114208) 2024-03-25 14:39:16 -10:00
Jan-Philipp Benecke
9580adfde9 Use new setup_test_component_platform helper instead of test fixture for light platform (#114200) 2024-03-26 00:17:16 +01:00
Joost Lekkerkerker
6bb4e7d62c Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
J. Nick Koston
27219b6962 Bump anyio to 4.3.0 (#114198) 2024-03-25 23:52:28 +01:00
Jan-Philipp Benecke
2f0cfc8b61 Remove deprecated hass.components from system_health tests (#114207) 2024-03-26 00:39:31 +02:00
Jan Bouwhuis
18174ad47d Improve test coverage mqtt discovery test (#114188) 2024-03-25 22:41:11 +01:00
Shay Levy
121182167f Fix Shelly reauth flow (#114180)
* Fix Shelly reauth flow

* Rename shutdown_device to async_shutdown_device
2024-03-25 23:27:44 +02:00
Jan-Philipp Benecke
9b682388f5 Add generic test component platform setup function (#114016)
* Add generic entity platform setup fixture

* rename fixture

* No need for passing hass

* Make function instead of fixture

* Improve typing

* Use Sequence instead

* Migrate flux to use the new helper

* Use list instead

* Use Sequence instead
2024-03-25 21:36:17 +01:00
Jim
6ceeb1e41f Telegram bot proxy params deprecation (#112778)
* Add strings for issues to raise in telegram integration startup

* Allow proxy_params to be passed empty

Allows migration away from proxy_params whilst retaining a configured proxy.

* Raise issues for removing proxy_params config option

* Add types to initialize_bot function

* Add PR link for learn more URL

Update issue message to leave a comment on the PR instead

* Apply suggestions from code review

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

* hass should always be first argument

* Update issues strings to give domain and better direction.

* Update breaks_in_ha_version to something saner

* Apply strings.json suggestions from code review

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-25 21:09:34 +01:00
Erik Montnemery
e2ee623d23 Add restrictions for listening to event_reported events (#114183)
* Add restrictions for listening to event_reported events

* Update homeassistant/core.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-25 19:16:50 +01:00
J. Nick Koston
c3f4aca4e3 Add reauth support to NUT (#114131) 2024-03-25 07:59:46 -10:00
Robert Resch
135c40cad8 Add Ecovacs last job event entity (#113826)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-25 18:31:04 +01:00
G Johansson
5e70faca5f Refactor options flow in dnsip (#114058)
* Refactor options flow in dnsip

* Mods
2024-03-25 17:38:02 +01:00
Robert Svensson
71a6653f60 Fix Axis not generate unique IDs (#114115) 2024-03-25 12:21:21 -04:00
Robert Svensson
c1e1db9863 Adapt to Axis library file structure changes (#114181)
* Adapt to axis library file structure changes

* Bump axis to v59
2024-03-25 12:16:41 -04:00
Thomas55555
b71cbeff51 Bump aioautomower to 2024.3.4 (#114127)
* Bump aioautomower to 2024.3.4

* Update homeassistant/components/husqvarna_automower/sensor.py

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

* adjust imports

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-25 16:11:12 +01:00
Kevin Stillhammer
3d6600364b Bump pywaze to 1.0.0 (#108613) 2024-03-25 16:08:57 +01:00
Max von Webel
7b2166243b Updated temp offset logging in tado component (#106308)
* Updated temp offset logging in tado component

The logging is a bit confusing because it's trimming the digits from the value. Hopefully this makes it a bit more clear.

* Update homeassistant/components/tado/climate.py

Co-authored-by: Jorim Tielemans <tielemans.jorim@gmail.com>

---------

Co-authored-by: Jorim Tielemans <tielemans.jorim@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-25 15:10:16 +01:00
Manuel Dipolt
e2a26f6470 Add base entity to romy integration (#113750)
* cherry picked base entity changes from the branches romy_binary_sensor & romy_sensor

* Update homeassistant/components/romy/entity.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/romy/vacuum.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/romy/entity.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/romy/vacuum.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/romy/vacuum.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* code review changes, base entity/coordinator cleanup

---------

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
2024-03-25 14:28:07 +01:00
Joost Lekkerkerker
d398eb1f2c Add Withings webhook manager (#106311) 2024-03-25 13:59:36 +01:00
J. Nick Koston
3acb505456 Refactor homekit device linking to use the device index (#114145)
Now that we have an index of devices in the entity registry
we can avoid generating a lookup for devices we do
not care about
2024-03-25 08:28:56 -04:00
Matthias Lohr
95ddade83c Use enums to define choices in tolo (#113992)
* use enums defined in HA to define choices

* move enums to .const
2024-03-25 12:47:56 +01:00
Marc Mueller
49a4fe41c6 Update codespell to 2.2.6 (#114167) 2024-03-25 12:33:25 +01:00
Marc Mueller
56e13ef3fc Update pytest-unordered to 0.6.0 (#114162) 2024-03-25 11:45:07 +01:00
Marc Mueller
81c34ac952 Fix spelling [docstrings + comments] (#114168) 2024-03-25 11:33:00 +01:00
Marc Mueller
9b7cc088be Fix spelling [runtime] (#114169) 2024-03-25 11:32:50 +01:00
Marc Mueller
8ae2fefcf3 Update types packages (#114164) 2024-03-25 11:32:38 +01:00
G Johansson
3ba1b82723 Remove hourly weather entity from met_eireann (#112449) 2024-03-25 11:30:50 +01:00
J. Nick Koston
ada781025b Avoid homekit random id generation for existing entries (#114144) 2024-03-25 11:28:26 +01:00
Marc Mueller
188dbfbd2a Update typing-extensions to 4.11.0rc1 (#114116) 2024-03-25 11:27:47 +01:00
Jan Bouwhuis
e88ade716d Allow debugging tests by default in vscode (#114065) 2024-03-25 11:25:46 +01:00
Marc Mueller
1b6d1d58ec Update pytest-cov to 5.0.0 (#114160)
* Update pytest-cov to 5.0.0

* Update warnings filter
2024-03-25 11:23:26 +01:00
Marc Mueller
5d293f92b2 Update yamllint to 1.35.1 (#114166) 2024-03-25 11:22:55 +01:00
Marc Mueller
18bb33e2d7 Update pyOpenSSL to 24.1.0 (#114165) 2024-03-25 11:15:47 +01:00
Bouwe Westerdijk
ace21c876c Bump plugwise to v0.37.1 (#113245) 2024-03-25 11:15:33 +01:00
Marc Mueller
3643b324c0 Update pipdeptree to 2.16.1 (#114159) 2024-03-25 11:13:25 +01:00
Marc Mueller
b2da780044 Update respx to 0.21.0 (#114163) 2024-03-25 11:05:30 +01:00
Marc Mueller
ac0dc946d3 Update pytest-timeout to 2.3.1 (#114161) 2024-03-25 11:02:20 +01:00
Marc Mueller
36fdf65782 Update coverage to 7.4.4 (#114158) 2024-03-25 11:00:22 +01:00
Álvaro Fernández Rojas
33d9947a70 Add climate fan modes for Airzone Cloud Aidoo devices (#103574)
* airzone_cloud: climate: add Aidoo speeds support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Add suggested changes

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: rename _set_fan_speeds()

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: drop BASE_FAN_SPEEDS

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: refactor FAN_AUTO speed

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: document standard speeds replacement

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: fix Homekit comment

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: consistent fan speed names

Instead of mixing "low", "medium" and "high" with percentages, let's use only
percentages if there are more speeds.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-25 10:50:04 +01:00
Jan Bouwhuis
19fa39d556 Generate ConfigValidationError message from English translations (#113844)
* Fetch ConfigValidationError message from translation cache

* Sync error logmessages with translation cache

* More sync

* Cleanup

* Remove unrelated change

* Follow up comments

* Rebase and improve contructor

* Improve name

* Rename to MULTIPLE_INTEGRATION_CONFIG_ERRORS
2024-03-25 10:39:30 +01:00
Marc Mueller
a58049554d Update pytest-asyncio to 0.23.6 (#114155) 2024-03-25 10:10:37 +01:00
Robert Resch
c8948e3b1c Use uv and sort jobs in builder.yml (#114153) 2024-03-25 09:50:06 +01:00
Marc Mueller
04bc31a799 Update pre-commit to 3.7.0 (#114154) 2024-03-25 09:35:27 +01:00
Emanuel Winblad
8f0f8f9469 Bump vilfo-api-client to 0.5.0 (#114082) 2024-03-25 09:00:06 +01:00
dependabot[bot]
5c0888ba28 Bump Wandalen/wretry.action from 2.0.0 to 2.1.0 (#114150) 2024-03-25 08:56:33 +01:00
dependabot[bot]
aa1179ccc4 Bump github/codeql-action from 3.24.8 to 3.24.9 (#114151) 2024-03-25 08:55:35 +01:00
Christopher Bailey
3e01085c91 Add repair for UniFi Protect if RTSP is disabled on camera (#114088)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-24 17:30:52 -10:00
J. Nick Koston
a5128c2148 Covert system_log services to be callbacks (#114143) 2024-03-24 15:55:40 -10:00
J. Nick Koston
e8fe3d349b Bump aionut to 4.3.2 (#114142) 2024-03-24 15:55:13 -10:00
Matrix
517826fe48 Bump yolink-api to 0.4.1 fix water depth sensor error when device is not initialize (#113994) 2024-03-24 15:37:39 -10:00
J. Nick Koston
04b3049a7b Bump aionut to 4.2.1 (#114132) 2024-03-24 12:57:58 -10:00
Yuxin Wang
76052a5385 Implement diagnostics platform for APCUPSD (#112284)
* Implement diagnostic platform for APCUPSd

* Put APCUPSd in gold quality scale

* Revert quality scale update

* Use snapshot testing for apcupsd

* Prettify the code
2024-03-24 23:40:41 +01:00
J. Nick Koston
17378ce408 Bump aionut to 4.1.0 (#114125)
Handles auth errors after the password has been sent
This means we will be able to have some decent error
reporting and reauth support in the future

changelog: https://github.com/bdraco/aionut/compare/v4.0.0...v4.1.0
2024-03-24 20:50:32 +01:00
J. Nick Koston
d0dc820ced Cancel config entry setup retry at shutdown (#114124) 2024-03-24 09:09:24 -10:00
Jan Bouwhuis
c94d8c541b Fix google assistant diagnostics test (#114111)
Improve google assistant diagnostics test
2024-03-24 19:05:47 +01:00
Marc Mueller
d779333bef Use TypeVarTuple for add_job and run_job methods (#114122) 2024-03-24 18:52:39 +01:00
Jan Bouwhuis
67ab49b825 Fetch ServiceNotFound message from translation cache and fix super (#114084)
* Fetch ServiceNotFound message from translation cache and fix super

* Fix tests trace component

* Fix script errors
2024-03-24 07:41:13 -10:00
J. Nick Koston
6371b344b9 Ensure discovery can setup legacy device tracker platforms (#114101) 2024-03-24 07:38:05 -10:00
Ernst Klamer
c5893f22bf Bump xiaomi-ble to 0.28.0 (#114120) 2024-03-24 07:37:25 -10:00
Marc Mueller
11faf4adcb Replace if in range check (#114107) 2024-03-24 15:20:00 +01:00
Lars Stegman
3a3fb95454 Fix launch library translation keys (#114093)
Fix translation keys
2024-03-24 15:12:25 +01:00
Niels Perfors
db3eeec78c Tado: fix 113982 (#114109)
fix-113982
2024-03-24 13:28:09 +01:00
J. Nick Koston
d4b180cf75 Fix flapping device_tracker test_bad_platform test (#114102)
https://github.com/home-assistant/core/actions/runs/8408079861/job/23023835074
2024-03-24 13:23:12 +01:00
Robert Svensson
2e2b40f77e Add reconfigure flow to Axis integration (#114067) 2024-03-24 12:48:19 +01:00
Dave T
579084a21e Add more sensors to aurora_abb_powerone (part 2) (#114097) 2024-03-24 11:04:12 +00:00
Floris272
d14a442ac3 Improve blue current integration code (#114004) 2024-03-23 22:35:53 -10:00
Brett Adams
ba5a4a17c4 Add vehicle config to coordinator to fix bug in Teslemetry (#113850) 2024-03-23 22:29:10 -10:00
MarkGodwin
925efe0a92 Bump tplink_omada to 1.3.12 for ER7212PC support (#114077) 2024-03-23 22:27:54 -10:00
Allen Porter
2f84183ccd Bump gcal-sync to 6.0.4 (#114085) 2024-03-23 22:24:44 -10:00
J. Nick Koston
e8cb6a8e29 Optimize loading of translations (#114089) 2024-03-23 22:22:09 -10:00
J. Nick Koston
de831b6e87 Small performance improvement to template expand (#114086)
* Small performance improvement to template expand

- Avoid fetching entity sources each loop
- Skip already found entities
- Avoid startswith in favor of equality check

* unneeded changes
2024-03-24 00:24:52 -04:00
Brett Adams
f079c1c236 Allow retry during Config Flow in Advantage Air (#114083) 2024-03-23 12:40:42 -10:00
J. Nick Koston
4ac439ef88 Migrate nut to use aionut (#114078) 2024-03-23 12:02:02 -10:00
G Johansson
d4f158d079 Add reconfigure step to holiday (#114057) 2024-03-23 22:55:05 +01:00
Dave T
c82c295eed Add more sensors to aurora_abb_powerone (#114074) 2024-03-23 21:52:22 +00:00
J. Nick Koston
1c1d8d0317 Avoid creating inner function in EntityComponent setup (#114050) 2024-03-23 11:31:23 -10:00
Robert Svensson
4e03d9cd47 Centralize loading Axis entities (#114018)
Centralize platform loading
2024-03-23 21:52:00 +01:00
Shay Levy
ef3ab54f1d Fix Shelly WallDisplay device power (#114071) 2024-03-23 22:44:53 +02:00
Joost Lekkerkerker
ce12d45b50 Catch Mill timeout error (#114068)
* Catch Mill timeout error

* Catch Mill timeout error

* Catch Mill timeout error
2024-03-23 20:57:22 +01:00
J. Nick Koston
82016ff528 Refactor recorder states tests (#114073)
https://github.com/home-assistant/core/pull/113985#discussion_r1536596573
2024-03-23 15:41:12 -04:00
J. Nick Koston
4f18f0d902 Fix setup timings when config entry platform loads are not awaited (#113959)
* Move setup time logging into the context manager

We were fetching the time twice but since the context
manager already has the timing, move it there

* remove log setup assertions from integration test

* tweak logging to give us better data for tracking issues

* redundant

* adjust

* preen

* fixes

* adjust

* make api change internal so nobody uses it

* coverage

* fix test

* fix more tests

* coverage

* more tests assuming internal calls

* fix more

* adjust

* adjust

* fix axis tests

* fix broadlink -- it does not call async_forward_entry_setup

* missed some

* remove useless patch

* rename, detect it both ways

* clear

* debug

* try to fix

* handle phase finishing out while paused

* where its set does not need to know its late as that is an implemenation detail of setup

* where its set does not need to know its late as that is an implemenation detail of setup

* tweak

* simplify

* reduce complexity

* revert order change as it makes review harder

* revert naming changes as it makes review harder

* improve comment

* improve debug

* late dispatch test

* test the other way as well

* Update setup.py

* Update setup.py

* Update setup.py

* simplify

* reduce
2024-03-23 15:26:38 -04:00
Jan Bouwhuis
a4f52cc622 Use a constant to reference homeassistant domain (#113889)
* Use CONF_CORE to reference `homeassistant` domain

* Just use DOMAIN

* USE DOMAIN for `homeasistant` domain in config_schema.py

* Use DOMAIN_HA as constant for homeassistant domain

* Rename CONF_CORE to DOMAIN_HA

* Rename DOMAIN_HA to HA_DOMAIN

* Use relative import

* Use direct imports
2024-03-23 19:58:39 +01:00
On Freund
c661622332 Add Risco system binary sensors (#114062)
* Add Risco system binary sensors

* Remove leading underscore

* Address code review commments
2024-03-23 19:35:12 +01:00
Jiaqi Wu
d75315f225 Add Lutron Serena tilt only wood blinds (#113791) 2024-03-23 07:48:24 -10:00
Brian Rogers
dbb4cf0ee7 Add Rachio smart hose timer support (#107901)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-23 07:36:03 -10:00
G Johansson
3c13a28357 Bump holidays to 0.45 (#114069) 2024-03-23 17:24:34 +01:00
Greg Dowling
3ec9312f0e Fix bug in roon media player to use correct 'seek position' while playing a track. (#113999)
Chance source of 'seek position' to be the one that roon updates while playing!
2024-03-23 14:53:40 +01:00
On Freund
1a6ff5c2d5 Bump pyrisco to 0.6.0 (#114063) 2024-03-23 14:45:17 +01:00
Mick Vleeshouwer
ebda0d832c Enable turn_on / turn_off features for HitachiAirToAirHeatPump in Overkiz (#112990)
Enable turn_on / turn_off features
2024-03-23 14:27:00 +01:00
Robert Resch
8d51ff0f2c Create registry matrix to run publishing for images in parallel (#114060) 2024-03-23 13:29:29 +01:00
Dave T
9451a14e5c Migrate UpdateCoordinator to its own file in aurora_abb_powerone (#114053)
Migrate *UpdateCoordinator to its own file.
2024-03-23 12:30:38 +01:00
J. Nick Koston
de62b7774f Reduce sqlalchemy reflection overhead at recorder setup time (#113989) 2024-03-23 11:25:05 +01:00
G Johansson
7b0abb00aa Show correct ipv6 address in System Monitor (#114024) 2024-03-23 11:24:17 +01:00
Robert Resch
ce48e6e574 Fix building images for nightlies (#114054) 2024-03-23 11:22:38 +01:00
J. Nick Koston
31fb02a71d Fix after deps not being considered for integrations before stage 1 (#114045) 2024-03-23 11:21:56 +01:00
J. Nick Koston
ac80d38871 Fix flakey stream hls test (#114046) 2024-03-23 11:11:42 +01:00
G Johansson
ebe6c35b4c Smhi add reconfigure step to config flow (#114044)
* Add reconfigure step to SMHI

* Check location

* Add test

* Add test entity and device
2024-03-23 11:01:59 +01:00
J. Nick Koston
900e0c07bf Load light profiles in a task to avoid delaying platform setup (#114038) 2024-03-23 10:51:03 +01:00
Jeremy TRUFIER
4f22c85e39 Fix missing linked device on Overkiz integration (#114006)
* Fix missing linked device (#112731)

* Update homeassistant/components/overkiz/executor.py

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

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-23 10:21:20 +01:00
J. Nick Koston
39c44ad5b7 Move setup of legacy device_tracker see service to legacy setup task (#114043)
* Move setup of legacy device_tracker see service to legacy setup task

device_tracker can setup synchronously now if there are no legacy
platforms that have to be import to validate the config

The see service is not useful until at least one legacy platform
is loaded so there is no reason to wait for it in the base
setup.

* collapse
2024-03-23 09:40:34 +01:00
kingy444
c2771791a3 Add Powerview Type 11 (#114047) 2024-03-22 17:09:36 -10:00
J. Nick Koston
952f47ab18 Combine recorder and frontend bootstrap step (#113985) 2024-03-22 13:50:39 -10:00
Robert Svensson
bf8d880e5f Improve axis tests (#114035)
* Combine binary sensor tests into more logical groups

* Improve light tests

* Clean up switch tests

* Improve typing in conftest

* Add typing to camera

* Improve binary sensor

* Improve light

* Improve switch
2024-03-23 00:44:06 +01:00
kingy444
26b6bd83fc Move powerview timeout logic to the upstream api (#113984) 2024-03-22 13:38:33 -10:00
Marc Mueller
efc54971d3 Update empty line formatting after module docstring (#114040) 2024-03-23 00:27:57 +01:00
Marc Mueller
1dbc94162d Update byte string formatting (2) (#114039) 2024-03-23 00:22:15 +01:00
Marc Mueller
596ddbb6eb Update pytest warnings filter (#114036) 2024-03-22 23:58:27 +01:00
alexsydell
9e86f82a1b Add ecobee indefinite away preset, remove unusable/broken presets (#108636)
* Add ecobee indefinite away preset, remove unusable/broken presets

* Revert cleanup of presets which no longer work
2024-03-22 22:45:54 +01:00
Robert Svensson
d3c68303b0 Improve deCONZ test_non_color_light_reports_color (#114021) 2024-03-22 22:18:22 +01:00
kingy444
7d9fa64a66 Add missing is_closed property to powerview tilt only entities (#113792)
* add tilt closed

* add current positioning
2024-03-22 20:34:00 +01:00
Arie Catsman
205c457a77 Add home battery storage entities for enphase_envoy (#114015) 2024-03-22 08:46:39 -10:00
Robert Svensson
817d931df0 Define and use entity description in Axis entity base class (#114007)
Define and use entity description in entity base class
2024-03-22 13:59:07 -04:00
Franck Nijhof
25909f2ebd 2024.3.3 (#114005) 2024-03-22 18:47:59 +01:00
J. Nick Koston
68e170284f Speed up recorder startup by making schema query read only (#113987) 2024-03-22 18:29:46 +01:00
Robert Svensson
bbb80caed3 Tweak marking private methods in UniFi, no need to mark inner functio… (#113964) 2024-03-22 18:10:07 +01:00
Robert Svensson
6800034d5a Rename device to api in Axis integration (#113965) 2024-03-22 18:07:33 +01:00
Robert Svensson
2d2249386e Bump axis to v58 (#114008) 2024-03-22 17:53:17 +01:00
Robert Svensson
c6f2ff8e88 Bump axis to v58 (#114008) 2024-03-22 17:52:45 +01:00
Jan-Philipp Benecke
cd0c9e1c4f Remove deprecated hass.components from conversation tests and use light setup fixture (#114012) 2024-03-22 17:52:10 +01:00
Jan-Philipp Benecke
01acbc8bba Remove deprecated hass.components from zeroconf tests (#114013) 2024-03-22 17:51:39 +01:00
Jan-Philipp Benecke
edc19328c0 Remove deprecated hass.components from scene tests (#114014) 2024-03-22 17:48:53 +01:00
Jan-Philipp Benecke
08529b3806 Remove deprecated hass.components from frontend tests (#114011) 2024-03-22 17:35:43 +01:00
Robert Resch
c282172252 Use uv instead of pip on production images (#112496) 2024-03-22 16:50:07 +01:00
Duco Sebel
cad3be8213 Add new HomeWizard Energy Socket to tests (#113406) 2024-03-22 16:48:27 +01:00
Franck Nijhof
32b4814f2a Bump version to 2024.3.3 2024-03-22 16:35:21 +01:00
Franck Nijhof
d1644f3713 Update cosign to 2.2.3 (#113996) 2024-03-22 16:35:05 +01:00
G Johansson
7df0d3b140 Remove hourly weather entity from NWS (#112503) 2024-03-22 16:32:29 +01:00
G Johansson
4fb11dc4f3 Remove hourly weather entity from Aemet (#110764) 2024-03-22 16:31:43 +01:00
Duco Sebel
48553ece68 Remember entered IP when error happend while setting up HomeWizard (#113815) 2024-03-22 16:10:03 +01:00
Robert Svensson
a9e857202d Axis use entity descripton binary sensor platform (#113705) 2024-03-22 15:49:51 +01:00
Federico D'Amico
5b6361080c Add cover platform to microBees (#111135) 2024-03-22 14:31:09 +01:00
Aarni Koskela
29cdac381c Add reformatting commits to .git-blame-ignore-revs (#110481) 2024-03-22 14:29:49 +01:00
Joost Lekkerkerker
8aa6447a4f Add icon translations to Wiz (#112358) 2024-03-22 14:04:13 +01:00
Federico D'Amico
aae85edb73 Add binary sensor platform to microBees (#111190) 2024-03-22 14:01:36 +01:00
Massimo Savazzi
16283aad49 Update JVC Projector polling time to be more responsive for automations (#113765) 2024-03-22 14:00:10 +01:00
Jan Bouwhuis
9ca253213c Correct HomeAssistantError __str__ implementation and test (#113991)
Correct HomeAssistant sub class implementation and test
2024-03-22 13:39:36 +01:00
Franck Nijhof
ee2e98b475 Update cosign to 2.2.3 (#113996) 2024-03-22 13:27:06 +01:00
Joakim Sørensen
a2143a7c1a Return default repairs flow for cloud TTS issues (#113981)
* Set TTS repairs as not fixable

* Return default confirm flow for fixable cloud issues

* Depend on repairs

* Test default repair flow

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-22 11:20:47 +01:00
Paulus Schoutsen
7b431a91b3 2024.3.2 - fix (#113978) 2024-03-21 22:35:16 -04:00
dependabot[bot]
93289c9f09 Bump home-assistant/builder from 2024.01.0 to 2024.03.5 (#113887)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-21 22:20:49 -04:00
J. Nick Koston
abb217086f Group wemo platform forwards to reduce overhead (#113972) 2024-03-21 21:59:50 -04:00
Paulus Schoutsen
f10d924e8b 2024.3.2 (#113973)
* Streamline Notion config entry updates (refresh token and user ID) (#112832)

* Bump aioautomower to 2024.3.2 (#113162)

* Bump aioautomower to 2024.3.3 (#113430)

* Check for EA release channel for UniFi Protect (#113432)

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

* Bump `pysnmp-lextudio` to version `6.0.11` (#113463)

* Tado fix water heater (#113464)

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

* Bump aiodhcpwatcher to 0.8.2 (#113466)

* Bump axis to v55 (#113479)

* Bump croniter to 2.0.2 (#113494)

* Revert setting communication delay in Risco init (#113497)

* Bump pyrisco to 0.5.10 (#113505)

* Fix missing context when running script from template entity (#113523)

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

* Bump ical to 7.0.3 to fix local-todo persisted with invalid DTSTART values (#113526)

* Fix Airthings BLE illuminance sensor name (#113560)

* Ignore Shelly block update with cfgChanged None (#113587)

* Catch `TimeoutError` in `Brother` config flow (#113593)

* Catch TimeoutError in Brother config flow

* Update tests

* Remove unnecessary parentheses

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>

* Bump axis to v56 (#113608)

* Bump pyunifiprotect to 5.0.1 (#113630)

* Bump pyunifiprotect to 5.0.2 (#113651)

* Add removal condition to Shelly battery sensor (#113703)

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>

* Bump aioraven to 0.5.2 (#113714)

* Fix unknown values in onewire (#113731)

* Fix unknown values in onewire

* Update tests

* Bump pymodbus v3.6.6 (#113796)

* Catch API errors in cast media_player service handlers (#113839)

* Catch API errors in cast media_player service handlers

* Remove left over debug code

* Fix wrapping of coroutine function with api_error

* Bump pychromecast to 14.0.1 (#113841)

* Fix startup race in cast (#113843)

* Redact the area of traccar server geofences (#113861)

* Bump pytedee_async to 0.2.17 (#113933)

* Bump axis to v57 (#113952)

* Bump version to 2024.3.2

---------

Co-authored-by: Aaron Bach <bachya1208@gmail.com>
Co-authored-by: Thomas55555 <59625598+Thomas55555@users.noreply.github.com>
Co-authored-by: Christopher Bailey <cbailey@mort.is>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Lex Li <425130+lextm@users.noreply.github.com>
Co-authored-by: Erwin Douna <e.douna@gmail.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
Co-authored-by: On Freund <onfreund@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Allen Porter <allen@thebends.org>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: Scott K Logan <logans@cottsay.net>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: jan iversen <jancasacondor@gmail.com>
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
2024-03-21 21:57:36 -04:00
Erik Montnemery
79f2eaaf41 Deprecate the panel_iframe integration (#113410)
* Deprecate the panel_iframe integration

* Address review comments

* Customize issue text

* Update test
2024-03-22 02:48:52 +01:00
J. Nick Koston
5b9f40b0f0 Pre import mobile app platforms to avoid having to wait on them (#113966) 2024-03-22 02:40:15 +01:00
Paul Chanvin
b2cab70cc0 Fix argument name in async_update_ha_state warning message (#113969)
Fixed warning message using async_update_ha_state
2024-03-22 02:26:11 +01:00
Paulus Schoutsen
91bb321d8f Bump version to 2024.3.2 2024-03-21 20:25:19 -04:00
Robert Svensson
19ef92735c Bump axis to v57 (#113952) 2024-03-21 20:25:11 -04:00
Josef Zweck
6c274abc50 Bump pytedee_async to 0.2.17 (#113933) 2024-03-21 20:25:10 -04:00
Joakim Sørensen
1e57f52ba2 Redact the area of traccar server geofences (#113861) 2024-03-21 20:25:09 -04:00
Erik Montnemery
8056886c66 Fix startup race in cast (#113843) 2024-03-21 20:25:08 -04:00
Erik Montnemery
14c4cdc089 Bump pychromecast to 14.0.1 (#113841) 2024-03-21 20:25:07 -04:00
Erik Montnemery
4132a3d2ea Catch API errors in cast media_player service handlers (#113839)
* Catch API errors in cast media_player service handlers

* Remove left over debug code

* Fix wrapping of coroutine function with api_error
2024-03-21 20:25:07 -04:00
jan iversen
d67cd2af0c Bump pymodbus v3.6.6 (#113796) 2024-03-21 20:25:06 -04:00
epenet
33678ff5a4 Fix unknown values in onewire (#113731)
* Fix unknown values in onewire

* Update tests
2024-03-21 20:25:05 -04:00
Scott K Logan
6859bae0b1 Bump aioraven to 0.5.2 (#113714) 2024-03-21 20:25:04 -04:00
Maciej Bieniek
368586c9d1 Add removal condition to Shelly battery sensor (#113703)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-21 20:25:03 -04:00
Christopher Bailey
eb8a8424a5 Bump pyunifiprotect to 5.0.2 (#113651) 2024-03-21 20:25:03 -04:00
Christopher Bailey
686487e59c Bump pyunifiprotect to 5.0.1 (#113630) 2024-03-21 20:25:02 -04:00
Robert Svensson
fa9f5bd647 Bump axis to v56 (#113608) 2024-03-21 20:25:00 -04:00
Maciej Bieniek
2e2d303291 Catch TimeoutError in Brother config flow (#113593)
* Catch TimeoutError in Brother config flow

* Update tests

* Remove unnecessary parentheses

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-21 20:24:59 -04:00
Shay Levy
0a64ae2f7a Ignore Shelly block update with cfgChanged None (#113587) 2024-03-21 20:24:58 -04:00
Joost Lekkerkerker
a7908d8250 Fix Airthings BLE illuminance sensor name (#113560) 2024-03-21 20:24:58 -04:00
Allen Porter
4a620e015f Bump ical to 7.0.3 to fix local-todo persisted with invalid DTSTART values (#113526) 2024-03-21 20:24:57 -04:00
Erik Montnemery
d5864a40a8 Fix missing context when running script from template entity (#113523)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-21 20:24:56 -04:00
On Freund
05b900321b Bump pyrisco to 0.5.10 (#113505) 2024-03-21 20:24:55 -04:00
On Freund
5163b5f888 Revert setting communication delay in Risco init (#113497) 2024-03-21 20:24:27 -04:00
Diogo Gomes
8bae8fdd75 Bump croniter to 2.0.2 (#113494) 2024-03-21 20:22:08 -04:00
Robert Svensson
de966b0eb1 Bump axis to v55 (#113479) 2024-03-21 20:22:07 -04:00
J. Nick Koston
099c228169 Bump aiodhcpwatcher to 0.8.2 (#113466) 2024-03-21 20:21:32 -04:00
Erwin Douna
a5994d1d5f Tado fix water heater (#113464)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-03-21 20:16:26 -04:00
Lex Li
26b26a3b1f Bump pysnmp-lextudio to version 6.0.11 (#113463) 2024-03-21 20:16:25 -04:00
Christopher Bailey
273d01c0f4 Check for EA release channel for UniFi Protect (#113432)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-21 20:16:24 -04:00
Thomas55555
a167b0acaf Bump aioautomower to 2024.3.3 (#113430) 2024-03-21 20:16:23 -04:00
Thomas55555
8b00229868 Bump aioautomower to 2024.3.2 (#113162) 2024-03-21 20:15:49 -04:00
Aaron Bach
10fc40e415 Streamline Notion config entry updates (refresh token and user ID) (#112832) 2024-03-21 20:10:42 -04:00
Arie Catsman
5f5d40ed52 Bump pyenphase to 1.20.0 (#113963) 2024-03-21 13:56:31 -10:00
Jan Bouwhuis
4da701a8e9 Add guard to HomeAssistantError __str__ method to prevent a recursive loop (#113913)
* Add guard to HomeAssistantError `__str__` method to prevent a recursive loop

* Use repr of class instance instead

* Apply suggestion to explain __str__ method is missing

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-21 23:12:25 +01:00
Dave T
a6d98c1857 Improve user error messages for generic camera (#112814)
* Generic camera: Insufficient error message when configuration fails
Fixes #112279

* Add tests

* Fix typo in string

* Add new error strings to options flow.

* Group and improve error strings following PR review
2024-03-21 21:54:45 +00:00
Robert Svensson
0c791051b8 Bump axis to v57 (#113952) 2024-03-21 21:42:42 +01:00
J. Nick Koston
9a863638f6 Avoid writing HomeKit state to disk unless its missing (#111970) 2024-03-21 09:19:55 -10:00
J. Nick Koston
d0708b5b32 Fix grammar in async_get_platform comment (#113948)
https://github.com/home-assistant/core/pull/113917#pullrequestreview-1951203739
2024-03-21 15:10:47 -04:00
Shay Levy
63275d61a5 Add Shelly RGB/RGBW profiles support (#113808)
* Add Shelly RGB/RGBW profiles support

* Update homeassistant/components/shelly/light.py

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

* Use walrus in rgbw_key_ids

* Use walrus in light_key_ids

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-21 21:04:50 +02:00
Simone Chemelli
8728057b1b Add support for Shelly RPC devices custom TCP port (#110860)
* First coding

* add port to config_entry + gen1 not supported msg

* fix async_step_credentials

* strings

* fix reauth

* fix visit device link

* increased MINOR_VERSION

* apply review comments

* align to latest aioshelly

* missing tests

* introduce port parameter

* update tests

* remove leftover

* remove "port" data_description key

* missing key

* apply review comments

* apply more review comments

* Add tests

* apply review comment

* apply review comment (part 2)

* description update

* fine tuning description

* fix test patching

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-03-21 19:58:56 +01:00
J. Nick Koston
8141a246b0 Remove unrelated patching from scrape test (#113951)
https://github.com/home-assistant/core/pull/105516#discussion_r1534459365

The fixture already is designed to go unavailable on the 3rd update
2024-03-21 19:54:24 +01:00
Thomas55555
63221356f6 Add select platform to Husqvarna Automower (#113816)
* Add select platform to Husqvarna Automower

* docstring

* address review

* pin headlight_modes list

* Apply suggestions from code review

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

* Apply review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-21 17:07:09 +01:00
Josef Zweck
b4c36d4676 Bump pytedee_async to 0.2.17 (#113933) 2024-03-21 15:27:51 +01:00
G Johansson
9289fa23a1 Add availability to Scrape config flow (#105516) 2024-03-21 13:13:25 +01:00
Josef Zweck
e5fa6f0176 Add Bluetooth support to La Marzocco integration (#108287)
* init

* init tests

* linting

* checks

* tests, linting

* pylint

* add tests

* switch tests

* add water heater tests

* change icons

* extra args cleanup

* moar tests

* services tests

* remove extra platforms

* test for unique id

* back to single instance

* add diagnostics

* remove extra platforms

* test for unique id

* back to single instance

* Add better connection management for Idasen Desk (#102135)

* Return 'None' for light attributes when off instead of removing them (#101946)

* Bump home-assistant-bluetooth to 1.10.4 (#102268)

* Bump orjson to 3.9.9 (#102267)

* Bump opower to 0.0.37 (#102265)

* Bump Python-Roborock to 0.35.0 (#102275)

* Add CodeQL CI Job (#102273)

* Remove unused dsmr sensors (#102223)

* rebase messed up conftest

* more tests for init

* add client to coveragerc

* add client to coveragerc

* next lmcloud version

* strict typing

* more typing

* allow multiple machines

* remove unneeded var

* Update homeassistant/components/lamarzocco/coordinator.py

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

* Update homeassistant/components/lamarzocco/diagnostics.py

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

* Update homeassistant/components/lamarzocco/__init__.py

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

* PR suggestions

* remove base exception

* Update manifest.json

* update lmcloud

* update lmcloud

* remove ignore

* selection bugfix for machines with space in name

* bugfix temps

* add options flow

* send out full user input

* remove options flow

* split the tests to avoid timeouts

* use selectoptionsdict for selection

* removing rccoleman

* improve test coverage to 100%

* Update config_flow.py

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

* Update config_flow.py

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

* Update config_flow.py

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

* autoselect cloud machine for discovered machine

* move default values to 3rd party lib

* bring property changes from lmcloud

* moving things to lmcloud

* move validation to method

* move more things to lmcloud

* remove unused const

* Update homeassistant/components/lamarzocco/coordinator.py

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

* Update homeassistant/components/lamarzocco/coordinator.py

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

* Update homeassistant/components/lamarzocco/__init__.py

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

* Update homeassistant/components/lamarzocco/__init__.py

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

* remove callback from coordinator

* remove waterheater, add switch

* improvement to background task

* next lmcloud

* adapt to lib changes

* Update homeassistant/components/lamarzocco/strings.json

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

* Update homeassistant/components/lamarzocco/entity.py

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

* Update homeassistant/components/lamarzocco/entity.py

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

* Update homeassistant/components/lamarzocco/switch.py

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

* Update homeassistant/components/lamarzocco/switch.py

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

* Update homeassistant/components/lamarzocco/entity.py

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

* Update homeassistant/components/lamarzocco/strings.json

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

* requested changes

* Update homeassistant/components/lamarzocco/switch.py

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

* Update homeassistant/components/lamarzocco/entity.py

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

* Update tests/components/lamarzocco/test_config_flow.py

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

* Update tests/components/lamarzocco/test_config_flow.py

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

* some requested changes

* changes

* requested changes

* move steam boiler to controls

* fix: remove entities from GS3MP model + tests

* remove dataclass decorator

* next lmcloud version

* improvements

* move reauth to user step

* improve config flow

* remove asserts in favor of runtimeerrors

* undo conftest comment

* make duc return none

* Update homeassistant/components/lamarzocco/switch.py

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

* Update homeassistant/components/lamarzocco/entity.py

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

* Update homeassistant/components/lamarzocco/config_flow.py

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

* remove diagnostics, changes

* refine config flow

* remove runtimeerrors in favor of asserts

* move initialization of lm_client to coordinator

* remove things from lmclient

* remove lm_client

* remove lm_client

* bump lm version

* correctly set initialized for tests

* move exception handling inside init + tests

* add test for switch without bluetooth on

* bump lmcloud

* pass httpx client to LMLocalAPI

* add call function to reduce code

* switch to snapshot testing

* remove bluetooth

* bump version

* cleanup import

* remove unused const

* set correct integration_type

* correct default selection in CF

* reduce unnecessary tests by fixture change

* use other json loads helpers

* move prebrew/infusion to select entity

* bump lmcloud

* Update coordinator.py

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

* Update coordinator.py

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

* Update coordinator.py

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

* Update entity.py

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

* Update entity.py

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

* requested feedback

* step description, bump lmcloud

* create init integration functino

* revert

* ruff

* remove leftover BT test

* make main switch main entity

* bump lmcloud

* re-add bluetooth

* improve

* bump firmware (again)

* correct test

* Update homeassistant/components/lamarzocco/coordinator.py

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

* Update homeassistant/components/lamarzocco/entity.py

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

* Update homeassistant/components/lamarzocco/strings.json

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

* separate device test

* add BT to entites

* fix import

* docstring

* minor

* fix rebase

* get device from discovered devices

* tweak

* change tests

* switch to dict

* switch to options

* fix

* fix

---------

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: tronikos <tronikos@users.noreply.github.com>
Co-authored-by: Luke Lashley <conway220@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: dupondje <jean-louis@dupond.be>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-21 13:08:11 +01:00
Jan-Philipp Benecke
e23943debf Remove deprecated hass.components from flux switch tests and use fixture (#113875) 2024-03-21 11:44:05 +01:00
dependabot[bot]
ccfe0ba036 Bump Wandalen/wretry.action from 1.4.10 to 2.0.0 (#113888)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-21 11:43:11 +01:00
starkillerOG
cd934c21f9 Add Reolink hdd/sd card storage sensor (#110961) 2024-03-21 11:41:32 +01:00
Erik Montnemery
25fe74aec5 Remove AUX heating from demo climate (#113929) 2024-03-21 11:35:27 +01:00
Ingmar Delsink
67a14d0463 Add transmission-integration path and protocol (#104334)
This updates the config_flow migration from v1.1 to v1.2
including migration tests
2024-03-21 11:05:36 +01:00
Jan-Philipp Benecke
ff6812a798 Split light fixture from implementation to only import when fixture is actually used (#113892)
* Split light fixture from implementation to only import when fixture is actually used

* Non-local import
2024-03-21 10:49:32 +01:00
jan iversen
e1897906cc modbus: Remove PARALLEL_UPDATES from base_platform (#113928)
Remove PARALLEL_UPDATES from base_platform.
2024-03-21 10:43:58 +01:00
Thomas55555
80c8b94021 Add diagnostics to Husqvarna Automower (#111857) 2024-03-21 10:06:40 +01:00
jan iversen
59c4c85089 Upgrade Modbus quality scale to platinum (#113482)
Quality scale: Platinum.
2024-03-21 09:49:37 +01:00
Sid
8e1f57f663 Enable Ruff PT023, disable PT011, PT012, PT018 (#113900)
* Enable Ruff PT023

* Set mark parantheses to False

* Disable PT011, PT012, PT018
2024-03-21 09:43:27 +01:00
J. Nick Koston
3b66328591 Add a fast path for async_get_platform (#113917) 2024-03-21 09:34:33 +01:00
J. Nick Koston
f662e7e3cf Only calculate native value once per update in systemmonitor (#113921) 2024-03-21 09:33:36 +01:00
J. Nick Koston
0b0d3a2091 Add run_immediately to the trace stop listener (#113922) 2024-03-21 09:32:43 +01:00
J. Nick Koston
7758f41c5a Load system info with base functionality (#113923) 2024-03-21 09:24:39 +01:00
Jan Bouwhuis
dc38d152df Fetch ServiceNotFound message from translation cache (#113893) 2024-03-21 06:54:29 +01:00
Jan Bouwhuis
8edbf88da1 Fetch MaxLengthExceeded exception mesage from the translation cache (#113904)
* Fetch MaxLengthExceeded exception mesage from the translation cache

* Update homeassistant/components/homeassistant/strings.json

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

* Add case without homeassistant integration

* Fix test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-21 06:53:26 +01:00
Jesse Hills
6ddef7bbff ESPHome: Add Time Entity support (#113852) 2024-03-21 16:59:43 +13:00
J. Nick Koston
aebc95b1d2 Reduce overhead to construct and validate entity service schema (#113920) 2024-03-20 16:07:17 -10:00
J. Nick Koston
e015fd2440 Use intersection for determine_script_action (#113915) 2024-03-20 16:06:59 -10:00
J. Nick Koston
b574220247 Refactor rate limit helper to track time in seconds (#113898)
* Refactor rate limit helper to track time in seconds

Currently we created datetime and timedelta objects to enforce the
rate limit. When the rate limit was being hit hard, this got expensive.

We now use floats everywhere instead as they are much cheaper which
is important when we are running up against a rate limit, which is
by definition a hot path

The rate limit helper is currently only used for templates and
we do not have any code in the code base that directly passes
in a rate limit so the impact to custom components is expected
to be negligible if any

* misesd two
2024-03-20 19:49:37 -04:00
J. Nick Koston
b311fe2a0f Reduce overhead to clear cache in button state (#113895)
Same optimization as #113136
2024-03-20 19:41:24 -04:00
J. Nick Koston
1e54595084 Use faster time compare in history and live logbook (#113897) 2024-03-20 19:40:23 -04:00
J. Nick Koston
e9c1753f3a Cache parsing the url for the device registry (#113910)
* Cache parsing the url for the device registry

There are lots of hub integrations that use the same url for every
sub-device which results in a lot of url parsing at startup. The
logic can be simplified quite a bit here by only using yarl
for URLs

* fix onvif
2024-03-20 19:35:01 -04:00
J. Nick Koston
267fe3dc34 Fix system_info importing hassio in the event loop (#113903) 2024-03-20 12:06:40 -10:00
J. Nick Koston
ac175a4240 Fix flakey test_reading_yaml_config test (#113902) 2024-03-20 10:39:31 -10:00
J. Nick Koston
cf8455336c Small cleanup to unifiprotect subscriptions (#113901) 2024-03-20 10:09:42 -10:00
Erik Montnemery
426f73b1f4 Add State.last_reported (#113511)
* Add State.last_reported

* Update tests

* Update test snapshots

* Call state_reported listeners when firing state_changed event

* Add tests
2024-03-20 21:05:07 +01:00
J. Nick Koston
e74791083e Fix duplicate events in live history (#113896) 2024-03-20 20:14:17 +01:00
dependabot[bot]
dfbfdf781e Bump home-assistant/builder from 2024.01.0 to 2024.03.5 (#113887)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-20 20:13:44 +01:00
uchagani
15ac81aae9 Bump islamic_prayer_times to 0.0.12 (#113744) 2024-03-20 17:06:57 +01:00
Simone Chemelli
bd2ee161f3 Bump aioshelly to 8.2.0 (#113886)
aioshelly bump to 8.2.0
2024-03-20 17:06:16 +01:00
Matrix
3b0ac469d4 YoLink fix cover incorrect state (#104975)
* Fix cover incorrect state

* Change entity to unavailable
2024-03-20 16:45:21 +01:00
Joost Lekkerkerker
0e7e1cb34f Remove obsolete issue strings in WAQI (#113884) 2024-03-20 16:17:12 +01:00
Joakim Sørensen
83cf59e6a8 Provide better debug capabilities for the Traccar Server integration (#113868) 2024-03-20 15:40:46 +01:00
Martin Hjelmare
c5f6925948 Add matter device serial number (#113878) 2024-03-20 15:31:48 +01:00
Erik Montnemery
afa9517716 Catch API errors in cast media_player service handlers (#113839)
* Catch API errors in cast media_player service handlers

* Remove left over debug code

* Fix wrapping of coroutine function with api_error
2024-03-20 13:10:35 +01:00
Paul Bottein
eafb4190ef Change quotes in cloud translations (#113871)
* Escape quote in cloud translations

* Update homeassistant/components/cloud/strings.json

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>

* Update homeassistant/components/cloud/strings.json

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>

* Update homeassistant/components/cloud/strings.json

---------

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2024-03-20 07:35:34 -04:00
Jonathan Sider
dc9f0a55a6 Update Amcrest services.yaml (#111161) 2024-03-20 11:59:44 +01:00
Alin Balutoiu
f8de214560 Make temperature a required parameter for tado climate service (#113872)
Make temperature a required parameter
2024-03-20 11:59:13 +01:00
Franck Nijhof
fc6a83559f Add floor template functions (#110847) 2024-03-20 11:58:04 +01:00
Henning Claßen
25be71e05b Bump numato-gpio to v0.13.0 (#113182) 2024-03-20 11:42:01 +01:00
Erwin Douna
42873cacf5 Tado fix water heater (#113464)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-03-20 11:29:15 +01:00
Floris272
249f708071 Bump bluecurrent-api to 1.2.2 (#110483) 2024-03-20 11:28:27 +01:00
Scott K Logan
6552e12161 Bump aioraven to 0.5.2 (#113714) 2024-03-20 10:57:37 +01:00
Joost Lekkerkerker
d2663347e9 Remove Amcrest camera unique id migration (#113870) 2024-03-20 10:36:02 +01:00
Martin Hjelmare
ac008a4c6d Deprecate cloud tts gender (#112256)
* Deprecate cloud tts gender option

* Update http api and prefs

* Test migration of prefs to minor version 4

* Adjust breaking date

* Add test for bad voice in http api

* Flatten tts info

* Fix comments

* Fix comment date

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

* Clarify voice validator

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-20 09:42:40 +01:00
Erik Montnemery
d31124d5d4 Avoid creating unneeded Context and Event objects when firing events (#113798)
* Avoid creating unneeded Context and Event objects when firing events

* Add test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-20 09:40:06 +01:00
Jan-Philipp Benecke
638020f168 Remove deprecated hass.components from group light tests and use fixture (#113862) 2024-03-20 08:45:50 +01:00
J. Nick Koston
c5eacf55c2 Fix flapping stream hls test (#113858) 2024-03-20 08:27:05 +01:00
Joakim Sørensen
96694878fb Redact the area of traccar server geofences (#113861) 2024-03-20 08:23:16 +01:00
J. Nick Koston
fff590d738 Fix flapping device tracker test (#113859)
seen in https://github.com/home-assistant/core/actions/runs/8353028595/job/22864148890?pr=113854
2024-03-20 07:21:26 +01:00
Joost Lekkerkerker
23353812a9 Add icon translations to Github (#111614)
* Add icon translations to Github

* Fix
2024-03-20 07:06:34 +01:00
Jesse Hills
510e7ccf76 Bump aioesphomeapi to 23.2.0 (#113854) 2024-03-19 19:40:09 -10:00
J. Nick Koston
06f356a038 Avoid expensive db queries at startup to check if data is migrated (#113773) 2024-03-19 15:27:40 -10:00
J. Nick Koston
417b491b78 Reduce overhead to write dlna_dmr state (#113776)
* Reduce overhead to write dlna_dmr state

- Only update supported_features once per state write cycle
- Use a dict lookup for state

* useless dispatch

* fix tests

* remove unreachable code
2024-03-19 21:13:34 -04:00
Jessica Smith
02c1088596 Upgrade whirlpool integration to add shared appliances and allow brand selection (#111687)
* update to 1.18.5 and add Brand to config, required for getting shared appliances

* update version to 0.18.6

* start fixing tests

* fix typo

* check for falsy values instead of explicit None

* move CONF_BRAND from global constants to whirlpool constants

* add test for no brand, fix __init__ import

* add brand to string.json

* add brand to re-auth

* add title/description, add brand info to description

* add reauth strings

* pass already initialized data dict

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

* remove trailing comma

* Update strings again

* fix reauth tests to add brand

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-20 02:02:45 +01:00
Marc Mueller
9a38f0de0b Update actions/cache to 4.0.2 (#113817) 2024-03-20 01:16:21 +01:00
Jan-Philipp Benecke
9add4aea70 Remove deprecated hass.components from vilfo config flow tests (#113821) 2024-03-20 01:13:05 +01:00
Jan-Philipp Benecke
685468d845 Use mock_platform for light entity component tests instead of hass.components (#113845)
* Use `mock_platform` for light entity component tests instead of `hass.components`

* Move pytest_plugins to top

* Fix comment
2024-03-20 01:09:48 +01:00
J. Nick Koston
7b67a486bd Migrate legacy device_tracker shutdown to use run_immediately (#113835)
A call_soon is not needed here
2024-03-19 14:07:57 -10:00
J. Nick Koston
b26f0bc488 Only create one executor job to shutdown wemo (#113836)
Currently we created two but the work can be done in a single job
2024-03-19 19:59:37 -04:00
J. Nick Koston
ec3db0a6aa Migrate camera listeners to use run_immediately (#113840)
None of these need a call_soon
2024-03-19 19:58:59 -04:00
Erik Montnemery
8a9f69b22a Bump pychromecast to 14.0.1 (#113841) 2024-03-19 11:41:10 -10:00
Erik Montnemery
bf21553008 Fix startup race in cast (#113843) 2024-03-19 11:37:29 -10:00
J. Nick Koston
658bef5447 Migrate samsungtv stop to use run_immediately (#113834)
There is no need for a call_soon here
2024-03-19 22:01:23 +01:00
J. Nick Koston
6b5518b2bf Fix template sensor test relying on event bus debug logging (#113842) 2024-03-19 10:44:04 -10:00
J. Nick Koston
879e5bc961 Only wait for import flows in setup of there is a config flow (#113780) 2024-03-19 10:38:27 -10:00
Jan-Philipp Benecke
c52ee2a898 Remove deprecated hass.components from person test (#113822) 2024-03-19 22:33:40 +02:00
Jan-Philipp Benecke
ff03c9db19 Remove deprecated hass.components from cloud client test (#113820) 2024-03-19 22:33:11 +02:00
Jan-Philipp Benecke
f96bb6754b Remove deprecated hass.components from http test (#113823) 2024-03-19 22:32:27 +02:00
J. Nick Koston
32c64855b2 Fix duplicate events in live logbook (#113828) 2024-03-19 09:17:23 -10:00
J. Nick Koston
15c0422837 Fix flakey profiler object growth tests (#113825) 2024-03-19 09:17:12 -10:00
Jan-Philipp Benecke
b35b4e8bfd Do not patch asyncio.timeout in govee light local test (#113819) 2024-03-19 18:24:36 +01:00
Åke Strandberg
0fa395556d Revert get_model from myuplink lib (#113811) 2024-03-19 17:27:16 +01:00
Franck Nijhof
670bd97777 Find referenced labels in automations & scripts (#113812) 2024-03-19 16:28:37 +01:00
Thomas55555
ea443af557 Add device_tracker platform for husqvarna_automower (#111403)
* Add device_tracker platform for husqvarna_automower

* ruff

* Add snapshot test

* State test

* Fix description

* ruff

* Optimize some docstrings

* Update homeassistant/components/husqvarna_automower/device_tracker.py

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

* Adress review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-19 15:46:35 +01:00
Thomas55555
3a8494cb88 Add binary sensor platform for Husqvarna Automower (#113248)
* Add binary sensor platform for Husqvarna Automower

* revert changes in sensor.py

* use == instead of is

* remove the parantheses

* Apply suggestions from code review

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

* Docstring

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-19 15:30:30 +01:00
Franck Nijhof
38d0854b70 Find referenced floors in automations & scripts (#113802) 2024-03-19 14:18:53 +01:00
Joost Lekkerkerker
44211dc761 Migrate Harmony to has entity name (#104737)
* Migrate Harmony to has entity name

* Fix tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-19 14:02:50 +01:00
Ernst Klamer
6106a66ed8 Bump bthome-ble to 3.8.1 (#113800) 2024-03-19 08:15:57 -04:00
Dave T
318b6e3a8b Allow retries on communication exceptions for Aurora ABB Powerone solar inverter (#104492)
* Allow retries on SerialException, AuroraError

* Add test to verify that retry is occuring

* Fix tests and indents

* Only log to info level for normal on/offline

* Review comment: don't log warning, debug and raise UpdateFailed

* Fix tests
2024-03-19 12:21:32 +01:00
Robert Resch
5230a8a210 Simplify UV install in CI (#113803) 2024-03-19 11:49:15 +01:00
Nalin Mahajan
18ef76a018 Add Room Audio Control to Control4 Integration (#87821)
* Add control4 room based media player (#13)

* update attribute names (#14)

* change to data class and set off to idle (#15)

Co-authored-by: nalin29 <nalin29@github.com>

---------

Co-authored-by: nalin29 <nalin29@github.com>
2024-03-19 11:44:52 +01:00
Erik Montnemery
4381780936 Add WS command cloud/remove_data (#109821) 2024-03-19 10:22:58 +01:00
Franck Nijhof
d0b4210de5 Update Home Assistant base image to 2024.03.0 (#113797) 2024-03-19 10:07:13 +01:00
jan iversen
c2538d5176 Bump pymodbus v3.6.6 (#113796) 2024-03-19 09:37:36 +01:00
Sid
00ec7f11f0 Enable Ruff rule PT007 (#113764)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-19 09:01:07 +01:00
Lucas Mindêllo de Andrade
089a3ab6d7 Bump sunweg to 2.1.1 (#113767) 2024-03-19 08:50:11 +01:00
J. Nick Koston
00f94feec9 Start energy load platform task eagerly (#113778) 2024-03-19 08:44:39 +01:00
J. Nick Koston
f51ac30b5a Call async task creation api in apple_tv (#113782) 2024-03-19 08:44:13 +01:00
J. Nick Koston
31a9c9451e Use async api in generic_thermostat to create tasks (#113783) 2024-03-19 08:43:49 +01:00
J. Nick Koston
3bb0d04452 Use async api in yamaha_musiccast to create tasks (#113785) 2024-03-19 08:43:27 +01:00
J. Nick Koston
2f88460b68 Use async api in template weather to create tasks (#113784) 2024-03-19 08:43:14 +01:00
J. Nick Koston
d740e4c3d7 Migrate restore_state shutdown to use run_immediately (#113786) 2024-03-19 08:42:49 +01:00
Simone Chemelli
ae55e8e1ba Align Comelit climate code to humidifier (#113747) 2024-03-19 08:42:07 +01:00
J. Nick Koston
2582172ad1 Create tasks eagerly with core create_task (#113781) 2024-03-19 08:41:39 +01:00
Joost Lekkerkerker
85e13bdb87 Require an icon for a service (#112373) 2024-03-19 08:29:29 +01:00
dependabot[bot]
ed9b5d843c Bump github/codeql-action from 3.24.7 to 3.24.8 (#113789)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 08:27:32 +01:00
dependabot[bot]
f680065664 Bump dawidd6/action-download-artifact from 3.1.3 to 3.1.4 (#113788) 2024-03-19 08:15:06 +01:00
J. Nick Koston
8b9a8a33f4 Start live history/logbook with eager tasks (#113779) 2024-03-18 21:00:51 -10:00
J. Nick Koston
e3ae66ca64 Bump PyMetno to 0.12.0 (#113777)
changelog: https://github.com/Danielhiversen/pyMetno/releases/tag/0.12.0
2024-03-19 06:57:14 +01:00
J. Nick Koston
c615b52840 Refactor integration startup time to show wall clock time (#113707)
* Refactor setup time tracking to exclude time waiting on other operations

We now exclude the import time and th time waiting on
base platforms to setup from the setup times

* tweak

* tweak

* tweak

* tweak

* adjust

* fixes

* fixes

* preen

* preen

* tweak

* tweak

* adjust

* tweak

* reduce

* do not count integrtion platforms against their parent integration

* handle legacy tts platforms

* stt as well

* one more wait

* use the same pattern in all the legacy

* fix tts and stt legacy

* fix

* fix

* reduce

* preen

* entity comp does not wait for platforms

* scene blocks as well

* fix test

* test fixes

* coverage

* coverage

* coverage

* fix test

* Update tests/test_setup.py

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

* Update tests/test_setup.py

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

* Update homeassistant/setup.py

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

* strip

* strip WAIT_PLATFORM_INTEGRATION

* strip WAIT_PLATFORM_INTEGRATION

* strip WAIT_PLATFORM_INTEGRATION

* strip WAIT_PLATFORM_INTEGRATION

* remove complexity

* Apply suggestions from code review

* no longer works that way

* fixes

* fixes

* fixes

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-18 21:45:34 -04:00
J. Nick Koston
9be5f3531f Run websocket shutdown listener with run_immediately (#113727) 2024-03-18 11:59:44 -10:00
Franck Nijhof
167e66d45c Add labels to service target (#113753) 2024-03-18 22:32:23 +01:00
Franck Nijhof
541d4b78ac Add WebSocket support for handling labels on areas registry (#113755) 2024-03-18 22:17:13 +01:00
Robert Svensson
506240be10 Streamline naming in deCONZ integration (#111977) 2024-03-18 22:08:06 +01:00
Franck Nijhof
e20cc4f8b9 Add WebSocket support for assigning labels to entities (#113757) 2024-03-18 22:03:37 +01:00
Franck Nijhof
51b8ffc69d Add WebSocket support for handling labels on device registry (#113758) 2024-03-18 21:19:27 +01:00
Jan-Philipp Benecke
f73f93913f Remove deprecated hass.components from netatmo webhook tests (#113691) 2024-03-18 19:31:13 +01:00
Robert Svensson
cb348ddbdb Axis use entity description light platform (#113602)
* Axis use entity description in light platform

* Clean up some old code

* Update homeassistant/components/axis/light.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-18 19:26:29 +01:00
Gido
1ed8232b02 Add config flow to Rova (#113596)
* Add Config Flow for Rova component

* Add tests for Rova config flow

* Fix data type

* Add rova to requirements for tests

* Removed seperate function for area check and global variable

* Add unique name and id to rova entities

* Add support for multiple rova entries

* Fix correct error after connection timeout or http error

* Revert SENSOR_TYPES update

* Add existing rova configuration from yaml as new entity

* Add tests for import configuration.yaml flow

* Cleanup code

* Update valid rova area check in config flow

* Changed abort keys and messages

* Updated using self.add_suggested_values_to_schema

* Update to pass tests

* Added missing strings

* Update sensor unique_ids

* Fix service name formatting

* Update tests for Rova entry

* Update tests to recover after error

* Update test name

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-18 18:00:54 +01:00
Max Holland
815d120645 Add support for Tuya dimmer module (#113741) 2024-03-18 16:59:49 +01:00
Joost Lekkerkerker
aba5dcb63e Patch Discovery timeout in govee light local (#113692) 2024-03-18 16:49:39 +01:00
Josef Zweck
eaf86ee1ea Log cannot connect exception in Tedee config flow (#113740)
log exception
2024-03-18 16:45:49 +01:00
Aidan Timson
8918eb6922 Add camera in use and pending reboot binary sensors to System Bridge (#104095)
* Add binary sensors

* Fix

* Fix

* Fix translations

* Add icons

* Fix attr

* Update string

* fix name

* Remove unnessasary check

* Remove unrelated changes

* Remove unrelated strings

* Apply suggestions from code review

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

* Update camera_in_use function and value_fn for binary sensors

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-18 16:21:52 +01:00
Xitee
7065625d28 Add additional buttons to OctoPrint (#103139)
* Add 3 new buttons

- System shutdown button
- System reboot button
- Octoprint restart button

* Enable buttons by default

* Add tests

* Fix tests

* Remove accidentally committed unused code

* Add RESTART device class to RestartOctoprint and RebootSystem buttons

* Apply suggestions to octoprint test_button

* Freeze time for OctoPrint button tests

* Make new button base class to prevent implementing the availability check multiple times
2024-03-18 16:20:22 +01:00
Jack Boswell
34b0ff40f3 Allow configuring Starlink sleep schedule (#103057)
* Expose sleep config getters and setters

* Add a switch for toggling sleep schedule

* Add Time platform

* Add frozen to dataclasses

* Update tests

* Add starlink time to coveragerc

* No more mixin

* Update time.py

* Update time.py

* Run data collectors asynchronously

* Fix timezone handling
2024-03-18 16:18:32 +01:00
Erwin Douna
e882d47cde Add Downloader config flow, including tests (#98722)
* Adding base line, including tests

* Adding validatge input and expanding tests

* Updating manifest

* Minor patch

* Revert minor patch, wrong nesting

* Adding proper translations

* Including abort message

* Update homeassistant/components/downloader/config_flow.py

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

* Rename exception class

* Refactor import

* Update strings

* Apply suggestions from code review

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Reverting back filename and fix typing

* Reverting back mutex/lock

* Upgrade version

* Adding typing

* Removing coroutine

* Removing unload entry (for now)

* Removing comment

* Change type

* Putting download back in setup_entry

* Revert back code

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-18 16:16:24 +01:00
Chris Caron
7dc64a03ef Bump apprise to 1.7.4 (#113629)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2024-03-18 15:34:08 +01:00
J. Nick Koston
40ce2011be Run dhcp listeners with run_immediately (#113726)
Neither of these need a call_soon
2024-03-18 10:16:20 -04:00
Jan Bouwhuis
3dc8df2403 Get ServiceValidationError message from translation cache only (#113704)
* Get ServiceValidationError message from translation cache only

* Remove message for NotValidPresetModeError
2024-03-18 14:42:21 +01:00
Jan Bouwhuis
ec7aecef84 Get HomeAssistantError message from translation cache only (#113688)
Get HomeAssistant error message from translation cache only
2024-03-18 14:39:41 +01:00
Sid
727581eea3 Add first batch of Ruff PT rules (#113665)
* Add first batch of Ruff PT rules

* fix weather test

* Fix pilight test

* Update test_intent.py

* Update pilight test_init.py

* Update test_init.py
2024-03-18 13:26:14 +01:00
J. Nick Koston
8f33bad4ef Move legacy tts setup to use tracked tasks (#113717)
* Move legacy tts setup to a tracked task

* comment

* fix test

* fix test

* fix more tests

* tweak
2024-03-18 13:11:22 +01:00
J. Nick Koston
719d373bd7 Move legacy stt setup to use tracked tasks (#113718)
* Move legacy stt setup to use tracked tasks

* comment
2024-03-18 13:10:12 +01:00
J. Nick Koston
10f2d8b4b1 Move legacy notify setup to use tracked tasks (#113716)
* Move legacy notify setup to a tracked task

* fix test

* fix test

* comment
2024-03-18 13:09:21 +01:00
J. Nick Koston
264e023ab4 Run august stop listener with run_immediately (#113729)
There is no need for a call_soon here
2024-03-18 14:07:00 +02:00
J. Nick Koston
8a144d16f5 Move legacy device_tracker setup to a tracked task (#113715)
* Move legacy device_tracker setup to a tracked task

Legacy platforms are now loaded in a tracked task which
allows anything waiting on device_tracker (such as
a config entry that uses the device_tracker
platform) to proceed.

This also allows us to remove the workaround
of adding device_tracker to
hass.config.components in its setup

* tweak

* tweak

* fix tests
2024-03-18 10:39:59 +01:00
epenet
3844ade572 Fix unknown values in onewire (#113731)
* Fix unknown values in onewire

* Update tests
2024-03-18 10:12:46 +01:00
dependabot[bot]
20897e0a3a Bump dawidd6/action-download-artifact from 3.1.2 to 3.1.3 (#113720) 2024-03-18 08:28:10 +01:00
Ernst Klamer
e23ce42d3a Bump xiaomi-ble to 0.27.1 (#113686) 2024-03-17 19:40:03 -10:00
J. Nick Koston
fcdb7039f9 Migrate isy994 listeners to use run_immediately (#113661) 2024-03-17 17:38:48 -10:00
J. Nick Koston
9a6804b5d7 Adjust config flow pre-import comment in group (#113702) 2024-03-17 14:28:29 -10:00
Johnny Willemsen
0d279ccd13 Improve scaffold test_config_flow (#113229)
Update test_config_flow.py

Use DOMAIN constant
2024-03-18 00:47:11 +01:00
Sid
82a60fe8ad Enable Ruff RSE (#113695) 2024-03-18 00:40:38 +01:00
Jan Bouwhuis
685553d17d Cache late imported async_get_exception_message for HomeAssistantError (#113683)
* Cache late imported async_get_exception_message for HomeAssistantError

* Use a dict to store the function cache

* Update homeassistant/exceptions.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-17 21:23:46 +01:00
Maciej Bieniek
d8f74571a1 Add removal condition to Shelly battery sensor (#113703)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-17 21:21:42 +01:00
J. Nick Koston
4d75940cd2 Start and stop template cache watcher to run_immediately (#113644) 2024-03-17 08:16:26 -10:00
J. Nick Koston
68320b1278 Migrate registry for labels and categories to run_immediately (#113645) 2024-03-17 08:16:11 -10:00
J. Nick Koston
93497dde8b Run registry cleanup listeners immediately (#113646) 2024-03-17 08:15:55 -10:00
J. Nick Koston
091199d24a Run entity registry write_unavailable_states immediately at start (#113647) 2024-03-17 08:15:41 -10:00
J. Nick Koston
dbbd6fff01 Move ESPHome disconnects to the close event (#113652) 2024-03-17 08:15:28 -10:00
J. Nick Koston
412fd3dc05 Add run_immediately to usb start/stop listeners (#113658) 2024-03-17 08:15:14 -10:00
Jan-Philipp Benecke
324c922c0d Remove deprecated hass.components from withings webhook tests (#113687)
* Remove deprecated `hass.components` from withings webhook tests

* Use patch.object
2024-03-17 17:48:58 +01:00
Jan-Philipp Benecke
681705394d Remove deprecated hass.components from network helper function (#113615)
* Remove deprecated `hass.components` from network helper function

* Remove deprecated use of `hass.components` in alexa camera tests
2024-03-17 17:42:48 +01:00
J. Nick Koston
d9bc09e93a Migrate stream listeners to use run_immediately and eager tasks (#113660)
None of these need to a call_soon and can shutdown a bit faster
2024-03-17 09:42:25 -07:00
Jan-Philipp Benecke
25c4ab070b Use mock_platform for event entity component tests instead of hass.components (#113667) 2024-03-17 17:32:16 +01:00
MarkGodwin
75a489deb9 Add WAN port connection control to TP-Link Omada gateways (#111431)
* Add gateway connection switches

* Add unit tests

* tplink_omada code review feedback

* Rebase and move icons and strings into json
2024-03-17 16:06:57 +01:00
Sid
295b4203a1 Re-ignore Ruff rule PLC1901 (#113675)
Re-ignore PLC1901
2024-03-17 16:04:40 +01:00
Jan Bouwhuis
81ab29a38e Freeze time on zwave_js update test (#113625)
Freeze time on jwave_js update test
2024-03-17 16:02:45 +01:00
Sid
929bcb92e2 Add Ruff LOG rules (#113677)
* Add Ruff LOG rules

* Address review comment

* Update const.py
2024-03-17 15:59:49 +01:00
Jan-Philipp Benecke
b8e1862746 Remove deprecated hass.components from image_processing platform (#113613)
* Remove deprecated `hass.components` from image_processing platform

* Add test and change log

* D'oh.. use updated error text
2024-03-17 15:59:29 +01:00
Michael
0643ff1cfe Improve debug logging in Tankerkoenig (#113674) 2024-03-17 13:44:32 +01:00
Sid
6113b99ddd Replace pylint pointless-statement with ruff B018 (#113582)
* Replace pylint pointless-statement with ruff B018

* fix occurrences of B018

* disable pylint expression-not-assigned as well

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-17 10:58:14 +01:00
Erik Montnemery
7b20641651 Add tests of homeworks __init__ (#113581) 2024-03-17 10:22:08 +01:00
Erik Montnemery
398c38b50d Add tests of homeworks button (#113578) 2024-03-17 10:06:57 +01:00
Sid
d5fd005db8 Add ruff rule PIE808 (#113621) 2024-03-17 09:56:26 +01:00
Erik Montnemery
1a70dbfd94 Add tests of homeworks light (#113579) 2024-03-17 09:46:36 +01:00
Erik Montnemery
8f6c4f8b33 Add tests of homeworks binary sensor (#113577) 2024-03-17 09:45:49 +01:00
J. Nick Koston
5e8265d8a4 Add run_immediately to bluetooth listeners (#113659) 2024-03-16 19:03:14 -10:00
J. Nick Koston
1f9c8694a8 Save bluetooth passive data eagerly at the stop event (#113648) 2024-03-16 19:02:57 -10:00
J. Nick Koston
6df3e9d7c0 Run bond shutdown listener with run_immediately (#113657) 2024-03-16 17:21:03 -10:00
J. Nick Koston
309fcb5c30 Eagerly shutdown homekit_controller at the stop event (#113650) 2024-03-16 17:15:46 -10:00
J. Nick Koston
4d430520a0 Run yalexs_ble shutdown with run_immediately (#113653) 2024-03-16 17:06:31 -10:00
J. Nick Koston
ba7ec4ac16 Eagerly shutdown unifiprotect at the stop event (#113655) 2024-03-16 17:04:04 -10:00
Sid
69564b1a17 Add ruff rule PIE800 (#113619)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 16:31:30 -10:00
Christopher Bailey
43652a4ace Deprecate UniFi Protect HDR switch and package sensor (#113636)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 16:15:32 -10:00
Christopher Bailey
0a26829ffc Bump pyunifiprotect to 5.0.2 (#113651) 2024-03-16 16:15:18 -10:00
J. Nick Koston
885abe2fda Cleanup sonos shutdown process (#113654) 2024-03-16 16:10:57 -10:00
luar123
26c1b7e72e Bump snapcast to 2.3.6 (#113606) 2024-03-16 21:16:26 -04:00
J. Nick Koston
6a6f3d46a9 Create config entry async_on_unload tasks eagerly (#113626) 2024-03-16 14:43:49 -10:00
J. Nick Koston
91fa612301 Run entity component shutdown immediately (#113635) 2024-03-16 14:42:36 -10:00
J. Nick Koston
fa68c5633c Fix zeroconf shutting down too early (#113638) 2024-03-16 14:42:27 -10:00
J. Nick Koston
513da0f71e Run functions from ssdp listeners immediately (#113634) 2024-03-16 13:52:01 -10:00
Sid
cede6af496 Consolidate ruff PL and Q rules (#113555) 2024-03-16 13:45:03 -10:00
J. Nick Koston
2f39187628 Shutdown homekit eagerly at the stop event (#113639) 2024-03-16 13:39:48 -10:00
J. Nick Koston
6e3e2d1693 Shutdown config entry manager immediately at the stop event (#113632) 2024-03-16 13:39:31 -10:00
J. Nick Koston
796f4deac2 Run shelly coordinator shutdown immediately at the stop event (#113633)
There is no need to use a call_soon here as we want to shutdown
right away
2024-03-16 19:36:02 -04:00
J. Nick Koston
44cac3c90a Run apple_tv shutdown eagerly at the stop event (#113637)
The shutdown can be done without having to schedule a task on the event loop
2024-03-16 19:34:27 -04:00
Christopher Bailey
e703baba0a Add new fields from UniFi Protect v3 (#113631) 2024-03-16 13:17:23 -10:00
Jan-Philipp Benecke
73f11064d7 Use mock_platform for button entity component tests instead of hass.components (#113627) 2024-03-16 12:47:59 -10:00
Sid
11c570ea7b Remove ignore for ruff PLC0208 (#113537) 2024-03-16 12:45:55 -10:00
Sid
fe9cc6705c Add ruff rule PIE804 (#113620)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 12:45:18 -10:00
Erik Montnemery
d0352ed91d Fix missing context when running script from template entity (#113523)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 12:37:24 -10:00
Christopher Bailey
0725ff34b1 Bump pyunifiprotect to 5.0.1 (#113630) 2024-03-16 23:26:56 +01:00
Allen Porter
a9da9ee443 Bump ical to 7.0.3 to fix local-todo persisted with invalid DTSTART values (#113526) 2024-03-16 12:03:26 -10:00
Robert Svensson
ab9b64729a Bump axis to v56 (#113608) 2024-03-16 12:02:52 -10:00
Jan Bouwhuis
554aefed42 Generate HomeAssistantError message from English translations (#113305)
* Fetch exception message from translation cache

* Improve tests

* Return translation key without path, cleanup

* Fetch translations when string variant is requested

* Move import

* revert changes ConfigValidationError

* mypy

* Remove _str__ method instead

* Type _message for mqtt template exception classes

* Revert changes made to test_config.py

* Undo changes TemplateError

* Follow up comments and test coverage
2024-03-16 22:56:48 +01:00
Lex Li
2bc4a5067d snmp: Better sensor support to resolve previous issues (#113624)
Co-authored-by: Christian Kühnel <christian.kuehnel@gmail.com>
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2024-03-16 22:56:21 +01:00
J. Nick Koston
86ccb99f4c Fix race in removing modified devices from the entity registry (#113623) 2024-03-16 11:51:56 -10:00
Jan-Philipp Benecke
c58bba55bf Remove deprecated hass.components from legacy device tracker platform (#113612) 2024-03-16 11:19:29 -10:00
Sid
0b9c9aff62 Add ruff rules PIE790, PIE794, PIE807, PIE810 (#113617) 2024-03-16 11:04:58 -10:00
Antoni Czaplicki
cbe2a5883b Fix vulcan calendar offset (#113604)
* Fix offset on vulcan calendar

* Combine date, time and zone into one command in vulcan calendar
2024-03-16 13:59:24 -07:00
J. Nick Koston
7d58be1a6a Gather loading platforms in async_process_component_config (#113573) 2024-03-16 10:57:10 -10:00
J. Nick Koston
bb12d2e865 Avoid creating tasks in homeassistant_alerts when the debouncer will not fire (#113580) 2024-03-16 16:20:06 -04:00
J. Nick Koston
4174d88ad7 Add a guard to handle unhashable platforms in config (#113607)
Someone might set the platform to [fitbit] instead of fitbit

I have not seen anyone do this, but its good to guard against
it
2024-03-16 16:19:07 -04:00
Jan Bouwhuis
5dccd8204c Freeze time on profile test (#113618) 2024-03-16 21:16:18 +01:00
Jan-Philipp Benecke
4be9d3e7f6 Remove deprecated hass.components from mysensors (#113611) 2024-03-16 20:49:25 +01:00
Sid
6ee273a548 Clean up unneeded ruff noqa directives (#113616) 2024-03-16 09:48:37 -10:00
Robert Svensson
c57dcacade Axis use entity description in switch platform (#113595)
* Draft

* Make a generic register platform
2024-03-16 20:47:54 +01:00
Robert Svensson
00361f5293 Remove unnecessary method in UniFi entity loader (#113597) 2024-03-16 18:41:00 +01:00
Sid
ccd2e989c3 Enable ruff RUF005 and fix occurrences (#113589) 2024-03-16 07:37:20 -10:00
Massimo Savazzi
2a5c85a020 Add JVC Projector Sensors (#108949)
* Add JVC Projector Sensors - Power Status, Input

* Removed commented line, removed name in icons.json

* fixed icons.json file

* fixed tests

* Update homeassistant/components/jvc_projector/sensor.py

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

* Fixed as requested

* Fixed code as requested

* added fixes

* Fixed sensor creation

* fixed const

* fixed icons

* Added test for both sensors

* Added ha state stest

* fixed commented line and removed useless ones

* Changed time FAST - SLOW to be more responsive

* Rolled back to previous values 6/60

* Update sensor.py

removed off

* Update icons.json

* Removed the Input Sensor entity

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Updated unique id of sensor

Co-authored-by: Steve Easley <steve.easley@gmail.com>

* Added translation and string for Power Status

* Update homeassistant/components/jvc_projector/strings.json

Co-authored-by: Steve Easley <steve.easley@gmail.com>

* Update homeassistant/components/jvc_projector/strings.json

Co-authored-by: Steve Easley <steve.easley@gmail.com>

* Update strings.json

* Update strings.json

added missing ,

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Steve Easley <steve.easley@gmail.com>
2024-03-16 16:52:51 +01:00
Maciej Bieniek
6191b25563 Catch TimeoutError in Brother config flow (#113593)
* Catch TimeoutError in Brother config flow

* Update tests

* Remove unnecessary parentheses

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-16 16:01:48 +01:00
J. Nick Koston
ef0c17749f Use async_create_task in recorder init tests (#113586) 2024-03-16 15:40:50 +01:00
Shay Levy
d17e397455 Ignore Shelly block update with cfgChanged None (#113587) 2024-03-16 16:18:41 +02:00
Shay Levy
a7fd1c278c Shelly config flow test wait for tasks to finish (#113588) 2024-03-16 16:18:13 +02:00
Christopher Fenner
1ffc514528 Add battery discharge sensor to ViCare integration (#113502)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2024-03-16 12:38:54 +01:00
Brett Adams
219cb7a788 Add additional sensors to Teslemetry (#112555)
* Add more sensors

* Fix coverage

* Dont do this rename yet

* Fix case

* Update snapshot

* Add icons

* Remove unused icons

* Update snapshot

* Remove last_value logic from TimeSensor

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update constant case

* Remove useless test

* Add refresh test back

* Add assertion to post coordinator refresh

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-03-16 11:54:37 +01:00
Sid
470ef554d7 Fix freedompro tests for ruff B018 (#113583) 2024-03-16 00:03:25 -10:00
Sid
dd3101e161 Fix unifiprotect tests for ruff B018 (#113584) 2024-03-16 00:01:24 -10:00
J. Nick Koston
eb90c9a548 Reduce bottlenecks in bootstrap by ordering the setup of integrations (#113570) 2024-03-15 22:38:06 -10:00
J. Nick Koston
702488062b Move group config flow pre-import to its init (#113564) 2024-03-15 18:44:10 -10:00
Erik Montnemery
a5cde8a61e Improve typing of State.as_compressed_state (#113540) 2024-03-16 00:01:46 -04:00
Sid
27e844e3bf Add ruff B005, B015, B032 and fix occurrences (#113543)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-15 17:48:37 -10:00
J. Nick Koston
bb667abd51 Cleanup some circular imports in group (#113554) 2024-03-15 15:45:43 -10:00
Jan Bouwhuis
6e84dbde35 Fix lingering hassio issues test (#113569) 2024-03-15 15:10:24 -10:00
J. Nick Koston
b26928878f Remove group integration platforms that use the default states (#113562)
Remove group integration platforms that use the default

There is no need to register platforms that use the defaults
as the group code already uses STATE_ON/STATE_OFF when there
are no on/off states in the GroupIntegrationRegistry
2024-03-15 20:51:21 -04:00
J. Nick Koston
af06e03b71 Add profiler set_asyncio_debug service (#113447)
* Add profiler set_asyncio_debug service

Currently when a user has a problem with there event loop being blocked
the simplest way to enable asyncio debug is to add `debugpy:` to
`configuration.yaml`, however this approach slows the system which
makes the report less useful and harder to track down the problem.

We need a lightweight way to enable debug mode so users can report
problems with the event loop being blocked, and we have a better
chance of finding the source without side effects

* logging

* logging

* logging

* comments

* fix

* icon

* only if enabled

* coverage
2024-03-15 20:49:35 -04:00
On Freund
b644c03fa7 Send keep-alive frames in image proxy stream (#113542) 2024-03-15 14:00:33 -10:00
J. Nick Koston
51ece8b1ef Restore group config_flow pre-import (#113558) 2024-03-15 13:09:20 -10:00
Guido Schmitz
b96bceadfa Add translations for devolo Home Network exceptions (#105755)
* Add translations for devolo Home Network exceptions

* Add translations for ConfigEntryAuthFailed

* Update homeassistant/components/devolo_home_network/switch.py

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-15 23:53:16 +01:00
Joost Lekkerkerker
53a76fc792 Fix Airthings BLE illuminance sensor name (#113560) 2024-03-15 23:48:47 +01:00
Daniel Perna
2b04975332 Remove danielperna84 as codeowner (#109662)
* Remove danielperna84 as codeowner

* Update CODEOWNERS
2024-03-15 23:42:04 +01:00
J. Nick Koston
88f04bb3b4 Avoid calling entry.async_migrate in sonarr tests (#113557)
We should setup the the config entry instead of calling the
migrator directly

This fix was reverted out in #113553
2024-03-15 23:33:48 +01:00
J. Nick Koston
03bb791080 Add missing async_block_till_done to jellyfin test_invalid_auth test (#113556)
This fix was reverted out in #113553
2024-03-15 23:31:55 +01:00
G Johansson
e8de1a7031 Revert "Avoid pre-importing config_flows if the integration does not … (#113553)
Revert "Avoid pre-importing config_flows if the integration does not support …"

This reverts commit 9940f51b95.
2024-03-15 23:15:36 +01:00
J. Nick Koston
77a94ea515 Speed up loading sun (#113544)
* Speed up loading sun

* Speed up loading sun

* Speed up loading sun

* adjust

* tweak
2024-03-15 23:01:49 +01:00
Sid
d120993477 fix homekit test asserts (#113549) 2024-03-15 22:02:18 +01:00
Sid
b261f124d6 fix mqtt siren test asserts (#113550) 2024-03-15 21:59:30 +01:00
Erik Montnemery
397bde4652 Add missing continue in legacy recorder history function (#113535)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-15 21:20:39 +01:00
Robert Svensson
3ba29c361a Remove old update of group unique id in deCONZ (#112533) 2024-03-15 21:09:44 +02:00
Robert Svensson
9c2c7f1a45 Remove old update of number unique id in deCONZ (#113524) 2024-03-15 21:08:18 +02:00
Robert Svensson
e90388afd1 Remove old update of sensor unique id in deCONZ (#113527) 2024-03-15 21:06:09 +02:00
J. Nick Koston
b7f7bed46c Import and create pyudev for usb in the executor (#113478) 2024-03-15 09:05:18 -10:00
Chris Talkington
29f07260f9 Use single_config_entry in jellyfin manifest (#113202) 2024-03-15 13:56:13 -05:00
jan iversen
02d4bf007d Do not allow modbus config without entities (#113516) 2024-03-15 19:49:29 +01:00
Joost Lekkerkerker
422d4ea5b3 Use Volume Flow Rate device class in Opentherm gw (#113531) 2024-03-15 19:12:38 +01:00
Joost Lekkerkerker
b6a06f49b7 Use Volume Flow Rate device class in DROP connect (#113528) 2024-03-15 19:12:04 +01:00
Robert Svensson
5b5ff92a05 Support configuring Axis to use HTTPS (#113271) 2024-03-15 18:58:49 +01:00
Joost Lekkerkerker
be7c4295dc Fix MyUplink tests (#113534) 2024-03-15 18:26:28 +01:00
Thomas55555
66aa2c038a Freeze timezone in bmw_connected_drive tests (#113533)
Freeze timezone in bmw_connected_drive
2024-03-15 18:22:17 +01:00
Joost Lekkerkerker
066594b25b Use Volume Flow Rate device class in BTHome (#113530) 2024-03-15 18:19:14 +01:00
dontinelli
98132d1cd3 Add Fyta integration (#110816)
* Initial commit for fyta integration

* Update __init__.py

Delete BinarySensor for first PR

* Update __init__.py

Rewind wrongful deletion of comma

* Delete homeassistant/components/fyta/binary_sensor.py

Delete binary_sensor for first pr of integration

* Update manifest.json

Updated requirement to new version of fyta_cli 0.2.1, where bug in import of modules has been resolved.

* Update requirements_test_all.txt

adjust to updated manifest

* Update requirements_all.txt

adjust to updated manifest

* Update test_config_flow.py

* Update config_flow.py

update file to correct error with _entry attribute

* Fyta integration - update initial PR based on review in initial PR #110816 (#2)

* adjustments to pass test for config_flow

* backport of changes in intitial PR to dev

* update text_config_flow

* changes based on review in initial PR #110816

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/config_flow.py

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

* Update homeassistant/components/fyta/config_flow.py

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

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/config_flow.py

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

* Update homeassistant/components/fyta/strings.json

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Update homeassistant/components/fyta/strings.json

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Update homeassistant/components/fyta/manifest.json

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Adjustments based on PR-commet of Feb 19 (#3)

* add test for config_flow.validate_input

* update based on pr review

* update based on pr review

* further refinings based on PR review

* Update tests/components/fyta/test_config_flow.py

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

* Update test_config_flow.py

Update tests based on PR comment

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/sensor.py

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

* add handling and test for duplicate entry

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/entity.py

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

* Update test_config_flow.py

parametrize test for exceptions

* Update config_flow.py

Move _async_abort_entries_match, add arguments

* Update coordinator.py

* Update typing in coordinator.py

* Update coordinator.py

update typing

* Update coordinator.py

corrected typo

* Update coordinator.py

* Update entity.py

* Update sensor.py

* Update icons.json

* Update homeassistant/components/fyta/entity.py

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

* Update homeassistant/components/fyta/entity.py

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

* Update entity.py

* Update test_config_flow.py

* Update config_flow.py (change FlowResult to ConfigFlowResult)

* Update config_flow.py

* Update homeassistant/components/fyta/config_flow.py

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

* Update homeassistant/components/fyta/config_flow.py

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

* Update homeassistant/components/fyta/coordinator.py

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

* Update coordinator.py

* Update config_flow.py (typing FlowResult -> ConfigFlowResult)

* Update config_flow.py

* Aktualisieren von config_flow.py

* remove coordinator entities

* Update strings.json

remove plant_number

* Update icons.json

remove plant_number

* Update manifest.json

Update requirement to latest fyta_cli version

* Update requirements_all.txt

* Update requirements_test_all.txt

* Update homeassistant/components/fyta/sensor.py

* Update homeassistant/components/fyta/sensor.py

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/entity.py

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

* Update homeassistant/components/fyta/strings.json

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

* Update homeassistant/components/fyta/strings.json

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

* Update tests/components/fyta/test_config_flow.py

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

* Update tests/components/fyta/test_config_flow.py

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

* move test-helpers into conftest.py, adjust import of coordinator.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-15 18:13:35 +01:00
soonsouth
cfc2f17f35 Remove repetitive words in comments and docstrings (#113529)
chore: remove repetitive words

Signed-off-by: soonsouth <cuibuwei@163.com>
2024-03-15 18:11:12 +01:00
Drew C
a73553581b Bump opower to 0.4.1 (#113509) 2024-03-15 18:10:58 +01:00
Mike Degatano
6ede1c543f Protect SupervisorIssues.update method (#113425) 2024-03-15 18:06:14 +01:00
Joost Lekkerkerker
38164c705e Add missing icon for Unifi protect service (#113508) 2024-03-15 16:40:48 +01:00
Joost Lekkerkerker
823481063e Add icon translations to Sonos (#112235) 2024-03-15 16:34:13 +01:00
cosimomeli
4107cd6ad8 Add Ring Intercom open door button (#113514)
* Add button

* Make Ruff happy

* Apply suggestions from code review

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

* Fix doc string

* Format

* Update tests/components/ring/test_button.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-15 15:31:51 +01:00
jan iversen
a9fb34d9c2 Remove modbus create_issue from init (#113510)
Create_issue only in check_config.
2024-03-15 15:16:06 +01:00
Erwin Douna
1ff049cc66 Add diagnostics platform to Fastdotcom (#111525) 2024-03-15 14:42:07 +01:00
Joost Lekkerkerker
4b4258881b Remove Sonos migrations (#113506) 2024-03-15 14:40:40 +01:00
Åke Strandberg
eb1f37ea9b Filter out irrelevant entities on SMO20 devices in myuplink (#113493) 2024-03-15 14:06:10 +01:00
J. Nick Koston
c69ab425c5 Speed up ffmpeg setup (#113496)
* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* adjust

* adjust

* twea

* Update homeassistant/components/ffmpeg/__init__.py

* forgot about the mock in conftest for comps
2024-03-15 09:05:42 -04:00
jan iversen
1c938f6422 create issues for modbus config errors (#113431) 2024-03-15 13:44:29 +01:00
On Freund
4181c62ec0 Bump pyrisco to 0.5.10 (#113505) 2024-03-15 13:38:39 +01:00
Franck Nijhof
0e2775667d Add category registry (#110897)
* Add category registry

* Add entity registry support

* Update homeassistant/components/config/entity_registry.py

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

* Use ulid instead

* Add tests for adding same name in different scopes

* Handle keyerror on update

* Lookup tweak

* Omit categories from entity registry snapshots

* Use base registry

* Update snapshots

* Update snapshots

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-15 13:25:16 +01:00
Franck Nijhof
436c83e8a7 Add theme color support to labels (#113404) 2024-03-15 13:22:06 +01:00
cosimomeli
360f7dea75 Add Ring Intercom support (#109819)
* Add button entity

* Add support for Ring intercom ("other" device type)

* description

* format

* - Tests
- Fallback when intercom devices arent inside response

* Fix ring button

* Update library

* Fix button after merge

* Move names to strings.json

* Remove button entity_category

* Add wifi sensors to other

* Add last_ sensors to other

* Fix tests

* Add button test

* Add new sensors tests

* Revert "Add last_ sensors to other"

This reverts commit 5c03bba5a1.

* Update library

* Revert "Revert "Add last_ sensors to other""

This reverts commit 27631978d0.

* Fix tests

* Remove default list for other

Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>

* Copy mock to conftest

* Fix history test

* Change time skip

* Remove button

* Fix history test

---------

Co-authored-by: Martin Pham <tuyentq2009@gmail.com>
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
2024-03-15 12:59:36 +01:00
Sebastian Noack
30d1f70468 Use on state icons by default in Balboa spa integration (#111911) 2024-03-15 12:52:21 +01:00
J. Nick Koston
9cc0006b92 Ensure TurboJPEG is imported in the executor (#113504)
The import was too late and it eneded up being imported
in the event loop
2024-03-15 12:23:53 +01:00
Shay Levy
e0b1531afa Remove OpenCV integration (#113455) 2024-03-15 12:23:30 +01:00
Matthias Alphart
7bcfa94b12 Use single_config_entry in KNX manifest (#112526) 2024-03-15 12:20:32 +01:00
dougiteixeira
13cd6eb00e Add icon translations to Moon (#111386) 2024-03-15 12:12:03 +01:00
Åke Strandberg
86607d2bbb Create more relevant names for myuplink DeviceInfo (#111502) 2024-03-15 12:11:13 +01:00
Robert Svensson
e41133e9f0 Remove old update unique id function from deCONZ binary sensor (#112536) 2024-03-15 12:05:45 +01:00
slyoldfox
ffe9b7801f Add missing mystrom sensor (#113225)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-15 12:05:10 +01:00
Thomas55555
309f554336 Address late review on adding an error sensor to Husqvarna Automower (#113242) 2024-03-15 12:04:33 +01:00
J. Nick Koston
45195d2ea9 Avoid multiple context switches to setup a sonos speaker (#113378) 2024-03-15 12:03:44 +01:00
Erik Montnemery
103b8b4dc5 Improve State docstring (#113501) 2024-03-15 12:01:11 +01:00
Diogo Gomes
3e3cf45a5d Bump croniter to 2.0.2 (#113494) 2024-03-15 12:00:08 +01:00
On Freund
99e29b75cc Revert setting communication delay in Risco init (#113497) 2024-03-15 11:42:53 +01:00
J. Nick Koston
c69495b64f Remove supports_encryption check from mobile_app (#113490)
helpers already ports nacl at top level so this check can never
be False

```
>>> import sys
>>> from nacl.secret import SecretBox
>>> assert nacl in sys.modules
>>>
```
2024-03-15 11:13:44 +01:00
J. Nick Koston
4df2398b9f Move loading of ha-av to the executor (#113485) 2024-03-15 11:02:10 +01:00
Robert Svensson
2b2b5a2b02 Bump axis to v55 (#113479) 2024-03-15 09:38:47 +01:00
Erik Montnemery
dd9fdac51e Remove unused tts fixture (#113480) 2024-03-14 22:25:10 -10:00
J. Nick Koston
bdede0e0da Start script runs eagerly (#113190) 2024-03-14 16:53:26 -10:00
Lex Li
92e73312ea Bump pysnmp-lextudio to version 6.0.11 (#113463) 2024-03-14 16:19:18 -10:00
J. Nick Koston
3528cc86d7 Fix delayed registry check to only using the short delay at running (#113471) 2024-03-14 15:11:09 -10:00
J. Nick Koston
052d7d1e19 Fix scene integration doing blocking I/O in the event loop to import platforms (#113391) 2024-03-14 14:56:57 -10:00
J. Nick Koston
09934d44c4 Reduce script overhead by avoiding creation of many tasks (#113183)
* Reduce script overhead by avoiding creation of many tasks

* no eager stop

* reduce

* make sure wait being cancelled is handled

* make sure wait being cancelled is handled

* make sure wait being cancelled is handled

* preen

* preen

* result already raises cancelled error, remove redundant code

* no need to raise it into the future

* will never set an exception

* Simplify long action script implementation

* comment

* preen

* dry

* dry

* preen

* dry

* preen

* no need to access protected

* no need to access protected

* dry

* name

* dry

* dry

* dry

* dry

* reduce name changes

* drop one more task

* stale comment

* stale comment
2024-03-14 20:28:27 -04:00
J. Nick Koston
e293afe46e Bump aiodhcpwatcher to 1.0.0 (#113469) 2024-03-14 14:16:19 -10:00
J. Nick Koston
4fb127e5af Avoid creating another ssl context in cert_expiry (#113467)
Creating an ssl context does blocking I/O as it has to
read the certs from disk
2024-03-14 19:58:11 -04:00
J. Nick Koston
5b80eb4c3d Reduce overhead to save the larger registries (#113462)
We save the device and entity registry to disk quite often, and
the cost of serializing them to the storage can block the event
loop for >100ms. Add a cache to reduce the change the loop is blocked
at an inopportune time at run time. The first write after startup
will still be a little slow but we do have to serialize the
bulk of it at least once as there is no way to avoid this

```
2024-03-14 11:28:19.765 WARNING (MainThread) [homeassistant.helpers.storage] Writing data with data_func: core.device_registry
2024-03-14 11:28:20.020 WARNING (MainThread) [homeassistant.helpers.storage] Writing data with data_func: core.entity_registry
2024-03-14 11:28:20.178 WARNING (MainThread) [asyncio] Executing <TimerHandle cancelled when=2319925.760294916 Store._async_schedule_callback_delayed_write() created at /Users/bdraco/home-assistant/homeassistant/helpers/storage.py:328> took 0.159 seconds
```
2024-03-14 19:54:43 -04:00
J. Nick Koston
28836be3eb Construct storage data in the executor to avoid blocking the event loop (#113465)
Construct storage data in the executor

Constructing storage data can be expensive for large files and can block the event
loop. While ideally we optimize the construction of the data, there are some places
we cannot make it any faster. To avoid blocking the loop, the construction of
the data is now done in the executor by running the data_func in the executor.

2024-03-14 11:28:20.178 WARNING (MainThread) [asyncio] Executing <TimerHandle cancelled when=2319925.760294916 Store._async_schedule_callback_delayed_write() created at /Users/bdraco/home-assistant/homeassistant/helpers/storage.py:328> took 0.159 seconds

There is some risk that the data_func is not thread-safe and needs to be run in
the event loop, but I could not find any cases in our existing code where it
would be a problem
2024-03-14 19:53:11 -04:00
Åke Strandberg
f95d649f44 Add icon translations to myuplink (#111466) 2024-03-15 00:47:10 +01:00
Pete Sage
7cdec9aeeb Bump aiooncue to 0.3.7 (#113451) 2024-03-15 01:42:13 +02:00
J. Nick Koston
5a62be571d Bump aiodhcpwatcher to 0.8.2 (#113466) 2024-03-14 13:09:58 -10:00
Joost Lekkerkerker
ba2d382eb6 Add service icons to Image processing (#113416)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 23:49:05 +01:00
Joost Lekkerkerker
cd52f0f243 Add service icons to Notify (#113417)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 23:48:53 +01:00
jan iversen
7cba34b2e6 Change modbus integration to use async library calls (#113450) 2024-03-14 23:19:52 +01:00
wilburCforce
28ef898775 Support lutron transition time and flash for lights (#109185)
* support transition time for lights

* bug fix and support for FLASH

* updated to flash() to match changes coming in pylutron

* bumped pylutron version in anticipation of next release

* Update manifest.json

* Update requirements_all.txt

* Update requirements_test_all.txt

* Update requirements_test_all.txt

* nits and code improves
2024-03-14 23:07:16 +01:00
Franck Nijhof
221893c1d7 Add aliases support to floor registry WebSocket API (#113401) 2024-03-14 23:07:07 +01:00
Jan Bouwhuis
b1c636c886 Fix hassfest icons check for notify and image_processing (#113446) 2024-03-14 22:51:18 +01:00
Jan Bouwhuis
3ed7a7166d Revert "Remove unused test helper mock_area_registry" (#113453) 2024-03-14 22:11:44 +01:00
Matthias Lohr
566cbc71a5 Add aroma therapy select entity for tolo integration (#113442)
* add select entity to allow aroma therapy slot selection

* improved translation readability
2024-03-14 21:03:41 +01:00
Joost Lekkerkerker
3f2a51bcff Add service icons to Climate (#113409) 2024-03-14 20:45:21 +01:00
Christopher Bailey
1ada10299a Check for EA release channel for UniFi Protect (#113432)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-14 09:07:54 -10:00
J. Nick Koston
5512e8b789 Deprecate async_run_job and async_add_job (#113260) 2024-03-14 09:06:55 -10:00
J. Nick Koston
aaac879c83 Fix calling sync api in counter/ffmpeg/device_tracker tests (#113441) 2024-03-14 19:34:44 +01:00
Joost Lekkerkerker
2b3f0a9459 Add icon translations to ZHA (#112368) 2024-03-14 19:28:54 +01:00
Joost Lekkerkerker
5c59b4d846 Add service icons to Abode (#113411) 2024-03-14 19:26:01 +01:00
Joost Lekkerkerker
87767a58fc Fix alarm control panel icons (#113413) 2024-03-14 19:25:33 +01:00
Joost Lekkerkerker
e68c27ec12 Add service icons to Fan (#113415) 2024-03-14 19:25:22 +01:00
Joost Lekkerkerker
36123717be Allow entity platforms without entity_component in icon validation (#113422)
* Allow entity platforms without entity_component

* Rename variable

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-03-14 19:10:52 +01:00
Matthias Lohr
7359d66d32 add switch platform for tolo (#113440)
* upgrade tololib dependency to v1.0.0

* add switch to enable/disable aroma therapy

* aroma therapy and salt bath switch

* Update homeassistant/components/tolo/strings.json

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

* removed key from specific property list, it's required by default

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-14 19:10:29 +01:00
Franck Nijhof
2aadd643ed Add floors to service target (#110850) 2024-03-14 19:02:23 +01:00
Joost Lekkerkerker
20626947db Add icon translations to Unifi protect (#112332) 2024-03-14 18:43:09 +01:00
Christopher Bailey
2bf6170a6b Add UniFi Protect service to remove privacy zones (#111292) 2024-03-14 07:34:45 -10:00
Joost Lekkerkerker
02521c9da3 Add service icons to ADS (#113412) 2024-03-14 17:54:55 +01:00
Thomas55555
f1374503c3 Bump aioautomower to 2024.3.3 (#113430) 2024-03-14 17:51:24 +01:00
Joost Lekkerkerker
8a8546579c Add service icons to Scene (#113418) 2024-03-14 17:28:17 +01:00
Jeef
0867ace44a Bump weatherflow_cloud backing lib v0.2.13 (#113181)
* bump backing lib - and switch to rest models

* ci fix
2024-03-14 16:55:25 +01:00
Franck Nijhof
f7972ce9b2 2024.3.1 (#113249) 2024-03-14 16:53:07 +01:00
Joost Lekkerkerker
0316681615 Add service icons to Demo (#113414) 2024-03-14 16:49:17 +01:00
Joost Lekkerkerker
796d0381cc Add service icons to Utility meter (#113419)
* Add service icons to Utility meter

* Add service icons to Utility meter

* Update homeassistant/components/utility_meter/icons.json

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>

* Update homeassistant/components/utility_meter/icons.json

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>

---------

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
2024-03-14 16:48:13 +01:00
Joost Lekkerkerker
70286b38ec Fix icon mistakes (#113420) 2024-03-14 14:49:20 +01:00
Joost Lekkerkerker
606ee3c379 Enable PERF ruff rules (#113408) 2024-03-14 14:10:02 +01:00
Erik Montnemery
a16ea3d7bd Deprecate the map integration (#113215)
* Deprecate the map integration

* Revert changes in DashboardsCollection._async_load_data

* Add option to allow single word in dashboard URL

* Update tests

* Translate title

* Add icon

* Improve test coverage
2024-03-14 14:04:41 +01:00
Joost Lekkerkerker
fef2d7ddd4 Add service icons to Persistent Notification (#113340) 2024-03-14 14:02:15 +01:00
Joost Lekkerkerker
020b75d5de Add service icons to Blackbird (#113280) 2024-03-14 14:02:01 +01:00
Joost Lekkerkerker
21a2871014 Add service icons to Amcrest (#113276) 2024-03-14 14:01:51 +01:00
Joost Lekkerkerker
1191032b08 Add service icons to REST (#113346) 2024-03-14 14:01:41 +01:00
Joost Lekkerkerker
774b2800bf Add service icons to Group (#113302) 2024-03-14 14:01:30 +01:00
Joost Lekkerkerker
d81053a695 Add service icons to History Stats (#113306) 2024-03-14 14:01:20 +01:00
Joost Lekkerkerker
467a6f3ed0 Add service icons to Bluetooth Tracker (#113282) 2024-03-14 14:01:13 +01:00
Joost Lekkerkerker
265ecc141d Add service icons to Bayesian (#113278) 2024-03-14 14:01:04 +01:00
Joost Lekkerkerker
d10a244eaa Add service icons to Backup (#113277) 2024-03-14 14:00:57 +01:00
Joost Lekkerkerker
20c2bac32e Add service icons to Modbus (#113332) 2024-03-14 14:00:50 +01:00
Joost Lekkerkerker
09be817f76 Add service icons to Channels (#113284)
* Add service icons to Channels

* Update homeassistant/components/channels/icons.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 13:56:02 +01:00
Joost Lekkerkerker
645e780445 Add service icons to Advantage air (#113272) 2024-03-14 13:55:47 +01:00
Matthias Lohr
6a1913b372 Bump tololib to 1.1.0 (#113268)
* upgrade tololib dependency to v1.0.0

* use latest available patch version

* fixed tolo tests

* fixed test cases
2024-03-14 13:55:16 +01:00
Joost Lekkerkerker
1fd447f65b Add service icons to Agent DVR (#113273) 2024-03-14 13:54:45 +01:00
Joost Lekkerkerker
816d984cac Add service icons to DuckDNS (#113290)
* Add service icons to DuckDNS

* Update homeassistant/components/duckdns/icons.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 13:53:35 +01:00
Joost Lekkerkerker
500dd9330a Add service icons to Conversation (#113286) 2024-03-14 13:53:14 +01:00
Joost Lekkerkerker
85473b80ca Add service icons to Input Datetime (#113314) 2024-03-14 13:52:59 +01:00
Joost Lekkerkerker
43d4f10582 Add service icons to Logger (#113325)
* Add service icons to Logger

* Update homeassistant/components/logger/icons.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 13:52:45 +01:00
Joost Lekkerkerker
a3a1647256 Add service icons to Logbook (#113324) 2024-03-14 13:52:27 +01:00
Joost Lekkerkerker
c1b05ce93d Add service icons to Dominos (#113288) 2024-03-14 13:52:10 +01:00
Joost Lekkerkerker
40566c3b68 Add service icons to Downloader (#113289) 2024-03-14 13:51:59 +01:00
Joost Lekkerkerker
02a07a3d15 Add service icons to Ebusd (#113291) 2024-03-14 13:51:24 +01:00
Joost Lekkerkerker
064491b915 Add service icons to HDMI CEC (#113304)
* Add service icons to HDMI CEC

* Update homeassistant/components/hdmi_cec/icons.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 13:49:18 +01:00
Joost Lekkerkerker
141bdf33df Add service icons to Envisalink (#113292) 2024-03-14 13:48:58 +01:00
Joost Lekkerkerker
423a4dfc33 Add service icons to Foursquare (#113296) 2024-03-14 13:48:31 +01:00
Joost Lekkerkerker
ed91ccbfd4 Add service icons to Evohome (#113293) 2024-03-14 13:48:18 +01:00
Joost Lekkerkerker
5e04653431 Add service icons to Ffmpeg (#113294) 2024-03-14 13:47:11 +01:00
Joost Lekkerkerker
0eda6e86c5 Add service icons to Freebox (#113298) 2024-03-14 13:46:33 +01:00
Joost Lekkerkerker
dcd56e4ba7 Add service icons to Frontend (#113299) 2024-03-14 13:46:13 +01:00
Joost Lekkerkerker
8fa08c2fd8 Add service icons to Generic Thermostat (#113300) 2024-03-14 13:46:00 +01:00
Joost Lekkerkerker
4d98267cd9 Add service icons to Geniushub (#113301) 2024-03-14 13:45:03 +01:00
Joost Lekkerkerker
46ec25b2ef Add service icons to Habitica (#113303) 2024-03-14 13:44:52 +01:00
Joost Lekkerkerker
d88bebc255 Add service icons to Home Assistant (#113307) 2024-03-14 13:43:17 +01:00
Joost Lekkerkerker
3326fe6357 Add service icons to Homematic (#113308) 2024-03-14 13:40:24 +01:00
Joost Lekkerkerker
223e63b2d3 Add service icons to HTML5 (#113309) 2024-03-14 13:39:41 +01:00
Joost Lekkerkerker
95f269ef70 Add service icons to IHC (#113311) 2024-03-14 13:39:09 +01:00
Joost Lekkerkerker
41be0487c6 Add service icons to Input Number (#113315) 2024-03-14 13:38:56 +01:00
Joost Lekkerkerker
5573dbc5a7 Add service icons to Input button (#113313) 2024-03-14 13:38:47 +01:00
Joost Lekkerkerker
b6906d963b Add service icons to Input Select (#113316) 2024-03-14 13:36:30 +01:00
Joost Lekkerkerker
645a108e78 Add service icons to Input Text (#113317) 2024-03-14 13:36:03 +01:00
Joost Lekkerkerker
d79a8393de Add service icons to Intent Script (#113318) 2024-03-14 13:35:43 +01:00
Joost Lekkerkerker
be36626910 Add service icons to Iperf3 (#113319) 2024-03-14 13:35:14 +01:00
Joost Lekkerkerker
557e389159 Add service icons to Keba (#113320) 2024-03-14 13:34:42 +01:00
Joost Lekkerkerker
58f216fc89 Add service icons to Kef (#113321) 2024-03-14 13:33:53 +01:00
Joost Lekkerkerker
ca34fb3fbb Add service icons to Keyboard (#113322) 2024-03-14 13:33:01 +01:00
Joost Lekkerkerker
246ec0476f Add service icons to Local file (#113323) 2024-03-14 13:32:30 +01:00
Joost Lekkerkerker
c94fb8f660 Add service icons to Logi circle (#113326) 2024-03-14 13:29:22 +01:00
Joost Lekkerkerker
f9c1ed42a9 Add service icons to Lovelace (#113327) 2024-03-14 13:29:10 +01:00
Joost Lekkerkerker
03e6e2577a Add service icons to Matrix (#113328)
* Add service icons to Matrix

* Update homeassistant/components/matrix/icons.json
2024-03-14 13:27:38 +01:00
Joost Lekkerkerker
bb97063c48 Add service icons to Ness alarm (#113333) 2024-03-14 13:25:54 +01:00
Joost Lekkerkerker
75b4cd2733 Add service icons to Minio (#113331) 2024-03-14 13:25:45 +01:00
Joost Lekkerkerker
e303a6dae9 Add service icons to Microsoft Face (#113330) 2024-03-14 13:25:37 +01:00
Joost Lekkerkerker
6442d13a71 Add service icons to Media Extractor (#113329) 2024-03-14 13:25:27 +01:00
Joost Lekkerkerker
bac5a4d867 Add service icons to Netatmo (#113335) 2024-03-14 13:20:36 +01:00
Joost Lekkerkerker
d58ab85919 Add service icons to Nissan Leaf (#113336) 2024-03-14 13:20:28 +01:00
Joost Lekkerkerker
353b1cd08f Add service icons to nx584 (#113338) 2024-03-14 13:18:04 +01:00
Joost Lekkerkerker
2f16774f66 Add service icons to Pilight (#113341) 2024-03-14 13:16:58 +01:00
Joost Lekkerkerker
415402e7dc Add service icons to Python Scripts (#113342) 2024-03-14 13:16:12 +01:00
Joost Lekkerkerker
821a235c59 Add service icons to QVR Pro (#113343) 2024-03-14 13:15:25 +01:00
Joost Lekkerkerker
8c13b817ea Add service icons to Xiaomi Miio (#113364) 2024-03-14 13:15:11 +01:00
Joost Lekkerkerker
bfe6d0873a Add service icons to Remember the milk (#113345) 2024-03-14 13:14:48 +01:00
Joost Lekkerkerker
98c250b910 Add service icons to RFLink (#113348)
* Add service icons to RFLink

* Update homeassistant/components/rflink/icons.json
2024-03-14 13:14:15 +01:00
Joost Lekkerkerker
b8d232ab7f Add service icons to Route53 (#113349) 2024-03-14 13:12:51 +01:00
Joost Lekkerkerker
2a2f95ce8e Add service icons to Telegram (#113356) 2024-03-14 13:12:43 +01:00
Joost Lekkerkerker
ca1c247574 Add service icons to Toon (#113359) 2024-03-14 13:12:20 +01:00
Joost Lekkerkerker
13a2db0348 Add service icons to Telegram bot (#113357) 2024-03-14 13:12:03 +01:00
Joost Lekkerkerker
5f48083eca Add service icons to Wemo (#113363) 2024-03-14 13:11:55 +01:00
Joost Lekkerkerker
ffe6810769 Add service icons to Yamaha (#113365) 2024-03-14 13:05:43 +01:00
Franck Nijhof
064f96f8fa Add floor support to areas WebSocket API (#113402) 2024-03-14 12:55:31 +01:00
Joakim Sørensen
a6594f8860 Bump hass-nabucasa from 0.78.0 to 0.79.0 (#113405) 2024-03-14 12:54:43 +01:00
jan iversen
7696973932 Move modbus check_config to setup, to have access to hass (#112828) 2024-03-14 12:54:01 +01:00
Joost Lekkerkerker
77a67191de Add service icons to Ombi (#113339) 2024-03-14 11:42:40 +01:00
Joost Lekkerkerker
1c56c7b136 Add service icons to Snips (#113352) 2024-03-14 11:42:12 +01:00
Joost Lekkerkerker
374695bfa6 Add service icons to Recorder (#113344) 2024-03-14 11:41:43 +01:00
Joost Lekkerkerker
4f120ea223 Add service icons to Schedule (#113350) 2024-03-14 11:41:09 +01:00
Joost Lekkerkerker
eeaf8ddd69 Add service icons to SMTP (#113351) 2024-03-14 11:40:46 +01:00
Joost Lekkerkerker
11e69f6baa Add service icons to Timer (#113358) 2024-03-14 11:40:22 +01:00
Joost Lekkerkerker
4c3943e264 Add service icons to System Bridge (#113354) 2024-03-14 11:35:43 +01:00
Chris Talkington
05c0416644 Bump pyipp to 0.15.0 (#113204)
update pyipp to 0.15.0
2024-03-14 11:05:33 +01:00
Joost Lekkerkerker
246017b3fa Add service icons to Alert (#113274) 2024-03-14 11:03:13 +01:00
Joost Lekkerkerker
cd902c917c Add service icons to Universal (#113361) 2024-03-14 11:00:27 +01:00
Joost Lekkerkerker
73af5f5be1 Add service icons to Statistics (#113353) 2024-03-14 10:59:49 +01:00
Joost Lekkerkerker
ca916bcc98 Add service icons to System Log (#113355) 2024-03-14 10:59:28 +01:00
Joost Lekkerkerker
fc85b4f123 Add service icons to Wake on LAN (#113362) 2024-03-14 10:59:01 +01:00
Thomas55555
63e3da1aca Add loggers to Husqvarna Automower (#113381) 2024-03-14 10:58:24 +01:00
Mike Degatano
6ca837b4e1 Supervisor issues update retries on failure (#113373) 2024-03-14 10:57:27 +01:00
Mike Degatano
45ef5a3edf Apply suggestion failures fail supervisor repair (#113372) 2024-03-14 10:57:24 +01:00
Chris Talkington
297c7c11fc Add diagnostics for IPP (#113205) 2024-03-14 10:57:21 +01:00
J. Nick Koston
cda9bf7051 Fix failing google diagnostics test (#113095) 2024-03-14 10:57:17 +01:00
Jonny Bergdahl
eb04365590 Fix Twitch auth token refresh (#112833)
* Fix for expired token

* Add auth token refresh.

* Eliminate extra auth call

* Fixed mock client

---------

Co-authored-by: Jonny Bergdahl <bergdahl@users.noreply.github.com>
2024-03-14 10:57:13 +01:00
Mike Degatano
5a25349cf7 Supervisor issues update retries on failure (#113373) 2024-03-14 10:55:04 +01:00
Mike Degatano
6d903300be Apply suggestion failures fail supervisor repair (#113372) 2024-03-14 10:53:55 +01:00
J. Nick Koston
6832611550 Fix smartthings doing blocking I/O in the event loop to import platforms (#113382) 2024-03-14 10:47:18 +01:00
Joost Lekkerkerker
972efada75 Add service icons to Zoneminder (#113366) 2024-03-14 10:46:52 +01:00
J. Nick Koston
c466008fb4 Migrate sun to use single_config_entry (#113370) 2024-03-14 10:45:59 +01:00
J. Nick Koston
c122e32d20 Fix telegram_bot doing blocking I/O in the event loop to import platforms (#113383) 2024-03-14 10:45:11 +01:00
J. Nick Koston
4341b21a61 Migrate auth to use async_import_module to avoid blocking I/O in the event loop (#113387) 2024-03-14 10:44:36 +01:00
Steven B
4aec48d358 Update ring integration imports (#113397)
Update ring imports for patching where library is created
2024-03-14 10:44:17 +01:00
Erik Montnemery
9eea786411 Remove old migration from lovelace (#113388) 2024-03-14 10:43:55 +01:00
Joost Lekkerkerker
7ae852e5ed Enable ISC ruff rule (#113270) 2024-03-14 10:43:03 +01:00
Joost Lekkerkerker
05172d8e4d Improve loops and lists (#113269)
* Enable PERF

* Enable PERF rule

* Enable PERF rule

* Don't enable flag yet
2024-03-14 10:22:20 +01:00
Joost Lekkerkerker
8a98fb7cfd Add service icons to Filter (#113295) 2024-03-14 10:21:38 +01:00
tronikos
de726d0e6e Add virtual integration Sacramento Municipal Utility District (SMUD) (#113389)
smud
2024-03-14 09:55:37 +01:00
Joost Lekkerkerker
fd9cc3a53e Add service icons to Debug py (#113287) 2024-03-14 09:50:53 +01:00
dependabot[bot]
e9e5712c31 Bump docker/login-action from 3.0.0 to 3.1.0 (#113384)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 09:48:46 +01:00
tronikos
bc6917552f Bump gassist-text to 0.0.11 (#113386)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-13 22:47:09 -10:00
tronikos
438215f220 Bump opower to 0.4.0 (#113390) 2024-03-13 22:46:44 -10:00
Thomas55555
33c75bfd36 Add loggers to Husqvarna Automower (#113381) 2024-03-14 09:29:11 +01:00
Joost Lekkerkerker
34b1f848c1 Add service icons to Unifi (#113360) 2024-03-14 07:04:39 +01:00
Chris Talkington
fe99d80054 Add diagnostics for IPP (#113205) 2024-03-14 00:44:07 -05:00
J. Nick Koston
c1f5c7c4b7 Remove usage of async_add_job in tests (#113259) 2024-03-13 19:33:33 -10:00
J. Nick Koston
c3b5e819c5 Fix group loading too late resulting in incorrect state (#113262) 2024-03-13 19:18:15 -10:00
Joost Lekkerkerker
4ed3ea3b02 Add service icons to REST command (#113347) 2024-03-14 06:10:48 +01:00
J. Nick Koston
4f326df088 Remove async_add_job calls from qwikswitch (#113258) 2024-03-13 18:34:37 -10:00
J. Nick Koston
cfe14bca8f Add a helper to import modules from the event loop (#113169)
* Add a helper to import modules in the event loop

Replaces the one used for triggers with a more generic helper
that can be reused and uses a future to avoid importing concurrently

* Add a helper to import modules in the event loop

Replaces the one used for triggers with a more generic helper
that can be reused and uses a future to avoid importing concurrently

* coverage

* make sure we do not retry

* coverage
2024-03-14 00:26:33 -04:00
J. Nick Koston
4f113f256f Migrate script integration to create eager tasks (#113189)
Along with #113183 the script execution may be able to
synchronously without having to be scheduled on the event loop
2024-03-14 00:23:25 -04:00
J. Nick Koston
9d1c683a70 Remove async_add_job calls from configurator (#113256)
The plan is to deprecate `async_add_job` to reduce the number of job APIs we have to maintain.

See #113179 for additional history.

This one got the smallest change possible since its likely to go away as
well at some point
2024-03-14 00:22:40 -04:00
J. Nick Koston
7f37732e71 Migrate solax away from using async_add_job (#113257)
The plan is to deprecate `async_add_job` to reduce the number of job APIs we have to maintain.

See #113179 for additional history.

`async_add_job` was not being used as expected here
2024-03-14 00:22:15 -04:00
J. Nick Koston
9ef0a8cb95 Add default_config to the bootstrap pre-imports (#113263)
This does not make default_config a requirement, it only preloads
the python code for the integration so it does not have to be loaded
when the import executor is busy. While its a tiny init file, it always
ends up at the end of the line and delays startup
2024-03-14 00:15:19 -04:00
J. Nick Koston
870caf90c1 Bump ha-ffmpeg to 3.2.0 (#113297)
No longer needs to use the executor to run subprocesses

changelog: https://github.com/home-assistant-libs/ha-ffmpeg/compare/3.1.0...3.2.0
2024-03-14 00:14:13 -04:00
J. Nick Koston
9940f51b95 Avoid pre-importing config_flows if the integration does not support migration (#113369)
* Avoid pre-importing config_flows if the integration does support migration

Currently we pre-import the config flow module if it exists since
setting up the config entry required comparing the versions found
in the config_flow.py. We can avoid the pre-import if the integration
does not support async_migrate_entry which means we avoid loading
many config flows in memory at startup.

* cover

* fix missing block

* do not call directly

* its too fast now, the test gets more along

* Update homeassistant/loader.py
2024-03-14 00:13:40 -04:00
Marc Mueller
d1d28dbfb8 Fix uv cache dir env [ci] (#113312) 2024-03-14 05:01:57 +01:00
J. Nick Koston
6338c8d86e Bump aiodiscover to 2.0.0 (#113337) 2024-03-13 17:24:33 -10:00
J. Nick Koston
3d1a65a1c3 Bump bluetooth-auto-recovery to 1.4.0 (#113368) 2024-03-13 17:13:22 -10:00
J. Nick Koston
9e645e1b00 Bump aiodns to 3.1.1 (#113371) 2024-03-13 16:46:40 -10:00
J. Nick Koston
e0828f1efc Ensure apple_tv setup retries later on timeout (#113367) 2024-03-13 15:12:13 -10:00
Joost Lekkerkerker
1abb448106 Add service icons to Command line (#113285) 2024-03-13 14:07:52 -10:00
Franck Nijhof
b88cdd78bc Hotfix import error in ZHA for 2024.3.1 patch release (#113250) 2024-03-13 19:35:43 +01:00
Franck Nijhof
525b20ca8e Bump version to 2024.3.1 2024-03-13 19:15:13 +01:00
Maciej Bieniek
5769ba023c Bump brother library to version 4.0.2 (#113235)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-13 19:14:09 +01:00
Chris Talkington
f7da6b5e81 Bump rokuecp to 0.19.2 (#113198) 2024-03-13 19:14:05 +01:00
Ståle Storø Hauknes
6fdfc554a6 Bump airthings_ble to 0.7.1 (#113172)
Co-authored-by: Ståle Storø Hauknes <LaStrada@users.noreply.github.com>
2024-03-13 19:14:01 +01:00
Michael Hansen
962e5ec92a Bump intents to 2023.3.12 (#113160)
Bump intents
2024-03-13 19:13:57 +01:00
Stefan Agner
095d0d0779 Add message from Bad Request errors to HassioAPIError (#113144)
Co-authored-by: Mike Degatano <michael.degatano@gmail.com>
2024-03-13 19:13:50 +01:00
Josef Zweck
d010df7116 bump pytedee_async to 0.2.16 (#113135) 2024-03-13 19:13:07 +01:00
J. Nick Koston
a63bf74886 Bump aiodhcpwatcher to 0.8.1 (#113096) 2024-03-13 19:12:19 +01:00
Robert Svensson
cac22154a8 Bump axis to v54 (#113091)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-13 19:12:15 +01:00
Marcel van der Veldt
0b2322c466 Fix colormode attribute on grouped Hue light (#113071) 2024-03-13 19:12:12 +01:00
Lukas de Boer
66cd6c0d23 Bump rova to 0.4.1 (#113066) 2024-03-13 19:12:08 +01:00
Marcel van der Veldt
a2e9ecfcde Fix for controlling Hue switch entities (#113064) 2024-03-13 19:12:05 +01:00
Alistair Francis
8ac5da95f8 components/gardena_bluetooth: Improve avaliability reliability (#113056)
* components/gardena_bluetooth: Improve avaliability reliability

The available() function incorrectly returns false even though the device
is accessible.

The last_update_success property should correctly indicate if the device
isn't contactable, so we don't need to call async_address_present().
This is confirmed by seeing that no other users are calling
async_address_present() in the available() function.

This commit removes the call to async_address_present() to help fix the
sensor being unavailable when using a ESPHome BLE proxy.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

---------

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Co-authored-by: Joakim Plate <elupus@ecce.se>
2024-03-13 19:12:01 +01:00
Folke Lemaitre
911b39666d Fix hvac_mode for viessmann devices with heatingCooling mode (#113054) 2024-03-13 19:11:56 +01:00
Scott K Logan
2dbc63809d Fix some handle leaks in rainforest_raven (#113035)
There were leaks when
* The component was shutdown
* There was a timeout during the initial device opening

Additionally, the device was not closed/reopened when there was a
timeout reading regular data.
2024-03-13 19:10:59 +01:00
Allen Porter
a448c904d3 Bump ical to 7.0.1 and always use home assistant timezone for local todo dtstart (#113034) 2024-03-13 19:09:15 +01:00
Maciej Bieniek
7b5f879305 Fix availability for GIOS index sensors (#113021)
* Fix availability for index sensors

* Improve test_availability()

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-13 19:08:24 +01:00
Robert Svensson
76cf25228f Bump axis to v53 (#113019) 2024-03-13 19:07:18 +01:00
Ernst Klamer
bbe88c2a5e Bump bthome-ble to 3.8.0 (#113008)
Bump bthome-ble
2024-03-13 19:07:14 +01:00
David Knowles
def4f3cb09 Add missing translation placeholder in Hydrawise (#113007)
Add missing translation placeholder
2024-03-13 19:07:11 +01:00
星野SKY
0d262ea9d4 Bump boschshcpy to 0.2.82 (#112890) 2024-03-13 19:07:08 +01:00
J. Nick Koston
fc2ca1646a Fix MJPEG fallback when still image URL is missing with basic auth (#112861)
* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877

* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877

* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877

* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877
2024-03-13 19:07:04 +01:00
Jan Bouwhuis
2d7de216a7 Fix google_asssistant sensor state reporting (#112838)
* Fix post google_assistant sensor values as float not string

* Fix aqi reporting and improve tests

* Fix _air_quality_description_for_aqi and  test
2024-03-13 19:07:01 +01:00
mrchi
8f2f9b8184 Bump openwrt-luci-rpc version to 1.1.17 (#112796) 2024-03-13 19:06:58 +01:00
Lex Li
93a01938a4 Upgrade pysnmp-lextudio to version 6.0.9 (#112795) 2024-03-13 19:06:55 +01:00
Shay Levy
70389521bf Bump bthome-ble to 3.7.0 (#112783) 2024-03-13 19:06:52 +01:00
Arie Catsman
3f22ad4eac Bump pyenphase to 1.19.2 (#112747) 2024-03-13 19:06:48 +01:00
Allen Porter
d99b9f7a70 Fix local calendar handling of empty recurrence ids (#112745)
* Fix handling of empty recurrence ids

* Revert logging changes
2024-03-13 19:06:45 +01:00
J. Nick Koston
5a125bf379 Guard against db corruption when renaming entities (#112718) 2024-03-13 19:06:41 +01:00
jan iversen
f7b64244b8 Allow duplicate names in different modbus entities (#112701)
Allow duplicate names in different entities.
2024-03-13 19:05:36 +01:00
Maciej Bieniek
c2543289b7 Downgrade pysnmp-lextudio to version 5.0.34 (#112696)
Downgrade pysnmp-lextudio to version 5.0.34

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-13 19:03:51 +01:00
Alin Balutoiu
9e977f2c70 Fix tado climate service (#112686) 2024-03-13 19:03:47 +01:00
Aaron Bach
e95ce2d390 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-13 19:03:42 +01:00
Aaron Bach
503fbfc038 Bump aionotion to 2024.03.0 (#112675) 2024-03-13 19:03:39 +01:00
Jeef
23fee438a9 Bump weatherflow4py to 0.1.17 (#112661) 2024-03-13 19:03:36 +01:00
Mike Woudenberg
1f9e369b73 Update Loqed helper for more logging (#112646)
Updates Loqed helper for more logging
2024-03-13 19:03:33 +01:00
Robert Svensson
403013b7bd Bump axis to v52 (#112632)
* Bump axis to v51

* Bump to v52
2024-03-13 19:03:30 +01:00
jan iversen
e348c7b043 Bump pymodbus to v3.6.5 (#112629) 2024-03-13 19:03:25 +01:00
Thomas55555
4db36d5ea9 Bump aioautomower to 2024.3.0 (#112627)
Fix error in Husqvarna automower in Zones dataclass
2024-03-13 19:02:32 +01:00
Erik Montnemery
aebbee681c Make hass-nabucasa a core requirement (#112623) 2024-03-13 18:50:48 +01:00
Bram Kragten
2985ab3922 Update frontend to 20240307.0 (#112620) 2024-03-13 18:47:04 +01:00
jan iversen
aa374944a1 modbus scan_interval: 0 is correct configuration (#112619) 2024-03-13 18:46:59 +01:00
jan iversen
84d14cad7f Issue warning modbus configuration when modbus configuration is empty (#112618) 2024-03-13 18:45:53 +01:00
Josef Zweck
b9a14d5eb5 Include pytedee_async logger in tedee integration (#112590)
add pytedee logger
2024-03-13 18:42:02 +01:00
Mr. Bubbles
4514f08a42 Fix incorrect filtering of unsupported locales in bring-api (#112589) 2024-03-13 18:40:54 +01:00
Erik Montnemery
2689f78925 Restore the juicenet integration (#112578) 2024-03-13 18:39:46 +01:00
Jeef
85b63c16e9 Bump weatherflow4py to 0.1.14 (#112554)
adding missing rain states
2024-03-13 18:35:59 +01:00
Jeef
4b387b5d77 Weatherflow_cloud backing lib bump (#112262)
Backing lib bump
2024-03-13 18:35:53 +01:00
Michael Hansen
fba6e5f065 Bump intents to 2024.3.6 (#112515) 2024-03-13 18:33:28 +01:00
puddly
095aab5f9d 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-13 18:33:25 +01:00
Henning Claßen
c60f203aab Update the numato-gpio dependency of the numato integration to v0.12.0 (#112272)
* Update the numato-gpio dependency of the numato integration to v0.12.0

* Augment numato integration manifest with integration_type

Fulfills a requirement in the PR checklist.
2024-03-13 18:33:22 +01:00
Steven Looman
57c8d47ff3 Improve discovering upnp/igd device by always using the SSDP-discovery for the Unique Device Name (#111487)
* Always use the UDN found in the SSDP discovery, instead of the device description

* Ensure existing DeviceEntries are still matched
2024-03-13 18:33:19 +01:00
On Freund
e087ea5345 Use friendly name for camera media source (#110882) 2024-03-13 18:33:15 +01:00
FieldofClay
3c4bdebcda Ignore AussieBroadband services that don't support usage information (#110253) 2024-03-13 18:33:12 +01:00
mattmccormack
6f6f37ca24 Add auto fan mode icon (#110185) 2024-03-13 18:33:09 +01:00
Jan Stienstra
649dd433d5 Fix optional Jellyfin RunTimeTicks (#108254) 2024-03-13 18:33:00 +01:00
10389 changed files with 597338 additions and 252739 deletions

View File

@@ -49,6 +49,7 @@ base_platforms: &base_platforms
- homeassistant/components/tts/**
- homeassistant/components/update/**
- homeassistant/components/vacuum/**
- homeassistant/components/valve/**
- homeassistant/components/water_heater/**
- homeassistant/components/weather/**
@@ -60,6 +61,7 @@ components: &components
- homeassistant/components/auth/**
- homeassistant/components/automation/**
- homeassistant/components/backup/**
- homeassistant/components/blueprint/**
- homeassistant/components/bluetooth/**
- homeassistant/components/cloud/**
- homeassistant/components/config/**
@@ -120,21 +122,18 @@ tests: &tests
- pylint/**
- requirements_test_pre_commit.txt
- requirements_test.txt
- tests/*.py
- tests/auth/**
- tests/backports/**
- tests/common.py
- tests/components/history/**
- tests/components/logbook/**
- tests/components/recorder/**
- tests/components/sensor/**
- tests/conftest.py
- tests/hassfest/**
- tests/helpers/**
- tests/ignore_uncaught_exceptions.py
- tests/mock/**
- tests/pylint/**
- tests/scripts/**
- tests/syrupy.py
- tests/test_util/**
- tests/testing_config/**
- tests/util/**
@@ -148,6 +147,7 @@ requirements: &requirements
- homeassistant/package_constraints.txt
- requirements*.txt
- pyproject.toml
- script/licenses.py
any:
- *base_platforms

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,12 @@
"dockerFile": "../Dockerfile.dev",
"postCreateCommand": "script/setup",
"postStartCommand": "script/bootstrap",
"containerEnv": { "DEVCONTAINER": "1" },
"containerEnv": {
"PYTHONASYNCIODEBUG": "1"
},
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {}
},
// Port 5683 udp is used by Shelly integration
"appPort": ["8123:8123", "5683:5683/udp"],
"runArgs": ["-e", "GIT_EDITOR=code --wait"],
@@ -17,12 +22,17 @@
"visualstudioexptteam.vscodeintellicode",
"redhat.vscode-yaml",
"esbenp.prettier-vscode",
"GitHub.vscode-pull-request-github"
"GitHub.vscode-pull-request-github",
"GitHub.copilot"
],
// Please keep this file in sync with settings in home-assistant/.vscode/settings.default.json
"settings": {
"python.pythonPath": "/usr/local/bin/python",
"python.experiments.optOutFrom": ["pythonTestAdapter"],
"python.defaultInterpreterPath": "/home/vscode/.local/ha-venv/bin/python",
"python.pythonPath": "/home/vscode/.local/ha-venv/bin/python",
"python.terminal.activateEnvInCurrentTerminal": true,
"python.testing.pytestArgs": ["--no-cov"],
"pylint.importStrategy": "fromEnvironment",
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,

14
.git-blame-ignore-revs Normal file
View File

@@ -0,0 +1,14 @@
# Black
4de97abc3aa83188666336ce0a015a5bab75bc8f
# Switch formatting from black to ruff-format (#102893)
706add4a57120a93d7b7fe40e722b00d634c76c2
# Prettify json (component test fixtures) (#68892)
053c4428a933c3c04c22642f93c93fccba3e8bfd
# Prettify json (tests) (#68888)
496d90bf00429d9d924caeb0155edc0bf54e86b9
# Bump ruff to 0.3.4 (#112690)
6bb4e7d62c60389608acf4a7d7dacd8f029307dd

View File

@@ -74,7 +74,6 @@ If the code communicates with devices, web services, or third-party tools:
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
- [ ] Untested files have been added to `.coveragerc`.
<!--
This project is very active and we have a high turnover of pull requests.

View File

@@ -12,6 +12,8 @@ env:
BUILD_TYPE: core
DEFAULT_PYTHON: "3.12"
PIP_TIMEOUT: 60
UV_HTTP_TIMEOUT: 60
UV_SYSTEM_PYTHON: "true"
jobs:
init:
@@ -25,12 +27,12 @@ jobs:
publish: ${{ steps.version.outputs.publish }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
with:
fetch-depth: 0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.1.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -49,41 +51,29 @@ jobs:
with:
ignore-dev: true
build_python:
name: Build PyPi package
environment: ${{ needs.init.outputs.channel }}
needs: ["init", "build_base"]
runs-on: ubuntu-latest
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Fail if translations files are checked in
run: |
if [ -n "$(find homeassistant/components/*/translations -type f)" ]; then
echo "Translations files are checked in, please remove the following files:"
find homeassistant/components/*/translations -type f
exit 1
fi
- name: Download Translations
run: python3 -m script.translations download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Build package
- name: Archive translations
shell: bash
run: |
# Remove dist, build, and homeassistant.egg-info
# when build locally for testing!
pip install twine build
python -m build
run: find ./homeassistant/components/*/translations -name "*.json" | tar zcvf translations.tar.gz -T -
- name: Upload package
shell: bash
run: |
export TWINE_USERNAME="__token__"
export TWINE_PASSWORD="${{ secrets.TWINE_TOKEN }}"
twine upload dist/* --skip-existing
- name: Upload translations
uses: actions/upload-artifact@v4.3.6
with:
name: translations
path: translations.tar.gz
if-no-files-found: error
build_base:
name: Build ${{ matrix.arch }} base core image
@@ -95,15 +85,16 @@ jobs:
packages: write
id-token: write
strategy:
fail-fast: false
matrix:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
- name: Download nightly wheels of frontend
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v3.1.2
uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/frontend
@@ -114,7 +105,7 @@ jobs:
- name: Download nightly wheels of intents
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v3.1.2
uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/intents-package
@@ -125,17 +116,20 @@ jobs:
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
if: needs.init.outputs.channel == 'dev'
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.1.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Adjust nightly version
if: needs.init.outputs.channel == 'dev'
shell: bash
env:
UV_PRERELEASE: allow
run: |
python3 -m pip install packaging tomli
python3 -m pip install .
version="$(python3 script/version_bump.py nightly)"
python3 -m pip install "$(grep '^uv' < requirements_test.txt)"
uv pip install packaging tomli
uv pip install .
python3 script/version_bump.py nightly --set-nightly-version "${{ needs.init.outputs.version }}"
if [[ "$(ls home_assistant_frontend*.whl)" =~ ^home_assistant_frontend-(.*)-py3-none-any.whl$ ]]; then
echo "Found frontend wheel, setting version to: ${BASH_REMATCH[1]}"
@@ -147,7 +141,7 @@ jobs:
sed -i "s|home-assistant-frontend==.*|home-assistant-frontend==${BASH_REMATCH[1]}|" \
homeassistant/package_constraints.txt
python -m script.gen_requirements_all
sed -i "s|home-assistant-frontend==.*||" requirements_all.txt
fi
if [[ "$(ls home_assistant_intents*.whl)" =~ ^home_assistant_intents-(.*)-py3-none-any.whl$ ]]; then
@@ -165,7 +159,7 @@ jobs:
sed -i "s|home-assistant-intents==.*|home-assistant-intents==${BASH_REMATCH[1]}|" \
homeassistant/package_constraints.txt
python -m script.gen_requirements_all
sed -i "s|home-assistant-intents==.*||" requirements_all.txt
fi
- name: Adjustments for armhf
@@ -180,19 +174,15 @@ jobs:
sed -i "s|pyezviz|# pyezviz|g" requirements_all.txt
sed -i "s|pykrakenapi|# pykrakenapi|g" requirements_all.txt
- name: Adjustments for 64-bit
if: matrix.arch == 'amd64' || matrix.arch == 'aarch64'
run: |
# Some speedups are only available on 64-bit, and since
# we build 32bit images on 64bit hosts, we only enable
# the speed ups on 64bit since the wheels for 32bit
# are not available.
sed -i "s|aiohttp-zlib-ng|aiohttp-zlib-ng\[isal\]|g" requirements_all.txt
- name: Download translations
uses: actions/download-artifact@v4.1.8
with:
name: translations
- name: Download Translations
run: python3 -m script.translations download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Extract translations
run: |
tar xvf translations.tar.gz
rm translations.tar.gz
- name: Write meta info file
shell: bash
@@ -200,14 +190,14 @@ jobs:
echo "${{ github.sha }};${{ github.ref }};${{ github.event_name }};${{ github.actor }}" > rootfs/OFFICIAL_IMAGE
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.0.0
uses: docker/login-action@v3.3.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2024.01.0
uses: home-assistant/builder@2024.08.2
with:
args: |
$BUILD_ARGS \
@@ -216,17 +206,6 @@ jobs:
--target /data \
--generic ${{ needs.init.outputs.version }}
- name: Archive translations
shell: bash
run: find ./homeassistant/components/*/translations -name "*.json" | tar zcvf translations.tar.gz -T -
- name: Upload translations
uses: actions/upload-artifact@v3
with:
name: translations
path: translations.tar.gz
if-no-files-found: error
build_machine:
name: Build ${{ matrix.machine }} machine core image
if: github.repository_owner == 'home-assistant'
@@ -263,7 +242,7 @@ jobs:
- green
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
- name: Set build additional args
run: |
@@ -277,14 +256,14 @@ jobs:
fi
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.0.0
uses: docker/login-action@v3.3.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2024.01.0
uses: home-assistant/builder@2024.08.2
with:
args: |
$BUILD_ARGS \
@@ -300,7 +279,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
@@ -336,23 +315,28 @@ jobs:
contents: read
packages: write
id-token: write
strategy:
matrix:
registry: ["ghcr.io/home-assistant", "docker.io/homeassistant"]
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
- name: Install Cosign
uses: sigstore/cosign-installer@v3.4.0
uses: sigstore/cosign-installer@v3.6.0
with:
cosign-release: "v2.0.2"
cosign-release: "v2.2.3"
- name: Login to DockerHub
uses: docker/login-action@v3.0.0
if: matrix.registry == 'docker.io/homeassistant'
uses: docker/login-action@v3.3.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.0.0
if: matrix.registry == 'ghcr.io/home-assistant'
uses: docker/login-action@v3.3.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -366,41 +350,37 @@ jobs:
function create_manifest() {
local tag_l=${1}
local tag_r=${2}
local registry=${{ matrix.registry }}
for registry in "ghcr.io/home-assistant" "docker.io/homeassistant"
do
docker manifest create "${registry}/home-assistant:${tag_l}" \
"${registry}/amd64-homeassistant:${tag_r}" \
"${registry}/i386-homeassistant:${tag_r}" \
"${registry}/armhf-homeassistant:${tag_r}" \
"${registry}/armv7-homeassistant:${tag_r}" \
"${registry}/aarch64-homeassistant:${tag_r}"
docker manifest create "${registry}/home-assistant:${tag_l}" \
"${registry}/amd64-homeassistant:${tag_r}" \
"${registry}/i386-homeassistant:${tag_r}" \
"${registry}/armhf-homeassistant:${tag_r}" \
"${registry}/armv7-homeassistant:${tag_r}" \
"${registry}/aarch64-homeassistant:${tag_r}"
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/amd64-homeassistant:${tag_r}" \
--os linux --arch amd64
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/amd64-homeassistant:${tag_r}" \
--os linux --arch amd64
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/i386-homeassistant:${tag_r}" \
--os linux --arch 386
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/i386-homeassistant:${tag_r}" \
--os linux --arch 386
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/armhf-homeassistant:${tag_r}" \
--os linux --arch arm --variant=v6
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/armhf-homeassistant:${tag_r}" \
--os linux --arch arm --variant=v6
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/armv7-homeassistant:${tag_r}" \
--os linux --arch arm --variant=v7
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/armv7-homeassistant:${tag_r}" \
--os linux --arch arm --variant=v7
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/aarch64-homeassistant:${tag_r}" \
--os linux --arch arm64 --variant=v8
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/aarch64-homeassistant:${tag_r}" \
--os linux --arch arm64 --variant=v8
docker manifest push --purge "${registry}/home-assistant:${tag_l}"
cosign sign --yes "${registry}/home-assistant:${tag_l}"
done
docker manifest push --purge "${registry}/home-assistant:${tag_l}"
cosign sign --yes "${registry}/home-assistant:${tag_l}"
}
function validate_image() {
@@ -433,12 +413,14 @@ jobs:
validate_image "ghcr.io/home-assistant/armv7-homeassistant:${{ needs.init.outputs.version }}"
validate_image "ghcr.io/home-assistant/aarch64-homeassistant:${{ needs.init.outputs.version }}"
# Upload images to dockerhub
push_dockerhub "amd64-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "i386-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "armhf-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "armv7-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "aarch64-homeassistant" "${{ needs.init.outputs.version }}"
if [[ "${{ matrix.registry }}" == "docker.io/homeassistant" ]]; then
# Upload images to dockerhub
push_dockerhub "amd64-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "i386-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "armhf-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "armv7-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "aarch64-homeassistant" "${{ needs.init.outputs.version }}"
fi
# Create version tag
create_manifest "${{ needs.init.outputs.version }}" "${{ needs.init.outputs.version }}"
@@ -459,3 +441,97 @@ jobs:
v="${{ needs.init.outputs.version }}"
create_manifest "${v%.*}" "${{ needs.init.outputs.version }}"
fi
build_python:
name: Build PyPi package
environment: ${{ needs.init.outputs.channel }}
needs: ["init", "build_base"]
runs-on: ubuntu-latest
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.1.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Download translations
uses: actions/download-artifact@v4.1.8
with:
name: translations
- name: Extract translations
run: |
tar xvf translations.tar.gz
rm translations.tar.gz
- name: Build package
shell: bash
run: |
# Remove dist, build, and homeassistant.egg-info
# when build locally for testing!
pip install twine build
python -m build
- name: Upload package
shell: bash
run: |
export TWINE_USERNAME="__token__"
export TWINE_PASSWORD="${{ secrets.TWINE_TOKEN }}"
twine upload dist/* --skip-existing
hassfest-image:
name: Build and test hassfest image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
needs: ["init"]
if: github.repository_owner == 'home-assistant'
env:
HASSFEST_IMAGE_NAME: ghcr.io/home-assistant/hassfest
HASSFEST_IMAGE_TAG: ghcr.io/home-assistant/hassfest:${{ needs.init.outputs.version }}
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Login to GitHub Container Registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker image
uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
with:
context: . # So action will not pull the repository again
file: ./script/hassfest/docker/Dockerfile
load: true
tags: ${{ env.HASSFEST_IMAGE_TAG }}
- name: Run hassfest against core
run: docker run --rm -v ${{ github.workspace }}/homeassistant:/github/workspace/homeassistant ${{ env.HASSFEST_IMAGE_TAG }} --core-integrations-path=/github/workspace/homeassistant/components
- name: Push Docker image
if: needs.init.outputs.channel != 'dev' && needs.init.outputs.publish == 'true'
id: push
uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
with:
context: . # So action will not pull the repository again
file: ./script/hassfest/docker/Dockerfile
push: true
tags: ${{ env.HASSFEST_IMAGE_TAG }},${{ env.HASSFEST_IMAGE_NAME }}:latest
- name: Generate artifact attestation
if: needs.init.outputs.channel != 'dev' && needs.init.outputs.publish == 'true'
uses: actions/attest-build-provenance@6149ea5740be74af77f260b9db67e633f6b0a9a1 # v1.4.2
with:
subject-name: ${{ env.HASSFEST_IMAGE_NAME }}
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true

File diff suppressed because it is too large Load Diff

View File

@@ -21,14 +21,14 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
- name: Initialize CodeQL
uses: github/codeql-action/init@v3.24.7
uses: github/codeql-action/init@v3.26.5
with:
languages: python
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3.24.7
uses: github/codeql-action/analyze@v3.26.5
with:
category: "/language:python"

View File

@@ -10,7 +10,7 @@ on:
- "**strings.json"
env:
DEFAULT_PYTHON: "3.11"
DEFAULT_PYTHON: "3.12"
jobs:
upload:
@@ -19,10 +19,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.1.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}

View File

@@ -14,6 +14,10 @@ on:
- "homeassistant/package_constraints.txt"
- "requirements_all.txt"
- "requirements.txt"
- "script/gen_requirements_all.py"
env:
DEFAULT_PYTHON: "3.12"
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name}}
@@ -28,7 +32,22 @@ jobs:
architectures: ${{ steps.info.outputs.architectures }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Create Python virtual environment
run: |
python -m venv venv
. venv/bin/activate
python --version
pip install "$(grep '^uv' < requirements_test.txt)"
uv pip install -r requirements.txt
- name: Get information
id: info
@@ -63,19 +82,30 @@ jobs:
) > .env_file
- name: Upload env_file
uses: actions/upload-artifact@v4.3.1
uses: actions/upload-artifact@v4.3.6
with:
name: env_file
path: ./.env_file
overwrite: true
- name: Upload requirements_diff
uses: actions/upload-artifact@v4.3.1
uses: actions/upload-artifact@v4.3.6
with:
name: requirements_diff
path: ./requirements_diff.txt
overwrite: true
- name: Generate requirements
run: |
. venv/bin/activate
python -m script.gen_requirements_all ci
- name: Upload requirements_all_wheels
uses: actions/upload-artifact@v4.3.6
with:
name: requirements_all_wheels
path: ./requirements_all_wheels_*.txt
core:
name: Build Core wheels ${{ matrix.abi }} for ${{ matrix.arch }} (musllinux_1_2)
if: github.repository_owner == 'home-assistant'
@@ -88,20 +118,20 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
- name: Download env_file
uses: actions/download-artifact@v4.1.4
uses: actions/download-artifact@v4.1.8
with:
name: env_file
- name: Download requirements_diff
uses: actions/download-artifact@v4.1.4
uses: actions/download-artifact@v4.1.8
with:
name: requirements_diff
- name: Build wheels
uses: home-assistant/wheels@2024.01.0
uses: home-assistant/wheels@2024.07.1
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -126,57 +156,30 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.2
uses: actions/checkout@v4.1.7
- name: Download env_file
uses: actions/download-artifact@v4.1.4
uses: actions/download-artifact@v4.1.8
with:
name: env_file
- name: Download requirements_diff
uses: actions/download-artifact@v4.1.4
uses: actions/download-artifact@v4.1.8
with:
name: requirements_diff
- name: (Un)comment packages
run: |
requirement_files="requirements_all.txt requirements_diff.txt"
for requirement_file in ${requirement_files}; do
sed -i "s|# fritzconnection|fritzconnection|g" ${requirement_file}
sed -i "s|# pyuserinput|pyuserinput|g" ${requirement_file}
sed -i "s|# evdev|evdev|g" ${requirement_file}
sed -i "s|# pycups|pycups|g" ${requirement_file}
sed -i "s|# homekit|homekit|g" ${requirement_file}
sed -i "s|# decora-wifi|decora-wifi|g" ${requirement_file}
sed -i "s|# python-gammu|python-gammu|g" ${requirement_file}
# Some packages are not buildable on armhf anymore
if [ "${{ matrix.arch }}" = "armhf" ]; then
# Pandas has issues building on armhf, it is expected they
# will drop the platform in the near future (they consider it
# "flimsy" on 386). The following packages depend on pandas,
# so we comment them out.
sed -i "s|env-canada|# env-canada|g" ${requirement_file}
sed -i "s|noaa-coops|# noaa-coops|g" ${requirement_file}
sed -i "s|pyezviz|# pyezviz|g" ${requirement_file}
sed -i "s|pykrakenapi|# pykrakenapi|g" ${requirement_file}
fi
# Some speedups are only for 64-bit
if [ "${{ matrix.arch }}" = "amd64" ] || [ "${{ matrix.arch }}" = "aarch64" ]; then
sed -i "s|aiohttp-zlib-ng|aiohttp-zlib-ng\[isal\]|g" ${requirement_file}
fi
done
- name: Download requirements_all_wheels
uses: actions/download-artifact@v4.1.8
with:
name: requirements_all_wheels
- name: Split requirements all
run: |
# We split requirements all into two different files.
# We split requirements all into multiple files.
# This is to prevent the build from running out of memory when
# resolving packages on 32-bits systems (like armhf, armv7).
split -l $(expr $(expr $(cat requirements_all.txt | wc -l) + 1) / 3) requirements_all.txt requirements_all.txt
split -l $(expr $(expr $(cat requirements_all.txt | wc -l) + 1) / 3) requirements_all_wheels_${{ matrix.arch }}.txt requirements_all.txt
- name: Create requirements for cython<3
run: |
@@ -200,7 +203,7 @@ jobs:
sed -i "/numpy/d" homeassistant/package_constraints.txt
- name: Build wheels (old cython)
uses: home-assistant/wheels@2024.01.0
uses: home-assistant/wheels@2024.07.1
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -208,14 +211,14 @@ jobs:
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_old-cython.txt"
pip: "'cython<3'"
- name: Build wheels (part 1)
uses: home-assistant/wheels@2024.01.0
uses: home-assistant/wheels@2024.07.1
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -223,13 +226,13 @@ jobs:
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtaa"
- name: Build wheels (part 2)
uses: home-assistant/wheels@2024.01.0
uses: home-assistant/wheels@2024.07.1
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -237,13 +240,13 @@ jobs:
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtab"
- name: Build wheels (part 3)
uses: home-assistant/wheels@2024.01.0
uses: home-assistant/wheels@2024.07.1
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -251,7 +254,7 @@ jobs:
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtac"

4
.gitignore vendored
View File

@@ -34,6 +34,7 @@ Icon
# GITHUB Proposed Python stuff:
*.py[cod]
__pycache__
# C extensions
*.so
@@ -132,3 +133,6 @@ tmp_cache
# python-language-server / Rope
.ropeproject
# Will be created from script/split_tests.py
pytest_buckets.txt

View File

@@ -1,21 +1,21 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.2.1
rev: v0.6.2
hooks:
- id: ruff
args:
- --fix
- id: ruff-format
files: ^((homeassistant|pylint|script|tests)/.+)?[^/]+\.py$
files: ^((homeassistant|pylint|script|tests)/.+)?[^/]+\.(py|pyi)$
- repo: https://github.com/codespell-project/codespell
rev: v2.2.2
rev: v2.3.0
hooks:
- id: codespell
args:
- --ignore-words-list=additionals,alle,alot,bund,currenty,datas,farenheit,falsy,fo,haa,hass,iif,incomfort,ines,ist,nam,nd,pres,pullrequests,resset,rime,ser,serie,te,technik,ue,unsecure,withing,zar
- --ignore-words-list=astroid,checkin,currenty,hass,iif,incomfort,lookin,nam,NotIn
- --skip="./.*,*.csv,*.json,*.ambr"
- --quiet-level=2
exclude_types: [csv, json]
exclude_types: [csv, json, html]
exclude: ^tests/fixtures/|homeassistant/generated/|tests/components/.*/snapshots/
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
@@ -30,7 +30,7 @@ repos:
- --branch=master
- --branch=rc
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.32.0
rev: v1.35.1
hooks:
- id: yamllint
- repo: https://github.com/pre-commit/mirrors-prettier
@@ -61,15 +61,15 @@ repos:
name: mypy
entry: script/run-in-env.sh mypy
language: script
types: [python]
types_or: [python, pyi]
require_serial: true
files: ^(homeassistant|pylint)/.+\.py$
files: ^(homeassistant|pylint)/.+\.(py|pyi)$
- id: pylint
name: pylint
entry: script/run-in-env.sh pylint -j 0 --ignore-missing-annotations=y
language: script
types: [python]
files: ^homeassistant/.+\.py$
types_or: [python, pyi]
files: ^(homeassistant|tests)/.+\.(py|pyi)$
- id: gen_requirements_all
name: gen_requirements_all
entry: script/run-in-env.sh python3 -m script.gen_requirements_all
@@ -83,7 +83,7 @@ repos:
pass_filenames: false
language: script
types: [text]
files: ^(homeassistant/.+/(icons|manifest|strings)\.json|homeassistant/brands/.*\.json|\.coveragerc|homeassistant/.+/services\.yaml|script/hassfest/(?!metadata|mypy_config).+\.py)$
files: ^(homeassistant/.+/(icons|manifest|strings)\.json|homeassistant/brands/.*\.json|homeassistant/.+/services\.yaml|script/hassfest/(?!metadata|mypy_config).+\.py|requirements_test.txt)$
- id: hassfest-metadata
name: hassfest-metadata
entry: script/run-in-env.sh python3 -m script.hassfest -p metadata

View File

@@ -21,6 +21,7 @@ homeassistant.helpers.entity_platform
homeassistant.helpers.entity_values
homeassistant.helpers.event
homeassistant.helpers.reload
homeassistant.helpers.script
homeassistant.helpers.script_variables
homeassistant.helpers.singleton
homeassistant.helpers.sun
@@ -48,6 +49,7 @@ homeassistant.components.adax.*
homeassistant.components.adguard.*
homeassistant.components.aftership.*
homeassistant.components.air_quality.*
homeassistant.components.airgradient.*
homeassistant.components.airly.*
homeassistant.components.airnow.*
homeassistant.components.airq.*
@@ -65,7 +67,7 @@ homeassistant.components.alexa.*
homeassistant.components.alpha_vantage.*
homeassistant.components.amazon_polly.*
homeassistant.components.amberelectric.*
homeassistant.components.ambiclimate.*
homeassistant.components.ambient_network.*
homeassistant.components.ambient_station.*
homeassistant.components.amcrest.*
homeassistant.components.ampio.*
@@ -83,6 +85,7 @@ homeassistant.components.api.*
homeassistant.components.apple_tv.*
homeassistant.components.apprise.*
homeassistant.components.aprs.*
homeassistant.components.apsystems.*
homeassistant.components.aqualogic.*
homeassistant.components.aquostv.*
homeassistant.components.aranet.*
@@ -92,9 +95,8 @@ homeassistant.components.aruba.*
homeassistant.components.arwn.*
homeassistant.components.aseko_pool_live.*
homeassistant.components.assist_pipeline.*
homeassistant.components.asterisk_cdr.*
homeassistant.components.asterisk_mbox.*
homeassistant.components.asuswrt.*
homeassistant.components.autarco.*
homeassistant.components.auth.*
homeassistant.components.automation.*
homeassistant.components.awair.*
@@ -116,6 +118,7 @@ homeassistant.components.bond.*
homeassistant.components.braviatv.*
homeassistant.components.brother.*
homeassistant.components.browser.*
homeassistant.components.bryant_evolution.*
homeassistant.components.bthome.*
homeassistant.components.button.*
homeassistant.components.calendar.*
@@ -163,13 +166,16 @@ homeassistant.components.ecowitt.*
homeassistant.components.efergy.*
homeassistant.components.electrasmart.*
homeassistant.components.electric_kiwi.*
homeassistant.components.elevenlabs.*
homeassistant.components.elgato.*
homeassistant.components.elkm1.*
homeassistant.components.emulated_hue.*
homeassistant.components.energenie_power_sockets.*
homeassistant.components.energy.*
homeassistant.components.energyzero.*
homeassistant.components.enigma2.*
homeassistant.components.enphase_envoy.*
homeassistant.components.eq3btsmart.*
homeassistant.components.esphome.*
homeassistant.components.event.*
homeassistant.components.evil_genius_labs.*
@@ -190,7 +196,9 @@ homeassistant.components.fritzbox.*
homeassistant.components.fritzbox_callmonitor.*
homeassistant.components.fronius.*
homeassistant.components.frontend.*
homeassistant.components.fujitsu_fglair.*
homeassistant.components.fully_kiosk.*
homeassistant.components.fyta.*
homeassistant.components.generic_hygrostat.*
homeassistant.components.generic_thermostat.*
homeassistant.components.geo_location.*
@@ -232,6 +240,7 @@ homeassistant.components.homeworks.*
homeassistant.components.http.*
homeassistant.components.huawei_lte.*
homeassistant.components.humidifier.*
homeassistant.components.husqvarna_automower.*
homeassistant.components.hydrawise.*
homeassistant.components.hyperion.*
homeassistant.components.ibeacon.*
@@ -240,6 +249,7 @@ homeassistant.components.image.*
homeassistant.components.image_processing.*
homeassistant.components.image_upload.*
homeassistant.components.imap.*
homeassistant.components.imgw_pib.*
homeassistant.components.input_button.*
homeassistant.components.input_select.*
homeassistant.components.input_text.*
@@ -247,6 +257,7 @@ homeassistant.components.integration.*
homeassistant.components.intent.*
homeassistant.components.intent_script.*
homeassistant.components.ios.*
homeassistant.components.iotty.*
homeassistant.components.ipp.*
homeassistant.components.iqvia.*
homeassistant.components.islamic_prayer_times.*
@@ -255,6 +266,7 @@ homeassistant.components.jellyfin.*
homeassistant.components.jewish_calendar.*
homeassistant.components.jvc_projector.*
homeassistant.components.kaleidescape.*
homeassistant.components.knocki.*
homeassistant.components.knx.*
homeassistant.components.kraken.*
homeassistant.components.lacrosse.*
@@ -270,6 +282,7 @@ homeassistant.components.lidarr.*
homeassistant.components.lifx.*
homeassistant.components.light.*
homeassistant.components.linear_garage_door.*
homeassistant.components.linkplay.*
homeassistant.components.litejet.*
homeassistant.components.litterrobot.*
homeassistant.components.local_ip.*
@@ -280,7 +293,8 @@ homeassistant.components.logger.*
homeassistant.components.london_underground.*
homeassistant.components.lookin.*
homeassistant.components.luftdaten.*
homeassistant.components.mailbox.*
homeassistant.components.madvr.*
homeassistant.components.manual.*
homeassistant.components.map.*
homeassistant.components.mastodon.*
homeassistant.components.matrix.*
@@ -296,6 +310,7 @@ homeassistant.components.minecraft_server.*
homeassistant.components.mjpeg.*
homeassistant.components.modbus.*
homeassistant.components.modem_callerid.*
homeassistant.components.monzo.*
homeassistant.components.moon.*
homeassistant.components.mopeka.*
homeassistant.components.motionmount.*
@@ -334,7 +349,6 @@ homeassistant.components.persistent_notification.*
homeassistant.components.pi_hole.*
homeassistant.components.ping.*
homeassistant.components.plugwise.*
homeassistant.components.poolsense.*
homeassistant.components.powerwall.*
homeassistant.components.private_ble_device.*
homeassistant.components.prometheus.*
@@ -361,7 +375,9 @@ homeassistant.components.rest_command.*
homeassistant.components.rfxtrx.*
homeassistant.components.rhasspy.*
homeassistant.components.ridwell.*
homeassistant.components.ring.*
homeassistant.components.rituals_perfume_genie.*
homeassistant.components.roborock.*
homeassistant.components.roku.*
homeassistant.components.romy.*
homeassistant.components.rpi_power.*
@@ -373,6 +389,7 @@ homeassistant.components.samsungtv.*
homeassistant.components.scene.*
homeassistant.components.schedule.*
homeassistant.components.scrape.*
homeassistant.components.script.*
homeassistant.components.search.*
homeassistant.components.select.*
homeassistant.components.sensibo.*
@@ -421,6 +438,7 @@ homeassistant.components.tcp.*
homeassistant.components.technove.*
homeassistant.components.tedee.*
homeassistant.components.text.*
homeassistant.components.thethingsnetwork.*
homeassistant.components.threshold.*
homeassistant.components.tibber.*
homeassistant.components.tile.*

42
.vscode/launch.json vendored
View File

@@ -6,38 +6,52 @@
"configurations": [
{
"name": "Home Assistant",
"type": "python",
"type": "debugpy",
"request": "launch",
"module": "homeassistant",
"justMyCode": false,
"args": ["--debug", "-c", "config"],
"args": [
"--debug",
"-c",
"config"
],
"preLaunchTask": "Compile English translations"
},
{
"name": "Home Assistant (skip pip)",
"type": "python",
"type": "debugpy",
"request": "launch",
"module": "homeassistant",
"justMyCode": false,
"args": ["--debug", "-c", "config", "--skip-pip"],
"args": [
"--debug",
"-c",
"config",
"--skip-pip"
],
"preLaunchTask": "Compile English translations"
},
{
"name": "Home Assistant: Changed tests",
"type": "python",
"type": "debugpy",
"request": "launch",
"module": "pytest",
"justMyCode": false,
"args": ["--timeout=10", "--picked"],
"args": [
"--timeout=10",
"--picked"
],
},
{
// Debug by attaching to local Home Assistant server using Remote Python Debugger.
// See https://www.home-assistant.io/integrations/debugpy/
"name": "Home Assistant: Attach Local",
"type": "python",
"type": "debugpy",
"request": "attach",
"port": 5678,
"host": "localhost",
"connect": {
"port": 5678,
"host": "localhost"
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
@@ -49,10 +63,12 @@
// Debug by attaching to remote Home Assistant server using Remote Python Debugger.
// See https://www.home-assistant.io/integrations/debugpy/
"name": "Home Assistant: Attach Remote",
"type": "python",
"type": "debugpy",
"request": "attach",
"port": 5678,
"host": "homeassistant.local",
"connect": {
"port": 5678,
"host": "homeassistant.local"
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
@@ -61,4 +77,4 @@
]
}
]
}
}

View File

@@ -4,5 +4,7 @@
// https://github.com/microsoft/vscode-python/issues/14067
"python.testing.pytestArgs": ["--no-cov"],
// https://code.visualstudio.com/docs/python/testing#_pytest-configuration-settings
"python.testing.pytestEnabled": false
"python.testing.pytestEnabled": false,
// https://code.visualstudio.com/docs/python/linting#_general-settings
"pylint.importStrategy": "fromEnvironment"
}

5
.vscode/tasks.json vendored
View File

@@ -76,6 +76,7 @@
"detail": "Generate code coverage report for a given integration.",
"type": "shell",
"command": "python3 -m pytest ./tests/components/${input:integrationName}/ --cov=homeassistant.components.${input:integrationName} --cov-report term-missing --durations-min=1 --durations=0 --numprocesses=auto",
"dependsOn": ["Compile English translations"],
"group": {
"kind": "test",
"isDefault": true
@@ -103,7 +104,7 @@
{
"label": "Install all Requirements",
"type": "shell",
"command": "pip3 install -r requirements_all.txt",
"command": "uv pip install -r requirements_all.txt",
"group": {
"kind": "build",
"isDefault": true
@@ -117,7 +118,7 @@
{
"label": "Install all Test Requirements",
"type": "shell",
"command": "pip3 install -r requirements_test_all.txt",
"command": "uv pip install -r requirements_test_all.txt",
"group": {
"kind": "build",
"isDefault": true

View File

@@ -5,13 +5,30 @@
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
# Home Assistant Core
setup.cfg @home-assistant/core
.core_files.yaml @home-assistant/core
.git-blame-ignore-revs @home-assistant/core
.gitattributes @home-assistant/core
.gitignore @home-assistant/core
.hadolint.yaml @home-assistant/core
.pre-commit-config.yaml @home-assistant/core
.prettierignore @home-assistant/core
.yamllint @home-assistant/core
pyproject.toml @home-assistant/core
requirements_test.txt @home-assistant/core
/.devcontainer/ @home-assistant/core
/.github/ @home-assistant/core
/.vscode/ @home-assistant/core
/homeassistant/*.py @home-assistant/core
/homeassistant/auth/ @home-assistant/core
/homeassistant/backports/ @home-assistant/core
/homeassistant/helpers/ @home-assistant/core
/homeassistant/scripts/ @home-assistant/core
/homeassistant/util/ @home-assistant/core
/pylint/ @home-assistant/core
/script/ @home-assistant/core
# Home Assistant Supervisor
.dockerignore @home-assistant/supervisor
build.json @home-assistant/supervisor
/machine/ @home-assistant/supervisor
/rootfs/ @home-assistant/supervisor
@@ -39,6 +56,8 @@ build.json @home-assistant/supervisor
/tests/components/agent_dvr/ @ispysoftware
/homeassistant/components/air_quality/ @home-assistant/core
/tests/components/air_quality/ @home-assistant/core
/homeassistant/components/airgradient/ @airgradienthq @joostlek
/tests/components/airgradient/ @airgradienthq @joostlek
/homeassistant/components/airly/ @bieniu
/tests/components/airly/ @bieniu
/homeassistant/components/airnow/ @asymworks
@@ -61,18 +80,17 @@ build.json @home-assistant/supervisor
/tests/components/airzone/ @Noltari
/homeassistant/components/airzone_cloud/ @Noltari
/tests/components/airzone_cloud/ @Noltari
/homeassistant/components/aladdin_connect/ @mkmer
/tests/components/aladdin_connect/ @mkmer
/homeassistant/components/alarm_control_panel/ @home-assistant/core
/tests/components/alarm_control_panel/ @home-assistant/core
/homeassistant/components/alert/ @home-assistant/core @frenck
/tests/components/alert/ @home-assistant/core @frenck
/homeassistant/components/alexa/ @home-assistant/cloud @ochlocracy @jbouwh
/tests/components/alexa/ @home-assistant/cloud @ochlocracy @jbouwh
/homeassistant/components/amazon_polly/ @jschlyter
/homeassistant/components/amberelectric/ @madpilot
/tests/components/amberelectric/ @madpilot
/homeassistant/components/ambiclimate/ @danielhiversen
/tests/components/ambiclimate/ @danielhiversen
/homeassistant/components/ambient_network/ @thomaskistler
/tests/components/ambient_network/ @thomaskistler
/homeassistant/components/ambient_station/ @bachya
/tests/components/ambient_station/ @bachya
/homeassistant/components/amcrest/ @flacjacket
@@ -90,6 +108,8 @@ build.json @home-assistant/supervisor
/tests/components/anova/ @Lash-L
/homeassistant/components/anthemav/ @hyralex
/tests/components/anthemav/ @hyralex
/homeassistant/components/anthropic/ @Shulyaka
/tests/components/anthropic/ @Shulyaka
/homeassistant/components/aosmith/ @bdr99
/tests/components/aosmith/ @bdr99
/homeassistant/components/apache_kafka/ @bachya
@@ -108,11 +128,17 @@ build.json @home-assistant/supervisor
/tests/components/aprilaire/ @chamberlain2007
/homeassistant/components/aprs/ @PhilRW
/tests/components/aprs/ @PhilRW
/homeassistant/components/aranet/ @aschmitz @thecode
/tests/components/aranet/ @aschmitz @thecode
/homeassistant/components/apsystems/ @mawoka-myblock @SonnenladenGmbH
/tests/components/apsystems/ @mawoka-myblock @SonnenladenGmbH
/homeassistant/components/aquacell/ @Jordi1990
/tests/components/aquacell/ @Jordi1990
/homeassistant/components/aranet/ @aschmitz @thecode @anrijs
/tests/components/aranet/ @aschmitz @thecode @anrijs
/homeassistant/components/arcam_fmj/ @elupus
/tests/components/arcam_fmj/ @elupus
/homeassistant/components/arris_tg2492lg/ @vanbalken
/homeassistant/components/arve/ @ikalnyi
/tests/components/arve/ @ikalnyi
/homeassistant/components/aseko_pool_live/ @milanmeu
/tests/components/aseko_pool_live/ @milanmeu
/homeassistant/components/assist_pipeline/ @balloob @synesthesiam
@@ -131,6 +157,8 @@ build.json @home-assistant/supervisor
/tests/components/aurora_abb_powerone/ @davet2001
/homeassistant/components/aussie_broadband/ @nickw444 @Bre77
/tests/components/aussie_broadband/ @nickw444 @Bre77
/homeassistant/components/autarco/ @klaasnicolaas
/tests/components/autarco/ @klaasnicolaas
/homeassistant/components/auth/ @home-assistant/core
/tests/components/auth/ @home-assistant/core
/homeassistant/components/automation/ @home-assistant/core
@@ -140,6 +168,8 @@ build.json @home-assistant/supervisor
/tests/components/awair/ @ahayworth @danielsjf
/homeassistant/components/axis/ @Kane610
/tests/components/axis/ @Kane610
/homeassistant/components/azure_data_explorer/ @kaareseras
/tests/components/azure_data_explorer/ @kaareseras
/homeassistant/components/azure_devops/ @timmo001
/tests/components/azure_devops/ @timmo001
/homeassistant/components/azure_event_hub/ @eavanvalkenburg
@@ -159,8 +189,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/binary_sensor/ @home-assistant/core
/tests/components/binary_sensor/ @home-assistant/core
/homeassistant/components/bizkaibus/ @UgaitzEtxebarria
/homeassistant/components/blebox/ @bbx-a @riokuu @swistakm
/tests/components/blebox/ @bbx-a @riokuu @swistakm
/homeassistant/components/blebox/ @bbx-a @swistakm
/tests/components/blebox/ @bbx-a @swistakm
/homeassistant/components/blink/ @fronzbot @mkmer
/tests/components/blink/ @fronzbot @mkmer
/homeassistant/components/blue_current/ @Floris272 @gleeuwen
@@ -169,7 +199,8 @@ build.json @home-assistant/supervisor
/tests/components/bluemaestro/ @bdraco
/homeassistant/components/blueprint/ @home-assistant/core
/tests/components/blueprint/ @home-assistant/core
/homeassistant/components/bluesound/ @thrawnarn
/homeassistant/components/bluesound/ @thrawnarn @LouisChrist
/tests/components/bluesound/ @thrawnarn @LouisChrist
/homeassistant/components/bluetooth/ @bdraco
/tests/components/bluetooth/ @bdraco
/homeassistant/components/bluetooth_adapters/ @bdraco
@@ -192,6 +223,8 @@ build.json @home-assistant/supervisor
/tests/components/brottsplatskartan/ @gjohansson-ST
/homeassistant/components/brunt/ @eavanvalkenburg
/tests/components/brunt/ @eavanvalkenburg
/homeassistant/components/bryant_evolution/ @danielsmyers
/tests/components/bryant_evolution/ @danielsmyers
/homeassistant/components/bsblan/ @liudger
/tests/components/bsblan/ @liudger
/homeassistant/components/bt_smarthub/ @typhoon2099
@@ -211,7 +244,8 @@ build.json @home-assistant/supervisor
/tests/components/ccm15/ @ocalvo
/homeassistant/components/cert_expiry/ @jjlawren
/tests/components/cert_expiry/ @jjlawren
/homeassistant/components/circuit/ @braam
/homeassistant/components/chacon_dio/ @cnico
/tests/components/chacon_dio/ @cnico
/homeassistant/components/cisco_ios/ @fbradyirl
/homeassistant/components/cisco_mobility_express/ @fbradyirl
/homeassistant/components/cisco_webex_teams/ @fbradyirl
@@ -299,8 +333,8 @@ build.json @home-assistant/supervisor
/tests/components/discovergy/ @jpbede
/homeassistant/components/dlink/ @tkdrob
/tests/components/dlink/ @tkdrob
/homeassistant/components/dlna_dmr/ @StevenLooman @chishm
/tests/components/dlna_dmr/ @StevenLooman @chishm
/homeassistant/components/dlna_dmr/ @chishm
/tests/components/dlna_dmr/ @chishm
/homeassistant/components/dlna_dms/ @chishm
/tests/components/dlna_dms/ @chishm
/homeassistant/components/dnsip/ @gjohansson-ST
@@ -309,14 +343,16 @@ build.json @home-assistant/supervisor
/tests/components/doorbird/ @oblogic7 @bdraco @flacjacket
/homeassistant/components/dormakaba_dkey/ @emontnemery
/tests/components/dormakaba_dkey/ @emontnemery
/homeassistant/components/downloader/ @erwindouna
/tests/components/downloader/ @erwindouna
/homeassistant/components/dremel_3d_printer/ @tkdrob
/tests/components/dremel_3d_printer/ @tkdrob
/homeassistant/components/drop_connect/ @ChandlerSystems @pfrazer
/tests/components/drop_connect/ @ChandlerSystems @pfrazer
/homeassistant/components/dsmr/ @Robbie1221 @frenck
/tests/components/dsmr/ @Robbie1221 @frenck
/homeassistant/components/dsmr_reader/ @sorted-bits @glodenox
/tests/components/dsmr_reader/ @sorted-bits @glodenox
/homeassistant/components/dsmr/ @Robbie1221
/tests/components/dsmr/ @Robbie1221
/homeassistant/components/dsmr_reader/ @sorted-bits @glodenox @erwindouna
/tests/components/dsmr_reader/ @sorted-bits @glodenox @erwindouna
/homeassistant/components/duotecno/ @cereal2nd
/tests/components/duotecno/ @cereal2nd
/homeassistant/components/dwd_weather_warnings/ @runningman84 @stephan192 @andarotajo
@@ -331,8 +367,8 @@ build.json @home-assistant/supervisor
/tests/components/ecoforest/ @pjanuario
/homeassistant/components/econet/ @w1ll1am23
/tests/components/econet/ @w1ll1am23
/homeassistant/components/ecovacs/ @OverloadUT @mib1185 @edenhaus @Augar
/tests/components/ecovacs/ @OverloadUT @mib1185 @edenhaus @Augar
/homeassistant/components/ecovacs/ @mib1185 @edenhaus @Augar
/tests/components/ecovacs/ @mib1185 @edenhaus @Augar
/homeassistant/components/ecowitt/ @pvizeli
/tests/components/ecowitt/ @pvizeli
/homeassistant/components/efergy/ @tkdrob
@@ -342,6 +378,8 @@ build.json @home-assistant/supervisor
/tests/components/electrasmart/ @jafar-atili
/homeassistant/components/electric_kiwi/ @mikey0000
/tests/components/electric_kiwi/ @mikey0000
/homeassistant/components/elevenlabs/ @sorgfresser
/tests/components/elevenlabs/ @sorgfresser
/homeassistant/components/elgato/ @frenck
/tests/components/elgato/ @frenck
/homeassistant/components/elkm1/ @gwww @bdraco
@@ -352,31 +390,38 @@ build.json @home-assistant/supervisor
/homeassistant/components/elvia/ @ludeeus
/tests/components/elvia/ @ludeeus
/homeassistant/components/emby/ @mezz64
/homeassistant/components/emoncms/ @borpin
/homeassistant/components/emoncms/ @borpin @alexandrecuer
/tests/components/emoncms/ @borpin @alexandrecuer
/homeassistant/components/emonitor/ @bdraco
/tests/components/emonitor/ @bdraco
/homeassistant/components/emulated_hue/ @bdraco @Tho85
/tests/components/emulated_hue/ @bdraco @Tho85
/homeassistant/components/emulated_kasa/ @kbickar
/tests/components/emulated_kasa/ @kbickar
/homeassistant/components/energenie_power_sockets/ @gnumpi
/tests/components/energenie_power_sockets/ @gnumpi
/homeassistant/components/energy/ @home-assistant/core
/tests/components/energy/ @home-assistant/core
/homeassistant/components/energyzero/ @klaasnicolaas
/tests/components/energyzero/ @klaasnicolaas
/homeassistant/components/enigma2/ @autinerd
/tests/components/enigma2/ @autinerd
/homeassistant/components/enocean/ @bdurrer
/tests/components/enocean/ @bdurrer
/homeassistant/components/enphase_envoy/ @bdraco @cgarwood @dgomes @joostlek @catsmanac
/tests/components/enphase_envoy/ @bdraco @cgarwood @dgomes @joostlek @catsmanac
/homeassistant/components/enphase_envoy/ @bdraco @cgarwood @joostlek @catsmanac
/tests/components/enphase_envoy/ @bdraco @cgarwood @joostlek @catsmanac
/homeassistant/components/entur_public_transport/ @hfurubotten
/homeassistant/components/environment_canada/ @gwww @michaeldavie
/tests/components/environment_canada/ @gwww @michaeldavie
/homeassistant/components/ephember/ @ttroy50
/homeassistant/components/epic_games_store/ @hacf-fr @Quentame
/tests/components/epic_games_store/ @hacf-fr @Quentame
/homeassistant/components/epion/ @lhgravendeel
/tests/components/epion/ @lhgravendeel
/homeassistant/components/epson/ @pszafer
/tests/components/epson/ @pszafer
/homeassistant/components/epsonworkforce/ @ThaStealth
/homeassistant/components/eq3btsmart/ @eulemitkeule @dbuezas
/tests/components/eq3btsmart/ @eulemitkeule @dbuezas
/homeassistant/components/escea/ @lazdavila
/tests/components/escea/ @lazdavila
/homeassistant/components/esphome/ @OttoWinter @jesserockz @kbx81 @bdraco
@@ -388,6 +433,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/evil_genius_labs/ @balloob
/tests/components/evil_genius_labs/ @balloob
/homeassistant/components/evohome/ @zxdavb
/tests/components/evohome/ @zxdavb
/homeassistant/components/ezviz/ @RenierM26 @baqs
/tests/components/ezviz/ @RenierM26 @baqs
/homeassistant/components/faa_delays/ @ntilley905
@@ -396,6 +442,8 @@ build.json @home-assistant/supervisor
/tests/components/fan/ @home-assistant/core
/homeassistant/components/fastdotcom/ @rohankapoorcom @erwindouna
/tests/components/fastdotcom/ @rohankapoorcom @erwindouna
/homeassistant/components/feedreader/ @mib1185
/tests/components/feedreader/ @mib1185
/homeassistant/components/fibaro/ @rappenze
/tests/components/fibaro/ @rappenze
/homeassistant/components/file/ @fabaff
@@ -433,8 +481,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/forked_daapd/ @uvjustin
/tests/components/forked_daapd/ @uvjustin
/homeassistant/components/fortios/ @kimfrellsen
/homeassistant/components/foscam/ @skgsergio @krmarien
/tests/components/foscam/ @skgsergio @krmarien
/homeassistant/components/foscam/ @krmarien
/tests/components/foscam/ @krmarien
/homeassistant/components/freebox/ @hacf-fr @Quentame
/tests/components/freebox/ @hacf-fr @Quentame
/homeassistant/components/freedompro/ @stefano055415
@@ -451,8 +499,12 @@ build.json @home-assistant/supervisor
/tests/components/frontend/ @home-assistant/frontend
/homeassistant/components/frontier_silicon/ @wlcrs
/tests/components/frontier_silicon/ @wlcrs
/homeassistant/components/fujitsu_fglair/ @crevetor
/tests/components/fujitsu_fglair/ @crevetor
/homeassistant/components/fully_kiosk/ @cgarwood
/tests/components/fully_kiosk/ @cgarwood
/homeassistant/components/fyta/ @dontinelli
/tests/components/fyta/ @dontinelli
/homeassistant/components/garages_amsterdam/ @klaasnicolaas
/tests/components/garages_amsterdam/ @klaasnicolaas
/homeassistant/components/gardena_bluetooth/ @elupus
@@ -464,6 +516,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/generic_hygrostat/ @Shulyaka
/tests/components/generic_hygrostat/ @Shulyaka
/homeassistant/components/geniushub/ @manzanotti
/tests/components/geniushub/ @manzanotti
/homeassistant/components/geo_json_events/ @exxamalte
/tests/components/geo_json_events/ @exxamalte
/homeassistant/components/geo_location/ @home-assistant/core
@@ -519,14 +572,14 @@ build.json @home-assistant/supervisor
/tests/components/group/ @home-assistant/core
/homeassistant/components/guardian/ @bachya
/tests/components/guardian/ @bachya
/homeassistant/components/habitica/ @ASMfreaK @leikoilja
/tests/components/habitica/ @ASMfreaK @leikoilja
/homeassistant/components/habitica/ @ASMfreaK @leikoilja @tr4nt0r
/tests/components/habitica/ @ASMfreaK @leikoilja @tr4nt0r
/homeassistant/components/hardkernel/ @home-assistant/core
/tests/components/hardkernel/ @home-assistant/core
/homeassistant/components/hardware/ @home-assistant/core
/tests/components/hardware/ @home-assistant/core
/homeassistant/components/harmony/ @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan
/tests/components/harmony/ @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan
/homeassistant/components/harmony/ @ehendrix23 @bdraco @mkeesey @Aohzan
/tests/components/harmony/ @ehendrix23 @bdraco @mkeesey @Aohzan
/homeassistant/components/hassio/ @home-assistant/supervisor
/tests/components/hassio/ @home-assistant/supervisor
/homeassistant/components/hdmi_cec/ @inytar
@@ -568,8 +621,10 @@ build.json @home-assistant/supervisor
/tests/components/homekit/ @bdraco
/homeassistant/components/homekit_controller/ @Jc2k @bdraco
/tests/components/homekit_controller/ @Jc2k @bdraco
/homeassistant/components/homematic/ @pvizeli @danielperna84
/tests/components/homematic/ @pvizeli @danielperna84
/homeassistant/components/homematic/ @pvizeli
/tests/components/homematic/ @pvizeli
/homeassistant/components/homematicip_cloud/ @hahn-th
/tests/components/homematicip_cloud/ @hahn-th
/homeassistant/components/homewizard/ @DCSBL
/tests/components/homewizard/ @DCSBL
/homeassistant/components/honeywell/ @rdfurman @mkmer
@@ -592,8 +647,8 @@ build.json @home-assistant/supervisor
/tests/components/huum/ @frwickst
/homeassistant/components/hvv_departures/ @vigonotion
/tests/components/hvv_departures/ @vigonotion
/homeassistant/components/hydrawise/ @dknowles2 @ptcryan
/tests/components/hydrawise/ @dknowles2 @ptcryan
/homeassistant/components/hydrawise/ @dknowles2 @thomaskistler @ptcryan
/tests/components/hydrawise/ @dknowles2 @thomaskistler @ptcryan
/homeassistant/components/hyperion/ @dermotduffy
/tests/components/hyperion/ @dermotduffy
/homeassistant/components/ialarm/ @RyuzakiKK
@@ -617,9 +672,12 @@ build.json @home-assistant/supervisor
/tests/components/image_upload/ @home-assistant/core
/homeassistant/components/imap/ @jbouwh
/tests/components/imap/ @jbouwh
/homeassistant/components/imgw_pib/ @bieniu
/tests/components/imgw_pib/ @bieniu
/homeassistant/components/improv_ble/ @emontnemery
/tests/components/improv_ble/ @emontnemery
/homeassistant/components/incomfort/ @zxdavb
/homeassistant/components/incomfort/ @jbouwh
/tests/components/incomfort/ @jbouwh
/homeassistant/components/influxdb/ @mdegat01
/tests/components/influxdb/ @mdegat01
/homeassistant/components/inkbird/ @bdraco
@@ -649,6 +707,8 @@ build.json @home-assistant/supervisor
/tests/components/ios/ @robbiet480
/homeassistant/components/iotawatt/ @gtdiehl @jyavenard
/tests/components/iotawatt/ @gtdiehl @jyavenard
/homeassistant/components/iotty/ @pburgio
/tests/components/iotty/ @pburgio
/homeassistant/components/iperf3/ @rohankapoorcom
/homeassistant/components/ipma/ @dgomes
/tests/components/ipma/ @dgomes
@@ -657,10 +717,18 @@ build.json @home-assistant/supervisor
/homeassistant/components/iqvia/ @bachya
/tests/components/iqvia/ @bachya
/homeassistant/components/irish_rail_transport/ @ttroy50
/homeassistant/components/islamic_prayer_times/ @engrbm87
/tests/components/islamic_prayer_times/ @engrbm87
/homeassistant/components/iron_os/ @tr4nt0r
/tests/components/iron_os/ @tr4nt0r
/homeassistant/components/isal/ @bdraco
/tests/components/isal/ @bdraco
/homeassistant/components/islamic_prayer_times/ @engrbm87 @cpfair
/tests/components/islamic_prayer_times/ @engrbm87 @cpfair
/homeassistant/components/israel_rail/ @shaiu
/tests/components/israel_rail/ @shaiu
/homeassistant/components/iss/ @DurgNomis-drol
/tests/components/iss/ @DurgNomis-drol
/homeassistant/components/ista_ecotrend/ @tr4nt0r
/tests/components/ista_ecotrend/ @tr4nt0r
/homeassistant/components/isy994/ @bdraco @shbatm
/tests/components/isy994/ @bdraco @shbatm
/homeassistant/components/izone/ @Swamp-Ig
@@ -691,6 +759,8 @@ build.json @home-assistant/supervisor
/tests/components/kitchen_sink/ @home-assistant/core
/homeassistant/components/kmtronic/ @dgomes
/tests/components/kmtronic/ @dgomes
/homeassistant/components/knocki/ @joostlek @jgatto1 @JakeBosh
/tests/components/knocki/ @joostlek @jgatto1 @JakeBosh
/homeassistant/components/knx/ @Julius2342 @farmio @marvin-w
/tests/components/knx/ @Julius2342 @farmio @marvin-w
/homeassistant/components/kodi/ @OnFreund
@@ -727,13 +797,18 @@ build.json @home-assistant/supervisor
/tests/components/leaone/ @bdraco
/homeassistant/components/led_ble/ @bdraco
/tests/components/led_ble/ @bdraco
/homeassistant/components/lg_netcast/ @Drafteed
/homeassistant/components/lg_netcast/ @Drafteed @splinter98
/tests/components/lg_netcast/ @Drafteed @splinter98
/homeassistant/components/lidarr/ @tkdrob
/tests/components/lidarr/ @tkdrob
/homeassistant/components/lifx/ @Djelibeybi
/tests/components/lifx/ @Djelibeybi
/homeassistant/components/light/ @home-assistant/core
/tests/components/light/ @home-assistant/core
/homeassistant/components/linear_garage_door/ @IceBotYT
/tests/components/linear_garage_door/ @IceBotYT
/homeassistant/components/linkplay/ @Velleman
/tests/components/linkplay/ @Velleman
/homeassistant/components/linux_battery/ @fabaff
/homeassistant/components/litejet/ @joncar
/tests/components/litejet/ @joncar
@@ -753,8 +828,6 @@ build.json @home-assistant/supervisor
/tests/components/logbook/ @home-assistant/core
/homeassistant/components/logger/ @home-assistant/core
/tests/components/logger/ @home-assistant/core
/homeassistant/components/logi_circle/ @evanjd
/tests/components/logi_circle/ @evanjd
/homeassistant/components/london_underground/ @jpbede
/tests/components/london_underground/ @jpbede
/homeassistant/components/lookin/ @ANMalko @bdraco
@@ -774,11 +847,16 @@ build.json @home-assistant/supervisor
/tests/components/lutron_caseta/ @swails @bdraco @danaues @eclair4151
/homeassistant/components/lyric/ @timmo001
/tests/components/lyric/ @timmo001
/homeassistant/components/mastodon/ @fabaff
/homeassistant/components/madvr/ @iloveicedgreentea
/tests/components/madvr/ @iloveicedgreentea
/homeassistant/components/mastodon/ @fabaff @andrew-codechimp
/tests/components/mastodon/ @fabaff @andrew-codechimp
/homeassistant/components/matrix/ @PaarthShah
/tests/components/matrix/ @PaarthShah
/homeassistant/components/matter/ @home-assistant/matter
/tests/components/matter/ @home-assistant/matter
/homeassistant/components/mealie/ @joostlek @andrew-codechimp
/tests/components/mealie/ @joostlek @andrew-codechimp
/homeassistant/components/meater/ @Sotolotl @emontnemery
/tests/components/meater/ @Sotolotl @emontnemery
/homeassistant/components/medcom_ble/ @elafargue
@@ -790,6 +868,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/media_source/ @hunterjm
/tests/components/media_source/ @hunterjm
/homeassistant/components/mediaroom/ @dgomes
/homeassistant/components/melcloud/ @erwindouna
/tests/components/melcloud/ @erwindouna
/homeassistant/components/melissa/ @kennedyshead
/tests/components/melissa/ @kennedyshead
/homeassistant/components/melnor/ @vanstinator
@@ -821,8 +901,6 @@ build.json @home-assistant/supervisor
/tests/components/moat/ @bdraco
/homeassistant/components/mobile_app/ @home-assistant/core
/tests/components/mobile_app/ @home-assistant/core
/homeassistant/components/modbus/ @janiversen
/tests/components/modbus/ @janiversen
/homeassistant/components/modem_callerid/ @tkdrob
/tests/components/modem_callerid/ @tkdrob
/homeassistant/components/modern_forms/ @wonderslug
@@ -831,18 +909,22 @@ build.json @home-assistant/supervisor
/tests/components/moehlenhoff_alpha2/ @j-a-n
/homeassistant/components/monoprice/ @etsinko @OnFreund
/tests/components/monoprice/ @etsinko @OnFreund
/homeassistant/components/monzo/ @jakemartin-icl
/tests/components/monzo/ @jakemartin-icl
/homeassistant/components/moon/ @fabaff @frenck
/tests/components/moon/ @fabaff @frenck
/homeassistant/components/mopeka/ @bdraco
/tests/components/mopeka/ @bdraco
/homeassistant/components/motion_blinds/ @starkillerOG
/tests/components/motion_blinds/ @starkillerOG
/homeassistant/components/motionblinds_ble/ @LennP @jerrybboy
/tests/components/motionblinds_ble/ @LennP @jerrybboy
/homeassistant/components/motioneye/ @dermotduffy
/tests/components/motioneye/ @dermotduffy
/homeassistant/components/motionmount/ @RJPoelstra
/tests/components/motionmount/ @RJPoelstra
/homeassistant/components/mqtt/ @emontnemery @jbouwh
/tests/components/mqtt/ @emontnemery @jbouwh
/homeassistant/components/mqtt/ @emontnemery @jbouwh @bdraco
/tests/components/mqtt/ @emontnemery @jbouwh @bdraco
/homeassistant/components/msteams/ @peroyvind
/homeassistant/components/mullvad/ @meichthys
/tests/components/mullvad/ @meichthys
@@ -858,8 +940,8 @@ build.json @home-assistant/supervisor
/tests/components/myuplink/ @pajzo @astrandb
/homeassistant/components/nam/ @bieniu
/tests/components/nam/ @bieniu
/homeassistant/components/nanoleaf/ @milanmeu
/tests/components/nanoleaf/ @milanmeu
/homeassistant/components/nanoleaf/ @milanmeu @joostlek
/tests/components/nanoleaf/ @milanmeu @joostlek
/homeassistant/components/neato/ @Santobert
/tests/components/neato/ @Santobert
/homeassistant/components/nederlandse_spoorwegen/ @YarmoM
@@ -888,6 +970,8 @@ build.json @home-assistant/supervisor
/tests/components/nfandroidtv/ @tkdrob
/homeassistant/components/nibe_heatpump/ @elupus
/tests/components/nibe_heatpump/ @elupus
/homeassistant/components/nice_go/ @IceBotYT
/tests/components/nice_go/ @IceBotYT
/homeassistant/components/nightscout/ @marciogranzotto
/tests/components/nightscout/ @marciogranzotto
/homeassistant/components/nilu/ @hfurubotten
@@ -927,9 +1011,9 @@ build.json @home-assistant/supervisor
/homeassistant/components/octoprint/ @rfleming71
/tests/components/octoprint/ @rfleming71
/homeassistant/components/ohmconnect/ @robbiet480
/homeassistant/components/ollama/ @synesthesiam
/tests/components/ollama/ @synesthesiam
/homeassistant/components/ombi/ @larssont
/homeassistant/components/omnilogic/ @oliver84 @djtimca @gentoosu
/tests/components/omnilogic/ @oliver84 @djtimca @gentoosu
/homeassistant/components/onboarding/ @home-assistant/core
/tests/components/onboarding/ @home-assistant/core
/homeassistant/components/oncue/ @bdraco @peterager
@@ -938,6 +1022,7 @@ build.json @home-assistant/supervisor
/tests/components/ondilo_ico/ @JeromeHXP
/homeassistant/components/onewire/ @garbled1 @epenet
/tests/components/onewire/ @garbled1 @epenet
/homeassistant/components/onkyo/ @arturpragacz
/homeassistant/components/onvif/ @hunterjm
/tests/components/onvif/ @hunterjm
/homeassistant/components/open_meteo/ @frenck
@@ -973,8 +1058,8 @@ build.json @home-assistant/supervisor
/tests/components/otbr/ @home-assistant/core
/homeassistant/components/ourgroceries/ @OnFreund
/tests/components/ourgroceries/ @OnFreund
/homeassistant/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev @tronix117
/tests/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev @tronix117
/homeassistant/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
/tests/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
/homeassistant/components/ovo_energy/ @timmo001
/tests/components/ovo_energy/ @timmo001
/homeassistant/components/p1_monitor/ @klaasnicolaas
@@ -993,8 +1078,8 @@ build.json @home-assistant/supervisor
/tests/components/persistent_notification/ @home-assistant/core
/homeassistant/components/philips_js/ @elupus
/tests/components/philips_js/ @elupus
/homeassistant/components/pi_hole/ @johnluetke @shenxn
/tests/components/pi_hole/ @johnluetke @shenxn
/homeassistant/components/pi_hole/ @shenxn
/tests/components/pi_hole/ @shenxn
/homeassistant/components/picnic/ @corneyl
/tests/components/picnic/ @corneyl
/homeassistant/components/pilight/ @trekky12
@@ -1046,10 +1131,12 @@ build.json @home-assistant/supervisor
/tests/components/pvoutput/ @frenck
/homeassistant/components/pvpc_hourly_pricing/ @azogue
/tests/components/pvpc_hourly_pricing/ @azogue
/homeassistant/components/pyload/ @tr4nt0r
/tests/components/pyload/ @tr4nt0r
/homeassistant/components/qbittorrent/ @geoffreylagaisse @finder39
/tests/components/qbittorrent/ @geoffreylagaisse @finder39
/homeassistant/components/qingping/ @bdraco @skgsergio
/tests/components/qingping/ @bdraco @skgsergio
/homeassistant/components/qingping/ @bdraco
/tests/components/qingping/ @bdraco
/homeassistant/components/qld_bushfire/ @exxamalte
/tests/components/qld_bushfire/ @exxamalte
/homeassistant/components/qnap/ @disforw
@@ -1124,8 +1211,8 @@ build.json @home-assistant/supervisor
/tests/components/rituals_perfume_genie/ @milanmeu @frenck
/homeassistant/components/rmvtransport/ @cgtobi
/tests/components/rmvtransport/ @cgtobi
/homeassistant/components/roborock/ @humbertogontijo @Lash-L
/tests/components/roborock/ @humbertogontijo @Lash-L
/homeassistant/components/roborock/ @Lash-L
/tests/components/roborock/ @Lash-L
/homeassistant/components/roku/ @ctalkington
/tests/components/roku/ @ctalkington
/homeassistant/components/romy/ @xeniter
@@ -1142,17 +1229,21 @@ build.json @home-assistant/supervisor
/tests/components/rtsp_to_webrtc/ @allenporter
/homeassistant/components/ruckus_unleashed/ @lanrat @ms264556 @gabe565
/tests/components/ruckus_unleashed/ @lanrat @ms264556 @gabe565
/homeassistant/components/russound_rio/ @noahhusby
/tests/components/russound_rio/ @noahhusby
/homeassistant/components/ruuvi_gateway/ @akx
/tests/components/ruuvi_gateway/ @akx
/homeassistant/components/ruuvitag_ble/ @akx
/tests/components/ruuvitag_ble/ @akx
/homeassistant/components/rympro/ @OnFreund @elad-bar @maorcc
/tests/components/rympro/ @OnFreund @elad-bar @maorcc
/homeassistant/components/sabnzbd/ @shaiu
/tests/components/sabnzbd/ @shaiu
/homeassistant/components/sabnzbd/ @shaiu @jpbede
/tests/components/sabnzbd/ @shaiu @jpbede
/homeassistant/components/saj/ @fredericvl
/homeassistant/components/samsungtv/ @chemelli74 @epenet
/tests/components/samsungtv/ @chemelli74 @epenet
/homeassistant/components/sanix/ @tomaszsluszniak
/tests/components/sanix/ @tomaszsluszniak
/homeassistant/components/scene/ @home-assistant/core
/tests/components/scene/ @home-assistant/core
/homeassistant/components/schedule/ @home-assistant/core
@@ -1207,6 +1298,8 @@ build.json @home-assistant/supervisor
/tests/components/sighthound/ @robmarkcole
/homeassistant/components/signal_messenger/ @bbernhard
/tests/components/signal_messenger/ @bbernhard
/homeassistant/components/simplefin/ @scottg489 @jeeftor
/tests/components/simplefin/ @scottg489 @jeeftor
/homeassistant/components/simplepush/ @engrbm87
/tests/components/simplepush/ @engrbm87
/homeassistant/components/simplisafe/ @bachya
@@ -1231,23 +1324,26 @@ build.json @home-assistant/supervisor
/tests/components/smappee/ @bsmappee
/homeassistant/components/smart_meter_texas/ @grahamwetzler
/tests/components/smart_meter_texas/ @grahamwetzler
/homeassistant/components/smartthings/ @andrewsayre
/tests/components/smartthings/ @andrewsayre
/homeassistant/components/smarttub/ @mdz
/tests/components/smarttub/ @mdz
/homeassistant/components/smarty/ @z0mbieprocess
/homeassistant/components/smhi/ @gjohansson-ST
/tests/components/smhi/ @gjohansson-ST
/homeassistant/components/smlight/ @tl-sl
/tests/components/smlight/ @tl-sl
/homeassistant/components/sms/ @ocalvo
/tests/components/sms/ @ocalvo
/homeassistant/components/snapcast/ @luar123
/tests/components/snapcast/ @luar123
/homeassistant/components/snmp/ @nmaggioni
/tests/components/snmp/ @nmaggioni
/homeassistant/components/snooz/ @AustinBrunkhorst
/tests/components/snooz/ @AustinBrunkhorst
/homeassistant/components/solaredge/ @frenck
/tests/components/solaredge/ @frenck
/homeassistant/components/solaredge/ @frenck @bdraco
/tests/components/solaredge/ @frenck @bdraco
/homeassistant/components/solaredge_local/ @drobtravels @scheric
/homeassistant/components/solarlog/ @Ernst79
/tests/components/solarlog/ @Ernst79
/homeassistant/components/solarlog/ @Ernst79 @dontinelli
/tests/components/solarlog/ @Ernst79 @dontinelli
/homeassistant/components/solax/ @squishykid
/tests/components/solax/ @squishykid
/homeassistant/components/soma/ @ratsept @sebfortier2288
@@ -1256,8 +1352,8 @@ build.json @home-assistant/supervisor
/tests/components/sonarr/ @ctalkington
/homeassistant/components/songpal/ @rytilahti @shenxn
/tests/components/songpal/ @rytilahti @shenxn
/homeassistant/components/sonos/ @jjlawren
/tests/components/sonos/ @jjlawren
/homeassistant/components/sonos/ @jjlawren @peterager
/tests/components/sonos/ @jjlawren @peterager
/homeassistant/components/soundtouch/ @kroimon
/tests/components/soundtouch/ @kroimon
/homeassistant/components/spaceapi/ @fabaff
@@ -1316,8 +1412,8 @@ build.json @home-assistant/supervisor
/tests/components/switchbee/ @jafar-atili
/homeassistant/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
/tests/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
/homeassistant/components/switchbot_cloud/ @SeraphicRav
/tests/components/switchbot_cloud/ @SeraphicRav
/homeassistant/components/switchbot_cloud/ @SeraphicRav @laurence-presland
/tests/components/switchbot_cloud/ @SeraphicRav @laurence-presland
/homeassistant/components/switcher_kis/ @thecode
/tests/components/switcher_kis/ @thecode
/homeassistant/components/switchmate/ @danielhiversen @qiz-li
@@ -1357,6 +1453,8 @@ build.json @home-assistant/supervisor
/tests/components/tellduslive/ @fredrike
/homeassistant/components/template/ @PhracturedBlue @tetienne @home-assistant/core
/tests/components/template/ @PhracturedBlue @tetienne @home-assistant/core
/homeassistant/components/tesla_fleet/ @Bre77
/tests/components/tesla_fleet/ @Bre77
/homeassistant/components/tesla_wall_connector/ @einarhauks
/tests/components/tesla_wall_connector/ @einarhauks
/homeassistant/components/teslemetry/ @Bre77
@@ -1370,7 +1468,8 @@ build.json @home-assistant/supervisor
/tests/components/thermobeacon/ @bdraco
/homeassistant/components/thermopro/ @bdraco @h3ss
/tests/components/thermopro/ @bdraco @h3ss
/homeassistant/components/thethingsnetwork/ @fabaff
/homeassistant/components/thethingsnetwork/ @angelnu
/tests/components/thethingsnetwork/ @angelnu
/homeassistant/components/thread/ @home-assistant/core
/tests/components/thread/ @home-assistant/core
/homeassistant/components/tibber/ @danielhiversen
@@ -1394,8 +1493,10 @@ build.json @home-assistant/supervisor
/tests/components/tomorrowio/ @raman325 @lymanepp
/homeassistant/components/totalconnect/ @austinmroczek
/tests/components/totalconnect/ @austinmroczek
/homeassistant/components/tplink/ @rytilahti @thegardenmonkey @bdraco @sdb9696
/tests/components/tplink/ @rytilahti @thegardenmonkey @bdraco @sdb9696
/homeassistant/components/touchline_sl/ @jnsgruk
/tests/components/touchline_sl/ @jnsgruk
/homeassistant/components/tplink/ @rytilahti @bdraco @sdb9696
/tests/components/tplink/ @rytilahti @bdraco @sdb9696
/homeassistant/components/tplink_omada/ @MarkGodwin
/tests/components/tplink_omada/ @MarkGodwin
/homeassistant/components/traccar/ @ludeeus
@@ -1434,8 +1535,6 @@ build.json @home-assistant/supervisor
/tests/components/unifi/ @Kane610
/homeassistant/components/unifi_direct/ @tofuSCHNITZEL
/homeassistant/components/unifiled/ @florisvdk
/homeassistant/components/unifiprotect/ @AngellusMortis @bdraco
/tests/components/unifiprotect/ @AngellusMortis @bdraco
/homeassistant/components/upb/ @gwww
/tests/components/upb/ @gwww
/homeassistant/components/upc_connect/ @pvizeli @fabaff
@@ -1541,8 +1640,8 @@ build.json @home-assistant/supervisor
/tests/components/wiz/ @sbidy
/homeassistant/components/wled/ @frenck
/tests/components/wled/ @frenck
/homeassistant/components/wolflink/ @adamkrol93
/tests/components/wolflink/ @adamkrol93
/homeassistant/components/wolflink/ @adamkrol93 @mtielen
/tests/components/wolflink/ @adamkrol93 @mtielen
/homeassistant/components/workday/ @fabaff @gjohansson-ST
/tests/components/workday/ @fabaff @gjohansson-ST
/homeassistant/components/worldclock/ @fabaff
@@ -1561,6 +1660,8 @@ build.json @home-assistant/supervisor
/tests/components/xiaomi_miio/ @rytilahti @syssi @starkillerOG
/homeassistant/components/xiaomi_tv/ @simse
/homeassistant/components/xmpp/ @fabaff @flowolf
/homeassistant/components/yale/ @bdraco
/tests/components/yale/ @bdraco
/homeassistant/components/yale_smart_alarm/ @gjohansson-ST
/tests/components/yale_smart_alarm/ @gjohansson-ST
/homeassistant/components/yalexs_ble/ @bdraco

View File

@@ -5,7 +5,7 @@
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
identity and expression, level of experience, education, socioeconomic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

View File

@@ -6,47 +6,43 @@ FROM ${BUILD_FROM}
# Synchronize with homeassistant/core.py:async_stop
ENV \
S6_SERVICES_GRACETIME=240000
S6_SERVICES_GRACETIME=240000 \
UV_SYSTEM_PYTHON=true
ARG QEMU_CPU
# Install uv
RUN pip3 install uv==0.2.27
WORKDIR /usr/src
## Setup Home Assistant Core dependencies
COPY requirements.txt homeassistant/
COPY homeassistant/package_constraints.txt homeassistant/homeassistant/
RUN \
pip3 install \
--only-binary=:all: \
uv pip install \
--no-build \
-r homeassistant/requirements.txt
COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/
RUN \
if ls homeassistant/home_assistant_frontend*.whl 1> /dev/null 2>&1; then \
pip3 install homeassistant/home_assistant_frontend-*.whl; \
fi \
&& if ls homeassistant/home_assistant_intents*.whl 1> /dev/null 2>&1; then \
pip3 install homeassistant/home_assistant_intents-*.whl; \
if ls homeassistant/home_assistant_*.whl 1> /dev/null 2>&1; then \
uv pip install homeassistant/home_assistant_*.whl; \
fi \
&& if [ "${BUILD_ARCH}" = "i386" ]; then \
LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" \
MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000" \
linux32 pip3 install \
--only-binary=:all: \
linux32 uv pip install \
--no-build \
-r homeassistant/requirements_all.txt; \
else \
LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" \
MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000" \
pip3 install \
--only-binary=:all: \
uv pip install \
--no-build \
-r homeassistant/requirements_all.txt; \
fi
## Setup Home Assistant Core
COPY . homeassistant/
RUN \
pip3 install \
--only-binary=:all: \
uv pip install \
-e ./homeassistant \
&& python3 -m compileall \
homeassistant/homeassistant

View File

@@ -22,6 +22,7 @@ RUN \
libavcodec-dev \
libavdevice-dev \
libavutil-dev \
libgammu-dev \
libswscale-dev \
libswresample-dev \
libavfilter-dev \
@@ -34,21 +35,31 @@ RUN \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install uv
RUN pip3 install uv
WORKDIR /usr/src
# Setup hass-release
RUN git clone --depth 1 https://github.com/home-assistant/hass-release \
&& pip3 install -e hass-release/
&& uv pip install --system -e hass-release/ \
&& chown -R vscode /usr/src/hass-release/data
WORKDIR /workspaces
USER vscode
ENV VIRTUAL_ENV="/home/vscode/.local/ha-venv"
RUN uv venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
WORKDIR /tmp
# Install Python dependencies from requirements
COPY requirements.txt ./
COPY homeassistant/package_constraints.txt homeassistant/package_constraints.txt
RUN pip3 install -r requirements.txt
RUN uv pip install -r requirements.txt
COPY requirements_test.txt requirements_test_pre_commit.txt ./
RUN pip3 install -r requirements_test.txt
RUN rm -rf requirements.txt requirements_test.txt requirements_test_pre_commit.txt homeassistant/
RUN uv pip install -r requirements_test.txt
WORKDIR /workspaces
# Set the default shell to bash instead of sh
ENV SHELL /bin/bash

View File

@@ -7,6 +7,8 @@ Check out `home-assistant.io <https://home-assistant.io>`__ for `a
demo <https://demo.home-assistant.io>`__, `installation instructions <https://home-assistant.io/getting-started/>`__,
`tutorials <https://home-assistant.io/getting-started/automation/>`__ and `documentation <https://home-assistant.io/docs/>`__.
This is a project of the `Open Home Foundation <https://www.openhomefoundation.org/>`__.
|screenshot-states|
Featured integrations
@@ -25,4 +27,4 @@ of a component, check the `Home Assistant help section <https://home-assistant.i
.. |screenshot-states| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-states.png
:target: https://demo.home-assistant.io
.. |screenshot-integrations| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-integrations.png
:target: https://home-assistant.io/integrations/
:target: https://home-assistant.io/integrations/

View File

@@ -1,10 +1,10 @@
image: ghcr.io/home-assistant/{arch}-homeassistant
build_from:
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2024.02.1
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2024.02.1
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2024.02.1
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2024.02.1
i386: ghcr.io/home-assistant/i386-homeassistant-base:2024.02.1
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2024.06.1
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2024.06.1
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2024.06.1
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2024.06.1
i386: ghcr.io/home-assistant/i386-homeassistant-base:2024.06.1
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io

View File

@@ -4,7 +4,7 @@ coverage:
status:
project:
default:
target: 90
target: auto
threshold: 0.09
required:
target: auto

View File

@@ -3,6 +3,7 @@
from __future__ import annotations
import argparse
from contextlib import suppress
import faulthandler
import os
import sys
@@ -146,9 +147,7 @@ def get_arguments() -> argparse.Namespace:
help="Skips validation of operating system",
)
arguments = parser.parse_args()
return arguments
return parser.parse_args()
def check_threads() -> None:
@@ -210,8 +209,10 @@ def main() -> int:
exit_code = runner.run(runtime_conf)
faulthandler.disable()
if os.path.getsize(fault_file_name) == 0:
os.remove(fault_file_name)
# It's possible for the fault file to disappear, so suppress obvious errors
with suppress(FileNotFoundError):
if os.path.getsize(fault_file_name) == 0:
os.remove(fault_file_name)
check_threads()

View File

@@ -28,14 +28,15 @@ from .const import ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN, REFRESH_TOKEN_EXPIRA
from .mfa_modules import MultiFactorAuthModule, auth_mfa_module_from_config
from .models import AuthFlowResult
from .providers import AuthProvider, LoginFlow, auth_provider_from_config
from .providers.homeassistant import HassAuthProvider
EVENT_USER_ADDED = "user_added"
EVENT_USER_UPDATED = "user_updated"
EVENT_USER_REMOVED = "user_removed"
_MfaModuleDict = dict[str, MultiFactorAuthModule]
_ProviderKey = tuple[str, str | None]
_ProviderDict = dict[_ProviderKey, AuthProvider]
type _MfaModuleDict = dict[str, MultiFactorAuthModule]
type _ProviderKey = tuple[str, str | None]
type _ProviderDict = dict[_ProviderKey, AuthProvider]
class InvalidAuthError(Exception):
@@ -53,7 +54,7 @@ async def auth_manager_from_config(
) -> AuthManager:
"""Initialize an auth manager from config.
CORE_CONFIG_SCHEMA will make sure do duplicated auth providers or
CORE_CONFIG_SCHEMA will make sure no duplicated auth providers or
mfa modules exist in configs.
"""
store = auth_store.AuthStore(hass)
@@ -73,6 +74,13 @@ async def auth_manager_from_config(
key = (provider.type, provider.id)
provider_hash[key] = provider
if isinstance(provider, HassAuthProvider):
# Can be removed in 2026.7 with the legacy mode of homeassistant auth provider
# We need to initialize the provider to create the repair if needed as otherwise
# the provider will be initialized on first use, which could be rare as users
# don't frequently change auth settings
await provider.async_initialize()
if module_configs:
modules = await asyncio.gather(
*(auth_mfa_module_from_config(hass, config) for config in module_configs)
@@ -85,7 +93,7 @@ async def auth_manager_from_config(
module_hash[module.id] = module
manager = AuthManager(hass, store, provider_hash, module_hash)
manager.async_setup()
await manager.async_setup()
return manager
@@ -181,8 +189,7 @@ class AuthManager:
self._async_remove_expired_refresh_tokens, job_type=HassJobType.Callback
)
@callback
def async_setup(self) -> None:
async def async_setup(self) -> None:
"""Set up the auth manager."""
hass = self.hass
hass.async_add_shutdown_job(
@@ -356,15 +363,15 @@ class AuthManager:
local_only: bool | None = None,
) -> None:
"""Update a user."""
kwargs: dict[str, Any] = {}
for attr_name, value in (
("name", name),
("group_ids", group_ids),
("local_only", local_only),
):
if value is not None:
kwargs[attr_name] = value
kwargs: dict[str, Any] = {
attr_name: value
for attr_name, value in (
("name", name),
("group_ids", group_ids),
("local_only", local_only),
)
if value is not None
}
await self._store.async_update_user(user, **kwargs)
if is_active is not None:
@@ -375,6 +382,13 @@ class AuthManager:
self.hass.bus.async_fire(EVENT_USER_UPDATED, {"user_id": user.id})
@callback
def async_update_user_credentials_data(
self, credentials: models.Credentials, data: dict[str, Any]
) -> None:
"""Update credentials data."""
self._store.async_update_user_credentials_data(credentials, data=data)
async def async_activate_user(self, user: models.User) -> None:
"""Activate a user."""
await self._store.async_activate_user(user)
@@ -517,6 +531,13 @@ class AuthManager:
for revoke_callback in callbacks:
revoke_callback()
@callback
def async_set_expiry(
self, refresh_token: models.RefreshToken, *, enable_expiry: bool
) -> None:
"""Enable or disable expiry of a refresh token."""
self._store.async_set_expiry(refresh_token, enable_expiry=enable_expiry)
@callback
def _async_remove_expired_refresh_tokens(self, _: datetime | None = None) -> None:
"""Remove expired refresh tokens."""

View File

@@ -62,6 +62,7 @@ class AuthStore:
self._store = Store[dict[str, list[dict[str, Any]]]](
hass, STORAGE_VERSION, STORAGE_KEY, private=True, atomic_writes=True
)
self._token_id_to_user_id: dict[str, str] = {}
async def async_get_groups(self) -> list[models.Group]:
"""Retrieve all users."""
@@ -104,14 +105,18 @@ class AuthStore:
"perm_lookup": self._perm_lookup,
}
for attr_name, value in (
("is_owner", is_owner),
("is_active", is_active),
("local_only", local_only),
("system_generated", system_generated),
):
if value is not None:
kwargs[attr_name] = value
kwargs.update(
{
attr_name: value
for attr_name, value in (
("is_owner", is_owner),
("is_active", is_active),
("local_only", local_only),
("system_generated", system_generated),
)
if value is not None
}
)
new_user = models.User(**kwargs)
@@ -135,7 +140,10 @@ class AuthStore:
async def async_remove_user(self, user: models.User) -> None:
"""Remove a user."""
self._users.pop(user.id)
user = self._users.pop(user.id)
for refresh_token_id in user.refresh_tokens:
del self._token_id_to_user_id[refresh_token_id]
user.refresh_tokens.clear()
self._async_schedule_save()
async def async_update_user(
@@ -218,7 +226,9 @@ class AuthStore:
kwargs["client_icon"] = client_icon
refresh_token = models.RefreshToken(**kwargs)
user.refresh_tokens[refresh_token.id] = refresh_token
token_id = refresh_token.id
user.refresh_tokens[token_id] = refresh_token
self._token_id_to_user_id[token_id] = user.id
self._async_schedule_save()
return refresh_token
@@ -226,19 +236,17 @@ class AuthStore:
@callback
def async_remove_refresh_token(self, refresh_token: models.RefreshToken) -> None:
"""Remove a refresh token."""
for user in self._users.values():
if user.refresh_tokens.pop(refresh_token.id, None):
self._async_schedule_save()
break
refresh_token_id = refresh_token.id
if user_id := self._token_id_to_user_id.get(refresh_token_id):
del self._users[user_id].refresh_tokens[refresh_token_id]
del self._token_id_to_user_id[refresh_token_id]
self._async_schedule_save()
@callback
def async_get_refresh_token(self, token_id: str) -> models.RefreshToken | None:
"""Get refresh token by id."""
for user in self._users.values():
refresh_token = user.refresh_tokens.get(token_id)
if refresh_token is not None:
return refresh_token
if user_id := self._token_id_to_user_id.get(token_id):
return self._users[user_id].refresh_tokens.get(token_id)
return None
@callback
@@ -277,6 +285,29 @@ class AuthStore:
)
self._async_schedule_save()
@callback
def async_set_expiry(
self, refresh_token: models.RefreshToken, *, enable_expiry: bool
) -> None:
"""Enable or disable expiry of a refresh token."""
if enable_expiry:
if refresh_token.expire_at is None:
refresh_token.expire_at = (
refresh_token.last_used_at or dt_util.utcnow()
).timestamp() + REFRESH_TOKEN_EXPIRATION
self._async_schedule_save()
else:
refresh_token.expire_at = None
self._async_schedule_save()
@callback
def async_update_user_credentials_data(
self, credentials: models.Credentials, data: dict[str, Any]
) -> None:
"""Update credentials data."""
credentials.data = data
self._async_schedule_save()
async def async_load(self) -> None: # noqa: C901
"""Load the users."""
if self._loaded:
@@ -290,8 +321,6 @@ class AuthStore:
perm_lookup = PermissionLookup(ent_reg, dev_reg)
self._perm_lookup = perm_lookup
now_ts = dt_util.utcnow().timestamp()
if data is None or not isinstance(data, dict):
self._set_defaults()
return
@@ -445,14 +474,6 @@ class AuthStore:
else:
last_used_at = None
if (
expire_at := rt_dict.get("expire_at")
) is None and token_type == models.TOKEN_TYPE_NORMAL:
if last_used_at:
expire_at = last_used_at.timestamp() + REFRESH_TOKEN_EXPIRATION
else:
expire_at = now_ts + REFRESH_TOKEN_EXPIRATION
token = models.RefreshToken(
id=rt_dict["id"],
user=users[rt_dict["user_id"]],
@@ -469,7 +490,7 @@ class AuthStore:
jwt_key=rt_dict["jwt_key"],
last_used_at=last_used_at,
last_used_ip=rt_dict.get("last_used_ip"),
expire_at=expire_at,
expire_at=rt_dict.get("expire_at"),
version=rt_dict.get("version"),
)
if "credential_id" in rt_dict:
@@ -478,9 +499,18 @@ class AuthStore:
self._groups = groups
self._users = users
self._build_token_id_to_user_id()
self._async_schedule_save(INITIAL_LOAD_SAVE_DELAY)
@callback
def _build_token_id_to_user_id(self) -> None:
"""Build a map of token id to user id."""
self._token_id_to_user_id = {
token_id: user_id
for user_id, user in self._users.items()
for token_id in user.refresh_tokens
}
@callback
def _async_schedule_save(self, delay: float = DEFAULT_SAVE_DELAY) -> None:
"""Save users."""
@@ -574,6 +604,7 @@ class AuthStore:
read_only_group = _system_read_only_group()
groups[read_only_group.id] = read_only_group
self._groups = groups
self._build_token_id_to_user_id()
def _system_admin_group() -> models.Group:

View File

@@ -78,7 +78,7 @@ class _PyJWTWithVerify(PyJWT):
key: str,
algorithms: list[str],
issuer: str | None = None,
leeway: int | float | timedelta = 0,
leeway: float | timedelta = 0,
options: dict[str, Any] | None = None,
) -> dict[str, Any]:
"""Verify a JWT's signature and claims."""

View File

@@ -2,7 +2,6 @@
from __future__ import annotations
import importlib
import logging
import types
from typing import Any
@@ -15,7 +14,9 @@ from homeassistant.const import CONF_ID, CONF_NAME, CONF_TYPE
from homeassistant.core import HomeAssistant
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.importlib import async_import_module
from homeassistant.util.decorator import Registry
from homeassistant.util.hass_dict import HassKey
MULTI_FACTOR_AUTH_MODULES: Registry[str, type[MultiFactorAuthModule]] = Registry()
@@ -29,7 +30,7 @@ MULTI_FACTOR_AUTH_MODULE_SCHEMA = vol.Schema(
extra=vol.ALLOW_EXTRA,
)
DATA_REQS = "mfa_auth_module_reqs_processed"
DATA_REQS: HassKey[set[str]] = HassKey("mfa_auth_module_reqs_processed")
_LOGGER = logging.getLogger(__name__)
@@ -149,7 +150,7 @@ async def _load_mfa_module(hass: HomeAssistant, module_name: str) -> types.Modul
module_path = f"homeassistant.auth.mfa_modules.{module_name}"
try:
module = importlib.import_module(module_path)
module = await async_import_module(hass, module_path)
except ImportError as err:
_LOGGER.error("Unable to load mfa module %s: %s", module_name, err)
raise HomeAssistantError(

View File

@@ -88,7 +88,7 @@ class NotifySetting:
target: str | None = attr.ib(default=None)
_UsersDict = dict[str, NotifySetting]
type _UsersDict = dict[str, NotifySetting]
@MULTI_FACTOR_AUTH_MODULES.register("notify")

View File

@@ -3,8 +3,9 @@
from __future__ import annotations
from datetime import datetime, timedelta
from functools import cached_property
import secrets
from typing import TYPE_CHECKING, Any, NamedTuple
from typing import Any, NamedTuple
import uuid
import attr
@@ -18,12 +19,6 @@ from homeassistant.util import dt as dt_util
from . import permissions as perm_mdl
from .const import GROUP_ID_ADMIN
if TYPE_CHECKING:
from functools import cached_property
else:
from homeassistant.backports.functools import cached_property
TOKEN_TYPE_NORMAL = "normal"
TOKEN_TYPE_SYSTEM = "system"
TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN = "long_lived_access_token"
@@ -91,11 +86,7 @@ class User:
def invalidate_cache(self) -> None:
"""Invalidate permission and is_admin cache."""
for attr_to_invalidate in ("permissions", "is_admin"):
# try is must more efficient than suppress
try: # noqa: SIM105
delattr(self, attr_to_invalidate)
except AttributeError:
pass
self.__dict__.pop(attr_to_invalidate, None)
@attr.s(slots=True)

View File

@@ -3,7 +3,6 @@
from __future__ import annotations
from collections.abc import Callable
from typing import Any
import voluptuous as vol
@@ -64,7 +63,7 @@ class PolicyPermissions(AbstractPermissions):
"""Return a function that can test entity access."""
return compile_entities(self._policy.get(CAT_ENTITIES), self._perm_lookup)
def __eq__(self, other: Any) -> bool:
def __eq__(self, other: object) -> bool:
"""Equals check."""
return isinstance(other, PolicyPermissions) and other._policy == self._policy

View File

@@ -2,7 +2,7 @@
from __future__ import annotations
from typing import Final
from typing import Any, Final
from homeassistant.const import (
EVENT_COMPONENT_LOADED,
@@ -18,13 +18,17 @@ from homeassistant.const import (
EVENT_THEMES_UPDATED,
)
from homeassistant.helpers.area_registry import EVENT_AREA_REGISTRY_UPDATED
from homeassistant.helpers.category_registry import EVENT_CATEGORY_REGISTRY_UPDATED
from homeassistant.helpers.device_registry import EVENT_DEVICE_REGISTRY_UPDATED
from homeassistant.helpers.entity_registry import EVENT_ENTITY_REGISTRY_UPDATED
from homeassistant.helpers.floor_registry import EVENT_FLOOR_REGISTRY_UPDATED
from homeassistant.helpers.issue_registry import EVENT_REPAIRS_ISSUE_REGISTRY_UPDATED
from homeassistant.helpers.label_registry import EVENT_LABEL_REGISTRY_UPDATED
from homeassistant.util.event_type import EventType
# These are events that do not contain any sensitive data
# Except for state_changed, which is handled accordingly.
SUBSCRIBE_ALLOWLIST: Final[set[str]] = {
SUBSCRIBE_ALLOWLIST: Final[set[EventType[Any] | str]] = {
EVENT_AREA_REGISTRY_UPDATED,
EVENT_COMPONENT_LOADED,
EVENT_CORE_CONFIG_UPDATE,
@@ -40,4 +44,7 @@ SUBSCRIBE_ALLOWLIST: Final[set[str]] = {
EVENT_SHOPPING_LIST_UPDATED,
EVENT_STATE_CHANGED,
EVENT_THEMES_UPDATED,
EVENT_LABEL_REGISTRY_UPDATED,
EVENT_CATEGORY_REGISTRY_UPDATED,
EVENT_FLOOR_REGISTRY_UPDATED,
}

View File

@@ -58,10 +58,7 @@ def _merge_policies(sources: list[CategoryType]) -> CategoryType:
continue
seen.add(key)
key_sources = []
for src in sources:
if isinstance(src, dict):
key_sources.append(src.get(key))
key_sources = [src.get(key) for src in sources if isinstance(src, dict)]
policy[key] = _merge_policies(key_sources)

View File

@@ -4,17 +4,17 @@ from collections.abc import Mapping
# MyPy doesn't support recursion yet. So writing it out as far as we need.
ValueType = (
type ValueType = (
# Example: entities.all = { read: true, control: true }
Mapping[str, bool] | bool | None
)
# Example: entities.domains = { light: … }
SubCategoryDict = Mapping[str, ValueType]
type SubCategoryDict = Mapping[str, ValueType]
SubCategoryType = SubCategoryDict | bool | None
type SubCategoryType = SubCategoryDict | bool | None
CategoryType = (
type CategoryType = (
# Example: entities.domains
Mapping[str, SubCategoryType]
# Example: entities.all
@@ -24,4 +24,4 @@ CategoryType = (
)
# Example: { entities: … }
PolicyType = Mapping[str, CategoryType]
type PolicyType = Mapping[str, CategoryType]

View File

@@ -10,8 +10,8 @@ from .const import SUBCAT_ALL
from .models import PermissionLookup
from .types import CategoryType, SubCategoryDict, ValueType
LookupFunc = Callable[[PermissionLookup, SubCategoryDict, str], ValueType | None]
SubCatLookupType = dict[str, LookupFunc]
type LookupFunc = Callable[[PermissionLookup, SubCategoryDict, str], ValueType | None]
type SubCatLookupType = dict[str, LookupFunc]
def lookup_all(

View File

@@ -3,7 +3,6 @@
from __future__ import annotations
from collections.abc import Mapping
import importlib
import logging
import types
from typing import Any
@@ -15,15 +14,17 @@ from homeassistant import data_entry_flow, requirements
from homeassistant.const import CONF_ID, CONF_NAME, CONF_TYPE
from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.importlib import async_import_module
from homeassistant.util import dt as dt_util
from homeassistant.util.decorator import Registry
from homeassistant.util.hass_dict import HassKey
from ..auth_store import AuthStore
from ..const import MFA_SESSION_EXPIRATION
from ..models import AuthFlowResult, Credentials, RefreshToken, User, UserMeta
_LOGGER = logging.getLogger(__name__)
DATA_REQS = "auth_prov_reqs_processed"
DATA_REQS: HassKey[set[str]] = HassKey("auth_prov_reqs_processed")
AUTH_PROVIDERS: Registry[str, type[AuthProvider]] = Registry()
@@ -157,7 +158,9 @@ async def load_auth_provider_module(
) -> types.ModuleType:
"""Load an auth provider."""
try:
module = importlib.import_module(f"homeassistant.auth.providers.{provider}")
module = await async_import_module(
hass, f"homeassistant.auth.providers.{provider}"
)
except ImportError as err:
_LOGGER.error("Unable to load auth provider %s: %s", provider, err)
raise HomeAssistantError(

View File

@@ -14,6 +14,7 @@ import voluptuous as vol
from homeassistant.const import CONF_ID
from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers import issue_registry as ir
from homeassistant.helpers.storage import Store
from ..models import AuthFlowResult, Credentials, UserMeta
@@ -54,6 +55,27 @@ class InvalidUser(HomeAssistantError):
Will not be raised when validating authentication.
"""
def __init__(
self,
*args: object,
translation_key: str | None = None,
translation_placeholders: dict[str, str] | None = None,
) -> None:
"""Initialize exception."""
super().__init__(
*args,
translation_domain="auth",
translation_key=translation_key,
translation_placeholders=translation_placeholders,
)
class InvalidUsername(InvalidUser):
"""Raised when invalid username is specified.
Will not be raised when validating authentication.
"""
class Data:
"""Hold the user data."""
@@ -67,13 +89,15 @@ class Data:
self._data: dict[str, list[dict[str, str]]] | None = None
# Legacy mode will allow usernames to start/end with whitespace
# and will compare usernames case-insensitive.
# Remove in 2020 or when we launch 1.0.
# Deprecated in June 2019 and will be removed in 2026.7
self.is_legacy = False
@callback
def normalize_username(self, username: str) -> str:
def normalize_username(
self, username: str, *, force_normalize: bool = False
) -> str:
"""Normalize a username based on the mode."""
if self.is_legacy:
if self.is_legacy and not force_normalize:
return username
return username.strip().casefold()
@@ -83,44 +107,49 @@ class Data:
if (data := await self._store.async_load()) is None:
data = cast(dict[str, list[dict[str, str]]], {"users": []})
seen: set[str] = set()
self._async_check_for_not_normalized_usernames(data)
self._data = data
@callback
def _async_check_for_not_normalized_usernames(
self, data: dict[str, list[dict[str, str]]]
) -> None:
not_normalized_usernames: set[str] = set()
for user in data["users"]:
username = user["username"]
# check if we have duplicates
if (folded := username.casefold()) in seen:
self.is_legacy = True
if self.normalize_username(username, force_normalize=True) != username:
logging.getLogger(__name__).warning(
(
"Home Assistant auth provider is running in legacy mode "
"because we detected usernames that are case-insensitive"
"equivalent. Please change the username: '%s'."
"because we detected usernames that are normalized (lowercase and without spaces)."
" Please change the username: '%s'."
),
username,
)
not_normalized_usernames.add(username)
break
seen.add(folded)
# check if we have unstripped usernames
if username != username.strip():
self.is_legacy = True
logging.getLogger(__name__).warning(
(
"Home Assistant auth provider is running in legacy mode "
"because we detected usernames that start or end in a "
"space. Please change the username: '%s'."
),
username,
)
break
self._data = data
if not_normalized_usernames:
self.is_legacy = True
ir.async_create_issue(
self.hass,
"auth",
"homeassistant_provider_not_normalized_usernames",
breaks_in_ha_version="2026.7.0",
is_fixable=False,
severity=ir.IssueSeverity.WARNING,
translation_key="homeassistant_provider_not_normalized_usernames",
translation_placeholders={
"usernames": f'- "{'"\n- "'.join(sorted(not_normalized_usernames))}"'
},
learn_more_url="homeassistant://config/users",
)
else:
self.is_legacy = False
ir.async_delete_issue(
self.hass, "auth", "homeassistant_provider_not_normalized_usernames"
)
@property
def users(self) -> list[dict[str, str]]:
@@ -162,13 +191,11 @@ class Data:
return hashed
def add_auth(self, username: str, password: str) -> None:
"""Add a new authenticated user/pass."""
username = self.normalize_username(username)
"""Add a new authenticated user/pass.
if any(
self.normalize_username(user["username"]) == username for user in self.users
):
raise InvalidUser
Raises InvalidUsername if the new username is invalid.
"""
self._validate_new_username(username)
self.users.append(
{
@@ -189,7 +216,7 @@ class Data:
break
if index is None:
raise InvalidUser
raise InvalidUser(translation_key="user_not_found")
self.users.pop(index)
@@ -205,7 +232,50 @@ class Data:
user["password"] = self.hash_password(new_password, True).decode()
break
else:
raise InvalidUser
raise InvalidUser(translation_key="user_not_found")
@callback
def _validate_new_username(self, new_username: str) -> None:
"""Validate that username is normalized and unique.
Raises InvalidUsername if the new username is invalid.
"""
normalized_username = self.normalize_username(
new_username, force_normalize=True
)
if normalized_username != new_username:
raise InvalidUsername(
translation_key="username_not_normalized",
translation_placeholders={"new_username": new_username},
)
if any(
self.normalize_username(user["username"]) == normalized_username
for user in self.users
):
raise InvalidUsername(
translation_key="username_already_exists",
translation_placeholders={"username": new_username},
)
@callback
def change_username(self, username: str, new_username: str) -> None:
"""Update the username.
Raises InvalidUser if user cannot be found.
Raises InvalidUsername if the new username is invalid.
"""
username = self.normalize_username(username)
self._validate_new_username(new_username)
for user in self.users:
if self.normalize_username(user["username"]) == username:
user["username"] = new_username
assert self._data is not None
self._async_check_for_not_normalized_usernames(self._data)
break
else:
raise InvalidUser(translation_key="user_not_found")
async def async_save(self) -> None:
"""Save data."""
@@ -278,6 +348,20 @@ class HassAuthProvider(AuthProvider):
)
await self.data.async_save()
async def async_change_username(
self, credential: Credentials, new_username: str
) -> None:
"""Validate new username and change it including updating credentials object."""
if self.data is None:
await self.async_initialize()
assert self.data is not None
self.data.change_username(credential.data["username"], new_username)
self.hass.auth.async_update_user_credentials_data(
credential, {**credential.data, "username": new_username}
)
await self.data.async_save()
async def async_get_or_create_credentials(
self, flow_result: Mapping[str, str]
) -> Credentials:

View File

@@ -1,123 +0,0 @@
"""Support Legacy API password auth provider.
It will be removed when auth system production ready
"""
from __future__ import annotations
from collections.abc import Mapping
import hmac
from typing import Any, cast
import voluptuous as vol
from homeassistant.core import async_get_hass, callback
from homeassistant.exceptions import HomeAssistantError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
from ..models import AuthFlowResult, Credentials, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
AUTH_PROVIDER_TYPE = "legacy_api_password"
CONF_API_PASSWORD = "api_password"
_CONFIG_SCHEMA = AUTH_PROVIDER_SCHEMA.extend(
{vol.Required(CONF_API_PASSWORD): cv.string}, extra=vol.PREVENT_EXTRA
)
def _create_repair_and_validate(config: dict[str, Any]) -> dict[str, Any]:
async_create_issue(
async_get_hass(),
"auth",
"deprecated_legacy_api_password",
breaks_in_ha_version="2024.6.0",
is_fixable=False,
severity=IssueSeverity.WARNING,
translation_key="deprecated_legacy_api_password",
)
return _CONFIG_SCHEMA(config) # type: ignore[no-any-return]
CONFIG_SCHEMA = _create_repair_and_validate
LEGACY_USER_NAME = "Legacy API password user"
class InvalidAuthError(HomeAssistantError):
"""Raised when submitting invalid authentication."""
@AUTH_PROVIDERS.register(AUTH_PROVIDER_TYPE)
class LegacyApiPasswordAuthProvider(AuthProvider):
"""An auth provider support legacy api_password."""
DEFAULT_TITLE = "Legacy API Password"
@property
def api_password(self) -> str:
"""Return api_password."""
return str(self.config[CONF_API_PASSWORD])
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
"""Return a flow to login."""
return LegacyLoginFlow(self)
@callback
def async_validate_login(self, password: str) -> None:
"""Validate password."""
api_password = str(self.config[CONF_API_PASSWORD])
if not hmac.compare_digest(
api_password.encode("utf-8"), password.encode("utf-8")
):
raise InvalidAuthError
async def async_get_or_create_credentials(
self, flow_result: Mapping[str, str]
) -> Credentials:
"""Return credentials for this login."""
credentials = await self.async_credentials()
if credentials:
return credentials[0]
return self.async_create_credentials({})
async def async_user_meta_for_credentials(
self, credentials: Credentials
) -> UserMeta:
"""Return info for the user.
Will be used to populate info when creating a new user.
"""
return UserMeta(name=LEGACY_USER_NAME, is_active=True)
class LegacyLoginFlow(LoginFlow):
"""Handler for the login flow."""
async def async_step_init(
self, user_input: dict[str, str] | None = None
) -> AuthFlowResult:
"""Handle the step of the form."""
errors = {}
if user_input is not None:
try:
cast(
LegacyApiPasswordAuthProvider, self._auth_provider
).async_validate_login(user_input["password"])
except InvalidAuthError:
errors["base"] = "invalid_auth"
if not errors:
return await self.async_finish({})
return self.async_show_form(
step_id="init",
data_schema=vol.Schema({vol.Required("password"): str}),
errors=errors,
)

View File

@@ -28,8 +28,8 @@ from .. import InvalidAuthError
from ..models import AuthFlowResult, Credentials, RefreshToken, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
IPAddress = IPv4Address | IPv6Address
IPNetwork = IPv4Network | IPv6Network
type IPAddress = IPv4Address | IPv6Address
type IPNetwork = IPv4Network | IPv6Network
CONF_TRUSTED_NETWORKS = "trusted_networks"
CONF_TRUSTED_USERS = "trusted_users"

View File

@@ -9,8 +9,21 @@ import it.
from __future__ import annotations
from enum import StrEnum
from enum import StrEnum as _StrEnum
from functools import partial
__all__ = [
"StrEnum",
]
from homeassistant.helpers.deprecation import (
DeprecatedAlias,
all_with_deprecated_constants,
check_if_deprecated_constant,
dir_with_deprecated_constants,
)
# StrEnum deprecated as of 2024.5 use enum.StrEnum instead.
_DEPRECATED_StrEnum = DeprecatedAlias(_StrEnum, "enum.StrEnum", "2025.5")
__getattr__ = partial(check_if_deprecated_constant, module_globals=globals())
__dir__ = partial(
dir_with_deprecated_constants, module_globals_keys=[*globals().keys()]
)
__all__ = all_with_deprecated_constants(globals())

View File

@@ -1,81 +1,30 @@
"""Functools backports from standard lib."""
"""Functools backports from standard lib.
# This file contains parts of Python's module wrapper
# for the _functools C module
# to allow utilities written in Python to be added
# to the functools module.
# Written by Nick Coghlan <ncoghlan at gmail.com>,
# Raymond Hettinger <python at rcn.com>,
# and Łukasz Langa <lukasz at langa.pl>.
# Copyright © 2001-2023 Python Software Foundation; All Rights Reserved
This file contained the backport of the cached_property implementation of Python 3.12.
Since we have dropped support for Python 3.11, we can remove this backport.
This file is kept for now to avoid breaking custom components that might
import it.
"""
from __future__ import annotations
from collections.abc import Callable
from types import GenericAlias
from typing import Any, Generic, Self, TypeVar, overload
from functools import cached_property as _cached_property, partial
_T = TypeVar("_T")
from homeassistant.helpers.deprecation import (
DeprecatedAlias,
all_with_deprecated_constants,
check_if_deprecated_constant,
dir_with_deprecated_constants,
)
# cached_property deprecated as of 2024.5 use functools.cached_property instead.
_DEPRECATED_cached_property = DeprecatedAlias(
_cached_property, "functools.cached_property", "2025.5"
)
class cached_property(Generic[_T]):
"""Backport of Python 3.12's cached_property.
Includes https://github.com/python/cpython/pull/101890/files
"""
def __init__(self, func: Callable[[Any], _T]) -> None:
"""Initialize."""
self.func: Callable[[Any], _T] = func
self.attrname: str | None = None
self.__doc__ = func.__doc__
def __set_name__(self, owner: type[Any], name: str) -> None:
"""Set name."""
if self.attrname is None:
self.attrname = name
elif name != self.attrname:
raise TypeError(
"Cannot assign the same cached_property to two different names "
f"({self.attrname!r} and {name!r})."
)
@overload
def __get__(self, instance: None, owner: type[Any] | None = None) -> Self:
...
@overload
def __get__(self, instance: Any, owner: type[Any] | None = None) -> _T:
...
def __get__(
self, instance: Any | None, owner: type[Any] | None = None
) -> _T | Self:
"""Get."""
if instance is None:
return self
if self.attrname is None:
raise TypeError(
"Cannot use cached_property instance without calling __set_name__ on it."
)
try:
cache = instance.__dict__
# not all objects have __dict__ (e.g. class defines slots)
except AttributeError:
msg = (
f"No '__dict__' attribute on {type(instance).__name__!r} "
f"instance to cache {self.attrname!r} property."
)
raise TypeError(msg) from None
val = self.func(instance)
try:
cache[self.attrname] = val
except TypeError:
msg = (
f"The '__dict__' attribute on {type(instance).__name__!r} instance "
f"does not support item assignment for caching {self.attrname!r} property."
)
raise TypeError(msg) from None
return val
__class_getitem__ = classmethod(GenericAlias) # type: ignore[var-annotated]
__getattr__ = partial(check_if_deprecated_constant, module_globals=globals())
__dir__ = partial(
dir_with_deprecated_constants, module_globals_keys=[*globals().keys()]
)
__all__ = all_with_deprecated_constants(globals())

View File

@@ -1,21 +1,252 @@
"""Block blocking calls being done in asyncio."""
import builtins
from collections.abc import Callable
from contextlib import suppress
from dataclasses import dataclass
import glob
from http.client import HTTPConnection
import importlib
import os
from pathlib import Path
from ssl import SSLContext
import sys
import threading
import time
from typing import Any
from .util.async_ import protect_loop
from .helpers.frame import get_current_frame
from .util.loop import protect_loop
_IN_TESTS = "unittest" in sys.modules
ALLOWED_FILE_PREFIXES = ("/proc",)
def _check_import_call_allowed(mapped_args: dict[str, Any]) -> bool:
# If the module is already imported, we can ignore it.
return bool((args := mapped_args.get("args")) and args[0] in sys.modules)
def _check_file_allowed(mapped_args: dict[str, Any]) -> bool:
# If the file is in /proc we can ignore it.
args = mapped_args["args"]
path = args[0] if type(args[0]) is str else str(args[0]) # noqa: E721
return path.startswith(ALLOWED_FILE_PREFIXES)
def _check_sleep_call_allowed(mapped_args: dict[str, Any]) -> bool:
#
# Avoid extracting the stack unless we need to since it
# will have to access the linecache which can do blocking
# I/O and we are trying to avoid blocking calls.
#
# frame[0] is us
# frame[1] is raise_for_blocking_call
# frame[2] is protected_loop_func
# frame[3] is the offender
with suppress(ValueError):
return get_current_frame(4).f_code.co_filename.endswith("pydevd.py")
return False
@dataclass(slots=True, frozen=True)
class BlockingCall:
"""Class to hold information about a blocking call."""
original_func: Callable
object: object
function: str
check_allowed: Callable[[dict[str, Any]], bool] | None
strict: bool
strict_core: bool
skip_for_tests: bool
_BLOCKING_CALLS: tuple[BlockingCall, ...] = (
BlockingCall(
original_func=HTTPConnection.putrequest,
object=HTTPConnection,
function="putrequest",
check_allowed=None,
strict=True,
strict_core=True,
skip_for_tests=False,
),
BlockingCall(
original_func=time.sleep,
object=time,
function="sleep",
check_allowed=_check_sleep_call_allowed,
strict=True,
strict_core=True,
skip_for_tests=False,
),
BlockingCall(
original_func=glob.glob,
object=glob,
function="glob",
check_allowed=None,
strict=False,
strict_core=False,
skip_for_tests=False,
),
BlockingCall(
original_func=glob.iglob,
object=glob,
function="iglob",
check_allowed=None,
strict=False,
strict_core=False,
skip_for_tests=False,
),
BlockingCall(
original_func=os.walk,
object=os,
function="walk",
check_allowed=None,
strict=False,
strict_core=False,
skip_for_tests=False,
),
BlockingCall(
original_func=os.listdir,
object=os,
function="listdir",
check_allowed=None,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=os.scandir,
object=os,
function="scandir",
check_allowed=None,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=builtins.open,
object=builtins,
function="open",
check_allowed=_check_file_allowed,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=importlib.import_module,
object=importlib,
function="import_module",
check_allowed=_check_import_call_allowed,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=SSLContext.load_default_certs,
object=SSLContext,
function="load_default_certs",
check_allowed=None,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=SSLContext.load_verify_locations,
object=SSLContext,
function="load_verify_locations",
check_allowed=None,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=SSLContext.load_cert_chain,
object=SSLContext,
function="load_cert_chain",
check_allowed=None,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=Path.open,
object=Path,
function="open",
check_allowed=_check_file_allowed,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=Path.read_text,
object=Path,
function="read_text",
check_allowed=_check_file_allowed,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=Path.read_bytes,
object=Path,
function="read_bytes",
check_allowed=_check_file_allowed,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=Path.write_text,
object=Path,
function="write_text",
check_allowed=_check_file_allowed,
strict=False,
strict_core=False,
skip_for_tests=True,
),
BlockingCall(
original_func=Path.write_bytes,
object=Path,
function="write_bytes",
check_allowed=_check_file_allowed,
strict=False,
strict_core=False,
skip_for_tests=True,
),
)
@dataclass(slots=True)
class BlockedCalls:
"""Class to track which calls are blocked."""
calls: set[BlockingCall]
_BLOCKED_CALLS = BlockedCalls(set())
def enable() -> None:
"""Enable the detection of blocking calls in the event loop."""
# Prevent urllib3 and requests doing I/O in event loop
HTTPConnection.putrequest = protect_loop( # type: ignore[method-assign]
HTTPConnection.putrequest
)
calls = _BLOCKED_CALLS.calls
if calls:
raise RuntimeError("Blocking call detection is already enabled")
# Prevent sleeping in event loop. Non-strict since 2022.02
time.sleep = protect_loop(time.sleep, strict=False)
loop_thread_id = threading.get_ident()
for blocking_call in _BLOCKING_CALLS:
if _IN_TESTS and blocking_call.skip_for_tests:
continue
# Currently disabled. pytz doing I/O when getting timezone.
# Prevent files being opened inside the event loop
# builtins.open = protect_loop(builtins.open)
protected_function = protect_loop(
blocking_call.original_func,
strict=blocking_call.strict,
strict_core=blocking_call.strict_core,
check_allowed=blocking_call.check_allowed,
loop_thread_id=loop_thread_id,
)
setattr(blocking_call.object, blocking_call.function, protected_function)
calls.add(blocking_call)

View File

@@ -3,11 +3,14 @@
from __future__ import annotations
import asyncio
from collections import defaultdict
import contextlib
from datetime import timedelta
from functools import partial
from itertools import chain
import logging
import logging.handlers
from operator import itemgetter
from logging.handlers import RotatingFileHandler, TimedRotatingFileHandler
import mimetypes
from operator import contains, itemgetter
import os
import platform
import sys
@@ -21,7 +24,14 @@ import cryptography.hazmat.backends.openssl.backend # noqa: F401
import voluptuous as vol
import yarl
from . import config as conf_util, config_entries, core, loader, requirements
from . import (
block_async_io,
config as conf_util,
config_entries,
core,
loader,
requirements,
)
# Pre-import frontend deps which have no requirements here to avoid
# loading them at run time and blocking the event loop. We do this ahead
@@ -32,9 +42,11 @@ from .components import (
api as api_pre_import, # noqa: F401
auth as auth_pre_import, # noqa: F401
config as config_pre_import, # noqa: F401
default_config as default_config_pre_import, # noqa: F401
device_automation as device_automation_pre_import, # noqa: F401
diagnostics as diagnostics_pre_import, # noqa: F401
file_upload as file_upload_pre_import, # noqa: F401
group as group_pre_import, # noqa: F401
history as history_pre_import, # noqa: F401
http, # not named pre_import since it has requirements
image_upload as image_upload_import, # noqa: F401 - not named pre_import since it has requirements
@@ -51,6 +63,7 @@ from .components import (
)
from .components.sensor import recorder as sensor_recorder # noqa: F401
from .const import (
BASE_PLATFORMS,
FORMAT_DATETIME,
KEY_DATA_LOGGING as DATA_LOGGING,
REQUIRED_NEXT_PYTHON_HA_RELEASE,
@@ -60,6 +73,7 @@ from .const import (
from .exceptions import HomeAssistantError
from .helpers import (
area_registry,
category_registry,
config_validation as cv,
device_registry,
entity,
@@ -72,29 +86,43 @@ from .helpers import (
template,
translation,
)
from .helpers.dispatcher import async_dispatcher_send
from .helpers.dispatcher import async_dispatcher_send_internal
from .helpers.storage import get_internal_store_manager
from .helpers.system_info import async_get_system_info, is_official_image
from .helpers.typing import ConfigType
from .setup import (
BASE_PLATFORMS,
DATA_SETUP_STARTED,
DATA_SETUP_TIME,
# _setup_started is marked as protected to make it clear
# that it is not part of the public API and should not be used
# by integrations. It is only used for internal tracking of
# which integrations are being set up.
_setup_started,
async_get_setup_timings,
async_notify_setup_error,
async_set_domains_to_be_loaded,
async_setup_component,
)
from .util.async_ import create_eager_task
from .util.hass_dict import HassKey
from .util.logging import async_activate_log_queue_handler
from .util.package import async_get_user_site, is_virtual_env
from .util.package import async_get_user_site, is_docker_env, is_virtual_env
with contextlib.suppress(ImportError):
# Ensure anyio backend is imported to avoid it being imported in the event loop
from anyio._backends import _asyncio # noqa: F401
if TYPE_CHECKING:
from .runner import RuntimeConfig
_LOGGER = logging.getLogger(__name__)
SETUP_ORDER_SORT_KEY = partial(contains, BASE_PLATFORMS)
ERROR_LOG_FILENAME = "home-assistant.log"
# hass.data key for logging information.
DATA_REGISTRIES_LOADED = "bootstrap_registries_loaded"
DATA_REGISTRIES_LOADED: HassKey[None] = HassKey("bootstrap_registries_loaded")
LOG_SLOW_STARTUP_INTERVAL = 60
SLOW_STARTUP_CHECK_INTERVAL = 1
@@ -106,8 +134,15 @@ COOLDOWN_TIME = 60
DEBUGGER_INTEGRATIONS = {"debugpy"}
# Core integrations are unconditionally loaded
CORE_INTEGRATIONS = {"homeassistant", "persistent_notification"}
LOGGING_INTEGRATIONS = {
# Integrations that are loaded right after the core is set up
LOGGING_AND_HTTP_DEPS_INTEGRATIONS = {
# isal is loaded right away before `http` to ensure if its
# enabled, that `isal` is up to date.
"isal",
# Set log levels
"logger",
# Error logging
@@ -185,35 +220,77 @@ CRITICAL_INTEGRATIONS = {
"frontend",
}
SETUP_ORDER = {
# Load logging as soon as possible
"logging": LOGGING_INTEGRATIONS,
SETUP_ORDER = (
# Load logging and http deps as soon as possible
("logging, http deps", LOGGING_AND_HTTP_DEPS_INTEGRATIONS),
# Setup frontend
"frontend": FRONTEND_INTEGRATIONS,
("frontend", FRONTEND_INTEGRATIONS),
# Setup recorder
"recorder": RECORDER_INTEGRATIONS,
("recorder", RECORDER_INTEGRATIONS),
# Start up debuggers. Start these first in case they want to wait.
"debugger": DEBUGGER_INTEGRATIONS,
}
("debugger", DEBUGGER_INTEGRATIONS),
)
#
# Storage keys we are likely to load during startup
# in order of when we expect to load them.
#
# If they do not exist they will not be loaded
#
PRELOAD_STORAGE = [
"core.logger",
"core.network",
"http.auth",
"image",
"lovelace_dashboards",
"lovelace_resources",
"core.uuid",
"lovelace.map",
"bluetooth.passive_update_processor",
"bluetooth.remote_scanners",
"assist_pipeline.pipelines",
"core.analytics",
"auth_module.totp",
]
async def async_setup_hass(
runtime_config: RuntimeConfig,
) -> core.HomeAssistant | None:
"""Set up Home Assistant."""
hass = core.HomeAssistant(runtime_config.config_dir)
async_enable_logging(
hass,
runtime_config.verbose,
runtime_config.log_rotate_days,
runtime_config.log_file,
runtime_config.log_no_color,
)
async def create_hass() -> core.HomeAssistant:
"""Create the hass object and do basic setup."""
hass = core.HomeAssistant(runtime_config.config_dir)
loader.async_setup(hass)
await async_enable_logging(
hass,
runtime_config.verbose,
runtime_config.log_rotate_days,
runtime_config.log_file,
runtime_config.log_no_color,
)
if runtime_config.debug or hass.loop.get_debug():
hass.config.debug = True
hass.config.safe_mode = runtime_config.safe_mode
hass.config.skip_pip = runtime_config.skip_pip
hass.config.skip_pip_packages = runtime_config.skip_pip_packages
return hass
async def stop_hass(hass: core.HomeAssistant) -> None:
"""Stop hass."""
# Ask integrations to shut down. It's messy but we can't
# do a clean stop without knowing what is broken
with contextlib.suppress(TimeoutError):
async with hass.timeout.async_timeout(10):
await hass.async_stop()
hass = await create_hass()
hass.config.safe_mode = runtime_config.safe_mode
hass.config.skip_pip = runtime_config.skip_pip
hass.config.skip_pip_packages = runtime_config.skip_pip_packages
if runtime_config.skip_pip or runtime_config.skip_pip_packages:
_LOGGER.warning(
"Skipping pip installation of required modules. This may cause issues"
@@ -225,7 +302,8 @@ async def async_setup_hass(
_LOGGER.info("Config directory: %s", runtime_config.config_dir)
loader.async_setup(hass)
block_async_io.enable()
config_dict = None
basic_setup_success = False
@@ -249,29 +327,31 @@ async def async_setup_hass(
if config_dict is None:
recovery_mode = True
await stop_hass(hass)
hass = await create_hass()
elif not basic_setup_success:
_LOGGER.warning("Unable to set up core integrations. Activating recovery mode")
recovery_mode = True
await stop_hass(hass)
hass = await create_hass()
elif any(domain not in hass.config.components for domain in CRITICAL_INTEGRATIONS):
_LOGGER.warning(
"Detected that %s did not load. Activating recovery mode",
",".join(CRITICAL_INTEGRATIONS),
)
# Ask integrations to shut down. It's messy but we can't
# do a clean stop without knowing what is broken
with contextlib.suppress(TimeoutError):
async with hass.timeout.async_timeout(10):
await hass.async_stop()
recovery_mode = True
old_config = hass.config
old_logging = hass.data.get(DATA_LOGGING)
hass = core.HomeAssistant(old_config.config_dir)
recovery_mode = True
await stop_hass(hass)
hass = await create_hass()
if old_logging:
hass.data[DATA_LOGGING] = old_logging
hass.config.debug = old_config.debug
hass.config.skip_pip = old_config.skip_pip
hass.config.skip_pip_packages = old_config.skip_pip_packages
hass.config.internal_url = old_config.internal_url
@@ -318,37 +398,45 @@ def open_hass_ui(hass: core.HomeAssistant) -> None:
)
def _init_blocking_io_modules_in_executor() -> None:
"""Initialize modules that do blocking I/O in executor."""
# Cache the result of platform.uname().processor in the executor.
# Multiple modules call this function at startup which
# executes a blocking subprocess call. This is a problem for the
# asyncio event loop. By priming the cache of uname we can
# avoid the blocking call in the event loop.
_ = platform.uname().processor
# Initialize the mimetypes module to avoid blocking calls
# to the filesystem to load the mime.types file.
mimetypes.init()
# Initialize is_official_image and is_docker_env to avoid blocking calls
# to the filesystem.
is_official_image()
is_docker_env()
async def async_load_base_functionality(hass: core.HomeAssistant) -> None:
"""Load the registries and cache the result of platform.uname().processor."""
"""Load the registries and modules that will do blocking I/O."""
if DATA_REGISTRIES_LOADED in hass.data:
return
hass.data[DATA_REGISTRIES_LOADED] = None
def _cache_uname_processor() -> None:
"""Cache the result of platform.uname().processor in the executor.
Multiple modules call this function at startup which
executes a blocking subprocess call. This is a problem for the
asyncio event loop. By primeing the cache of uname we can
avoid the blocking call in the event loop.
"""
platform.uname().processor # pylint: disable=expression-not-assigned
# Load the registries and cache the result of platform.uname().processor
translation.async_setup(hass)
entity.async_setup(hass)
template.async_setup(hass)
await asyncio.gather(
create_eager_task(get_internal_store_manager(hass).async_initialize()),
create_eager_task(area_registry.async_load(hass)),
create_eager_task(category_registry.async_load(hass)),
create_eager_task(device_registry.async_load(hass)),
create_eager_task(entity_registry.async_load(hass)),
create_eager_task(floor_registry.async_load(hass)),
create_eager_task(issue_registry.async_load(hass)),
create_eager_task(label_registry.async_load(hass)),
hass.async_add_executor_job(_cache_uname_processor),
hass.async_add_executor_job(_init_blocking_io_modules_in_executor),
create_eager_task(template.async_load_custom_templates(hass)),
create_eager_task(restore_state.async_load(hass)),
create_eager_task(hass.config_entries.async_initialize()),
create_eager_task(async_get_system_info(hass)),
)
@@ -363,6 +451,9 @@ async def async_from_config_dict(
start = monotonic()
hass.config_entries = config_entries.ConfigEntries(hass, config)
# Prime custom component cache early so we know if registry entries are tied
# to a custom integration
await loader.async_get_custom_components(hass)
await async_load_base_functionality(hass)
# Set up core.
@@ -371,7 +462,11 @@ async def async_from_config_dict(
if not all(
await asyncio.gather(
*(
create_eager_task(async_setup_component(hass, domain, config))
create_eager_task(
async_setup_component(hass, domain, config),
name=f"bootstrap setup {domain}",
loop=hass.loop,
)
for domain in CORE_INTEGRATIONS
)
)
@@ -434,8 +529,7 @@ async def async_from_config_dict(
return hass
@core.callback
def async_enable_logging(
async def async_enable_logging(
hass: core.HomeAssistant,
verbose: bool = False,
log_rotate_days: int | None = None,
@@ -492,10 +586,10 @@ def async_enable_logging(
logging.getLogger("aiohttp.access").setLevel(logging.WARNING)
logging.getLogger("httpx").setLevel(logging.WARNING)
sys.excepthook = lambda *args: logging.getLogger(None).exception(
sys.excepthook = lambda *args: logging.getLogger().exception(
"Uncaught exception", exc_info=args
)
threading.excepthook = lambda args: logging.getLogger(None).exception(
threading.excepthook = lambda args: logging.getLogger().exception(
"Uncaught thread exception",
exc_info=( # type: ignore[arg-type]
args.exc_type,
@@ -518,28 +612,13 @@ def async_enable_logging(
if (err_path_exists and os.access(err_log_path, os.W_OK)) or (
not err_path_exists and os.access(err_dir, os.W_OK)
):
err_handler: (
logging.handlers.RotatingFileHandler
| logging.handlers.TimedRotatingFileHandler
err_handler = await hass.async_add_executor_job(
_create_log_file, err_log_path, log_rotate_days
)
if log_rotate_days:
err_handler = logging.handlers.TimedRotatingFileHandler(
err_log_path, when="midnight", backupCount=log_rotate_days
)
else:
err_handler = logging.handlers.RotatingFileHandler(
err_log_path, backupCount=1
)
try:
err_handler.doRollover()
except OSError as err:
_LOGGER.error("Error rolling over log file: %s", err)
err_handler.setLevel(logging.INFO if verbose else logging.WARNING)
err_handler.setFormatter(logging.Formatter(fmt, datefmt=FORMAT_DATETIME))
logger = logging.getLogger("")
logger = logging.getLogger()
logger.addHandler(err_handler)
logger.setLevel(logging.INFO if verbose else logging.WARNING)
@@ -551,6 +630,41 @@ def async_enable_logging(
async_activate_log_queue_handler(hass)
def _create_log_file(
err_log_path: str, log_rotate_days: int | None
) -> RotatingFileHandler | TimedRotatingFileHandler:
"""Create log file and do roll over."""
err_handler: RotatingFileHandler | TimedRotatingFileHandler
if log_rotate_days:
err_handler = TimedRotatingFileHandler(
err_log_path, when="midnight", backupCount=log_rotate_days
)
else:
err_handler = _RotatingFileHandlerWithoutShouldRollOver(
err_log_path, backupCount=1
)
try:
err_handler.doRollover()
except OSError as err:
_LOGGER.error("Error rolling over log file: %s", err)
return err_handler
class _RotatingFileHandlerWithoutShouldRollOver(RotatingFileHandler):
"""RotatingFileHandler that does not check if it should roll over on every log."""
def shouldRollover(self, record: logging.LogRecord) -> bool:
"""Never roll over.
The shouldRollover check is expensive because it has to stat
the log file for every log record. Since we do not set maxBytes
the result of this check is always False.
"""
return False
async def async_mount_local_lib_path(config_dir: str) -> str:
"""Add local library to Python Path.
@@ -588,7 +702,9 @@ class _WatchPendingSetups:
"""Periodic log and dispatch of setups that are pending."""
def __init__(
self, hass: core.HomeAssistant, setup_started: dict[str, float]
self,
hass: core.HomeAssistant,
setup_started: dict[tuple[str, str | None], float],
) -> None:
"""Initialize the WatchPendingSetups class."""
self._hass = hass
@@ -603,13 +719,14 @@ class _WatchPendingSetups:
now = monotonic()
self._duration_count += SLOW_STARTUP_CHECK_INTERVAL
remaining_with_setup_started = {
domain: (now - start_time)
for domain, start_time in self._setup_started.items()
}
remaining_with_setup_started: defaultdict[str, float] = defaultdict(float)
for integration_group, start_time in self._setup_started.items():
domain, _ = integration_group
remaining_with_setup_started[domain] += now - start_time
if remaining_with_setup_started:
_LOGGER.debug("Integration remaining: %s", remaining_with_setup_started)
elif waiting_tasks := self._hass._active_tasks: # pylint: disable=protected-access
elif waiting_tasks := self._hass._active_tasks: # noqa: SLF001
_LOGGER.debug("Waiting on tasks: %s", waiting_tasks)
self._async_dispatch(remaining_with_setup_started)
if (
@@ -620,7 +737,7 @@ class _WatchPendingSetups:
# once we take over LOG_SLOW_STARTUP_INTERVAL (60s) to start up
_LOGGER.warning(
"Waiting on integrations to complete setup: %s",
", ".join(self._setup_started),
self._setup_started,
)
_LOGGER.debug("Running timeout Zones: %s", self._hass.timeout.zones)
@@ -629,7 +746,7 @@ class _WatchPendingSetups:
def _async_dispatch(self, remaining_with_setup_started: dict[str, float]) -> None:
"""Dispatch the signal."""
if remaining_with_setup_started or not self._previous_was_empty:
async_dispatcher_send(
async_dispatcher_send_internal(
self._hass, SIGNAL_BOOTSTRAP_INTEGRATIONS, remaining_with_setup_started
)
self._previous_was_empty = not remaining_with_setup_started
@@ -660,13 +777,18 @@ async def async_setup_multi_components(
"""Set up multiple domains. Log on failure."""
# Avoid creating tasks for domains that were setup in a previous stage
domains_not_yet_setup = domains - hass.config.components
# Create setup tasks for base platforms first since everything will have
# to wait to be imported, and the sooner we can get the base platforms
# loaded the sooner we can start loading the rest of the integrations.
futures = {
domain: hass.async_create_task(
domain: hass.async_create_task_internal(
async_setup_component(hass, domain, config),
f"setup component {domain}",
eager_start=True,
)
for domain in domains_not_yet_setup
for domain in sorted(
domains_not_yet_setup, key=SETUP_ORDER_SORT_KEY, reverse=True
)
}
results = await asyncio.gather(*futures.values(), return_exceptions=True)
for idx, domain in enumerate(futures):
@@ -683,29 +805,53 @@ async def _async_resolve_domains_to_setup(
hass: core.HomeAssistant, config: dict[str, Any]
) -> tuple[set[str], dict[str, loader.Integration]]:
"""Resolve all dependencies and return list of domains to set up."""
base_platforms_loaded = False
domains_to_setup = _get_domains(hass, config)
needed_requirements: set[str] = set()
platform_integrations = conf_util.extract_platform_integrations(
config, BASE_PLATFORMS
)
# Ensure base platforms that have platform integrations are added to
# to `domains_to_setup so they can be setup first instead of
# discovering them when later when a config entry setup task
# notices its needed and there is already a long line to use
# the import executor.
#
# For example if we have
# sensor:
# - platform: template
#
# `template` has to be loaded to validate the config for sensor
# so we want to start loading `sensor` as soon as we know
# it will be needed. The more platforms under `sensor:`, the longer
# it will take to finish setup for `sensor` because each of these
# platforms has to be imported before we can validate the config.
#
# Thankfully we are migrating away from the platform pattern
# so this will be less of a problem in the future.
domains_to_setup.update(platform_integrations)
# Load manifests for base platforms and platform based integrations
# that are defined under base platforms right away since we do not require
# the manifest to list them as dependencies and we want to avoid the lock
# contention when multiple integrations try to load them at once
additional_manifests_to_load = {
*BASE_PLATFORMS,
*chain.from_iterable(platform_integrations.values()),
}
translations_to_load = additional_manifests_to_load.copy()
# Resolve all dependencies so we know all integrations
# that will have to be loaded and start rightaway
# that will have to be loaded and start right-away
integration_cache: dict[str, loader.Integration] = {}
to_resolve: set[str] = domains_to_setup
while to_resolve:
while to_resolve or additional_manifests_to_load:
old_to_resolve: set[str] = to_resolve
to_resolve = set()
if not base_platforms_loaded:
# Load base platforms right away since
# we do not require the manifest to list
# them as dependencies and we want
# to avoid the lock contention when multiple
# integrations try to resolve them at once
base_platforms_loaded = True
to_get = {*old_to_resolve, *BASE_PLATFORMS, *platform_integrations}
if additional_manifests_to_load:
to_get = {*old_to_resolve, *additional_manifests_to_load}
additional_manifests_to_load.clear()
else:
to_get = old_to_resolve
@@ -718,6 +864,17 @@ async def _async_resolve_domains_to_setup(
continue
integration_cache[domain] = itg
needed_requirements.update(itg.requirements)
# Make sure manifests for dependencies are loaded in the next
# loop to try to group as many as manifest loads in a single
# call to avoid the creating one-off executor jobs later in
# the setup process
additional_manifests_to_load.update(
dep
for dep in chain(itg.dependencies, itg.after_dependencies)
if dep not in integration_cache
)
if domain not in old_to_resolve:
continue
@@ -750,7 +907,13 @@ async def _async_resolve_domains_to_setup(
await asyncio.gather(*resolve_dependencies_tasks)
for itg in integrations_to_process:
for dep in itg.all_dependencies:
try:
all_deps = itg.all_dependencies
except RuntimeError:
# Integration.all_dependencies raises RuntimeError if
# dependencies could not be resolved
continue
for dep in all_deps:
if dep in domains_to_setup:
continue
domains_to_setup.add(dep)
@@ -766,6 +929,12 @@ async def _async_resolve_domains_to_setup(
"check installed requirements",
eager_start=True,
)
#
# Only add the domains_to_setup after we finish resolving
# as new domains are likely to added in the process
#
translations_to_load.update(domains_to_setup)
# Start loading translations for all integrations we are going to set up
# in the background so they are ready when we need them. This avoids a
# lot of waiting for the translation load lock and a thundering herd of
@@ -777,13 +946,22 @@ async def _async_resolve_domains_to_setup(
# wait for the translation load lock, loading will be done by the
# time it gets to it.
hass.async_create_background_task(
translation.async_load_integrations(
hass, {*BASE_PLATFORMS, *platform_integrations, *domains_to_setup}
),
translation.async_load_integrations(hass, translations_to_load),
"load translations",
eager_start=True,
)
# Preload storage for all integrations we are going to set up
# so we do not have to wait for it to be loaded when we need it
# in the setup process.
hass.async_create_background_task(
get_internal_store_manager(hass).async_preload(
[*PRELOAD_STORAGE, *domains_to_setup]
),
"preload storage",
eager_start=True,
)
return domains_to_setup, integration_cache
@@ -791,11 +969,7 @@ async def _async_set_up_integrations(
hass: core.HomeAssistant, config: dict[str, Any]
) -> None:
"""Set up all the integrations."""
setup_started: dict[str, float] = {}
hass.data[DATA_SETUP_STARTED] = setup_started
setup_time: dict[str, timedelta] = hass.data.setdefault(DATA_SETUP_TIME, {})
watcher = _WatchPendingSetups(hass, setup_started)
watcher = _WatchPendingSetups(hass, _setup_started(hass))
watcher.async_start()
domains_to_setup, integration_cache = await _async_resolve_domains_to_setup(
@@ -806,10 +980,9 @@ async def _async_set_up_integrations(
if "recorder" in domains_to_setup:
recorder.async_initialize_recorder(hass)
pre_stage_domains: dict[str, set[str]] = {
name: domains_to_setup & domain_group
for name, domain_group in SETUP_ORDER.items()
}
pre_stage_domains = [
(name, domains_to_setup & domain_group) for name, domain_group in SETUP_ORDER
]
# calculate what components to setup in what stage
stage_1_domains: set[str] = set()
@@ -835,10 +1008,18 @@ async def _async_set_up_integrations(
stage_2_domains = domains_to_setup - stage_1_domains
for name, domain_group in pre_stage_domains.items():
for name, domain_group in pre_stage_domains:
if domain_group:
stage_2_domains -= domain_group
_LOGGER.info("Setting up %s: %s", name, domain_group)
to_be_loaded = domain_group.copy()
to_be_loaded.update(
dep
for domain in domain_group
if (integration := integration_cache.get(domain)) is not None
for dep in integration.all_dependencies
)
async_set_domains_to_be_loaded(hass, to_be_loaded)
await async_setup_multi_components(hass, domain_group, config)
# Enables after dependencies when setting up stage 1 domains
@@ -855,7 +1036,7 @@ async def _async_set_up_integrations(
except TimeoutError:
_LOGGER.warning(
"Setup timed out for stage 1 waiting on %s - moving forward",
hass._active_tasks, # pylint: disable=protected-access
hass._active_tasks, # noqa: SLF001
)
# Add after dependencies when setting up stage 2 domains
@@ -871,7 +1052,7 @@ async def _async_set_up_integrations(
except TimeoutError:
_LOGGER.warning(
"Setup timed out for stage 2 waiting on %s - moving forward",
hass._active_tasks, # pylint: disable=protected-access
hass._active_tasks, # noqa: SLF001
)
# Wrap up startup
@@ -882,12 +1063,14 @@ async def _async_set_up_integrations(
except TimeoutError:
_LOGGER.warning(
"Setup timed out for bootstrap waiting on %s - moving forward",
hass._active_tasks, # pylint: disable=protected-access
hass._active_tasks, # noqa: SLF001
)
watcher.async_stop()
_LOGGER.debug(
"Integration setup times: %s",
dict(sorted(setup_time.items(), key=itemgetter(1))),
)
if _LOGGER.isEnabledFor(logging.DEBUG):
setup_time = async_get_setup_timings(hass)
_LOGGER.debug(
"Integration setup times: %s",
dict(sorted(setup_time.items(), key=itemgetter(1), reverse=True)),
)

View File

@@ -0,0 +1,5 @@
{
"domain": "ambient_weather",
"name": "Ambient Weather",
"integrations": ["ambient_network", "ambient_station"]
}

View File

@@ -1,5 +0,0 @@
{
"domain": "asterisk",
"name": "Asterisk",
"integrations": ["asterisk_cdr", "asterisk_mbox"]
}

View File

@@ -1,5 +0,0 @@
{
"domain": "epson",
"name": "Epson",
"integrations": ["epson", "epsonworkforce"]
}

View File

@@ -1,5 +1,5 @@
{
"domain": "eq3",
"name": "eQ-3",
"integrations": ["maxcube"]
"integrations": ["maxcube", "eq3btsmart"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "fujitsu",
"name": "Fujitsu",
"integrations": ["fujitsu_anywair", "fujitsu_fglair"]
}

View File

@@ -1,5 +1,5 @@
{
"domain": "logitech",
"name": "Logitech",
"integrations": ["harmony", "ue_smart_radio", "squeezebox"]
"integrations": ["harmony", "squeezebox"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "motionblinds",
"name": "Motionblinds",
"integrations": ["motion_blinds", "motionblinds_ble"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "roth",
"name": "Roth",
"integrations": ["touchline", "touchline_sl"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "ruuvi",
"name": "Ruuvi",
"integrations": ["ruuvi_gateway", "ruuvitag_ble"]
}

View File

@@ -1,5 +1,5 @@
{
"domain": "tesla",
"name": "Tesla",
"integrations": ["powerwall", "tesla_wall_connector"]
"integrations": ["powerwall", "tesla_wall_connector", "tesla_fleet"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "weatherflow",
"name": "WeatherFlow",
"integrations": ["weatherflow", "weatherflow_cloud"]
}

View File

@@ -1,5 +1,11 @@
{
"domain": "yale",
"name": "Yale",
"integrations": ["august", "yale_smart_alarm", "yalexs_ble", "yale_home"]
"integrations": [
"august",
"yale_smart_alarm",
"yalexs_ble",
"yale_home",
"yale"
]
}

View File

@@ -5,9 +5,7 @@ from __future__ import annotations
from dataclasses import dataclass, field
from functools import partial
from jaraco.abode.automation import Automation as AbodeAuto
from jaraco.abode.client import Client as Abode
from jaraco.abode.devices.base import Device as AbodeDev
from jaraco.abode.exceptions import (
AuthenticationException as AbodeAuthenticationException,
Exception as AbodeException,
@@ -29,11 +27,11 @@ from homeassistant.const import (
)
from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, ServiceCall
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from homeassistant.helpers import config_validation as cv, entity
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.dispatcher import dispatcher_send
from homeassistant.helpers.typing import ConfigType
from .const import ATTRIBUTION, CONF_POLLING, DOMAIN, LOGGER
from .const import CONF_POLLING, DOMAIN, LOGGER
SERVICE_SETTINGS = "change_setting"
SERVICE_CAPTURE_IMAGE = "capture_image"
@@ -83,6 +81,12 @@ class AbodeSystem:
logout_listener: CALLBACK_TYPE | None = None
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
"""Set up the Abode component."""
setup_hass_services(hass)
return True
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up Abode integration from a config entry."""
username = entry.data[CONF_USERNAME]
@@ -111,7 +115,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
await setup_hass_events(hass)
await hass.async_add_executor_job(setup_hass_services, hass)
await hass.async_add_executor_job(setup_abode_events, hass)
return True
@@ -119,10 +122,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
hass.services.async_remove(DOMAIN, SERVICE_SETTINGS)
hass.services.async_remove(DOMAIN, SERVICE_CAPTURE_IMAGE)
hass.services.async_remove(DOMAIN, SERVICE_TRIGGER_AUTOMATION)
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
await hass.async_add_executor_job(hass.data[DOMAIN].abode.events.stop)
@@ -175,15 +174,15 @@ def setup_hass_services(hass: HomeAssistant) -> None:
signal = f"abode_trigger_automation_{entity_id}"
dispatcher_send(hass, signal)
hass.services.register(
hass.services.async_register(
DOMAIN, SERVICE_SETTINGS, change_setting, schema=CHANGE_SETTING_SCHEMA
)
hass.services.register(
hass.services.async_register(
DOMAIN, SERVICE_CAPTURE_IMAGE, capture_image, schema=CAPTURE_IMAGE_SCHEMA
)
hass.services.register(
hass.services.async_register(
DOMAIN, SERVICE_TRIGGER_AUTOMATION, trigger_automation, schema=AUTOMATION_SCHEMA
)
@@ -247,108 +246,3 @@ def setup_abode_events(hass: HomeAssistant) -> None:
hass.data[DOMAIN].abode.events.add_event_callback(
event, partial(event_callback, event)
)
class AbodeEntity(entity.Entity):
"""Representation of an Abode entity."""
_attr_attribution = ATTRIBUTION
_attr_has_entity_name = True
def __init__(self, data: AbodeSystem) -> None:
"""Initialize Abode entity."""
self._data = data
self._attr_should_poll = data.polling
async def async_added_to_hass(self) -> None:
"""Subscribe to Abode connection status updates."""
await self.hass.async_add_executor_job(
self._data.abode.events.add_connection_status_callback,
self.unique_id,
self._update_connection_status,
)
self.hass.data[DOMAIN].entity_ids.add(self.entity_id)
async def async_will_remove_from_hass(self) -> None:
"""Unsubscribe from Abode connection status updates."""
await self.hass.async_add_executor_job(
self._data.abode.events.remove_connection_status_callback, self.unique_id
)
def _update_connection_status(self) -> None:
"""Update the entity available property."""
self._attr_available = self._data.abode.events.connected
self.schedule_update_ha_state()
class AbodeDevice(AbodeEntity):
"""Representation of an Abode device."""
def __init__(self, data: AbodeSystem, device: AbodeDev) -> None:
"""Initialize Abode device."""
super().__init__(data)
self._device = device
self._attr_unique_id = device.uuid
async def async_added_to_hass(self) -> None:
"""Subscribe to device events."""
await super().async_added_to_hass()
await self.hass.async_add_executor_job(
self._data.abode.events.add_device_callback,
self._device.id,
self._update_callback,
)
async def async_will_remove_from_hass(self) -> None:
"""Unsubscribe from device events."""
await super().async_will_remove_from_hass()
await self.hass.async_add_executor_job(
self._data.abode.events.remove_all_device_callbacks, self._device.id
)
def update(self) -> None:
"""Update device state."""
self._device.refresh()
@property
def extra_state_attributes(self) -> dict[str, str]:
"""Return the state attributes."""
return {
"device_id": self._device.id,
"battery_low": self._device.battery_low,
"no_response": self._device.no_response,
"device_type": self._device.type,
}
@property
def device_info(self) -> DeviceInfo:
"""Return device registry information for this entity."""
return DeviceInfo(
identifiers={(DOMAIN, self._device.id)},
manufacturer="Abode",
model=self._device.type,
name=self._device.name,
)
def _update_callback(self, device: AbodeDev) -> None:
"""Update the device state."""
self.schedule_update_ha_state()
class AbodeAutomation(AbodeEntity):
"""Representation of an Abode automation."""
def __init__(self, data: AbodeSystem, automation: AbodeAuto) -> None:
"""Initialize for Abode automation."""
super().__init__(data)
self._automation = automation
self._attr_name = automation.name
self._attr_unique_id = automation.automation_id
self._attr_extra_state_attributes = {
"type": "CUE automation",
}
def update(self) -> None:
"""Update automation state."""
self._automation.refresh()

View File

@@ -17,8 +17,9 @@ from homeassistant.const import (
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AbodeDevice, AbodeSystem
from . import AbodeSystem
from .const import DOMAIN
from .entity import AbodeDevice
async def async_setup_entry(

View File

@@ -5,13 +5,6 @@ from __future__ import annotations
from typing import cast
from jaraco.abode.devices.sensor import BinarySensor
from jaraco.abode.helpers.constants import (
TYPE_CONNECTIVITY,
TYPE_MOISTURE,
TYPE_MOTION,
TYPE_OCCUPANCY,
TYPE_OPENING,
)
from homeassistant.components.binary_sensor import (
BinarySensorDeviceClass,
@@ -22,8 +15,9 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util.enum import try_parse_enum
from . import AbodeDevice, AbodeSystem
from . import AbodeSystem
from .const import DOMAIN
from .entity import AbodeDevice
async def async_setup_entry(
@@ -33,11 +27,11 @@ async def async_setup_entry(
data: AbodeSystem = hass.data[DOMAIN]
device_types = [
TYPE_CONNECTIVITY,
TYPE_MOISTURE,
TYPE_MOTION,
TYPE_OCCUPANCY,
TYPE_OPENING,
"connectivity",
"moisture",
"motion",
"occupancy",
"door",
]
async_add_entities(

View File

@@ -8,7 +8,6 @@ from typing import Any, cast
from jaraco.abode.devices.base import Device
from jaraco.abode.devices.camera import Camera as AbodeCam
from jaraco.abode.helpers import timeline
from jaraco.abode.helpers.constants import TYPE_CAMERA
import requests
from requests.models import Response
@@ -19,8 +18,9 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util import Throttle
from . import AbodeDevice, AbodeSystem
from . import AbodeSystem
from .const import DOMAIN, LOGGER
from .entity import AbodeDevice
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=90)
@@ -33,7 +33,7 @@ async def async_setup_entry(
async_add_entities(
AbodeCamera(data, device, timeline.CAPTURE_IMAGE)
for device in data.abode.get_devices(generic_type=TYPE_CAMERA)
for device in data.abode.get_devices(generic_type="camera")
)

View File

@@ -3,15 +3,15 @@
from typing import Any
from jaraco.abode.devices.cover import Cover
from jaraco.abode.helpers.constants import TYPE_COVER
from homeassistant.components.cover import CoverEntity
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AbodeDevice, AbodeSystem
from . import AbodeSystem
from .const import DOMAIN
from .entity import AbodeDevice
async def async_setup_entry(
@@ -22,7 +22,7 @@ async def async_setup_entry(
async_add_entities(
AbodeCover(data, device)
for device in data.abode.get_devices(generic_type=TYPE_COVER)
for device in data.abode.get_devices(generic_type="cover")
)

View File

@@ -0,0 +1,115 @@
"""Support for Abode Security System entities."""
from jaraco.abode.automation import Automation as AbodeAuto
from jaraco.abode.devices.base import Device as AbodeDev
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity import Entity
from . import AbodeSystem
from .const import ATTRIBUTION, DOMAIN
class AbodeEntity(Entity):
"""Representation of an Abode entity."""
_attr_attribution = ATTRIBUTION
_attr_has_entity_name = True
def __init__(self, data: AbodeSystem) -> None:
"""Initialize Abode entity."""
self._data = data
self._attr_should_poll = data.polling
async def async_added_to_hass(self) -> None:
"""Subscribe to Abode connection status updates."""
await self.hass.async_add_executor_job(
self._data.abode.events.add_connection_status_callback,
self.unique_id,
self._update_connection_status,
)
self.hass.data[DOMAIN].entity_ids.add(self.entity_id)
async def async_will_remove_from_hass(self) -> None:
"""Unsubscribe from Abode connection status updates."""
await self.hass.async_add_executor_job(
self._data.abode.events.remove_connection_status_callback, self.unique_id
)
def _update_connection_status(self) -> None:
"""Update the entity available property."""
self._attr_available = self._data.abode.events.connected
self.schedule_update_ha_state()
class AbodeDevice(AbodeEntity):
"""Representation of an Abode device."""
def __init__(self, data: AbodeSystem, device: AbodeDev) -> None:
"""Initialize Abode device."""
super().__init__(data)
self._device = device
self._attr_unique_id = device.uuid
async def async_added_to_hass(self) -> None:
"""Subscribe to device events."""
await super().async_added_to_hass()
await self.hass.async_add_executor_job(
self._data.abode.events.add_device_callback,
self._device.id,
self._update_callback,
)
async def async_will_remove_from_hass(self) -> None:
"""Unsubscribe from device events."""
await super().async_will_remove_from_hass()
await self.hass.async_add_executor_job(
self._data.abode.events.remove_all_device_callbacks, self._device.id
)
def update(self) -> None:
"""Update device state."""
self._device.refresh()
@property
def extra_state_attributes(self) -> dict[str, str]:
"""Return the state attributes."""
return {
"device_id": self._device.id,
"battery_low": self._device.battery_low,
"no_response": self._device.no_response,
"device_type": self._device.type,
}
@property
def device_info(self) -> DeviceInfo:
"""Return device registry information for this entity."""
return DeviceInfo(
identifiers={(DOMAIN, self._device.id)},
manufacturer="Abode",
model=self._device.type,
name=self._device.name,
)
def _update_callback(self, device: AbodeDev) -> None:
"""Update the device state."""
self.schedule_update_ha_state()
class AbodeAutomation(AbodeEntity):
"""Representation of an Abode automation."""
def __init__(self, data: AbodeSystem, automation: AbodeAuto) -> None:
"""Initialize for Abode automation."""
super().__init__(data)
self._automation = automation
self._attr_name = automation.name
self._attr_unique_id = automation.id
self._attr_extra_state_attributes = {
"type": "CUE automation",
}
def update(self) -> None:
"""Update automation state."""
self._automation.refresh()

View File

@@ -5,5 +5,16 @@
"default": "mdi:robot"
}
}
},
"services": {
"capture_image": {
"service": "mdi:camera"
},
"change_setting": {
"service": "mdi:cog"
},
"trigger_automation": {
"service": "mdi:play"
}
}
}

View File

@@ -6,7 +6,6 @@ from math import ceil
from typing import Any
from jaraco.abode.devices.light import Light
from jaraco.abode.helpers.constants import TYPE_LIGHT
from homeassistant.components.light import (
ATTR_BRIGHTNESS,
@@ -23,8 +22,9 @@ from homeassistant.util.color import (
color_temperature_mired_to_kelvin,
)
from . import AbodeDevice, AbodeSystem
from . import AbodeSystem
from .const import DOMAIN
from .entity import AbodeDevice
async def async_setup_entry(
@@ -35,7 +35,7 @@ async def async_setup_entry(
async_add_entities(
AbodeLight(data, device)
for device in data.abode.get_devices(generic_type=TYPE_LIGHT)
for device in data.abode.get_devices(generic_type="light")
)

View File

@@ -3,15 +3,15 @@
from typing import Any
from jaraco.abode.devices.lock import Lock
from jaraco.abode.helpers.constants import TYPE_LOCK
from homeassistant.components.lock import LockEntity
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AbodeDevice, AbodeSystem
from . import AbodeSystem
from .const import DOMAIN
from .entity import AbodeDevice
async def async_setup_entry(
@@ -22,7 +22,7 @@ async def async_setup_entry(
async_add_entities(
AbodeLock(data, device)
for device in data.abode.get_devices(generic_type=TYPE_LOCK)
for device in data.abode.get_devices(generic_type="lock")
)

View File

@@ -9,5 +9,5 @@
},
"iot_class": "cloud_push",
"loggers": ["jaraco.abode", "lomond"],
"requirements": ["jaraco.abode==3.3.0", "jaraco.functools==3.9.0"]
"requirements": ["jaraco.abode==5.2.1"]
}

View File

@@ -7,15 +7,6 @@ from dataclasses import dataclass
from typing import cast
from jaraco.abode.devices.sensor import Sensor
from jaraco.abode.helpers.constants import (
HUMI_STATUS_KEY,
LUX_STATUS_KEY,
STATUSES_KEY,
TEMP_STATUS_KEY,
TYPE_SENSOR,
UNIT_CELSIUS,
UNIT_FAHRENHEIT,
)
from homeassistant.components.sensor import (
SensorDeviceClass,
@@ -27,12 +18,13 @@ from homeassistant.const import LIGHT_LUX, PERCENTAGE, UnitOfTemperature
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AbodeDevice, AbodeSystem
from . import AbodeSystem
from .const import DOMAIN
from .entity import AbodeDevice
ABODE_TEMPERATURE_UNIT_HA_UNIT = {
UNIT_FAHRENHEIT: UnitOfTemperature.FAHRENHEIT,
UNIT_CELSIUS: UnitOfTemperature.CELSIUS,
"°F": UnitOfTemperature.FAHRENHEIT,
"°C": UnitOfTemperature.CELSIUS,
}
@@ -46,7 +38,7 @@ class AbodeSensorDescription(SensorEntityDescription):
SENSOR_TYPES: tuple[AbodeSensorDescription, ...] = (
AbodeSensorDescription(
key=TEMP_STATUS_KEY,
key="temperature",
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement_fn=lambda device: ABODE_TEMPERATURE_UNIT_HA_UNIT[
device.temp_unit
@@ -54,13 +46,13 @@ SENSOR_TYPES: tuple[AbodeSensorDescription, ...] = (
value_fn=lambda device: cast(float, device.temp),
),
AbodeSensorDescription(
key=HUMI_STATUS_KEY,
key="humidity",
device_class=SensorDeviceClass.HUMIDITY,
native_unit_of_measurement_fn=lambda _: PERCENTAGE,
value_fn=lambda device: cast(float, device.humidity),
),
AbodeSensorDescription(
key=LUX_STATUS_KEY,
key="lux",
device_class=SensorDeviceClass.ILLUMINANCE,
native_unit_of_measurement_fn=lambda _: LIGHT_LUX,
value_fn=lambda device: cast(float, device.lux),
@@ -77,8 +69,8 @@ async def async_setup_entry(
async_add_entities(
AbodeSensor(data, device, description)
for description in SENSOR_TYPES
for device in data.abode.get_devices(generic_type=TYPE_SENSOR)
if description.key in device.get_value(STATUSES_KEY)
for device in data.abode.get_devices(generic_type="sensor")
if description.key in device.get_value("statuses")
)

View File

@@ -5,7 +5,6 @@ from __future__ import annotations
from typing import Any, cast
from jaraco.abode.devices.switch import Switch
from jaraco.abode.helpers.constants import TYPE_SWITCH, TYPE_VALVE
from homeassistant.components.switch import SwitchEntity
from homeassistant.config_entries import ConfigEntry
@@ -13,10 +12,11 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AbodeAutomation, AbodeDevice, AbodeSystem
from . import AbodeSystem
from .const import DOMAIN
from .entity import AbodeAutomation, AbodeDevice
DEVICE_TYPES = [TYPE_SWITCH, TYPE_VALVE]
DEVICE_TYPES = ["switch", "valve"]
async def async_setup_entry(
@@ -88,4 +88,4 @@ class AbodeAutomationSwitch(AbodeAutomation, SwitchEntity):
@property
def is_on(self) -> bool:
"""Return True if the automation is enabled."""
return bool(self._automation.is_enabled)
return bool(self._automation.enabled)

View File

@@ -2,14 +2,10 @@
from __future__ import annotations
from asyncio import timeout
from datetime import timedelta
from dataclasses import dataclass
import logging
from typing import Any
from accuweather import AccuWeather, ApiError, InvalidApiKeyError, RequestsExceededError
from aiohttp import ClientSession
from aiohttp.client_exceptions import ClientConnectorError
from accuweather import AccuWeather
from homeassistant.components.sensor import DOMAIN as SENSOR_PLATFORM
from homeassistant.config_entries import ConfigEntry
@@ -17,43 +13,71 @@ from homeassistant.const import CONF_API_KEY, CONF_NAME, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import ATTR_FORECAST, CONF_FORECAST, DOMAIN, MANUFACTURER
from .const import DOMAIN, UPDATE_INTERVAL_DAILY_FORECAST, UPDATE_INTERVAL_OBSERVATION
from .coordinator import (
AccuWeatherDailyForecastDataUpdateCoordinator,
AccuWeatherObservationDataUpdateCoordinator,
)
_LOGGER = logging.getLogger(__name__)
PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
@dataclass
class AccuWeatherData:
"""Data for AccuWeather integration."""
coordinator_observation: AccuWeatherObservationDataUpdateCoordinator
coordinator_daily_forecast: AccuWeatherDailyForecastDataUpdateCoordinator
type AccuWeatherConfigEntry = ConfigEntry[AccuWeatherData]
async def async_setup_entry(hass: HomeAssistant, entry: AccuWeatherConfigEntry) -> bool:
"""Set up AccuWeather as config entry."""
api_key: str = entry.data[CONF_API_KEY]
name: str = entry.data[CONF_NAME]
assert entry.unique_id is not None
location_key = entry.unique_id
forecast: bool = entry.options.get(CONF_FORECAST, False)
_LOGGER.debug("Using location_key: %s, get forecast: %s", location_key, forecast)
location_key = entry.unique_id
_LOGGER.debug("Using location_key: %s", location_key)
websession = async_get_clientsession(hass)
accuweather = AccuWeather(api_key, websession, location_key=location_key)
coordinator = AccuWeatherDataUpdateCoordinator(
hass, websession, api_key, location_key, forecast, name
coordinator_observation = AccuWeatherObservationDataUpdateCoordinator(
hass,
accuweather,
name,
"observation",
UPDATE_INTERVAL_OBSERVATION,
)
await coordinator.async_config_entry_first_refresh()
entry.async_on_unload(entry.add_update_listener(update_listener))
coordinator_daily_forecast = AccuWeatherDailyForecastDataUpdateCoordinator(
hass,
accuweather,
name,
"daily forecast",
UPDATE_INTERVAL_DAILY_FORECAST,
)
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator
await coordinator_observation.async_config_entry_first_refresh()
await coordinator_daily_forecast.async_config_entry_first_refresh()
entry.runtime_data = AccuWeatherData(
coordinator_observation=coordinator_observation,
coordinator_daily_forecast=coordinator_daily_forecast,
)
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
# Remove ozone sensors from registry if they exist
ent_reg = er.async_get(hass)
for day in range(0, 5):
unique_id = f"{coordinator.location_key}-ozone-{day}"
for day in range(5):
unique_id = f"{location_key}-ozone-{day}"
if entity_id := ent_reg.async_get_entity_id(SENSOR_PLATFORM, DOMAIN, unique_id):
_LOGGER.debug("Removing ozone sensor entity %s", entity_id)
ent_reg.async_remove(entity_id)
@@ -61,78 +85,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(
hass: HomeAssistant, entry: AccuWeatherConfigEntry
) -> bool:
"""Unload a config entry."""
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if unload_ok:
hass.data[DOMAIN].pop(entry.entry_id)
return unload_ok
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:
"""Update listener."""
await hass.config_entries.async_reload(entry.entry_id)
class AccuWeatherDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]): # pylint: disable=hass-enforce-coordinator-module
"""Class to manage fetching AccuWeather data API."""
def __init__(
self,
hass: HomeAssistant,
session: ClientSession,
api_key: str,
location_key: str,
forecast: bool,
name: str,
) -> None:
"""Initialize."""
self.location_key = location_key
self.forecast = forecast
self.accuweather = AccuWeather(api_key, session, location_key=location_key)
self.device_info = DeviceInfo(
entry_type=DeviceEntryType.SERVICE,
identifiers={(DOMAIN, location_key)},
manufacturer=MANUFACTURER,
name=name,
# You don't need to provide specific details for the URL,
# so passing in _ characters is fine if the location key
# is correct
configuration_url=(
"http://accuweather.com/en/"
f"_/_/{location_key}/"
f"weather-forecast/{location_key}/"
),
)
# Enabling the forecast download increases the number of requests per data
# update, we use 40 minutes for current condition only and 80 minutes for
# current condition and forecast as update interval to not exceed allowed number
# of requests. We have 50 requests allowed per day, so we use 36 and leave 14 as
# a reserve for restarting HA.
update_interval = timedelta(minutes=40)
if self.forecast:
update_interval *= 2
_LOGGER.debug("Data will be update every %s", update_interval)
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)
async def _async_update_data(self) -> dict[str, Any]:
"""Update data via library."""
forecast: list[dict[str, Any]] = []
try:
async with timeout(10):
current = await self.accuweather.async_get_current_conditions()
if self.forecast:
forecast = await self.accuweather.async_get_daily_forecast()
except (
ApiError,
ClientConnectorError,
InvalidApiKeyError,
RequestsExceededError,
) as error:
raise UpdateFailed(error) from error
_LOGGER.debug("Requests remaining: %d", self.accuweather.requests_remaining)
return {**current, **{ATTR_FORECAST: forecast}}
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)

View File

@@ -10,26 +10,12 @@ from aiohttp import ClientError
from aiohttp.client_exceptions import ClientConnectorError
import voluptuous as vol
from homeassistant.config_entries import ConfigEntry, ConfigFlow, ConfigFlowResult
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CONF_NAME
from homeassistant.core import callback
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.schema_config_entry_flow import (
SchemaFlowFormStep,
SchemaOptionsFlowHandler,
)
from .const import CONF_FORECAST, DOMAIN
OPTIONS_SCHEMA = vol.Schema(
{
vol.Optional(CONF_FORECAST, default=False): bool,
}
)
OPTIONS_FLOW = {
"init": SchemaFlowFormStep(OPTIONS_SCHEMA),
}
from .const import DOMAIN
class AccuWeatherFlowHandler(ConfigFlow, domain=DOMAIN):
@@ -87,9 +73,3 @@ class AccuWeatherFlowHandler(ConfigFlow, domain=DOMAIN):
),
errors=errors,
)
@staticmethod
@callback
def async_get_options_flow(config_entry: ConfigEntry) -> SchemaOptionsFlowHandler:
"""Options callback for AccuWeather."""
return SchemaOptionsFlowHandler(config_entry, OPTIONS_FLOW)

View File

@@ -2,6 +2,7 @@
from __future__ import annotations
from datetime import timedelta
from typing import Final
from homeassistant.components.weather import (
@@ -27,10 +28,8 @@ ATTR_CATEGORY: Final = "Category"
ATTR_DIRECTION: Final = "Direction"
ATTR_ENGLISH: Final = "English"
ATTR_LEVEL: Final = "level"
ATTR_FORECAST: Final = "forecast"
ATTR_SPEED: Final = "Speed"
ATTR_VALUE: Final = "Value"
CONF_FORECAST: Final = "forecast"
DOMAIN: Final = "accuweather"
MANUFACTURER: Final = "AccuWeather, Inc."
MAX_FORECAST_DAYS: Final = 4
@@ -56,3 +55,5 @@ CONDITION_MAP = {
for cond_ha, cond_codes in CONDITION_CLASSES.items()
for cond_code in cond_codes
}
UPDATE_INTERVAL_OBSERVATION = timedelta(minutes=40)
UPDATE_INTERVAL_DAILY_FORECAST = timedelta(hours=6)

View File

@@ -0,0 +1,124 @@
"""The AccuWeather coordinator."""
from asyncio import timeout
from datetime import timedelta
import logging
from typing import TYPE_CHECKING, Any
from accuweather import AccuWeather, ApiError, InvalidApiKeyError, RequestsExceededError
from aiohttp.client_exceptions import ClientConnectorError
from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.update_coordinator import (
DataUpdateCoordinator,
TimestampDataUpdateCoordinator,
UpdateFailed,
)
from .const import DOMAIN, MANUFACTURER
EXCEPTIONS = (ApiError, ClientConnectorError, InvalidApiKeyError, RequestsExceededError)
_LOGGER = logging.getLogger(__name__)
class AccuWeatherObservationDataUpdateCoordinator(
DataUpdateCoordinator[dict[str, Any]]
):
"""Class to manage fetching AccuWeather data API."""
def __init__(
self,
hass: HomeAssistant,
accuweather: AccuWeather,
name: str,
coordinator_type: str,
update_interval: timedelta,
) -> None:
"""Initialize."""
self.accuweather = accuweather
self.location_key = accuweather.location_key
if TYPE_CHECKING:
assert self.location_key is not None
self.device_info = _get_device_info(self.location_key, name)
super().__init__(
hass,
_LOGGER,
name=f"{name} ({coordinator_type})",
update_interval=update_interval,
)
async def _async_update_data(self) -> dict[str, Any]:
"""Update data via library."""
try:
async with timeout(10):
result = await self.accuweather.async_get_current_conditions()
except EXCEPTIONS as error:
raise UpdateFailed(error) from error
_LOGGER.debug("Requests remaining: %d", self.accuweather.requests_remaining)
return result
class AccuWeatherDailyForecastDataUpdateCoordinator(
TimestampDataUpdateCoordinator[list[dict[str, Any]]]
):
"""Class to manage fetching AccuWeather data API."""
def __init__(
self,
hass: HomeAssistant,
accuweather: AccuWeather,
name: str,
coordinator_type: str,
update_interval: timedelta,
) -> None:
"""Initialize."""
self.accuweather = accuweather
self.location_key = accuweather.location_key
if TYPE_CHECKING:
assert self.location_key is not None
self.device_info = _get_device_info(self.location_key, name)
super().__init__(
hass,
_LOGGER,
name=f"{name} ({coordinator_type})",
update_interval=update_interval,
)
async def _async_update_data(self) -> list[dict[str, Any]]:
"""Update data via library."""
try:
async with timeout(10):
result = await self.accuweather.async_get_daily_forecast()
except EXCEPTIONS as error:
raise UpdateFailed(error) from error
_LOGGER.debug("Requests remaining: %d", self.accuweather.requests_remaining)
return result
def _get_device_info(location_key: str, name: str) -> DeviceInfo:
"""Get device info."""
return DeviceInfo(
entry_type=DeviceEntryType.SERVICE,
identifiers={(DOMAIN, location_key)},
manufacturer=MANUFACTURER,
name=name,
# You don't need to provide specific details for the URL,
# so passing in _ characters is fine if the location key
# is correct
configuration_url=(
"http://accuweather.com/en/"
f"_/_/{location_key}/weather-forecast/{location_key}/"
),
)

View File

@@ -5,27 +5,21 @@ from __future__ import annotations
from typing import Any
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE
from homeassistant.core import HomeAssistant
from . import AccuWeatherDataUpdateCoordinator
from .const import DOMAIN
from . import AccuWeatherConfigEntry, AccuWeatherData
TO_REDACT = {CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE}
async def async_get_config_entry_diagnostics(
hass: HomeAssistant, config_entry: ConfigEntry
hass: HomeAssistant, config_entry: AccuWeatherConfigEntry
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][
config_entry.entry_id
]
accuweather_data: AccuWeatherData = config_entry.runtime_data
diagnostics_data = {
return {
"config_entry_data": async_redact_data(dict(config_entry.data), TO_REDACT),
"coordinator_data": coordinator.data,
"observation_data": accuweather_data.coordinator_observation.data,
}
return diagnostics_data

View File

@@ -0,0 +1,51 @@
{
"entity": {
"sensor": {
"cloud_ceiling": {
"default": "mdi:weather-fog"
},
"cloud_cover": {
"default": "mdi:weather-cloudy"
},
"cloud_cover_day": {
"default": "mdi:weather-cloudy"
},
"cloud_cover_night": {
"default": "mdi:weather-cloudy"
},
"grass_pollen": {
"default": "mdi:grass"
},
"hours_of_sun": {
"default": "mdi:weather-partly-cloudy"
},
"mold_pollen": {
"default": "mdi:blur"
},
"pressure_tendency": {
"default": "mdi:gauge"
},
"ragweed_pollen": {
"default": "mdi:sprout"
},
"thunderstorm_probability_day": {
"default": "mdi:weather-lightning"
},
"thunderstorm_probability_night": {
"default": "mdi:weather-lightning"
},
"translation_key": {
"default": "mdi:air-filter"
},
"tree_pollen": {
"default": "mdi:tree-outline"
},
"uv_index": {
"default": "mdi:weather-sunny"
},
"uv_index_forecast": {
"default": "mdi:weather-sunny"
}
}
}
}

View File

@@ -8,6 +8,6 @@
"iot_class": "cloud_polling",
"loggers": ["accuweather"],
"quality_scale": "platinum",
"requirements": ["accuweather==2.1.1"],
"requirements": ["accuweather==3.0.0"],
"single_config_entry": true
}

View File

@@ -12,7 +12,6 @@ from homeassistant.components.sensor import (
SensorEntityDescription,
SensorStateClass,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
CONCENTRATION_PARTS_PER_CUBIC_METER,
PERCENTAGE,
@@ -28,20 +27,22 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import AccuWeatherDataUpdateCoordinator
from . import AccuWeatherConfigEntry
from .const import (
API_METRIC,
ATTR_CATEGORY,
ATTR_DIRECTION,
ATTR_ENGLISH,
ATTR_FORECAST,
ATTR_LEVEL,
ATTR_SPEED,
ATTR_VALUE,
ATTRIBUTION,
DOMAIN,
MAX_FORECAST_DAYS,
)
from .coordinator import (
AccuWeatherDailyForecastDataUpdateCoordinator,
AccuWeatherObservationDataUpdateCoordinator,
)
PARALLEL_UPDATES = 1
@@ -52,280 +53,176 @@ class AccuWeatherSensorDescription(SensorEntityDescription):
value_fn: Callable[[dict[str, Any]], str | int | float | None]
attr_fn: Callable[[dict[str, Any]], dict[str, Any]] = lambda _: {}
day: int | None = None
FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
*(
AccuWeatherSensorDescription(
key="AirQuality",
icon="mdi:air-filter",
value_fn=lambda data: cast(str, data[ATTR_CATEGORY]),
device_class=SensorDeviceClass.ENUM,
options=["good", "hazardous", "high", "low", "moderate", "unhealthy"],
translation_key=f"air_quality_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="AirQuality",
value_fn=lambda data: cast(str, data[ATTR_CATEGORY]),
device_class=SensorDeviceClass.ENUM,
options=["good", "hazardous", "high", "low", "moderate", "unhealthy"],
translation_key="air_quality",
),
*(
AccuWeatherSensorDescription(
key="CloudCoverDay",
icon="mdi:weather-cloudy",
entity_registry_enabled_default=False,
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(int, data),
translation_key=f"cloud_cover_day_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="CloudCoverDay",
entity_registry_enabled_default=False,
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(int, data),
translation_key="cloud_cover_day",
),
*(
AccuWeatherSensorDescription(
key="CloudCoverNight",
icon="mdi:weather-cloudy",
entity_registry_enabled_default=False,
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(int, data),
translation_key=f"cloud_cover_night_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="CloudCoverNight",
entity_registry_enabled_default=False,
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(int, data),
translation_key="cloud_cover_night",
),
*(
AccuWeatherSensorDescription(
key="Grass",
icon="mdi:grass",
entity_registry_enabled_default=False,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key=f"grass_pollen_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="Grass",
entity_registry_enabled_default=False,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key="grass_pollen",
),
*(
AccuWeatherSensorDescription(
key="HoursOfSun",
icon="mdi:weather-partly-cloudy",
native_unit_of_measurement=UnitOfTime.HOURS,
value_fn=lambda data: cast(float, data),
translation_key=f"hours_of_sun_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="HoursOfSun",
native_unit_of_measurement=UnitOfTime.HOURS,
value_fn=lambda data: cast(float, data),
translation_key="hours_of_sun",
),
*(
AccuWeatherSensorDescription(
key="LongPhraseDay",
value_fn=lambda data: cast(str, data),
translation_key=f"condition_day_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="LongPhraseDay",
value_fn=lambda data: cast(str, data),
translation_key="condition_day",
),
*(
AccuWeatherSensorDescription(
key="LongPhraseNight",
value_fn=lambda data: cast(str, data),
translation_key=f"condition_night_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="LongPhraseNight",
value_fn=lambda data: cast(str, data),
translation_key="condition_night",
),
*(
AccuWeatherSensorDescription(
key="Mold",
icon="mdi:blur",
entity_registry_enabled_default=False,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key=f"mold_pollen_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="Mold",
entity_registry_enabled_default=False,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key="mold_pollen",
),
*(
AccuWeatherSensorDescription(
key="Ragweed",
icon="mdi:sprout",
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
entity_registry_enabled_default=False,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key=f"ragweed_pollen_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="Ragweed",
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
entity_registry_enabled_default=False,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key="ragweed_pollen",
),
*(
AccuWeatherSensorDescription(
key="RealFeelTemperatureMax",
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key=f"realfeel_temperature_max_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="RealFeelTemperatureMax",
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key="realfeel_temperature_max",
),
*(
AccuWeatherSensorDescription(
key="RealFeelTemperatureMin",
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key=f"realfeel_temperature_min_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="RealFeelTemperatureMin",
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key="realfeel_temperature_min",
),
*(
AccuWeatherSensorDescription(
key="RealFeelTemperatureShadeMax",
device_class=SensorDeviceClass.TEMPERATURE,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key=f"realfeel_temperature_shade_max_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="RealFeelTemperatureShadeMax",
device_class=SensorDeviceClass.TEMPERATURE,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key="realfeel_temperature_shade_max",
),
*(
AccuWeatherSensorDescription(
key="RealFeelTemperatureShadeMin",
device_class=SensorDeviceClass.TEMPERATURE,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key=f"realfeel_temperature_shade_min_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="RealFeelTemperatureShadeMin",
device_class=SensorDeviceClass.TEMPERATURE,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key="realfeel_temperature_shade_min",
),
*(
AccuWeatherSensorDescription(
key="SolarIrradianceDay",
icon="mdi:weather-sunny",
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfIrradiance.WATTS_PER_SQUARE_METER,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key=f"solar_irradiance_day_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="SolarIrradianceDay",
device_class=SensorDeviceClass.IRRADIANCE,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfIrradiance.WATTS_PER_SQUARE_METER,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key="solar_irradiance_day",
),
*(
AccuWeatherSensorDescription(
key="SolarIrradianceNight",
icon="mdi:weather-sunny",
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfIrradiance.WATTS_PER_SQUARE_METER,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key=f"solar_irradiance_night_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="SolarIrradianceNight",
device_class=SensorDeviceClass.IRRADIANCE,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfIrradiance.WATTS_PER_SQUARE_METER,
value_fn=lambda data: cast(float, data[ATTR_VALUE]),
translation_key="solar_irradiance_night",
),
*(
AccuWeatherSensorDescription(
key="ThunderstormProbabilityDay",
icon="mdi:weather-lightning",
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(int, data),
translation_key=f"thunderstorm_probability_day_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="ThunderstormProbabilityDay",
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(int, data),
translation_key="thunderstorm_probability_day",
),
*(
AccuWeatherSensorDescription(
key="ThunderstormProbabilityNight",
icon="mdi:weather-lightning",
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(int, data),
translation_key=f"thunderstorm_probability_night_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="ThunderstormProbabilityNight",
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(int, data),
translation_key="thunderstorm_probability_night",
),
*(
AccuWeatherSensorDescription(
key="Tree",
icon="mdi:tree-outline",
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
entity_registry_enabled_default=False,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key=f"tree_pollen_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="Tree",
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
entity_registry_enabled_default=False,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key="tree_pollen",
),
*(
AccuWeatherSensorDescription(
key="UVIndex",
icon="mdi:weather-sunny",
native_unit_of_measurement=UV_INDEX,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key=f"uv_index_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="UVIndex",
native_unit_of_measurement=UV_INDEX,
value_fn=lambda data: cast(int, data[ATTR_VALUE]),
attr_fn=lambda data: {ATTR_LEVEL: data[ATTR_CATEGORY]},
translation_key="uv_index_forecast",
),
*(
AccuWeatherSensorDescription(
key="WindGustDay",
device_class=SensorDeviceClass.WIND_SPEED,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
value_fn=lambda data: cast(float, data[ATTR_SPEED][ATTR_VALUE]),
attr_fn=lambda data: {"direction": data[ATTR_DIRECTION][ATTR_ENGLISH]},
translation_key=f"wind_gust_speed_day_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="WindGustDay",
device_class=SensorDeviceClass.WIND_SPEED,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
value_fn=lambda data: cast(float, data[ATTR_SPEED][ATTR_VALUE]),
attr_fn=lambda data: {"direction": data[ATTR_DIRECTION][ATTR_ENGLISH]},
translation_key="wind_gust_speed_day",
),
*(
AccuWeatherSensorDescription(
key="WindGustNight",
device_class=SensorDeviceClass.WIND_SPEED,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
value_fn=lambda data: cast(float, data[ATTR_SPEED][ATTR_VALUE]),
attr_fn=lambda data: {"direction": data[ATTR_DIRECTION][ATTR_ENGLISH]},
translation_key=f"wind_gust_speed_night_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="WindGustNight",
device_class=SensorDeviceClass.WIND_SPEED,
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
value_fn=lambda data: cast(float, data[ATTR_SPEED][ATTR_VALUE]),
attr_fn=lambda data: {"direction": data[ATTR_DIRECTION][ATTR_ENGLISH]},
translation_key="wind_gust_speed_night",
),
*(
AccuWeatherSensorDescription(
key="WindDay",
device_class=SensorDeviceClass.WIND_SPEED,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
value_fn=lambda data: cast(float, data[ATTR_SPEED][ATTR_VALUE]),
attr_fn=lambda data: {"direction": data[ATTR_DIRECTION][ATTR_ENGLISH]},
translation_key=f"wind_speed_day_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="WindDay",
device_class=SensorDeviceClass.WIND_SPEED,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
value_fn=lambda data: cast(float, data[ATTR_SPEED][ATTR_VALUE]),
attr_fn=lambda data: {"direction": data[ATTR_DIRECTION][ATTR_ENGLISH]},
translation_key="wind_speed_day",
),
*(
AccuWeatherSensorDescription(
key="WindNight",
device_class=SensorDeviceClass.WIND_SPEED,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
value_fn=lambda data: cast(float, data[ATTR_SPEED][ATTR_VALUE]),
attr_fn=lambda data: {"direction": data[ATTR_DIRECTION][ATTR_ENGLISH]},
translation_key=f"wind_speed_night_{day}d",
day=day,
)
for day in range(MAX_FORECAST_DAYS + 1)
AccuWeatherSensorDescription(
key="WindNight",
device_class=SensorDeviceClass.WIND_SPEED,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
value_fn=lambda data: cast(float, data[ATTR_SPEED][ATTR_VALUE]),
attr_fn=lambda data: {"direction": data[ATTR_DIRECTION][ATTR_ENGLISH]},
translation_key="wind_speed_night",
),
)
@@ -342,7 +239,6 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
AccuWeatherSensorDescription(
key="Ceiling",
device_class=SensorDeviceClass.DISTANCE,
icon="mdi:weather-fog",
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfLength.METERS,
value_fn=lambda data: cast(float, data[API_METRIC][ATTR_VALUE]),
@@ -351,7 +247,6 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
),
AccuWeatherSensorDescription(
key="CloudCover",
icon="mdi:weather-cloudy",
entity_registry_enabled_default=False,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=PERCENTAGE,
@@ -396,14 +291,12 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
AccuWeatherSensorDescription(
key="PressureTendency",
device_class=SensorDeviceClass.ENUM,
icon="mdi:gauge",
options=["falling", "rising", "steady"],
value_fn=lambda data: cast(str, data["LocalizedText"]).lower(),
translation_key="pressure_tendency",
),
AccuWeatherSensorDescription(
key="UVIndex",
icon="mdi:weather-sunny",
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UV_INDEX,
value_fn=lambda data: cast(int, data),
@@ -449,29 +342,37 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
hass: HomeAssistant,
entry: AccuWeatherConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Add AccuWeather entities from a config_entry."""
observation_coordinator: AccuWeatherObservationDataUpdateCoordinator = (
entry.runtime_data.coordinator_observation
)
forecast_daily_coordinator: AccuWeatherDailyForecastDataUpdateCoordinator = (
entry.runtime_data.coordinator_daily_forecast
)
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
sensors = [
AccuWeatherSensor(coordinator, description) for description in SENSOR_TYPES
sensors: list[AccuWeatherSensor | AccuWeatherForecastSensor] = [
AccuWeatherSensor(observation_coordinator, description)
for description in SENSOR_TYPES
]
if coordinator.forecast:
for description in FORECAST_SENSOR_TYPES:
# Some air quality/allergy sensors are only available for certain
# locations.
if description.key not in coordinator.data[ATTR_FORECAST][description.day]:
continue
sensors.append(AccuWeatherSensor(coordinator, description))
sensors.extend(
[
AccuWeatherForecastSensor(forecast_daily_coordinator, description, day)
for day in range(MAX_FORECAST_DAYS + 1)
for description in FORECAST_SENSOR_TYPES
if description.key in forecast_daily_coordinator.data[day]
]
)
async_add_entities(sensors)
class AccuWeatherSensor(
CoordinatorEntity[AccuWeatherDataUpdateCoordinator], SensorEntity
CoordinatorEntity[AccuWeatherObservationDataUpdateCoordinator], SensorEntity
):
"""Define an AccuWeather entity."""
@@ -481,22 +382,15 @@ class AccuWeatherSensor(
def __init__(
self,
coordinator: AccuWeatherDataUpdateCoordinator,
coordinator: AccuWeatherObservationDataUpdateCoordinator,
description: AccuWeatherSensorDescription,
) -> None:
"""Initialize."""
super().__init__(coordinator)
self.forecast_day = description.day
self.entity_description = description
self._sensor_data = _get_sensor_data(
coordinator.data, description.key, self.forecast_day
)
if self.forecast_day is not None:
self._attr_unique_id = f"{coordinator.location_key}-{description.key}-{self.forecast_day}".lower()
else:
self._attr_unique_id = (
f"{coordinator.location_key}-{description.key}".lower()
)
self._sensor_data = self._get_sensor_data(coordinator.data, description.key)
self._attr_unique_id = f"{coordinator.location_key}-{description.key}".lower()
self._attr_device_info = coordinator.device_info
@property
@@ -507,30 +401,80 @@ class AccuWeatherSensor(
@property
def extra_state_attributes(self) -> dict[str, Any]:
"""Return the state attributes."""
if self.forecast_day is not None:
return self.entity_description.attr_fn(self._sensor_data)
return self.entity_description.attr_fn(self.coordinator.data)
@callback
def _handle_coordinator_update(self) -> None:
"""Handle data update."""
self._sensor_data = _get_sensor_data(
self._sensor_data = self._get_sensor_data(
self.coordinator.data, self.entity_description.key
)
self.async_write_ha_state()
@staticmethod
def _get_sensor_data(
sensors: dict[str, Any],
kind: str,
) -> Any:
"""Get sensor data."""
if kind == "Precipitation":
return sensors["PrecipitationSummary"]["PastHour"]
return sensors[kind]
class AccuWeatherForecastSensor(
CoordinatorEntity[AccuWeatherDailyForecastDataUpdateCoordinator], SensorEntity
):
"""Define an AccuWeather entity."""
_attr_attribution = ATTRIBUTION
_attr_has_entity_name = True
entity_description: AccuWeatherSensorDescription
def __init__(
self,
coordinator: AccuWeatherDailyForecastDataUpdateCoordinator,
description: AccuWeatherSensorDescription,
forecast_day: int,
) -> None:
"""Initialize."""
super().__init__(coordinator)
self.entity_description = description
self._sensor_data = self._get_sensor_data(
coordinator.data, description.key, forecast_day
)
self._attr_unique_id = (
f"{coordinator.location_key}-{description.key}-{forecast_day}".lower()
)
self._attr_device_info = coordinator.device_info
self._attr_translation_placeholders = {"forecast_day": str(forecast_day)}
self.forecast_day = forecast_day
@property
def native_value(self) -> str | int | float | None:
"""Return the state."""
return self.entity_description.value_fn(self._sensor_data)
@property
def extra_state_attributes(self) -> dict[str, Any]:
"""Return the state attributes."""
return self.entity_description.attr_fn(self._sensor_data)
@callback
def _handle_coordinator_update(self) -> None:
"""Handle data update."""
self._sensor_data = self._get_sensor_data(
self.coordinator.data, self.entity_description.key, self.forecast_day
)
self.async_write_ha_state()
def _get_sensor_data(
sensors: dict[str, Any],
kind: str,
forecast_day: int | None = None,
) -> Any:
"""Get sensor data."""
if forecast_day is not None:
return sensors[ATTR_FORECAST][forecast_day][kind]
if kind == "Precipitation":
return sensors["PrecipitationSummary"]["PastHour"]
return sensors[kind]
@staticmethod
def _get_sensor_data(
sensors: list[dict[str, Any]],
kind: str,
forecast_day: int,
) -> Any:
"""Get sensor data."""
return sensors[forecast_day][kind]

View File

@@ -11,7 +11,7 @@
}
},
"create_entry": {
"default": "Some sensors are not enabled by default. You can enable them in the entity registry after the integration configuration.\nWeather forecast is not enabled by default. You can enable it in the integration options."
"default": "Some sensors are not enabled by default. You can enable them in the entity registry after the integration configuration."
},
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
@@ -21,8 +21,8 @@
},
"entity": {
"sensor": {
"air_quality_0d": {
"name": "Air quality today",
"air_quality": {
"name": "Air quality day {forecast_day}",
"state": {
"good": "Good",
"hazardous": "Hazardous",
@@ -32,50 +32,6 @@
"unhealthy": "Unhealthy"
}
},
"air_quality_1d": {
"name": "Air quality day 1",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
},
"air_quality_2d": {
"name": "Air quality day 2",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
},
"air_quality_3d": {
"name": "Air quality day 3",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
},
"air_quality_4d": {
"name": "Air quality day 4",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
},
"apparent_temperature": {
"name": "Apparent temperature"
},
@@ -85,240 +41,52 @@
"cloud_cover": {
"name": "Cloud cover"
},
"cloud_cover_day_0d": {
"name": "Cloud cover today"
"cloud_cover_day": {
"name": "Cloud cover day {forecast_day}"
},
"cloud_cover_day_1d": {
"name": "Cloud cover day 1"
"cloud_cover_night": {
"name": "Cloud cover night {forecast_day}"
},
"cloud_cover_day_2d": {
"name": "Cloud cover day 2"
"condition_day": {
"name": "Condition day {forecast_day}"
},
"cloud_cover_day_3d": {
"name": "Cloud cover day 3"
},
"cloud_cover_day_4d": {
"name": "Cloud cover day 4"
},
"cloud_cover_night_0d": {
"name": "Cloud cover tonight"
},
"cloud_cover_night_1d": {
"name": "Cloud cover night 1"
},
"cloud_cover_night_2d": {
"name": "Cloud cover night 2"
},
"cloud_cover_night_3d": {
"name": "Cloud cover night 3"
},
"cloud_cover_night_4d": {
"name": "Cloud cover night 4"
},
"condition_day_0d": {
"name": "Condition today"
},
"condition_day_1d": {
"name": "Condition day 1"
},
"condition_day_2d": {
"name": "Condition day 2"
},
"condition_day_3d": {
"name": "Condition day 3"
},
"condition_day_4d": {
"name": "Condition day 4"
},
"condition_night_0d": {
"name": "Condition tonight"
},
"condition_night_1d": {
"name": "Condition night 1"
},
"condition_night_2d": {
"name": "Condition night 2"
},
"condition_night_3d": {
"name": "Condition night 3"
},
"condition_night_4d": {
"name": "Condition night 4"
"condition_night": {
"name": "Condition night {forecast_day}"
},
"dew_point": {
"name": "Dew point"
},
"grass_pollen_0d": {
"name": "Grass pollen today",
"grass_pollen": {
"name": "Grass pollen day {forecast_day}",
"state_attributes": {
"level": {
"name": "Level",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
"good": "[%key:component::accuweather::entity::sensor::air_quality::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality::state::unhealthy%]"
}
}
}
},
"grass_pollen_1d": {
"name": "Grass pollen day 1",
"hours_of_sun": {
"name": "Hours of sun day {forecast_day}"
},
"mold_pollen": {
"name": "Mold pollen day {forecast_day}",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"grass_pollen_2d": {
"name": "Grass pollen day 2",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"grass_pollen_3d": {
"name": "Grass pollen day 3",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"grass_pollen_4d": {
"name": "Grass pollen day 4",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"hours_of_sun_0d": {
"name": "Hours of sun today"
},
"hours_of_sun_1d": {
"name": "Hours of sun day 1"
},
"hours_of_sun_2d": {
"name": "Hours of sun day 2"
},
"hours_of_sun_3d": {
"name": "Hours of sun day 3"
},
"hours_of_sun_4d": {
"name": "Hours of sun day 4"
},
"mold_pollen_0d": {
"name": "Mold pollen today",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"mold_pollen_1d": {
"name": "Mold pollen day 1",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"mold_pollen_2d": {
"name": "Mold pollen day 2",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"mold_pollen_3d": {
"name": "Mold pollen day 3",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"mold_pollen_4d": {
"name": "Mold pollen day 4",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
"good": "[%key:component::accuweather::entity::sensor::air_quality::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality::state::unhealthy%]"
}
}
}
@@ -334,82 +102,18 @@
"falling": "Falling"
}
},
"ragweed_pollen_0d": {
"name": "Ragweed pollen today",
"ragweed_pollen": {
"name": "Ragweed pollen day {forecast_day}",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"ragweed_pollen_1d": {
"name": "Ragweed pollen day 1",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"ragweed_pollen_2d": {
"name": "Ragweed pollen day 2",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"ragweed_pollen_3d": {
"name": "Ragweed pollen day 3",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"ragweed_pollen_4d": {
"name": "Ragweed pollen day 4",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
"good": "[%key:component::accuweather::entity::sensor::air_quality::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality::state::unhealthy%]"
}
}
}
@@ -417,205 +121,45 @@
"realfeel_temperature": {
"name": "RealFeel temperature"
},
"realfeel_temperature_max_0d": {
"name": "RealFeel temperature max today"
"realfeel_temperature_max": {
"name": "RealFeel temperature max day {forecast_day}"
},
"realfeel_temperature_max_1d": {
"name": "RealFeel temperature max day 1"
},
"realfeel_temperature_max_2d": {
"name": "RealFeel temperature max day 2"
},
"realfeel_temperature_max_3d": {
"name": "RealFeel temperature max day 3"
},
"realfeel_temperature_max_4d": {
"name": "RealFeel temperature max day 4"
},
"realfeel_temperature_min_0d": {
"name": "RealFeel temperature min today"
},
"realfeel_temperature_min_1d": {
"name": "RealFeel temperature min day 1"
},
"realfeel_temperature_min_2d": {
"name": "RealFeel temperature min day 2"
},
"realfeel_temperature_min_3d": {
"name": "RealFeel temperature min day 3"
},
"realfeel_temperature_min_4d": {
"name": "RealFeel temperature min day 4"
"realfeel_temperature_min": {
"name": "RealFeel temperature min day {forecast_day}"
},
"realfeel_temperature_shade": {
"name": "RealFeel temperature shade"
},
"realfeel_temperature_shade_max_0d": {
"name": "RealFeel temperature shade max today"
"realfeel_temperature_shade_max": {
"name": "RealFeel temperature shade max day {forecast_day}"
},
"realfeel_temperature_shade_max_1d": {
"name": "RealFeel temperature shade max day 1"
"realfeel_temperature_shade_min": {
"name": "RealFeel temperature shade min day {forecast_day}"
},
"realfeel_temperature_shade_max_2d": {
"name": "RealFeel temperature shade max day 2"
"solar_irradiance_day": {
"name": "Solar irradiance day {forecast_day}"
},
"realfeel_temperature_shade_max_3d": {
"name": "RealFeel temperature shade max day 3"
"solar_irradiance_night": {
"name": "Solar irradiance night {forecast_day}"
},
"realfeel_temperature_shade_max_4d": {
"name": "RealFeel temperature shade max day 4"
"thunderstorm_probability_day": {
"name": "Thunderstorm probability day {forecast_day}"
},
"realfeel_temperature_shade_min_0d": {
"name": "RealFeel temperature shade min today"
"thunderstorm_probability_night": {
"name": "Thunderstorm probability night {forecast_day}"
},
"realfeel_temperature_shade_min_1d": {
"name": "RealFeel temperature shade min day 1"
},
"realfeel_temperature_shade_min_2d": {
"name": "RealFeel temperature shade min day 2"
},
"realfeel_temperature_shade_min_3d": {
"name": "RealFeel temperature shade min day 3"
},
"realfeel_temperature_shade_min_4d": {
"name": "RealFeel temperature shade min day 4"
},
"solar_irradiance_day_0d": {
"name": "Solar irradiance today"
},
"solar_irradiance_day_1d": {
"name": "Solar irradiance day 1"
},
"solar_irradiance_day_2d": {
"name": "Solar irradiance day 2"
},
"solar_irradiance_day_3d": {
"name": "Solar irradiance day 3"
},
"solar_irradiance_day_4d": {
"name": "Solar irradiance day 4"
},
"solar_irradiance_night_0d": {
"name": "Solar irradiance tonight"
},
"solar_irradiance_night_1d": {
"name": "Solar irradiance night 1"
},
"solar_irradiance_night_2d": {
"name": "Solar irradiance night 2"
},
"solar_irradiance_night_3d": {
"name": "Solar irradiance night 3"
},
"solar_irradiance_night_4d": {
"name": "Solar irradiance night 4"
},
"thunderstorm_probability_day_0d": {
"name": "Thunderstorm probability today"
},
"thunderstorm_probability_day_1d": {
"name": "Thunderstorm probability day 1"
},
"thunderstorm_probability_day_2d": {
"name": "Thunderstorm probability day 2"
},
"thunderstorm_probability_day_3d": {
"name": "Thunderstorm probability day 3"
},
"thunderstorm_probability_day_4d": {
"name": "Thunderstorm probability day 4"
},
"thunderstorm_probability_night_0d": {
"name": "Thunderstorm probability tonight"
},
"thunderstorm_probability_night_1d": {
"name": "Thunderstorm probability night 1"
},
"thunderstorm_probability_night_2d": {
"name": "Thunderstorm probability night 2"
},
"thunderstorm_probability_night_3d": {
"name": "Thunderstorm probability night 3"
},
"thunderstorm_probability_night_4d": {
"name": "Thunderstorm probability night 4"
},
"tree_pollen_0d": {
"name": "Tree pollen today",
"tree_pollen": {
"name": "Tree pollen day {forecast_day}",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"tree_pollen_1d": {
"name": "Tree pollen day 1",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"tree_pollen_2d": {
"name": "Tree pollen day 2",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"tree_pollen_3d": {
"name": "Tree pollen day 3",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"tree_pollen_4d": {
"name": "Tree pollen day 4",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
"good": "[%key:component::accuweather::entity::sensor::air_quality::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality::state::unhealthy%]"
}
}
}
@@ -624,94 +168,30 @@
"name": "UV index",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
"good": "[%key:component::accuweather::entity::sensor::air_quality::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality::state::unhealthy%]"
}
}
}
},
"uv_index_0d": {
"name": "UV index today",
"uv_index_forecast": {
"name": "UV index day {forecast_day}",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"uv_index_1d": {
"name": "UV index day 1",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"uv_index_2d": {
"name": "UV index day 2",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"uv_index_3d": {
"name": "UV index day 3",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
}
}
}
},
"uv_index_4d": {
"name": "UV index day 4",
"state_attributes": {
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen_0d::state_attributes::level::name%]",
"state": {
"good": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality_0d::state::unhealthy%]"
"good": "[%key:component::accuweather::entity::sensor::air_quality::state::good%]",
"hazardous": "[%key:component::accuweather::entity::sensor::air_quality::state::hazardous%]",
"high": "[%key:component::accuweather::entity::sensor::air_quality::state::high%]",
"low": "[%key:component::accuweather::entity::sensor::air_quality::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::air_quality::state::moderate%]",
"unhealthy": "[%key:component::accuweather::entity::sensor::air_quality::state::unhealthy%]"
}
}
}
@@ -728,75 +208,17 @@
"wind_gust_speed": {
"name": "[%key:component::weather::entity_component::_::state_attributes::wind_gust_speed::name%]"
},
"wind_gust_speed_day_0d": {
"name": "Wind gust speed today"
"wind_gust_speed_day": {
"name": "Wind gust speed day {forecast_day}"
},
"wind_gust_speed_day_1d": {
"name": "Wind gust speed day 1"
"wind_gust_speed_night": {
"name": "Wind gust speed night {forecast_day}"
},
"wind_gust_speed_day_2d": {
"name": "Wind gust speed day 2"
"wind_speed_day": {
"name": "Wind speed day {forecast_day}"
},
"wind_gust_speed_day_3d": {
"name": "Wind gust speed day 3"
},
"wind_gust_speed_day_4d": {
"name": "Wind gust speed day 4"
},
"wind_gust_speed_night_0d": {
"name": "Wind gust speed tonight"
},
"wind_gust_speed_night_1d": {
"name": "Wind gust speed night 1"
},
"wind_gust_speed_night_2d": {
"name": "Wind gust speed night 2"
},
"wind_gust_speed_night_3d": {
"name": "Wind gust speed night 3"
},
"wind_gust_speed_night_4d": {
"name": "Wind gust speed night 4"
},
"wind_speed_day_0d": {
"name": "Wind speed today"
},
"wind_speed_day_1d": {
"name": "Wind speed day 1"
},
"wind_speed_day_2d": {
"name": "Wind speed day 2"
},
"wind_speed_day_3d": {
"name": "Wind speed day 3"
},
"wind_speed_day_4d": {
"name": "Wind speed day 4"
},
"wind_speed_night_0d": {
"name": "Wind speed tonight"
},
"wind_speed_night_1d": {
"name": "Wind speed night 1"
},
"wind_speed_night_2d": {
"name": "Wind speed night 2"
},
"wind_speed_night_3d": {
"name": "Wind speed night 3"
},
"wind_speed_night_4d": {
"name": "Wind speed night 4"
}
}
},
"options": {
"step": {
"init": {
"description": "Due to the limitations of the free version of the AccuWeather API key, when you enable weather forecast, data updates will be performed every 80 minutes instead of every 40 minutes.",
"data": {
"forecast": "Weather forecast"
}
"wind_speed_night": {
"name": "Wind speed night {forecast_day}"
}
}
},

View File

@@ -9,6 +9,7 @@ from accuweather.const import ENDPOINT
from homeassistant.components import system_health
from homeassistant.core import HomeAssistant, callback
from . import AccuWeatherConfigEntry
from .const import DOMAIN
@@ -22,9 +23,11 @@ def async_register(
async def system_health_info(hass: HomeAssistant) -> dict[str, Any]:
"""Get info for the info page."""
remaining_requests = list(hass.data[DOMAIN].values())[
0
].accuweather.requests_remaining
config_entry: AccuWeatherConfigEntry = hass.config_entries.async_entries(DOMAIN)[0]
remaining_requests = (
config_entry.runtime_data.coordinator_observation.accuweather.requests_remaining
)
return {
"can_reach_server": system_health.async_check_can_reach_url(hass, ENDPOINT),

View File

@@ -7,6 +7,7 @@ from typing import cast
from homeassistant.components.weather import (
ATTR_FORECAST_CLOUD_COVERAGE,
ATTR_FORECAST_CONDITION,
ATTR_FORECAST_HUMIDITY,
ATTR_FORECAST_NATIVE_APPARENT_TEMP,
ATTR_FORECAST_NATIVE_PRECIPITATION,
ATTR_FORECAST_NATIVE_TEMP,
@@ -17,11 +18,10 @@ from homeassistant.components.weather import (
ATTR_FORECAST_TIME,
ATTR_FORECAST_UV_INDEX,
ATTR_FORECAST_WIND_BEARING,
CoordinatorWeatherEntity,
Forecast,
SingleCoordinatorWeatherEntity,
WeatherEntityFeature,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
UnitOfLength,
UnitOfPrecipitationDepth,
@@ -33,129 +33,158 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util.dt import utc_from_timestamp
from . import AccuWeatherDataUpdateCoordinator
from . import AccuWeatherConfigEntry, AccuWeatherData
from .const import (
API_METRIC,
ATTR_DIRECTION,
ATTR_FORECAST,
ATTR_SPEED,
ATTR_VALUE,
ATTRIBUTION,
CONDITION_MAP,
DOMAIN,
)
from .coordinator import (
AccuWeatherDailyForecastDataUpdateCoordinator,
AccuWeatherObservationDataUpdateCoordinator,
)
PARALLEL_UPDATES = 1
async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
hass: HomeAssistant,
entry: AccuWeatherConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Add a AccuWeather weather entity from a config_entry."""
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
async_add_entities([AccuWeatherEntity(coordinator)])
async_add_entities([AccuWeatherEntity(entry.runtime_data)])
class AccuWeatherEntity(
SingleCoordinatorWeatherEntity[AccuWeatherDataUpdateCoordinator]
CoordinatorWeatherEntity[
AccuWeatherObservationDataUpdateCoordinator,
AccuWeatherDailyForecastDataUpdateCoordinator,
]
):
"""Define an AccuWeather entity."""
_attr_has_entity_name = True
_attr_name = None
def __init__(self, coordinator: AccuWeatherDataUpdateCoordinator) -> None:
def __init__(self, accuweather_data: AccuWeatherData) -> None:
"""Initialize."""
super().__init__(coordinator)
super().__init__(
observation_coordinator=accuweather_data.coordinator_observation,
daily_coordinator=accuweather_data.coordinator_daily_forecast,
)
self._attr_native_precipitation_unit = UnitOfPrecipitationDepth.MILLIMETERS
self._attr_native_pressure_unit = UnitOfPressure.HPA
self._attr_native_temperature_unit = UnitOfTemperature.CELSIUS
self._attr_native_visibility_unit = UnitOfLength.KILOMETERS
self._attr_native_wind_speed_unit = UnitOfSpeed.KILOMETERS_PER_HOUR
self._attr_unique_id = coordinator.location_key
self._attr_unique_id = accuweather_data.coordinator_observation.location_key
self._attr_attribution = ATTRIBUTION
self._attr_device_info = coordinator.device_info
if self.coordinator.forecast:
self._attr_supported_features = WeatherEntityFeature.FORECAST_DAILY
self._attr_device_info = accuweather_data.coordinator_observation.device_info
self._attr_supported_features = WeatherEntityFeature.FORECAST_DAILY
self.observation_coordinator = accuweather_data.coordinator_observation
self.daily_coordinator = accuweather_data.coordinator_daily_forecast
@property
def condition(self) -> str | None:
"""Return the current condition."""
return CONDITION_MAP.get(self.coordinator.data["WeatherIcon"])
return CONDITION_MAP.get(self.observation_coordinator.data["WeatherIcon"])
@property
def cloud_coverage(self) -> float:
"""Return the Cloud coverage in %."""
return cast(float, self.coordinator.data["CloudCover"])
return cast(float, self.observation_coordinator.data["CloudCover"])
@property
def native_apparent_temperature(self) -> float:
"""Return the apparent temperature."""
return cast(
float, self.coordinator.data["ApparentTemperature"][API_METRIC][ATTR_VALUE]
float,
self.observation_coordinator.data["ApparentTemperature"][API_METRIC][
ATTR_VALUE
],
)
@property
def native_temperature(self) -> float:
"""Return the temperature."""
return cast(float, self.coordinator.data["Temperature"][API_METRIC][ATTR_VALUE])
return cast(
float,
self.observation_coordinator.data["Temperature"][API_METRIC][ATTR_VALUE],
)
@property
def native_pressure(self) -> float:
"""Return the pressure."""
return cast(float, self.coordinator.data["Pressure"][API_METRIC][ATTR_VALUE])
return cast(
float, self.observation_coordinator.data["Pressure"][API_METRIC][ATTR_VALUE]
)
@property
def native_dew_point(self) -> float:
"""Return the dew point."""
return cast(float, self.coordinator.data["DewPoint"][API_METRIC][ATTR_VALUE])
return cast(
float, self.observation_coordinator.data["DewPoint"][API_METRIC][ATTR_VALUE]
)
@property
def humidity(self) -> int:
"""Return the humidity."""
return cast(int, self.coordinator.data["RelativeHumidity"])
return cast(int, self.observation_coordinator.data["RelativeHumidity"])
@property
def native_wind_gust_speed(self) -> float:
"""Return the wind gust speed."""
return cast(
float, self.coordinator.data["WindGust"][ATTR_SPEED][API_METRIC][ATTR_VALUE]
float,
self.observation_coordinator.data["WindGust"][ATTR_SPEED][API_METRIC][
ATTR_VALUE
],
)
@property
def native_wind_speed(self) -> float:
"""Return the wind speed."""
return cast(
float, self.coordinator.data["Wind"][ATTR_SPEED][API_METRIC][ATTR_VALUE]
float,
self.observation_coordinator.data["Wind"][ATTR_SPEED][API_METRIC][
ATTR_VALUE
],
)
@property
def wind_bearing(self) -> int:
"""Return the wind bearing."""
return cast(int, self.coordinator.data["Wind"][ATTR_DIRECTION]["Degrees"])
return cast(
int, self.observation_coordinator.data["Wind"][ATTR_DIRECTION]["Degrees"]
)
@property
def native_visibility(self) -> float:
"""Return the visibility."""
return cast(float, self.coordinator.data["Visibility"][API_METRIC][ATTR_VALUE])
return cast(
float,
self.observation_coordinator.data["Visibility"][API_METRIC][ATTR_VALUE],
)
@property
def uv_index(self) -> float:
"""Return the UV index."""
return cast(float, self.coordinator.data["UVIndex"])
return cast(float, self.observation_coordinator.data["UVIndex"])
@property
def forecast(self) -> list[Forecast] | None:
"""Return the forecast array."""
if not self.coordinator.forecast:
return None
# remap keys from library to keys understood by the weather component
@callback
def _async_forecast_daily(self) -> list[Forecast] | None:
"""Return the daily forecast in native units."""
return [
{
ATTR_FORECAST_TIME: utc_from_timestamp(item["EpochDate"]).isoformat(),
ATTR_FORECAST_CLOUD_COVERAGE: item["CloudCoverDay"],
ATTR_FORECAST_HUMIDITY: item["RelativeHumidityDay"]["Average"],
ATTR_FORECAST_NATIVE_TEMP: item["TemperatureMax"][ATTR_VALUE],
ATTR_FORECAST_NATIVE_TEMP_LOW: item["TemperatureMin"][ATTR_VALUE],
ATTR_FORECAST_NATIVE_APPARENT_TEMP: item["RealFeelTemperatureMax"][
@@ -175,10 +204,5 @@ class AccuWeatherEntity(
ATTR_FORECAST_WIND_BEARING: item["WindDay"][ATTR_DIRECTION]["Degrees"],
ATTR_FORECAST_CONDITION: CONDITION_MAP.get(item["IconDay"]),
}
for item in self.coordinator.data[ATTR_FORECAST]
for item in self.daily_coordinator.data
]
@callback
def _async_forecast_daily(self) -> list[Forecast] | None:
"""Return the daily forecast in native units."""
return self.forecast

View File

@@ -9,7 +9,10 @@ from typing import Any
import serial
import voluptuous as vol
from homeassistant.components.switch import PLATFORM_SCHEMA, SwitchEntity
from homeassistant.components.switch import (
PLATFORM_SCHEMA as SWITCH_PLATFORM_SCHEMA,
SwitchEntity,
)
from homeassistant.const import (
CONF_FILENAME,
CONF_NAME,
@@ -38,7 +41,7 @@ from .const import (
_LOGGER = logging.getLogger(__name__)
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_FILENAME): cv.isdevice,
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
@@ -78,7 +81,7 @@ class AcerSwitch(SwitchEntity):
write_timeout: int,
) -> None:
"""Init of the Acer projector."""
self.ser = serial.Serial(
self.serial = serial.Serial(
port=serial_port, timeout=timeout, write_timeout=write_timeout
)
self._serial_port = serial_port
@@ -96,16 +99,16 @@ class AcerSwitch(SwitchEntity):
# was disconnected during runtime.
# This way the projector can be reconnected and will still work
try:
if not self.ser.is_open:
self.ser.open()
self.ser.write(msg.encode("utf-8"))
if not self.serial.is_open:
self.serial.open()
self.serial.write(msg.encode("utf-8"))
# Size is an experience value there is no real limit.
# AFAIK there is no limit and no end character so we will usually
# need to wait for timeout
ret = self.ser.read_until(size=20).decode("utf-8")
ret = self.serial.read_until(size=20).decode("utf-8")
except serial.SerialException:
_LOGGER.error("Problem communicating with %s", self._serial_port)
self.ser.close()
self.serial.close()
return ret
def _write_read_format(self, msg: str) -> str:

View File

@@ -4,30 +4,35 @@ from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from .const import DOMAIN
from .hub import PulseHub
CONF_HUBS = "hubs"
PLATFORMS = [Platform.COVER, Platform.SENSOR]
type AcmedaConfigEntry = ConfigEntry[PulseHub]
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
async def async_setup_entry(
hass: HomeAssistant, config_entry: AcmedaConfigEntry
) -> bool:
"""Set up Rollease Acmeda Automate hub from a config entry."""
hub = PulseHub(hass, config_entry)
if not await hub.async_setup():
return False
hass.data.setdefault(DOMAIN, {})[config_entry.entry_id] = hub
config_entry.runtime_data = hub
await hass.config_entries.async_forward_entry_setups(config_entry, PLATFORMS)
return True
async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
async def async_unload_entry(
hass: HomeAssistant, config_entry: AcmedaConfigEntry
) -> bool:
"""Unload a config entry."""
hub = hass.data[DOMAIN][config_entry.entry_id]
hub = config_entry.runtime_data
unload_ok = await hass.config_entries.async_unload_platforms(
config_entry, PLATFORMS
@@ -36,7 +41,4 @@ async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) ->
if not await hub.async_reset():
return False
if unload_ok:
hass.data[DOMAIN].pop(config_entry.entry_id)
return unload_ok

View File

@@ -9,24 +9,23 @@ from homeassistant.components.cover import (
CoverEntity,
CoverEntityFeature,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AcmedaConfigEntry
from .base import AcmedaBase
from .const import ACMEDA_HUB_UPDATE, DOMAIN
from .const import ACMEDA_HUB_UPDATE
from .helpers import async_add_acmeda_entities
from .hub import PulseHub
async def async_setup_entry(
hass: HomeAssistant,
config_entry: ConfigEntry,
config_entry: AcmedaConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up the Acmeda Rollers from a config entry."""
hub: PulseHub = hass.data[DOMAIN][config_entry.entry_id]
hub = config_entry.runtime_data
current: set[int] = set()

View File

@@ -2,6 +2,8 @@
from __future__ import annotations
from typing import TYPE_CHECKING
from aiopulse import Roller
from homeassistant.config_entries import ConfigEntry
@@ -11,17 +13,20 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import DOMAIN, LOGGER
if TYPE_CHECKING:
from . import AcmedaConfigEntry
@callback
def async_add_acmeda_entities(
hass: HomeAssistant,
entity_class: type,
config_entry: ConfigEntry,
config_entry: AcmedaConfigEntry,
current: set[int],
async_add_entities: AddEntitiesCallback,
) -> None:
"""Add any new entities."""
hub = hass.data[DOMAIN][config_entry.entry_id]
hub = config_entry.runtime_data
LOGGER.debug("Looking for new %s on: %s", entity_class.__name__, hub.host)
api = hub.api.rollers

View File

@@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/acmeda",
"iot_class": "local_push",
"loggers": ["aiopulse"],
"requirements": ["aiopulse==0.4.4"]
"requirements": ["aiopulse==0.4.6"]
}

View File

@@ -3,25 +3,24 @@
from __future__ import annotations
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import PERCENTAGE
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AcmedaConfigEntry
from .base import AcmedaBase
from .const import ACMEDA_HUB_UPDATE, DOMAIN
from .const import ACMEDA_HUB_UPDATE
from .helpers import async_add_acmeda_entities
from .hub import PulseHub
async def async_setup_entry(
hass: HomeAssistant,
config_entry: ConfigEntry,
config_entry: AcmedaConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up the Acmeda Rollers from a config entry."""
hub: PulseHub = hass.data[DOMAIN][config_entry.entry_id]
hub = config_entry.runtime_data
current: set[int] = set()

View File

@@ -9,7 +9,7 @@ from typing import Final
LEASES_REGEX: Final[re.Pattern[str]] = re.compile(
r"(?P<ip>([0-9]{1,3}[\.]){3}[0-9]{1,3})"
+ r"\smac:\s(?P<mac>([0-9a-f]{2}[:-]){5}([0-9a-f]{2}))"
+ r"\svalid\sfor:\s(?P<timevalid>(-?\d+))"
+ r"\ssec"
r"\smac:\s(?P<mac>([0-9a-f]{2}[:-]){5}([0-9a-f]{2}))"
r"\svalid\sfor:\s(?P<timevalid>(-?\d+))"
r"\ssec"
)

View File

@@ -10,7 +10,7 @@ import voluptuous as vol
from homeassistant.components.device_tracker import (
DOMAIN,
PLATFORM_SCHEMA as BASE_PLATFORM_SCHEMA,
PLATFORM_SCHEMA as DEVICE_TRACKER_PLATFORM_SCHEMA,
DeviceScanner,
)
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME
@@ -23,7 +23,7 @@ from .model import Device
_LOGGER: Final = logging.getLogger(__name__)
PLATFORM_SCHEMA: Final = BASE_PLATFORM_SCHEMA.extend(
PLATFORM_SCHEMA: Final = DEVICE_TRACKER_PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_HOST): cv.string,
vol.Required(CONF_PASSWORD): cv.string,

View File

@@ -135,11 +135,15 @@ class AdaxDevice(ClimateEntity):
class LocalAdaxDevice(ClimateEntity):
"""Representation of a heater."""
_attr_hvac_modes = [HVACMode.HEAT]
_attr_hvac_modes = [HVACMode.HEAT, HVACMode.OFF]
_attr_hvac_mode = HVACMode.HEAT
_attr_max_temp = 35
_attr_min_temp = 5
_attr_supported_features = ClimateEntityFeature.TARGET_TEMPERATURE
_attr_supported_features = (
ClimateEntityFeature.TARGET_TEMPERATURE
| ClimateEntityFeature.TURN_OFF
| ClimateEntityFeature.TURN_ON
)
_attr_target_temperature_step = PRECISION_WHOLE
_attr_temperature_unit = UnitOfTemperature.CELSIUS
@@ -152,6 +156,14 @@ class LocalAdaxDevice(ClimateEntity):
manufacturer="Adax",
)
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None:
"""Set hvac mode."""
if hvac_mode == HVACMode.HEAT:
temperature = self._attr_target_temperature or self._attr_min_temp
await self._adax_data_handler.set_target_temperature(temperature)
elif hvac_mode == HVACMode.OFF:
await self._adax_data_handler.set_target_temperature(0)
async def async_set_temperature(self, **kwargs: Any) -> None:
"""Set new target temperature."""
if (temperature := kwargs.get(ATTR_TEMPERATURE)) is None:
@@ -161,6 +173,14 @@ class LocalAdaxDevice(ClimateEntity):
async def async_update(self) -> None:
"""Get the latest data."""
data = await self._adax_data_handler.get_status()
self._attr_target_temperature = data["target_temperature"]
self._attr_current_temperature = data["current_temperature"]
self._attr_available = self._attr_current_temperature is not None
if (target_temp := data["target_temperature"]) == 0:
self._attr_hvac_mode = HVACMode.OFF
self._attr_icon = "mdi:radiator-off"
if target_temp == 0:
self._attr_target_temperature = self._attr_min_temp
else:
self._attr_hvac_mode = HVACMode.HEAT
self._attr_icon = "mdi:radiator"
self._attr_target_temperature = target_temp

View File

@@ -2,10 +2,12 @@
from __future__ import annotations
from dataclasses import dataclass
from adguardhome import AdGuardHome, AdGuardHomeConnectionError
import voluptuous as vol
from homeassistant.config_entries import ConfigEntry
from homeassistant.config_entries import ConfigEntry, ConfigEntryState
from homeassistant.const import (
CONF_HOST,
CONF_NAME,
@@ -24,7 +26,6 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import (
CONF_FORCE,
DATA_ADGUARD_CLIENT,
DOMAIN,
SERVICE_ADD_URL,
SERVICE_DISABLE_URL,
@@ -42,9 +43,18 @@ SERVICE_REFRESH_SCHEMA = vol.Schema(
)
PLATFORMS = [Platform.SENSOR, Platform.SWITCH]
type AdGuardConfigEntry = ConfigEntry[AdGuardData]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
@dataclass
class AdGuardData:
"""Adguard data type."""
client: AdGuardHome
version: str
async def async_setup_entry(hass: HomeAssistant, entry: AdGuardConfigEntry) -> bool:
"""Set up AdGuard Home from a config entry."""
session = async_get_clientsession(hass, entry.data[CONF_VERIFY_SSL])
adguard = AdGuardHome(
@@ -57,13 +67,13 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
session=session,
)
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = {DATA_ADGUARD_CLIENT: adguard}
try:
await adguard.version()
version = await adguard.version()
except AdGuardHomeConnectionError as exception:
raise ConfigEntryNotReady from exception
entry.runtime_data = AdGuardData(adguard, version)
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
async def add_url(call: ServiceCall) -> None:
@@ -107,17 +117,20 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(hass: HomeAssistant, entry: AdGuardConfigEntry) -> bool:
"""Unload AdGuard Home config entry."""
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if unload_ok:
hass.data[DOMAIN].pop(entry.entry_id)
if not hass.data[DOMAIN]:
loaded_entries = [
entry
for entry in hass.config_entries.async_entries(DOMAIN)
if entry.state == ConfigEntryState.LOADED
]
if len(loaded_entries) == 1:
# This is the last loaded instance of AdGuard, deregister any services
hass.services.async_remove(DOMAIN, SERVICE_ADD_URL)
hass.services.async_remove(DOMAIN, SERVICE_REMOVE_URL)
hass.services.async_remove(DOMAIN, SERVICE_ENABLE_URL)
hass.services.async_remove(DOMAIN, SERVICE_DISABLE_URL)
hass.services.async_remove(DOMAIN, SERVICE_REFRESH)
del hass.data[DOMAIN]
return unload_ok

View File

@@ -6,9 +6,6 @@ DOMAIN = "adguard"
LOGGER = logging.getLogger(__package__)
DATA_ADGUARD_CLIENT = "adguard_client"
DATA_ADGUARD_VERSION = "adguard_version"
CONF_FORCE = "force"
SERVICE_ADD_URL = "add_url"

View File

@@ -2,13 +2,14 @@
from __future__ import annotations
from adguardhome import AdGuardHome, AdGuardHomeError
from adguardhome import AdGuardHomeError
from homeassistant.config_entries import SOURCE_HASSIO, ConfigEntry
from homeassistant.config_entries import SOURCE_HASSIO
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.entity import Entity
from .const import DATA_ADGUARD_VERSION, DOMAIN, LOGGER
from . import AdGuardConfigEntry, AdGuardData
from .const import DOMAIN, LOGGER
class AdGuardHomeEntity(Entity):
@@ -19,12 +20,13 @@ class AdGuardHomeEntity(Entity):
def __init__(
self,
adguard: AdGuardHome,
entry: ConfigEntry,
data: AdGuardData,
entry: AdGuardConfigEntry,
) -> None:
"""Initialize the AdGuard Home entity."""
self._entry = entry
self.adguard = adguard
self.data = data
self.adguard = data.client
async def async_update(self) -> None:
"""Update AdGuard Home entity."""
@@ -44,7 +46,7 @@ class AdGuardHomeEntity(Entity):
async def _adguard_update(self) -> None:
"""Update AdGuard Home entity."""
raise NotImplementedError()
raise NotImplementedError
@property
def device_info(self) -> DeviceInfo:
@@ -68,8 +70,6 @@ class AdGuardHomeEntity(Entity):
},
manufacturer="AdGuard Team",
name="AdGuard Home",
sw_version=self.hass.data[DOMAIN][self._entry.entry_id].get(
DATA_ADGUARD_VERSION
),
sw_version=self.data.version,
configuration_url=config_url,
)

View File

@@ -66,10 +66,20 @@
}
},
"services": {
"add_url": "mdi:link-plus",
"remove_url": "mdi:link-off",
"enable_url": "mdi:link-variant",
"disable_url": "mdi:link-variant-off",
"refresh": "mdi:refresh"
"add_url": {
"service": "mdi:link-plus"
},
"remove_url": {
"service": "mdi:link-off"
},
"enable_url": {
"service": "mdi:link-variant"
},
"disable_url": {
"service": "mdi:link-variant-off"
},
"refresh": {
"service": "mdi:refresh"
}
}
}

View File

@@ -7,5 +7,5 @@
"integration_type": "service",
"iot_class": "local_polling",
"loggers": ["adguardhome"],
"requirements": ["adguardhome==0.6.3"]
"requirements": ["adguardhome==0.7.0"]
}

View File

@@ -7,16 +7,15 @@ from dataclasses import dataclass
from datetime import timedelta
from typing import Any
from adguardhome import AdGuardHome, AdGuardHomeConnectionError
from adguardhome import AdGuardHome
from homeassistant.components.sensor import SensorEntity, SensorEntityDescription
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import PERCENTAGE, UnitOfTime
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import PlatformNotReady
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import DATA_ADGUARD_CLIENT, DATA_ADGUARD_VERSION, DOMAIN
from . import AdGuardConfigEntry, AdGuardData
from .const import DOMAIN
from .entity import AdGuardHomeEntity
SCAN_INTERVAL = timedelta(seconds=300)
@@ -85,21 +84,14 @@ SENSORS: tuple[AdGuardHomeEntityDescription, ...] = (
async def async_setup_entry(
hass: HomeAssistant,
entry: ConfigEntry,
entry: AdGuardConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up AdGuard Home sensor based on a config entry."""
adguard = hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_CLIENT]
try:
version = await adguard.version()
except AdGuardHomeConnectionError as exception:
raise PlatformNotReady from exception
hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_VERSION] = version
data = entry.runtime_data
async_add_entities(
[AdGuardHomeSensor(adguard, entry, description) for description in SENSORS],
[AdGuardHomeSensor(data, entry, description) for description in SENSORS],
True,
)
@@ -111,18 +103,18 @@ class AdGuardHomeSensor(AdGuardHomeEntity, SensorEntity):
def __init__(
self,
adguard: AdGuardHome,
entry: ConfigEntry,
data: AdGuardData,
entry: AdGuardConfigEntry,
description: AdGuardHomeEntityDescription,
) -> None:
"""Initialize AdGuard Home sensor."""
super().__init__(adguard, entry)
super().__init__(data, entry)
self.entity_description = description
self._attr_unique_id = "_".join(
[
DOMAIN,
adguard.host,
str(adguard.port),
self.adguard.host,
str(self.adguard.port),
"sensor",
description.key,
]

View File

@@ -7,15 +7,14 @@ from dataclasses import dataclass
from datetime import timedelta
from typing import Any
from adguardhome import AdGuardHome, AdGuardHomeConnectionError, AdGuardHomeError
from adguardhome import AdGuardHome, AdGuardHomeError
from homeassistant.components.switch import SwitchEntity, SwitchEntityDescription
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import PlatformNotReady
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import DATA_ADGUARD_CLIENT, DATA_ADGUARD_VERSION, DOMAIN, LOGGER
from . import AdGuardConfigEntry, AdGuardData
from .const import DOMAIN, LOGGER
from .entity import AdGuardHomeEntity
SCAN_INTERVAL = timedelta(seconds=10)
@@ -79,21 +78,14 @@ SWITCHES: tuple[AdGuardHomeSwitchEntityDescription, ...] = (
async def async_setup_entry(
hass: HomeAssistant,
entry: ConfigEntry,
entry: AdGuardConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up AdGuard Home switch based on a config entry."""
adguard = hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_CLIENT]
try:
version = await adguard.version()
except AdGuardHomeConnectionError as exception:
raise PlatformNotReady from exception
hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_VERSION] = version
data = entry.runtime_data
async_add_entities(
[AdGuardHomeSwitch(adguard, entry, description) for description in SWITCHES],
[AdGuardHomeSwitch(data, entry, description) for description in SWITCHES],
True,
)
@@ -105,15 +97,21 @@ class AdGuardHomeSwitch(AdGuardHomeEntity, SwitchEntity):
def __init__(
self,
adguard: AdGuardHome,
entry: ConfigEntry,
data: AdGuardData,
entry: AdGuardConfigEntry,
description: AdGuardHomeSwitchEntityDescription,
) -> None:
"""Initialize AdGuard Home switch."""
super().__init__(adguard, entry)
super().__init__(data, entry)
self.entity_description = description
self._attr_unique_id = "_".join(
[DOMAIN, adguard.host, str(adguard.port), "switch", description.key]
[
DOMAIN,
self.adguard.host,
str(self.adguard.port),
"switch",
description.key,
]
)
async def async_turn_off(self, **kwargs: Any) -> None:

View File

@@ -136,7 +136,7 @@ def setup(hass: HomeAssistant, config: ConfigType) -> bool:
# Tuple to hold data needed for notification
NotificationItem = namedtuple(
NotificationItem = namedtuple( # noqa: PYI024
"NotificationItem", "hnotify huser name plc_datatype callback"
)

View File

@@ -7,7 +7,7 @@ import voluptuous as vol
from homeassistant.components.binary_sensor import (
DEVICE_CLASSES_SCHEMA,
PLATFORM_SCHEMA,
PLATFORM_SCHEMA as BINARY_SENSOR_PLATFORM_SCHEMA,
BinarySensorDeviceClass,
BinarySensorEntity,
)
@@ -20,7 +20,7 @@ from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from . import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE, AdsEntity
DEFAULT_NAME = "ADS binary sensor"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
PLATFORM_SCHEMA = BINARY_SENSOR_PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_ADS_VAR): cv.string,
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,

View File

@@ -10,7 +10,7 @@ import voluptuous as vol
from homeassistant.components.cover import (
ATTR_POSITION,
DEVICE_CLASSES_SCHEMA,
PLATFORM_SCHEMA,
PLATFORM_SCHEMA as COVER_PLATFORM_SCHEMA,
CoverEntity,
CoverEntityFeature,
)
@@ -36,7 +36,7 @@ CONF_ADS_VAR_OPEN = "adsvar_open"
CONF_ADS_VAR_CLOSE = "adsvar_close"
CONF_ADS_VAR_STOP = "adsvar_stop"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
PLATFORM_SCHEMA = COVER_PLATFORM_SCHEMA.extend(
{
vol.Optional(CONF_ADS_VAR): cv.string,
vol.Optional(CONF_ADS_VAR_POSITION): cv.string,

View File

@@ -0,0 +1,7 @@
{
"services": {
"write_data_by_name": {
"service": "mdi:pencil"
}
}
}

View File

@@ -9,7 +9,7 @@ import voluptuous as vol
from homeassistant.components.light import (
ATTR_BRIGHTNESS,
PLATFORM_SCHEMA,
PLATFORM_SCHEMA as LIGHT_PLATFORM_SCHEMA,
ColorMode,
LightEntity,
)
@@ -29,7 +29,7 @@ from . import (
)
DEFAULT_NAME = "ADS Light"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
PLATFORM_SCHEMA = LIGHT_PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_ADS_VAR): cv.string,
vol.Optional(CONF_ADS_VAR_BRIGHTNESS): cv.string,

Some files were not shown because too many files have changed in this diff Show More