J. Nick Koston
6421a08ba8
Avoid expensive inspect calls in config validators ( #112085 )
...
* Avoid expensive inspect calls in config validators
inspect has a performance problem https://github.com/python/cpython/issues/92041
We now avoid calling inspect unless we are going to log
* remove unused
* reduce
* get_integration_logger
2024-03-02 21:50:35 -05:00
Franck Nijhof
67ac60d042
Add hex color validator ( #110846 )
2024-02-18 16:03:21 +01: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
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
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
35e2f591c1
Make `cv.string` return subclasses of str as is ( #103916 )
2023-12-04 20:36:16 +01:00
Ville Skyttä
5551a345ea
Remove some unnecessary uses of regular expressions ( #101182 )
2023-10-03 20:55:00 -05:00
Ville Skyttä
f4bf8fa8f1
Catch HTML case insensitively in "no HTML" config validation ( #101181 )
2023-10-01 16:19:24 +02:00
Ville Skyttä
6399d74c15
Remove unnnecessary pylint configs from core ( #98704 )
2023-08-22 23:12:12 +02:00
Ville Skyttä
3094991236
Upgrade ruff to 0.0.285 ( #98647 )
2023-08-19 08:17:17 -04:00
Erik Montnemery
7fcc2dd44e
Make the check_config script open issue_registry read only ( #98545 )
...
* Don't blow up if validators can't access the issue registry
* Make the check_config script open issue_registry read only
* Update tests/helpers/test_issue_registry.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-08-18 20:15:00 +02:00
Franck Nijhof
30058297cf
Migrate backported StrEnum to built-in StrEnum ( #97101 )
2023-07-23 23:19:24 +02:00
Jan Bouwhuis
9424d11408
Allow homeassistant in MQTT configuration_url schema ( #96107 )
2023-07-22 22:50:58 +02:00
Erik Montnemery
f46188c85a
Improve the docstring of some config schema generators ( #96296 )
2023-07-11 11:34:16 +02:00
Jan Bouwhuis
18ee9f4725
Refactor async_get_hass to rely on threading.local instead of a ContextVar ( #96005 )
...
* Test for async_get_hass
* Add Fix
2023-07-07 14:52:38 -04:00
Erik Montnemery
e18f7dffb0
Teach validate_config to validate lists of conditions ( #95380 )
...
* Teach validate_config to validate lists of conditions
* Update test
2023-06-27 19:44:23 +02:00
Paulus Schoutsen
243abf32c0
Add test to stop action ( #95376 )
2023-06-27 19:38:30 +02:00
Franck Nijhof
3e85a29b86
Move overlapping pylint rules to ruff, disable mypy overlap ( #94359 )
2023-06-27 17:42:46 +02:00
Erik Montnemery
cb22fb16f8
Allow returning a script variable from a script ( #95346 )
...
* Allow returning a script variable from a script
* Don't allow returning a template result
* Raise if response variable is undefined
* Add test
* Update homeassistant/helpers/script.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Format code
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-06-27 17:13:53 +02:00
Paulus Schoutsen
5f14cdf69d
Allow stopping a script with a response value ( #95284 )
2023-06-27 08:24:22 +02:00
Allen Porter
c4284c07b6
Allow scripts to capture service response data in variables ( #94757 )
...
* Allow scripts service actions to save return values
* Simplify script service response data
* Rename result_variable to response_variable based on feedback
2023-06-16 22:59:44 -04:00
Franck Nijhof
6db1fbf480
Fix repair issue about no yaml for config entries ( #94271 )
2023-06-08 18:22:34 +02:00
Erik Montnemery
f9037d5f6d
Add platform only config schema to nsw_fuel_station and ping ( #93913 )
2023-06-01 17:30:15 +02:00
Erik Montnemery
c1c319d4d1
Rename `cv.no_yaml_config_schema` to `cv.config_entry_only_config_schema` ( #93908 )
...
* Rename cv.no_yaml_config_schema to cv.config_entry_only_config_schema
* ✏️
2023-06-01 13:15:48 +02:00
Erik Montnemery
e0db9ab041
Add CONFIG_SCHEMA to broadlink ( #93854 )
...
* Add CONFIG_SCHEMA to broadlink
* Simplify error message
* Rename to no_yaml_config_schema
* Add tests
* Raise issue
* Tweak repairs issue description and title
* Update homeassistant/helpers/config_validation.py
* Add link
* Update homeassistant/components/homeassistant/strings.json
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Fix logic, add test
---------
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-06-01 09:51:26 +02:00
Erik Montnemery
8b662dc94f
Detect attempt to setup config entry integration via YAML ( #93589 )
2023-05-29 21:01:47 +02:00
Erik Montnemery
49c3a8886f
Make cv.empty_config_schema log an error instead of raise ( #93646 )
...
* Make cv.empty_config_schema log an error instead of raise
* Add test
* Update homeassistant/helpers/config_validation.py
Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
---------
Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-05-28 15:54:22 +02:00
Erik Montnemery
d4462829f5
Add CONFIG_SCHEMA to analytics ( #93598 )
2023-05-26 16:29:32 +02:00
J. Nick Koston
93bfd7d8d0
Small speed up to validating entity ids ( #92970 )
2023-05-12 15:04:09 +02:00
Erik Montnemery
18cb53a35c
Pass hass instance when validating templates ( #89242 )
...
* Pass hass instance when validating templates
* Update tests
* Fix validating templates without hass
* Update service tests
2023-03-08 11:28:53 -05:00
Erik Montnemery
cc4a179ca8
Support templating for in state conditions ( #88411 )
2023-02-20 18:57:00 +01:00
Franck Nijhof
9030ca05b1
Enable Ruff SIM118 ( #87772 )
2023-02-15 12:39:12 +01:00
epenet
810367b757
Fix `can not` typo ( #87254 )
2023-02-03 11:37:16 +01:00
Franck Nijhof
79b52a2b41
Stricter pylint message control ( #86154 )
2023-01-20 13:47:55 +01:00
Franck Nijhof
06a35fb7db
Code styling tweaks to core helpers ( #85441 )
2023-01-08 13:44:09 -10:00
epenet
9f7fd8956f
Use new unit enums in helpers ( #83387 )
2022-12-06 22:20:17 +01:00
Erik Montnemery
e1338adf1a
Allow configuring country and language in core config ( #81734 )
...
* Allow configuring country and language in core config
* Add script for updating list of countries
* Use black for formatting
* Fix quoting
* Move country codes to a separate file
* Address review comments
* Add generated/countries.py
* Get default language from owner account
* Remove unused variable
* Add script to generate list of supported languages
* Add tests
* Fix stale docsring
* Use format_python_namespace
* Correct async_user_store
* Improve typing
* Fix with_store decorator
* Initialize language in core store migration
* Fix startup
* Tweak
* Apply suggestions from code review
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Update storage.py
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-11-24 23:25:50 +01:00
Jan Bouwhuis
23bc39b7f4
Add type hints on `Template().__init__()` ( #82574 )
2022-11-23 20:26:55 +01:00
Aarni Koskela
4f7b583f19
Fix shadowing of outer name in config_validation ( #82088 )
...
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-11-16 14:04:57 +01:00
Erik Montnemery
c3d4a9cd99
Create repairs issue if an outdated currency code is configured ( #81717 )
...
* Create repairs issue if an outdated currency code is configured
* Add script for updating list of currencies
* Use black for formatting
* Move currency codes to a separate file
* Address review comments
2022-11-08 07:21:09 +01:00
epenet
bff5d1123f
Deprecate CONF_UNIT_SYSTEM_*** constants ( #80320 )
...
* Deprecate CONF_UNIT_SYSTEM_*** constants
* Adjust pylint plugin
* Add tests
* Remove single-use function
* Revert logic change
* Revert "Revert logic change"
This reverts commit 60959a0050
.
* Tweak again
2022-10-14 16:50:04 +02:00
Erik Montnemery
18033532ca
Fix search throwing on templated services ( #79637 )
2022-10-05 10:59:18 +03:00
Franck Nijhof
9843753f30
Add alias support to all triggers ( #77184 )
2022-08-22 17:43:09 -04:00
epenet
a92105171c
Remove vizio from mypy ignore list ( #73585 )
...
* Remove vizio config_flow from mypy ignore list
* Fix mypy errors
* Adjust media_player
* Add space
2022-06-19 21:39:24 +02:00
Franck Nijhof
682ac52a20
Support shorthand logical operators in script sequences ( #71022 )
2022-04-29 18:06:21 +02:00
Erik Montnemery
f6d9c75476
Remove metadata from device conditions and triggers ( #70695 )
2022-04-25 09:48:24 -07:00
Franck Nijhof
35687def02
Merge stop & error script actions ( #70109 )
2022-04-20 14:22:37 -07:00
Erik Montnemery
64381acbaf
Mark device actions from hidden or auxiliary entities as secondary ( #70278 )
2022-04-20 10:48:46 -07:00
Thomas Lovén
b50f369fe4
Add shorthand notation for boolean conditions ( #70120 )
2022-04-18 22:09:09 +02:00
Franck Nijhof
1b48d7eda1
Add for each item support to repeat action ( #70093 )
2022-04-15 19:10:25 +02:00
Franck Nijhof
e04fef3c2d
Allow disabling specific triggers/actions/conditions ( #70082 )
2022-04-15 09:33:09 -07:00
Franck Nijhof
cdabcce83a
Add ability to continue scripts/automations on error ( #70004 )
2022-04-14 13:43:14 -07:00
Franck Nijhof
d704d4f853
Add parallel automation/script actions ( #69903 )
2022-04-13 13:07:44 -07:00
Erik Montnemery
a9742cc445
Drop frontend metadata from entity service schemas ( #69894 )
2022-04-12 18:09:06 +02:00
Franck Nijhof
67b200a532
Add if/else automation/script action ( #69811 )
...
Co-authored-by: Erik <erik@montnemery.com>
2022-04-12 15:02:17 +02:00
Franck Nijhof
81d90b1bc7
Add stop/error script/automation action ( #67340 )
2022-04-11 14:22:22 -07:00
Franck Nijhof
7087020283
Allow any entity to match state condition ( #69763 )
2022-04-11 10:53:42 -07:00
Paulus Schoutsen
ad1e43e083
Add support for variables on trigger ( #68275 )
2022-03-18 09:25:22 +01:00
Marc Mueller
eae0c75620
Make TypeVars private (2) ( #68206 )
2022-03-17 19:09:55 +01:00
Richard T. Schaefer
15580281a3
Allow area, device, and entity selectors to optionally support multiple selections like target selector ( #63138 )
...
* Allow area, device, and entity selectors to optionally support multiple selections like target selector
* Update according to code review comments
* Adjust tests
* Update according to review comments
* Tweak error message for multiple entities
Co-authored-by: Erik <erik@montnemery.com>
2022-03-03 10:35:06 +01:00
Paulus Schoutsen
756e711850
Add a new validate config WS command ( #67057 )
2022-02-22 22:28:37 +01:00
Erik Montnemery
ec67dcb620
Add support for validating and serializing selectors ( #66565 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-02-18 14:24:08 -08:00
Marc Mueller
bfb1abd3a2
Add type ignore error codes [helpers] ( #66776 )
2022-02-18 11:31:37 +01:00
Bram Kragten
ef34f070ee
Allow metadata in service call data ( #66672 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2022-02-16 21:13:36 +01:00
Marc Mueller
d3b7bd25ef
Update typing (1) ( #63922 )
2022-01-11 21:26:03 +01:00
Erik Montnemery
fc2025509e
Teach call service script action about entity registry ids ( #61172 )
2022-01-07 08:42:47 -08:00
Marc Mueller
fcd80b2ed7
Fix `ensure_list` typing ( #63311 )
2022-01-04 15:23:48 +01:00
Tobias Sauerwein
2c904c0974
Bump mypy to 0.930 ( #62642 )
...
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2021-12-27 17:55:17 +01:00
Ruslan Sayfutdinov
55f4962c06
Fix pylint plugin which checks relative imports ( #62693 )
2021-12-23 11:14:47 -08:00
Erik Montnemery
e48f567176
Wrap shorthand template conditions during schema validation ( #62485 )
2021-12-21 17:20:15 +01:00
Erik Montnemery
e2fca2e305
Support shorthand templates in condition actions ( #61177 )
...
* Support shorthand templates in condition actions
* Fix validation message
* Fix tests
2021-12-21 12:19:31 +01:00
Erik Montnemery
0e3bc21d54
Teach state and numeric_state conditions about entity registry ids ( #60841 )
2021-12-02 14:55:12 -08:00
Erik Montnemery
c85bb27d0d
Teach state trigger about entity registry ids ( #60271 )
...
* Teach state trigger about entity registry ids
* Tweak
* Add tests
* Tweak tests
* Fix tests
* Resolve entity ids during config validation
* Update device_triggers
* Fix mistake
* Tweak trigger validator to ensure we don't modify the original config
* Add index from entry id to entry
* Update scaffold
* Pre-compile UUID regex
* Address review comment
* Tweak mock_registry
* Tweak
* Apply suggestion from code review
2021-12-02 14:26:45 +01:00
Erik Montnemery
a62bc6b3b9
Minor tweak of cv.deprecated + cv.removed ( #59095 )
...
* Minor tweak of cv.deprecated + cv.removed
* Satisfy pylint
2021-11-04 19:12:21 +01:00
Jan Bouwhuis
c3fc19915e
Mqtt fan fail deprecated options for classic speeds ( #58992 )
...
* Fail deprecated options
* new removed validator
* correct module_name - add tests
* Add test cant find module cv.removed
* module name from stack+1
* Remove error from log. Just throw.
* assert on thrown exception text
* cleanup formatting remove KeyStyleAdapter
* format the replacement_key and update test
* deprecated vs removed - add raise_if_present opt
* doc string update
* is deprecated
2021-11-04 17:54:27 +01:00
Robert Hillis
16371e6579
Add missing ZMW currency ( #58959 )
2021-11-02 20:21:56 -07:00
Paulus Schoutsen
5deeeed672
Add some more required/optional tags to condition schemas ( #58424 )
2021-10-26 17:25:15 +02:00
Chris Browet
e961d92b5e
Allow service data template to return a dict ( #57105 )
2021-10-23 21:10:30 +02:00
Marc Mueller
77ee72cbb9
Import Callable from collections.abc (1) ( #56775 )
2021-09-29 16:32:11 +02:00
Børge Nordli
0d654fa6b3
Extract attribute names out of vol.Optional when validating entity service schema ( #55157 )
2021-08-25 13:00:11 +02:00
Franck Nijhof
243c52e210
Add missing BYN currency ( #55001 )
2021-08-21 19:14:48 -07:00
Paulus Schoutsen
952d11cb03
Ensure internal/external URL have no path ( #54304 )
...
* Ensure internal/external URL have no path
* Fix comment typo
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-09 09:38:09 +02:00
Franck Nijhof
1968b95829
Add currency core configuration ( #53541 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-07-28 08:55:58 +02:00
Erik Montnemery
b01b33c304
Add trigger condition ( #51710 )
...
* Add trigger condition
* Tweaks, add tests
2021-06-11 15:05:57 +02:00
Erik Montnemery
49bec86dae
Add base schema for triggers ( #51727 )
...
* Add base schema for triggers
* Tweak
* Make TRIGGER_BASE_SCHEMA a voluptuous schema
* Make state trigger BASE_SCHEMA a voluptuous schema
2021-06-11 09:51:12 +02:00
Franck Nijhof
f35929ba63
Allow referencing sensor entities for before/after in time conditions ( #51444 )
...
* Allow referencing sensor entities for before/after in time conditions
* Fix typo in variable naming
* Improve test coverage
2021-06-07 14:50:31 +02:00
Franck Nijhof
05241a7a68
Allow number/sensor entities in numeric state conditions/triggers ( #51439 )
2021-06-04 18:14:48 +02:00
Paulus Schoutsen
45e1473f83
Improve config validation for key_value_schemas ( #49429 )
2021-06-01 11:23:59 +02:00
Franck Nijhof
378cee01b4
Add typing to async_register_entity_service ( #50015 )
2021-05-03 14:22:38 +02:00
Marc Mueller
f1d48ddfe3
Update pylint to 2.8.0 ( #49637 )
2021-04-24 14:39:24 -10:00
Marc Mueller
c07646db5d
Update typing syntax ( #49480 )
...
* Update typing syntax
* Replace typing imports with ones from collections where possible
* Changes after review
2021-04-20 17:40:41 +02:00
Ville Skyttä
970cbcbe15
Type hint improvements ( #49320 )
2021-04-17 08:35:21 +02:00
Erik Montnemery
d1df6e6fba
Don't get code_context when calling inspect.stack ( #48849 )
...
* Don't get code_context when calling inspect.stack
* Update homeassistant/helpers/config_validation.py
2021-04-09 07:26:09 +02:00
Franck Nijhof
4e3c12883e
Allow templatable service target to support scripts ( #48600 )
2021-04-01 13:10:01 -07:00
Marc Mueller
6fb2e63e49
Update typing 02 ( #48014 )
2021-03-17 18:34:19 +01:00
Alan Tse
f86e7535e0
Add location details to deprecation warning ( #47155 )
2021-03-16 21:16:07 +01:00
Franck Nijhof
42fd3be0e8
Add template support to service targets ( #46977 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-02-23 22:46:00 -08:00
Erik Montnemery
2d70806035
Add support for "alias" in script steps device, device_condition, and conditions ( #46647 )
...
Co-authored-by: Donnie <donniekarnsinsb@hotmail.com>
2021-02-20 19:21:09 -08:00
tkdrob
c2302784c2
Use core constants for helpers ( #46240 )
2021-02-08 22:53:17 +01:00