Commit graph

78 commits

Author SHA1 Message Date
Erik Montnemery
0e3bc21d54
Teach state and numeric_state conditions about entity registry ids () 2021-12-02 14:55:12 -08:00
Erik Montnemery
caf5ee2fab
Remove optional validation when creating conditions () 2021-11-28 14:54:07 +01:00
Erik Montnemery
ff837c736e
Return False from state conditions on missing attributes () 2021-11-09 11:34:18 +01:00
Marc Mueller
238b488642
Use assignment expressions 03 () 2021-10-17 20:08:11 +02:00
Ville Skyttä
59809503d1
Various type hint related improvements ()
* Avoid some implicit generic Anys

* Fix hassio discovery view type hints

* Fix http view result type in assert message
2021-08-21 13:58:49 +02:00
Raman Gupta
bef8be9256
Support dynamic schema validation in device conditions and actions ()
* Allow integrations to provide dynamic schema validation in device conditions and actions

* Add tests

* re-add type

* mypy
2021-06-28 09:23:46 +02:00
Erik Montnemery
b01b33c304
Add trigger condition ()
* Add trigger condition

* Tweaks, add tests
2021-06-11 15:05:57 +02:00
Franck Nijhof
f35929ba63
Allow referencing sensor entities for before/after in time conditions ()
* 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
c5dc99c052
Fix time condition microsecond offset when using input helpers () 2021-06-01 17:57:23 +02:00
Erik Montnemery
63e16de6c0
Improve time condition trace () 2021-06-01 17:07:45 +02:00
Erik Montnemery
1ea0d8ae02
Correct trace of condition actions () 2021-05-17 16:54:17 -07:00
J. Nick Koston
3fa8ffa731
Enable mccabe complexity checks in flake8 ()
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-04-25 12:38:40 +02:00
Erik Montnemery
d28b959a09
Improve sun condition trace () 2021-04-22 16:46:27 -07:00
Marc Mueller
c07646db5d
Update typing syntax ()
* Update typing syntax

* Replace typing imports with ones from collections where possible

* Changes after review
2021-04-20 17:40:41 +02:00
Erik Montnemery
ff5fbea1fb
Improve trace of template conditions ()
* Improve trace of template conditions

* Refactor

* Fix wait_template trace

* Update tests
2021-04-12 20:22:28 +02:00
Marc Mueller
2956eb0902
Update pylint to 2.7.3 ()
* Update pylint to 2.7.3

* Add class-const-naming-style

* Remove unused-import message

* Additional cleanup
2021-03-29 18:02:56 -10:00
Marc Mueller
6fb2e63e49
Update typing 02 () 2021-03-17 18:34:19 +01:00
Erik Montnemery
f82e59c32a
Make it possible to list debug traces for a specific automation () 2021-03-15 16:51:04 -07:00
Erik Montnemery
2f9d03d115
Merge action and condition traces ()
* Merge action and condition traces

* Update __init__.py

* Add typing to AutomationTrace

* Make trace_get prepare a new trace by default

* Correct typing of trace_cv

* Fix tests
2021-03-06 12:57:21 +01:00
Franck Nijhof
7a8b7224c8
Don't raise on known non-matching states in numeric state condition () 2021-03-04 13:09:08 -08:00
Erik Montnemery
17401cbc29
Initial automation tracing ()
* Initial prototype of automation tracing

* Small fixes

* Lint

* Move trace helpers to its own file

* Improve trace for state and numeric_state conditions

* Tweaks + apply suggestions from code review

* Index traces by automation_id, trace while script is running

* Refactor condition tracing

* Improve WS API to get traces for single automation

* Add tests

* Fix imports

* Fix imports

* Address review comments

* Cap logging of loops

* Remove unused ContextVar action_config
2021-03-04 14:16:24 +01:00
Anders Melchiorsen
d61d39de08
Handle ConditionError with multiple entity_id for state/numeric_state () 2021-02-22 08:11:59 +01:00
Anders Melchiorsen
d33a1a5ff8
Refine printing of ConditionError ()
* Refine printing of ConditionError

* Improve coverage

* name -> type
2021-02-21 14:54:36 +01:00
Anders Melchiorsen
bfea7d0baa
Raise ConditionError for and/or/not errors () 2021-02-19 13:15:30 +01:00
Anders Melchiorsen
e7e3e09063
Raise ConditionError for zone errors ()
* Raise ConditionError for zone errors

* Do not test missing state

* Handle multiple entities/zones
2021-02-19 13:14:47 +01:00
Anders Melchiorsen
888c9e120d
Raise ConditionError for time errors () 2021-02-11 17:29:17 +01:00
Anders Melchiorsen
1f5fb8f28a
Raise ConditionError for template errors () 2021-02-11 10:30:09 +01:00
Anders Melchiorsen
f27066e773
Raise ConditionError for state errors () 2021-02-09 09:46:36 +01:00
Anders Melchiorsen
b9b1caf4d7
Raise ConditionError for numeric_state errors () 2021-02-08 10:47:57 +01:00
Paulus Schoutsen
b3be708db6
Add default config if not there ()
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-11-25 15:10:04 +01:00
Franck Nijhof
45aba9bdf2
Allow skip parsing template result () 2020-10-26 16:01:09 +01:00
Franck Nijhof
ee914366a8
Add native Python types support to templates ()
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-10-07 00:05:52 +02:00
Paulus Schoutsen
fe2c16dc29
Allow any value when triggering on state attribute () 2020-10-05 12:53:12 +02:00
Franck Nijhof
cd26384634
Fix entity extraction from Template conditions () 2020-09-13 22:05:45 +02:00
Franck Nijhof
1ec3446c56
State condition can also accept an input_* Entity ID as state value () 2020-09-07 00:36:01 +02:00
Franck Nijhof
878347243d
Numeric state condition can also accept input_number entity ID () 2020-09-06 20:04:07 +02:00
Franck Nijhof
a3c45a6f89
Add shorthand notation for Template conditions () 2020-09-06 16:55:06 +02:00
Franck Nijhof
da9b077c11
Time condition can also accept an input_datetime Entity ID () 2020-09-06 16:06:09 +02:00
Franck Nijhof
bdc5af8dd2
Add support for attributes in (numeric) state conditions () 2020-08-19 20:01:27 +02:00
Franck Nijhof
02f174e2e6
Add support for multiple states/zones in conditions ()
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 () 2020-06-15 22:54:19 +02:00
Franck Nijhof
928d9ec117
Fix not condition validation and entity/device extraction () 2020-05-01 00:15:53 +02:00
Franck Nijhof
c93c6a66e8
Add NOT condition helper () 2020-04-24 09:40:23 -07:00
Ville Skyttä
267d98b5eb
Type hint improvements () 2020-04-17 11:33:58 -07:00
Paulus Schoutsen
424e15c7a7
Find related items scripts/automations ()
* Find related items scripts/automations

* Update manifest
2020-01-29 16:19:13 -08:00
Paulus Schoutsen
0fba9e44ed
Migrate zone to use collection helpers () 2020-01-22 12:36:25 -08:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations () 2020-01-02 21:17:10 +02:00
Bas Nijholt
67c56c860d Sort imports according to PEP8 for 'homeassistant' folder ()
Components are already done
2019-12-09 16:42:10 +01:00
Erik Montnemery
c43eeee62f Improve validation of device condition config ()
* Improve validation of device condition config

* Fix typing
2019-10-02 15:58:14 -07:00
Paulus Schoutsen
6fdff9ffab
Reorg device automation ()
* async_trigger -> async_attach_trigger

* Reorg device automations

* Update docstrings

* Fix types

* Fix extending schemas
2019-09-24 14:57:05 -07:00