Commit graph

336 commits

Author SHA1 Message Date
Marc Mueller
dd22ee3dac
Improve annotation styling (#118032) 2024-05-24 15:05:53 +02:00
Sid
ac54cdcdb4
Enable Ruff RUF010 (#115371)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-08 23:54:49 +02:00
Sid
2cc916db6d
Replace pylint broad-except with Ruff BLE001 (#116250) 2024-05-07 14:00:27 +02:00
Sid
b456d97e65
Replace pylint protected-access with Ruff SLF001 (#115735) 2024-05-06 20:33:26 +02:00
J. Nick Koston
ca5ed274cb
Deprecate calling async_listen and async_listen_once with run_immediately (#115169) 2024-04-08 10:07:54 -10:00
Sid
0d66d298ec
Enable Ruff RET504 (#114528)
* Enable Ruff RET504

* fix test

* Use noqa instead of cast

* fix sonos RET504

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-06 11:07:37 +02:00
Marc Mueller
0f03079065
Update import for EventStateChangedData [i-z] (#114900) 2024-04-04 11:48:29 -10:00
Marc Mueller
816ce116bf
Remove unnecessary functools.cached_property backport (#114239) 2024-04-04 11:24:26 +02:00
J. Nick Koston
1462c99bc0
Load template platforms with eager_start (#114701)
* Load template platforms with eager_start

These can all be loaded synchronously

* missed some
2024-04-04 09:33:10 +02:00
G Johansson
65230908c6
Remove deprecated forecast attribute from WeatherEntity (#110761)
* Remove deprecated forecast attribute from WeatherEntity

* Fix some

* Ruff

* ipma

* buienradar

* some more

* Some more

* More and more

* strings

* attr_forecast

* Fix nws

* Fix

* remove from coverage

* Remove recorder test

* Review comments
2024-03-27 16:51:29 +01:00
Joost Lekkerkerker
6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
J. Nick Koston
2f88460b68
Use async api in template weather to create tasks (#113784) 2024-03-19 08:43:14 +01:00
Erik Montnemery
d0352ed91d
Fix missing context when running script from template entity (#113523)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 12:37:24 -10:00
J. Nick Koston
51f871227e
Attach template triggers at start eagerly (#113120)
This method calls async_initialize_triggers which is likely to never
suspend and the attach can avoid being scheduled on the event loop
2024-03-11 21:34:32 -04:00
Marc Mueller
3db28d46b2
Replace EventType with Event [t-z] (#112742) 2024-03-08 19:37:26 +01:00
Marc Mueller
2c06d4fcb9
Add empty line after module docstring (2) [components] (#112736) 2024-03-08 19:15:59 +01:00
Paulus Schoutsen
f416d67d21
Remove built-in support for import_executor in manifest (#112725) 2024-03-08 12:02:32 -05:00
Marc Mueller
062cc4bfce
Add empty line after module docstring [t-v] (#112705) 2024-03-08 10:35:23 -05:00
Joost Lekkerkerker
2c34c918fc
Add icon translations to Template (#112308) 2024-03-05 14:20:41 +01:00
J. Nick Koston
aaa2d8745f
Import template in the executor to avoid blocking the event loop (#112070)
Importing template has a very long dep tree
2024-03-02 21:59:34 -05:00
Chris Helming
8ff2a39238
Fix minor language issues in strings.json (#112006)
language fix: allow -> allows
2024-03-02 02:00:03 +01:00
J. Nick Koston
c4653be2fa
Make template trigger callbacks when nothing needs to be awaited (#110771)
async_initialize_triggers supports a coro or a callback, and in most
cases the user will not have configured a script so we can avoid
creating a task
2024-02-17 17:37:46 +01:00
karwosts
b471b9926d
Missing template helper translation keys (#109347) 2024-02-02 08:58:03 +01:00
RoboMagus
c54b65fdf0
Add 'last_reset' for 'total' state_class template sensor (#100806)
* Add last_reset to trigger based template sensors

* Add last_reset to state based template sensors

* CI check fixes

* Add pytests

* Add test cases for last_reset datetime parsing

* Add test for static last_reset value

* Fix ruff-format
2024-01-25 11:12:03 +01:00
J. Nick Koston
1cdfb06d77
Add cached_property to State.name (#108011) 2024-01-14 11:50:40 +01:00
J. Nick Koston
4b7a313ece
Use identity checks for CoreState (#107846)
Some of the checks used ==, and some used is. Switch
everything to is as its faster
2024-01-12 10:21:26 +01:00
Erik Montnemery
3a744d374b
Add support for caching entity properties (#100601) 2023-12-22 09:02:55 -10:00
Erik Montnemery
dd5a48996a
Keep capabilities up to date in the entity registry (#101748)
* Keep capabilities up to date in the entity registry

* Warn if entities update their capabilities very often

* Fix updating of device class

* Stop tracking capability updates once flooding is logged

* Only sync registry if state changed

* Improve test

* Revert "Only sync registry if state changed"

This reverts commit 1c52571596c06444df234d4b088242b494b630f2.

* Avoid calculating device class twice

* Address review comments

* Revert using dataclass

* Fix unintended revert

* Add helper method
2023-12-13 17:27:26 +01:00
Jan Bouwhuis
953a212dd6
Use ServiceValidationError for invalid fan preset_mode and move check to fan entity component (#104560)
* Use ServiceValidationError for fan preset_mode

* Use _valid_preset_mode_or_raise to raise

* Move preset_mode validation to entity component

* Fix bond fan and comments

* Fixes baf, fjaraskupan and template

* More integration adjustments

* Add custom components mock and test code

* Make NotValidPresetModeError subclass

* Update homeassistant/components/fan/strings.json

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

* Keep bond has_action validation

* Move demo test asserts outside context block

* Follow up comment

* Update homeassistant/components/fan/strings.json

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Fix demo tests

* Remove pylint disable

* Remove unreachable code

* Update homeassistant/components/fan/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Use NotValidPresetModeError, Final methods

* Address comments

* Correct docst

* Follow up comments

* Update homeassistant/components/fan/__init__.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-29 13:56:51 +01:00
Aarni Koskela
706add4a57
Switch formatting from black to ruff-format (#102893)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Jan Bouwhuis
9962301b42
Do not notify config errors during logging (#104466) 2023-11-24 21:34:09 +01:00
Jan Bouwhuis
af71c2bb45
Raise and suppress stack trace when reloading yaml fails (#102410)
* Allow async_integration_yaml_config to raise

* Docstr - split check

* Implement as wrapper, return dataclass

* Fix setup error handling

* Fix reload test mock

* Move log_messages to error handler

* Remove unreachable code

* Remove config test helper

* Refactor and ensure notifications during setup

* Remove redundat error, adjust tests notifications

* Fix patch

* Apply suggestions from code review

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

* Follow up comments

* Add call_back decorator

* Split long lines

* Update exception abbreviations

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-24 17:34:45 +01:00
Vaarlion
3929b0163c
Add RGB, RGBW and RGBWW capability to template.light (#86047)
* Add RGB, RGBW and RGBWW capability to template.light

Add the required unit test

Mute 'LightTemplate.async_turn_on' is too complex

Rename all HS color mode from a generic "Color" name to a specific "HS" name

* Bring back legacy "color" keyword

* Cleanup unrequested commented test

* Increase code coverage to 100%

* Remove confusing if that should never be false

* Apply suggestions from code review

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-22 08:15:26 +01:00
Erik Montnemery
5b37096b5f
Refactor config.async_log_exception (#104034)
* Refactor config.async_log_exception

* Improve test coverage

* Make functions public
2023-11-15 19:09:49 +01:00
Robert Resch
bb90c1f168
Fix multilevel reference translations (#102338) 2023-10-20 08:12:53 +02:00
Robert Resch
eab4c24f7f
Fix KeyError in derivative and integration (#102294) 2023-10-19 18:22:22 +02:00
Robert Resch
1a7601ebbe
Remove NONE_SENTINEL in favor of optional select in template (#101279) 2023-10-11 13:04:40 +02:00
G Johansson
43954d660b
Add trigger weather template (#100824)
* Add trigger weather template

* Add tests

* mod dataclass

* Remove legacy forecast

* Fix test failure

* sorting

* add hourly test

* Add tests

* Add and fix tests

* Improve tests

---------

Co-authored-by: Erik <erik@montnemery.com>
2023-09-27 10:11:57 +02:00
G Johansson
173b70c850
Fix weather template forecast attributes (#100748) 2023-09-23 13:30:11 +02:00
Erik Montnemery
d1afcd773f
Revert "Cache entity properties that are never expected to change in the base class" (#100422)
Revert "Cache entity properties that are never expected to change in the base class (#95315)"

This reverts commit 042776ebb8.
2023-09-15 11:25:24 +02:00
J. Nick Koston
042776ebb8
Cache entity properties that are never expected to change in the base class (#95315) 2023-09-14 17:48:48 -05:00
Jan Bouwhuis
0d33cba823
Use shorthand attrs in template integration (#100301) 2023-09-13 12:30:43 -05:00
Erik Montnemery
42046a3ce2
Fix TriggerEntity.async_added_to_hass (#100119) 2023-09-11 14:33:43 +02:00
Erik Montnemery
c9a6ea94a7
Send template render errors to template helper preview (#99716) 2023-09-06 16:07:05 +02:00
Erik Montnemery
e1ea53e72f
Correct state attributes in template helper preview (#99722) 2023-09-06 16:06:33 +02:00
Erik Montnemery
c376447ccd
Don't allow changing device class in template binary sensor options (#99720) 2023-09-06 15:59:30 +02:00
Erik Montnemery
cdca4591a4
Include template listener info in template preview (#99669) 2023-09-06 09:49:42 +02:00
Jan-Philipp Benecke
b28fda2433
Move template coordinator to its own file (#99419)
* Move template update coordinator to its own file

* Add coordinator.py to .coveragerc

* Remove coordinator.py to .coveragerc

* Apply suggestions from code review

* Update homeassistant/components/template/coordinator.py

* Copy over fixes from upstream

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-09-06 08:54:25 +02:00
G Johansson
47c20495bd
Fix not stripping no device class in template helper binary sensor (#99640)
Strip none template helper binary sensor
2023-09-04 22:46:19 +02:00
Erik Montnemery
7c595ee2da
Validate state in template helper preview (#99455)
* Validate state in template helper preview

* Deduplicate state validation
2023-09-04 14:10:43 +02:00