90 Commits

Author SHA1 Message Date
Marc Mueller
816ce116bf
Remove unnecessary functools.cached_property backport (#114239) 2024-04-04 11:24:26 +02:00
Jan Bouwhuis
3dc8df2403
Get ServiceValidationError message from translation cache only (#113704)
* Get ServiceValidationError message from translation cache only

* Remove message for NotValidPresetModeError
2024-03-18 14:42:21 +01:00
Sid
82a60fe8ad
Enable Ruff RSE (#113695) 2024-03-18 00:40:38 +01:00
J. Nick Koston
b26928878f
Remove group integration platforms that use the default states (#113562)
Remove group integration platforms that use the default

There is no need to register platforms that use the defaults
as the group code already uses STATE_ON/STATE_OFF when there
are no on/off states in the GroupIntegrationRegistry
2024-03-15 20:51:21 -04:00
J. Nick Koston
c3b5e819c5
Fix group loading too late resulting in incorrect state (#113262) 2024-03-13 19:18:15 -10:00
Marc Mueller
0e3945ca6c
Add empty line after module docstring [d-f] (#112698) 2024-03-08 14:15:26 +01:00
Erik Montnemery
c805ea7b4f
Include deprecated constants in wildcard imports (#107114) 2024-01-05 11:46:45 +01:00
J. Nick Koston
3e7c44c612
Fan platform back-compat for custom components without FanEntityFeature (#106607) 2023-12-29 00:36:15 +01:00
J. Nick Koston
51a50fc134
Use faster contains check in fan (#106431) 2023-12-26 12:19:02 -10:00
J. Nick Koston
d83dafa14a
Add support for attribute caching to the fan platform (#106269) 2023-12-23 11:26:40 +01:00
Robert Resch
c9c072ff3e
Deprecate deprecated fan constants (#106111) 2023-12-20 17:54:43 +01:00
Erik Montnemery
104bcc64b7
Allow inheriting base component entity descriptions in frozen dataclasses (#105512)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-15 23:33:50 -10: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
Erik Montnemery
df73850f56
Move definition of attributes excluded from history to entity classes (#100430)
* Move definition of attributes excluded from history to entity classes

* Revert change which should be in a follow-up PR

* Fix sun unrecorded attributes

* Fix input_select unrecorded attributes
2023-09-21 15:02:47 +02:00
Franck Nijhof
b0cee0bc46
String formatting and max line length - Part 1 (#84390)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-12-22 10:12:50 +01:00
epenet
12cb17620e
Enforce FanEntityFeature (#82458)
* Enforce FanEntityFeature

* Adjust pylint
2022-11-22 07:13:54 +01:00
epenet
1b80c66195
Adjust type hints for FanEntityFeature (#82241)
* Adjust type hints for FanEntityFeature

* Adjust template default
2022-11-17 10:30:39 +01:00
epenet
a91abebea8
Use IntFlag for EntityFeature (#81903) 2022-11-16 12:43:17 +01:00
epenet
64988521bb
Make use of generic EntityComponent (part 2) (#78494) 2022-09-17 18:18:53 +02:00
epenet
754fe86dd9
Add fan to strict typing (#73820)
* Add fan to strict typing

* Adjust state_attributes

* Adjust capability_attributes

* Adjust is_on

* Adjust vallox component

* Revert "Adjust is_on"

This reverts commit 48d207f250f99d8126702342c05a6be6e877e4d5.

* Fix is_on property
2022-06-22 14:15:44 +02:00
Franck Nijhof
853923c30a
Add EntityFeature enum to Fan (#69091) 2022-04-01 20:53:38 +02:00
Marc Mueller
911b159281
Cleanup after pylint update (#68657) 2022-03-26 00:34:12 +01:00
J. Nick Koston
723dcbafca
Complete fan speed transition from #59781 (#67743) 2022-03-09 10:38:12 +01:00
J. Nick Koston
7fbe1dbc99
Remove legacy fan compatibility shim (#59781) 2021-12-03 21:57:46 -08:00
Michael
771922b871
Add support for property attribute shorthand in Fan entity (#59649) 2021-11-16 01:25:22 +01:00
Marc Mueller
2a8eaf0e0f
Use assignment expressions 06 (#57786) 2021-10-17 20:05:11 +02:00
Ville Skyttä
939fde0a50
ConfigType and async_setup/setup type hint improvements (#54739) 2021-08-18 13:22:05 +02:00
Franck Nijhof
0b44265232
Add description classes to entity components (#53521)
* Add description classes to entity components

* An -> A

* Add StateVacuumEntityDescription
2021-07-27 00:22:21 +02:00
Erik Montnemery
6c8de16fbc
Enable basic type checking for fan (#52471) 2021-07-06 18:21:00 +02:00
Franck Nijhof
7947946793
Type entry setup/unload for entity components (#51912) 2021-06-17 10:10:26 +02: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
Franck Nijhof
0d595a2845
Merge of nested IF-IF cases - E-G (#48367) 2021-03-27 12:39:37 +01:00
Erik Montnemery
346a724ac3
Mark base components' state_attribute @final, rename others to extra_state_attributes (#48161)
* Mark base state_attributes @final, rename others to extra_state_attributes

* Fix calendar, update tests
2021-03-21 10:38:24 +01:00
J. Nick Koston
c820dd4cb5
Have pylint warn when user visible log messages do not start with capital letter or end with a period (#48064)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-19 09:26:36 -05:00
Marc Mueller
91df3fa904
Update typing 06 (#48039) 2021-03-17 23:49:01 +01:00
J. Nick Koston
62d8e47c51
Map silent as a preset mode for fan backcompat (#47396)
The original change did not map silent as a preset mode
because it was not clear if it was a speed or a preset.
2021-03-04 13:02:50 -08: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
J. Nick Koston
3e334a4950
Fix typing of fan speed count and steps (#46790) 2021-02-19 19:57:21 -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
J. Nick Koston
a74ae3585a
Fix backwards compatiblity with fan update to new model (#45951)
* Fix backwards compatiblity with fans update to new model

There were some non-speeds and devices that report a none
speed. These problems were discovered when updating zha
tasmota and vesync to the new model in #45407

* Update coverage

* fix check
2021-02-06 12:48:18 +01:00
J. Nick Koston
068d1b5eb8
Separate fan speeds into percentages and presets modes (#45407)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: John Carr <john.carr@unrouted.co.uk>
2021-01-27 17:44:36 -06:00
Erik Montnemery
d61998e184
Raise in base implementation of FanEntity.oscillate (#43354) 2020-11-19 12:05:52 +01:00
J. Nick Koston
1bf6166817
Update fan to use async_add_executor_job (#41457) 2020-10-08 09:21:29 +02:00
kbickar
2ec546db3d
Fix for exception when checking if fan without speed is on (#39096)
* Fix for exception when checking if fan without speed is on

* Organized imports

* Space
2020-08-21 08:20:28 -06:00
Eugene Prystupa
0fbdb47dcf
Fix incorrect comparison of speed "off" by identity instead of by value (#37738) 2020-07-10 19:45:12 -05:00
Xiaonan Shen
2581b031d9
Fix fan not checking supported_features (#35248)
* Fix fan not checking supported_features

* Fix pylint

* Fix test

* Code cleanup

* Fix fan demo

* Code style improvement
2020-05-06 09:58:07 +02:00
Franck Nijhof
7653dc947a
Enable pylint unnecessary-pass (#33650)
* Enable pylint unnecessary-pass

* Process review suggestions

* Fix smhi tests
2020-04-05 10:33:07 +02:00
Christian Clauss
df7d2b3aeb
Fix typos found by codespell (#31243)
* Fix typos found by codespell

* Fix typos found by codespell

* codespell: Furture  ==> Future

* Update test_config_flow.py

* Update __init__.py

* Spellcheck: successfull  ==> successful

* Codespell: unsuccesful  ==> unsuccessful

* Codespell: cant  ==> can't

* Codespell: firware ==> firmware

* Codespell: mimick  ==> mimic
2020-01-31 08:33:00 -08:00
Paulus Schoutsen
e9e44dbd97
Fix callback and async (#31281)
* Fix callback and async

* Fix a return

* Fix test

* Fix mqtt tests

* Fix some more callbacks
2020-01-29 13:59:45 -08:00
Paulus Schoutsen
ed6aef2fd7
Implement capability attributes (#30545)
* Implement capability attributes

* Fix HeOS update order

* Fix test
2020-01-08 21:22:56 +01:00