Commit Graph

369 Commits (master)

Author SHA1 Message Date
Erik Montnemery 691de148cf
Use real devices in light device trigger tests (#102689) 2023-10-24 21:58:37 +02:00
Paul Bottein c98c18f25e
Return 'None' for light attributes when off instead of removing them (#101946) 2023-10-19 01:08:08 +02:00
Franck Nijhof 868a5f377f
Ruff: isort don't split imports based on trailing comma (#98162) 2023-08-10 14:27:03 +02:00
Erik Montnemery 433d640071
Use entity registry id in light device actions (#95271) 2023-06-26 22:27:19 +02:00
Erik Montnemery a338e7e242
Use entity registry id in toggle_entity device automations (#94995)
* Use entity registry id in toggle_entity device automations

* Update tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-06-26 09:59:01 +02:00
Erik Montnemery fd822bce56
Replace assert_lists_same with pytest_unordered in integrations h-m (#94901) 2023-06-20 20:16:25 +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 9a3077d64a
Always setup demo platforms with device support from config entry (#94586)
* Always setup demo platforms with device support from config entry

* Adjust test fixutres

* Update tests depending on the demo integration
2023-06-14 16:50:35 +02:00
Jan Bouwhuis ec98e22330
Add type hints for stub_blueprint_populate fixture (#93568)
Add typehints for stub_blueprint_populate fixture
2023-05-26 08:13:13 +02:00
Erik Montnemery 3cca338c6e
Improve blueprint test fixtures (#93519) 2023-05-25 13:45:19 +02:00
J. Nick Koston 41aa3e223e
Update light tests to avoid patching utcnow (#93490) 2023-05-24 15:21:40 -05:00
Erik Montnemery e3c16e634b
Allow exposing entities not in the entity registry to assistants (#92363) 2023-05-02 22:08:09 +02:00
J. Nick Koston d0d4ab6056
Require a list of entity ids when fetching history (#90992) 2023-04-08 16:14:44 -10:00
Erik Montnemery ae127e7687
Change light white service call attribute to accept True (#89803) 2023-03-16 23:02:56 -04:00
J. Nick Koston 1c57339ec3
Refactor recorder tests to use recorder history API (#89565) 2023-03-11 21:51:16 -05:00
J. Nick Koston e6c792deed
Add missing kelvin attributes to light recorder platform (#88561) 2023-02-21 14:23:53 -06:00
Erik Montnemery 9989a4787b
Fix recorder platform tests (#88330) 2023-02-17 08:22:15 -06: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
Erik Montnemery cc564026fa
Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
Franck Nijhof 51a9f65a01
Clean up unnecessary registry mocks from Core tests (#87726) 2023-02-08 13:28:44 -06: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
epenet aa00114c2f
Add return type to async tests without arguments (#87612) 2023-02-07 10:26:56 +01:00
Michael Hansen ea95abcb30
Use intent responses from home-assistant-intents (#86484)
* Use intent responses from home_assistant_intents

* Use error responses from home_assistant_intents

* Remove speech checks for intent tests (set by conversation now)

* Bump hassil and home-assistant-intents versions

* Use Home Assistant JSON reader when loading intents

* Remove speech checks for light tests (done in agent)

* Add more tests for code coverage

* Add test for reloading on new component

* Add test for non-default response
2023-01-23 22:38:41 -05:00
Michael Hansen 5aca996f22
HassTurnOn/Off intents to also handle cover entities (#86206)
* Move entity/area resolution to async_match_states

* Special case for covers in HassTurnOn/Off

* Enable light color/brightness on areas

* Remove async_register from default agent

* Remove CONFIG_SCHEMA from conversation component

* Fix intent tests

* Fix light test

* Move entity/area resolution to async_match_states

* Special case for covers in HassTurnOn/Off

* Enable light color/brightness on areas

* Remove async_register from default agent

* Remove CONFIG_SCHEMA from conversation component

* Fix intent tests

* Fix light test

* Fix humidifier intent handlers

* Remove DATA_CONFIG for conversation

* Copy ServiceIntentHandler code to light

* Add proper errors to humidifier intent handlers
2023-01-19 17:15:01 -06:00
Michael Hansen ecaec0332d
Hassil intents (#85156)
* Add hassil to requirements

* Add intent sentences

* Update sentences

* Use hassil to recognize intents in conversation

* Fix tests

* Bump hassil due to dependency conflict

* Add dataclasses-json package contraints

* Bump hassil (removes dataclasses-json dependency)

* Remove climate sentences until intents are supported

* Move I/O outside event loop

* Bump hassil to 0.2.3

* Fix light tests

* Handle areas in intents

* Clean up code according to suggestions

* Remove sentences from repo

* Use home-assistant-intents package

* Apply suggestions from code review

* Flake8

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-07 16:20:21 -05:00
Erik Montnemery 31a787558f
Ensure recorder test fixture is setup before hass fixture (#80528)
* Ensure recorder test fixture is setup before hass fixture

* Adjust more tests
2022-10-19 07:58:47 +02: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 5f2b4001f3
Separate recorder database schema from other classes (#72977)
* Separate recorder database schema from other classes

* fix logbook imports

* migrate new tests

* few more

* last one

* fix merge

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-06-07 14:41:43 +02:00
Franck Nijhof 69e622b327
Clean up accessing intent helpers via hass (#72028) 2022-05-17 20:33:51 +02: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
Erik Montnemery 28ebab9c5a
Simplify waiting for recorder in tests (#70647) 2022-04-25 12:04:47 +02:00
Erik Montnemery 982e314de6
Use recorder_mock in tests (#70363)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-04-22 19:29:44 -10:00
Erik Montnemery 5e50a8abd5
Mark device triggers from hidden or auxiliary entities as secondary (#70335)
* Mark device triggers from hidden or auxiliary entities as secondary

* Update tests
2022-04-21 08:01:32 +02:00
Erik Montnemery 150f173eed
Mark device conditions from hidden or auxiliary entities as secondary (#70333) 2022-04-20 21:41:59 +02:00
Erik Montnemery 64381acbaf
Mark device actions from hidden or auxiliary entities as secondary (#70278) 2022-04-20 10:48:46 -07:00
Franck Nijhof 27bc5e1d74
Add ColorMode enum to light platform (#69223) 2022-04-11 18:18:29 +02:00
J. Nick Koston 5b874ce6e8
Exclude static light attributes from being recorded in the database (#69155) 2022-04-03 06:13:03 -06: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
Franck Nijhof 8aff8d89d2
Clean up async_reproduce_state helper usage (#68617) 2022-03-24 14:40:54 +01:00
J. Nick Koston 26ff6d2aa0
Fix warm/cold reversal in rgbww_to_color_temperature (#65677) 2022-02-04 11:36:30 -08:00
Erik Montnemery 513d6cc467
Change value of device_automation constant (#64296)
* Change value of constant CONF_CHANGED_STATES

* Adjust tests
2022-01-17 16:34:40 +01:00
Erik Montnemery e9b746e874
Add turned on or off device trigger to toggle entity (#61089)
* Add turned on or off device trigger to toggle entity

* Renamed changed_states trigger to toggled

* Adjust tests

* Fix homekit triggers test

* Add tests

* Adjust tests after rebase

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-01-03 10:41:30 +01:00
Ville Skyttä 9b437ef146
Remaining DeviceAutomationType bits (#62508)
* Use DeviceAutomationType in missed tests/components/*

* Tighten device automation type hints
2021-12-21 20:05:48 +02:00
Ville Skyttä c5e6489475
Use DeviceAutomationType in tests/components/[h-l]* (#62441) 2021-12-20 22:18:53 +01: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 85786fd987
Make some device action tests more explicit (#59469)
* Make some device action tests more explicit

* Adjust tests
2021-11-11 12:32:51 +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
Paulus Schoutsen 370799bd22
Revert "Improve light scene support for white mode (#53768)" (#53782)
This reverts commit 6ffe0f6405.
2021-07-30 21:10:32 -07:00
Erik Montnemery 6ffe0f6405
Improve light scene support for white mode (#53768) 2021-07-30 12:47:26 -07: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 67f3e717a8
Add support for color_mode white to tasmota light (#51608) 2021-06-08 17:43:04 +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
Erik Montnemery bcd8f43e7b
Update light intents to check supported_color_modes (#50625) 2021-05-14 14:23:29 -07:00
Erik Montnemery 960ed13f94
Update light device actions to check supported_color_modes (#50611) 2021-05-14 22:58:37 +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 7e4be921a8
Add helper to get an entity's supported features (#48825)
* Add helper to check entity's supported features

* Move get_supported_features to helpers/entity.py, add tests

* Fix error handling and improve tests
2021-04-10 08:19:16 +02:00
Erik Montnemery c7584a1f92
Add color_mode support to MQTT JSON light (#47993) 2021-03-31 11:28:45 +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
Drzony 99d1e3e71d
MQTT Light: Use flash attribute in async_turn_off (#47919) 2021-03-15 11:24:07 +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
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
Paulus Schoutsen 352d0870e3
Light significant changes + sensor tweaks (#45583) 2021-01-26 22:11:06 +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
Franck Nijhof 65cf2fcb6f
Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00
Paulus Schoutsen b3be708db6
Add default config if not there (#43321)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-11-25 15:10:04 +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
J. Nick Koston 4bbc737954
Fix light device trigger test flapping (#39470) 2020-08-30 14:34:16 -05: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
Paulus Schoutsen c33edbe5bb
Use TestCase.addCleanup (#36560) 2020-06-08 12:26:40 -07:00
Paulus Schoutsen 276f3afb00
Do async_setup_platform in background (#36244)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-31 22:18:30 -07:00
Xiaonan Shen 5d8e6d5432
Fix light toggle service attributes (#35483) 2020-05-11 12:58:59 +02:00
Paulus Schoutsen 2af984917e
Use asynctest-mock in most places (#35109)
* Use asynctest-mock in most places

* Fix broken patch in pilight
2020-05-03 11:27:19 -07:00
Erik Montnemery e4333a7a44
Rename Light to LightEntity (#34593) 2020-04-26 18:49:41 +02:00
Franck Nijhof bc5a2da7b7
Add transition support to scenes, cleanup blocking parameter (#34434) 2020-04-20 18:07:50 -07:00
J. Nick Koston e0a7ea52fd
Reduce loss of precision when setting light percent brightness (#34208)
* Reduce loss of precision when setting light percent brightness

This part of an effort to fix all the round trip light
brightness percentages that cause errors with homekit
, alexa, and other devices that use percentage.

* fix demo light test
2020-04-14 13:26:18 -05:00
Robert Chmielowiec 7bd6f5413d
Add flash light device actions (#33689)
* Add flash light device actions

* Single action with extra fields

* Change extra_fields to dictionary
2020-04-13 10:30:20 -07:00
Martin Hjelmare 1d2713b0ea
Clarify light reproduce state deprecation warning (#33531) 2020-04-02 09:52:46 -07:00
Franck Nijhof 743166d284
Fix brightness_pct in light device turn_on action (#32787) 2020-03-13 21:58:32 -07:00