Commit Graph
111 Commits
Author SHA1 Message Date
Erik Montnemery 14a1bb423c Add is_number template filter and function (#56705) 2021-09-27 10:47:57 +02:00
Chris Browet 5a2bcd2763 ADD: generalize regex_findall (#54584) 2021-09-05 12:41:39 +02:00
Raman Gupta 4d98a7e156 Allow device_id template function to use device name as input (#55474) 2021-08-31 14:56:47 +02:00
Raman Gupta 1d1b5ab345 Fix area_id and area_name template functions (#55470) 2021-08-30 13:09:41 -07:00
Raman Gupta 2f7a7b0309 Add template functions to get area_id and area_name (#54248)
* Add template function to get area_id

* fix int bug

* Prefer area name lookup

* remove unnecessary checks

* fix import

* Add area_name function

* change behavior to fail in ambiguous scenarios

* Revert lotto winning exception checking

* review comments

* try except else
2021-08-25 15:16:51 -04:00
Raman Gupta 73bc0267e9 Add DeviceRegistry template functions (#53131) 2021-07-27 18:55:55 -04:00
Ville Skyttä 7d03b02192 Spelling fixes (#51642) 2021-06-11 13:35:03 +02:00
Franck Nijhof 4c51299dcc Add easy converting string timestamps/dates to datetime objects in templates (#51576) 2021-06-07 15:02:15 +02:00
J. Nick KostonandPaulus Schoutsen bf2d40adfe Migrate from pytz to python-dateutil (#49643)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-07 22:46:26 -07:00
Ville Skyttä 77d5244577 Use device registry CONNECTION_* constants (#49923) 2021-04-30 23:58:50 +02:00
Mike Degatano 236d274351 Add search and match as Jinja tests (#49229) 2021-04-15 20:13:27 +02:00
Franck Nijhof a610076001 Support min()/max() as template function (#48996) 2021-04-12 10:02:04 +02:00
Erik Montnemery 16196e2e16 Don't log template errors from developer tool (#48933) 2021-04-09 12:10:02 -07:00
Erik Montnemery 9f5db2ce3f Improve warnings on undefined template errors (#48713) 2021-04-06 12:11:42 -07:00
Erik Montnemery f8755a52c2 Warn on undefined variables in templates (#48140)
* Warn on undefined variables in templates

* Add test

* fix tests

* fix tests
2021-03-20 15:16:04 +01:00
Franck Nijhof 5a2b5fe7c5 Yoda assertion style removed is (#48142) 2021-03-20 13:55:10 +01:00
Erik Montnemery 54cf954353 Add device_entities template function/filter (#46406) 2021-02-19 21:50:59 -08:00
Franck Nijhof 65cf2fcb6f Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00
Paulus Schoutsen 1de2554f70 Tweak template digit detection (#43621) 2020-11-25 16:10:33 +01:00
Paulus Schoutsen 8dbd54bed1 Disable parsing scientific/complex number notation in template type (#43170) 2020-11-13 13:22:29 +01:00
J. Nick Koston 7f1683c731 Remove legacy template extract_entities (#42601) 2020-10-30 00:06:08 +01: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
Franck Nijhof 45aba9bdf2 Allow skip parsing template result (#42401) 2020-10-26 16:01:09 +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 KostonandAnders Melchiorsen 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 b897ca7260 Ensure all template errors are caught and the websocket api reports them (#41719) 2020-10-12 16:38:24 +02:00
Franck NijhofandPaulus Schoutsen 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 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
J. Nick Koston b45215f1d2 Implement template rate_limit directive (#40667) 2020-10-01 21:39:44 +02:00
J. Nick KostonandPaulus Schoutsen 9ccebdb8d5 Refactor group to extend domains that can be grouped (#40607)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-30 09:13:53 -05:00
J. Nick KostonandPaulus Schoutsen 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 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 KostonandAnders Melchiorsen 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
Ville Skyttä 5e90a4d000 Use more state attribute name constants (#40428) 2020-09-21 23:03:39 +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 fb31b04c08 Increase template test coverage. (#39908) 2020-09-10 20:43:45 +02:00
J. Nick Koston 5e83feeabf Increase test coverage for template sandbox (#39750) 2020-09-07 17:33:22 +02:00
J. Nick Koston a096c20930 Fix missing assert in template test (#39648) 2020-09-04 16:28:56 +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 e55a014e94 Undecorate RenderInfo result property (#39108) 2020-09-02 10:35:15 +02:00
Paulus Schoutsen 190611a079 Detect comments in jinja templates (#39496) 2020-08-31 10:51:30 +02:00
Franck Nijhof 1c2ebdf307 Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
J. Nick Koston c3ad493bb7 Report usage of extract_entities by custom components (#39185)
Block core usage usage of extract_entities

Suggest event.async_track_template_result instead.
2020-08-23 19:38:45 +02:00
7d0e356560 Add track_template_result method to events (#38802)
* Merge original changes from #23590

* guard

* adjust

* adjust

* adjust

* Update async_render_to_info for recent codebase changes

* no more protected access

* do not fire right away per review comments

* update test to not fire right away

* closer

* rework tests for non firing first

* augment coverage

* remove cruft

* test for complex listen add/remove

* update docs to match review feedback to not fire right away

* preserve existing behavior

* fix test

* Ensure listeners are cleaned up

* de-dupe and comment

* de-dupe and comment

* coverage

* test to login again if we go from exception to ok to exception

* Update homeassistant/core.py

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

* Update homeassistant/helpers/event.py

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

* rename _boolean_coerce to result_as_boolean and move it out of event

* additional coverage

* Add more tests (may still be able to trim this down)

Co-authored-by: Swamp-Ig <github@ninjateaparty.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-15 19:53:03 -05:00
J. Nick Koston ef8e74786f Support extracting entities by domain from templates (#38647) 2020-08-09 13:44:09 +02:00