epenet and GitHub
f65d97322f
Add default placeholders for config validation errors ( #131277 )
2024-11-22 16:55:04 +01:00
Erik Montnemery and GitHub
3e62c6ae2f
Move core config functionality to its own module ( #129065 )
...
* Move core config functionality to its own module
* Adjust test
2024-10-24 13:34:51 +02:00
Erik Montnemery and GitHub
487593af38
Allow configuring WebRTC stun and turn servers ( #128984 )
...
* Allow configuring WebRTC stun and turn servers
* Add tests
* Remove class WebRTCCoreConfiguration
2024-10-23 14:41:45 +02:00
J. Nick Koston and GitHub
3b2893f2f4
Fix blocking I/O while validating core config schema ( #124125 )
2024-08-17 15:14:28 -05:00
Erik Montnemery and GitHub
533442f33e
Add async friendly helper for validating config schemas ( #123800 )
...
* Add async friendly helper for validating config schemas
* Improve docstrings
* Add tests
2024-08-17 11:01:49 +02:00
Erik Montnemery and GitHub
60117ae150
Revert "Fix blocking I/O while validating config schema" ( #123377 )
2024-08-08 17:30:39 +02:00
epenet and GitHub
07c7bb8b2a
Use HOMEASSISTANT_DOMAIN alias for core DOMAIN ( #122760 )
2024-07-29 13:35:36 +02:00
J. Nick Koston and GitHub
5a24ee0bc0
Fix blocking I/O while validating config schema ( #121263 )
2024-07-05 08:58:30 +02:00
0e52d149e4
Update voluptuous to 0.15.2 ( #120631 )
...
* Update voluptuous to 0.15.1
* Fix typing issues
* Add type ignores for json result type
* Update voluptuous to 0.15.2
---------
Co-authored-by: J. Nick Koston <nick@koston.org >
2024-07-02 12:57:09 -07:00
Marc Mueller and GitHub
6fb32db151
Improve config vol.Invalid typing ( #120482 )
2024-06-26 03:03:54 +02:00
G Johansson and GitHub
127af149ca
Remove legacy template hass config option ( #119925 )
2024-06-21 12:53:55 +02:00
Erik Montnemery and GitHub
7e61ec96e7
Make the radius of the home zone configurable ( #119385 )
2024-06-15 13:22:01 +02:00
J. Nick Koston and GitHub
5a609c34bb
Fix blocking I/O in the event loop when loading timezones ( #117721 )
2024-05-20 11:06:03 +02:00
J. Nick Koston and GitHub
13414a0a32
Pass loop to create_eager_task in loops from more coros ( #117390 )
2024-05-14 09:48:25 +09:00
ac54cdcdb4
Enable Ruff RUF010 ( #115371 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2024-05-08 23:54:49 +02:00
Marc Mueller and GitHub
c50a340cbc
Use HassKey for setup and bootstrap ( #116998 )
2024-05-07 11:18:20 -05:00
Sid and GitHub
2cc916db6d
Replace pylint broad-except with Ruff BLE001 ( #116250 )
2024-05-07 14:00:27 +02:00
J. Nick Koston and GitHub
53a179088f
Add debug mode to catch unsafe thread operations using core helpers ( #115390 )
...
* adjust
* adjust
* fixes
* one more
* test
* debug
* move to config
* cover
* Update homeassistant/core.py
* set debug from RuntimeConfig
* reduce
* fix message
* raise
* Update homeassistant/core.py
* Update homeassistant/core.py
* no flood check for raise
* cover
2024-04-24 03:36:05 +02:00
0d66d298ec
Enable Ruff RET504 ( #114528 )
...
* Enable Ruff RET504
* fix test
* Use noqa instead of cast
* fix sonos RET504
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com >
2024-04-06 11:07:37 +02:00
Sid and GitHub
6587ee20db
Enable Ruff TRY300 ( #114437 )
...
* Enable Ruff TRY300
* Update validation.py
* Address review comments
2024-03-30 10:37:59 +01:00
6bb4e7d62c
Bump ruff to 0.3.4 ( #112690 )
...
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com >
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2024-03-26 00:02:16 +01:00
Jan Bouwhuis and GitHub
19fa39d556
Generate ConfigValidationError message from English translations ( #113844 )
...
* Fetch ConfigValidationError message from translation cache
* Sync error logmessages with translation cache
* More sync
* Cleanup
* Remove unrelated change
* Follow up comments
* Rebase and improve contructor
* Improve name
* Rename to MULTIPLE_INTEGRATION_CONFIG_ERRORS
2024-03-25 10:39:30 +01:00
Jan Bouwhuis and GitHub
a4f52cc622
Use a constant to reference homeassistant domain ( #113889 )
...
* Use CONF_CORE to reference `homeassistant` domain
* Just use DOMAIN
* USE DOMAIN for `homeasistant` domain in config_schema.py
* Use DOMAIN_HA as constant for homeassistant domain
* Rename CONF_CORE to DOMAIN_HA
* Rename DOMAIN_HA to HA_DOMAIN
* Use relative import
* Use direct imports
2024-03-23 19:58:39 +01:00
J. Nick Koston and GitHub
7d58be1a6a
Gather loading platforms in async_process_component_config ( #113573 )
2024-03-16 10:57:10 -10:00
J. Nick Koston and GitHub
4174d88ad7
Add a guard to handle unhashable platforms in config ( #113607 )
...
Someone might set the platform to [fitbit] instead of fitbit
I have not seen anyone do this, but its good to guard against
it
2024-03-16 16:19:07 -04:00
Sid and GitHub
6ee273a548
Clean up unneeded ruff noqa directives ( #113616 )
2024-03-16 09:48:37 -10:00
Sid and GitHub
ccd2e989c3
Enable ruff RUF005 and fix occurrences ( #113589 )
2024-03-16 07:37:20 -10:00
J. Nick Koston and GitHub
eb90c9a548
Reduce bottlenecks in bootstrap by ordering the setup of integrations ( #113570 )
2024-03-15 22:38:06 -10:00
Marc Mueller and GitHub
19ab3d6daf
Add empty line after module docstring [helpers + other] ( #112707 )
2024-03-08 10:36:11 -05:00
J. Nick Koston and GitHub
0f69a0647c
Migrate remaining get_platform in config to async_get_platform ( #112469 )
...
This was the only remaining case where blocking I/O might have happened
in config. It was unlikely though as async_get_component should have
pre-imported the config platform
2024-03-05 23:47:11 -05:00
J. Nick Koston and GitHub
7cb8a8bbc9
Migrate remaining calls in config modules to async_get_component ( #112293 )
...
* Migrate remaining calls in config modules to async_get_component
There were a few cases that were still using get_component that
could have done blocking I/O in the event loop, although it
was unlikely.
The caching check in async_get_component has been moved
up to avoid creating the future if the module is already in
the cache
* fix one more
2024-03-05 09:59:52 -05:00
1e173e82d0
Add support for preloading platforms in the loader ( #112282 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com >
2024-03-04 16:33:12 -10:00
J. Nick Koston and GitHub
ba9733e90b
Try to preload the config platform when loading a component ( #112104 )
2024-03-03 10:23:08 -10:00
J. Nick Koston and GitHub
9af12a0639
Avoid calling async_get_component twice for each component being setup ( #112096 )
...
We already have the component so we can pass it to
async_process_component_config to avoid having to
look it up again
2024-03-03 12:48:07 -05:00
J. Nick Koston and GitHub
6a243d6705
Preload platform integrations to better group executor usage ( #112010 )
2024-03-02 23:03:35 -10:00
J. Nick Koston and GitHub
c8cb0ff61d
Avoid trying to import platforms that do not exist ( #112028 )
...
* Avoid trying to import platforms that do not exist
* adjust
* fixes
* cleanup
* cleanup
* cleanup
* Apply suggestions from code review
* docs
* fixes
* fixes
* comment
* coverage
* coverage
* coverage
* Switch config to use async_get_component
This was another path where integrations that were marked to load in the executor
would be loaded in the loop
* Switch config to use async_get_component/async_get_platform
This was another path where integrations that were marked to load in the executor
would be loaded in the loop
* merge
* refactor
* refactor
* coverage
* preen
* preen
2024-03-02 22:14:28 -05:00
J. Nick Koston and GitHub
3808e8b0bc
Switch config to use async_get_component/async_get_platform ( #112071 )
2024-03-02 13:56:25 -10:00
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
Erik Montnemery and GitHub
88dfe8d33b
Remove unused TypeVar from config.py ( #108495 )
2024-01-20 14:39:12 -05:00
Erik Montnemery and GitHub
5e79cd8715
Remove file/line annotations after config has been validated ( #107139 )
2024-01-14 11:07:39 +01:00
8b08b5e8d2
Deprecate legacy_templates ( #105556 )
...
* Deprecate legacy_templates
* Improve wording
* Implement suggestion
* simplify
* Add deleting of the repair issues back
* Update homeassistant/components/homeassistant/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com >
* Test issue removal too
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com >
2023-12-22 00:42:16 +01:00
Ville Skyttä and GitHub
24b1e01d71
Update Ruff to 0.1.8, avoid linter/formatter conflicts ( #106080 )
...
* Disable Ruff rules that may conflict with the formatter
* Upgrade Ruff to 0.1.8
- https://github.com/astral-sh/ruff/releases/tag/v0.1.7
- https://github.com/astral-sh/ruff/releases/tag/v0.1.8
* Format with Ruff 0.1.8
2023-12-20 23:55:09 +01:00
Erik Montnemery and GitHub
5b55c7da5f
Remove logic converting empty or falsy YAML to empty dict ( #103912 )
...
* Correct logic converting empty YAML to empty dict
* Modify according to github comments
* Add load_yaml_dict helper
* Update check_config script
* Update tests
2023-12-05 18:08:11 +01:00
Erik Montnemery and GitHub
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 and GitHub
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 and GitHub
95f7db1970
Move config_per_platform and extract_domain_configs to config.py ( #104989 )
2023-12-04 12:48:49 +01:00
Jan Bouwhuis and GitHub
487ff8cd7f
Rename ex to exc as name for exceptions ( #104479 )
2023-11-25 08:30:18 +01:00
Jan Bouwhuis and GitHub
9962301b42
Do not notify config errors during logging ( #104466 )
2023-11-24 21:34:09 +01:00
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
Erik Montnemery and GitHub
80813e992d
Improve formatting of component errors ( #104081 )
...
* Improve formatting of component errors
* Update tests
2023-11-17 23:01:00 +01:00