Commit Graph
18852 Commits
Author SHA1 Message Date
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
MichaelandGitHub 354c20a57b Automatic cleanup of entity and device registry in AVM FRITZ!SmartHome (#114601) 2024-04-20 12:13:56 +02:00
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
avee87andGitHub 18d6581523 Fix Hyperion light not updating state (#115389) 2024-04-19 18:21:21 +02:00
Joost LekkerkerkerandGitHub cc2e0fd921 Make Withings recoverable after internet outage (#115124) 2024-04-19 18:18:32 +02:00
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 ChemelliandGitHub ff83d9acff Add missing media_player features to Samsung TV (#115788)
* add missing features

* fix snapshot
2024-04-19 16:45:19 +02:00
Jan BouwhuisandGitHub 5b082ed669 Add group tests with mixed domain entities (#115849) 2024-04-19 14:48:18 +02:00
hahn-thandGitHub 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 NeumanandGitHub 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 KostonandGitHub 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 KostonandGitHub 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 KostonandGitHub 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 KostonandGitHub 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 KostonandGitHub 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
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
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
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
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
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
J. Nick KostonandGitHub 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
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 KostonandGitHub 98ed6e7fe5 Bump habluetooth to 2.7.0 (#115783) 2024-04-17 17:47:40 -05:00
J. Nick KostonandGitHub b829f1030b Migrate snooze config flow to use eager_start (#115658) 2024-04-17 14:59:16 -05:00
Joost LekkerkerkerandGitHub 07a46f17d0 Add sanix sensor tests (#115763)
Add sanix tests
2024-04-17 21:20:12 +02:00
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 BouwhuisandGitHub 8275512130 Add mqtt notify platform (#115653)
* Add mqtt notify platform

* Stale docstring
2024-04-17 20:07:11 +02:00
jan iversenandGitHub 3202743b6c Cleanup modbus test mocks (#115412) 2024-04-17 19:10:09 +02:00
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 DegatanoandGitHub f1ebe9d20a Add repairs to hassio manifest (#115486)
* Add repairs to hassio manifest

* Remove unnecessary fixture
2024-04-17 15:51:29 +02:00
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 MontnemeryandGitHub 764a0f29cc Allow [##:##:##] type keypad address in homeworks (#115762)
Allow [##:##:##] type keypad address
2024-04-17 15:04:37 +02:00
Erik MontnemeryandGitHub e45583b83b Fix homeworks import flow (#115761) 2024-04-17 15:00:10 +02:00
Erik MontnemeryandGitHub 3f62267a48 Fix flaky qld_bushfire test (#115757) 2024-04-17 14:29:49 +02:00
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 KostonandGitHub 6dcfe861fd Bump habluetooth to 2.5.2 (#115721) 2024-04-16 18:34:57 -05:00
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
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
BestPigandGitHub 586d27320e Add Sound Mode selection in soundpal components (#106589) 2024-04-16 17:45:48 +02:00
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
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 LekkerkerkerandGitHub 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
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 HjelmareandGitHub 093aee672c Fix ambient network test linting (#115691) 2024-04-16 10:19:23 +02:00
Thomas KistlerandGitHub 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
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
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
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
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
SidandGitHub 5f055a64bb Enable Ruff B017 (#115335) 2024-04-15 22:25:09 +02:00