Commit Graph

252 Commits

Author SHA1 Message Date
Erik Montnemery
6979cd95b0 Add suggested_unit_of_measurement attribute to sensors (#80638)
* Add suggested_unit_of_measurement attribute to sensors

* Lazy calculation of initial entity options

* Add type alias for entity options

* Small tweak

* Add tests

* Store suggested_unit_of_measurement in its own option key

* Adapt to renaming of IMPERIAL_SYSTEM

* Fix rebase mistakes

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-24 16:08:02 +02:00
epenet
8a1cc05e0c Enforce kwargs in unit system initialisation (#80620)
* Enforce kwargs in unit system initialisation

* Fix tests

* Sort kwargs in unit_system
2022-10-20 10:43:32 +02:00
ehendrix23
47b40e1e61 Add optional default value to average template function/filter (#77499)
* Return None on empty list

* Updated to use default value

* Update comment.
2022-10-03 10:07:19 +02:00
Rami Mosleh
e7764b8bf1 Add ConfigEntry template function (#78030)
* Add ConfigEntry template function

* Remove looking up entry_id by entry title
2022-09-29 12:41:59 +02:00
Joakim Sørensen
8dbe293ae2 Add version to templates (#78484) 2022-09-15 15:01:40 +02:00
Erik Montnemery
1bc8770b51 Remove area_id from entity_registry.async_get_or_create (#77700)
* Remove area_id from entity_registry.async_get_or_create

* Adjust tests

* Fix lying comment in test
2022-09-02 13:31:05 +02:00
[pʲɵs]
0e9164b082 Add bool template filter and function (#74068)
Co-authored-by: Erik <erik@montnemery.com>
2022-06-28 16:22:09 +02:00
J. Nick Koston
949922ef2c Fix exception when as_dict is called on a TemplateState (#73984) 2022-06-25 09:19:11 -07:00
J. Nick Koston
32e0d9f47c Speed up generation of template states (#73728)
* Speed up generation of template states

* tweak

* cache

* cache hash

* weaken

* Revert "weaken"

This reverts commit 4856f50080.

* lower cache size as it tends to be the same ones over and over

* lower cache size as it tends to be the same ones over and over

* lower cache size as it tends to be the same ones over and over

* cover

* Update homeassistant/helpers/template.py

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

* id reuse is possible

* account for iterting all sensors

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-06-24 17:28:26 -04:00
Raphaël Beamonte
88129dbe91 Allow log template function to return specified default on math domain error (#72960)
Fix regression for logarithm template
2022-06-03 15:27:10 +02:00
Kevin Stillhammer
90e5d69184 Add template as_timedelta (#71801) 2022-05-23 19:32:22 +02:00
Erik Montnemery
4885331509 Fail template functions when no default specified (#71687) 2022-05-13 09:46:49 -07:00
Franck Nijhof
6524dd8fb7 Add support for expanding zones in templates (#69793) 2022-04-11 12:59:45 +02:00
Paulus Schoutsen
206ea9d237 Expand group lights/covers etc (#68875)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-03-30 10:11:09 +02:00
Erik Montnemery
cf4033b1bc Simplify time zone setting in tests (#68330)
* Simplify timezone setting in tests

* Fix typo

* Adjust caldav tests

* Adjust input_datetime tests

* Adjust time_date tests

* Adjust tod tests

* Adjust helper tests

* Adjust recorder tests

* Adjust risco tests

* Adjust aemet tests

* Adjust flux tests

* Adjust forecast_solar tests

* Revert unnecessary change in forecast_solar test

* Adjust climacell tests

* Adjust google tests

* Adjust sensor tests

* Adjust sonarr tests

* Adjust template tests

* Adjust zodiac tests

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-03-20 10:25:15 +01:00
Erik Montnemery
dccc4eba76 Remove artifacts from black formatting (#65113)
* Remove artifacts from black formatting

* Tweak
2022-01-28 17:00:01 +02:00
Petro31
9c6c13a55c Add is_number as a test for use in select, selectattr, reject, and re… (#63732) 2022-01-10 13:00:43 +01:00
avee87
04606f05a4 Use built-in Jinja min and max filters in templates (#60327)
* Use built-in Jinja min and max filters in templates

* use built-in filter for global

* lint

* less generic name

* more tests

* even more tests
2022-01-04 10:07:23 +01:00
Franck Nijhof
07e034c1c6 Add iif (immediate if) template function/filter (#61428) 2021-12-21 17:25:07 +01:00
Brynley McDonald
26dc526234 Add slugify as a template filter (#58724) 2021-12-21 11:35:54 +01:00
Jan Bouwhuis
3188a364e2 Add template filters pack and unpack (#60836)
* add pack and unpack template filters

* Add unpack test with offset

* use unpack_from

* Simplify unpack_from statement
2021-12-03 08:58:15 +01:00
Erik Montnemery
9f4a99fe81 Revert "Add bytes support for bitwise template operations" (#60854) 2021-12-03 08:50:29 +01:00
Erik Montnemery
a07f75c6b0 Revert "Allow template int filter to render from a bytes based integer" (#60855) 2021-12-02 14:37:19 -08:00
Jan Bouwhuis
f07e676c82 Allow template int filter to render from a bytes based integer (#60452)
* Allow template int to render bytes

* re-triggering tests

* Add warning when base !=10 and rendering bytes

* re-trigger tests

* Re-trigger tests

* remove period

* Update homeassistant/helpers/template.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Fix logger syntax

* remove parentheses

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-11-30 15:01:43 +01:00
Erik Montnemery
7b57033265 Correct today_at template function / filter (#60291)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-11-24 15:51:43 +01:00
Jan Bouwhuis
d33457b7bc Add bytes support for bitwise template operations (#60211)
* Add bytes support for bitwise template operations

* spelling

* Update bitwise tests

* remove try block for bytes conversion

* do not accept empty `bytes` object
2021-11-24 15:15:27 +01:00
Jan Bouwhuis
d41d223033 Add UNIX timestamp detection to as_datetime template filter (#60126) 2021-11-24 09:51:56 +01:00
Jan Bouwhuis
fa0d3a6c48 Change output template filters timestamp_local and timestamp_utc to isoformat (#60269) 2021-11-24 09:49:03 +01:00
Marcel van der Veldt
902da4daf8 Add integration_entities template helper (#59841) 2021-11-20 14:43:31 -08:00
rianadon
ecf00a1eae Add accumulated precipitation to unit system (#59657)
* Add accumulated precipitation to unit system

* Fix template test

* Fix typo of testing pressure instead of precipitation

* Add extra arguments so unit system test passes
2021-11-19 09:18:44 +01:00
rianadon
7cc7bbb76d Add speed to units system (#58437)
* Use speed units in unit system

* Use more obvious conversion factor for unit system speed test

* Use wind_speed instead of speed, use m/s
2021-11-18 16:08:42 +01:00
Chris Browet
4224cb043b Allow overriding ensure_ascii in the "to_json" template filter (#54527)
* FIX: "ensureascii" to to_json

* fixup: parameter name
2021-11-08 15:49:10 +01:00
Franck Nijhof
bf693e85b1 Revert "Add warning when entity used in template doesn't exist" (#58527) 2021-10-27 13:53:26 +02:00
Petro31
11034a93c3 Add average template function and filter (#57727) 2021-10-26 22:43:45 +02:00
avee87
d9b87ee5c5 Add warning when entity used in template doesn't exist (#57316) 2021-10-22 20:09:54 +02:00
Raman Gupta
e5255cf21f Add area_entities and area_devices template functions/filters (#55228) 2021-10-22 19:59:01 +02:00
Petro31
806dc51125 Add datetime_today template method (#57435) 2021-10-22 19:51:22 +02:00
Erik Montnemery
df1154395e Revert "Swap order of int template helper kwargs (#57729)" (#58015)
This reverts commit f8dbcb953c.
2021-10-21 15:03:33 +02:00
Petro31
f8dbcb953c Swap order of int template helper kwargs (#57729)
* swap order of int kwargs

* Add binary and kwargless base tests
2021-10-15 13:04:26 +02:00
Erik Montnemery
7acb1b6eb9 Override the jinja2 int filter (#57470) 2021-10-12 00:12:42 +02:00
Erik Montnemery
ef13e473cf Warn if template functions fail and no default is specified (#56453)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-29 20:16:02 +02:00
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 Koston
bf2d40adfe Migrate from pytz to python-dateutil (#49643)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-07 22:46:26 -07:00