Commit Graph

27060 Commits (freeze_timeout_installing_packages)

Author SHA1 Message Date
J. Nick Koston d69bcc02b0
Pass scanner mode to shelly Bluetooth scanner (#140689)
habluetooth will eventually be able to make better decisions
on how to route data based on the scanning mode.
2025-03-15 12:00:23 -10:00
Thomas55555 ed0b1f58dc
Bump aioautomower to 2025.3.1 (#140682) 2025-03-15 21:30:19 +01:00
Joost Lekkerkerker 43898d7845
Add valve platform to SmartThings (#140195)
* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* fix

* fix

* Add AC tests

* Add thermostat tests

* Add cover tests

* Add device tests

* Add light tests

* Add rest of the tests

* Add valve

* Add oauth

* Add oauth tests

* Add oauth tests

* Add oauth tests

* Add oauth tests

* Bump version

* Add rest of the tests

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Fix

* Fix
2025-03-15 20:28:51 +01:00
Joost Lekkerkerker bff73ee5f8
Add EHS test fixture to SmartThings (#140199) 2025-03-15 20:28:04 +01:00
Jeff Terrace 02a75edf1d
Add onvif parser support for reolink package and hikvision alarm (#140669) 2025-03-15 09:03:40 -10:00
EnjoyingM c1c8deed0c
Fix sensor values for Power and Energy for Wolf Heatpumps (#139007)
* Add sensor values for Power and Energy

* test

* test

* Sensor test

* Fix test

* fix test

* Fixing test coverage

* refactored

* WolfllinkSensorEntityDescriptions and updated tests

* fix test

* Add name_fn and test_sensor adoptions

* fix test coverage

* Revert "fix test coverage"

This reverts commit 2405751f5a.

* resolve requested changes and fix test

* Fix Snapshot

* clean up

* Fixed unknown state in snapshot test
2025-03-15 19:56:45 +01:00
Simone Chemelli 2fd91e7f9c
Remove unknown from Shelly sensor state (#140597) 2025-03-15 18:10:35 +01:00
Joost Lekkerkerker b7e2e041bc
Make Oven setpoint follow temperature UoM in SmartThings (#140666) 2025-03-15 15:08:21 +01:00
J. Diego Rodríguez Royo 940625505f
Handle non documented options at Home Connect select entities (#140608)
* Allow non documented options at select entities

* Don't allow undocumented options
2025-03-15 14:17:16 +01:00
Tim Laing 13b6cfa438
Add generate content service for OpenAI to match Google AI (#122818)
* Aded Generate Content Service for OpenAI to match Google AI

* Fixed code for commit checks

* Addressed code review comments

* Address review comments

* Addressed @balloob review comments.

* Address futher review comments from @balloob
2025-03-14 22:54:49 -04:00
J. Nick Koston 5dc1a321dd
Rework cover reproduce_state to consider supported features (#140558)
* Handle open/closed state in reproduce_state for tilt only covers

fixes #137144

* cleanups

* cleanups

* cleanups

* cleanups

* cleanups

* cleanups

* cleanups

* cleanups

* cleanups

* cleanups

* cleanups

* cleanups

* rework

* rework

* rework

* rework

* more coverage

* more coverage

* more coverage

* more coverage

* more coverage

* more coverage

* more coverage

* more coverage

* more coverage

* more coverage

* more coverage

* back compat

* back compat

* back compat

* cleanups

* cleanups

* cleanups

* cleanups

* comments

* comments
2025-03-14 22:14:09 -04:00
Denis Shulyaka 07e7672b78
Anthropic conversation extended thinking support (#139662)
* Anthropic conversation extended thinking support

* update conversation snapshots

* Add conversation test

* Update openai_conversation snapshots

* Removed metadata

* Removed metadata

* Removed thinking

* cosmetic fix

* combine user messages

* Apply suggestions from code review

* Add tests for chat_log messages conversion

* s/THINKING_BUDGET_TOKENS/THINKING_BUDGET/

* Apply suggestions from code review

* Update tests

* Update homeassistant/components/anthropic/strings.json

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

* apply suggestions from code review

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-03-14 22:07:59 -04:00
Luke Lashley baafcf48dc
Separate Roborock entities to a new dock device (#140612)
* Seperate entities to a new dock device

* update entity names

* Update homeassistant/components/roborock/coordinator.py

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-03-14 22:06:09 -04:00
Jeff Terrace 11e15b1405
Move redundant attribute and key error handling to event parser caller (#140630) 2025-03-14 14:16:35 -10:00
puddly 537302ce56
ZBT-1 and Yellow firmware update entities for Zigbee/Thread (#138505)
* Initial implementation of hardware update model

* Fixes

* WIP: change the `homeassistant_sky_connect` integration type

* More fixes

* WIP

* Display firmware info in the device page

* Make progress more responsive

* WIP: Yellow

* Abstract the bootloader reset type

* Clean up comments

* Make the Yellow integration non-hardware

* Use the correct radio device for Yellow

* Avoid hardcoding strings

* Use `FIRMWARE_VERSION` within config flows

* Fix up unit tests

* Revert integration type changes

* Rewrite hardware ownership context manager name, for clarity

* Move manifest parsing logic into a new package

Pass the correct type to the firmware API library

* Create and delete entities instead of mutating the entity description

* Move entity replacement into a `async_setup_entry` callback

* Change update entity category from "diagnostic" to "config"

* Have the client library handle firmware fetching

* Switch from dispatcher to `async_on_state_change`

* Remove unnecessary type annotation on base update entity

* Simplify state recomputation

* Remove device registry code, since the devices will not be visible

* Further simplify state computation

* Give the device-less update entity a more descriptive name

* Limit state changes to integer increments when sending firmware update progress

* Re-raise `HomeAssistantError` if there is a problem during flashing

* Remove unnecessary state write during entity creation

* Rename `_maybe_recompute_state` to `_update_attributes`

* Bump the flasher to 0.0.30

* Add some tests

* Ensure the update entity has a sensible name

* Initial ZBT-1 unit tests

* Replace `_update_config_entry_after_install` with a more explicit `_firmware_info_callback` override

* Write the firmware version to the config entry as well

* Test the hardware update platform independently

* Add unit tests to the Yellow and ZBT-1 integrations

* Load firmware info from the config entry when creating the update entity

* Test entity state restoration

* Test the reloading of integrations marked as "owning"

* Test installation failure cases

* Test firmware type change callback failure case

* Address review comments
2025-03-15 00:28:02 +01:00
Michel van de Wetering 160b98bd28
Fix media_player Toggle when in idle (#78192)
* Remove idle as off state

* Fix merge mistake

* Fix merge mistake

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-03-14 17:24:39 +01:00
Manu 78a04776e4
Add update_daily action to Habitica integration (#140328)
* add update_daily action

* day strings
2025-03-14 16:49:56 +01:00
Paul Bottein 324f208d68
Add lawn mower support to Google Assistant (#140530)
* Add lawn mower support to google assistant

* Update snapshots

* Sort alphabetically

* Refactor service call

* Refactor service call

* Feedback
2025-03-14 15:22:23 +00:00
Brett Adams 251bb30dc7
Add streaming media platform to Teslemetry (#140482)
* Update media player

* Add media player platform with tests and bump firmware
2025-03-14 15:27:18 +01:00
Petar Petrov de0efd61d1
Add Z-Wave JS NVM backup and restore API (#139233)
* ZWaveJS: NVM backup and restore API

* remove unused const

* test fix

* switch to WS commands

* Backup & restore MVP

* Use base64 data directly

* update tests

* fix mistake

* Apply suggestions from code review

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

* PR comments

* update tests

* more tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-03-14 15:17:23 +01:00
Erik Montnemery 08fc6dcff6
Allow configuring ignored devices from improve_ble user flow (#140595) 2025-03-14 16:05:58 +02:00
Erik Montnemery 96a6d88dca
Allow configuring ignored devices from dormakaba_dkey user flow (#140596) 2025-03-14 16:01:43 +02:00
Luke Lashley 1bd8ff884e
Improve Snoo testing (#139302)
* improve snoo testing

* change to asyncMock method of testing

* Apply suggestions from code review

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

* address comments

* Apply suggestions from code review

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

* adress comments

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-03-14 14:58:55 +01:00
Jan Bouwhuis a8f1df3e55
Add availability support for MQTT subentries (#138673)
* Add availability support for MQTT subentries

* Update homeassistant/components/mqtt/config_flow.py

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

* Update homeassistant/components/mqtt/config_flow.py

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

* Update homeassistant/components/mqtt/config_flow.py

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

* Update homeassistant/components/mqtt/strings.json

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-03-14 14:56:27 +01:00
Luke Lashley 7ff842fc37
Add dynamic update interval to Roborock (#140563)
* Add dynamic update interval to Roborock

* mr comments

* update time intervals

* Set A01 to 1 minute

* set interval to 30
2025-03-14 06:55:18 -07:00
Brett Adams 220bd5a27f
Fix time to full charge in Teslemetry (#137996)
* Fix streaming full charge

* ruff
2025-03-14 14:48:17 +01:00
Brett Adams 4e759e59a4
Add streaming switches to Teslemetry (#137145)
* Add streaming switches

* Add switch tests

* Update snapshot

* Fix sentry

* update test docstring
2025-03-14 14:41:09 +01:00
Jan Bouwhuis bd4d0ec4b8
Add initial MQTT subentry support for notify entities (#138461)
* Add initial MQTT subentry support for notify entities

* Fix componts assigment is reset on device config. Translation tweaks

* Rephrase

* Go to summary menu when components are set up already - add test

* Fix suggested device info on config flow

* Invert

* Simplify subentry config flow and omit menu

* Use constants instead of literals

* More constants

* Teak some translations

* Only show save when the the entry is dirty

* Do not trigger an entry reload twice

* Remove encoding, entity_category

* Remove icon from mqtt subentry flow

* Separate entity settings and MQTT specific settings

* Remove object_id and refactor

* Migrate translations

* Make subconfig flow test extensible

* Make sub reconfig flow tests extensible

* Rename entity_platform_config step to mqtt_platform_config

* Make component unique ID independent from the name

* Move code for update of component data to helper

* Follow up on code review

* Skip dirty stuff

* Fix rebase issues #1

* Do not allow reconfig for entity platform/name, default QoS and refactor tests

* Add entity platform and entity name label to basic entity config dialog

* Rename to exclude_from_reconfig and make reconfig option not optional
2025-03-14 14:00:07 +01:00
Joost Lekkerkerker dcc63a6f2e
Bump ruff to 0.10.0 (#140541)
* Bump ruff to 0.10.0

* Bump ruff to 0.10.0

* Bump ruff to 0.10.0

* Bump ruff to 0.10.0

* Update pyproject.toml

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Fix

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2025-03-14 12:32:50 +00:00
Petar Petrov ae8709be21
Expose ZWaveJS`supports_long_range` to the frontend (#140489)
* Expose ZWaveJS`supports_long_range` to the frontend

* update test
2025-03-14 12:19:49 +01:00
Maciej Bieniek 5ea7c113b0
Use test snapshots for Shelly climate (#140582) 2025-03-14 11:15:38 +01:00
Norbert Rittel 8726be31ff
Use correct unit symbol "min" for minutes in `webmin` integration (#140448)
* Use correct unit symbol "min" for minutes in `webmin` integration

Replace the unit symbol "m" which stands for meter with the correct SI uni symbol "min".

* Update test_sensor.ambr

* Update test_sensor.ambr (2)
2025-03-14 10:28:37 +01:00
Jan-Philipp Benecke 99b140f73f
Remove WebDAV properties and rely on metadata file (#140539) 2025-03-14 10:21:16 +01:00
Louis Christ d952e8186f
Use only IPv4 for zeroconf in bluesound integration (#140226)
* Use only ipv4 for zeroconf

* Fix tests

* Use only ip_address for ip version check

* Add test

* Reduce test
2025-03-14 10:20:16 +01:00
Marc Mueller f48d94ce34
Use TypeVar default for Generator (#140506) 2025-03-14 10:08:39 +01:00
J. Nick Koston 23f4f97603
Bump habluetooth to 3.27.0 (#140569)
changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v3.25.1...v3.27.0
2025-03-13 22:57:24 -10:00
Petro31 84667fd32d
Migrate template light to new style (#140326)
* Migrate template light to new style

* add modern templates to tests

* fix comments
2025-03-14 09:00:46 +01:00
Joost Lekkerkerker 058aed96d2
Fix windowShadeLevel capability in SmartThings (#140552) 2025-03-14 01:28:08 +02:00
Joost Lekkerkerker b1285fcc4e
Set unit of measurement for SmartThings oven setpoint (#140560) 2025-03-14 01:28:01 +02:00
Marc Mueller 5cf3bea8fe
Fix unnecessary-dict-comprehension-for-iterable (C420) (#140555) 2025-03-13 23:32:00 +01:00
Marc Mueller b48ab77a38
Fix call on root logger (LOG015) (#140556) 2025-03-13 23:02:26 +01:00
Paul Bottein cdead8661d
Add lawn mower support to HomeKit (#140438)
Add lawn mower support to homekit
2025-03-13 10:27:00 -10:00
Shay Levy 87f726141a
Fix ollama history trimming test (#140538) 2025-03-13 19:41:45 +00:00
Maciej Bieniek fa57d57215
Fix Shelly diagnostics for devices without WebSocket Outbound support (#140501)
* Don't assume that `ws` is always in config

* Fix device
2025-03-13 20:58:09 +02:00
Paulus Schoutsen 55895df54d
Switch more TTS core to async generators (#140432)
* Switch more TTS core to async generators

* Document a design choice

* robust

* Add more tests

* Update comment

* Clarify and document TTSCache variables
2025-03-13 13:24:44 -04:00
Paulus Schoutsen f32bb1a318
Assist satellite to use TTS tokens for announcements (#140336)
* Migrate Assist Satellite to use token

* Fix tests

* Fix tests
2025-03-13 08:36:38 -05:00
Erik Montnemery 427aa55789
Correct fallback to state in state machine when processing statistics (#140396) 2025-03-13 09:28:15 +01:00
Pieter Viljoen ffa6f42c0e
Use `runtime_data` to store coordinator state (#140486)
Use runtime-data to save coordinator state
2025-03-13 08:52:42 +01:00
Pete Sage 1f6658fca0
Prevent ipv6 discovery messages for Sonos (#139648) 2025-03-12 15:19:09 -04:00
dontinelli d3376f31d0
Bump fyta_cli to 0.7.1 (#140452) 2025-03-12 15:29:43 +01:00
J. Nick Koston 06019e7995
Split timeout in lutron_caseta to increase configure timeout (#138875) 2025-03-12 10:59:36 +00:00
Austin Mroczek 2f1ff5ab95
TotalConnect refactor tests (#140240)
* refactor button

* refactor test_options_flow
2025-03-12 09:52:28 +02:00
epenet 593ae48aa2
Migrate mqtt tests to use unit system (#140376)
* Migrate mqtt tests to use unit system

* Fix param list

* Missed one

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
2025-03-12 09:47:34 +02:00
Jan-Philipp Benecke 0b41d056d3
Only do WebDAV path migration when path differs (#140402) 2025-03-11 20:05:02 +01:00
Andrew Sayre d8bcba9ef0
Enable HEOS automatic failover (#140394)
Failover
2025-03-11 13:00:43 -05:00
epenet a13911e00e
Rename test helpers module in mqtt (#140375)
* Rename test helpers module in mqtt

* missed a file
2025-03-11 18:00:51 +01:00
Paulus Schoutsen 0ba5711603
Add TTS token to TTS-END event (#140333) 2025-03-11 17:54:39 +01:00
Lincoln Kirchoff 95afebceb4
Add modbus climate hvac action (#139864)
* Added the hvac action attribute for modbus climate entities.

* Fixed issue in hvac action unit test, was incorrectly referencing the hvac mode attribute.

* Fixed the modbus climate test for hvac action, it now correctly checks that hvac actions in the config match HVACActions.

* Made changes recommended by @crug80 to remove dead code and to add ability to use input or holding register for hvac action.

* Moved action test case in test_climate.py

* Updated comment for `test_service_climate_action_update`

* Fixed ruff formatting error.

* Addressed request to update labels from `state_*` to `action_*`
2025-03-11 15:27:47 +00:00
Joost Lekkerkerker 71159c755f
Delete subscription on shutdown of SmartThings (#140135)
* Cache subscription url in SmartThings

* Cache subscription url in SmartThings

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Bump pysmartthings to 2.7.1

* 2.7.2

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-03-11 15:33:32 +01:00
Luke Lashley 3c57b12cd1
Fix bug with all Roborock maps being set to the wrong map when empty (#138493)
* Fix bug with all maps being set to the same when empty

* fix parens

* fix other parens

* rework some of the logic

* few small updates

* Remove test that is no longer relevant

* remove updated time bump
2025-03-11 07:31:20 -07:00
Pete Sage 6c54f8dff2
Fix browsing Audible Favorites in Sonos (#140378)
* initial commit

* updates

* update test data
2025-03-11 14:56:41 +01:00
Joost Lekkerkerker 536109251e
Make sure SmartThings light can deal with unknown states (#140190)
* Fix

* add comment

* Make light unknown

* Make light unknown
2025-03-11 14:47:13 +01:00
epenet 1c242a6602
Migrate homekit tests to use unit system (#140372) 2025-03-11 15:10:20 +02:00
Joost Lekkerkerker 0e7a083847
Handle incomplete power consumption reports in SmartThings (#140370) 2025-03-11 14:10:06 +01:00
epenet 25d6974137
Migrate balboa tests to use unit system (#140371) 2025-03-11 15:09:50 +02:00
Jan-Philipp Benecke d2124db3ec
Fix double space quoting in WebDAV (#140364) 2025-03-11 14:06:44 +01:00
Joost Lekkerkerker bc6d342919
Fix no temperature unit in SmartThings (#140363) 2025-03-11 14:03:15 +01:00
epenet daaa1486fc
Migrate lg_thinq tests to use unit system (#140365) 2025-03-11 14:54:21 +02:00
epenet 7826bb9323
Migrate google_assistant tests to use unit system (#140366) 2025-03-11 13:51:56 +01:00
epenet 289e94f270
Migrate gree tests to use unit system (#140358) 2025-03-11 14:38:44 +02:00
epenet b160ce21fc
Migrate google_assistant tests to use unit system (#140357) 2025-03-11 13:21:00 +01:00
Maciej Bieniek 98cf936ff5
Improve config flow for GIOS (#139935)
* Initial commit

* Use TYPE_CHECKING

* Update strings

* Remove default value

* Improve tests
2025-03-11 13:52:40 +02:00
Norbert Rittel 3199b538ee
Capitalize "HVAC" abbreviation in `fritzbox` integration (#140344)
* Capitalize "HVAC" abbreviation in `fritzbox` integration

* Update test_climate.py

* Update test_climate.py (2)
2025-03-11 11:12:22 +01:00
Artur Pragacz 4f25296c50
Improve dependencies resolution (#138502)
* Improve dependencies resolution

* Improve tests

* Better docstrings

* Fix comment

* Improve tests

* Improve logging

* Address feedback

* Address feedback

* Address feedback

* Address feedback

* Address feedback

* Simplify error handling

* small log change

* Add comment

* Address feedback

* shorter comments

* Add test
2025-03-11 10:12:23 +01:00
Tsvi Mostovicz 52408e67b2
Update hdate dependency to 1.0.3 (#137247)
* Update hdate version

* Update code to reflect changes from hdate==1.0.0

* Fix some tests

* Fix parasha tests

* Fix  holiday tests

* Cleanup holidays changes

* Zmanim objects should now access the local attribute

* Fix binary sensors

* Update test values on upcoming shabbat times

* Update hdate to 1.0.1

* Adapt to changes from 1.0.0 -> 1.0.1

* Change shabbat candle lighthing test scenario to 40 minutes as expected in Jerusalem

* Update to version 1.0.2

* Update keys based on updated nomenclature in library

* Update HolidayDatabase .get_all_names in test

* Make holiday type an ordered set

* Fix freeze_time

* Fix imports

* Fix tests and minor change

* Update hdate version 1.0.3, add migration method

* Fix migration code

* Add test for migration

* The change is not backwards compatible if config is not restored
2025-03-11 09:43:29 +01:00
Andrew Sayre 6e2148193a
Bump pyheos to v1.0.3 (#140310)
Bump pyheos v1.0.3
2025-03-11 09:18:31 +01:00
Andrew Jackson cdff2e4648
Add strict typing of post to Mastodon (#140299)
* Type post API

* Update quality scale
2025-03-11 09:11:46 +01:00
Antoine Reversat 37213503b1
Do not add outside temperature sensor for FGLair if reading is None (#140298)
* Do not add outside temperature sensor if reading is None

* Fix comments
2025-03-10 22:16:44 +00:00
Norbert Rittel bf50ee9b5e
Capitalize abbreviations in `lektrico` integration (#140311)
* Capitalize abbreviations in `lektrico` integration

* Update test_number.ambr

* Update test_binary_sensor.ambr

* Update test_binary_sensor.ambr

* Update test_number.ambr
2025-03-10 22:12:47 +00:00
Andrew Jackson 290116029b
Add strict typing of account & instance to Mastodon (#139739)
Add strict typing of account & instance
2025-03-10 15:54:18 +01:00
Brett Adams 8620309f9e
Add streaming to Teslemetry update platform (#140021)
* Update platform

* Tests

* fix tests
2025-03-10 15:06:40 +01:00
Erik Montnemery 219b441be0
Don't allow creating backups if Home Assistant is not running (#139499)
* Don't allow creating backups if hass is not running

* Revert "Don't allow creating backups if hass is not running"

This reverts commit 1bf545eb25.

* Set backup manager to idle only after Home Assistant has started

* Update according to discussion, add tests

* Add more test
2025-03-10 14:40:08 +01:00
Joost Lekkerkerker 76e76a417c
Fix dryer operating state in SmartThings (#140277) 2025-03-10 12:19:18 +01:00
Jan Bouwhuis 6284a83a34
Fix `client_id` not generated when connecting to the MQTT broker (#140264)
Fix client_id not generated when connecting to the MQTT broker
2025-03-10 11:04:49 +01:00
Maciej Bieniek e831b1b230
Add support for BH1750 illuminance sensor in Nettigo Air Monitor integration (#140242)
* Add support for BH1750 illuminance sensor

* Update strings

* Update test snapshot
2025-03-10 10:38:44 +02:00
Felipe Santos 8192f2ef2e
Fix ONVIF camera entities ids getting shuffled on reload (#139676) 2025-03-09 17:17:55 -10:00
Maciej Bieniek b3d640982d
Bump `nettigo_air_monitor` to version 4.1.0 (#140241)
* Bump nam to 4.1.0

* Update test snapshot
2025-03-10 01:29:25 +02:00
David Bonnes 93982241a2
Bump evohome-async to 1.0.4 to fix #140194 (#140230)
bump client, add test for fix  #140194
2025-03-09 23:45:47 +02:00
J. Diego Rodríguez Royo 1766f87620
Refresh Home Connect token during config entry setup (#140233)
* Refresh token during config entry setup

* Test 500 error

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-03-09 21:59:09 +01:00
Keith ff622af888
Add locking and unlocking feature to igloohome integration (#136002)
* - Added lock platform
- Added creation of IgloohomeLockEntity when bridge devices are included.

* - Migrated retrieval of linked_bridge utility to utils module.
- Added ability for lock to update it's own linked bridge automatically

* - Added mock bridge device to test fixture

* - Added snapshot test for lock module

* - Added bridge with no linked devices
- Added test for util.get_linked_bridge

* - Added handling of errors from API call

* - Bump igloohome-api to v0.1.0

* - Minor change

* - Removed async update for locks. Focus on MVP

* - Removed need for update on entity creation

* - Updated snapshot test

* - Updated snapshot

* - Updated to use walrus during lock entity creation
- Updated callback class for async_setup_entry based on lint suggestion

* - Set _attr_name as None
- Updated snapshot test

* Update homeassistant/components/igloohome/lock.py

* Update homeassistant/components/igloohome/lock.py

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-03-09 20:47:13 +01:00
Martin Hjelmare f3a43e273a
Fix mysensors climate target temps (#140220)
* Test hvac node only hvac

* Assert supported features in all climate tests

* Fix mysensors climate target temperatures
2025-03-09 20:11:13 +01:00
msm595 befcd63221
Fix the order of the group members attribute of the Music Assistant integration (#140204) 2025-03-09 16:07:35 +01:00
Maciej Bieniek 8a67e89e91
Improve category map for air quality and pollen sensors in AccuWeather (#140193)
* Fix typo

* Improve category map for air quality and pollen

* Update test snapshot
2025-03-09 16:18:26 +02:00
Franck Nijhof e8069e1c07
Add template functions: md5, sha1, sha256, sha512 (#140192) 2025-03-09 16:15:27 +02:00
Jan Bouwhuis 1a46edffaa
Deprecate use of invalid unit of measurement for mqtt sensor (#140164)
* Deprecate use of invalid unit of measurement for mqtt sensor

* Update learn more URL to point to user docs instead

* typo
2025-03-09 14:20:31 +01:00
Manu e2d4e8b65d
Add create_todo action to Habitica integration (#140090) 2025-03-09 13:47:15 +01:00
Simone Chemelli 03aff0d662
Use CONF_* const in Shelly tests (#140189) 2025-03-09 13:07:20 +01:00
J. Nick Koston d9d47f7203
Migrate shelly Bluetooth scanner to use correct MAC address (#140180) 2025-03-09 13:28:56 +02:00
Artur Pragacz f0c5e00cc1
Fix conversation trigger with variables (#140066) 2025-03-08 22:23:24 -05:00
Jan Bouwhuis 0d3011f0fb
Revert "Check if the unit of measurement is valid before creating the entity" (#140155)
Revert "Check if the unit of measurement is valid before creating the entity …"

This reverts commit 99e1a7a676.
2025-03-08 23:04:05 +01:00
Franck Nijhof 9aa8a786a5
Add template function: flatten (#140157) 2025-03-08 11:14:27 -10:00
Matthias Alphart 62c025fd12
Use HAs configured timezone for KNX expose time (#140158)
* Use HAs configured timezone for KNX expose time

* use `hass.config.async_set_time_zone` in tests
2025-03-08 21:46:15 +01:00
Franck Nijhof e54febdc1e
Add template function: typeof (#140081) 2025-03-08 09:16:21 -10:00
Jan Bouwhuis d94bdb7ecd
Fix MQTT JSON light not reporting color temp status if color is not supported (#140113) 2025-03-08 09:15:56 -10:00
Maciej Bieniek 06fd6442b6
Use the set language for condition sensors in Accuweather integration (#140107)
* Use the set language for condition sensors

* Update strings

* Update test snapshots

* Add missing string
2025-03-08 21:03:25 +02:00
Joost Lekkerkerker b910bc7802
Set device class for Oven Completion time in SmartThings (#140139) 2025-03-08 20:58:10 +02:00
Luke Lashley 6754bf2466
Send Roborock commands via cloud api when needed (#138496)
* Send via cloud api when needed

* Extract logic to helper function

* change to class method
2025-03-08 10:04:40 -08:00
Joost Lekkerkerker 105d9d5970
Handle None options in SmartThings (#140110)
* Handle None options in SmartThings

* Handle None options in SmartThings
2025-03-08 14:59:10 +01:00
Andrew Sayre 81e6b93529
Fix HEOS user initiated setup when discovery is waiting confirmation (#140119) 2025-03-08 14:57:44 +01:00
Joost Lekkerkerker f209d75f2c
Support null supported Thermostat modes in SmartThings (#140101) 2025-03-08 11:27:26 +01:00
Joost Lekkerkerker ea33925afc
Check support for thermostat operating state in SmartThings (#140103) 2025-03-08 11:22:09 +01:00
Andrew Sayre deea19db51
Fix HEOS discovery error when previously ignored (#140091)
Abort ignored discovery
2025-03-07 23:31:32 -05:00
J. Nick Koston e2c050ed40
Cache sensor precision calculation (#140019) 2025-03-07 16:14:22 -10:00
Franck Nijhof d4f205c366
Add template function: shuffle (#140077) 2025-03-07 20:36:17 -05:00
Petro31 293d455cba
Add check for invalid options with specific platforms (#140082) 2025-03-08 00:09:04 +01:00
Simone Chemelli 99b5adaef1
Cleanup add_to_hass method in Shelly tests (part 1) (#140075) 2025-03-07 23:04:49 +01:00
Josef Zweck 3b03a37f3b
Add file upload service to OneDrive (#139092)
* Add file upload service to OneDrive

* fix

* Add test

* docstring

* docstring

* Fix capitalization in description text.
2025-03-07 20:05:13 +01:00
Manu 3ccb7d80f3
Add `update_todo` action to Habitica (#139799)
* update_todo action

* fix strings
2025-03-07 19:40:17 +01:00
Joost Lekkerkerker e51154ae69
Restore SmartThings button event (#140044)
* Restore SmartThings button event

* Fix
2025-03-07 15:46:00 +01:00
Martin Hjelmare 27964e16c1
Clean up ondilo ico oauth2 (#139927) 2025-03-07 15:26:40 +01:00
Joost Lekkerkerker 0aa09a2d51
Only keep valid powerConsumptionReports in SmartThings (#140049)
* power consumption report

* Only keep valid powerConsumptionReports in SmartThings
2025-03-07 15:04:46 +01:00
Joost Lekkerkerker 62e45e393d
Fix SmartThings thermostat climate check (#140046)
* Fix SmartThings thermostat climate check

* Add tests
2025-03-07 14:56:31 +01:00
Brett Adams 935890e4e0
Fix shift state default in Teslemetry and Tessie (#140018)
* Fix again

* Fix Tessie

* Update snap
2025-03-07 13:28:21 +01:00
Abílio Costa 82d5304b45
Update whirlpool-sixth-sense to 0.19.1 (#139987) 2025-03-07 13:13:35 +01:00
David Bonnes c834944ee7
Fix evohome to gracefully handle null schedules (#140036)
* extend tests to catch null schedules

* add fixture with null schedule

* remove null schedules for now

* fic the typing for _schedule attr (is list, not dict)

* add valid schedule to fixture

* update ssetpoints only if there is a schedule

* snapshot to match last change

* refactor: dont update switchpoints if no schedule

* add in warnings for null schedules

* add fixture for DHW without schedule
2025-03-07 13:04:04 +01:00
Joost Lekkerkerker 73ef240921
Fix SmartThings disabling working capabilities (#140039) 2025-03-07 12:55:32 +01:00
Paulus Schoutsen d47481a30e
Track when an LLM expects to continue a conversation (#139810)
* Track when an LLM expects to continue a conversation

* Strip content

* Address comments
2025-03-06 22:52:29 -05:00
J. Diego Rodríguez Royo 3dd1fadc7d
Check operation state on Home Connect program sensor update (#140011)
Check operation state on program sensor update
2025-03-07 01:50:06 +01:00
Ivan Lopez Hernandez 2aa584ce39
Correctly retrieve only loaded Google Generative AI config_entries (#139999)
* Correctly retrieve only loaded config_entries

* Ruff
2025-03-06 13:17:33 -08:00
Markus Adrario eaad8ec49d
Add Homee select platform (#139534)
* homee select initial

* Finish select tests

* Add motor rotation

* fix snapshot after translation compilation

* string improvement

* last fixes

* fix review comments

* remove restore last known state

* readd wind monitoring state

* fix strings

* remove problematic selects

* remove motor rotation from strings

* fix review comments

* Update tests/components/homee/test_select.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* add PARALLEL_UPDATES

* parallel updates for select, not light.

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-03-06 18:56:17 +00:00
Jan Bouwhuis 99e1a7a676
Check if the unit of measurement is valid before creating the entity (#139932) 2025-03-06 18:52:46 +01:00
Martin Hjelmare 4ff2309a90
Use mysensors config entry async_on_unload (#139978)
* Use config entry on unload in mysensors

* Test mysensors config entry load and unload

* Fix docstring
2025-03-06 18:50:47 +01:00
Joost Lekkerkerker 4bafdf5e4b
Add config entry level diagnostics to SmartThings (#139939)
* Add config entry level diagnostics to SmartThings

* Add config entry level diagnostics to SmartThings

* Add config entry level diagnostics to SmartThings
2025-03-06 18:48:39 +01:00
Joost Lekkerkerker f38a32477e
Fix SmartThings fan (#139962) 2025-03-06 18:47:37 +01:00
Regev Brody df1563daaf
Add Roborock buttons for starting routines (#139845) 2025-03-06 17:18:37 +00:00
Joost Lekkerkerker 9549b1488e
Fix SmartThings dust sensor UoM (#139977) 2025-03-06 17:52:05 +01:00
Erik Montnemery 6ba45a32c0
Update typing of `BackupAgent.async_get_backup` (#139923)
* Update typing of BackupAgent.async_get_backup

* Remove manual reset of frame helper
2025-03-06 17:25:34 +01:00
Artur Pragacz 88f18fdfdc
Improve loader dependency tests (#139916) 2025-03-06 15:20:08 +01:00
epenet 377e0a64d1
Reset helpers.frame._REPORTED_INTEGRATIONS in between tests (#139924)
* Reset helpers.frame._REPORTED_INTEGRATIONS in between tests

* Rename

* Apply suggestions from code review

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-03-06 13:57:13 +01:00
Ishima 485da61d3c
Check support for demand load control in SmartThings AC (#139616)
* Check support for demand load control in SmartThings AC

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-03-06 13:42:23 +01:00
Joost Lekkerkerker edc763b7d2
Bump pysmartthings to 2.6.1 (#139936)
* Bump pysmartthings to 2.6.1

* Bump pysmartthings to 2.6.1
2025-03-06 13:22:49 +01:00
Erik Montnemery c51e644203
Prioritize integration_domain passed to helper.frame.report_usage (#139819)
* Prioritize integration_domain passed to helper.frame.report_usage

* Update tests

* Update tests

* Improve docstring

* Rename according to suggestion
2025-03-06 13:16:50 +01:00
Martin Hjelmare 6455daf092
Set Ondilo ICO diagnostic sensors (#139934) 2025-03-06 12:30:42 +01:00
Joost Lekkerkerker 052eed6bb3
Deduplicate climate modes in SmartThings (#139930)
* Deduplicate climate modes in SmartThings

* Deduplicate climate modes in SmartThings
2025-03-06 12:20:53 +01:00
epenet 83dd1af6d2
Drop report method from frame helper (#139920)
* Drop report method from frame helper

* Adjust test_prevent_flooding

* Adjust test_report_missing_integration_frame

* Adjust test_report_error_if_integration

* Remove test_report
2025-03-06 11:25:22 +01:00
Manu f2b07ea886
Add support for IronOS v2.23 (#139903)
Add support for IronOS 2.23
2025-03-06 11:23:10 +01:00
Petro31 aec6868af1
Add abstract class to trigger based template entities (#139650)
* add abstract class to trigger based template entities

* updates after merge of parent PR

* add comments

* add tests
2025-03-06 08:00:11 +01:00
Ivan Lopez Hernandez 8e35783164
Trim the Schema allowed keys to match the Public Gemini API docs. (#139876)
* Trim the Schema allowed types to match the Public API docs, not the SDK types as those do not match

* Testing
2025-03-05 18:34:11 -08:00
pglab-electronics cc30823726
Reimplement PGLab sensor to use a coordinator (#139789)
* Reimplement PGLab sensor to use a coordinator

* fix spelling mistake on coordinator name

* rename createDiscoverDeviceInfo function in snake_case

* adding suffix pglab_ to PGLabBaseEntity/PGLabEntity constructor parameters

* Fix docs of PGLabEntity::async_added_to_hass

* make coordinator able to return the sensor native value

* renaming PGLABConfigEntry in PGLabConfigEntry to be consistent with the integration naming

* renamed entry function arguments to config_entry to be less confusing

* pass config_entry to constructor of base class of PGLabSensorsCoordinator

* set the return value type of get_sensor_value

* store coordinator as regular instance attribute

* Avoid to access directly entity from discovery module

* Rearrange get_sensor_value return types
2025-03-05 20:33:59 +01:00
Erik Montnemery cc5c8bf5e3
Make helpers.frame.report_usage work when called from any thread (#139836)
* Make helpers.frame.report_usage work when called from any thread

* Address review comments, update tests

* Add test

* Update test

* Update recorder test

* Update tests
2025-03-05 19:37:34 +01:00
Erik Montnemery cfaf18f942
Improve the mock_integration_frame test fixture (#139850)
* Improve the mock_integration_frame test fixture

* Update test
2025-03-05 18:42:34 +01:00
Erik Montnemery 0f3409bd09
Fix stale test name in vacuum (#139853) 2025-03-05 17:07:43 +01:00
Erik Montnemery 1552aec416
Improve frame helper tests (#139843) 2025-03-05 16:13:09 +01:00
Allen Porter c0e5a549b6
Revert "Add scene support to roborock (#137203)" (#139840)
This reverts commit 379bf10675.
2025-03-05 14:36:20 +01:00
tdfountain 1c1a950c05
Add conditional support for ambient sensors in NUT (#139675)
* Conditionally remove ambient sensors if not present

* Create ambient sensors list and use list comprehension

* Update homeassistant/components/nut/sensor.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-03-05 12:12:56 +00:00
LG-ThinQ-Integration df2248bb82
Get temperature data appropriate for hass.config.unit in LG ThinQ (#137626)
* Get temperature data appropriate for hass.config.unit

* Modify temperature_unit for init

* Modify unit's map

* Fix ruff error

---------

Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-03-05 12:13:11 +01:00
Dan Raper 5f88354cb3
Add vehicle select to Ohme (#139795)
* Add vehicle select to Ohme

* mypy fixes

* Update homeassistant/components/ohme/select.py

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

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-03-05 10:59:47 +01:00
Erik Montnemery 09561aeb39
Improve frame helper tests (#139821) 2025-03-05 10:43:29 +01:00
Simone Chemelli 366c5c3f10
Improve unique_id tests for Shelly block devices (#139778)
* Improve unique_id tests for Shelly block devices

* type test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-03-04 14:03:38 -10:00
Martin Hjelmare c671862d3f
Improve Home Connect appliances test fixture (#139787)
Improve Home Connect appliances fixture
2025-03-05 00:45:58 +01:00
Manu 50ba93042b
Add create_habit action to Habitica integration (#139673) 2025-03-04 21:43:49 +00:00
Erik Montnemery 3b9bb96784
Align google_drive with changes in BackupAgent (#139767) 2025-03-04 11:45:10 -08:00
epenet 7359013db0
Move ForkedDaapdUpdater setup to __init__ module (#139733)
* Move ForkedDaapdUpdater setup to __init__ module

* Adjust tests

* One more
2025-03-04 20:24:36 +01:00
Martin Hjelmare e8099fd3b2
Fix home connect available (#139760)
* Fix home connect available

* Extend and clarify test

* Do not change connected state on stream interrupted
2025-03-04 19:26:20 +01:00
Erik Montnemery e86fc88631
Minor improvement of hassio backup tests (#139775) 2025-03-04 18:20:55 +01:00
Erik Montnemery e55757dc82
Simplify error handling in BackupAgent when a backup is not found (#139754)
Simplify error handling in BackupAgent when backup is not found
2025-03-04 15:56:12 +01:00
Paulus Schoutsen c51a2317e1
Add timer support to VoIP (#139763) 2025-03-04 15:48:10 +01:00
Paulus Schoutsen 8a97c2bfca
VoIP block non-TTS announcements (#139658)
* VoIP block non-TTS announcements

* Migrate VoIP to use pipeline token
2025-03-04 08:02:58 -05:00
J. Nick Koston d38e046494
Bump bleak-esphome to 2.10.2 (#139731)
* Bump bleak-esphome to 2.10.0

changelog: https://github.com/Bluetooth-Devices/bleak-esphome/compare/v2.9.0...v2.10.0

* again for wheel fix

* disable name check since its a binary now
2025-03-04 11:49:44 +01:00
Markus Adrario 23dac3933f
Fix Homee brightness sensors reporting in percent (#139409)
* fix brigtness sensor having percent as unit.

* add test for percent-brightness-sensor

* remove valve position and update tests

* Removed test, because covered by Snapshots

* fix review comments

* move device calss to init.

* fix test

* fix review comments

* add battery sensor back to test fixture

* fix
2025-03-04 11:40:36 +01:00
J. Diego Rodríguez Royo 973fee9fe1
Delete refresh after a non-breaking error at event stream at Home Connect (#139740)
* Delete refresh after non-breaking error

And improve how many time does it take to retry to open stream

* Update tests
2025-03-04 11:07:44 +01:00
Marcel van der Veldt 9f780a5308
Fix ability to remove orphan device in Music Assistant integration (#139431)
* Fix ability to remove orphan device in Music Assistant integration

* Add test

* Remove orphaned device entries at startup as well

* adjust mocked client
2025-03-04 09:56:42 +01:00
Abílio Costa d87c963db5
Prevent zero interval in Calendar get_events service (#139378)
* Prevent zero interval in Calendar get_events service

* Fix holiday calendar tests

* Remove redundant entity_id

* Use translation for exception

* Replace check with voluptuous validator

* Revert strings.xml
2025-03-04 09:52:29 +01:00
Petro31 890d3f4af4
Add a base class for template entities to inherit from (#139645)
* add-abstract-template-entity-base-class

* review 1 changes
2025-03-04 07:23:05 +01:00
StaleLoafOfBread 890c672f8c
Add charging binary_sensor so front end can render battery icon properly (#139684)
* Add charging binary sensor

* Add charging binary sensor test
2025-03-03 20:21:05 +01:00
Simone Chemelli e28e4d210f
Bump aiocomelit to 0.11.2 (#139707) 2025-03-03 20:19:09 +01:00
Joost Lekkerkerker dcd2d42894
Abort SmartThings flow if default_config is not enabled (#139700)
* Abort SmartThings flow if default_config is not enabled

* Abort SmartThings flow if default_config is not enabled

* Abort SmartThings flow if default_config is not enabled
2025-03-03 20:07:07 +01:00
Elias Wernicke 62b6be900f
Add complete item intent function for todo component (#127806)
* add complete item intent

* fix error and add tests

* fix merge conflict

* improve error tests

* improve error tests

* add response_key

* add check for non completed

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2025-03-03 12:16:43 -06:00
Simone Chemelli aaecb47125
Add strict typing to Comelit (#139455)
* Add quality scale and strict typing to Comelit

* mypy

* fix strings

* remove quality scale

* revert quality scale changes

* improve typing

* letfover

* update typing based on new lib

* align to platform

* cleanup

* apply review comments (part 1)

* apply review comment ( part 2)

* apply review comments

* align

* align test data

* TypedDict

* better casting
2025-03-03 17:57:42 +01:00
Erik Montnemery 20e48054cf
Fix stale docstrings in onboarding tests (#139696) 2025-03-03 15:08:39 +00:00
cs12ag ee486c269c
Fix unique identifiers where multiple IKEA Tradfri gateways are in use (#136060)
* Create unique identifiers where multiple gateways are in use

Resolving issue https://github.com/home-assistant/core/issues/134497

* Added migration function to __init__.py

Added migration function to execute upon initialisation, to:
a) remove the erroneously-added config)_entry added to the device (gateway B gets added as a config_entry to a device associated to gateway A), and
b) swap out the non-unique identifiers for genuinely unique identifiers.

* Added tests to simulate migration from bad data scenario (i.e. explicitly executing migrate_entity_unique_ids() from __init__.py)

* Ammendments suggested in first review

* Changes after second review

* Rewrite of test_migrate_config_entry_and_identifiers after feedback

* Converted migrate function into major version, updated tests

* Finalised variable naming convention per feedback, added test to validate config entry migrated to v2

* Hopefully final changes for cosmetic / comment stucture

* Further code-coverage in test_migrate_config_entry_and_identifiers()

* Minor test corrections

* Added test for non-tradfri identifiers
2025-03-03 14:06:25 +01:00
Paulus Schoutsen aee891434f
Avoid duplicate chat log content (#139679) 2025-03-03 11:46:40 +01:00
Elias Wernicke 5ae7109561
Increase test coverage for todo intent (#135960)
* move intent tests to file

* add tests for errors
2025-03-02 22:04:25 +01:00
hydazz 4602c0a1c3
Add Night mode and `HVACAction` to Advantage Air (#137475)
* add night mode toggle

* populate AC's action

* set hvac action on zones

* update tests

* show zones as off if AC is off

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-03-02 21:59:44 +01:00
karwosts fa40d02a07
Add model_id filter to device selector (#135646)
* Add model_id filter to device selector

* Rerun CI
2025-03-02 21:15:37 +01:00
Niklas Neesen 8536f2b4cb
Fix vicare exception for specific ventilation device type (#138343)
* fix for exception for specific ventilation device type + tests

* fix for exception for specific ventilation device type + tests

* New Testset just for fan

* update test_sensor.ambr
2025-03-02 20:57:13 +01:00
Nathan Spencer f76e295204
Add fault event to balboa (#138623)
* Add fault sensor to balboa

* Use an event instead of sensor for faults

* Don't set fault initially in conftest

* Use event type per fault message code

* Set fault to None in conftest
2025-03-02 20:24:27 +01:00
Joost Lekkerkerker fca4ef3b1e
Fix scope comparison in SmartThings (#139652) 2025-03-02 19:52:37 +01:00
Simon Lamon 40099547ef
Add typing/async to NMBS (#139002)
* Add typing/async to NMBS

* Fix tests

* Boolean fields

* Update homeassistant/components/nmbs/sensor.py

Co-authored-by: Jorim Tielemans <tielemans.jorim@gmail.com>

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Jorim Tielemans <tielemans.jorim@gmail.com>
2025-03-02 17:36:37 +01:00
mvn23 de4540c68e
Remove deprecated entity migration from opentherm_gw (#139641) 2025-03-02 17:28:11 +01:00
mvn23 d006d33dc0
Remove deprecated device migration from opentherm_gw (#139612) 2025-03-02 16:52:25 +01:00
J. Nick Koston 4c8a58f7cc
Fix broken link in ESPHome BLE repair (#139639)
ESPHome always uses .0 in the URL for the changelog,
and we never had a patch version in the stable
BLE version field so we need to switch it to
.0 for the URL.
2025-03-02 16:50:35 +01:00
MarioZG 8d6178ffa6
Add last updated attribute to UK transport train sensor (#139352)
added last updated attribute to train sensor

Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-03-02 16:48:57 +01:00
Manu 0a3562aca3
Add prefix path support to pyLoad integration (#139139)
* Add prefix path configuration support

* fix typo

* formatting

* uppercase

* changes

* redact host
2025-03-02 16:45:57 +01:00
J. Nick Koston c9abe76023
Use multiple indexed group-by queries to get start time states for MySQL (#138786)
* tweaks

* mysql

* mysql

* Update homeassistant/components/recorder/history/modern.py

* Update homeassistant/components/recorder/history/modern.py

* Update homeassistant/components/recorder/const.py

* Update homeassistant/components/recorder/statistics.py

* Apply suggestions from code review

* mysql

* mysql

* cover

* make sure db is fully init on old schema

* fixes

* fixes

* coverage

* coverage

* coverage

* s/slow_dependant_subquery/slow_dependent_subquery/g

* reword

* comment that callers are responsible for staying under the limit

* comment that callers are responsible for staying under the limit

* switch to kwargs

* reduce branching complexity

* split stats query

* preen

* split tests

* split tests
2025-03-02 15:13:06 +01:00
rappenze 5ac3fe6ee1
Fibaro integration refactorings (#139624)
* Fibaro integration refactorings

* Fix execute_action

* Add test

* more tests

* Add tests

* Fix test

* More tests
2025-03-02 14:38:56 +01:00
Joost Lekkerkerker 3eadfcc01d
Still request scopes in SmartThings (#139626)
Still request scopes
2025-03-02 14:17:56 +01:00
Manu b0b5567316
Add `update_habit` action to Habitica integration (#139311)
* Add update_habit action

* icons
2025-03-02 14:04:13 +01:00
Jan Bouwhuis 220509fd6c
Fix body text of imap message not available in custom event data template (#139609) 2025-03-01 23:00:22 -05:00
Paulus Schoutsen 7293ae5d51
Fix type for ESPHome assist satellite events (#139618) 2025-03-01 22:59:14 -05:00
wittypluck 4a7fd89abd
Bump pyopenweathermap to 0.2.2 and remove deprecated API version v2.5 (#139599)
* Bump pyopenweathermap

* Remove deprecated API mode v2.5
2025-03-02 02:32:55 +01:00
G Johansson e3eb6051de
Fix duplicate unique id issue in Sensibo (#139582)
* Fix duplicate unique id issue in Sensibo

* Fixes

* Mods
2025-03-02 00:04:13 +01:00
J. Nick Koston 89b655c192
Fix handling of NaN float values for current humidity in ESPHome (#139600)
fixes #131837
2025-03-01 16:13:04 -06:00
Tatham Oddie f7927f9da1
Introduce demo valve (#138187) 2025-03-01 22:54:48 +01:00
Simone Chemelli 13918f07d8
Switch cleanup for Shelly (part 2) (#138922)
* Switch cleanup for Shelly (part 2)

* apply review comment

* Update tests/components/shelly/test_climate.py

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>

* apply review comments

---------

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
2025-03-01 22:39:19 +01:00
Denis Shulyaka 1786bb9903
Use model list to check anthropic API key (#139307)
Anthropic model list
2025-03-01 22:28:48 +01:00
Manu 3588784f1e
Add create_reward action to Habitica integration (#139304)
Add create_reward action to Habitica
2025-03-01 22:27:31 +01:00
Paulus Schoutsen 2cce1b024e
Migrate Assist Pipeline to use TTS stream (#139542)
* Migrate Pipeline to use TTS stream

* Fix tests
2025-03-01 21:43:00 +01:00
peteS-UK c168695323
Clean up squeezebox build_item_response part 1 (#139321)
* initial

* final

* is internal change

* test data coverage

* Review fixes

* final
2025-03-01 14:18:30 -06:00
Jan Bouwhuis 913a4ee9ba
Improve certificate handling in MQTT config flow (#137234)
* Improve mqtt broker certificate handling in config flow

* Expand test cases
2025-03-01 21:14:08 +01:00
Joost Lekkerkerker b3f14d72c0
Don't require not needed scopes in SmartThings (#139576)
* Don't require not needed scopes

* Don't require not needed scopes
2025-03-01 20:47:42 +01:00
M-A 9fe08f292d
Bump env_canada to 0.8.0 (#138237)
* Bump env_canada to 0.8.0

* Fix requirements*.txt

* Grepped more

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-03-01 19:58:45 +01:00
mvn23 9a331de878
Remove deprecated import from configuration.yaml from opentherm_gw (#139581)
* Remove deprecated import from configuration.yaml in opentherm_gw

* Remove tests for removed funcionality from opentherm_gw
2025-03-01 19:45:07 +01:00
Jan Bouwhuis 2de941bc11
Fix - Allow brightness only light MQTT json light to be set up using the `brightness` flag or via `supported_color_modes` (#139585)
* Fix - Allow brightness only light MQTT json light to be set up using the `brightness` flag or via  `supported_color_modes`

* Improve comment
2025-03-01 19:35:39 +01:00
Guido Schmitz 91eba0855e
Handle IPv6 URLs in devolo Home Network (#139191)
* Handle IPv6 URLs in devolo Home Network

* Use yarl
2025-03-01 13:29:50 +01:00
Joost Lekkerkerker 1852052dff
Add suggested area to SmartThings (#139570)
* Add suggested area to SmartThings

* Add suggested areas to SmartThings
2025-03-01 13:05:58 +01:00
Joost Lekkerkerker fe5cd5c55c
Validate scopes in SmartThings config flow (#139569) 2025-03-01 12:47:58 +01:00
Filip Agh 18217a594f
Fix update data for multiple Gree devices (#139469)
fix sync date for multiple devices

do not use handler for explicit update devices as internal communication lib do not provide which device is updated
use ha update loop

copy data object to prevent rewrite data from internal lib

allow more time to process response before log warning about long wait for response and make log message more clear
2025-03-01 11:50:24 +01:00
Juan Grande 8e7960fa0e
Fix bug in derivative sensor when source sensor's state is constant (#139230)
Previously, when the source sensor's state remains constant, the derivative
sensor repeats its latest value indefinitely.

This patch fixes this bug by consuming the state_reported event and updating
the sensor's output even when the source sensor doesn't change its state.
2025-03-01 09:10:35 +01:00
Joost Lekkerkerker d6750624ce
Add SmartThings hub connections (#139549) 2025-02-28 23:32:09 +01:00
J. Nick Koston 577b22374a
Revert polling changes to HomeKit Controller (#139550)
This reverts #116200

We changed the polling logic to avoid polling if all chars are marked as watchable
to avoid crashing the firmware on a very limited set of devices as it was
more in line with what iOS does. In the end, the user ended up replacing
the device in #116143 because it turned out to be unreliable in other
ways. The vendor has since issued a firmware update that may resolve
the problem with all of these devices.

In practice it turns out many more devices
report that chars are evented and never send events. After a few months
of data and reports the trade-off does not seem worth it since
users are having to set up manual polling on a wide range of
devices. The amount of devices with evented chars that do not
actually send state vastly exceeds the number of devices that
might crash if they are polled too often so restore the previous
behavior

fixes #138561
fixes #100331
fixes #124529
fixes #123456
fixes #130763
fixes #124099
fixes #124916
fixes #135434
fixes #125273
fixes #124099
fixes #119617
2025-02-28 23:25:50 +01:00
J. Nick Koston ee1fe2cae4
Bump bleak-esphome to 2.9.0 (#139467)
* Bump bleak-esphome to 2.9.0

changelog: https://github.com/Bluetooth-Devices/bleak-esphome/compare/v2.8.0...v2.9.0

* fixes
2025-02-28 16:17:44 -06:00
Joost Lekkerkerker db05aa17d3
Add SmartThings Viper device info (#139548) 2025-02-28 23:03:57 +01:00
Joost Lekkerkerker 2d6068b842
Create device for the hub in SmartThings (#139545)
* Create device for the hub in SmartThings

* Create device for the hub in SmartThings

* Create device for the hub in SmartThings
2025-02-28 22:58:35 +01:00
Joost Lekkerkerker 00b7c4f9ef
Improve SmartThings OCF device info (#139547) 2025-02-28 23:30:57 +02:00
StaleLoafOfBread ed06831e9d
Fix alert not respecting can_acknowledge setting (#139483)
* fix(alert): check can_ack prior to acking

* fix(alert): add test for when can_acknowledge=False

* fix(alert): warn on can_ack blocking an ack

* Raise error when trying to acknowledge alert with can_acknowledge set to False

* Rewrite can_ack check as guard

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

* Make can_ack service error msg human readable because it will show up in the UI

* format with ruff

* Make pytest aware of service error when acking an unackable alert

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2025-02-28 20:59:35 +01:00
Cameron Ring 0f615bbe4f
Add OptionsFlowHandler test for Lutron (#139463) 2025-02-28 20:50:39 +01:00
J. Nick Koston 5a6ffe1901
Update Bluetooth remote config entries if the MAC is corrected (#139457)
* fix ble mac

* fixes

* fixes

* fixes

* restore deleted test
2025-02-28 20:49:31 +01:00
rappenze 6ce48eab45
Use new pyfibaro library features (#139476) 2025-02-28 20:47:03 +01:00
Simone Chemelli 437e545116
Rework Comelit tests (#139475)
* Rework Comelit tests

* allign

* restore coverage
2025-02-28 20:45:47 +01:00
Paulus Schoutsen 1a80934593
Move TTS entity to own file (#139538)
* Move entity to own file

* Move entity tests
2025-02-28 20:40:13 +01:00
Joost Lekkerkerker 455363871f
Use last event as color mode in SmartThings (#139473)
* Use last event as color mode in SmartThings

* Use last event as color mode in SmartThings

* Fix
2025-02-28 20:39:49 +01:00
Joost Lekkerkerker 39bc37d225
Remove orphan devices on startup in SmartThings (#139541) 2025-02-28 20:33:25 +01:00
Paulus Schoutsen 90fc6ffdbf
Add support for continue conversation in Assist Pipeline (#139480)
* Add support for continue conversation in Assist Pipeline

* Also forward to ESPHome

* Update snapshot

* And mobile app
2025-02-28 13:15:31 -06:00
Joost Lekkerkerker 086c91485f
Set SmartThings delta energy to Total (#139474) 2025-02-28 20:03:24 +01:00
Paulus Schoutsen 70bb56e0fc
Text-to-Speech refactor (#139482)
* Refactor TTS

* More cleanup

* Cleanup

* Consolidate more

* Inline another function

* Inline another function

* Improve cleanup
2025-02-28 12:36:12 -06:00
Michael Hansen 49c27ae7bc
Check area temperature sensors in get temperature intent (#139221)
* Check area temperature sensors in get temperature intent

* Fix candidate check

* Add new code back in

* Remove cruft from climate
2025-02-28 13:02:30 -05:00
Michael Hansen fca19a3ec1
Move climate intent to homeassistant integration (#139371)
* Move climate intent to homeassistant integration

* Move get temperature intent to intent integration

* Clean up old test
2025-02-28 10:25:38 -05:00
Josef Zweck 0681652aec
Add diagnostics to onedrive (#139516)
* Add diagnostics to onedrive

* redact PII

* add raw data
2025-02-28 16:18:57 +01:00
Erik Montnemery 228a4eb391
Improve error handling in CoreBackupReaderWriter (#139508) 2025-02-28 14:25:35 +01:00
epenet 030a1460de
Log a warning when replacing existing config entry with same unique id (#130567)
* Log a warning when replacing existing config entry with same unique id

* Exclude mobile_app

* Ignore custom integrations

* Apply suggestions from code review

* Apply suggestions from code review

* Update config_entries.py

* Fix handler

* Adjust and add tests

* Apply suggestions from code review

* Apply suggestions from code review

* Update comment

* Update config_entries.py

* Apply suggestions from code review
2025-02-28 14:20:39 +01:00
Marcel van der Veldt b79c6e772a
Add new mediatypes to Music Assistant integration (#139338)
* Bump Music Assistant client to 1.1.0

* Add some casts to help mypy

* Add handling of the new media types in Music Assistant

* mypy cleanup

* lint

* update snapshot

* Adjust tests

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-02-28 14:17:02 +01:00
Petro31 a296c5e9ad
Add floor_entities function and filter (#136509)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-02-28 11:44:01 +00:00
pglab-electronics 12cb349160
Add Sensor to PG LAB Integration (#138802) 2025-02-28 11:07:01 +00:00
Erik Montnemery 5cf56ec113
Adjust recorder backup platform tests (#139492) 2025-02-28 11:44:58 +01:00
Erik Montnemery 1be9836663
Fail recorder.backup.async_pre_backup if Home Assistant is not running (#139491)
Fail recorder.backup.async_pre_backup if hass is not running
2025-02-28 11:44:16 +01:00
Jan-Philipp Benecke 9d10e0e054
Change webdav namespace to absolut URI (#139456)
* Change webdav namespace to absolut URI

* Add const file
2025-02-28 11:18:16 +01:00
Joost Lekkerkerker 6953c20a65
Set SmartThings suggested display precision (#139470) 2025-02-28 09:15:13 +01:00
Ivan Lopez Hernandez 4e8186491c
Fix Gemini Schema validation for #139416 (#139478)
Fixed Schema validation for issue #139477
2025-02-27 19:10:42 -08:00
J. Nick Koston 0afdd9556f
Bump aioesphomeapi to 29.3.1 (#139465) 2025-02-27 21:45:13 +00:00
J. Nick Koston e11ead410b
Add coverage to ensure we do not load base platforms before recorder (#139464) 2025-02-27 20:50:23 +00:00
Josef Zweck 938855bea3
Improve onedrive migration (#139458) 2025-02-27 20:42:04 +01:00
Simone Chemelli 8cc7e7b76f
Full test coverage for Vodafone Station init (#139451)
Full test coverage for Vodafone Station init
2025-02-27 20:07:12 +01:00
Joost Lekkerkerker ffac522554
Fix SmartThings diagnostics (#139447) 2025-02-27 19:39:18 +02:00
starkillerOG 9502dbee56
Add more diagnostic info to Reolink (#139436)
* Add diagnostic info

* Bump reolink-aio to 0.12.1

* Add tests
2025-02-27 19:39:01 +02:00
Joost Lekkerkerker f677b910a6
Add diagnostics to SmartThings (#139423) 2025-02-27 15:23:25 +01:00
Marcel van der Veldt f111a2c34a
Fix Music Assistant media player entity features (#139428)
* Fix Music Assistant supported media player features

* Update supported features when player config changes

* Add tests
2025-02-27 15:30:29 +02:00
Joost Lekkerkerker 7ae13a4d72
Bump pysmartthings to 2.0.0 (#139418)
* Bump pysmartthings to 2.0.0

* Fix

* Fix

* Fix

* Fix
2025-02-27 13:25:55 +01:00
J. Diego Rodríguez Royo cc18ec2de8
Fix fetch options error for Home connect (#139392)
* Handle errors when obtaining options definitions

* Don't fetch program options if the program key is unknown

* Test to ensure that available program endpoint is not called on unknown program
2025-02-27 12:00:14 +01:00
Josef Zweck df59adf5d1
Add reconfiguration to azure_storage (#139414)
* Add reauthentication to azure_storage

* Add reconfigure to azure_storage

* iqs

* update string

* ruff
2025-02-27 11:06:03 +01:00
Josef Zweck 2150a668b0
Add reauthentication to azure_storage (#139411)
* Add reauthentication to azure_storage

* update docstring
2025-02-27 10:17:57 +01:00
puddly 036eef2b6b
Bump ZHA to 0.0.51 (#139383)
* Bump ZHA to 0.0.51

* Fix unit tests not accounting for primary entities
2025-02-26 22:22:08 +02:00
J. Diego Rodríguez Royo 42f55bf271
Small improvements to Home Connect strings and icons (#139386)
* Small improvements to Home Connect strings and icons

* Fix test
2025-02-26 21:02:00 +01:00
fwestenberg 9dbce6d904
Bump stookwijzer==1.6.1 (#139380) 2025-02-26 21:31:24 +02:00
Joost Lekkerkerker 3a21c36173
Don't create entities for disabled capabilities in SmartThings (#139343)
* Don't create entities for disabled capabilities in SmartThings

* Fix

* fix

* fix
2025-02-26 18:19:28 +01:00
Joost Lekkerkerker 25ee2e58a5
Add translatable states to dryer job state in SmartThings (#139370)
* Add translatable states to washer job state in SmartThings

* Add translatable states to dryer job state in Smartthings

* fix

* fix
2025-02-26 18:15:14 +01:00
Joost Lekkerkerker 561b3ae21b
Add translatable states to dryer machine state in Smartthings (#139369) 2025-02-26 18:14:59 +01:00
J. Diego Rodríguez Royo 5be7f49146
Improve Home Connect oven cavity temperature sensor (#139355)
* Improve oven cavity temperature translation

* Fetch cavity temperature unit

* Handle generic Home Connect error

* Improve test clarity
2025-02-26 18:11:40 +01:00
Joost Lekkerkerker 2694828451
Add translatable states to washer job state in SmartThings (#139368)
* Add translatable states to washer job state in SmartThings

* fix

* Update homeassistant/components/smartthings/sensor.py
2025-02-26 18:07:56 +01:00
Joost Lekkerkerker 3eea932b24
Add translatable states to robot cleaner turbo mode in SmartThings (#139364) 2025-02-26 17:53:16 +01:00
Joost Lekkerkerker 92268f894a
Add translatable states to washer machine state in SmartThings (#139366) 2025-02-26 17:34:29 +01:00
Joost Lekkerkerker 5e5fd6a2f2
Add translatable states to robot cleaner cleaning mode in SmartThings (#139362)
* Add translatable states to robot cleaner cleaning mode in SmartThings

* Update homeassistant/components/smartthings/strings.json

* Update homeassistant/components/smartthings/strings.json

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-02-26 17:33:13 +01:00
Joost Lekkerkerker cadee73da8
Add translatable states to robot cleaner movement in SmartThings (#139363) 2025-02-26 17:25:50 +01:00
Joost Lekkerkerker 51099ae7d6
Add translatable states to oven machine state (#139358) 2025-02-26 17:13:02 +01:00
Joost Lekkerkerker b777c29bab
Add translatable states to oven job state in SmartThings (#139361) 2025-02-26 17:12:27 +01:00
Joost Lekkerkerker fc1190dafd
Add translatable states to oven mode in SmartThings (#139356) 2025-02-26 16:59:20 +01:00
Joost Lekkerkerker 775a81829b
Add translatable states to SmartThings media playback (#139354)
Add translatable states to media playback
2025-02-26 16:49:00 +01:00
Joost Lekkerkerker 998757f09e
Add translatable states to SmartThings media source input (#139353)
Add translatable states to media source input
2025-02-26 16:40:34 +01:00
Artur Pragacz b964bc58be
Fix variable scopes in scripts (#138883)
Co-authored-by: Erik <erik@montnemery.com>
2025-02-26 16:19:19 +01:00
Joost Lekkerkerker bd80a78848
Set options for alarm sensor in SmartThings (#139345)
* Set options for alarm sensor in SmartThings

* Set options for alarm sensor in SmartThings

* Fix
2025-02-26 17:18:59 +02:00
Joost Lekkerkerker 37c8764426
Set options for dishwasher machine state sensor in SmartThings (#139347)
* Set options for dishwasher machine state sensor in SmartThings

* Fix
2025-02-26 17:18:37 +02:00
Joost Lekkerkerker 9262dec444
Set options for dishwasher job state sensor in SmartThings (#139349) 2025-02-26 17:18:14 +02:00
Joost Lekkerkerker 3c3c4d2641
Use particulate matter device class in SmartThings (#139351)
Use particule matter device class in SmartThings
2025-02-26 17:17:55 +02:00
Jan Bouwhuis fdf69fcd7d
Improve calculating supported features in template light (#139339) 2025-02-26 15:09:20 +00:00
Joost Lekkerkerker 2826198d5d
Add entity translations to SmartThings (#139342)
* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* Refactor SmartThings

* fix

* fix

* Add AC tests

* Add thermostat tests

* Add cover tests

* Add device tests

* Add light tests

* Add rest of the tests

* Add oauth

* Add oauth tests

* Add oauth tests

* Add oauth tests

* Add oauth tests

* Bump version

* Add rest of the tests

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Finalize

* Iterate over entities instead

* use set

* use const

* uncomment

* fix handler

* Fix device info

* Fix device info

* Fix lib

* Fix lib

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Add fake fan

* Fix

* Add entity translations to SmartThings

* Fix
2025-02-26 15:48:51 +01:00
Jan Bouwhuis 5324f3e542
Add support for swing horizontal mode for mqtt climate (#139303)
* Add support for swing horizontal mode for mqtt climate

* Fix import
2025-02-26 15:44:16 +01:00
Joost Lekkerkerker bb120020a8
Refactor SmartThings (#137940) 2025-02-26 15:14:04 +01:00
Erik Montnemery 0c092f80c7
Add default_db_url flag to WS command recorder/info (#139333) 2025-02-26 14:09:38 +01:00
Paul Bottein e591157e37
Add translations and icon for Twinkly select entity (#139336)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-02-26 13:44:43 +01:00
Erik Montnemery ee01aa73b8
Improve error message when failing to create backups (#139262)
* Improve error message when failing to create backups

* Check for expected error message in tests
2025-02-26 13:44:09 +01:00
fwestenberg 0f827fbf22
Bump stookwijzer==1.6.0 (#139332) 2025-02-26 13:31:07 +01:00
Denis Shulyaka b82886a3e1
Fix anthropic blocking call (#139299) 2025-02-26 12:25:59 +00:00
Christophe Gagnier 5895245a31
Bump pytechnove to 2.0.0 (#139314) 2025-02-26 11:57:54 +01:00
Erik Montnemery cab6ec0363
Fix homeassistant/expose_entity/list (#138872)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-02-26 09:02:17 +01:00
J. Nick Koston eb26a2124b
Adjust remote ESPHome log subscription level on logging change (#139308) 2025-02-26 08:58:13 +01:00
peteS-UK bd306abace
Add album artist media browser category to Squeezebox (#139210) 2025-02-25 17:55:53 -06:00
J. Diego Rodríguez Royo 8644fb1887
Add missing Home Connect context at event listener registration for appliance options (#139292)
* Add missing context at event listener registration for appliance options

* Add tests
2025-02-25 23:05:52 +01:00
Maciej Bieniek 7bc0c1b912
Bump `aioshelly` to version `13.0.0` (#139294)
* Bump aioshelly to version 13.0.0

* MODEL_BLU_GATEWAY_GEN3 -> MODEL_BLU_GATEWAY_G3
2025-02-25 23:52:44 +02:00
J. Nick Koston 81db3dea41
Add option to ESPHome to subscribe to logs (#139073) 2025-02-25 21:56:39 +01:00
Erik Montnemery 51c09c2aa4
Add test fixture ignore_translations_for_mock_domains (#139235)
* Add test fixture ignore_translations_for_mock_domains

* Fix fixture

* Avoid unnecessary attempt to get integration

* Really fix fixture

* Add forgotten parameter

* Address review comment
2025-02-25 20:10:29 +01:00
Dan Bishop 75533463f7
Make Radarr unit translation lowercase (#139261)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-02-25 19:41:47 +01:00
G Johansson 2cd496fdaf
Add coordinator to SMHI (#139052)
* Add coordinator to SMHI

* Remove not needed logging

* docstrings
2025-02-25 19:36:45 +01:00
J. Nick Koston a1d1f6ec97
Fix race in async_get_integrations with multiple calls when an integration is not found (#139270)
* Fix race in async_get_integrations with multiple calls when an integration is not found

* Fix race in async_get_integrations with multiple calls when an integration is not found

* Fix race in async_get_integrations with multiple calls when an integration is not found

* tweaks

* tweaks

* tweaks

* restore lost comment

* tweak test

* comment cache

* improve test

* improve comment
2025-02-25 19:08:53 +01:00
Noah Groß 4e904bf5a3
Use new python library for picnic component (#139111) 2025-02-25 17:21:31 +01:00
Artur Pragacz 38cc26485a
Add sound mode support to Onkyo (#133531) 2025-02-25 17:21:05 +01:00
Galorhallen f3021b40ab
Add support for effects in Govee lights (#137846) 2025-02-25 17:04:53 +01:00
Manu 9ec9110e1e
Rename description field to notes in Habitica action (#139271) 2025-02-25 17:03:31 +01:00
Martin Hjelmare 27f7085b61
Create repair for configured unavailable backup agents (#137382)
* Create repair for configured not loaded agents

* Rework to repair issue

* Extract logic to config function

* Update test

* Handle empty agend ids config update

* Address review comment

* Update tests

* Address comment
2025-02-25 16:27:56 +01:00
Andrew 1fb51ef189
Add OpenWeatherMap Minute forecast action (#128799) 2025-02-25 15:54:10 +01:00
Markus Adrario 3059d06960
Add Homee number platform (#138962)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-02-25 15:49:12 +01:00
Dan Bishop 1f93d2cefb
Make Sonarr component's units translatable (#139254)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-02-25 15:26:22 +01:00
elmurato 664e09790c
Improve Minecraft Server config flow tests (#139251) 2025-02-25 14:22:30 +01:00
Maikel Punie d7301c62e2
Rework the velbus configflow to make it more user-friendly (#135609) 2025-02-25 14:02:10 +01:00
cdnninja befed910da
Add Re-Auth Flow to vesync (#137398)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-02-25 13:48:31 +01:00
Manu 2509353221
Add update reward action to Habitica integration (#139157) 2025-02-25 13:40:21 +01:00
LG-ThinQ-Integration bc7f5f3981
Add climate's swing mode to LG ThinQ (#137619)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-02-25 12:58:01 +01:00
Dan Raper 48d3dd88a1
Add Ohme voltage and slot list sensor (#139203)
* Bump ohmepy to 1.3.1

* Bump ohmepy to 1.3.2

* Add voltage and slot list sensor

* CI fixes

* Change slot list sensor name

* Fix snapshot tests
2025-02-25 12:36:08 +01:00
Markus Adrario 661b55d6eb
Add Homee valve platform (#139188) 2025-02-25 12:06:24 +01:00
Jan-Philipp Benecke d197acc069
Reduce requests made by webdav (#139238)
* Reduce requests made by webdav

* Update homeassistant/components/webdav/backup.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-25 11:46:40 +01:00
Erik Montnemery bf190a8a73
Add backup helper (#139199)
* Add backup helper

* Add hassio to stage 1

* Apply same changes to newly merged `webdav` and `azure_storage` to fix inflight conflict

* Address comments, add tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-02-25 10:19:41 +01:00
Erik Montnemery 24bb13e0d1
Fix kitchen_sink statistic issues (#139228) 2025-02-25 09:13:10 +01:00
J. Diego Rodríguez Royo b86bb75e5e
Add missing exception translation to Home Connect (#139218)
Add missing exception translation
2025-02-24 23:25:24 +01:00
Erik Montnemery b662d32e44
Fix bug in check_translations fixture (#139206)
* Fix bug in check_translations fixture

* Fix check for ignored translation errors

* Fix websocket_api test
2025-02-24 22:19:18 +01:00
Josef Zweck dc92e912c2
Add azure_storage as backup agent (#134085)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-24 20:59:51 +01:00
peteS-UK 2451e5578a
Add support for Apps and Radios to Squeezebox Media Browser (#135009) 2025-02-24 13:39:04 -06:00
Erik Montnemery 6507955a14
Fix race in WS command recorder/info (#139177)
* Fix race in WS command recorder/info

* Add comment

* Remove unnecessary local import
2025-02-24 18:55:13 +01:00
elmurato 60479369b6
Remove name in Minecraft Server config entry (#139113)
* Remove CONF_NAME in config entry

* Revert config entry version from 4 back to 3

* Add data_description for address in strings.json

* Use config entry title as coordinator name

* Use constant as mock config entry title
2025-02-24 19:02:18 +02:00
Jan-Philipp Benecke ec3f5561dc
Add WebDAV backup agent (#137721)
* Add WebDAV backup agent

* Process code review

* Increase timeout for large uploads

* Make metadata file based

* Update IQS

* Grammar

* Move to aiowebdav2

* Update helper text

* Add decorator to handle backup errors

* Bump version

* Missed one

* Add unauth handling

* Apply suggestions from code review

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

* Update homeassistant/components/webdav/__init__.py

* Update homeassistant/components/webdav/config_flow.py

* Remove timeout

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

* remove unique_id

* Add tests

* Add missing tests

* Bump version

* Remove dropbox

* Process code review

* Bump version to relax pinned dependencies

* Process code review

* Add translatable exceptions

* Process code review

* Process code review

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-02-24 18:00:48 +01:00
Manu 2e5f56b70d
Refactor to-do list order and reordering in Habitica (#138566) 2025-02-24 16:36:20 +00:00
Erik Montnemery 351e594fe4
Add flag to backup store to track backup wizard completion (#138368)
* Add flag to backup store to track backup wizard completion

* Add comment

* Update hassio tests

* Update tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-24 17:14:47 +01:00
Shay Levy 377da5f954
Update LG webOS TV diagnostics to use tv_info and tv_state dictionaries (#139189) 2025-02-24 16:11:07 +01:00
tdfountain 51a881f3b5
Add ambient temperature and humidity status sensors to NUT (#124181)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-02-24 14:09:43 +00:00
Luke Lashley 571349e3a2
Add Snoo integration (#134243)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-02-24 13:45:10 +01:00
Artur Pragacz d9eb248e91
Better handle runtime recovery mode in bootstrap (#138624)
* Better handle runtime recovery mode in bootstrap

* Add test
2025-02-24 13:23:39 +01:00
Erik Montnemery fc8affd243
Remove setup of rpi_power from onboarding (#139168)
* Remove setup of rpi_power from onboarding

* Remove test
2025-02-24 12:33:14 +01:00
Philipp S 7f494c235c
Consider the zone radius in proximity distance calculation (#138819)
* Fix proximity distance calculation

The distance is now calculated to the edge of the zone instead of the centre

* Adjust proximity test expectations to corrected distance calculation

* Add proximity tests for zone changes

* Improve comment on proximity distance calculation

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2025-02-24 09:28:23 +01:00
Shay Levy 8c4b8028cf
Bump aiowebostv to 0.7.0 (#139145) 2025-02-24 08:52:53 +01:00
SLaks 580c6f2684
Allow arbitrary Gemini attachments (#138751)
* Gemini: Allow arbitrary attachments

This lets me use Gemini to extract information from PDFs, HTML, or other files.

* Gemini: Only add deprecation warning when deprecated parameter has a value

* Gemini: Use Files.upload() for both images and other files

This simplifies the code.

Within the Google client, this takes a different codepath (it uploads images as a file instead of re-saving them into inline bytes).  I think that's a feature (it's probably more efficient?).

* Gemini: Deduplicate filenames
2025-02-23 16:11:38 -08:00
Josef Zweck d62c18c225
Fix flakey onedrive tests (#139129) 2025-02-23 20:06:28 +01:00
Martin Hjelmare 4f5c7353f8
Test remember the milk configurator (#139122) 2025-02-23 17:34:17 +01:00
Martin Hjelmare 0b961d98f5
Move remember the milk config storage to own module (#138999) 2025-02-23 16:32:55 +01:00
J. Diego Rodríguez Royo 1cd82ab8ee
Deprecate Home Connect command actions (#139093)
* Deprecate command actions

* Improve issue description

* Improve issue description

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-23 16:18:20 +01:00
Josef Zweck c1e5673cbd
Allow rename of the backup folder for OneDrive (#138407) 2025-02-23 14:46:37 +01:00
Andre Lengwenus 800fe1b01e
Remove individual lcn devices for each entity (#136450) 2025-02-23 14:42:54 +01:00
J. Diego Rodríguez Royo 6ebda9322d
Fetch allowed values for select entities at Home Connect (#139103)
Fetch allowed values for enum settings
2025-02-23 13:54:02 +01:00
Michael 4ca39636e2
Backup location feature requires Synology DSM 6.0 and higher (#139106)
* the filestation api requires dsm 6.0

* fix tests
2025-02-23 13:27:14 +01:00
David Bonnes 746d1800f9
Add tests to Evohome for its native services (#139104)
initial commit
2025-02-23 11:43:25 +00:00
Paulus Schoutsen 91668e99e3
OpenAI to report when running out of funds (#139088) 2025-02-23 11:51:25 +02:00
J. Diego Rodríguez Royo 5b0eca7f85
Add select setting entities to Home Connect (#138884)
* Add select setting entities

* Improvements
2025-02-23 01:42:25 +01:00
J. Nick Koston 93b01a3bc3
Fix minimum schema version to run event_id_post_migration (#139014)
* Fix minimum version to run event_id_post_migration

The table rebuild to fix the foreign key constraint was added
in https://github.com/home-assistant/core/pull/120779 but the
schema version was not bumped so we need to make sure
any database that was created with schema 43 or older
still has the migration run as otherwise they will not
be able to purge the database with SQLite since each
delete in the events table will due a full table scan
of the states table to look for a foreign key that is
not there

fixes #138818

* Apply suggestions from code review

* Update homeassistant/components/recorder/migration.py

* Update homeassistant/components/recorder/migration.py

* Update homeassistant/components/recorder/const.py

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* update tests, add more cover

* update tests, add more cover

* Update tests/components/recorder/test_migration_run_time_migrations_remember.py
2025-02-22 15:39:12 -05:00
J. Diego Rodríguez Royo 98c6a578b7
Add buttons to Home Connect (#138792)
* Add buttons

* Fix stale documentation
2025-02-22 21:14:11 +01:00
J. Diego Rodríguez Royo 92788a04ff
Add entities that represent program options to Home Connect (#138674)
* Add program options as entities

* Use program options constraints

* Only fetch the available options on refresh

* Extract the option definitions getter from the loop

* Add the option entities only when it is required

* Fix typo
2025-02-22 21:08:39 +01:00
G Johansson 4a0b1b74e3
Implement base entity for smhi (#139042) 2025-02-22 14:36:09 +02:00
Ivan Lopez Hernandez 3160b7baa0
Swap the Gemini SDK to the newly released Unified SDK (#138246)
* Swapped the old GenAI client with the newly realeased one

* Fixed the Generate Content Action, Config Flow loading and code cleanup

* Add a function to mask the issues with Tools which start with Hass

* Fix most tests

* google-genai==1.1.0

* fixes

* Fixed the remaining tests

* Adressed comments

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: tronikos <tronikos@users.noreply.github.com>
2025-02-21 22:41:05 -08:00
Claudio Ruggeri - CR-Tech baa3b15dbc
Fix write_registers calling after the upgrade of pymodbus to 3.8.x (#139017) 2025-02-21 21:16:15 -06:00
Stephan Jauernick bf83f5a671
Add button to set date and time for thermopro TP358/TP393 (#135740)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-02-21 19:40:55 -06:00
LG-ThinQ-Integration 463d9617ac
Add target_temp_step attribute to water_heater (#138920)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-02-21 23:49:17 +00:00
J. Nick Koston 8078e41cad
Allow ignored thermobeacon devices to be set up from the user flow (#139009)
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.

Allow ignored devices to be selected in the user step and replace the ignored entry.

Same as #137056 and #137052 but for thermobeacon
2025-02-21 21:22:06 +02:00
Shay Levy fb5af9acd0
Fix Shelly mock initialization for sleepy RPC device in tests (#139003) 2025-02-21 20:52:10 +02:00
Sam Wright a92c52e65b
Unifi zone based rules (#138974)
* Add support for controlling zone based firewall policies

* Add test

* Address Kane's comments + add real repo

* Add firewall icon
2025-02-21 18:14:52 +01:00
Shay Levy 800f680bd5
Fix Shelly model name for xmod devices (#138984) 2025-02-21 09:53:43 -06:00
Martin Hjelmare 26c60880e4
Add remember the milk entity tests (#138991)
* Add remember the milk entity tests

* Fix docstring
2025-02-21 09:45:00 -06:00
Manu 059a6dddbe
Fix off by one bug when sorting tasks in Habitica integration (#138993)
* Fix off-by-one bug when sorting dailies and to-dos in Habitica

* Add test
2025-02-21 09:39:24 -06:00
Manu 8068f82888
Don't fail on successful relogin in pyLoad integration (#138936)
* Don't fail on successful relogin

* logging
2025-02-21 16:16:55 +01:00
puddly debee25086
Migrate `homeassistant_hardware` to use `FirmwareInfo` instead of just the application type (#138874)
* Migrate `self._probed_firmware_type` to `self._probed_firmware_info`

* Migrate from `firmware_type` to the full `firmware_info`

* Implement `probe_silabs_firmware_type` via `probe_silabs_firmware_info`

* Fix unit tests

* Increase coverage

* Bring test coverage to 100%

* Simplify test per review comment
2025-02-21 09:26:35 -05:00
Andrew Sayre b73c6ed768
Update HEOS host from discovery (#138950) 2025-02-21 13:32:36 +01:00
Pete Sage 1d43cb3f29
Media Player tests patch demo object (#138854) 2025-02-21 13:25:22 +01:00
J. Nick Koston 4f43c971cd
Remember inkbird device type in the config entry (#138967) 2025-02-21 13:22:34 +01:00
Josef Zweck e59ec8f867
Add ability to get callback when a config entry state changes (#138943)
* Add entry_on_state_change_helper

* undo black

* remove unload

* no coro

* Add tests

* Don't accept coro

* Review feedback

* Add error test

* Make it callback type

* Make it callback type

* Removal test

* change type
2025-02-21 11:55:56 +01:00
epenet 9d241a77b7
Adjust DSL line status options in SFR Box integration (#136425) 2025-02-20 23:14:17 +01:00
Michael 490e012e54
Fix handling of min/max temperature presets in AVM Fritz!SmartHome (#138954) 2025-02-20 22:38:43 +01:00
Arie Catsman e8ff31b792
Add error handling to enphase_envoy number platform action (#136812) 2025-02-20 22:23:59 +01:00
Markus Adrario 5d1eb69281
Add light platform to Homee (#138776) 2025-02-20 19:31:31 +01:00
Erik Montnemery ff4f4111d0
Minor adjustment of recorder helper (#138941) 2025-02-20 16:28:39 +00:00
Jonas Fors Lellky 66f293c8f3
Add climate entity tests for flexit_bacnet and mark test coverage done (99%) (#138887) 2025-02-20 16:30:50 +01:00
Steven Stallion 73442e8443
Add SensorPush Cloud integration (#134223) 2025-02-20 16:15:47 +01:00
Erik Montnemery 0d8c449ff4
Validate hassio backup settings (#138880)
* Validate hassio backup settings

* Add snapshots

* Don't reset addon and folder settings

* Adapt to changes in BackupConfig.update
2025-02-20 16:06:33 +01:00
Erik Montnemery fb57284561
Remove helper.recorder.async_wait_recorder (#138935) 2025-02-20 15:02:22 +00:00
Josef Zweck 9f7c4648a2
Allow files to be directly deleted in onedrive (#138908)
* Allow files to be directly deleted in onedrive

* let options flow reload

* update description
2025-02-20 13:35:29 +01:00
Andrew Sayre 2d0967994e
Fix ability to set HEOS options (#138235) 2025-02-20 13:14:57 +01:00
Erik Montnemery 6d6dfce7d1
Adjust cleanup of removed integration spider (#138932) 2025-02-20 12:19:00 +01:00
Erik Montnemery d9a18c2994
Adjust cleanup of removed integration myq (#138931) 2025-02-20 12:18:40 +01:00
Erik Montnemery affec21a6a
Adjust cleanup of removed integration mazda (#138930) 2025-02-20 12:17:58 +01:00
Erik Montnemery 94869f3210
Adjust cleanup of removed integration linear_garage_door (#138929) 2025-02-20 12:17:10 +01:00
Erik Montnemery e53617a788
Adjust cleanup of removed integration life360 (#138928) 2025-02-20 12:16:39 +01:00
Erik Montnemery e916b57714
Adjust cleanup of removed integration eight_sleep (#138926) 2025-02-20 12:16:23 +01:00
Markus Adrario 20f273f06a
Add button platform to Homee (#138923) 2025-02-20 12:07:12 +01:00
Erik Montnemery d24a14442f
Adjust cleanup of removed integration aladdin_connect (#138917) 2025-02-20 09:38:15 +01:00
Thomas D 5d851b6a56
Add light platform to qbus (#136168)
* Add light platform

* Add on/off for light

* Renamed add_entities to async_add_entities

* Revert qbusmqttapi bump

* Align dependency version

* Use AddConfigEntryEntitiesCallback

* Use AddConfigEntryEntitiesCallback
2025-02-20 06:13:13 +01:00
Simone Chemelli 901011de7b
Use xmod model info for Shelly XMOD devices (#137013) 2025-02-19 22:47:23 +01:00
Erik Montnemery ad7780291e
Correct backup date when reading a backup created by supervisor (#138860) 2025-02-19 22:40:03 +01:00
Glenn Waters 406f894dc1
Environment Canada: Add a detailed forecast action (#138806)
* Add forecast service.

* Add detailed Environment Canada forecast data.

* Add icon and translations.

* Fix missing commas

* Add const.

* Add test.
2025-02-19 15:07:53 -06:00
Paulus Schoutsen 0b6f49fec2
Filter out certain intents from being matched in local fallback (#137763)
* Filter out certain intents from being matched in local fallback

* Only filter if LLM agent can control HA
2025-02-19 14:27:42 -06:00
Andrew Sayre 1d3fcc67b8
Select preferred discovered HEOS host (#138779)
* Select preffered host from discovery

* Remove invalid test comment
2025-02-19 11:51:47 -06:00
Erik Montnemery 81c909e8ce
Revert "Add assistant filter to expose entities list command" (#138867)
Revert "Add assistant filter to expose entities list command (#138817)"

This reverts commit a6bb5dbe2a.
2025-02-19 18:13:36 +01:00
Markus Adrario fb3b23aef3
Homee switch platform (#137457) 2025-02-19 15:55:16 +00:00
Erik Montnemery b70c5710a9
Correct invalid automatic backup settings when loading from store (#138716)
* Correct invalid automatic backup settings when loading from store

* Improve docstring

* Improve tests
2025-02-19 16:24:30 +01:00
Erik Montnemery af0a862aab
Clean up translations for mocked integrations inbetween tests (#138732)
* Clean up translations for mocked integrations inbetween tests

* Adjust code, add test

* Fix docstring

* Improve cleanup, add test

* Fix test
2025-02-19 13:49:31 +01:00
Robert Resch 97c558b694
Add WIND_DIRECTION to SensorDeviceClass and NumberDeviceClass (#138714)
* Add WIND_DIRECTION to SensorDeviceClass

* Add WIND_DIRECTION to NumberDeviceClass

* Fix tests
2025-02-19 12:24:22 +01:00
proohit d655c51ef9
Adds Tado Child Lock support (#135837) 2025-02-19 11:24:04 +00:00
Joakim Sørensen 618bdba4d3
Add check_connection parameter to cloud login methods and handle AlreadyConnectedError (#138699) 2025-02-19 11:19:03 +01:00
Jonas Fors Lellky b6cb2bfe5b
Add test for flexit_bacnet hvac mode (#138748)
Add test for hvac mode
2025-02-19 09:15:07 +01:00
J. Nick Koston 46599a4ac4
Bump habluetooth to 3.22.0 (#138812) 2025-02-18 23:50:11 -06:00
Jan Bouwhuis 689421eddf
Move blocking code to executor job in MQTT CI test helper (#138815) 2025-02-19 06:14:07 +01:00
Michael Hansen a6bb5dbe2a
Add assistant filter to expose entities list command (#138817) 2025-02-18 20:39:44 -05:00
skobow f8ffbf0506
Set clean_start=True on connect to MQTT broker (#136026)
* Addresses #135443: Set  on connect.

* Make clean start implementation compatible with v2 API

* Add tests

* Do not pass default value for `clean_start` on_connect

* Revert "Do not pass default value for `clean_start` on_connect"

This reverts commit 75806736cf.

* Use partial top pass kwargs to mqtt client connect

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: jbouwh <jan@jbsoft.nl>
2025-02-18 23:11:21 +01:00
Andrew Sayre 6613b46071
Add HEOS group volume down/up actions (#138801)
Add group volume down/up actions
2025-02-18 15:53:59 -06:00
Christopher Fenner 1579e90d58
Fix typos in strings.json files (#138601)
* fix codespell issues

* update nextcloud snapshots

* update weheat snapshots

* update waqi snapshots
2025-02-18 22:36:28 +01:00
J. Diego Rodríguez Royo 8e887f550e
Add connectivity binary sensor to Home Connect (#138795)
Add connectivity binary sensor
2025-02-18 22:08:40 +01:00
J. Nick Koston 8ae52cdc4c
Fix shelly not being able to be setup from user flow when already discovered (#138807)
raise_on_progress=False was missing in the user flow which
made it impossible to configure a shelly by IP when there
was an active discovery because the flow would abort
2025-02-18 22:05:05 +02:00
SLaks 82ac3e3fdf
Ecobee: Report Humidifier Action (#138756)
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-02-18 20:11:37 +01:00
Parker Brown 8dd1e9d101
Add threshold sensor to Aranet (#137291)
* Add threshold level sensor description to Aranet component

* Use Color enum for status options

* Add threshold level sensor tests for Aranet components

* Rename `threshold_level` key to `status`

* Update test to expect 7 sensors instead of 6

* Map sensor status to more human-friendly strings

* Rename `threshold_level` key to `concentration_status`

* Update docstring for  function

* Simplify `get_friendly_status()`

* Rename `concentration_status` to `concentration_level`

* Rename `concentration_status` to `concentration_level` in sensor tests

* Refactor concentration level handling and tests

* Normalize concentration level status values to lowercase

* Add error to translations

* Don't scale status string

* Apply suggestions from code review

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

* Rename `concentration_level` to `threshold_indication`

* Update threshold indication translations

* `threshold_indication` → `threshold`

* Capitalize sensor name

Co-Authored-By: Shay Levy <levyshay1@gmail.com>

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-02-18 20:16:50 +02:00
Renat Sibgatulin 096468baa4
airq: add more verbose debug logging (#138192) 2025-02-18 19:03:47 +01:00
Andrew Sayre 3659fa4c4e
Add HEOS entity service to set group volume level (#136885) 2025-02-18 11:56:50 -06:00
peteS-UK d1f0e0a70f
Add support for announce to Squeezebox media player (#129460)
* initial

* Add support for announce: true to media player

* Move play_announcement to _player

* update snapshot

* conftest update

* remove conftest update

* Update conftest.py

* Test Updates

* Updates post moving functions to library

* test fixes

* Review updates

* Snapshot update

* rebase updates

* Merge updates

* Review updates

* Review updates
2025-02-18 11:22:19 -06:00
Pete Sage e9fcef1b57
Fix TV input source option for Sonos Arc Ultra (#138778)
initial commit
2025-02-18 08:43:00 -06:00
Petar Petrov a003f89a5e
Fix Z-WaveJS inclusion in the background (#138717)
* Fix Z-WaveJS inclusion in the background

* improve async handling

* just return the `requested_grant` to the driver

* handle controller busy state
2025-02-18 15:17:13 +01:00
Erik Montnemery 22c634e626
Don't allow setting backup retention to 0 days or copies (#138771)
* Don't allow setting backup retention to 0 days or copies

* Add tests
2025-02-18 15:16:44 +01:00
starkillerOG f5e1fa6a21
Allow playback of h265 encoded Reolink video (#138667) 2025-02-18 11:17:13 +01:00
Brett Adams 800cdee409
Update Diagnostics in Teslemetry (#138759)
* Testing

* Diag
2025-02-18 09:44:29 +01:00
Jan Bouwhuis 33df208296
Fix temp files of mqtt CI tests not cleaned up properly (#138741)
* Fix temp files of mqtt CI tests not cleaned up properly

* Do not cleanup tempfiles, patch gettempdir only
2025-02-18 08:38:43 +01:00
Sid 3b6e3fe457
Fix race condition on eheimdigital coordinator setup (#138580) 2025-02-17 20:10:56 +01:00
Erik Montnemery e0795e6d07
Improve config entry state transitions when unloading and removing entries (#138522)
* Improve config entry state transitions when unloading and removing entries

* Update integrations which check for a single loaded entry

* Update tests checking state after unload fails

* Update homeassistant/config_entries.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-17 18:16:57 +01:00
Joost Lekkerkerker ff16e587e8
Bump airgradient to 0.9.2 (#138725)
* Bump airgradient to 0.9.2

* Bump airgradient to 0.9.2
2025-02-17 18:45:26 +02:00
Andrew Sayre 34a33e0465
Create HEOS devices after integration setup (#138721)
* Create entities for new players

* Fix docstring typo
2025-02-17 09:28:55 -06:00
Abílio Costa 9422c4de65
Fix snapshots timezone in Cloud tests (#138393)
* Fix snapshots timezone in Cloud tests

* Add explanation comment
2025-02-17 16:01:03 +01:00
Erik Montnemery 4cdc3de94a
Correct backup filename on delete or download of cloud backup (#138704)
* Correct backup filename on delete or download of cloud backup

* Improve tests

* Address review comments
2025-02-17 08:38:28 -06:00
Michael df6cb0b824
Add repair-issue that backup location setup is missing in Synology DSM (#138233)
* add missing backup location setup repair-issue

* add tests

* tweak translation strings

* add test for other fixable issues

* remove senseless abort reason no_file_station
2025-02-17 13:03:31 +01:00
Alberto Geniola cd13eff8ae
Elmax - fix issue 136877 (#138419)
* Fix IPv6 zero-conf discovery not handling hostname correctly.

* Aligned tests.

* Remove redundant !s notation.

* Add IPv6 discovery tests

* Parametrize input_uri to avoid duplicated code

* Update tests/components/elmax/conftest.py

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-02-17 10:01:27 +01:00
Dan Raper 66d16336ea
Add preconditioning number entity to Ohme (#138346)
* Add preconditioning number entity

* Updated test snapshots for ohme

* Update test snapshots
2025-02-17 09:07:18 +01:00
Andrew Sayre 89956adf2e
Allow removal of stale HEOS devices (#138677)
Allow device removal
2025-02-17 08:47:11 +01:00
cdnninja 6b90e7b2c2
Bump pyvesync for vesync (#138681)
* bump pyvesync

* fix tests

* Test fix
2025-02-16 21:33:48 -06:00
peteS-UK bdeb24cb61
Add OptionsFlow to Squeezebox to allow setting Browse Limit and Volume Step (#129578)
* Initial

* prettier strings

* Updates

* remove error strings

* prettier again

* Update strings.json

vscode prettier fails check

* update test to remove invalid value

* Remove config_entry __init__

* remove param

* Review updates

* ruff fixes

* Review changes

* Shorten options flow ui string

* Review changes

* Remove errant mock attib

---------

Co-authored-by: Andrew Sayre <6730289+andrewsayre@users.noreply.github.com>
2025-02-16 15:02:29 -06:00
Martin Hjelmare 0b7ec96448
Improve remember the milk storage (#138618) 2025-02-16 21:17:26 +01:00
Josef Zweck 95b1cf465b
Use gibibytes for onedrive (#138637)
* Use gibibytes for onedrive

* also to strings
2025-02-16 14:08:01 +02:00
Teynar 21032ea7cd
Add missing unit for Withings snore sensor (#138517) 2025-02-16 10:21:34 +01:00
J. Diego Rodríguez Royo c75707ec79
Use correct inputs for relative time and duration options (#138619) 2025-02-16 00:29:38 +01:00
Josef Zweck fdaa640c8e
Add issues for data cap to onedrive (#138411)
* Add issues for data cap to onedrive

* brackets

* Fix double space

Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>

---------

Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2025-02-15 21:44:59 +01:00
Nathan Spencer 0a78f2725d
Add switch to toggle filter cycle 2 on balboa spas (#138605) 2025-02-15 20:20:33 +01:00
Erik Montnemery 78337a6846
Disable zwave_js testing resetting the controller (#138595)
* Improve zwave_js test of resetting the controller

* Disable the test
2025-02-15 20:16:07 +01:00
J. Diego Rodríguez Royo 78c4d815ce
Fix home connect coffe-milk ratio option (#138593)
* Fix home connect milk ratio option

* Use enumeration instead of number selector for coffee-milk ratio
2025-02-15 20:10:27 +01:00
Markus Jacobsen 05696b5528
Add Event entity states to diagnostics for Bang & Olufsen (#135859)
Add diagnostics for event buttons
2025-02-15 09:28:10 -06:00
Brett Adams c89d8edb3c
Remove dynamic rate limits from Tesla Fleet (#138576)
* remove

* TEsts
2025-02-15 16:27:29 +01:00
Michael Hansen 30a6a6ad4b
Use language util to match intent language (#138560) 2025-02-14 20:51:53 -05:00
Michael Hansen e16343ed72
Prevent voice wizard from crashing for wyoming/voip (#138547)
* Prevent voice wizard from crashing for wyoming/voip

* Use stub configuration in websocket API
2025-02-14 15:41:45 -06:00
Nathan Spencer b916fbe1fc
Add time entity to balboa (#138248) 2025-02-14 20:50:51 +01:00
Joris Pelgröm c090fbfbad
Add binary sensor platform to LetPot integration (#138554) 2025-02-14 20:21:30 +01:00
J. Diego Rodríguez Royo 2bfe96dded
Add Home Connect action with recognized programs and options (#130662)
* Added recognized options to Home Connect actions

* Fix ruff

* Fix strings.json

* Fix dishwasher typo

* Improved test_bsh_key_transformations

* Add missing return types

* Added descriptions

* Remove custom options

* Fixes

* Merge the 4 services (select, start, set options for active or selected program)

And deprecate the original ones

* Delete stale snapshots

* Clean up logic after service validation

* Make deprecated actions issues fixable

And delete issue on entry unload

* Fixes and improvements

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

* Improvements

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

* Fix name and descriptions

* Add `affects_to` to strings and service.yaml

* Add missing periods at strings

* Fix

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Add tests to check if the flow removes the deprecated action issue

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-02-14 20:21:01 +01:00
IceBotYT d99044572a
Improved auth failure handling in Nice G.O. (#136607) 2025-02-14 20:03:21 +01:00
Manu 7bd2c1d710
Refactor and add tests to image platform of Habitica (#135897) 2025-02-14 15:20:19 +00:00
Joris Pelgröm 371490a470
Add sensor platform to LetPot integration (#138491)
* Add sensor platform to LetPot integration

* Handle support in description supported_fn, use common string

* Update homeassistant/components/letpot/switch.py

* Update homeassistant/components/letpot/sensor.py

* Update homeassistant/components/letpot/sensor.py

* Update homeassistant/components/letpot/strings.json

* Fix translation key in snapshot

* snapshot no quotes

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-02-14 13:57:27 +01:00
Erik Montnemery efd7ddeb89
Improve tests of removing and unloading config entries (#138432)
* Improve tests of removing and unloading config entries

* Fix unnecessary coroutine
2025-02-14 13:06:07 +01:00
RJPoelstra f407dbd35c
Disable less used entities by default in MotionMount integration (#138509)
* Mark sensors as disabled by default as most users won't need them

* Mark entity-disabled-by-default as done

* Enable disabled entities during tests
2025-02-14 12:46:41 +01:00
Michael 621bcccef7
Remove scan interval option from Synology DSM (#138490)
remove scan interval option
2025-02-13 22:51:14 +01:00
Jan Bouwhuis d6b7762dd6
Upgrade paho-mqtt API to v2 (#137613)
* Upgrade paho-mqtt API to v2

* Refactor on_connect callback

* Add tests

* Fix Tasmota tests
2025-02-13 22:13:19 +01:00
J. Nick Koston bbbad90ca2
Fix race configuring zeroconf (#138425) 2025-02-13 14:17:06 -06:00
David Rapan 82074a8940
Starlink migration to `StarlinkConfigEntry` (#137896)
* refactor: Utilize custom StarlinkConfigEntry

* fix: ruff-format

* fix: Init tests

* fix: StarlinkConfigEntry in coordinator after recent PRs

* fix: CONF_IP_ADDRESS constant

* fix: After merge clean up

* fix: Naming conventions

* feat: Add runtime_data into init test

* refactor: Remove runtime_data assert in unload entry test
2025-02-13 16:36:07 +01:00
Artur Pragacz 7021175e0d
Simplify stage 1 in bootstrap (#137668)
* Simplify stage 1 in bootstrap

* Add timeouts to STAGE 0

* Fix test

* Clarify pre import language

* Remove timeout for frontend and recorder

* Address review

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-02-13 13:07:24 +01:00
Indu Prakash 6a26d59142
Add night light brightness level setting to VeSync (#137544) 2025-02-13 11:45:09 +00:00
Arie Catsman 07c304125a
Add error handling to enphase_envoy select platform action (#136698)
* Add error handling to enphase_envoy select platform action

* Add translation key parameter to exception_handler decorator
2025-02-13 09:37:52 +01:00
IceBotYT 6bc4f04a07
Handle no_readings in La Crosse View (#138354)
* Handle no_readings in La Crosse View

* Fixes
2025-02-13 09:24:28 +01:00
Joris Pelgröm 737baaef2b
Improve test coverage for letpot (#138420) 2025-02-13 09:22:05 +01:00
IceBotYT 1ac16f6dbf
Set suggested display precision in La Crosse View (#138355)
* Set suggested display precision in La Crosse View

* Switch to entity descriptions
2025-02-13 08:37:46 +01:00
puddly 81cac25bd0
OTBR firmware API for Home Assistant Hardware (#138330)
* Implement `async_register_firmware_info_provider` for OTBR

* Keep track of the current device for OTBR

Keep track of the current device, part 2

* Fix unit tests

* Revert keeping track of the current device

* Fix existing unit tests

* Increase test coverage

* Remove unused code from tests

* Reload OTBR when the addon reloads

* Only reload if the current entry is running

* Runtime test

* Add a unit test for the reloading

* Clarify the purpose of `ConfigEntryState.SETUP_IN_PROGRESS`

* Simplify typing
2025-02-12 15:48:09 -05:00
Josef Zweck 641b487196
Improve test coverage for onedrive (#138410)
* Improve test coverage for onedrive

* set done in quality scale
2025-02-12 20:44:39 +01:00
Erik Montnemery 03b3097c34
Update cloud backup agent to use calculate_b64md5 from lib (#138391)
* Update cloud backup agent to use calculate_b64md5 from lib

* Catch error, add test

* Address review comments

* Update tests/components/cloud/test_backup.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

---------

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-02-12 19:11:20 +01:00
Josef Zweck ff5ddce7b0
Add sensor platform to OneDrive for drive usage (#138232) 2025-02-12 18:37:30 +01:00
Dan Raper 910711ecba
Bump ohmepy to 1.3.0 (#138380)
* Bump ohmepy to 1.3.0

* CI fix for enum change
2025-02-12 14:54:21 +01:00
epenet 2bb582f8e6
Use runtime_data in geo_json_events (#138366)
* Use runtime_data in geo_json_events

* Update __init__.py
2025-02-12 12:42:22 +01:00
Markus Adrario 88b444fa5b
Add Homee sensor tests (#137200) 2025-02-12 11:35:36 +00:00
TimL a3cde3d8ab
Fix authentication error when adding new devices to SMLIGHT (#138373)
* Fix authentication issue

Fixes #138216

* Fix incorrect mocks in unsupported device tests

* set _device_name in auth flow also

* Update get_info Mock to handle authentication

* Update tests
2025-02-12 12:22:58 +01:00
Erik Montnemery 6ef1178a35
Use setup_backup_integration test helper in backup tests (#138362) 2025-02-12 09:49:01 +01:00
Erik Montnemery a6c51440e5
Use test helper for creating a mocked backup agent in backup tests (#138312)
* Use test helper for creating a mocked backup agent in backup tests

* Adjust according to discussion
2025-02-12 08:55:16 +01:00
Pete Sage 1393f417ed
Expose media_player async_browse_media as service (#116452)
* initial commit

* make fields optional

* x

* ruff issues

* ruff issues

* ruff issues

* ruff issues

* update example

* update description

* use constants

* Update homeassistant/components/media_player/strings.json

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

* update service call metadata

* update description

* patch the demo

* Update homeassistant/components/media_player/strings.json

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

* revert unrelated change

* update test metadata

* update test metadata

* change patch target to be more specific

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-12 01:06:13 +01:00
Allen Porter da1e3c29ed
Update anthropic to use the streaming API (#138256) 2025-02-12 01:05:23 +01:00
Abílio Costa 48b8ec01e3
Add logs to Cloud component support package (#138230)
* Add logs to Cloud component support package

* Add section for logs

* Replace list with deque

* Copy the deque to avoid mutation during iteration
2025-02-11 23:05:19 +01:00
rrooggiieerr 0ffbe076be
Fix timer.cancel action fires timer.cancelled event even on canceled timers (#134507)
* Fixes https://github.com/home-assistant/core/issues/116105

* Fixes unit test in accordance to documentation

Timer needs to be active before it can be canceled

* Allow canceling of paused timers

* Add test for canceling/finishing already canceled/finished timers

* Add test for finishing a paused timer, this should not be possible

* Revert finish related tests

* Merge branch 'timer.cancelled_fix' of
git@github.com:rrooggiieerr/homeassistant-core.git into
timer.cancelled_fix

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-02-11 22:08:18 +01:00
Allen Porter 8d5f927b42
Fix next authentication token error handling (#138299) 2025-02-11 21:47:36 +01:00
Erik Montnemery 6abf7b525a
Improve test coverage of config subentries and fix related issues (#138321)
Improve test coverage of config subentries
2025-02-11 21:46:56 +01:00
Arie Catsman 6115def083
Bump pyenphase to 1.25.1 (#138327)
* Bump pyenphase to 1.25.1

* Add new opt_schedules to nephase_envoy test fixtures
2025-02-11 21:35:03 +01:00
rrooggiieerr 17089e822e
Allow timer.finish on paused timers (#134552)
* Add test for finishing already finished timer

* Add test for finishing a paused timer

* Allow canceled timer to be finished
2025-02-11 21:26:13 +01:00
Erik Montnemery fe3d6f93d7
Fix data_entry_flow.UnknownStep error message (#138288) 2025-02-11 18:56:18 +01:00
Joost Lekkerkerker 3489b20e86
Refactor SmartThings sensor platform (#138313) 2025-02-11 18:14:13 +01:00
epenet 14e1b55b5a
Do not test internals in flo tests (#138306)
* Do not test internals in flo tests

* fix
2025-02-11 17:26:58 +01:00
balazs92117 a85bb98743
Dsmr eon hungary (#138162)
Add EON hungary
2025-02-11 17:25:57 +01:00
Michael Hansen 6226542e4d
Keep responding state on wake word start (#138244)
* Keep responding state on wake word start

* Add comment
2025-02-11 10:21:41 -06:00
Erik Montnemery 8b3421deb7
Add test helper for creating a mocked backup agent (#138294)
* Add test helper for creating a mocked backup agent

* Address review comments
2025-02-11 16:21:24 +01:00
Erik Montnemery 10180cd464
Fix BackupManager.async_delete_backup (#138286) 2025-02-11 14:53:07 +01:00
Piotr Buliński 2784a28ef7
Flexit BACnet: Cooker hood mode support (#138229) 2025-02-11 14:39:42 +01:00
Erik Montnemery 31ea2e1714
Improve error reporting in onboarding backup API (#138203) 2025-02-11 13:48:13 +01:00
Erik Montnemery 77486b9306
Improve config_entries tests (#138274)
* Improve config_entries tests

* Drop unnecessary use of OrderedDict
2025-02-11 13:17:54 +01:00
Erik Montnemery 428cc1a951
Update signature of platforms' async_setup_entry in tests (#138271) 2025-02-11 13:17:39 +01:00
Manu e71f8c444b
Add user profile info to Habitica sensor and device URL (#137152)
Add user profile attributes to Habitica sensor and device URL
2025-02-11 11:41:11 +01:00
Erik Montnemery ec0cef0611
Unify error reporting in onboarding backup API (#138200) 2025-02-11 09:47:09 +01:00
Paulus Schoutsen 35416189f2
Remove some unused tests from Google Generative AI (#138249)
* Remove some unused tests from Google Generative AI

* Remove unused snapshots
2025-02-10 18:25:34 -08:00
Jamin 97a8f24f8e
Allow specifying SIP username for outgoing calls (#137059)
* Allow specifying SIP username for outgoing calls

Allow configuring a SIP username to be sent in outgoing call requests to
identify the home assistant source endpoint.

* Remove advanced options section

* Add test for removing user

* Allow unsetting SIP user

Make previous SIP user value a suggested value rather than default to
allow unsetting by submitting an empty value in the form.

* Remove unnecessary checks

Remove user check from main flow and remove none or empty check.
2025-02-10 19:24:59 -05:00
Erik Montnemery ba583cc669
Add test for trying to add an entity to an unknown config subentry (#138211) 2025-02-10 19:21:43 -05:00
Michael Hansen 6bc6111771
Add Wyoming satellite announce (#138221)
* Add Wyoming satellite announce

* Initialize when necessary
2025-02-10 14:36:20 -06:00
Erik Montnemery f83c8de8d3
Update signature of platforms' async_setup_entry (#138201) 2025-02-10 21:08:03 +01:00
Manu dc07f72fc2
Bump habiticalib to v0.3.7 (#137993)
* bump habiticalib to 0.3.6

* bump to v0.3.7
2025-02-10 20:37:54 +01:00
Martin Hjelmare a62619894a
Rework ondilo ico coordinator (#138204)
Rework ondilo ico coordinators
2025-02-10 20:36:10 +01:00
Manu 5529fbdc94
Allow ignored IronOS devices to be set up from the user flow (#138223) 2025-02-10 21:18:31 +02:00
Andrew Sayre 7aab1de72d
Bump pyheos to v1.0.2 (#138224)
Bump pyheos
2025-02-10 21:18:12 +02:00
Erik Montnemery e1817d466e
Keep one backup per backup agent when executing retention policy (#138189)
* Keep one backup per backup agent when executing retention policy

* Add tests

* Use defaultdict instead of dict.setdefault

* Update hassio tests
2025-02-10 18:09:57 +02:00
Erik Montnemery 4b34d1bbb5
Merge config subentry feature branch to dev (#136121)
* Reapply "Add support for subentries to config entries" (#133470) (#136061)

* Reapply "Add support for subentries to config entries" (#133470)

This reverts commit ecb3bf79f3.

* Update test snapshot

* Add config subentry support to device registry (#128157)

* Add config subentry support to device registry

* Apply suggestions from code review

* Update syrupy serializer

* Update snapshots

* Address review comments

* Allow a device to be connected to no or a single subentry of a config entry

* Update snapshots

* Revert "Allow a device to be connected to no or a single subentry of a config entry"

This reverts commit ec6f613151cb4a806b7961033c004b71b76510c2.

* Update test snapshots

* Bump release version in comments

* Rename config_subentries to config_entries_subentries

* Add config subentry support to entity registry (#128155)

* Add config subentry support to entity registry

* Update syrupy serializer

* Update snapshots

* Update snapshots

* Accept suggested changes

* Clean registries when removing subentry (#136671)

* Clean up registries when removing subentry

* Update tests

* Clean up subentries from deleted devices when removing config entry (#136669)

* Clean up subentries from deleted devices when removing config entry

* Move

* Add config subentry support to entity platform (#128161)

* Add config subentry support to entity platform

* Rename subentry_id to config_subentry_id

* Store subentry type in subentry (#136687)

* Add reconfigure support to config subentries (#133353)

* Add reconfigure support to config subentries

* Update test

* Minor adjustment

* Rename supported_subentry_flows to supported_subentry_types

* Address review comments

* Add subentry support to kitchen sink (#136755)

* Add subentry support to kitchen sink

* Add subentry reconfigure support to kitchen_sink

* Update kitchen_sink tests with subentry type stored in config entry

* Update kitchen_sink

* Update kitchen_sink

* Adjust kitchen sink tests

* Fix hassfest

* Apply suggestions from code review

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

* Improve docstrings and strings.json

---------

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

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-10 16:40:07 +01:00
Josef Zweck b89f9a5961
Bump onedrive-personal-sdk to 0.0.10 (#138186) 2025-02-10 13:41:28 +02:00
pglab-electronics 8c602d74f3
Add pglab integration (#109725)
* Add PG LAB Electronics integration

* Add time from last boot sensor diagnostic

* Limit the initial new pglab integration to only one platform

* Update FlowHandler with the new return type ConfigFlowResult

* Fix docstring file with the right integration name to PG LAB.

* There is no need for default value in the callback definition.

* Move all mqtt callbacks to be global and also renamed with a better name.

* Removed unused member variables.

* Renaming functions with a better name.

* Adding miss docstring to __build_device.

* Renamed CreateDiscovery with a better name.

* Removing not so meaning comment.

* Avoid to populate hass.data with pglab discovery information. Use hass.data[DOMAIN] instead.

* Revert "Removed unused member variables."

This reverts commit 4193c491ec.

* Removed unused member variables.

* Refactoring of const. Be sure to have in const.py constant that are used in at least two other modules

* Restoring back the process to unregister the plaform when unload the integration.

* fix spelling mistake

* Revert "Move all mqtt callbacks to be global and also renamed with a better name."

This reverts commit d94d8010d5.

* Main refactoring to avoid to store PG Lab discovery in hass.data

* Change class name  BaseEntity in PGLabEntity. And named PyPGLab...  what imported from external python module pypglab.

* Avoid to use dict to create DeviceInfo

* Removing unused parameter

* Removing not necessary call to base class

* Update entity name/id to be compatible with the new integration policy.

* Upate test to new entity id

* Add new line after file description

* avoid to store in local variable data for calling function

* Move PGLABConfigEntry in __init__.py

* change function to pure callback

* to avoid hang, dont' trust the split of the discovery topic... introduce a max split count

* rename method with a more meaning name

* use assignment operator

* rename variable with a better name

* removing unecessary test

* Raise exception in case of unexpected error during discovery

* Review comments all other the intergration.

* Rename classes to be consistent in integration

* Using new feature single_config_entry to allow single instance integration

* rename class FlowHandler to PGLabFlowHandler

* using __package__ to initialize integration logger

* missing to catch the exception when for some reason is not possible to create the discovery instance. This can happen when the discovery MQTT message is not in valid json format.

* using ATTR_ENTITY_ID instead of the string

* using SOURCE_MQTT, SOURCE_USER instead of config_entries.SOURCE_MQTT, config_entries.SOURCE_USER

* Using FlowResultType.ABORT instead of the string value

* Code refactoring for tests of configuration from USER and MQTT

* Remove to the user the possibility to add PGLab integration manually, and remove not needed tests.

* Change test_device_update to use snapshot to check test result

* Raise exeception in case of unexpected device and entity_id

* Avoid to log on info channel.

* Renamed _LOGGER in LOGGER

* Propage the call to the base class

* Remove not needed code because from the manifest it's only allows a single instance

* Using specific type for result test instead of string value

* Code refactoring, avoid not necessary function

* update to the new way to import mqtt components

* Avoid runtime check

* add err variable for catching the exception

* add doc string to mqtt_publish

* add doc string to mqtt_subscribe

* Rename DiscoverDeviceInfo.add_entity_id in add_entity

* add doc string

* removing not meaning documentation string

* fix spelling

* fix wrong case in docstring

* fix spelling mistake in PyPGLab callback name

* rename mqtt message received callback

* Avoid to store hard coded discovery_prefix

* Removing unused strings from strings.json

* Give to the user more information during config_flow, and add the possibility to add manually the integration

* Fix to avoid fails of auto test

* update discovery test

* Be sure to always subscribe to MQTT topic when entity is added to HA

* Update codeowner of PGLAB integration and test

* Add control to check if mqtt is available during integration setup

* New test for check no state change for disable entity switch

* Remore not more used file

* update pypglab to version 0.0.3 and improve the symmetry to subscribe/unsubscribe to mqtt entity topic and to register/deregister the status update callback

* Update codeowner of pglab integration

* Adding quality_scale

* removing async_setup

* Fix spelling mistake

* Added test to cover config_flow.async_step_user

---------

Co-authored-by: Pierluigi <p.garaventa@gmail.com>
2025-02-10 08:19:42 +01:00
Allen Porter 15223b3679
Update Ollama to use streaming API (#138177)
* Update ollama to use streaming APIs

* Remove unnecessary logging

* Update ollama to use streaming APIs

* Remove unnecessary logging

* Update homeassistant/components/ollama/conversation.py

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

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-02-09 21:05:41 -08:00
Allen Porter ae38f89728
Update anthropic to use the new chatlog API (#138178)
* Update anthropic to use the new chatlog API

* Remove conversation id logging

* Add back whitespace

* Reduce unnecessary diffs

* Revert diffs to conversation component

* Replace types with union type
2025-02-09 20:42:15 -08:00
Paulus Schoutsen 29c6a2ec13
Add pipeline intent-progress events based on deltas (#138095)
Add intent progress Assist event
2025-02-09 18:09:52 -08:00
Paulus Schoutsen fa3acde684
Make MockChatLog reusable for other integrations (#138112)
* Make MockChatLog reusable for other integrations

* Update tests/components/conversation/__init__.py
2025-02-09 20:19:28 -05:00
Paulus Schoutsen cabb406270
Fix user input not added to chat log from contextvar (#138173) 2025-02-09 16:34:25 -08:00
Abílio Costa c2bb376c43
Handle generic agent exceptions when getting and deleting backups (#138145)
* Handle generic agent exceptions when getting backups

* Update hassio test

* Update delete_backup
2025-02-10 01:31:55 +01:00
Andrew Jackson 31d2d968c4
Add optional media description to Mastodon post action (#137224)
Add optional media description
2025-02-10 00:01:53 +01:00
Christopher Fenner c8b4e62710
Add battery level sensor for ViCare zigbee devices (#137813)
* add battery level sensor

* add uom

* adapt test case
2025-02-09 23:50:03 +01:00
Brynley McDonald 0408e732d7
Add extra tests to `flick_electric` (#138017)
Add extra tests to flick_electric
2025-02-09 23:40:34 +01:00
Allen Porter 57ab567d08
Update ollama to use the ChatLog/ChatSession APIs (#138167)
* Update ollama to use the ChatLog/ChatSession APIs

* Add documentation about history trimming.

* Revert changes to chat_log.py

* Explicitly check for SystemContent when converting system messages

* Remove half of a comment
2025-02-09 16:52:01 -05:00
Regev Brody 379bf10675
Add scene support to roborock (#137203)
* feature: add scene buttons to roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock

* feature: upgrade python-roborock
2025-02-09 13:39:38 -08:00
Michael 4eccc9d9a4
Explicitly pass in the config_entry in iotty coordinator (#138140)
explicitly pass in the config_entry in coordinator
2025-02-09 22:01:13 +02:00
Allen Porter b1f3068b41
Refresh the nest authentication token on integration start before invoking the pub/sub subsciber (#138003)
* Refresh the nest authentication token on integration start before invoking the pub/sub subscriber

* Apply suggestions from code review

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-02-09 12:31:18 -05:00
tronikos 0bd161a45a
Use resumable uploads in Google Drive (#138010)
* Use resumable uploads in Google Drive

* tests
2025-02-09 12:30:52 -05:00
Michael 794143c32f
Explicitly pass in the config_entry in tibber coordinator (#137904)
explicitly pass in the config_entry in coordinator
2025-02-09 14:33:54 +01:00
J. Diego Rodríguez Royo 4a8c96471b
Raise `ConfigEntryAuthFailed` at Home Connect update auth error (#136953)
* Raise `ConfigEntryAuthFailed` on `UnauthorizedError` handling

* Implement reauth flow

* Add tests

* Remove unnecessary code from tests
2025-02-09 12:36:08 +01:00
Paulus Schoutsen df307aeb6d
Stream OpenAI messages into the chat log (#137400) 2025-02-09 00:01:24 -05:00
Piotr Buliński 848ee762a7
Add support for fireplace mode control for flexit_bacnet integration (#137594) 2025-02-08 20:54:13 +01:00
J. Diego Rodríguez Royo 91dbe3092f
Only allow single Home Connect config entry (#137088)
* Make Home Connect config entry unique

* Use unique ID for Home connect config entry

* Remove unnecessary code

* Revert "Use unique ID for Home connect config entry"

This reverts commit 4241317469.

* Added tests
2025-02-08 16:29:00 +01:00
Bouwe Westerdijk 7f6855045a
Bump plugwise to v1.7.1 and adapt (#137599)
* Bump plugwise v1.7.1

* Refresh test-fixtures

* Adapt integration code

* Adapt test code

* Fixes

* Save updated snapshot

* Ruff fixes

* More ruff fixes
2025-02-08 17:02:24 +02:00
Franck Nijhof 7bf81037c1
Add Peblar charge switch (#137853)
* Add Peblar charge switch

* Update snapshots
2025-02-08 15:48:31 +01:00
David Bonnes a542a2e021
Refactor evohome for major bump of client to 1.0.2 (#135436)
* working test_init

* update fixtures to be compliant with new schema

* test_storage is now working

* all tests passing

* bump client to 1.0.1b0

* test commit (working tests)

* use only id (not e.g. zoneId), use StrEnums

* mypy, lint

* remove deprecated module

* remove waffle

* improve typing of asserts

* broker is now coordinator

* WIP - test failing

* rename class

* remove unneeded async_dispatcher_send()

* restore missing code

* harden test

* bugfix failing test

* don't capture blind except

* shrink log messages

* doctweak

* rationalize asserts

* remove unneeded listerner

* refactor setup

* bump client to 1.0.2b0

* bump client to 1.0.2b1

* refactor extended state attrs

* pass UpdateFailed to _async_refresh()

* Update homeassistant/components/evohome/entity.py

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

* Update homeassistant/components/evohome/entity.py

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

* not even lint

* undo not even lint

* remove unused logger

* restore old namespace for e_s_a

* minimize diff

* doctweak

* remove unused method

* lint

* DUC now working

* restore old camelCase keynames

* tweak

* small tweak to _handle_coordinator_update()

* Update homeassistant/components/evohome/coordinator.py

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

* add test of coordinator

* bump client to 1.0.2

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-02-08 14:45:48 +00:00
Joris Pelgröm fae2c94c74
Add snapshot tests for setup of LetPot platforms (#137756) 2025-02-08 13:42:43 +01:00
tronikos c370fa0489
Use the external URL set in Settings > System > Network if my is disabled as redirect URL for Google Drive instructions (#137791)
* Use the Assistant URL set in Settings > System > Network if my is disabled

* fix

* Remove async_get_redirect_uri
2025-02-08 01:16:10 -08:00
Artur Pragacz ae55e26546
Group helpers of set_up_integrations in bootstrap (#137673) 2025-02-08 10:07:22 +01:00
IceBotYT 332a0c5082
LaCrosse View new endpoint (#137284)
* Switch to new endpoint in LaCrosse View

* Coverage

* Avoid merge conflict

* Switch to UpdateFailed
2025-02-08 09:14:00 +01:00
Paulus Schoutsen f64b494282
Conversation chat log cleanup and optimization (#137784) 2025-02-07 22:06:16 -08:00
Paulus Schoutsen 7883106e7c
Make sure we always have agent_id in ConversationInput (#137679)
* Make sure we always have agent_id in ConversationInput

* fix type
2025-02-07 18:25:21 -08:00
Michael c814f4f307
Explicitly pass in the config entry in amberelectric coordinator init (#137700)
* explicitly pass in the config_entry in amberelectric coordinator init

* fix amberelectric tests
2025-02-07 20:11:04 +01:00
Maciej Bieniek 6ff733b225
Set the device class for the Shelly virtual sensor (#137068)
* Map sensor role to the device class

* Add test

* Fix docstring
2025-02-07 17:36:26 +02:00
puddly b3205ea1cd
Do not rely on pyserial for port scanning with the CM5 + ZHA (#137585)
Do not rely on pyserial for port scanning with the CM5
2025-02-07 16:33:40 +01:00
Maciej Bieniek aa6fa3cdad
Don't use the current temperature from Shelly BLU TRV as a state for External Temperature number entity (#137658)
Introduce RpcBluTrvExtTempNumber for External Temperature entity
2025-02-07 16:32:28 +01:00
Josef Zweck 040e1ff5fb
Use separate metadata files for onedrive (#137549) 2025-02-07 16:06:33 +01:00
Andrew Sayre dd82212e45
Handle previously migrated HEOS device identifier (#137596) 2025-02-07 09:04:34 -06:00
Shay Levy 239f2dcb3e
Fix LG webOS TV turn off when device is already off (#137675) 2025-02-07 15:25:09 +01:00
Artur Pragacz 6d6961ae6e
Clean up colliding deleted devices when updating non-deleted devices (#135592)
* Fix Schrödinger's devices

* Address feedback

* Add comment with broader context
2025-02-07 14:44:44 +01:00
Andre Lengwenus d9726ab08c
Use snapshots for ConfigEntry migration tests (#136093)
* Add snapshots for migration

* Reduce fixtures specific to migration

* Explicitly test versions of migrated entries
2025-02-07 11:32:47 +01:00
Manu 448a24802d
Add reconfiguration flow to Bring! integration (#137529) 2025-02-07 10:08:02 +01:00
epenet 5b8ef05bc2
Use runtime_data in foscam (#137646) 2025-02-07 10:06:44 +01:00
Manu b9a9da1e1d
Add event platform to Bring! integration (#136935)
* Add event platform

* update
2025-02-07 09:44:14 +01:00
Duco Sebel fd6e2a6e19
Add Wi-Fi RSSI sensor in HomeWizard (#136754) 2025-02-06 23:37:26 +01:00
Matthias Alphart 8a08a87a25
KNX tests: Support loading different config store fixtures (#136961)
* Support loading different config store fixtures

* Add config store test for binary sensor

* Update README.md

* remove unused fixture

* AddAdd config store test for switch
2025-02-06 23:24:09 +01:00
Jan Bouwhuis d3d00357aa
Allow to omit the payload attribute to MQTT publish action to allow an empty payload to be sent by default (#137595)
Allow to omit the payload attribute to MQTT publish actionto allow an empty payload to be sent by default
2025-02-06 22:11:39 +02:00