Commit Graph

199 Commits (847b10fa65eebf1fa97279b68bb9d164c4689b8e)

Author SHA1 Message Date
Erik Montnemery caf5ee2fab
Remove optional validation when creating conditions (#60481) 2021-11-28 14:54:07 +01:00
Marc Mueller 84618fa831
Use assignment expressions 30 (#58714) 2021-10-30 16:33:42 +02:00
Marc Mueller 7063c05127
Use assignment expressions 33 (#58717) 2021-10-30 16:32:41 +02:00
Erik Montnemery 961ee717ef
Store automation and script traces (#56894)
* Store automation and script traces

* Pylint

* Deduplicate code

* Fix issues when no stored traces are available

* Store serialized data for restored traces

* Update WS API

* Update test

* Restore context

* Improve tests

* Add new test files

* Rename restore_traces to async_restore_traces

* Refactor trace.websocket_api

* Defer loading stored traces

* Lint

* Revert refactoring which is no longer needed

* Correct order when restoring traces

* Apply suggestion from code review

* Improve test coverage

* Apply suggestions from code review
2021-10-19 10:23:23 +02:00
Marc Mueller 2b72b7b7b9
Use assignment expressions 09 (#57790) 2021-10-17 20:19:56 +02:00
Ville Skyttä b10fc89a6b
Automation trigger info type hint improvements (#55402)
* Make automation trigger info a TypedDict

* zwave_js trigger type hint fixes

* Remove redundant automation trigger info field presence checks

* Use async_initialize_triggers in mqtt and tasmota device_trigger tests
2021-09-04 02:25:51 +02:00
Paulus Schoutsen 8377b557da
Packages to support config platforms (#54085) 2021-08-05 13:11:01 -07:00
Richard T. Schaefer 9e219d9b6e
Add this variable for use by automation and script templates (#52774) 2021-07-28 09:09:13 +02:00
Robert Hillis 55b0d562ce
Use entity class attributes for automation (#52694)
* Use entity class attributes for automation

* tweak
2021-07-13 15:01:43 +02:00
Erik Montnemery 4c9f12b9c5
Correct trace path for trigger with custom id (#51847) 2021-06-14 17:09:20 +02:00
Erik Montnemery 7b5e63132c
Prevent parallel reload of automations (#50008) 2021-05-25 08:50:50 -07:00
Erik Montnemery ce64690817
Make number of stored traces configurable (#49728) 2021-04-27 10:27:12 -07:00
Ruslan Sayfutdinov 37466ae423
Don't ignore mypy errors by default (#49270) 2021-04-26 14:23:21 +02:00
Erik Montnemery 76d0f93ec1
Include blueprint input in automation trace (#48575) 2021-04-01 13:34:47 -07:00
Erik Montnemery 9f481e1642
Include script script_execution in script and automation traces (#48576) 2021-04-01 09:42:23 -07:00
Erik Montnemery b26779a27a
Add id to automation triggers (#48464) 2021-03-31 14:56:04 +02:00
Bram Kragten d1a1e70726
Search for areas used in automations and scripts (#48499)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-03-30 15:01:56 -07:00
Erik Montnemery 7534b54e4e
Merge condition and action traces (#48461) 2021-03-29 14:06:49 -07:00
Erik Montnemery a49989241a
Refactor tracing: Move trace support to its own integration (#48224) 2021-03-22 19:19:38 +01:00
Paulus Schoutsen f67e8b4369
Populate trigger variable when manually triggering automation (#48202)
* Populate trigger variable when manually triggering automation

* Update tests/components/automation/test_init.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-03-22 08:22:32 +01:00
Erik Montnemery 346a724ac3
Mark base components' state_attribute @final, rename others to extra_state_attributes (#48161)
* Mark base state_attributes @final, rename others to extra_state_attributes

* Fix calendar, update tests
2021-03-21 10:38:24 +01:00
Marc Mueller 76199c0eb2
Update typing 04 (#48037) 2021-03-17 23:34:25 +01:00
Paulus Schoutsen f1c274b3dd
Add run_id to automation logbook event (#47980) 2021-03-16 14:37:26 -07:00
Franck Nijhof 5d5a110a20
None optional hass typing in base entity and notify (#47528) 2021-03-15 15:11:41 +01:00
Paulus Schoutsen 2a22c54fcb
Store the correct context in the trace (#47785) 2021-03-12 08:12:26 +01:00
Erik Montnemery 6c084ae6ce
Update integrations a-e to override extra_state_attributes() (#47756) 2021-03-11 16:51:03 +01:00
Erik Montnemery a9a9e1f199
Tweak automation tracing (#47721) 2021-03-10 14:42:13 -08:00
Paulus Schoutsen a50e9812cb
Fix automations with traces. (#47705) 2021-03-09 22:40:17 -08:00
Erik Montnemery 704000c049
Add support for breakpoints in scripts (#47632) 2021-03-09 21:23:11 -08:00
Erik Montnemery fd1add8f15
Rename AutomationTrace.runid to AutomationTrace.run_id (#47669) 2021-03-09 15:49:41 +01:00
Erik Montnemery a243adc551
Add WS command to get a summary of automation traces (#47557)
* Add WS command to get a summary of automation traces

* Update tests

* Correct rebase mistake, update tests
2021-03-08 20:30:52 +01:00
Erik Montnemery 8fe51b8ea7
Store automation traces indexed by run_id (#47509)
* Store traces indexed by run_id

* Format

* Add test

* Add test

* Clarify comment
2021-03-08 18:04:41 +01:00
Erik Montnemery 2f9d03d115
Merge action and condition traces (#47373)
* 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
tkdrob 3baeed3684
Clean up constants (#47323) 2021-03-05 19:08:04 +01:00
Erik Montnemery 17401cbc29
Initial automation tracing (#46755)
* 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
Ville Skyttä dc880118a4
Lint suppression cleanups (#47248)
* Unused pylint suppression cleanups

* Remove outdated pylint bug references

* Add flake8-noqa config and note to run it every now and then

* Add codes to noqa's

* Unused noqa cleanups
2021-03-02 09:02:04 +01:00
Anders Melchiorsen b1a24c8bbb
Log the name of automations with condition errors (#46854) 2021-02-21 19:34:45 -10:00
Anders Melchiorsen d33a1a5ff8
Refine printing of ConditionError (#46838)
* 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 (#46767) 2021-02-19 13:15:30 +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
Anders Melchiorsen b9b1caf4d7
Raise ConditionError for numeric_state errors (#45923) 2021-02-08 10:47:57 +01:00
tkdrob bcefbe2dca
Use core constants for automation (#46016) 2021-02-04 21:41:43 -05:00
Marc Mueller 7673f57248
Add additional error handling for automation script run (#45613) 2021-01-28 09:26:41 +01:00
J. Nick Koston a7741be9bb
Wait for all triggers when one fails to attach (#45361) 2021-01-20 22:13:21 +01:00
Paulus Schoutsen b3be708db6
Add default config if not there (#43321)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-11-25 15:10:04 +01:00
Paulus Schoutsen dc5f7aedd7
Verify that we register blueprints on automation setup (#43434) 2020-11-20 15:57:57 +01:00
Paulus Schoutsen df25b53bb8
Fix automation in packages (#43202) 2020-11-13 22:49:01 +01:00
Franck Nijhof 6f326a7ea4
Add support for multiple event triggers in automation (#43097)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-12 11:58:28 +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
Paulus Schoutsen 5117a16841
Extract variable rendering (#39934) 2020-09-11 12:24:16 +02:00