3029 Commits

Author SHA1 Message Date
MichaelMKKelly
35f9cc55f1
Fix Automation/Script: sequence within a parallel ignoring enabled flag (#142977)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-04-19 11:49:05 +02:00
Marc Mueller
c7290908cc
Update mypy-dev 1.16.0a8 (#143166) 2025-04-17 18:13:00 +02:00
J. Nick Koston
870350b961
Add async_has_entity_registry_updated_listeners (#142772) 2025-04-14 19:45:09 +02:00
Paul Bottein
8ec436423f
Add template function: device_name (#142683) 2025-04-14 14:30:00 +02:00
Allen Porter
db043b26da
Fix quality loss for LLM conversation agent question answering (#142873)
* Fix a bug parsing a streaming response with no json

* Remove debug lines

* Fix  quality loss for LLM conversation agent question answering

* Update tests
2025-04-14 10:05:34 +02:00
Allen Porter
d91528648f
Update ollama to allow selecting mutiple LLM APIs (#142445)
* Update ollama to allow selecting mutiple LLM APIs

* Update homeassistant/helpers/llm.py

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

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-04-13 15:37:46 -07:00
Erik Montnemery
86622cd29d
Remove unnecessary imports of http integration (#141899)
* Remove unnecessary imports of http integration

* Check reason for test failures

* Revert "Check reason for test failures"

This reverts commit 5ccf356ab029402ab87e00dc00eeb4798a0f6658.

* Update tests
2025-03-31 11:30:20 +01:00
J. Nick Koston
018651ff1d
Improve handling of empty iterable in async_add_entities (#141889)
* Improve handling of empty iterable in async_add_entities

We had two checks here because we were doing an empty
iterable check. If its a list we can check it directly
but if its not we need to convert it to a list to know
if its empty.

* tweaks

* tasks never used
2025-03-30 21:22:47 -04:00
John Karabudak
85d2e3d006
Fix LLM to speed up prefill (#141156)
* fix: two minor LLM changes to speed up prefill

- moved the current date/time to the end of the prompt
- started sorting all entities by last_changed

* addressed PR comments

* fixed tests

* reduced scope of try/catch in LLM prompt

* addressed more PR comments

* fixed Anthropic test

* addressed another PR comment

* fixed remainder of tests
2025-03-30 13:30:40 -07:00
J. Nick Koston
c8d3fa6768
Small cleanups to the device registry (#141773)
Remove some calls to internal functions that
are now available directly on the devices
and deleted_devices objects

Remove internal functions that are no
longer used
2025-03-29 21:00:13 -10:00
J. Nick Koston
4a833fb489
Fix blocking late import of httpcore from httpx (#141771)
There is a late import that blocks the event loop
in newer version
9e8ab40369/httpx/_transports/default.py (L75)
2025-03-29 20:59:40 -10:00
alorente
63df2474a9
Fix missing response for queued mode scripts (#141460) 2025-03-28 10:47:41 +00:00
Andrii Mitnovych
dea00fac3f
Get area and floor by alias (#126150)
* Add possibility to get area by alias

* Add ability to get floor by alias

* Moved alias lookup to separate function, adjusted templates.

* Changed registry to return all areas/floors with given alias

* Use normalize_name from normalized_name_base_registry
2025-03-27 16:02:47 +01:00
Franck Nijhof
eb1caeb770
Add template list functions: intersect, difference, symmetric_difference, union (#141420) 2025-03-26 07:51:25 +01:00
Artur Pragacz
93561543ff
Improve code quality of condition validation (#141292)
Streamline condition validation
2025-03-24 17:21:32 +01:00
Michael
e96e95c32d
Add sensor platform to backup integration (#138663)
* add sensor platform to backup integration

* adjust namings, remove system integration flag

* add first simple test

* apply review comments

* fix test

* add sensor tests

* adjustements to use backup helper

* remove obsolet async_get_manager from init

* unsubscribe from events on entry unload

* add configuration_url

* fix doc string

* fix sensor tests

* mark async_unsubscribe as callback

* set integration_type service

* extend sensor test

* set integration_type on correct integration :)

* fix after online conflict resolution

* add sensor update tests

* simplify the sensor update tests

* avoid io during tests

* Add comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-03-24 12:54:16 +01:00
Artur Pragacz
798ee60ae5
Make variables action not restricted to local scopes (#141114)
Make variables action in scripts not restricted to local scopes
2025-03-23 14:07:52 +01:00
Allen Porter
4e2dfba45f
Omit state from the Assist LLM prompts (#141034)
* Omit state from the Assist LLM prompts

* Add back the stateful prompt
2025-03-22 15:41:51 -04:00
Allen Porter
a83bf4f514
Add a GetHomeState tool to return the current state of the home (#140971)
* Add a GetHomeState tool to return the current state of the home

* Fix check for exposing entities

* Add "all" to get home state description
2025-03-20 19:37:54 -07:00
Franck Nijhof
d3c40939f6
Reorder template extensions (#140985) 2025-03-20 11:34:02 +01:00
Franck Nijhof
c6d3928ed1
Add template function: combine (#140948)
* Add template function: combine

* Add test to take away concern raised
2025-03-20 10:29:40 +01:00
Erik Montnemery
6b9c1e17e0
Fix docstring in selector helper (#140929) 2025-03-19 16:37:07 +01:00
Stephan van Rooij
76aef5be9f
Add PKCE implementation in oauth2 helper (#139509)
* Update config_entry_oauth2_flow.py

* Specify type on request_data

* Added LocalOAuth2ImplementationWithPkce

* LocalOAuth2ImplementationWithPkce works more like specs

* fix: Adding tests for pkce flow and feedback applied

* fix last test for pkce

* Clean test_abort_if_oauth_with_pkce_rejected

* Improve assertion of code verifier and code challenge

* Break long docstrings

* Shorten docstring

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-03-17 14:16:52 +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
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
Franck Nijhof
e8069e1c07
Add template functions: md5, sha1, sha256, sha512 (#140192) 2025-03-09 16:15:27 +02:00
Allen Porter
6675b497bd
Improve LLM tool descriptions for brightness and volume percentage (#138685)
* Improve tool descriptions for brightness and volume percentage

* Address lint errors

* Update intent.py to revert of a light

* Create explicit types to make intent slots more future proof

* Remove comments about slot type

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-03-08 22:28:35 -05:00
Artur Pragacz
f0c5e00cc1
Fix conversation trigger with variables (#140066) 2025-03-08 22:23:24 -05:00
Franck Nijhof
9aa8a786a5
Add template function: flatten (#140157) 2025-03-08 11:14:27 -10:00
Franck Nijhof
e54febdc1e
Add template function: typeof (#140081) 2025-03-08 09:16:21 -10:00
Franck Nijhof
d4f205c366
Add template function: shuffle (#140077) 2025-03-07 20:36:17 -05: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
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
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
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
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
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
Artur Pragacz
b964bc58be
Fix variable scopes in scripts (#138883)
Co-authored-by: Erik <erik@montnemery.com>
2025-02-26 16:19:19 +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
Martin Hjelmare
79dbc70470
Fix return value for DataUpdateCoordinator._async setup (#139181)
Fix return value for coodinator async setup
2025-02-24 18:09:51 +01:00
Joost Lekkerkerker
a0c2781355
Fix docstring parameter in entity platform (#139070)
Fix docstring
2025-02-22 20:56:05 +01:00
Erik Montnemery
ff4f4111d0
Minor adjustment of recorder helper (#138941) 2025-02-20 16:28:39 +00:00
Erik Montnemery
fb57284561
Remove helper.recorder.async_wait_recorder (#138935) 2025-02-20 15:02:22 +00:00
Artur Pragacz
7117708937
Improve reading clarity of steps code in scripts helper (#134395)
* Reorganize steps code in scripts helper

* Address feedback

* Revert to getattr
2025-02-19 19:37:36 +01:00
Artur Pragacz
6c3a9cb1a8
Improve reading clarity of steps code in scripts helper part 1 (#138628) 2025-02-19 11:18:28 -06:00
J. Nick Koston
d97194303a
Improve performance of calculating state (#138832)
```
print(timeit.timeit("x.update(y)", setup=x={a:b}
2025-02-19 09:43:41 +01: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 ecb3bf79f32a2e25d141ff467e5958826ed9fc3a.

* 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
Marc Mueller
9467709068
Use generics for deprecation helpers (#138171) 2025-02-09 23:38:58 +01:00
Paulus Schoutsen
df307aeb6d
Stream OpenAI messages into the chat log (#137400) 2025-02-09 00:01:24 -05:00