Commit Graph

25137 Commits (improve_trigger_validation)

Author SHA1 Message Date
Erik Montnemery f1b724c49a
Update samsungtv test snapshots (#143826) 2025-04-28 13:48:39 +03:00
Arie Catsman d1236a53b8
add enphase_envoy interface mac to device registry (#143758)
* add enphase_envoy interface mac to device registry

* Test for capitalized error log entry.

* increase mac collection delay from 17 to 34 sec
2025-04-28 11:20:11 +02:00
Tsvi Mostovicz 84f07ee992
Bump hdate to 1.1.0 (#143759) 2025-04-28 10:38:49 +02:00
Norbert Rittel 56e07bb1f2
Use common state for "Fault", add recommended hyphen in `fronius` (#143812)
* Use common state for "Fault" in `fronius`

Also add a recommended hyphen to "self-consumption".

See Wiktionary: "Words derived from self- are usually formed with a hyphen. Using a hyphen is recommended by the U.S. Government Printing Office Style Manual."

* Update test_sensor.ambr
2025-04-28 11:18:07 +03:00
Martin Hjelmare 5392062edd
Add backup agent retention config (#143174) 2025-04-28 09:24:23 +02:00
Åke Strandberg d9a09a2aea
Enable deletion of stale miele devices (#143811)
Enable deletion of stale devices
2025-04-28 08:59:34 +02:00
epenet 3daff73d36
Add renault reconfigure flow (#143449)
* Add renault reconfigure flow

* docstring
2025-04-28 08:43:20 +02:00
J. Nick Koston e6b88ec087
Bump thermopro-ble to 0.12.0 (#143799)
* Bump thermopro-ble to 0.12.0

changelog: https://github.com/Bluetooth-Devices/thermopro-ble/compare/v0.11.0...v0.12.0

* update tests
2025-04-28 08:37:20 +02:00
J. Nick Koston 2a6b79ec0f
Bump bluemaestro-ble to 0.3.0 (#143795)
* Bump bluemaestro-ble to 0.3.0

changelog: https://github.com/Bluetooth-Devices/bluemaestro-ble/compare/v0.2.3...v0.3.0

* update tests
2025-04-28 08:35:22 +02:00
J. Nick Koston afc1d224a0
Bump sensorpro-ble to 0.6.0 (#143796)
* Bump sensorpro-ble to 0.6.0

changelog: https://github.com/Bluetooth-Devices/sensorpro-ble/compare/v0.5.3...v0.6.0

* update tests
2025-04-28 08:34:34 +02:00
J. Nick Koston c3996d6931
Bump sensorpush-ble to 1.8.0 (#143794)
* Bump sensorpush-ble to 1.8.0

changelog: https://github.com/Bluetooth-Devices/sensorpush-ble/compare/v1.7.1...v1.8.0

* fix tests
2025-04-28 08:33:11 +02:00
J. Nick Koston 9ec174776c
Bump leaone-ble to 0.2.0 (#143798)
* Bump leaone-ble to 0.2.0

changelog: https://github.com/Bluetooth-Devices/leaone-ble/compare/v0.1.0...v0.2.0

* update tests
2025-04-28 08:31:58 +02:00
J. Nick Koston 6a8722cf7c
Bump thermobeacon-ble to 0.9.0 (#143797)
* Bump thermobeacon-ble to 0.9.0

changelog: https://github.com/Bluetooth-Devices/thermobeacon-ble/compare/v0.8.1...v0.9.0

* update tests
2025-04-28 08:30:57 +02:00
Olivier Douville 5cd4c8e896
Add missing state class in sfr-box (#143773)
* Update sensor.py - Add MEASUREMENT state class on alimvoltage and temperature sensors

This will allow state values to be stored in LTS (long term statistics)

* Update tests accordingly to previous changes in sensors

* Update tests accordingly to previous changes in sensors
2025-04-28 07:55:29 +02:00
J. Nick Koston dd9dad80be
Bump habluetooth to 3.42.0 and bleak-esphome to 2.14.0 (#143787) 2025-04-27 19:36:58 -05:00
Manu c704df004a
Add diagnostics platform to ntfy platform (#143774) 2025-04-27 19:58:15 +02:00
Brett Adams a1ca0a1cb2
Dont add location entities without location scope in Teslemetry (#143497)
* Dont add location entities without location scope

* Fix tests

* simplify logic

* Add test
2025-04-27 11:25:58 +02:00
Allen Porter 2326c23133
Increase Gemini max tokens to avoid failures observed in evaluations (#143728)
* Increase Gemini max tokens to avoid failures observed in evaluations

* Update snapshots
2025-04-26 15:30:47 -07:00
J. Nick Koston d4c1d1bdb9
Split up SSDP integration into modules (#143732)
* Split up SSDP integration into modules

* Split up SSDP integration into modules

* migrate tests
2025-04-26 18:09:51 -04:00
Allen Porter 8d258871ff
Record Anthropic token statistics in conversation trace (#143727)
* Record anthopic token statistics in conversation trace

* Add test coverage for output token parsing
2025-04-26 18:04:12 -04:00
Thomas55555 49299a6bf0
Bump aioautomower to 2025.4.4 (#143533)
* Bump aioautomower to 2025.4.1

* Update split_tests.py

* revert b3222b9be9

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* aioautomower==2025.4.2

* fix

* aioautomower==2025.4.30b0

* revert

* some try

* aioautomower==2025.4.0

* aioautomower==2025.4.3b0

* aioautomower==2025.4.4

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-04-27 00:07:14 +03:00
Shay Levy 868b8ad318
Move Switcher handle_coordinator_update to base entity (#143738) 2025-04-27 00:01:44 +03:00
Manu a0cd14b4e8
Add reauth flow to ntfy integration (#143729) 2025-04-26 22:05:13 +02:00
Shay Levy d8cb7c475b
Update Switcher temperature sensor device class and state class (#143722)
* Update Switcher temperature sensor device class and state class

* Remove  temperature translation key

* Remove icon
2025-04-26 16:22:44 +02:00
Shay Levy 03bacd747e
Use device_registry fixture in Switcher test_remove_device (#143723) 2025-04-26 17:05:51 +03:00
Manu 97b6a68cda
Improve device handling for disconnected IronOS devices (#143446)
* Improve device handling for disconnected IronOS devices

* requested changes

* ble_device
2025-04-26 13:34:44 +02:00
Maciej Bieniek f1b3b0c155
Refactor tests for Shelly config flow (#143517)
* Add mock_setup_entry

* Add mock_setup

* Improve test_form_gen1_custom_port

* Improve test_form_errors_get_info

* Improve test_form_errors_test_connection

* Improve test_reconfigure_with_exception

* Improve test_form_auth_errors_test_connection_gen1

* Improve test_form_auth_errors_test_connection_gen2

* Cleaning

* Upate quality scale

* Always use result variable

* Remove unnecessary async_block_till_done
2025-04-26 13:00:45 +03:00
Martin Hjelmare e14a356c24
Allow Z-Wave controller migration on USB discovery (#143677)
Allow migration on USB discovery
2025-04-26 07:52:32 +02:00
J. Nick Koston 4e7d396e5b
Add WebSocket API to zeroconf to observe discovery (#143540)
* Add WebSocket API to zeroconf to observe discovery

* Add WebSocket API to zeroconf to observe discovery

* increase timeout

* cover

* cover

* cover

* cover

* cover

* cover

* fix lasting side effects

* cleanup merge

* format
2025-04-25 21:18:09 -04:00
Denis Shulyaka 7074331461
Preserve reasoning during tool calls for openai_conversation (#143699)
Preserve reasoning after tool calls for openai_conversation
2025-04-25 21:12:23 -04:00
Åke Strandberg eec9a28fe8
Add zeroconf discovery to miele (#143259)
* Add zeroconf discovery

* Strip unnecessary code

* Remove one line more

* Remove one more

* Add test for zeroconf flow

* Finish zeroconf flow
2025-04-25 23:18:20 +02:00
Joost Lekkerkerker 765a95c273
Set entities to config category in SmartThings (#143669) 2025-04-25 20:21:35 +02:00
Tomáš Bedřich 6a115d0133
Add S3 integration (#139325)
* Add S3 integration

* Improve translations and error handling

* Test S3 integration

* Update QoS

* Add missing data_description strings

* Fix missing async_initialize_backup in tests

* PR changes

* Remove unique ID, rely on abort_entries_match

* Raise only BackupAgentError (#139754), introduce decorator for error handling

* Switch to metadata-file based solution

* PR changes

* Revert strict typing

* Bump dependency

* Silence mypy

* Pass docs URLs as description_placeholders

* PR changes

* Rename _api to api

* PR Changes

* PR Changes 2

* Remove api abstraction

* Handle S3 multipart upload size limitations

* PR changes
2025-04-25 20:16:44 +02:00
Åke Strandberg a057effad5
Add miele binary_sensor platform (#142903)
* Add binary_sensor platform

* Address review comments

* Adjust icons and names.

* Change Info to Notification active

* Trigger CI

* Trig CI

* Adjust tests

* Update strings.json

* Update strings.json
2025-04-25 19:32:08 +02:00
Dan 94b0800989
Fix surepetcare sensor error (#143286)
* fix: changed boolean to map to 'online' attribute.

* fix: added catch in case of future changes to prevent complete sensor failure.

* fix: surepetcare - added additional catches in case rssi values aren't included in online status.

* fix: remove hub_rssi when not defined.

* fix: proper code spacing

* fix: use .get for clarity instead of try.

* fix: now written in Python.

* fix: renamed variables for clarity.

* Update homeassistant/components/surepetcare/binary_sensor.py

* fix: update surepetcare test __init__.py mock_feeder with online status.

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-25 19:29:29 +02:00
Åke Strandberg a783b6a0ab
Add climate platform to miele integration (#143333)
* Add climate platform

* Merge

* Address review and improve test

* Address review comments

* Streamline entity naming

* Update tests/components/miele/test_climate.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-25 19:18:39 +02:00
Åke Strandberg 5302964eb6
Add button platform to miele (#143508)
* WIP Button platform

* Add button platform

* Disable by default, Address review , update tests

* Follow review comments
2025-04-25 19:10:32 +02:00
Åke Strandberg ed0bdf9e5f
Add switch platform to miele integration (#142925)
* Add switch platform

* Add a type hint

* Update after review
2025-04-25 18:40:52 +02:00
Martin Hjelmare 0aabb11220
Improve Z-Wave migration flow (#143673) 2025-04-25 18:33:19 +02:00
Jozef Kruszynski 09ad14bc28
Update Music Assistant browse media types (#143249)
* Update Music Assistant browse media types

* changes based on review comments
2025-04-25 18:32:48 +02:00
epenet 1075ea1220
Bump renault-api to 0.3.0 (#143657) 2025-04-25 16:52:23 +02:00
Ludovic BOUÉ 4adf5ce826
Support for Matter 1.4 Water Heater device type (#131505)
* Create water_heater.json

* Update water_heater.json

* Update water_heater.json

* TankVolume

* TankPercentage

* WaterHeaterMode

WaterHeaterMode

* Update sensor.py

* ruff-format

* Update water_heater.json

 Attributes of WaterHeaterManagement Cluster on Endpoint 2
ClusterId 148 (0x0094)

* Update test_sensor.py

water_heater fixture

* Update test_sensor.py

* SensorDeviceClass=VOLUME_STORAGE for `TankVolume`

* `BoostStateEnum` map

* WaterHeaterManagementBoostState

* Update sensor.py

* WaterHeaterManagementEstimatedHeatRequired

* Fix UnitOfEnergy

* Format

* Add `device_types.WaterHeater` to Climate

* Strings for Tank sensors

* WaterHeater icons

* Update icons.json

* Update strings.json

* Update water_heater.json

* ruff-format

* Fix tests

* Fix sensor.py

* Fix icons

* WaterHeaterManagementEstimatedHeatRequired

* WaterHeaterManagementBoostState

* BoostState as a binary sensor

* ElectricalPowerMeasurement values

* Fix tests

* Create water_heater.py

* Update climate.py from dev branch

* Resolve conflicts

* ruff-format

* Add Platform.WATER_HEATER

* Update water_heater.py

* Update water_heater.py

* Update water_heater.py

* Update water_heater.py

* Add WaterHeaterManagement sensors

* Update tests

* Add select test

* Add strings

* First try with water_heater

* Testing current_operation

* BoostState attribute

* target_temperature attributes

* target_temperature attribute

* set_temperature and set_operation_mode

* turn_on / turn_off

* Trigger Boost command

* Fix WaterHeaterBoostInfoStruct

* Add test file

* Add climate cluster to fixture

* Add climate cluster to fixture

* Add tests

* Add ON_OFF feature

* Update tests

* Update tests

* Translate WaterHeaterMode

* Change description

* Update test and snapshots

* Update snapshots

* Set entity name to None to make the device name be the name of the entity

* Format

* Update water_heater.py

* Fix format

* ruff-format

* Import ServiceValidationError

* Update homeassistant/components/matter/water_heater.py

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

* Update water_heater.py

* Update test_water_heater.py

* Update test_water_heater.ambr

* Update test_water_heater.py

* Update select.py

* Update snapshots

* Rename to boost_info

* Set WaterHeaterMode

* Update snapshots

* Update snapshots

* Fix for warning
W7431: Argument 3 should be of type AddConfigEntryEntitiesCallback in async_setup_entry (hass-argument-type)

* Update strings.json

* Update strings and tests

* Fix missing brace

* Update tests

* fix test

* Updates strings

* Fix async_set_temperature

* Update tests

* Update tests

* Update homeassistant/components/matter/water_heater.py

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

* Sort strings in strings.json

* Update homeassistant/components/matter/water_heater.py

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

* Remove unused line

* Remove min/max target temperatures

* Remove BOOST_STATE_MAP

* Add comment

* Remove SUPPORT_FLAGS_HEATER

* Remove system_mode_value check

* Update homeassistant/components/matter/water_heater.py

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

* Reformat async_set_temperature()

* Update snapshots

* Remove MatterWaterHeaterMode selector

* Update snapshots

* Rename test to test_water_heater_set_temperature

* Add test_water_heater_set_operation_mode

* Remove reset_mock

* Update tests/components/matter/test_water_heater.py

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

* Add test_update_from_water_heater

* Add test_water_heater_turn_on_off

* Add test_water_heater_boostmode

* Fix SystemMode value for STATE_HIGH_DEMAND

* Add disable boost from water heater device side test

* Remove unused lines

* Remove unused lines

* Fix test indentation

* Fix water heater tests

* Check for None

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-04-25 15:28:28 +02:00
Petro31 4a1905a2a2
Update template cover to modern style config (#141878) 2025-04-25 15:22:49 +02:00
Martin Hjelmare 7c584ece23
Make proper Z-Wave reconfigure flow (#143549)
* Make proper Z-Wave reconfigure flow

* Improve backup_failed string
2025-04-25 14:19:03 +03:00
Petro31 ff2c901930
Update trigger based template entity resolution order (#140660)
* Update trigger based template entity resolution order

* add test

* fix most comments

* Move resolution to base class

* add comment

* remove uncessary if statement

* add more tests

* update availability tests

* update logic stage 1

* phase 2 changes

* fix trigger template entity tests

* fix trigger template entities

* command line tests

* sql tests

* scrape test

* update doc string

* add rest tests

* update sql sensor _update signature

* fix scrape test constructor

* move state check to trigger_entity

* fix comments

* Update homeassistant/components/template/trigger_entity.py

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

* Update homeassistant/helpers/trigger_template_entity.py

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

* Update homeassistant/helpers/trigger_template_entity.py

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

* update command_line and rest

* update scrape

* update sql

* add case to command_line sensor

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-04-25 13:17:25 +02:00
Erik Montnemery dc8e1773f1
Remove unused defaults from entity_registry.RegistryEntry (#143655) 2025-04-25 12:41:58 +02:00
Paul Bottein 2be6ecd50f
Assign plex update entity to server device (#143654)
* Assign plex update entity to server device

* Fix tests

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-25 11:21:14 +02:00
Maciej Bieniek 5b503f21d7
Abort Shelly flows if the device is not fully provisioned (#143652)
* Abort flows if the device is not fully provisioned

* Update tests
2025-04-25 10:37:58 +03:00
Brett Adams 7016c19b2f
Disable polling for modern vehicles in Teslemetry (#143495) 2025-04-24 23:59:26 +02:00
J. Nick Koston fab70a80bb
Quality improvements for the ESPHome dashboard coordinator (#143619) 2025-04-24 23:20:05 +02:00
Jan Bouwhuis e389ff2537
Allow float for device_tracker location accuracy (#143604) 2025-04-24 23:09:18 +02:00
J. Nick Koston 5a6ce34352
Improve ESPHome test typing (#143617) 2025-04-24 10:41:37 -10:00
Paulus Schoutsen fdcb88977a
Add voice styles to HA Cloud (#143605)
* Add voice styles to HA Cloud

* Add seperator and extract util
2025-04-24 16:23:15 -04:00
Stefan Agner a584ccb8f7
Remove add-on changelog from cached information (#143526) 2025-04-24 22:14:46 +02:00
Shay Levy 575db4665d
Fix Switcher review comments (#143607) 2025-04-24 21:54:25 +02:00
J. Nick Koston 3aa1c60fe3
ESPHome quality improvements round 2 (#143613)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-24 09:51:33 -10:00
J. Nick Koston 01e2c3272b
Improve error message when ESPHome reconfigure selects an unexpected device (#143608) 2025-04-24 08:44:02 -10:00
J. Nick Koston 5afcd3e54e
Remove the previously deprecated ESPHome assist in progress binary sensor (#143536) 2025-04-24 08:43:48 -10:00
Abílio Costa 6457d46107
Raise `ConfigEntryNotReady` when fetching Whirlpool appliances fails (#143601) 2025-04-24 21:25:15 +03:00
Paulus Schoutsen fa80c0a88d
Bump hass-nabucasa to 0.96.0 (#143542)
* Bump hass-nabucasa to 0.96.0

* Adjust for new voice info format
2025-04-24 13:12:11 -04:00
Abílio Costa f86e85b931
Use None for Unknown state in Whirlpool sensor (#143582) 2025-04-24 15:12:45 +01:00
Åke Strandberg eb4fa635bf
Add miele light platform (#143119)
* WIP

* Add light platform

* Address review comments

* Address review and improve tests

* Address review comments in tests
2025-04-24 15:02:39 +02:00
Åke Strandberg e4fe7ba985
Fix bug in miele diagnostics (#143569)
Fix bug when redacting identifiers in diagnostics
2025-04-24 14:16:31 +02:00
Retha Runolfsson a55a6e5c48
Add diagnostics for switchbot integration (#143389) 2025-04-23 21:02:44 -10:00
Retha Runolfsson f7e3e207b7
Add parallel updates in lock and lock unit tests for switchbot integration (#143391)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-04-23 19:49:09 -10:00
Erwin Douna 6f0c59f1be
Tado bump 0.18.14 & race condition fix (#143531)
* Bump PyTado 0.18.14

* Add test
2025-04-24 08:44:17 +03:00
Abílio Costa e8c4d08b25
Make Whirlpool test check for success after failure (#143525) 2025-04-23 21:00:32 +03:00
J. Nick Koston 36081c69e0
Break apart zeroconf integration to prepare for WebSocket API (#143490) 2025-04-23 07:47:37 -10:00
J. Nick Koston 65db3c1164
Fix display issues with ESPHome encryption key steps (#143483) 2025-04-23 18:39:32 +02:00
Maciej Bieniek 11f02e48d7
Use aioshelly method to set the target temperature for Shelly BLU TRV (#143504) 2025-04-23 18:37:29 +02:00
Stefan Agner e41283a40a
Handle Tailscale hosts without client connectivity details (#143505) 2025-04-23 18:36:55 +02:00
Abílio Costa 738e39413d
Fix KeyError in energy websocket (#143519) 2025-04-23 18:34:48 +02:00
Robert Resch 199a274c80
Remove deprecated `hass.helpers` (#143514) 2025-04-23 17:24:25 +02:00
Manu f6d8868eb6
Fix some minor issues and nitpicks in ntfy integration (#143516)
Fix nitpicks
2025-04-23 16:28:58 +02:00
Michael 253cc377b4
Remove boost and off temperature workaround from AVM Fritz!SmartHome (#142863)
* remove workaround

* remove hvacmode from mapping dict
2025-04-23 16:12:35 +02:00
J. Diego Rodríguez Royo 1bfd585f3c
Adjust Home Connect max executions parameters (#143509)
Adjust max executions parameters to ensure that 1000 calls per day are not reached
2025-04-23 15:52:53 +02:00
Tobias Sauerwein 839eb0fe14
Bump pyatmo to 9.0.0 (#143512)
* wip

* fix

* fix

* fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-04-23 16:24:03 +03:00
Manu 3c174ce329
Add ntfy (ntfy.sh) integration (#135152)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-04-23 14:52:13 +02:00
turakamou beab4e0d7c
Fix device tracker of freebox component to get devices from all interfaces (#142668) 2025-04-23 11:14:37 +01:00
Maciej Bieniek b785d5297a
Use aioshelly methods with Shelly RPC text and select entities (#143464) 2025-04-22 22:07:05 -10:00
epenet 6f9c8b2aa0
Add exception translations to Renault (#143452) 2025-04-23 08:40:31 +02:00
tdfountain 0b2e5cd253
Move device registry into function declaration for tests in NUT (#143349) 2025-04-22 13:11:14 -10:00
Manu bf1c138a3c
Fix some mistakes in the Habitica tests (#143465) 2025-04-22 20:53:09 +02:00
Paulus Schoutsen 00fc3e2c29
ESPHome Assist Satellite share TTS url in RUN_START (#143460) 2025-04-22 14:22:31 -04:00
Andre Lengwenus e56f6fafdc
Remove redundant parameter from config_entry data of LCN integration (#135912) 2025-04-22 18:00:30 +02:00
Paulus Schoutsen 8aa30b0ccb
Migrate VoIP to use Assist Pipeline TTS tokens (#139671)
* Migrate VoIP to use pipeline token

* migrate announcements to use TTS token
2025-04-22 10:24:24 -04:00
Manu 871a7c87bf
Fix error in diagnostics test in ista EcoTrend integration (#143456) 2025-04-22 15:52:25 +02:00
Marc Mueller 72337e4c77
Fix lg_thinq RuntimeWarning in tests (#143448) 2025-04-22 14:22:04 +02:00
Manu aedd60e74f
Add diagnostics platform to ista EcoTrend (#143428) 2025-04-22 14:12:43 +02:00
Manu 9249ea0dbb
Abort reauth flow on unique id mismatch in ista EcoTrend integration (#143430) 2025-04-22 14:11:09 +02:00
Josef Zweck 357ec7034e
Roll back changes on upload failure in onedrive (#143012) 2025-04-22 14:10:52 +02:00
Manu ccd1a08aca
Clear statistics on entry removal in ista EcoTrend integration (#143433) 2025-04-22 13:57:28 +02:00
Manu 6c7317fbc3
Increase test coverage in ista EcoTrend integration (#143426)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-04-22 13:37:13 +02:00
Josef Zweck 159e55296f
Make backup listing more resilient for onedrive (#143010)
Co-authored-by: Erwin Douna <e.douna@gmail.com>
2025-04-22 13:36:59 +02:00
Brett Adams 2e2faeb612
Add remaining Binary Sensor entities to Teslemetry (#143384) 2025-04-22 13:16:29 +02:00
Josef Zweck def11f9959
Change lamarzocco general update frequency (#143417) 2025-04-22 12:52:27 +02:00
Maciej Bieniek 88821b1d0e
Use aioshelly methods with Shelly RPC number entities (#142482) 2025-04-22 12:44:02 +02:00
epenet 06cc505956
Remember previous input in renault config flow (#143438) 2025-04-22 12:39:13 +02:00
epenet a3605921c9
De-duplicate test helper function (#143437)
* De-duplicate test helper function

* One more
2025-04-22 12:04:12 +02:00
Michael e9269a1d33
Remove deprecated yaml import from local file (#143405) 2025-04-22 11:50:28 +02:00
Michael 39807abc7d
Remove deprecated yaml import from Canary (#143410) 2025-04-22 11:49:01 +02:00
Michael fbe2370df7
Remove deprecated action call addon_update from Supervisor (#143404)
remove deprecated action call addon_update
2025-04-22 10:39:17 +02:00
Abílio Costa 44f2897919
Use `spec` for Whirlpool mocks (#143416)
Use `spec` to cleanup unecessary mock function definitions.
2025-04-22 10:07:18 +03:00
Norbert Rittel 2f6ad8ea4a
Fix sentence-casing in `intellifire` (#143435)
* Fix sentence-casing in `intellifire`

* Update test_sensor.ambr

* Update test_binary_sensor.ambr
2025-04-22 10:05:01 +03:00
Josef Zweck 1064588c00
Add last cleaned sensor to lamarzocco (#143414) 2025-04-22 07:02:16 +02:00
Markus Adrario f0cf620854
Add Homee wind_monitoring_state to numbers (#139848) 2025-04-21 21:21:15 +02:00
Michael 7030000348
Remove deprecated yaml import from Smarty (#143406)
remove deprecated yaml import
2025-04-21 18:20:57 +03:00
J. Nick Koston 849121a124
Improve human-readable name for new/reauth/reconfig in ESPHome (#143302)
* Improve human-readable prompt when requesting ESPHome credentials

Users reported difficulty identifying which device needs reauthentication, especially when names are similar (e.g., `power-meter` vs `power-meter-EEFF`). Previously, only the hostname was shown, which led to confusion. This change includes the config entry title or friendly name—when available—in the prompt to make device identification easier.

* Update homeassistant/components/esphome/config_flow.py

* add missing cover

* tweaks

* one more

* one more

* cover

* some are ``, some are not, make them all ``

* Apply suggestions from code review

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-04-21 10:25:14 -04:00
J. Nick Koston ba6ce28d3c
Add DHCP discovery subscribe websocket API (#143106)
* Add DHCP discovery subscribe websocket API

* fix circular import

* fixes

* fixes

* fixes

* reduce

* reduce

* reduce

* fix tests

* fix tests

* rework

* tests

* reduce number of lines changed

* reduce
2025-04-21 10:25:04 -04:00
J. Nick Koston 6698b3a1dc
Improve ESPHome abort messages for already-configured devices (#143289)
* Improve ESPHome abort messages for already-configured devices

Users often struggle to identify which ESPHome device is already configured—especially when replacing a device or renaming an existing one.
This PR improves the abort messages to include more helpful details, so users can pinpoint the conflicting device without needing to dig through the `core.config_entries` file manually.

* Update homeassistant/components/esphome/strings.json
2025-04-21 09:41:15 -04:00
J. Nick Koston 352ef0d009
Correct handling of entities with empty name for ESPHome devices (#143366)
Correct handling of empty name for ESPHome devices

If the name was set to "", ESPHome should treat this as if the
name is empty. Since protobuf treats empty fields as "" we need
to handle this as `None` internally as otherwise it leads to
friendly names like "Friendly Name " with a trailing space and
unexpected entity_id formats

fixes #132532
2025-04-21 09:38:29 -04:00
Simone Chemelli 7ea8827e69
Fix typos in UptimeRobot tests (#143397) 2025-04-21 14:11:51 +02:00
mdcdr 694c768666
Fix utility_meter wrong/old value on reset (#142951)
Co-authored-by: Erwin Douna <e.douna@gmail.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-04-21 12:45:57 +01:00
Retha Runolfsson da8339066b
Add light unit tests for switchbot (#140436) 2025-04-21 11:07:03 +01:00
Simone Chemelli ee3ee5b165
Fix Vodafone Station config entry unload (#143371) 2025-04-20 23:56:09 +02:00
Norbert Rittel 1ad60881cb
Fix spelling of "off-grid" in `tesla_fleet` (#143359)
* Fix spelling of "off-grid" in `tesla_fleet`

* Update test_number.ambr
2025-04-20 21:21:51 +03:00
Norbert Rittel 18cd389c77
Fix spelling of "off-grid" in `tessie` (#143358)
* Fix spelling of "off-grid" in `tessie`

* Update test_number.ambr
2025-04-20 21:21:29 +03:00
Norbert Rittel 26ea97cb44
Fix spelling of "off-grid" and "on-grid" in `teslemetry` (#143357)
* Fix spelling of "off-grid" and "on-grid" in `teslemetry`

* Update test_number.ambr
2025-04-20 21:21:06 +03:00
Norbert Rittel d7f6db5efd
Fix spelling of "off-grid" in `apsystems` (#143356)
* Fix spelling of "off-grid" in `apsystems`

* Update test_binary_sensor.ambr
2025-04-20 21:20:43 +03:00
karwosts 8699e69ae5
Optimize sliding window history_stats to not re-query the database every interval (#143279)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-04-20 08:08:28 -10:00
Marc Mueller a749ecceed
Add helper method to clear logger overwrites for tests (#143301) 2025-04-20 09:28:30 +02:00
Mick Vleeshouwer 6b09fe2377
Support new local token generation method in Overkiz (#143181)
* Initial implementation of new token method for Local API

* Improve translations

* Update text

* Bugfix

* Bugfix

* Bugfixes

* Fixes

* Bugfix

* Bugfix

* Fix

* small fix

* Fix tests

* Refactor token usage in Overkiz config flow tests

* Refactor local API configuration flow tests for clarity and update reauthentication logic

* Improve comments

* Update tests

* Update homeassistant/components/overkiz/strings.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-04-20 06:29:18 +02:00
tdfountain eb642e8a06
Remove unused variable in test util for NUT (#143304) 2025-04-19 16:22:10 -10:00
tdfountain b97d8e163d
Fix type of port in test util for NUT (#143303) 2025-04-19 16:13:05 -10:00
tdfountain 7c0d2832cd
Add remove device support to NUT (#143293) 2025-04-19 16:07:42 -10:00
Marc Mueller 5843e63878
Add contextmanager to reset logger after set_level call in tests (#143295) 2025-04-20 02:13:01 +02:00
Marc Mueller 961f8afe53
Remove debug option in unifiprotect tests (#143296) 2025-04-19 14:00:22 -10:00
tdfountain 37769b94cd
Remove unnecessary persistent notification in test case for NUT (#143298)
Remove unnecessary persistent notification
2025-04-20 01:55:26 +02:00
Marc Mueller 8f4435019b
Reset logging level in esphome test (#143291) 2025-04-19 23:59:45 +02:00
Thomas55555 012f6b660c
Add more states to error sensor in Husqvarna Automower (#143270)
* Add more states to error sensor in Husqvarna Automower

* Use new common state

* tests and duplicates
2025-04-19 21:16:01 +02:00
Thomas55555 84a8c1312f
Add entity categories to Husqvarna Automower sensors (#143277) 2025-04-19 21:13:24 +02:00
Norbert Rittel a9e77dc0db
Use common state for "Error", fix sentence-casing in `tplink_omada` (#143278)
* Use common state for "Error", fix sentence-casing in `tplink_omada`

- replace "Error" with common state reference
- correct missing sentence-casing in several strings

* Update test_switch.ambr
2025-04-19 21:12:14 +02:00
Abílio Costa 626eb77060
Replace literals with consts in Govee Light Local tests (#143280) 2025-04-19 21:11:36 +02:00
Abílio Costa 7674f6b5aa
Turn on after setting parameters in Govee Light Local (#143233) 2025-04-19 19:56:56 +01:00
Maciej Bieniek 4e852911aa
Add `tracker power saving` binary sensor to Tractive integration (#142718)
* Add power saving binary sensor

* Update tests

* tracker_state_reason is not always present in hardware event
2025-04-19 17:30:15 +02:00
Paulus Schoutsen 30ab068bfe
Wyoming to use tokens instead of media source IDs for TTS (#139668)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-04-19 12:50:41 +02:00
Tsvi Mostovicz 6499ad6cdb
Cleanup tests for Jewish calendar integration (#138793) 2025-04-19 12:46:04 +02:00
Paulus Schoutsen 6f99b1d69b
TTS to use ffmpeg in streaming fashion (#140536) 2025-04-19 12:41:52 +02:00
J. Nick Koston 42c4ed85a1
Remove legacy format exception for ESPHome entity naming (#143049) 2025-04-19 12:41:07 +02:00
J. Nick Koston 3e3697dc7a
Add reconfigure support to ESPHome (#143132) 2025-04-19 12:40:07 +02:00
Allen Porter 3da77726d0
Allow selection of multiple LLM APIs in Anthropic (#143190) 2025-04-19 12:34:51 +02:00
Josef Zweck 9b8a35dbb3
Add sensors to lamarzocco (#143156)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-19 12:30:22 +02:00
Josef Zweck 7c7f18b501
Add preinfusion settings to lamarzocco (#143159) 2025-04-19 12:29:08 +02:00
Josef Zweck 09131d8647
Add more features to lamarzocco updates (#143157) 2025-04-19 12:07:11 +02:00
Josef Zweck 9c9c115d1a
Add websocket connectivity binary sensor to lamarzocco (#143161) 2025-04-19 11:52:56 +02:00
LG-ThinQ-Integration 83f2acddf8
Raise ConfigEntryNotReady mqtt setup fails In LG ThinQ (#140488)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-04-19 11:50:13 +02:00
Allen Porter 4483025856
Update Google Generative AI to allow multiple LLM APIs (#143191) 2025-04-19 11:44:12 +02:00
Allen Porter 61e4be4456
Update OpenAI conversation agent to allow multiple LLM APIs (#143189) 2025-04-19 11:43:27 +02:00
Retha Runolfsson f11f4510a2
Add switchot switches unit test with restore state (#143250) 2025-04-19 11:39:52 +02:00
Brett Adams 7c3df46570
Add typed listeners to Teslemetry binary sensor platform (#142238) 2025-04-19 11:29:14 +02:00
Josef Zweck 44450f9d7d
Fix reconfigure flow for lamarzocco (#143152) 2025-04-19 11:07:45 +02:00
Brett Adams c34e280fc2
Add typed listeners to Teslemetry sensor platform (#142236) 2025-04-19 10:56:29 +02:00
Joost Lekkerkerker d8d9449e2b
Fix SmartThings soundbar without media playback (#143170) 2025-04-19 09:53:31 +02:00
tmenguy c422bcf1e2
Make renault scan interval dynamic (#142964)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-04-19 09:51:41 +02:00
Retha Runolfsson 27b7fb6f91
Add humidifier unit test for switchbot (#143207) 2025-04-19 09:48:01 +02:00
J. Nick Koston a7922690c4
Adjust cover reproduce state to prefer setting positions if supported (#143226) 2025-04-18 11:34:33 -10:00
Jan Bouwhuis 2b4c5178f4
Fix Intergas climate entity category (#143240) 2025-04-18 22:09:50 +02:00
J. Nick Koston 59588f960d
Fix flakey Bluetooth options flow tests (#143215) 2025-04-18 10:08:17 -10:00
Joost Lekkerkerker d3b335f53f
Fix missing binary sensor for CoolSelect+ in SmartThings (#143216) 2025-04-18 20:41:18 +03:00
J. Nick Koston 9b1ab34352
Fix hassio mocking in ESPHome dashboard tests (#143212) 2025-04-18 14:11:36 +02:00
J. Nick Koston 221a8597da
Make unknown media source exception translatable (#143208) 2025-04-18 01:17:56 -10:00
J. Diego Rodríguez Royo 60293648dc
Create Home Connect active and selected program entities only when there are programs (#143185)
* Create active and selected program entities only when there are programs

* Test improvements
2025-04-18 00:09:52 +02:00
Josef Zweck b88bf74e13
Cleanup lamarzocco tests (#143176) 2025-04-17 20:53:47 +02:00
peteS-UK 8355727eb1
Fix for media content type case in Squeezebox (#143099) 2025-04-17 18:56:28 +02:00
Abílio Costa c0b2193718
Use freezer for time change in Whirlpool config flow test (#143162) 2025-04-17 16:14:21 +02:00
Abílio Costa f9bb7e404e
Improve Whirlpool config flow test completeness and naming (#143118) 2025-04-17 13:40:57 +01:00
Josef Zweck bbb8a1bacc
Migrate lamarzocco to pylamarzocco 2.0.0 (#142098)
* Migrate lamarzocco to pylamarzocco 2.0.0

* bump manifest

* Remove CONF_TOKEN

* remove icons

* Rename coordiantor

* use none for token

* Bump version

* Move first get settings

* remove sensor snapshots

* Change iot_class from cloud_polling to cloud_push

* Update integrations.json

* Re-add release url

* Remove extra icon, fix native step

* fomat

* Rename const

* review comments

* Update tests/components/lamarzocco/test_config_flow.py

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

* add unique id check

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-17 13:34:06 +02:00
Petar Petrov 0aaa4fa79b
Create empty Z-Wave JS device on smart start provisioning (#140872)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-04-17 13:18:48 +02:00
Paul Bottein 4ed81fb03f
Use firmware name from device class for matter update entity (#143140)
* Use firmware name from device class for matter update entity

* Update tests
2025-04-17 12:50:10 +02:00
Åke Strandberg 7d13c2d854
Add miele diagnostics platform (#142900) 2025-04-17 11:42:07 +02:00
Petar Petrov cadbb623c7
New ZWave-JS migration flow (#142717)
* ZwaveJS radio migration flow

* Partial migration flow

* basic migration flow

* report exact progress to frontend

* Display backup file path

* string tweak

* update tests

* improve exception handling

* radio -> controller

* test tweak

* test tweak

* clean up and test error handling

* more tests

* test progress

* PR comments

* fix tests

* test restore progress

* more coverage

* coverage

* coverage

* make mypy happy

* PR comments

* Apply suggestions from code review

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

* ruff

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-04-17 10:14:47 +02:00
J. Nick Koston 6a36fc75cf
Fix flakey ESPHome dashboard tests (attempt 2) (#143123)
These tests do not need a config entry, only the integration
to be set up. Since I cannot replicate the issue locally after
1000 runs, I switched it to use async_setup_component to minimize
the potential problem area and hopefully fix the flakey test

I also modified the test to explictly set up hassio to ensure
the patch is effective since we have to patch a late import

last observed flake: https://github.com/home-assistant/core/actions/runs/14503715101/job/40689452294?pr=143106
2025-04-17 08:36:34 +02:00
Josef Zweck bf69d4e0a8
Add search to media_player (#140321)
* Add search to media_player

* rename attr

* Add searchable property

* add pagination parameters

* Add suggested changes

* Apply suggestions

* Fix cast tests

* Fix first set of components

* update snapshot

* More tests

* more test fixes

* Rename attr

* first own test

* Add to google test

* Add service test

* Rename search query arg

* Add required feature to search service

* remove kwarg

* Update homeassistant/components/media_player/__init__.py

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>

* fix hue test

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-04-16 23:09:16 +02:00
Guido Schmitz 3c1d93f503
Use entity_registry_enabled_by_default fixture in devolo Home Network (#143108) 2025-04-16 21:12:50 +02:00
Guido Schmitz 9fb7542a6f
Remove old test in devolo Home Network (#143095) 2025-04-16 17:29:44 +01:00
Guido Schmitz 42277955fa
Use icon translations in devolo Home Network device tracker (#143089) 2025-04-16 15:38:26 +02:00
Abílio Costa 950c332e36
Fix wrong return type in Whirlpool test helper (#143085) 2025-04-16 14:10:25 +02:00
Simone Chemelli 44d6f0bc2b
Increase uptime deviation for Shelly (#142996)
* Increase uptime deviation for Shelly

* fix test

* make troubleshooting easy

* change deviation interval

* increase deviation to 1m
2025-04-16 14:02:27 +02:00
rappenze 9bff88ad3e
Add diagnostics to fibaro integration (#143003)
* Add diagnostics to fibaro

* Enhance diagnostic test

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-04-16 14:52:42 +03:00
Guido Schmitz 8de23b9559
Raise on failed switching in devolo Home Network (#143072) 2025-04-16 13:49:37 +02:00
Abílio Costa fbba0d9a21
Remove unused fixtures from Whirlpool (#143082) 2025-04-16 13:39:28 +02:00
Abílio Costa 5beb415ada
Refactor Whirlpool climate tests (#142689) 2025-04-16 12:03:40 +01:00
J. Nick Koston c32654db18
Add translated exception for ESPHome action call failures (#143067) 2025-04-15 21:19:05 -10:00
J. Nick Koston f68111c59f
Fix flakey ESPHome dashboard setup test (#143057) 2025-04-16 07:59:09 +02:00
Kamil Breguła 1d845623a8
Add links to enable Google Calendar API (#142377)
* Add links to enable Google Calendar API

* Update tests
2025-04-15 21:24:32 -06:00
J. Nick Koston ae306893ff
Handle name conflicts in ESPHome config flow (#142966) 2025-04-15 08:09:51 -10:00
Sid 285f7ec696
Add number platform to eheimdigital (#142835)
* Add number platform to eheimdigital

* Pylint

* Review

* Update homeassistant/components/eheimdigital/number.py

* Update homeassistant/components/eheimdigital/number.py

* Review

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-15 16:45:56 +02:00
Brian Choromanski 595508bf7d
Check that time_pattern interval matcher is not zero (#142630)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-04-15 14:50:11 +01:00
Marc Mueller 4950bda406
Fix homeaticip_cloud RuntimeWarnings (#142961) 2025-04-14 23:32:52 +02:00
starkillerOG cf1cbc6d75
Add Reolink recording packing time (#142847) 2025-04-14 22:22:21 +02:00
Michael e418491f19
Add support for device sub units in AVM Fritz!SmartHome (#142845) 2025-04-14 22:19:14 +02:00
J. Nick Koston 8cb62341ef
Fix race to rename entity (#142584) 2025-04-14 21:42:23 +02:00
starkillerOG 40fd7cf852
Select correct Reolink device uid (#142864)
* Select correct device_uid

* Fix styling

* restructure

* Add test

* Update test_util.py

* Add explanation string
2025-04-14 20:12:34 +02:00
J. Nick Koston 9ce44845fe
Add a repair for ESPHome device conflicts (#142507) 2025-04-14 07:10:05 -10:00
cdnninja 82efa0893f
Vesync Display Switch Feature (#137493)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-14 17:26:21 +02:00
Hervé Cauwelier efc44d83bb
Add wind gust attribute to Météo France weather entity (#136839) 2025-04-14 15:41:10 +02:00
Petro31 9b274a0bc4
Correct template fan optimistic mode and supported features (#142414) 2025-04-14 15:40:29 +02:00
Barry vd. Heuvel aeca2842fe
Add WeHeat Flow sensors for pumps (#139390)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-14 15:39:44 +02:00
Emily Love Watson d44d07ffcf
Kulersky refactor to new Bluetooth subsystem (#142309)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-04-14 15:38:34 +02:00
karwosts 6a95abb831
Add effects translation/icon for Demo light (#142862) 2025-04-14 15:14:00 +02:00
hahn-th 6d74a6aa19
Refactor homematicip_cloud connection (#139081) 2025-04-14 15:01:55 +02:00
Joost Lekkerkerker 83c3275054
Remove deprecated state attributes in seventeentrack (#142622) 2025-04-14 14:40:08 +02:00
Joost Lekkerkerker b3eb0301ae
Remove YAML import in Point (#142627) 2025-04-14 14:37:45 +02:00
Joost Lekkerkerker f00dfd32d4
Remove config import in EmonCMS (#142624) 2025-04-14 14:30:41 +02:00
J. Nick Koston 514363f1c5
Use configured names in HomeKit for child accessories (#142531) 2025-04-14 14:24:43 +02:00
cdnninja f84f6aa713
Fix vesync purifier 131 tests (#142860) 2025-04-14 13:58:54 +02:00
Stefano Angeleri c8972a2234
Fix powerwall display of actual remaining battery, instead of reserved capacity (#142391) 2025-04-14 12:59:28 +02:00
Joost Lekkerkerker 583eb1a80e
Remove state attributes in Totalconnect (#142625) 2025-04-14 12:24:32 +02:00
J. Nick Koston 908a7c6991
Fix flakey bluetooth options flow tests (#142920) 2025-04-14 12:07:47 +02:00
J. Nick Koston 53b991fb54
Add preset modes to HKC fans (#142528) 2025-04-14 11:40:54 +02:00
J. Nick Koston a6643d8fb3
Add support for InkBird IAM-T1 (#142824) 2025-04-13 22:31:38 -10:00
J. Nick Koston 6f02550ac3
Include HKC BLE MAC in device info when available (#141900)
* Include HKC BLE MAC in device info when available

* update tests

* cover

* dry

* dry

* dry
2025-04-14 10:14:48 +02:00
J. Nick Koston 1aa996d5f0
Add debug logging to homekit when an sensor entity cannot be classified (#142707)
* Add debug logging to homekit when an sensor entity cannot be classified

In #132937 many hours were spent investigating an issue which
turned out to be that the entity did not have a device class
at startup because the group integration does not set the device
class if any of the underlying entities state is invalid.

closes #132937

* coverage

* Update tests/components/homekit/test_get_accessories.py
2025-04-14 10:12:27 +02:00
J. Nick Koston a340646e1e
Avoid starting ESPHome reauth when an unexpected device is found at the last address (#142814)
* Bump aioesphomeapi to 29.10.0

changelog: https://github.com/esphome/aioesphomeapi/compare/v29.9.0...v29.10.0

* Avoid starting ESPHome reauth when an unexpected device is found at the last address

fixes #133956

* coverage
2025-04-14 10:10:07 +02:00
J. Nick Koston 8767599ad4
Validate ESPHome mac address before updating IP on discovery (#142878)
* Bump aioesphomeapi to 29.10.0

changelog: https://github.com/esphome/aioesphomeapi/compare/v29.9.0...v29.10.0

* Validate ESPHome mac address before updating IP on discovery

In some cases the data coming in from discovery may be
stale since there is a small race window if devices
get new IP allocations. Since some routers do not update
their names right away and zeroconf has a non-zero TTL
there is a small window where the discovery data can be
stale. This is a rare condition but it does happen. With
aioesphomeapi 29.10.0+ and ESPHome 2025.4.x+ we can validate
the mac address even without the correct encryption key
which allows us to be able to always validate the MAC
before updating the IP from any discovery method.

* tweaks

* fix test
2025-04-14 10:02:46 +02:00
Joost Lekkerkerker 6d5c000e1f
Set entity categories for some entities in Syncthru (#142828)
Set entity categories for some entities
2025-04-14 09:51:41 +02:00
J. Nick Koston 8bcc4f4c82
Avoid setting up ESPHome dashboard if its been uninstalled (#142904)
* Avoid setting up ESPHome dashboard if its been uninstalled

* tweaks

* coverage

* coverage

* fix
2025-04-14 09:49:21 +02:00
J. Nick Koston 3389ee4b80
Bump inkbird-ble to 0.13.0 (#142885)
* Bump inkbird-ble to 0.12.0

changelog: https://github.com/Bluetooth-Devices/inkbird-ble/compare/v0.11.0...v0.12.0

* map discovery as well

* fix merge

* fix merge error

* bump again for more cleanups

* fix tests
2025-04-14 09:37:42 +02:00
Åke Strandberg cc6e2ef3f7
Spelling corrections in miele integration (#142907)
Spelling corrections
2025-04-14 09:36:02 +02:00
Glenn Waters 1a1c95af12
Bump Environment Canada library to 0.10.1 (#142882) 2025-04-13 18:39:50 -10:00
Allen Porter 658299ee21
Strip whitespace from new todo list item names (#142889)
Strip whitspace from new todo list item names
2025-04-13 17:42:42 -07:00
Allen Porter d91528648f
Update ollama to allow selecting mutiple LLM APIs (#142445)
* Update ollama to allow selecting mutiple LLM APIs

* Update homeassistant/helpers/llm.py

* Avoid gather since these don't do I/O

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-04-13 15:37:46 -07:00
J. Nick Koston 8b88272bc0
Add async_set_updated_data method to PassiveBluetoothProcessorCoordinator (#142879) 2025-04-13 11:08:22 -10:00
Jan Bouwhuis 7cf63d1985
Add transition and flash feature flags for MQTT JSON light (#142692) 2025-04-13 21:39:40 +02:00
Åke Strandberg 0b02b43b11
Add integration for Miele (#142498) 2025-04-13 21:09:41 +02:00
Simone Chemelli b25a0e2272
Small cleanup for Vodafone Station (#142867) 2025-04-13 18:57:00 +02:00
Mathijs van de Nes d6b4f1c95d
Ensure no ALPN is negotiated for SMTP (#142296) 2025-04-12 12:02:07 -10:00
Joost Lekkerkerker cba0cf0609
Migrate Syncthru to runtime data (#142775) 2025-04-12 20:59:59 +02:00
Joost Lekkerkerker ebe71a1a38
Add diagnostics support to Syncthru (#142776) 2025-04-12 20:22:12 +02:00
Joost Lekkerkerker 6feb9d4b4e
Add entity translations to Syncthru (#142774)
* Add entity translations to Syncthru

* Add entity translations to Syncthru

* Fix
2025-04-12 20:19:49 +02:00
Dionisis Toulatos 3489ea30dd
Fix MQTT device discovery when using node_id (#142784)
* Fix device discovery when using node_id

* tests

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2025-04-12 19:30:06 +02:00
J. Diego Rodríguez Royo eb19c7af32
Disable Home Connect appliance refresh when frequent disconnects are detected (#142615)
* Disable specific updates for an appliance when is done repeatedly

* Fix deprecation issues fix tests

* Fix message

* Avoid fetching appliance info also

* Apply suggestions

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

* Create specific RepairFlow for enabling appliance's updates

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-04-12 14:58:35 +02:00
Erik Montnemery 234c4c1958
Move backup backup onboarding API to an onboarding platform (#142713)
* Move backup backup onboarding API to an onboarding platform

* Move additional test from onboarding to backup

* Remove backup tests from onboarding
2025-04-12 09:41:54 +02:00
Robert Svensson c18d96e2f5
UniFi redact WLAN password (#142767)
* Recact password key word in WLAN diagnostic data

* Fix testdata
2025-04-12 01:15:15 +03:00
Manu b01eac3ba5
Fix error in recurrence calculation of Habitica integration (#142759)
Fix error in rrule calculation of Habitica integration
2025-04-11 19:39:40 +02:00
Simone Chemelli a3341c4330
Add full test coverage for Comelit humidifier platform (#141852)
* Add full test coverage for Comelit humidifier platform

* clean

* update snapshot

* apply review comment
2025-04-11 18:23:03 +02:00
Allen Porter ca07975ead
Fix Anthropic bug parsing a streaming response with no json (#142745) 2025-04-11 17:30:12 +02:00
Joost Lekkerkerker 7b78f6db17
Fix SmartThings gas meter (#142741) 2025-04-11 17:24:39 +02:00
Simone Chemelli 5816a24577
Cleanup snapshot call in tests (#142750) 2025-04-11 17:21:12 +02:00
Erik Montnemery 0105332476
Add WS command integration/wait (#142040)
* Add WS command integration/wait

* Add test

* Update homeassistant/components/websocket_api/commands.py

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

* Use helper setup.async_wait_component

* Add onboarding view

* Revert "Add onboarding view"

This reverts commit df3a1a0580.

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-04-11 16:09:15 +02:00
Erik Montnemery 4aca9cd66b
Move cloud onboarding API to an onboarding platform (#141978)
* Move cloud onboarding API to an onboarding platform

* Address review comments

* Add tests

* Move cloud onboarding tests to the cloud integration

* Address review comments

* Don't wait for platforms

* Add test

* Remove useless check for CLOUD_DATA
2025-04-11 16:02:27 +02:00
Martin Hjelmare cd45c5d886
Avoid Z-Wave config entry unload in test teardown (#142732) 2025-04-11 16:37:47 +03:00
Erik Montnemery 3b437c9b84
Add onboarding view /api/onboarding/integration/wait (#142688) 2025-04-11 13:43:18 +02:00
Martin Hjelmare af8ecdd48d
Improve Z-Wave reconfigure flow (#142475) 2025-04-11 12:15:11 +02:00
starkillerOG 16d9ccd423
Reolink migrate unique ID debugging (#142723)
* Filter out unexpected unique_ids

* correct

* Add test

* fix styling
2025-04-11 11:42:18 +02:00
Simone Chemelli e1d223f726
Add exceptions translation to SamsungTV (#142406)
* Add exceptions translation to SmasungTV

* Update strings.json

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

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2025-04-11 11:32:19 +02:00
Jan Bouwhuis 32da8c52f7
Add test to assert different private key types are accepted and stored correctly in MQTT config flow (#142703) 2025-04-11 00:58:48 +02:00
Jan Bouwhuis ea38639395
Validate MQTT device tracker location data before assigning (#141980)
* Validate MQTT device tracker location data before assigning

* Log warning for invalid gps_accuracy
2025-04-10 22:32:17 +02:00
Joost Lekkerkerker bf0d2e9bd2
Extract Syncthru coordinator in separate file (#142620) 2025-04-10 21:24:38 +02:00
Joost Lekkerkerker 6fafafbed0
Improve Syncthru config flow tests (#142618) 2025-04-10 21:16:12 +02:00
Erik Montnemery 5a09847596
Add backup support to the hassio OS update entity (#142580)
* Add backup support to the hassio OS update entity

* Remove meaningless assert
2025-04-10 20:56:02 +02:00
Jan Bouwhuis 505dfcbcd9
Use shorthand attributes for MQTT device tracker entity (#142671) 2025-04-10 19:51:36 +02:00
Erik Montnemery d4dbd76a0a
Revert "Add onboarding view /api/onboarding/integration/wait" (#142680)
This reverts commit 956cac8f1a.
2025-04-10 19:15:54 +02:00
Erik Montnemery eee6e8a2c3
Add WS command config_entries/flow/subscribe (#142459) 2025-04-10 16:58:46 +02:00
Abílio Costa a26cdef427
Refactor Whirlpool sensor tests (#142437) 2025-04-10 15:47:28 +01:00
Yuxin Wang 844515787b
Fallback to config entry ID as unique ID when serialno is not available for APCUPSD (#130852) 2025-04-10 16:45:46 +02:00
Erik Montnemery d5476a1da1
Store update settings in hassio store (#142526) 2025-04-10 11:55:07 +02:00
cnico ea50bbeb11
Flipr - Removal of obsolete code. (#142504)
Removal of obsolete code.
2025-04-10 10:48:03 +02:00
Imeon-Energy b51bb668c6
Add imeon inverter integration (#130958)
* Initial commit prototype with empty inverters

* Use modern methods and global variable for character strings

* Platform that get the value of the meter in an entity

* Add check if inverter already configured

* Add tests for config_flow

* Update "imeon_inverter_api" in manifest.json

* Update "imeon_inverter_api" in requirements_all.txt

* Remove async_setup, clean comments, use of const PLATFORM

* Use of global variable and remove configuration of device name

* Use of entry.data instead of user_input variable

* Remove services.yaml

* No quality scale

* Use of common string

* Add sensors, use of EntityDescription and '_attr_device_info'

* Remove name from config_flow tests

* Use sentence case and change integration from hub to device

* Check connection before add platform in config_flow

* Use of _async_setup and minor changes

* Improve sensor description

* Add quality_scale.yaml

* Update the quality_scale.json

* Add tests for host invalid, route invalid, exception and invalid auth

* Type more precisely 'DataUpdateCoordinator'

* Don't use 'self.data' directly in coordinator and minor corrections

* Complete full quality_scale.yaml

* Use of fixtures in the tests

* Add snapshot tests for sensors

* Refactor the try except and use serial as unique id

* Change API version

* Add test for sensor

* Mock the api to generate the snapshot

* New type for async_add_entries

* Except timeout error for get_serial

* Add test for get_serial timeout error

* Move store data out of the try

* Use sentence case

* Use of fixtures

* Use separates fixtures

* Mock the api

* Put sensors fake data in json fixture file

* Use of a const interval, remove except timeout, enhance lisibility

* Try to use same fixture in test_config_flow

* Try use same fixture for all mock of inverter

* Modify the fixture in the context manager, correct the tests

* Fixture return mock.__aenter__ directly

* Adjust code clarity

* Bring all tests to either ABORT or CREATE_ENTRY

* Make the try except more concise

* Synthetize exception tests into one

* Add code clarity

* Nitpick with the tests

* Use unique id sensor

* Log an error on unknown error

* Remove useless comments, disable always_update and better use of timeout

* Adjust units, set the model and software version

* Set full name for Battery SOC and use ip instead of url

* Use of host instead of IP

* Fix the unit of economy factor

* Reduce mornitoring data display precision and update snapshots

* Remove unused variable HUBs

* Fix device info

* Set address label 'Host or IP'

* Fix the config_flow tests

* Re evaluate the quality_scale

* Use of 'host' instead of 'address'

* Make inverter discoverable by ssdp

* Add test ssdp configuration already exist

* Add exemption in quality scale

* Test abort ssdp if serial is unknown

* Handle update error

* Raise other exceptions

* Handle ClientError and ValueError from the api

* Update homeassistant/components/imeon_inverter/quality_scale.yaml

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-04-10 08:25:35 +02:00
Abílio Costa dd97d5bc7e
Move Whirlpool test and clean unused code (#142617) 2025-04-10 00:59:00 +02:00
Maarten Staa 9fe306f056
Add support for air purifiers in HomeKit (#142467)
* Add support for air purifier type in HomeKit.

Any fan and PM2.5 in the same device will be treated as an air purifier.

type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.

* Refactor to make AirPurifier class extend Fan.

* Ensure all chars are added before creating service

* Add support for switching automatic mode.

* Add test for auto/manual switch

* Add support for air purifier type in HomeKit.

Any fan and PM2.5 in the same device will be treated as an air purifier.

type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.

* Add support for air purifier type in HomeKit.

Any fan and PM2.5 in the same device will be treated as an air purifier.

type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.

* Refactor to make AirPurifier class extend Fan.

* Ensure all chars are added before creating service

* Add support for switching automatic mode.

* Add test for auto/manual switch

* Add support for air purifier type in HomeKit.

Any fan and PM2.5 in the same device will be treated as an air purifier.

type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.

* Improve fan config: allow setting fan type (fan or air purifier)

Be more explicit than assuming a fan is an air purifier if it has a PM2.5 sensor. Set defaults based on the presence of sensors.

* Fix return type annotation for fan/air purifier create_services

* Allow linking air purifier filter level/change indicator

* Remove no longer needed if statement in fan init

* Fix up types and clean up code

* Update homekit tests to account for air purifiers

* Fix pylint errors

* Fix mypy errors

* Improve type annotations

* Improve readability of auto preset mode discovery

* Test air purifier with 'Auto' preset mode

* Handle case with a single preset mode

* Test air purifier edge cases: state updates to same value, and removed linked entities

* Don't create 'auto mode' switch for air purifiers

This is already exposed as a target mode on the air purifier service itself

* Handle unavailable states in air purifier

Also don't remove device class when updating state in test

* Reduce branching in air purifier test

* Split up air purifier tests for with and without auto presets, to reduce branching

* Handle unavailable states in air purifier more explicitly

* Use constant for ignored state values

* Use a set for ignored_states

* Update tests/components/homekit/test_type_air_purifiers.py

---------

Co-authored-by: Andrew Kurowski <62596884+ak6i@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick+github@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-04-09 10:20:21 -10:00
Christopher Fenner 76015740f8
Fix Quickmode handling in ViCare integration (#142561)
* only check quickmode if supported

* update snapshot

* revert
2025-04-09 20:36:41 +02:00
Simone Chemelli 816edb66c7
Add full test coverage for Fritz config_flow (#142418) 2025-04-09 20:22:26 +02:00
Joost Lekkerkerker ba629fbddb
Add Syncthru platform tests (#142596) 2025-04-09 12:00:56 -05:00
Erwin Douna b058b2574f
SMA add DHCP discovery (#135843)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-09 16:24:30 +02:00
Erik Montnemery 3ca1f07cc4
Remove meaningless asserts in some hassio tests (#142583) 2025-04-09 12:13:56 +02:00
Maciej Bieniek 06a2de4d1c
Fix Shelly initialization if device runs large script (#142487)
* Don't check the whole script to see if it generates events

* Fix tests

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-04-08 20:53:44 -10:00
Joost Lekkerkerker 528ca49368
Improve Syncthru tests (#142338) 2025-04-08 23:55:00 +02:00
Abílio Costa f872dc8948
Use base entity class for Whirlpool climate (#142548)
* Use base entity class for Whirlpool climate

* Set model_id instead of model
2025-04-09 00:39:45 +03:00
Norbert Rittel 6c1f9e39c4
Improve friendly names of `rf_strength` and `wifi_strength` in `netatmo` (#141673)
* Improve friendly names of `rf_strength` and `wifi_strength` in `netatmo`

- Replace "Radio" with "RF strength" for `rf_strength`
- Replace "Wi-Fi" with "Wi-Fi strength" for `wifi_strength`

* Update test_sensor.ambr

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.ambr
2025-04-08 18:16:20 +02:00
J. Nick Koston 626935ee14
Move inkbird coordinator logic into coordinator.py (#142517)
* Move inkbird coordinator logic into coordinator.py

Not a functional change, one to one relocation

* Move inkbird coordinator logic into coordinator.py

Not a functional change, one to one copy

* Move inkbird coordinator logic into coordinator.py

Not a functional change, one to one copy
2025-04-08 16:59:01 +02:00
Martin Hjelmare 38bf06e179
Improve parameters in Z-Wave init tests (#142532) 2025-04-08 15:18:22 +01:00
Erik Montnemery 0ed7348d2d
Fix typos in hassio (#142529) 2025-04-08 15:05:19 +02:00
Martin Hjelmare cb09207cd7
Improve Supervisor addon_running test fixture (#142525) 2025-04-08 14:03:16 +02:00
Sanjay Govind 894cc7cc4d
Add sensor platform to bosch_alarm (#142151)
* add sensor platform to bosch_alarm

* add icon translations for sensors

* translate entity names

* translate entity names

* translate entity names

* update snapshots

* translate ready to arm sensor

* translate ready to arm sensor

* update tests

* update translations

* remove history sensor, we will replace it with an events sensor later

* fix tests

* fix tests

* fix tests

* update tests

* fix sensor links

* only call async_add_entities once

* convert area alarms to sensors based on type

* add sensor for alarms

* add icons

* cleanup area sensor

* add available

* loop over dict

* use entity description

* use entity description

* clean up entity descriptions

* observe_alarms and observe_ready

* refactor alarm_control_panel to use base entity

* remove more old sensors

* add unit of measurement

* update test snapshots

* use correct observer
2025-04-08 13:55:43 +02:00
Jan Bouwhuis 26663756a5
Allow max to be equal with min for mqtt number config validation (#142522) 2025-04-08 12:00:05 +02:00
tronikos 167e766811
Add translations for connection closed errors in Android TV Remote (#142523) 2025-04-08 10:10:23 +02:00
J. Nick Koston 08304ca5f3
Small improvements to the repairs testing helpers (#142511)
- Fix incorrect type on flow_id and issue_id
- Show the error when something goes wrong
2025-04-08 09:59:39 +02:00
Maciej Bieniek 480d645650
Bump aioshelly to version 13.4.1 (#142477)
* Bymp aioshelly to 13.4.1

* Catch InvalidHostError

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-04-08 08:58:08 +02:00
Martin Hjelmare dacc4c230d
Add more Z-Wave USB discovery (#142460) 2025-04-08 09:30:43 +03:00
Sanjay Govind cb07e64b47
Add reconfig flow to bosch_alarm (#142451)
* add reconfig flow to bosch_alarm

* change translation string key

* change translation string key

* cleanup

* cleanup

* Update homeassistant/components/bosch_alarm/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* fix linting

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-04-08 08:22:39 +02:00
Ivan Lopez Hernandez c14380247b
Handle None on the response candidates in Google Generative AI (#142497)
* Added type checking on the candidates list

* Made error message a constant
2025-04-07 21:20:54 -07:00
J. Diego Rodríguez Royo 7ad13c8897
Delete Home Connect deprecated binary door sensor (#142490) 2025-04-07 20:23:38 +02:00
rappenze a787c6a31e
Add state multiplexer in fibaro integration (#139649)
* Add state multiplexer in fibaro integration

* Add unload test

* Adjust code comments

* Add event entity test

* .
2025-04-07 18:53:35 +02:00
G Johansson f2e4bcea19
Add subdiv aliases to workday (#133608)
* Add subdiv aliases to workday

* Fix

* Add lib test
2025-04-07 18:24:07 +02:00
RJPoelstra cd2313d2ca
Add tests to MotionMount integration (#137540)
* Add entity tests

* Add __init__ tests

* Cleanup

* Rename mock_motionmount_config_flow to mock_motionmount

* Remove unneeded PropertyMock

* Set defaults on mock_motionmount

* Test proper device is created

* Check whether proper device is created from test_init.py, also without mac

* Find callback and use that to update name
2025-04-07 18:16:44 +02:00
Retha Runolfsson 79b984d612
Add switchbot roller shade and hubmini matter support (#142168)
* Add roller shade and hubmini matter support

* add unit tests

* fix adv data
2025-04-07 16:25:00 +02:00
Erik Montnemery 2ed70ef241
Use mock_config_flow test helper in config tests (#142461) 2025-04-07 12:27:15 +02:00
J. Nick Koston 04dfa45db0
Add GATT polling support to INKBird (#142307)
* Add GATT polling support to INKBird

* reduce

* fixes

* coverage

* dry

* reduce

* reduce
2025-04-07 10:18:46 +02:00
J. Nick Koston 8d82ef8e36
Fix HKC showing hvac_action as idle when fan is active and heat cool target is off (#142443)
* Fix HKC showing hvac_action as idle when fan is active and heat cool target is off

fixes #142442

* comment relocation
2025-04-07 10:11:15 +02:00
Álvaro Fernández Rojas 7c488f1e54
Add thermostat battery and signal sensors for Airzone integration (#142390)
* airzone: add thermostat battery/signal sensors

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

* tests: airzone: use snapshot_platform for sensors

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

* airzone: rename sensor strength

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-04-06 20:07:46 +02:00
Sid b35a44a0e0
Add sensor platform to eheimdigital (#138809)
* Add fan platform to eheimdigital

* Fix pylint

* Convert fan to sensor platform

* Remove unnecessary changes

* Add state update test

* Review

* Review

* Review
2025-04-06 14:46:19 +02:00
J. Nick Koston d7ca168b77
Fix flapping logger test (#142367)
The websocket_api logger might get adjusted from other tests
so we cannot be sure its set at debug in this test
2025-04-06 00:09:11 -10:00
Álvaro Fernández Rojas 62845fe4a7
Update aioairzone to v1.0.0 (#142385)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-04-06 11:01:26 +03:00
J. Nick Koston dcef86a30d
Add DHCP discovery support to Bond (#142372)
* Add DHCP discovery support to Bond

* fixes

* unique ids are always upper

* raise_on_progress=False for user

* Update tests/components/bond/test_config_flow.py

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

* assert unique id

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-05 14:22:23 -10:00
tdfountain cd7d7cd35c
Add reconfiguration flow to NUT (#142127)
* Add reconfiguration flow

* Check host/port/alias without comparing strings

* Replace repeat strings with references
2025-04-05 11:02:46 -10:00
Robert Resch 33cbebc727
Add some Xiaomi BLE sensor translations (#142109) 2025-04-05 10:51:43 -10:00
Arie Catsman 6da37691ff
Improve enphase_envoy diagnostics error handling to retain collected data (#142255)
Improve enphase_envoy Diagnostics error handling to retain collected data
2025-04-05 10:51:22 -10:00
Andrew Sayre 660cbc136f
Add move queue item HEOS entity service (#142301) 2025-04-05 15:05:01 -05:00
Sanjay Govind 9692d637ca
Add reauth flow to bosch_alarm (#142251)
* add reauth flow

* fix tests

* move not happy flow to its own test

* reference existing strings

* Update test_config_flow.py
2025-04-05 14:26:35 +02:00