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
Erik Montnemery
047f16772f
Support templating MQTT triggers ( #45614 )
...
* Add support for limited templates (no HASS access)
* Pass variables to automation triggers
* Support templates in MQTT triggers
* Spelling
* Handle trigger referenced by variables
* Raise on unsupported function in limited templates
* Validate MQTT trigger schema in MQTT device trigger
* Add trigger_variables to automation config schema
* Don't print stacktrace when setting up trigger throws
* Make pylint happy
* Add trigger_variables to variables
* Add debug prints, document limited template
* Add tests
* Validate MQTT trigger topic early when possible
* Improve valid_subscribe_topic_template
2021-02-08 10:50:38 +01:00
Philip Allgaier
84f506efb7
Set default position value for cover action ( #45670 )
...
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-01-29 21:11:12 +01:00
Joakim Sørensen
b1c2cde40b
Changes to filename and path validation ( #45529 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-26 15:53:21 +01:00
Alexei Chetroi
de8f273bd0
Allow input_number entity_id as for numeric_state trigger thresholds ( #45091 )
...
* Allow input_number as limits for numeric_state trigger
* Rename threshold schema
2021-01-13 16:20:59 +01:00
Ville Skyttä
3a88a4120e
Helpers type hint improvements ( #44964 )
2021-01-09 00:08:34 +01:00
Paulus Schoutsen
594e905742
Remove invalidation_version from deprecated ( #44156 )
...
* Remove invalidation_version from deprecated. We don't follow up and just hurts releases
* Revert change to ZHA
2020-12-12 22:24:16 +01:00
Paulus Schoutsen
0de9e8e952
Allow specifying device_id as target ( #43767 )
2020-11-30 14:27:02 +01:00
Paulus Schoutsen
dd513147a5
Add a service target ( #43725 )
2020-11-28 23:33:32 +01:00
Paulus Schoutsen
0a717f313e
Improve entity domain validator ( #43164 )
2020-11-13 13:31:43 +01:00
Paulus Schoutsen
aec191b558
Support datetime sensor in time trigger ( #42899 )
2020-11-09 14:50:54 +01:00
Paulus Schoutsen
0fb587727c
Add initial blueprint support ( #42469 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-11-02 15:00:13 +01:00
springstan
a967f689c7
Remove unnecessary instances of dict.keys() ( #42518 )
2020-10-28 20:43:48 +01:00
Paulus Schoutsen
e552c9ba96
Store original result on template results ( #42391 )
...
* Store original result on template results
* Fix shell command test
2020-10-26 11:30:58 +01:00
Ville Skyttä
f28c3273c2
Upgrade mypy to 0.790 ( #41595 )
2020-10-12 19:17:30 -05:00
Matthias Alphart
93a9a11065
Add config validator helper positive_float ( #41640 )
2020-10-11 22:04:49 +02:00
Raman Gupta
d3734aae9d
Allow custom_serializer to recognize cv.string and cv.boolean to make config schema more reusable ( #41532 )
2020-10-09 09:36:54 +02:00
Paulus Schoutsen
fe2c16dc29
Allow any value when triggering on state attribute ( #41261 )
2020-10-05 12:53:12 +02:00
springstan
a2c3c33b22
Use core GitHub URL in all files ( #41089 )
2020-10-03 00:04:11 +02:00
Thomas Lovén
f59e727f16
Set variable values in scripts ( #39915 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-11 13:16:25 +02:00
Paulus Schoutsen
5117a16841
Extract variable rendering ( #39934 )
2020-09-11 12:24:16 +02:00
Paulus Schoutsen
aa9dff572e
Add default variables to script helper ( #39895 )
2020-09-10 20:41:42 +02:00
Franck Nijhof
878347243d
Numeric state condition can also accept input_number entity ID ( #39680 )
2020-09-06 20:04:07 +02:00
Franck Nijhof
a3c45a6f89
Add shorthand notation for Template conditions ( #39705 )
2020-09-06 16:55:06 +02:00
Franck Nijhof
da9b077c11
Time condition can also accept an input_datetime Entity ID ( #39676 )
2020-09-06 16:06:09 +02:00
Ville Skyttä
b4bac0f7a0
Exception chaining and wrapping improvements ( #39320 )
...
* Remove unnecessary exception re-wraps
* Preserve exception chains on re-raise
We slap "from cause" to almost all possible cases here. In some cases it
could conceivably be better to do "from None" if we really want to hide
the cause. However those should be in the minority, and "from cause"
should be an improvement over the corresponding raise without a "from"
in all cases anyway.
The only case where we raise from None here is in plex, where the
exception for an original invalid SSL cert is not the root cause for
failure to validate a newly fetched one.
Follow local convention on exception variable names if there is a
consistent one, otherwise `err` to match with majority of codebase.
* Fix mistaken re-wrap in homematicip_cloud/hap.py
Missed the difference between HmipConnectionError and
HmipcConnectionError.
* Do not hide original error on plex new cert validation error
Original is not the cause for the new one, but showing old in the
traceback is useful nevertheless.
2020-08-28 13:50:32 +02:00
Franck Nijhof
181709f3d2
Allow templates in data & service parameters (making data_template & service_template obsolete) ( #39210 )
2020-08-24 16:21:48 +02:00
Bas Nijholt
a9ffc149f8
Allow templating keys in data_template ( #39008 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-21 22:42:05 +02:00
Phil Bruckner
76ead858cf
Add wait_for_trigger script action ( #38075 )
...
* Add wait_for_trigger script action
* Add tests
* Change script integration to use config validator
2020-08-21 11:38:25 +02:00
J. Nick Koston
1381b279f0
Update template sensor to use async_track_template_result ( #38940 )
...
* Add template entity
* Update template tracking to work for template sensors
* add test for whitespace
* Update homeassistant/helpers/config_validation.py
* revert
* fix
* reduce
* fix _refresh missing decorator
* defer until start
* do not throw errors during startup
* defer tracking until start event
Co-authored-by: Swamp-Ig <github@ninjateaparty.com>
2020-08-20 08:06:41 -05:00
Franck Nijhof
bdc5af8dd2
Add support for attributes in (numeric) state conditions ( #39050 )
2020-08-19 20:01:27 +02:00
Phil Bruckner
ca9dd0c833
Reorganize trigger code ( #38655 )
2020-08-17 11:54:56 -05:00
Phil Bruckner
580e229cf2
Create variable with result of wait_template and accept template for timeout option ( #38634 )
2020-08-12 13:42:06 -05:00
Phil Bruckner
726d5fdd94
Allow float values in time periods ( #38023 )
2020-07-21 19:41:42 -05:00
Phil Bruckner
7e280e2b27
Add choose script action ( #37818 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-14 10:22:54 -07:00
Phil Bruckner
91271f388c
Add new repeat loop for scripts and automations ( #37589 )
2020-07-10 13:37:19 -05:00
Franck Nijhof
02f174e2e6
Add support for multiple states/zones in conditions ( #36835 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-16 00:53:13 +02:00
Franck Nijhof
ba73ac12ba
Add support for multiple entity_ids in conditions ( #36817 )
2020-06-15 22:54:19 +02:00
Ville Skyttä
29b8f76e57
Use past tense in messages for already invalidated deprecated configs ( #36591 )
2020-06-09 23:26:55 -07:00
Franck Nijhof
e86bedb223
Prevent possible secret values to show up in deprecation logs ( #36368 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-02 17:29:59 +02:00
Bram Kragten
cb7b8d94c0
Add check for HTML in translations ( #35615 )
...
* Add check for HTML in translations
and remove existing html
* Add test
2020-05-14 19:33:14 +02:00
Franck Nijhof
c93c6a66e8
Add NOT condition helper ( #34624 )
2020-04-24 09:40:23 -07:00
Ville Skyttä
221d5205e4
Upgrade mypy to 0.770, tighten config a bit ( #32715 )
...
* Upgrade mypy to 0.770, related cleanups
https://mypy-lang.blogspot.com/2020/03/mypy-0770-released.html
* Clean up config and make it a notch stricter, address findings
2020-03-12 11:52:20 +01:00
Paulus Schoutsen
6a21afa2a8
Improve script validation ( #32461 )
2020-03-05 11:44:42 -08:00
Paulus Schoutsen
536b31305a
Support multiple Lovelace dashboards ( #32134 )
...
* Support multiple Lovelace dashboards
* Mark collection maintenance as unfinished
* Fix import
* Add websockets commands for resource management
* Revert "Add websockets commands for resource management"
This reverts commit 7d140b2bcc
.
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-25 11:18:21 -08:00
Paulus Schoutsen
ca01e9a537
Improve condition validation error msg ( #32135 )
2020-02-24 09:59:34 +01:00
Robert Svensson
043d36f7c6
Change multi_select config validator to class ( #31828 )
...
* Move multi_select to class
* Fix serializer and add test
* Serializer should also return options
2020-02-14 11:09:40 -08:00
Robert Svensson
6211a2bb98
Add multi select support to config validation and to custom serializer ( #31798 )
2020-02-13 13:12:09 -08:00
Paulus Schoutsen
f41623ca64
Log warning when entities referenced in service call not found ( #31427 )
...
* Raise entities not found error
* Make it a warning, not an error
* Add support for MATCH_ENTITY_NONE
* Fix lint
* Fix tests
2020-02-04 14:42:07 -08:00
Paulus Schoutsen
7687ac8b91
Fix service annotations ( #31402 )
...
* Fix service annotations
* Filter area_id from service data
* Fix services not accepting entities
* Typo
2020-02-02 15:36:39 -08:00
Ville Skyttä
fa4fa30461
Various string cleanups ( #30435 )
...
* Remove some unnecessary string concatenations
* Replace some simple str.formats with f-strings
* Replace some string concatenations with f-strings
2020-01-03 14:47:06 +01:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations ( #30360 )
2020-01-02 21:17:10 +02:00
Ville Skyttä
868eb3c735
More helpers type improvements ( #30145 )
2019-12-22 19:51:39 +01:00
Ville Skyttä
ecdc1adf90
Upgrade mypy to 0.761 ( #30104 )
...
https://mypy-lang.blogspot.com/2019/12/mypy-0760-released.html
https://github.com/python/mypy/releases/tag/v0.761
2019-12-20 22:35:02 +01:00
Bas Nijholt
67c56c860d
Sort imports according to PEP8 for 'homeassistant' folder ( #29789 )
...
Components are already done
2019-12-09 16:42:10 +01:00
Paulus Schoutsen
eef91f843d
Rendering complex template objects to leave non-template values alone ( #29353 )
2019-12-03 14:15:45 -08:00
Paulus Schoutsen
02d9ed5e36
Do not select all entities when omitting entity ID in service call ( #29178 )
...
* Do not select all entities when omitting entity ID
* Address comments Matthew
* Require either area_id or entity_id
* Fix tests
* Fix test
2019-12-02 16:23:12 -08:00
Erik Montnemery
42691b783e
Handle empty service in script action gracefully ( #27467 )
...
* Handle empty service in script action gracefully
* Add test
2019-10-12 12:28:47 -07:00
Matthew Donoughe
d16edb3ef0
add script shortcut for activating scenes ( #27223 )
...
* add script shortcut for activating scenes
use `- scene: scene.<scene name>` in a script to activate a scene
* Update validation
2019-10-05 13:30:43 -07:00
Franck Nijhof
2e17ad86af
Adds guards for missing information in call stack frames ( #27217 )
2019-10-05 11:59:33 +02:00
Erik Montnemery
65ce3b49c1
Add support for `for` to binary_sensor, light and switch device triggers ( #26658 )
...
* Add support for `for` to binary_sensor, light and switch device triggers
* Add WS API device_automation/trigger/capabilities
2019-10-02 22:14:52 +02:00
Ville Skyttä
fde128d66c
Upgrade mypy to 0.730, address raised issues ( #26959 )
...
https://mypy-lang.blogspot.com/2019/09/mypy-730-released.html
2019-09-27 22:57:59 +03:00
Erik Montnemery
e57e7e8449
Improve validation of device trigger config ( #26910 )
...
* Improve validation of device trigger config
* Remove action and condition checks
* Move config validation to own file
* Fix tests
* Fixes
* Fixes
* Small tweak
2019-09-27 17:48:48 +02:00
Paulus Schoutsen
6fdff9ffab
Reorg device automation ( #26880 )
...
* async_trigger -> async_attach_trigger
* Reorg device automations
* Update docstrings
* Fix types
* Fix extending schemas
2019-09-24 14:57:05 -07:00
Ville Skyttä
54242cd65c
Type hint additions ( #26765 )
2019-09-20 08:23:34 -07:00
Erik Montnemery
02ded7a4a8
Remove device from device action schema ( #26536 )
2019-09-09 10:40:22 -07:00
Erik Montnemery
b1c2a5fa08
Add device automation action ( #26455 )
...
* Add support for device actions, with light as example.
* Add translation; return list
2019-09-05 16:26:22 -07:00
Erik Montnemery
f7dc537275
Add device automation condition ( #26313 )
...
* Add support for device conditions
* Lint
* Update test case
* Make and+or conditions async, adjust tests
* Cleanup tests
* Remove non callback versions of conditions, correct typing
* Correct typing
* Update light/strings.json
* Address review comments
* Make device automation lists simple lists, not dicts
* Add device_automation/const.py
* Use IS_ON/IS_OFF everywhere for conditions
2019-09-05 16:49:32 +02:00
Franck Nijhof
2f0eb07624
Migrate legacy typehints in core to PEP-526 ( #26403 )
...
* Migrate legacy typehints in core to PEP-526
* Fix one type
2019-09-03 20:36:04 -07:00
Johann Kellerman
8b9d0593b1
Allow components with empty list config (i.e. person) in packages ( #25827 )
...
* Fix #23424
* mypy Lists
2019-08-10 16:30:33 -07:00
Ville Skyttä
a54ade1189
Spelling fixes ( #25666 )
2019-08-02 23:20:06 +02:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Ville Skyttä
d64f1e767c
Type check all helpers ( #25373 )
...
* Type check all helpers, add inline exclusions for work in progress
* Remove unused Script._template_cache
* Add some missing type hints
* Remove unneeded type: ignore
* Type hint fixes
* Mypy assistance tweaks
* Don't look for None in deprecated config "at most once" check
* Avoid None name slugify attempt when generating entity id
* Avoid None state store attempt on entity remove
2019-07-21 09:59:02 -07:00
Paulus Schoutsen
7aae490a85
Allow area ID in service call schemas ( #25121 )
...
* Allow area ID in service call schemas
* Remove ATTR_ENTITY_ID from service light turn off schcema
2019-07-15 11:31:53 -07:00
Paulus Schoutsen
27d750db1c
Guard module being None ( #25077 )
2019-07-11 09:38:58 +02:00
Penny Wood
b30f4b8fc0
Improve boolean validator ( #24294 )
...
* Improve boolean validator
* Remove extra throw
* Remove None test as discussed
* Fix for tests depending on None == False
2019-06-07 22:18:02 -07:00
Paulus Schoutsen
59ce31f44f
No longer allow invalid slugs or extra keys ( #24176 )
...
* No longer allow slugs
* Lint
* Remove HASchema
* Lint
* Fix tests
2019-05-30 13:33:26 +02:00
Penny Wood
5b9d01139d
render_with_collect method for template ( #23283 )
...
* Make entity_filter be a modifiable builder
* Add render_with_collect method
* Use sync render_with_collect and non-class based test case
* Refactor: Template renders to RenderInfo
* Freeze with exception too
* Finish merging test changes
* Removed unused sync interface
* Final bits of the diff
2019-05-01 10:54:25 +08:00
Erik Montnemery
8d775caaac
Always print invalid configuration data ( #21972 )
...
* Always print invalide configuration data
* Print offending data as yaml
* Revert "Print offending data as yaml"
This reverts commit 01721a21a9ff918ed2c8595151ebfe55eb2f7d36.
* Do not print sensitive data
* Print MQTT topic
* Add line break
* Review comments
* review comments
2019-04-29 13:45:53 -07:00
Johann Kellerman
3453d67cfe
Person schema for merge_packages #21307 ( #21703 )
...
* Person schema for merge_packages #21307
* empty list
* skip empty persons
* hound
* test schema
* ensure_none
* remove any test changes
* remove_falsy validator
* nice!
* coretests
2019-04-02 19:43:06 -07:00
Jason Hu
6ba2891604
Add trusted_users in trusted networks auth provider ( #22478 )
2019-03-27 21:53:11 -07:00
Daniel Høyer Iversen
519315f9c8
pylint 2.3.0 ( #21485 )
...
* pylint 2.3.0
* remove const
* disable=syntax-error
2019-02-27 16:10:40 -05:00
Paulus Schoutsen
f1b84962ed
Add legacy PLATFORM_SCHEMA config validation ( #21072 )
...
* Add legacy PLATFORM_SCHEMA config validation
* Fix tests
* Lint
* Add persistent notification
* Update bootstrap.py
2019-02-16 23:05:06 -08:00
Rohan Kapoor
481439d387
Deprecate conf_update_interval ( #20924 )
...
* Deprecate update_interval and replace with scan_interval
* Update tests
* Fix Darksky tests
* Fix Darksky tests correctly
This reverts commit a73384a223ba8a93c682042d9351cd5a7a399183.
* Provide the default for the non deprecated option
* Don't override default schema for sensors
2019-02-17 06:23:09 +01:00
Otto Winter
06f2aa93a4
Add persistent notification
2019-02-15 18:40:46 +01:00
Otto Winter
f6ae054e9f
Lint
2019-02-15 10:57:02 +01:00
Otto Winter
9c09a98c9e
Add legacy PLATFORM_SCHEMA config validation
2019-02-14 20:55:51 +01:00
Rohan Kapoor
d5fad33599
Add better handling of deprecated configs ( #20565 )
...
* Add better handling of deprecated configs
* Embed the call to has_at_most_one_key in deprecated
* Add tests for checking the deprecated logs
* Add thoroughly documented tests
* Always check has_at_most_one_key
* Fix typing
* Move logging helpers to homea new logging helper
* Lint
* Rename to KeywordMessage instead of BraceMessage
* Remove unneeded KeywordStyleAdapter
* Lint
* Use dict directly rather than dict.keys() when creating set
* Patch the version in unit tests, update logging and use parse_version
* Re-add KeywordStyleAdapter and fix tests
* Lint
* Lint
2019-02-08 11:14:50 +01:00
Paulus Schoutsen
59393ab085
Prevent template changing options ( #20775 )
...
* Prevent complex template validation changing input value
* Remove deprecation warnings
2019-02-06 11:15:27 -08:00
emontnemery
b1faad0a50
Use PLATFORM_SCHEMA_BASE as base schema for additional components. ( #20578 )
...
* Disable extra=vol.ALLOW_EXTRA for additional platforms.
* Remove PLATFORM_SCHEMA_2
* Add entity_namespace to base platform schema
2019-02-04 21:52:19 -08:00
emontnemery
bada9b5e0b
Add entity_namespace to PLATFORM_SCHEMA ( #20693 )
...
* Add entity_namespace to base platform schema
* Add test
* Fix
2019-02-02 18:31:28 +01:00
emontnemery
d7ba2aad1d
Add COMPONENT_SCHEMA and use it in alarm_control_panel ( #20224 )
...
* Add COMPONENT_SCHEMA and use in alarm and mqtt
* Revert MQTT changes
* Lint
* Small tweak
* Add tests
* Rename COMPONENT_SCHEMA to PLATFORM_SCHEMA_BASE
* Fix tests
* Improve tests
2019-01-28 16:14:55 -08:00
Rohan Kapoor
38c33bd01e
Fix linting error ( #20488 )
2019-01-26 17:11:09 -08:00
Paulus Schoutsen
87316c4e83
Warn for old slugs/entity ids ( #20478 )
...
* Warn for old slugs/entity ids
* add comments
* Lint
* LInt
* Lint
* Lint
2019-01-26 14:09:41 -08:00
Johann Kellerman
6511e11ec9
Config Validator: schema_with_slug_keys ( #20298 )
...
* schema_with_slug_keys
* Update config_validation.py
* Update config_validation.py
2019-01-21 16:36:04 -08:00
Johann Kellerman
c36c708068
Align valid_entity_id with new slugify ( #20231 )
...
* slug
* ensure a dot
* fix
* schema_with_slug_keys
* lint
* test
2019-01-21 09:45:11 -08:00