Commit Graph

2319 Commits (37897ee3849b2e7217da36d8f809085f80f5e44d)

Author SHA1 Message Date
J. Nick Koston dd1cf2c593
Remove unneeded list copy in icon helper (#110680) 2024-02-15 16:33:24 -06:00
deosrc e38cb01d81
Add missing log message for error resolving OAuth token (#107606) 2024-02-11 13:07:54 +00:00
chammp a5cc0ae890
Improve package schema validation (#108125)
* Add failing tests for package config validation error wrapping

* Wrap package schema validation errors in HomeAssistantError

* Fix yamllint errors

* Rework package merge validation

Ignore invalid package definitions instead of failing startup.
Output error messages with locations if possible when a package
definition has errors.

* Ruff format

* Fix linter errors

* Move package_definition_schema to module scope

* Move inner function to module level

* Merge exception handlers

Merge exception handlers for config schema validation and package merge
to avoid untested code branches

* Fix long lines and doc strings

* More minor changes to exception handler

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-10 20:16:20 +01:00
Piotr Machowski a2f4e99994
Add state_translated function to jinja templates (#96906)
* Add state_translated jinja function

* Add tests for load_state_translations_to_cache and get_cached_translations

* Cleanup state_translated template

* Add tests for state_translated jinja function

* Apply black formatting

* Improve code quality

* Apply suggestions from code review

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

* Apply suggestions from code review

* Prevent invalid components from loading translations

* Refactor loading translations to cache

* Adjust code issues

* Update homeassistant/helpers/translation.py

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

* Refactor listeners that trigger translation loading

* Apply suggestions from code review

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

* Apply suggestions from code review

* Adjust invalid function calls, fix code styling

* Adjust code quality

* Extract async_translate_state function

* Apply suggestions from code review

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

* Apply suggestions from code review

* Fix tests

* Fix tests

---------

Co-authored-by: Piotr Machowski <PiotrMachowski@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-10 10:47:56 +01:00
J. Nick Koston 9689cb448d
Avoid linear search of entity registry in async_extract_referenced_entity_ids (#109667)
* Index area_ids in the entity registry

I missed that these are used in _resolve_area in search.

Eventually we can make async_extract_referenced_entity_ids
a bit faster with this as well

* Avoid linear search of entity registry in async_extract_referenced_entity_ids

needs https://github.com/home-assistant/core/pull/109660
2024-02-09 09:42:30 -05:00
Michael d049928be7
Log error and continue on parsing issues of translated strings (#110046) 2024-02-09 08:35:12 +01:00
Michael Hansen 2681dae60c
Matching duplicate named entities is now an error in Assist (#110050)
* Matching duplicate named entities is now an error

* Update snapshot

* Only use area id
2024-02-08 19:38:03 -06:00
Michael Hansen 1750f54da4
Assist fixes (#109889)
* Don't pass entity ids in hassil slot lists

* Use first completed response

* Add more tests
2024-02-07 15:13:42 -06:00
Joost Lekkerkerker 59e9010b65
Show domain in oauth2 error log (#109708)
* Show token url in oauth2 error log

* Fix tests

* Use domain
2024-02-06 23:03:35 +01:00
J. Nick Koston 09c609459d
Fix entity services targeting entities outside the platform when using areas/devices (#109810) 2024-02-06 12:41:57 -06:00
J. Nick Koston 440212ddce
Reduce dict lookups in entity registry indices (#109712) 2024-02-05 17:23:53 -05:00
J. Nick Koston f73431ac06
Switch utc_to_timestamp to .timestamp() where possible (#109729)
* Switch utc_to_timestamp to .timestamp()

.timestamp() is faster now in newer cpython

```
from homeassistant.util.dt import utc_to_timestamp, utcnow
import timeit
now = utcnow()
print(timeit.timeit('utc_to_timestamp(now)',globals={"now":now,"utc_to_timestamp":utc_to_timestamp}))
print(timeit.timeit('now.timestamp()',globals={"now":now}))
```

utc_to_timestamp = 0.18721245788037777
timestamp = 0.11421508435159922

* compat

* revert

* revert

* revert

* revert

* revert
2024-02-05 23:04:52 +01:00
J. Nick Koston 908cedf981
Avoid linear search of entity registry in async_clear_config_entry (#109724) 2024-02-05 14:12:16 -06:00
J. Nick Koston e9a41e5023
Avoid linear search in entity registry to clear an area (#109735) 2024-02-05 13:53:33 -06:00
J. Nick Koston 6f28d79651
Copy callbacks instead of slice for event dispatch (#109711)
We established copy is faster in
https://github.com/home-assistant/core/pull/108428#discussion_r1466932262
2024-02-05 17:07:21 +01:00
J. Nick Koston 40166ed51e
Avoid linear search of device registry when no areas are referenced in service calls (#109669) 2024-02-05 12:26:08 +01:00
Marc Mueller cd0ee98dba
Use builtin TimeoutError [core + helpers] (#109684) 2024-02-05 12:09:54 +01:00
J. Nick Koston 458e1f3a5e
Index area_ids in the entity registry (#109660) 2024-02-05 09:01:43 +01:00
J. Nick Koston 9fef1938b4
Make get_entries_for_device_id skip disabled devices by default (#109645) 2024-02-04 23:11:56 +01:00
J. Nick Koston b24b4fc237
Use get_entries_for_config_entry_id helper in async_migrate_entries (#109629) 2024-02-04 21:05:48 +01:00
J. Nick Koston 2f724b042b
Avoid looking up services to check if they support responses (#109588)
We already have the Service object as its the value in the
services_map so there is not need to look it up again
2024-02-04 15:15:51 +01:00
J. Nick Koston a74516a80d
Cache path for Store helper (#109587) 2024-02-04 15:13:58 +01:00
Michael Hansen c6ea57458c
Pass slots to error messages instead of IDs [rework] (#109410)
Co-authored-by: tetele <tm.sandu@gmail.com>
2024-02-03 12:14:33 +01:00
Erik Montnemery 09ba46ddb9
Mask sensitive data in google_assistant logs (#109366)
* Mask sensitive data in google_assistant logs

* Move common code to homeassistant/util/redact.py

* Move to helpers

* Add tests

* Tweak

* Redact additional logs

* Fix stale docstring

* Don't reveal the length of masked data

* Update test
2024-02-02 22:10:30 +01:00
J. Nick Koston 582d6968b2
Avoid de/recode of bytes to string to bytes when writing json files (#109348) 2024-02-02 09:02:26 +01:00
J. Nick Koston 1c84997c5c
Reduce lock contention when all icons are already cached (#109352) 2024-02-02 08:58:55 +01:00
J. Nick Koston ed726db974
Fix race in loading service descriptions (#109316) 2024-02-01 12:34:23 -06:00
Marc Mueller d2dee9e327
Update ruff to 0.1.15 (#109303) 2024-02-01 13:29:01 +01:00
Erik Montnemery 3ce4e53b32
Sort script actions (#108247) 2024-01-31 20:41:53 +01:00
Bram Kragten d361d47516
Add qr code selector (#109214) 2024-01-31 19:27:03 +01:00
Robert Resch 6fdad44941
Improve invalid error messages in the config flows (#108075) 2024-01-30 12:24:19 +01:00
Martijn van der Pol b386960661
Add default parameter to as_datetime template function/filter (#107229)
* improve as_datetime

* Improve `as_datetime` Jinja filter/function

* review

* resolve more review items

* change test for datetime input

* Update docstring

* update docstrings for tests

* remove whitespace

* only_default

* Update do string and comment

* improve comment

* Adjust comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-29 18:05:44 +01:00
Erik Montnemery 8abb4e5f52
Improve display of errors with no message in script trace (#108735) 2024-01-28 19:27:14 +01:00
karwosts a2d707442a
Fix error when passing a whole number to location selector (#108952)
* Fix error when passing an integer to location selector

* fix tests

* more fix tests

* don't mutate original dict

* remove string testcase
2024-01-28 14:13:00 +01:00
J. Nick Koston f96f4d31f7
Convert referenced registry functions to use cached_property (#108895)
* Convert referenced registry functions to use cached_property

These already implemented caching, but now that we can use cached_property
because the lock problem is solved, we can make the code simplier and faster

* missed one

* make them the same
2024-01-26 23:02:42 -05:00
J. Nick Koston 617e8dd8a5
Small cleanup to entity platform translation fetching (#108890)
* Small cleanup to entity platform translation fetching

While I could not realize the performance improvemnet I had
hoped in #108800, I pulled this out since its a nice cleanup to avoid
constructing the inner function over and over.

* stale docstring
2024-01-26 00:14:44 -05:00
Jan-Philipp Benecke ddf02959f4
Bump area registry storage minor version to 4 (#108798) 2024-01-24 20:31:43 +01:00
J. Nick Koston f883f721c8
Avoid copying translations for single components (#108645) 2024-01-24 19:52:34 +01:00
Erik Montnemery 909e58066d
Fix changed_variables in automation and script traces (#108788) 2024-01-24 19:12:45 +01:00
Erik Montnemery 9c727e5ea8
Add icon to areas (#108650) 2024-01-24 19:11:03 +01:00
Daniel a67113a95a
Parse template result in async_render_with_possible_json_value (#99670)
* Optionally parse templates rendered with possible json

* Remove duplicate strip

* Add tests for parsing template result
2024-01-24 12:12:28 +01:00
Erik Montnemery 9bff039d17
Add set_conversation_response script action (#108233)
* Add set_conversation_response script action

* Update homeassistant/components/conversation/trigger.py

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

* Revert accidental change

* Add test

* Ignore mypy

* Remove incorrect callback decorator

* Update homeassistant/helpers/script.py

* Add test with templated set_conversation_response

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-01-23 09:13:42 -05:00
G Johansson 65581e94ea
Add config flow for Time & Date (#104183)
Co-authored-by: Erik <erik@montnemery.com>
2024-01-23 12:18:31 +01:00
Erik Montnemery 329eca4918
Store area registry entries in a UserDict (#108656)
* Store area registry entries in a UserDict

* Address review comments
2024-01-23 08:14:28 +01:00
J. Nick Koston 7c86ab14c3
Refactor service enumeration methods to better match existing use cases (#108671) 2024-01-22 14:21:17 -10:00
Erik Montnemery ef5d46c79c
Convert AreaEntry to dataclass (#108648)
* Convert AreaEntry to dataclass

* Correct typing of AreaEntry.id

* Move responsibility for generating area id to AreaRegistry
2024-01-22 14:45:27 +01:00
J. Nick Koston 4a34cd25b2
Reduce lock contention when all translations are already cached (#108634) 2024-01-21 22:29:03 -10:00
J. Nick Koston e9a7870080
Small cleanups to async_get_all_descriptions (#108633) 2024-01-21 18:09:33 -10:00
J. Nick Koston 573de95f21
Speed up run time of admin services by using HassJob (#108623) 2024-01-21 22:41:41 -05:00
Franck Nijhof 01372024f5
Add icon translations support (#103294)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2024-01-19 16:56:56 +01:00