26867 Commits

Author SHA1 Message Date
Luke Lashley
214d14b06b
Add binary sensor to Snoo (#140729)
* Add binary sensor

* Update homeassistant/components/snoo/binary_sensor.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-03-16 16:57:21 +01:00
Pete Sage
d560083e15
Album art not available for Sonos media library favorites (#140557)
* get album art uri for favorites

* add tests

* update typing

* update typing

* update typing

* simplify
2025-03-16 14:09:21 +01:00
Dan Raper
d365092bcc
Add price cap support to Ohme (#140537)
* Add price cap support

* Change service input to box mode

* Add icon for set_price_cap service

* Improve test coverage

* Change ohme service description wording
2025-03-16 14:05:08 +01:00
Luke Lashley
4e0985e1a7
Add Select entity to Snoo (#140638) 2025-03-16 14:00:43 +01:00
Pete Sage
5f8564bfc5
Fix audiobooks always start from beginning on Sonos (#140663)
* play audible favorite

* play audible favorite

* simplify tests
2025-03-16 10:11:08 +01:00
Jan-Philipp Benecke
7b9ea63f17
Split out yaml loading into own package (#140683)
* Split out yaml loading into library

* Code review

* Code review

* Fix check config script
2025-03-15 22:26:18 -04:00
Thomas55555
4050c216ed
Add Remote calendar integration (#138862)
* Add remote_calendar with storage

* Use coordinator and remove storage

* cleanup

* cleanup

* remove init from config_flow

* add some tests

* some fixes

* test-before-setup

* fix error handling

* remove unneeded code

* fix updates

* load calendar in the event loop

* allow redirects

* test_update_failed

* tests

* address review

* use error from local_calendar

* adress more comments

* remove unique_id

* add unique entity_id

* add excemption

* abort_entries_match

* unique_id

* add ,

* cleanup

* deduplicate call

* don't raise for status end de-nest

* multiline

* test

* tests

* use raise_for_status again

* use respx

* just use config_entry argument that already is defined

* Also assert on the config entry result title and data

* improve config_flow

* update quality scale

* address review

---------

Co-authored-by: Allen Porter <allen@thebends.org>
2025-03-15 18:57:45 -07:00
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 2405751f5a9d0d5be67b78b39a510240a794a7e5.

* 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 ZWaveJSsupports_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