Commit Graph

224 Commits (50f64e053e6f4cf63a1dc283477764105e406dd4)

Author SHA1 Message Date
Erik Montnemery 426a620084
Remove deprecated white_value support from template light (#76923) 2022-08-17 07:53:56 -04:00
Kostas Chatzikokolakis 3f53ed5d5c
Add trigger/arm_custom_bypass to Template Alarm Control Panel (#74629) 2022-07-07 20:31:03 +02:00
mbo18 24d2d62121
Add vacation mode to Template Alarm Control Panel (#74261) 2022-06-30 12:22:03 -07:00
akloeckner aa314a0901
Add this variable to trigger-based templates (#72437)
add this variables to trigger-based templates

follow-up for https://github.com/home-assistant/core/issues/70359
2022-06-27 08:59:29 +02:00
Erik Montnemery 4885331509
Fail template functions when no default specified (#71687) 2022-05-13 09:46:49 -07:00
Erik Montnemery 83080dbba8
Support this variable in template cover actions (#71793) 2022-05-13 09:34:00 -07:00
Erik Montnemery a17fa6d6d5
Support this variable in template fan actions (#71795) 2022-05-13 09:33:44 -07:00
Erik Montnemery 8b412acc98
Support this variable in template lock actions (#71796) 2022-05-13 09:33:25 -07:00
Erik Montnemery 66ec4564f4
Support this variable in template number actions (#71797) 2022-05-13 09:33:00 -07:00
Erik Montnemery adde9130a1
Support this variable in template select actions (#71798) 2022-05-13 09:32:45 -07:00
Erik Montnemery 6f7a465347
Support this variable in template vacuum actions (#71800) 2022-05-13 09:32:19 -07:00
Erik Montnemery 9eca91afc9
Support this variable in template light actions (#71805) 2022-05-13 09:31:37 -07:00
Erik Montnemery 042321be60
Support this variable in template button actions (#71792) 2022-05-13 17:28:36 +02:00
Erik Montnemery 184421dae6
Support this variable in template switch actions (#71799) 2022-05-13 16:44:27 +02:00
Erik Montnemery 6cff2f8571
Tweak template light tests (#71729) 2022-05-13 12:22:34 +02:00
Erik Montnemery dba2f5ab1c
Support this variable in template alarm actions (#71744) 2022-05-13 12:17:40 +02:00
Erik Montnemery 3332c853c4
Remove prints from template tests (#71746) 2022-05-12 18:34:26 +02:00
Erik Montnemery 11cc1feb85
Tweak template switch tests (#71738) 2022-05-12 17:08:21 +02:00
Erik Montnemery 35e4f11e0b
Tweak template lock tests (#71734) 2022-05-12 16:29:48 +02:00
Erik Montnemery b70e97e949
Remove unused calls fixture from template tests (#71735) 2022-05-12 16:04:01 +02:00
Erik Montnemery 1ef3800844
Tweak template cover tests (#71732) 2022-05-12 15:22:57 +02:00
Erik Montnemery 8f50a70ff5
Tweak template alarm tests (#71730) 2022-05-12 14:09:43 +02:00
Erik Montnemery fb6cdb5a38
Optimistically set hs_color in template light (#71629)
* Optimistically set hs_color in template light

* Update light.py

* Update test
2022-05-11 09:57:54 +02:00
Erik Montnemery 275a90a2e8
Check state attributes in template light tests (#71608) 2022-05-10 12:46:02 +02:00
Erik Montnemery eba125b093
Ensure 'this' variable is always defined for template entities (#70911) 2022-05-03 07:43:44 -07:00
Shay Levy 75debb7dec
Add entity id to template error logging (#71107)
* Add entity id to template error logging

* Increase coverage
2022-04-30 19:24:24 +03:00
epenet 7d2363ad22
Use light enums in tests (#70801) 2022-04-26 16:32:00 +02:00
Erik Montnemery 9bec649323
Restore state of trigger-based template sensor (#69344) 2022-04-21 09:32:18 -07:00
akloeckner d20a620590
Make `this` variable available in template entities (#65201)
* feat: make this variable available in template entities

This makes the variable `this` available in template entities.
It will simplify the use of self-referencing template entities.
Because, without this, we have to repeat the entity id every time.
If we can solve this without explicitly spelling the entity id,
code can be re-used much better.

As a side-effect, this will allow to use `variables`-like patterns,
where attributes can be used as variables to calculate subsequent attributes or state.

Example:
```yaml
template:
  sensor:
    - name: test
      state: "{{ this.attributes.test }}"
      # not: "{{ state_attr('sensor.test', 'test' }}"
      attributes:
        test: "{{ now() }}"
```

* expose entity_id instead of this

* add test

* Refactor to expose this variable

* Tweak repr dunder

Co-authored-by: Erik <erik@montnemery.com>
2022-04-20 15:30:17 +02:00
Erik Montnemery 7b5dd4a623
Restore attributes of template binary sensor (#69350) 2022-04-05 22:58:12 -07:00
epenet 831e2ace9c
Prettify yaml (tests) (#68891) 2022-03-30 11:26:08 +02:00
Franck Nijhof d645e80ccd
Clean up async_update_entity helper usage (#68641) 2022-03-25 15:22:58 -07:00
Paulus Schoutsen 8bbbd1947d
Raise if referenced entity does not support service (#68394) 2022-03-20 16:01:58 -07: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 7fc0ffd5c5
Restore state of trigger based template binary sensor (#67538) 2022-03-14 12:28:55 -07:00
J. Nick Koston 723dcbafca
Complete fan speed transition from #59781 (#67743) 2022-03-09 10:38:12 +01:00
Erik Montnemery 2007379701
Restore state of template binary sensor with on or off delay (#67546) 2022-03-03 15:27:39 -08:00
Erik Montnemery 5622e45980
Render icon and picture templates at setup (#64838) 2022-01-24 16:40:50 +01:00
Erik Montnemery 321f54494e
Teach TemplateEntity entity name (#62175)
* Teach TemplateEntity entity name

* Remove default name from number and select config schemas

* Re-add default name to number and select config schemas

* Set name to None if name template fails to render

* Update template button
2022-01-24 15:44:05 +01:00
Erik Montnemery 8f99cb51b5
Improve test coverage of template button (#63265) 2022-01-03 10:39:24 +01:00
Raman Gupta 6f8cd54ca1
Add button platform to template integration (#61908)
* Add button platform to template integration

* review comments

* add unique ID check
2022-01-03 10:03:37 +01:00
Amos Yuen 45ab9a3e33
Init template trigger binary sensor to None instead of False (#62769) 2021-12-27 20:52:26 +01:00
Franck Nijhof 60b2cdd069
Allow binary sensor state to be None (#60193) 2021-12-22 12:24:29 +01:00
Erik Montnemery 4353b1e62c
Improve tests for template binary sensor (#62103) 2021-12-16 21:31:37 +01:00
Franck Nijhof 1ed490ce62
Fix date/datetime support for templates (#61088)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-12-09 11:43:48 +01:00
J. Nick Koston 7fbe1dbc99
Remove legacy fan compatibility shim (#59781) 2021-12-03 21:57:46 -08:00
Erik Montnemery acf58111c6
Correct initial update of async_track_template_result (#59705) 2021-11-15 13:00:46 +01:00
Paulus Schoutsen 31153ac155
Move fixtures part 1 (#58902) 2021-11-01 20:47:05 -07:00
Franck Nijhof 65b19da3ff
Refactor input_select (#53334) 2021-10-25 20:38:06 -07:00
Erik Montnemery c1d671b817
Fix template sensor when name template doesn't render (#58088) 2021-10-20 14:53:06 -07:00
Jan Bouwhuis e2303dc713
bitwise and for test supported_features (#58097) 2021-10-20 15:31:23 +02:00
Jan Bouwhuis 62b7453719
Fix supported_features behaviour for fan platform (#58065) 2021-10-20 13:06:06 +02:00
Franck Nijhof 13db867c1d
Move attribution attribute to Entity base class (#57492) 2021-10-11 23:15:32 +02:00
Jeff Irion 9dfb684002
Enable template icons for template selects (#57092)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-10-07 15:38:02 +02:00
Paulus Schoutsen a4d9019ffc
Refactor persistent notification to no longer route all data via a service (#57157)
* Convert persistent notification tests to async

* Create/dismiss persistent notifications in exposed functions, not service calls

* Fix notify persistent_notification

* Remove setting up persistent_notification

* Drop more setups

* Empty methods

* Undeprecate sync methods because too big task

* Fix setup clearing notifications

* Fix a bunch of tests

* Fix more tests

* Uno mas

* Test persistent notification events

* Clean up stale comment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-10-07 12:58:00 +02:00
Jeff Irion 15a8f6741b
Enable template icons for template numbers (#56154) 2021-10-01 09:35:44 -07:00
avee87 daebc34f4d
Add code_format to template alarm (#56700)
* Added code_format to template alarm

* review comment

* review comment

* use constant

* back to enum

* none -> no_code
2021-09-29 16:59:46 +02:00
jan iversen c4195c547c
Update template/test_init.py to use pytest (#56336) 2021-09-17 15:13:17 -07:00
jan iversen 70eb519f76
Update template/test_light.py to use pytest (#56300) 2021-09-16 11:05:00 -07:00
jan iversen 692f611109
Update template/test_fan.py to use pytest (#56215) 2021-09-14 13:51:46 -07:00
jan iversen 96a9af8cc4
Update template/test_weather.py to use pytest (#56223) 2021-09-14 13:06:55 -07:00
jan iversen 4b2ff0a0ba
Update template/alarm_control_panel.py to use pytest (#56229) 2021-09-14 13:06:29 -07:00
jan iversen 990d474d02
use fixtures. (#56130) 2021-09-12 15:08:46 -07:00
jan iversen cb8c0cb123
Update template/test_lock.py to use pytest (#56102) 2021-09-11 11:48:25 -07:00
jan iversen ac1251c52b
Update template/test_trigger.py to use pytest (#55950) 2021-09-10 09:55:51 -07:00
Raman Gupta 37d75e8a03
Allow multiple template.select platform entries (#55908) 2021-09-07 14:50:07 -07:00
jan iversen 6348bf70ac
Add caplog setup fixture. (#55714) 2021-09-04 07:09:55 -07:00
jan iversen 7aa454231f
Update template/test_sensor.py to use pytest (#55288) 2021-09-03 22:56:12 -07:00
jan iversen a756308e79
Update template/test_binary_sensor.py to use pytest (#55220) 2021-09-03 15:43:07 -07:00
Paulus Schoutsen 0c2772e0be
Fix template sensor availability (#55635) 2021-09-03 09:02:45 +02:00
Raman Gupta e9625e4b7a
Add number platform to template integration (#54789) 2021-08-25 11:34:20 -07:00
Raman Gupta 8407ad01d4
Add select platform to template integration (#54835) 2021-08-25 11:21:24 -07:00
jan iversen de7352dbde
Convert template/vacuum to pytest with fixtures (#54841) 2021-08-24 14:11:40 +02:00
J. Nick Koston ee242764a1
Update template lock to support locking, unlocking, jammed (#52817) 2021-07-20 21:50:21 -07:00
Erik Montnemery 2097ab76f5
Allow combining value_template and position_template for template cover (#52383) 2021-07-01 14:09:48 +02:00
Paulus Schoutsen cc00617cd5
Allow defining state class for template sensors (#52130) 2021-06-23 14:37:04 -07:00
Franck Nijhof c5383219f1
Remove stale debug statements from tests (#51059) 2021-05-25 11:52:20 +02:00
jacekpaszkowski 85495c08b0
Add support for effects, transition/brightness parameters to template light, min_mireds and max_mireds templates (#43850)
* Add support for effects, transition/brightness parameters to template light, min_mireds and max_mireds templates

* code fixes

* min_mireds, max_mireds fixes

* test fixes

* more fixes

* format fix

* style fix

* _update_effect_list change

* style fix

* Fixes after review

* additional fixes

* duplicated lines removed

* fixes after CI run

* test fixes

* code and test fixes

* supports transition change, added test cases
2021-05-24 13:31:57 +02:00
Paulus Schoutsen f5e4b13814
Add auto_off to binary sensor template entity (#49615) 2021-04-29 09:25:34 -07:00
Paulus Schoutsen dcee78b747
Template sensor/binary sensors without trigger now respect section unique id (#49613) 2021-04-24 07:14:31 -07:00
Paulus Schoutsen 1016d4ea28
Support trigger-based template binary sensors (#49504)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-22 14:54:28 -07:00
Paulus Schoutsen beea2dd35f
Internally work with modern config syntax for template binary sensor platform config (#48981) 2021-04-13 07:58:44 -07:00
Paulus Schoutsen 65126cec3e
Allow top level non-trigger template entities (#48976) 2021-04-12 17:15:50 -07:00
Paulus Schoutsen 2d5edeb1ef
Set hass when adding template attribute (#49094) 2021-04-11 22:49:09 -07:00
Brandon Rothweiler 52e8c7166b
Allow template covers to have opening and closing states (#47925) 2021-04-09 11:36:02 +02:00
Paulus Schoutsen 09635678bc
Allow reloading top-level template entities (#48733) 2021-04-06 12:10:39 -07:00
Paulus Schoutsen e882460933
Support modern config for the trigger based template entity (#48635) 2021-04-02 16:57:16 -07:00
Paulus Schoutsen 212d9aa748
Fix trigger template entities without a unique ID (#48631) 2021-04-02 10:24:38 -07:00
Erik Montnemery b26779a27a
Add id to automation triggers (#48464) 2021-03-31 14:56:04 +02:00
Paulus Schoutsen 022f56f54d
Allow specifying template entities based on triggers (#48169)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-29 09:57:51 -07:00
J. Nick Koston 564688af25
Fix template fan default speed count (#48389)
* Fix template fan default speed count

The default speed count was defaulting to 3 when percentage
was implemented instead of the documented value of 100

* Increase coverage

* remove unreachable code
2021-03-29 09:33:56 +02:00
Christian Soltenborn 955804bf58
Add template support for remaining attributes of weather entity (#47736)
* added template support for remaining attributes of weather entity

* wind bearing is now angle (number)
2021-03-27 18:53:35 +00:00
Paulus Schoutsen 3dec394cad
Migrate template to register reload service on async_setup (#48273) 2021-03-23 20:35:15 -07:00
Franck Nijhof 5a2b5fe7c5
Yoda assertion style removed is (#48142) 2021-03-20 13:55:10 +01:00
sycx2 009e44ed9b
Rewrite tests for Template Light (#41163) 2021-03-17 11:30:44 +01:00
J. Nick Koston 53952b9662
Ensure template fan value_template always determines on state (#47598) 2021-03-08 18:34:34 +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
Erik Montnemery dd9e926689
Pass variables to initial evaluation of template trigger (#47236)
* Pass variables to initial evaluation of template trigger

* Add test

* Clarify test
2021-03-01 23:34:26 +01:00
Diogo Gomes 0e44d61225
Add weather platform to template domain (#45031)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-21 18:08:00 -10:00
J. Nick Koston f2b303d509
Implement percentage step sizes for fans (#46512)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-18 21:05:09 -10:00