21461 Commits

Author SHA1 Message Date
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
Jan Bouwhuis
5b082ed669
Add group tests with mixed domain entities (#115849) 2024-04-19 14:48:18 +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
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
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
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 85d9ec36b30aa2aedecd8571c7ed734d0b0a9b05.

* 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
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
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
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
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
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
jan iversen
3202743b6c
Cleanup modbus test mocks (#115412) 2024-04-17 19:10:09 +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
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
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
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
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
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
BestPig
586d27320e
Add Sound Mode selection in soundpal components (#106589) 2024-04-16 17:45:48 +02: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
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