Commit Graph

1181 Commits (db355f9b233fbe4be0cf1750db931460134811fd)

Author SHA1 Message Date
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
J. Nick Koston dd0afc3b66
Create httpx helper to wrap a shared httpx.AsyncClient (#43877)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-09 17:18:57 +01:00
Paulus Schoutsen ac2af69d26
Fix extracting entity and device IDs from scripts (#44048)
* Fix extracting entity and device IDs from scripts

* Fix extracting from data_template
2020-12-08 13:06:29 +01:00
Erik Montnemery 30baf333c3
Improve handling of disabled devices (#43864) 2020-12-02 21:20:14 +01:00
Bram Kragten d93687b5ac
Update area and target selectors add sequence selector (#43831)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-12-02 09:30:49 +01:00
Paulus Schoutsen 1c9c99571e
Use !input instead of !placeholder (#43820)
* Use !input instead of !placeholder

* Update input name

* Lint

* Move tests around
2020-12-01 18:21:36 +01:00
Paulus Schoutsen 69710cb664
Base area IDs on initial name (#43804) 2020-12-01 12:45:56 +01:00
Paulus Schoutsen cf5be049b3
Warn when referencing missing devices/areas (#43787) 2020-12-01 08:01:27 +01:00
Paulus Schoutsen a5c79a1f84
Add support for device class in target selector (#43768) 2020-11-30 23:35:24 +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 5b6d9abe2a
Await callbacks to keep cleaner stacktraces (#43693) 2020-11-27 17:48:43 +01:00
Paulus Schoutsen d34753473d
Use run_job for service helper (#43696) 2020-11-27 16:12:39 +01:00
Erik Montnemery a5e5c5c7e6
Exclude disabled entities from async_entries_for_device (#43665) 2020-11-27 09:03:44 +01:00
Paulus Schoutsen f9fa24950b
OAuth2 to use current request header (#43668) 2020-11-27 08:55:34 +01:00
Paulus Schoutsen e1de36fda8
Fix check config (#43663) 2020-11-26 22:25:21 +01:00
Paulus Schoutsen edf70e9f06
Make input_datetime better handle timezones (#43396)
* Make input_datetime better handle timezones

* Improve test coverage

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Revert change to time format

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-11-26 20:20:10 +01:00
Erik Montnemery dc8364fd3a
Support disabling devices (#43293) 2020-11-26 16:45:02 +01:00
Bram Kragten 4aa181416c
Add area selector, remove date selector (#43658)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-26 15:44:25 +01:00
Bram Kragten 3767af14f3
Add more selectors (#43639) 2020-11-25 20:03:56 +01:00
Paulus Schoutsen 1de2554f70
Tweak template digit detection (#43621) 2020-11-25 16:10:33 +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 43ba053030
Add support for checking minimum HA version (#43350) 2020-11-20 15:24:42 +01:00
Paulus Schoutsen 390668e192
Check config to use config platforms (#43407) 2020-11-19 22:05:36 +01:00
Bram Kragten 5dcbb634f6
Fix selector to return the selector type (#43395) 2020-11-19 16:48:43 +01:00
Paulus Schoutsen bae026a6fe
Add support for selectors in services.yaml (#43162)
* Add support for selectors in services.yaml

* Add base schema validation
2020-11-13 22:53:55 +01:00
Paulus Schoutsen 0a717f313e
Improve entity domain validator (#43164) 2020-11-13 13:31:43 +01:00
Paulus Schoutsen 8dbd54bed1
Disable parsing scientific/complex number notation in template type (#43170) 2020-11-13 13:22:29 +01:00
Paulus Schoutsen 560afc31ad
Use internal url for Squeezebox if possible (#43089) 2020-11-11 14:49:08 +01:00
J. Nick Koston 94bf55e29b
Limit concurrency of async_get_integration to avoid creating extra threads (#43085)
* Limit concurrency of async_get_integration to avoid creating extra threads

Since async_get_integration is waiting on the disk most of the time
it would end up creating many new threads because the disk could
not deliver the data in time.

* pylint
2020-11-10 21:34:54 -10:00
Paulus Schoutsen 7745408440
System health improvement (#43066) 2020-11-10 23:56:50 +01:00
Erik Montnemery 8a7febcfbe
Improve restore of deleted devices (#42703)
* Improve restore of deleted devices

* Simplify
2020-11-10 22:14:39 +01:00
J. Nick Koston c7f35b20fb
Make all translations cacheable (#42892) 2020-11-09 22:36:45 +01:00
Paulus Schoutsen aec191b558
Support datetime sensor in time trigger (#42899) 2020-11-09 14:50:54 +01:00
J. Nick Koston b47a5449e3
Ensure storage task loads are always garbage collected (#42917) 2020-11-07 06:54:56 -10:00
J. Nick Koston 3ec7258c21
Ensure instances of async_add_entities can be garbage collected (#42919) 2020-11-07 06:54:20 -10:00
Anders Melchiorsen 650c57db5b
Fix async_track_utc_time_change firing too early (#42176) 2020-11-05 16:34:56 +01:00
Tom Parker-Shemilt b1ed5a3e79
Fix circular import of config_validation and template (#41802) 2020-11-04 19:06:19 -10: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 1844e30858
Add support for manual updating a data coordinator (#42746) 2020-11-02 09:54:08 +01:00
springstan 92379ad8d2
Use list literal without using dict.keys() (#42573) 2020-10-30 09:19:13 -05:00
J. Nick Koston df552f08c3
Purge unused constants from template helper (#42618) 2020-10-30 09:29:12 +01:00
J. Nick Koston 2bbd2a6e70
Reduce complexity of storage writes (#42576)
* Reduce complexity of storage writes

* add test

* stop hass

* workaround bad test
2020-10-29 22:35:51 -05:00
J. Nick Koston 7f1683c731
Remove legacy template extract_entities (#42601) 2020-10-30 00:06:08 +01:00
J. Nick Koston c8f00a7b38
Gather all collection listeners and changes at the same time (#42497) 2020-10-29 10:06:55 +01:00
springstan a967f689c7
Remove unnecessary instances of dict.keys() (#42518) 2020-10-28 20:43:48 +01:00
J. Nick Koston 94219c2266
Ensure the oauth2 token is refreshed before it is expired (#42487)
The current implementation assumed clocks were in sync and did
not account for the time it took to refresh the token.  A 20
second buffer has been added to ensure that the token is refreshed
before it expires as OAuth2Session.valid_token would assume the
token was still good even though the remote would reject it
and would not refresh because it was not time yet.
2020-10-28 07:47:54 -05:00
Paulus Schoutsen e21e28e49f
Fix string representation of template result wrappers (#42494) 2020-10-28 09:11:08 +01:00
Paulus Schoutsen d4efa938dd
Improve mqtt test (#42490) 2020-10-27 23:22:59 +01:00
Paulus Schoutsen 711b7d4605
Make result wrappers more robust (#42488) 2020-10-27 22:51:58 +01:00
J. Nick Koston 5ca4b4cd0f
Set the translations cache under the lock (#42470) 2020-10-27 22:02:38 +01:00
Franck Nijhof 45aba9bdf2
Allow skip parsing template result (#42401) 2020-10-26 16:01:09 +01:00
Paulus Schoutsen bba770b411
Fix CI (#42397) 2020-10-26 13:36:03 +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
J. Nick Koston ce2c388c09
Ensure config entry platforms are excluded from reload (#42367) 2020-10-25 23:53:31 +01:00
J. Nick Koston 6822190772
Fix unmocked https in the test suite (#42316) 2020-10-25 07:16:23 -05:00
Robert Svensson e06c8009e1
Add area id to entity registry (#42221)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-24 21:25:28 +02:00
Anders Melchiorsen cb0c937b3e
Refresh now() templates on second=0 (#42225) 2020-10-23 00:11:02 +02:00
J. Nick Koston 4a0d18ccd8
Avoid overloading the executor with service.yaml loads (#42172) 2020-10-21 22:24:50 +02:00
J. Nick Koston df2ede6522
Fix state overwrite race condition where two platforms request the same entity_id (#42151)
* Fix state overwrite race condition where two platforms request the same entity id

* fix test

* create reservations instead

* revert

* cannot use __slots__ because we patch async_all
2020-10-21 17:01:51 +02:00
J. Nick Koston 31c21126a8
Implement time tracking in templates (#41147)
Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2020-10-19 11:02:43 +02:00
J. Nick Koston 77b95ae8a1
Reduce domain states rate limit to 1 per second (#42004) 2020-10-19 10:18:25 +02:00
J. Nick Koston 3a9b2392f8
Suppress domain and all listeners during template rate limit (#42005) 2020-10-19 10:17:51 +02:00
Paulus Schoutsen 6ab9b7355f
Add tests for singleton decorator (#42055) 2020-10-18 22:41:22 +02:00
Philip Allgaier dde6305549
Cleanup unused loggers (components N-Z + tests) (#41982) 2020-10-16 21:24:08 -05:00
J. Nick Koston 21cc23244d
Improve template ratelimit performance (#41741) 2020-10-15 12:02:05 +02:00
J. Nick Koston 53a1d92f2b
Permit event trackers to accept an empty list of entities or domains (#41857) 2020-10-15 09:26:51 +02:00
J. Nick Koston 1bcedd15b3
Update sun listeners to use HassJob (#41695)
Avoids checking the callable type every time sun events trigger
2020-10-13 21:37:10 +02:00
Erik Montnemery 12a6d10168
Log exceptions in EntityPlatform.async_add_entities (#41730)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-13 15:35:27 +02:00
Ville Skyttä f28c3273c2
Upgrade mypy to 0.790 (#41595) 2020-10-12 19:17:30 -05:00
J. Nick Koston b897ca7260
Ensure all template errors are caught and the websocket api reports them (#41719) 2020-10-12 16:38:24 +02: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
J. Nick Koston 852d1b2e67
Update discovery to use HassJob (#41511)
Predetermine the listener types for discovery
2020-10-09 09:35:28 +02:00
J. Nick Koston 3a863c4a0f
Fully convert async_track_time_interval to use HassJob (#41513)
The callback type for interval_listener was being determined
each time the interval hit.

This was missed in the original conversion.
2020-10-09 09:35:09 +02:00
J. Nick Koston 5ebf5996f1
Predetermine listener type for script change listeners (#41510) 2020-10-09 08:41:12 +02:00
J. Nick Koston 0b3bea0282
Use async_add_hass_job for debouncer (#41449) 2020-10-09 08:40:36 +02:00
Erik Montnemery 343e5d64b8
Add MQTT integration discovery (#41332)
* Add MQTT integration discovery

* Add script/hassfest/mqtt.py

* Unsubscribe if config entry exists

* Add homeassistant/generated/mqtt.py

* Fix bad loop

* Improve tests

* Improve tests

* Apply suggestions from code review

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>

* Prevent initiating multiple config flows

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
2020-10-07 18:30:51 +02:00
J. Nick Koston 9e1461da62
Determine how to run listeners at setup time instead of execution time (#41304) 2020-10-07 16:51:50 +02:00
J. Nick Koston 8d5c124deb
Improve performance of generating non-cryptographically secure uuids (#41314) 2020-10-07 16:37:01 +02:00
Franck Nijhof ee914366a8
Add native Python types support to templates (#41227)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-10-07 00:05:52 +02:00
J. Nick Koston 2fabd4edb8
Prevent collecting states already referenced by domain or all (#41308)
The template engine would collect all the states in
a domain or all states while iterating even though
they were already included in all or the domain

This lead to the rate limit not being applied to
templates that iterated all states that also
accessed a collectable property because the engine
incorrectly believed they were specifically
referenced.
2020-10-06 07:25:05 +02:00
J. Nick Koston f50976a0b3
Switch to asyncio.wait for slow update warning implementation (#41184) 2020-10-05 15:28:15 +02:00
Paulus Schoutsen 8ae3f575dd
Add extended validation for script repeat/choose (#41265) 2020-10-05 14:03:48 +02:00
Paulus Schoutsen fe2c16dc29
Allow any value when triggering on state attribute (#41261) 2020-10-05 12:53:12 +02:00
J. Nick Koston 51da605b9f
Remove manual rate_limit control directive from templates (#41225)
Increase default rate limit for all states and entire
domain states to one minute

Ensure specifically referenced entities are excluded from
the rate limit
2020-10-04 22:40:04 +02:00
Franck Nijhof 38d132addd
Fix referenced entity extraction when service call entity contains a template (#41107) 2020-10-03 20:55:59 +02:00
springstan a2c3c33b22
Use core GitHub URL in all files (#41089) 2020-10-03 00:04:11 +02:00
J. Nick Koston ab17b4ab70
Simplify template tracking and make it easier to follow (#41030) 2020-10-02 07:27:39 -05:00
Paulus Schoutsen 22b4ad6308
Allow processing data in CoordinatorEntity before writing state (#40926) 2020-10-02 09:16:37 +02:00
J. Nick Koston b45215f1d2
Implement template rate_limit directive (#40667) 2020-10-01 21:39:44 +02:00
springstan c7ebfdb403
Use single_instance_allowed for webhook config flows (#40965) 2020-10-01 20:44:13 +02:00
J. Nick Koston 7285c7806f
Seperate state change tracking from async_track_template_result into async_track_state_change_filtered (#40803) 2020-10-01 10:19:20 +02:00
J. Nick Koston 205cf57a77
Code cleanups for async_track_template_result (#40737) 2020-09-30 13:00:21 +02:00
J. Nick Koston e564af0b5b
Improve performance of accessing template state (#40323)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-28 10:35:12 -05:00
J. Nick Koston e08ee282ab
Abort execution of template renders that overwhelm the system (#40647) 2020-09-28 14:43:22 +02:00
J. Nick Koston 57b7559832
Ensure all jinja2 errors are trapped and displayed in the developer tools (#40624)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-26 17:03:32 -05:00
J. Nick Koston 3261a904da
Reduce the number of template re-renders when we are only counting states (#40272) 2020-09-26 16:29:49 -05:00
J. Nick Koston 35533407fe
Improve performance of counting and iterating states in templates (#40250)
Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2020-09-26 11:36:47 -05:00
Franck Nijhof c64eec3238
Add bare hostname as valid known hostname in get_url helper (#40510) 2020-09-26 09:36:03 +02:00
Ville Skyttä 167490b71c
Complete helpers.service type hints (#40193)
* Complete helpers.service type hints

* Update homeassistant/helpers/service.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Handle None entity.supported_features
2020-09-20 12:03:58 +03:00
Philip Allgaier ddbcfe83dd
Catch TypeError in strptime() template helper (#40226) 2020-09-18 15:29:40 +02:00
J. Nick Koston e9abb357e4
Log template listeners when debug logging is on (#40180) 2020-09-17 14:45:30 -05:00
springstan db582bdc1b
Use http status constants more, add HTTP_ACCEPTED and HTTP_BAD_GATEWAY (#39993)
* Use http status codes and add HTTP_BAD_GATEWAY constant

* Address review comments:
 - using constants in tado integration
 - using constant in media_player init.py

* Add and use HTTP_ACCEPTED constant
2020-09-15 20:01:07 +03:00
J. Nick Koston 949bd8d738
Reduce listener cancelation code in template tracker (#40040) 2020-09-14 21:43:00 +02:00
Franck Nijhof cd26384634
Fix entity extraction from Template conditions (#40034) 2020-09-13 22:05:45 +02:00
J. Nick Koston ff4bb962c4
Cleanup and reduce duplicate code from recent template changes (#40012)
As a result of refactoring, there is duplicate code
we can now reduce.

Additionally `_wrap_state` can be removed because
it had unreachable checks for `None`
2020-09-13 09:21:11 -05:00
J. Nick Koston aaa8083d49
Change template loop detection strategy to allow self-referencing updates when there are multiple templates (#39943) 2020-09-12 14:20:21 +02:00
Jakob Schlyter 9b49ca3820
Add template filter timedelta_seconds to create a timedelta from seconds (#39608) 2020-09-11 15:07:31 -05:00
J. Nick Koston 741487a1fc
Return the listeners with the template result for the websocket api (#39925) 2020-09-11 13:18:40 -05: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
J. Nick Koston e208aac834
Add async_track_state_removed_domain to allow tracking when a state is removed from a domain (#39859)
when a state is removed from a domain
2020-09-11 13:03:31 +02:00
Franck Nijhof 101b5b3b35
Accept known hosts for get_url for OAuth (#39936) 2020-09-11 13:00:00 +02:00
Paulus Schoutsen 5117a16841
Extract variable rendering (#39934) 2020-09-11 12:24:16 +02:00
J. Nick Koston fd8a4182d9
Detect self-referencing loops in template entities and log a warning (#39897) 2020-09-10 20:50:11 +02:00
Paulus Schoutsen aa9dff572e
Add default variables to script helper (#39895) 2020-09-10 20:41:42 +02:00
Joakim Sørensen 0cce35b23e
Add exception for NoURLAvailableError in OAuth2FlowHandler (#39845)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-10 14:52:49 +02:00
J. Nick Koston 8adfcf23f0
Fix isy994 send_node_command (#39806) 2020-09-08 17:31:08 +02:00
Paulus Schoutsen 63aa46369b
Copy instead of deepcopy the variables in a wait for trigger (#39796) 2020-09-08 15:23:38 +02:00
Aidan Timson 6f43285a28
Force token expires_in to float (#39489) 2020-09-07 21:26:58 +02:00
J. Nick Koston 90d574e521
Ensure static templates are still called back on first refresh (#39753) 2020-09-07 17:19:39 +02:00
J. Nick Koston 2e6cd4f12b
Optimize template sandbox for Home Assistant (#39731) 2020-09-07 09:17:41 +02:00
Erik Montnemery 863b63d75e
Fix handling of device registry defaults (#39688) 2020-09-06 21:08:50 -05:00
Franck Nijhof 1ec3446c56
State condition can also accept an input_* Entity ID as state value (#39691) 2020-09-07 00:36:01 +02:00
J. Nick Koston 251d8919ea
Add domain filter support to async_all to match async_entity_ids (#39725)
This avoids copying all the states before applying
the filter
2020-09-06 23:20:32 +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
J. Nick Koston 35e84d0427
Add as_local convenience function to jinja templates (#39618) 2020-09-03 14:35:16 -05:00
J. Nick Koston 661b593db3
Support reloading the rest notify platform (#39527)
* Support reloading the rest notify platform

* update services.yaml

* fix conflict
2020-09-02 18:25:43 -05:00
J. Nick Koston a778690b64
Support reloading the group notify platform (#39511) 2020-09-03 00:12:07 +02:00
Phil Bruckner 4486251382
Add max_exceeded log level option to automations & scripts (#39448) 2020-09-02 11:05:14 +02:00
J. Nick Koston e55a014e94
Undecorate RenderInfo result property (#39108) 2020-09-02 10:35:15 +02:00
J. Nick Koston a77e09b2c2
Make async_track_template_result track multiple templates (#39371)
* Make async_track_template_result track multiple templates

Combine template entity updates to only write ha
state once per template group update

* Make async_track_template_result use dataclasses for input/output

* black versions

* naming
2020-08-31 19:07:40 -05:00
Paulus Schoutsen 190611a079
Detect comments in jinja templates (#39496) 2020-08-31 10:51:30 +02:00
J. Nick Koston 8b893173fd
Prevent CoordinatorEntity from requesting updates on disabled entities (#39452) 2020-08-30 12:10:22 -05:00
Paulus Schoutsen 5a7f1d62c1
CoordinatorEntity to call super added_to_hass (#39416) 2020-08-30 08:42:33 -05:00
J. Nick Koston f8712b0e00
Create a CoordinatorEntity class to avoid repating code in integrations (#39388) 2020-08-30 12:02:37 +02:00
Ville Skyttä 1bf2c4d976
Upgrade pylint to 2.6.0 (#39363) 2020-08-29 07:59:24 +02:00
Phil Bruckner b315df2118
Reduce automation state changes by using script helper's last_triggered attribute (#39323) 2020-08-28 14:51:15 -05:00
J. Nick Koston 414a59ae9f
Add the ability to reload homekit from yaml (#39326) 2020-08-28 16:46:45 +02:00
J. Nick Koston f8704a2dfc
Ensure we always fire time pattern changes after microsecond 0 (#39302) 2020-08-28 16:27:25 +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 1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
J. Nick Koston 715fe4eef8
Fix time pattern listener firing a few microseconds early (#39281) 2020-08-26 17:50:25 +02:00
J. Nick Koston 810df38f0d
Add the ability to reload light/cover groups from yaml (#39250)
* Add the ability to reload light/cover groups from yaml

Update previous usage to reduce code duplication.

* Fix conflict from rebase
2020-08-25 18:13:43 -05:00
J. Nick Koston c87e03ee6f
Ensure template tracking can recover after the template generates an exception (#39256) 2020-08-26 00:33:08 +02:00
J. Nick Koston 90842fcb84
Support reloading the universal platform (#39248) 2020-08-26 00:25:15 +02:00
J. Nick Koston 20398cc0a6
Subscribe to state change events only if the template has entities (#39188) 2020-08-26 00:20:04 +02:00
J. Nick Koston bee6d87e7a
Standardize uuid generation for events/storage/registry (#39184) 2020-08-24 17:21:30 +02:00