Erik Montnemery
3bcc6194ef
Add domain key config validation ( #104242 )
...
* Drop use of regex in helpers.extract_domain_configs
* Update test
* Revert test update
* Add domain_from_config_key helper
* Add validator
* Address review comment
* Update snapshots
* Inline domain_from_config_key in validator
2023-12-05 15:07:32 +01:00
Erik Montnemery
25bea91683
Use modern platform path when reporting platform config errors ( #104238 )
...
* Use modern platform path when reporting platform config errors
* Update tests
* Address review comment
* Explicitly pass platform domain to log helpers
* Revert overly complicated changes
* Try a simpler solution
2023-12-05 15:06:13 +01:00
Erik Montnemery
84e74e4c74
Reverse component path ( #104087 )
...
* Reverse component path
* Update translations helper
* Fix
* Revert incorrect change of PLATFORM_FORMAT
* Fix use of PLATFORM_FORMAT in tts
* Fix ios
2023-12-05 08:43:58 +01:00
Erik Montnemery
35e2f591c1
Make `cv.string` return subclasses of str as is ( #103916 )
2023-12-04 20:36:16 +01:00
Erik Montnemery
95f7db1970
Move config_per_platform and extract_domain_configs to config.py ( #104989 )
2023-12-04 12:48:49 +01:00
Erik Montnemery
db51a8e1f7
Allow passing breaks_in_ha_version to deprecation helper decorators ( #104985 )
2023-12-04 11:52:10 +01:00
Erik Montnemery
34d01719f2
Minor improvements of deprecation helper ( #104980 )
2023-12-04 10:47:49 +01:00
Marc Mueller
2496c275c8
Improve decorator type annotations [core] ( #104826 )
2023-11-30 18:50:31 +01:00
J. Nick Koston
1522118453
Remove aiohttp cancel on disconnect workaround ( #104175 )
2023-11-29 11:20:36 -07:00
Paul Bottein
38eda9f46e
Add multiple option to text selector ( #104635 )
...
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-29 18:32:32 +01:00
J. Nick Koston
dfed10420c
Remove aiohttp enable_compression helper ( #104174 )
2023-11-29 10:24:34 -07:00
J. Nick Koston
608f4f7c52
Bump aiohttp to 3.9.1 ( #104176 )
2023-11-29 16:13:54 +01:00
schelv
31cab5803c
Add Option For Kelvin Unit To Color Temperature Selector ( #103799 )
2023-11-29 12:25:06 +01:00
Aarni Koskela
706add4a57
Switch formatting from black to ruff-format ( #102893 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Jan Bouwhuis
af71c2bb45
Raise and suppress stack trace when reloading yaml fails ( #102410 )
...
* Allow async_integration_yaml_config to raise
* Docstr - split check
* Implement as wrapper, return dataclass
* Fix setup error handling
* Fix reload test mock
* Move log_messages to error handler
* Remove unreachable code
* Remove config test helper
* Refactor and ensure notifications during setup
* Remove redundat error, adjust tests notifications
* Fix patch
* Apply suggestions from code review
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Follow up comments
* Add call_back decorator
* Split long lines
* Update exception abbreviations
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-24 17:34:45 +01:00
Robert Resch
852fb58ca8
Extend `auth/providers` endpoint and add `/api/person/list` endpoint for local ip requests ( #103906 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-24 17:11:54 +01:00
Erik Montnemery
6f41243410
Change confusing parameter naming in reload helper ( #104257 )
2023-11-21 08:25:46 +01:00
Erik Montnemery
afea9f7739
Don't mutate config in the check_config helper ( #104241 )
2023-11-20 12:55:27 +01:00
Erik Montnemery
a78764f000
Improve formatting of package errors ( #104078 )
2023-11-17 14:57:37 +01:00
Erik Montnemery
b400b33b0d
Refer to domain configuration in custom validator errors ( #104065 )
2023-11-16 15:28:48 +01:00
Erik Montnemery
d8a49b14e5
Use relative paths in configuration validation error messages ( #104064 )
2023-11-16 10:56:47 +01:00
Erik Montnemery
98030a9ce1
Improve formatting of package errors ( #103976 )
2023-11-16 09:08:47 +01:00
Erik Montnemery
1c817cc18c
Attach relevant config to check_config errors ( #104048 )
2023-11-16 07:25:52 +01:00
Erik Montnemery
5b37096b5f
Refactor config.async_log_exception ( #104034 )
...
* Refactor config.async_log_exception
* Improve test coverage
* Make functions public
2023-11-15 19:09:49 +01:00
J. Nick Koston
54c98f32c2
Bump aiohttp to 3.9.0rc0 for python 3.12 only ( #103507 )
...
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2023-11-15 01:02:14 +01:00
Ruslan Sayfutdinov
1a3475ea60
Fix typing for entity_platform.async_register_entity_service ( #103777 )
2023-11-13 20:00:09 +01:00
Erik Montnemery
51b599e1f6
Deduplicate some code in `helpers.check_config.async_check_ha_config_file` ( #103852 )
...
Tweak helpers.check_config.async_check_ha_config_file
2023-11-12 19:15:01 +01:00
Ruslan Sayfutdinov
adcd4e59cf
More useful message on services.yaml parse error ( #103847 )
2023-11-12 16:18:12 +00:00
Marc Mueller
a70ec64408
Update mypy to 1.7.0 ( #103800 )
2023-11-11 23:31:04 +01:00
Marc Mueller
66d1a7f1dd
Update ReadOnlyEntityOptions typing ( #103813 )
2023-11-11 22:30:55 +01:00
Marc Mueller
c35f56ea77
Handle BaseException from asyncio gather ( #103814 )
2023-11-11 22:26:37 +01:00
Allen Porter
787fb3b954
Improve OAuth error handling in configuration flows ( #103157 )
...
* Improve OAuth error handling in configuration flows
* Update strings for all integrations that use oauth2 config flow
* Remove invalid_auth strings
* Revert change to release
* Revert close change in aiohttp mock
2023-11-11 11:02:51 +01:00
Erik Montnemery
123f14dd6c
Attach correct platform config in check_config warnings and errors ( #103633 )
2023-11-09 00:06:04 +01:00
Erik Montnemery
d913508607
Allow removing an entity more than once ( #102904 )
2023-11-08 12:50:40 +01:00
Erik Montnemery
cc5eda76d3
Humanize core config errors in check_config helper ( #103635 )
2023-11-08 10:15:27 +01:00
J. Nick Koston
0d63e2f9b5
Ensure large payloads are compressed in the executor with aiohttp 3.9.0 ( #103592 )
2023-11-07 12:37:54 -06:00
Erik Montnemery
3ba8a82243
Differentiate between warnings and errors in check_config helper ( #102902 )
...
* Differentiate between warnings and errors in check_config helper
* Update tests
* Treat configuration errors in frontend and its dependencies as errors
* Improve test coverage
* Address review comments
* Improve test coverage
* Improve test coverage
* Address review comments
* Add comment
2023-11-05 03:08:04 +01:00
J. Nick Koston
68471b6da5
Reduce template render overhead ( #103343 )
...
The contextmanager decorator creates a new context manager every
time its run, but since we only have a single context var, we can
use the same one every time. Creating the contextmanager was roughly
20% of the time time of the template render
I was a bit suprised to find it creates a new context manager
object every time https://stackoverflow.com/questions/34872535/why-contextmanager-is-slow
2023-11-04 09:46:01 +01:00
Erik Montnemery
0ea0a1ed06
Prevent accidentally reusing an entity object ( #102911 )
...
* Prevent accidentally reusing an entity object
* Fix group reload service
* Revert "Fix group reload service"
* Improve test
* Add tests aserting entity can't be reused
2023-11-03 21:01:38 +01:00
Paul Bottein
89a9e6c6e8
Add trigger selector for blueprint ( #103050 )
2023-11-03 09:11:49 +01:00
Erik Montnemery
a63c420890
Quote entity ids in entity excpetions ( #103286 )
2023-11-03 06:04:07 +01:00
Kevin Stillhammer
06c9719cd6
Support multiple responses for service calls ( #96370 )
...
* add supports_response to platform entity services
* support multiple entities in entity_service_call
* support legacy response format for service calls
* revert changes to script/shell_command
* add back test for multiple responses for legacy service
* remove SupportsResponse.ONLY_LEGACY
* Apply suggestion
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* test for entity_id remove None
* revert Apply suggestion
* return EntityServiceResponse from _handle_entity_call
* Use asyncio.gather
* EntityServiceResponse not Optional
* styling
---------
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2023-11-02 18:37:35 -07:00
J. Nick Koston
b3743937de
Avoid looking up the callable type for HassJob when we already know it ( #102962 )
...
* Avoid looking up the callable type for HassJob when we already know it
When we connect the frontend we call async_listen with run_immediately MANY
times when we already know the job type (it will always be a callback). This
reduces the latency to get the frontend going
* missing coverage
2023-10-30 12:45:22 +01:00
J. Nick Koston
009dc91b97
Fix inner callback decorators with partials ( #102873 )
2023-10-28 08:38:42 -05:00
Erik Montnemery
a7183a0cbf
Allow missing components in safe mode ( #102891 )
2023-10-27 13:26:26 +02:00
Erik Montnemery
294f565bad
Allow missing components in safe mode ( #102888 )
2023-10-27 12:25:27 +02:00
Erik Montnemery
9ea97fd8d2
Improve docstrings for time related event helpers ( #102839 )
...
* Improve docstrings for time related event helpers
* Fix grammar
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-26 14:00:44 +02:00
Raman Gupta
35d18a9a3e
Add tests for types and functions for type conversions in templates ( #100807 )
...
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-25 13:20:34 +02:00
J. Nick Koston
f91583a0fc
Add support for family to aiohttp session helper ( #102702 )
2023-10-24 18:40:39 -05:00
Allen Porter
5d430f53cd
Add todo component ( #100019 )
2023-10-23 22:53:00 +02:00
Erik Montnemery
c481fdb7d0
Rename safe mode to recovery mode ( #102580 )
2023-10-23 20:33:08 +02:00
Erik Montnemery
1621310ba7
Add serial_number to device registry entries ( #102334 )
...
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-22 15:14:44 +02:00
Erik Montnemery
dff18b4a16
Rename `gather_with_concurrency` to `gather_with_limited_concurrency` ( #102241 )
...
* Rename gather_with_concurrency to gather_with_limited_concurrency
* Update test
2023-10-19 15:08:52 +02:00
J. Nick Koston
e2e9c84c88
Cache construction of battery icon ( #102194 )
...
This was being built every time state was written. When
a robo vac is operating it writes state often which mean building
the icon string over and over again when it rarely changes.
2023-10-18 07:35:39 +02:00
J. Nick Koston
433c022687
Save previous unique id in entity registry when it changes ( #102093 )
2023-10-16 21:26:19 -10:00
Michael Hansen
25671a2e42
Add HassNevermind intent (bump intents package) ( #102131 )
...
* Add HassNevermind intent
* Bump intents package to 2023.10.16
2023-10-16 19:13:26 -05:00
J. Nick Koston
e5ebdf7ad4
Remove implict name check from Entity base class ( #101905 )
2023-10-15 23:40:43 +02:00
J. Nick Koston
7b2aa3a369
Improve performance of config/entity_registry/get* calls ( #101984 )
2023-10-14 08:40:16 -10:00
Marc Mueller
02567d9bf6
Revert aiohttp to 3.8.5 for Python 3.11 ( #101932 )
2023-10-13 14:12:42 +02:00
G Johansson
dc29190564
CountrySelector ( #100963 )
...
* CountrySelector
* rename
* remove multiple for now
* Add no_sort
* Update homeassistant/helpers/selector.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-12 16:44:30 +02:00
Marc Mueller
0b2b486754
Update mypy to 1.6.0 ( #101780 )
2023-10-11 13:25:11 +02:00
Robert Resch
b932c67eb7
Delete optional schema keys, when they are not present ( #101755 )
...
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-10 21:08:54 +02:00
Nicolas van de Walle
1b11062b27
Improved debugging for "Failed to set state" ( #101657 )
2023-10-08 19:40:42 +02:00
Joost Lekkerkerker
faea3b1634
Abort config flow when invalid token is received ( #101642 )
2023-10-08 13:32:35 +02:00
Marc Mueller
3155e62510
Update aiohttp to 3.9.0b0 ( #101627 )
2023-10-08 13:21:46 +02:00
Erik Montnemery
3478666973
Use loader.async_suggest_report_issue in deprecation helper ( #101393 )
2023-10-06 09:51:08 +02:00
Erik Montnemery
dce5099d92
Use loader.async_suggest_report_issue in frame helper ( #101461 )
2023-10-05 19:52:26 +02:00
Erik Montnemery
7e39acda37
Minor improvement of frame helper ( #101387 )
...
* Minor improvement of frame helper
* Add new custom integration for testing
* Make IntegrationFrame kw_only
2023-10-04 21:43:00 +02:00
Erik Montnemery
17779c5f0c
Add loader.async_suggest_report_issue and loader.async_get_issue_tracker ( #101336 )
...
* Add loader.async_suggest_report_issue and loader.async_get_issue_tracker
* Update tests
* Add tests
* Address review comments
* Address review comments
2023-10-04 13:40:33 +02:00
Ville Skyttä
5551a345ea
Remove some unnecessary uses of regular expressions ( #101182 )
2023-10-03 20:55:00 -05:00
Erik Montnemery
ab2de18f8f
Refactor frame.get_integration_frame ( #101322 )
2023-10-03 19:21:27 +02:00
Dave T
99a76ef4e6
Fix most sphinx documentation warnings ( #101228 )
2023-10-02 09:01:41 +02:00
Ville Skyttä
f4bf8fa8f1
Catch HTML case insensitively in "no HTML" config validation ( #101181 )
2023-10-01 16:19:24 +02:00
Erik Montnemery
47ecce4873
Allow deleting entity entries from entity_registry.async_migrate_entries ( #101094 )
...
* Allow deleting entity entries from entity_registry.async_migrate_entries
* Explicitly return None in tests
2023-09-30 10:23:10 +02:00
Erik Montnemery
ab060b86d1
Remove async_process_integration_platform_for_component ( #100680 )
2023-09-21 17:06:41 +02:00
Erik Montnemery
fbcc5318c5
Move attributes to be excluded from recording to entity classes ( #100239 )
...
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-20 18:09:12 +02:00
Erik Montnemery
d1afcd773f
Revert "Cache entity properties that are never expected to change in the base class" ( #100422 )
...
Revert "Cache entity properties that are never expected to change in the base class (#95315 )"
This reverts commit 042776ebb8
.
2023-09-15 11:25:24 +02:00
J. Nick Koston
042776ebb8
Cache entity properties that are never expected to change in the base class ( #95315 )
2023-09-14 17:48:48 -05:00
Joakim Plate
5f20725fd5
Remove _next_refresh variable in update coordinator ( #100323 )
...
* Remove _next_refresh variable
* Adjust tomorrowio
2023-09-14 22:32:50 +02:00
J. Nick Koston
547f32818c
Make core States use cached_property ( #100312 )
...
Need to validate this is worth removing __slots__
2023-09-13 20:33:25 -04:00
J. Nick Koston
fe5eba9b31
Use cached_property in device registry ( #100309 )
2023-09-13 15:36:07 -05:00
J. Nick Koston
877eedf6d7
Use cached_property in entity_registry ( #100302 )
2023-09-13 14:38:40 -05:00
Erik Montnemery
c3d1cdd0e9
Improve UserDict in device and entity registries ( #100307 )
2023-09-13 11:09:34 -05:00
Erik Montnemery
684b2d4537
Improve type hint in entity_registry ( #100278 )
2023-09-13 12:42:06 +02:00
Erik Montnemery
bbcbb2e322
Improve Entity._suggest_report_issue ( #100204 )
2023-09-12 21:07:32 +02:00
Erik Montnemery
09ad1a9a36
Remove unnecessary block use of pylint disable in components p-z ( #100192 )
2023-09-12 20:47:48 +02:00
Erik Montnemery
51576b7214
Improve typing of entity.entity_sources ( #99407 )
...
* Improve typing of entity.entity_sources
* Calculate entity info source when generating WS response
* Adjust typing
* Update tests
2023-09-12 20:41:26 +02:00
J. Nick Koston
8af7475f73
Set TriggerBaseEntity device_class in init ( #100216 )
2023-09-12 19:36:56 +02:00
J. Nick Koston
3b8d99dcd8
Add __slots__ to translation cache ( #100069 )
2023-09-10 20:46:55 +02:00
Erik Montnemery
1654ef7759
Make WS command render_template not give up if initial render raises ( #99808 )
2023-09-08 21:02:06 +02:00
J. Nick Koston
bd1d8675a9
Avoid many hass.is_stopping calls in the discovery helper ( #99929 )
...
async_has_matching_flow is more likely to be True than hass.is_stopping
This does not make much difference but it was adding noise to a profile
that I am digging into to look for another issue
2023-09-08 13:09:29 -04:00
J. Nick Koston
3d403c9b60
Refactor entity service calls to reduce complexity ( #99783 )
...
* Refactor entity service calls to reduce complexity
gets rid of the noqa C901
* Refactor entity service calls to reduce complexity
gets rid of the noqa C901
* short
2023-09-08 13:04:53 -04:00
Erik Montnemery
eee5705458
Fix typo in TrackTemplateResultInfo ( #99809 )
2023-09-07 13:00:26 +02:00
Erik Montnemery
c9a6ea94a7
Send template render errors to template helper preview ( #99716 )
2023-09-06 16:07:05 +02:00
J. Nick Koston
034fabe188
Use loop time to set context ( #99701 )
...
* Use loop time to set context
loop time is faster than utcnow, and since its only used internally it can
be switched without a breaking change
* fix mocking
2023-09-06 11:04:49 +02:00
Erik Montnemery
48f7924e9e
Allow specifying a custom log function for template render ( #99572 )
...
* Allow specifying a custom log function for template render
* Bypass template cache when reporting errors + fix tests
* Send errors as events
* Fix logic for creating new TemplateEnvironment
* Add strict mode back
* Only send error events if report_errors is True
* Force test of websocket_api only
* Debug test
* Run pytest with higher verbosity
* Timeout after 1 minute, enable syslog output
* Adjust timeout
* Add debug logs
* Fix unsafe call to WebSocketHandler._send_message
* Remove debug code
* Improve test coverage
* Revert accidental change
* Include severity in error events
* Remove redundant information from error events
2023-09-06 10:03:35 +02:00
Erik Montnemery
cdca4591a4
Include template listener info in template preview ( #99669 )
2023-09-06 09:49:42 +02:00
J. Nick Koston
a2dae60170
Refactor dispatcher to reduce run time and memory overhead ( #99676 )
...
* Fix memory leak in dispatcher removal
When we removed the last job/callable from the dict for the
signal we did not remove the dict for the signal which meant
it leaked
* comment
* cleanup a bit more
2023-09-05 21:18:27 -04:00
Erik Montnemery
de73cafc8b
Small cleanup of TemplateEnvironment ( #99571 )
...
* Small cleanup of TemplateEnvironment
* Fix typo
2023-09-04 22:19:40 +02:00
Erik Montnemery
709ce7e0af
Set state of entity with invalid state to unknown ( #99452 )
...
* Set state of entity with invalid state to unknown
* Add test
* Apply suggestions from code review
Co-authored-by: Robert Resch <robert@resch.dev>
* Update test_entity.py
---------
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-04 14:09:51 +02:00