Commit Graph

238 Commits

Author SHA1 Message Date
J. Nick Koston
d00934a8f8 Refactor automation trigger attachment to avoid creating a closure (#102288) 2023-10-18 22:42:15 -10:00
Erik Montnemery
df73850f56 Move definition of attributes excluded from history to entity classes (#100430)
* Move definition of attributes excluded from history to entity classes

* Revert change which should be in a follow-up PR

* Fix sun unrecorded attributes

* Fix input_select unrecorded attributes
2023-09-21 15:02:47 +02:00
Erik Montnemery
fbcc5318c5 Move attributes to be excluded from recording to entity classes (#100239)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-20 18:09:12 +02:00
Erik Montnemery
7e7cb15d5b Revert "Allows defining list of attributes excluded from history in manifest.json" (#99300)
Revert "Allows defining list of attributes excluded from history in manifest.json (#99283)"

This reverts commit 0366e14630.
2023-08-30 08:26:26 +02:00
Erik Montnemery
0366e14630 Allows defining list of attributes excluded from history in manifest.json (#99283)
* Move list of attributes excluded from history to manifest.json

* Address comments
2023-08-29 20:14:33 +02:00
Erik Montnemery
17ac1a6d32 Set automations which fail validation unavailable (#94856) 2023-06-27 18:23:33 +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
334dacc322 Change Entity.name default to UNDEFINED (#94574)
* Change Entity.name default to UNDEFINED

* Update typing

* Update Pylint plugin

* Update TTS test
2023-06-15 11:09:53 +02:00
Erik Montnemery
d05d67414a Teach search about blueprints (#78535) 2023-05-30 15:04:35 +02:00
J. Nick Koston
c25ccb90a4 Speed up creating automations (#93776)
Creating the inner coroutine for each automation to be run at started
was expensive when the user had 1000s of automations
2023-05-29 22:51:35 -05:00
rlippmann
f5911bcad6 Add slots to dataclasses in default_config (#91410)
* add dataclass slots to default config items

* remove slots from sun mixing
2023-04-14 14:22:39 -04:00
Franck Nijhof
ca1a12898c Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
Karlie Meads
156307f3f2 Fix logic of disabled condition for "OR" (#79718) 2023-01-16 21:08:09 +01:00
Franck Nijhof
b0cee0bc46 String formatting and max line length - Part 1 (#84390)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-12-22 10:12:50 +01:00
Erik Montnemery
a6217ca9b9 Improve error message when an automation fails to validate (#83977) 2022-12-21 23:20:50 +01:00
Erik Montnemery
9bd676aff6 Improve automation reload (#81854)
* Improve automation reload

* Small tweak

* Improve
2022-11-10 14:44:55 +01:00
Erik Montnemery
627bd82766 Simplify parsing of script and automation config (#80465) 2022-10-17 11:42:17 +02:00
Erik Montnemery
4ebf9df901 Unconditionally call DomainBlueprints.populate (#80336) 2022-10-14 12:03:43 -04:00
Erik Montnemery
284893d942 Fix reload of automation and scripts when blueprint changed (#80322) 2022-10-14 16:43:09 +02:00
Erik Montnemery
81f40afd80 Only reload modified automations (#80282)
* Only reload modified automations

* Update tests

* Adjust spelling

* Improve efficiency of matching automations and configurations

* Reload automations without an alias if they have been moved

* Add test

* Add test

* Add test
2022-10-14 15:28:03 +02:00
Paulus Schoutsen
4843d330f3 Allow fetching automation config (#79130) 2022-09-28 12:49:00 +02:00
epenet
b4afb1cb6b Make use of generic EntityComponent (#78492) 2022-09-15 11:53:00 +02:00
Erik Montnemery
30702bdcd2 Deduplicate some code in scripts and automations (#78443) 2022-09-15 07:41:11 +02:00
epenet
996bcbdac6 Make EntityComponent generic (#78473) 2022-09-14 14:16:23 -04:00
Erik Montnemery
2ba0f42acc Prevent deleting blueprints which are in use (#78444) 2022-09-14 16:47:08 +02:00
epenet
5e338d2166 Improve type hints in automation (#78368)
* Improve type hints in automation

* Apply suggestion

* Apply suggestion

* Apply suggestion

* Add Protocol for IfAction

* Use ConfigType for IfAction

* Rename variable
2022-09-14 13:04:09 +02:00
J. Nick Koston
47848b7cf8 Fix IssueSeverity import (#77338) 2022-08-25 21:52:33 -05:00
Franck Nijhof
5f0cca9b26 Raise repairs issue if automation calls unknown service (#76949) 2022-08-25 20:56:26 -04:00
Franck Nijhof
9843753f30 Add alias support to all triggers (#77184) 2022-08-22 17:43:09 -04:00
Erik Montnemery
1c1b23ef69 Correct referenced entities and devices for event triggers (#76818) 2022-08-15 17:35:30 -04:00
Marc Mueller
c93d9d9a90 Move AutomationActionType to helpers.trigger (#76790) 2022-08-15 08:37:11 -04:00
Marc Mueller
70aeaa3c76 Use Callback protocol for AutomationActionType (#76054) 2022-08-09 16:10:26 -04:00
Franck Nijhof
63679d3d29 Fix missing device & entity references in automations (#71103) 2022-05-01 21:49:50 -07:00
J. Nick Koston
c3108b3899 Exclude attributes for automation and script domains (#70168) 2022-04-18 12:10:18 +02:00
Erik Montnemery
46f27fdefd Don't prevent automations from triggering themselves (#68178) 2022-03-15 18:48:54 +01:00
Marc Mueller
67c35652f0 Update typing - collections.abc (2) (#63934) 2022-01-12 09:04:37 +01:00
Marc Mueller
4e2cd1bec0 Update typing (2) [a-i] (#63923) 2022-01-11 21:23:26 +01:00
Marc Mueller
40262c4763 Fix exception import locations (#63454) 2022-01-05 15:00:49 +01:00
epenet
545e321002 Add init type hints [a] (#63098)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-30 21:17:05 -08:00
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