Commit Graph

93 Commits (55b2d1a00c4dab390cc749eef2ed0f4a0e6eedc0)

Author SHA1 Message Date
Marc Mueller 1722e23df8
Add empty line after module docstring [tests l-p] (#112710) 2024-03-08 14:55:15 +01:00
Erik Montnemery 770e48d512
Simplify color mode logic in Tuya light (#110327)
* Simplify color mode logic in Tuya light

* Remove exclusion from LightEntity.__should_report_light_issue

* Fix test
2024-03-06 18:28:12 +01:00
puddly 016f2c7581
Improve ZHA group color modes (#111669)
* Set the color mode based on supported color modes

* Replace `zha` with `tuya` in unit test
2024-02-28 17:20:19 -05:00
Erik Montnemery 1764c031df
Warn when lights violate color mode rules (#110336)
* Warn when lights violate color mode rules

* Update test

* Remove redundant warning, add tests

* Improve test coverage
2024-02-12 17:43:50 +01:00
Erik Montnemery 4229c35fcd
Improve color mode handling in MockLight (#109298) 2024-02-02 09:49:32 +01:00
Erik Montnemery c3de193e2e
Adjust color_mode checks when lights render effects (#108737)
* Adjust color_mode checks when lights render effects

* Improve comment

* Avoid calling effect property if light does not support effects

* Fix test
2024-01-24 15:44:45 +01:00
J. Nick Koston e4a25825d3
Migrate light entity to use contains for LightEntityFeature with deprecation warnings (#106622) 2023-12-28 15:45:06 -10:00
Niccolò Maggioni 0232c8dcb0
Add temperature to the light color mode parameter fallbacks (#86026)
* Add color temperature to the color mode fallbacks

* Manually add ATTR_COLOR_TEMP since ATTR_COLOR_TEMP_KELVIN is pre-parsed

* Include the legacy ATTR_COLOR_TEMP attribute in the tests

* Apply suggestions from code review

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

* Add citation for McCamy's approximation formula

If still existing, also see page 3 of https://www.st.com/resource/en/application_note/an5638-how-correlated-color-temperature-is-calculated-by-vd6283-stmicroelectronics.pdf

* Update homeassistant/util/color.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-01 08:26:07 +01:00
Paul Bottein c98c18f25e
Return 'None' for light attributes when off instead of removing them (#101946) 2023-10-19 01:08:08 +02:00
J. Nick Koston 68cf796be8
Speed up entity service calls (#94731)
* Speed up entity service calls

- Avoid permissions check if the caller is an admin
- Use set intersection instead of linear search of entity platforms to find entities

* tweak

* fix light test to not use an admin user
2023-06-16 21:07:57 -04:00
Erik Montnemery ae127e7687
Change light white service call attribute to accept True (#89803) 2023-03-16 23:02:56 -04:00
Franck Nijhof ed79265843
Enable Ruff PT006 (#88165)
* Enable Ruff PT006

* Adjust existing cases

* Fix tests

* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
epenet ea11a30a35
Add type hints to integration tests (part 13) (#87998) 2023-02-13 14:38:37 +01:00
epenet f75ac17554
Add type hints to integration tests (j-m) (#87704) 2023-02-08 19:06:59 +01:00
epenet 4142f0d15d
Add return type to tests without arguments (#87613)
* Add return type to tests without arguments

* Black

* Cancel fixture amends
2023-02-07 14:20:06 +01:00
Erik Montnemery 7b247a79cf
Correct min/max mireds for lights which use K for color temp (#79998) 2022-10-10 16:45:38 +03:00
Erik Montnemery 2ee6ea9877
Adapt group to color temperature in K (#79719)
* Adapt group to color temperature in K

* Adjust tests

* Adjust tests
2022-10-10 14:57:22 +02:00
Erik Montnemery 47d0598e75
Use Kelvin as the preferred color temperature unit (#79591)
* Use Kelvin as the preferred white temperature unit

* Update homekit

* Adjust tests
2022-10-06 12:22:39 +02:00
Erik Montnemery 60c8d95a77
Remove white_value support from light (#76926) 2022-08-18 08:21:05 -04:00
Erik Montnemery 573e966d74
Migrate hue v1 light to color_mode (#69275)
* Migrate hue v1 light to color_mode

* Fix test

* Correct filter_supported_color_modes + add test

* Use ColorMode enum
2022-04-28 09:49:51 +02:00
Erik Montnemery 28ba572d9d
Only apply color from light profile if no color specified (#70640) 2022-04-25 07:56:07 -07:00
Franck Nijhof 27bc5e1d74
Add ColorMode enum to light platform (#69223) 2022-04-11 18:18:29 +02:00
Franck Nijhof ea148a1b8e
Add EntityFeature enum to Light (#69103)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-04-02 20:57:01 -07:00
J. Nick Koston 26ff6d2aa0
Fix warm/cold reversal in rgbww_to_color_temperature (#65677) 2022-02-04 11:36:30 -08:00
J. Nick Koston 94ae6ac2b2
Handle color temp to RGBWW conversion (#61473)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-12-16 05:39:33 -06:00
Franck Nijhof cf371ea8dd
Remove deprecated base entity classes (#61006)
* Remove deprecated base entity classes

* Clean up tests
2021-12-05 13:53:52 +01:00
Erik Montnemery 72d7817dbf
Update light turn_on schema to coerce colors to tuple before asserting sequence type (#58670)
* Make color_name_to_rgb return a tuple

* Tweak

* Tweak

* Update test

* Tweak test
2021-10-29 15:51:14 +02:00
Erik Montnemery 39867c9b83
Convert RGBW and RGBWW colors in light turn_on calls (#58680) 2021-10-29 15:48:11 +02:00
J. Nick Koston e6e8d7eded
Convert color temperature to visible color in lights (#55219) 2021-08-25 21:56:36 +02:00
Erik Montnemery 87813ea991
Tweak light.valid_supported_color_modes (#51659) 2021-06-09 12:53:08 +02:00
Erik Montnemery 443463e19d
Emulate color_temp for lights which support color or white (#51654)
* Emulate color_temp for lights which support color or white

* Support legacy lights

* Tidy up group.light code

* Improve color_temp to white conversion

* Remove color_temp to white conversion

* Add test

* Tweak deconz test
2021-06-09 11:23:01 +02:00
Erik Montnemery e560e623e9
Add color_mode white (#51411)
* Add color_mode white

* Include brightness in white parameter

* Reformat

* Improve test coverage
2021-06-06 11:13:18 +02:00
Erik Montnemery 154c849eac
Filter unsupported parameters from light service calls (#51084)
* Filter unsupported parameters from light service calls

* Silence pylint

* Fix deconz tests

* Fix mqtt tests

* Fix scene tests

* Fix trådfri emulated CT

* Fix mqtt tests
2021-05-26 08:02:59 +02:00
Joakim Sørensen 2f10f59717
Block custom integrations with missing or invalid version (#49916) 2021-05-17 15:48:41 +02:00
karliemeads 3a93151aa2
Improve light tests for brightness step and profiles (#49887) 2021-05-11 23:31:36 +02:00
Erik Montnemery c2663d61d7
Add color_mode support to group light (#50165)
* Add color_mode support to group light

* Lint

* Update tests
2021-05-06 22:34:51 -07:00
Erik Montnemery e96cbccc92
Improve color conversion for RGBWW lights (#49807) 2021-04-28 15:46:41 +02:00
Erik Montnemery d7247c2ace
Correct conversion of RGB and XY colors to RGBW (#49802) 2021-04-28 10:12:20 +02:00
Erik Montnemery fdadacd158
Improve color conversion for RGBW lights (#49764) 2021-04-27 20:07:55 +02:00
Erik Montnemery a5a3c98aff
Make lights supporting rgbw and rgbww accept colors (#49565)
* Allow lights supporting rgbw and rgbww accepting colors

* Tweak, update tests
2021-04-23 09:25:37 +02:00
Erik Montnemery 5f2326fb57
Add support for light color modes (#47720)
* Add support for light color modes

* Update tests

* Update comments

* Fix bugs, add tests

* Suppress lint errors

* Don't suppress brightness when state is ambiguous

* Improve reproduce_state + add tests

* Add comment

* Change COLOR_MODE_* constants, rename COLOR_MODE_DIMMER to COLOR_MODE_BRIGHTNESS

* Fix tests

* Tweaks
2021-03-16 12:51:39 +01:00
Erik Montnemery b9c2f80cab
Fix light brightness_step on multiple entities (#47746)
* Fix light brightness_step on multiple entities

* Fix comment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-11 11:46:32 +01:00
Alexei Chetroi daf24dc508
Always apply default light profiles, unless a profile is given (#45450) 2021-01-23 06:20:53 +01:00
Alexei Chetroi ec038bc6ea
Allow any parameter of a light profile as an optional parameter (#44079)
* No code duplication for profile application

* Refactor color profile as a dataclass

* Typing

* Make color_x and color_y of a Light profile optional

* Update tests

* Make brightness field of a Light profile optional

* Transition can be of a float type

* Allow fractional transition times in light profiles

Make transition of a float type.
Allow transition to be optional with 5 column CSV files.

* Make pylint happy

* Fix dropped async_mock

* Simplify CSV row schema
2021-01-13 12:11:20 +01:00
Erik Montnemery 2d9eb25142
Fix parameters when toggling light (#44950) 2021-01-09 01:10:47 +01:00
Paulus Schoutsen 5dac3883b0
Stub light profiles (#42232) 2020-10-23 16:28:21 +02:00
Franck Nijhof c011f3fa95
Use direct service calls in light platform tests (#40604) 2020-09-26 13:19:59 +02:00
Franck Nijhof e30acfbfee
Rewrite light component tests to async pytest tests (#40589) 2020-09-25 19:14:25 +02:00
Franck Nijhof 1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
Donnie 6e87c2ad3e
Support default transition in light profiles (#36747)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-21 17:19:07 -07:00