Skip to content

Allow any parameter of a light profile as an optional parameter#44079

Merged
balloob merged 11 commits intohome-assistant:devfrom
Adminiuga:ac/light-profiles
Jan 13, 2021
Merged

Allow any parameter of a light profile as an optional parameter#44079
balloob merged 11 commits intohome-assistant:devfrom
Adminiuga:ac/light-profiles

Conversation

@Adminiuga
Copy link
Copy Markdown
Contributor

Breaking change

No

Proposed change

In one of the issues users wanted to modify the default transition for the lights, but did not want to change the light's color, which was not possible with light profiles. This PR makes two changes:

  1. Make any parameter (color_x and color_y both have to be either missing or present) of the light profile as an optional profile
  2. Make transition field of the light_profiles.csv a float number -- since transition parameter to light.turn_on service call is a float number. Mainly for more precise transitions for shorter durations

And if we to allow the color_x, color_y pairs to be optional, then it made sense to allow any parameter of the light profile to be optional.
Only parameters which are present in profile are applied.
Maintains backwards compatibility with 4 and 5 column csv files
At least one of the parameters must be present in the profile

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Example entry for configuration.yaml:

n/a

Example light_profiles.csv:

id,x,y,brightness,transition
profile_with_color_only,0.5119,0.4147,,
profile_with_brightness_only,,,200,
profile_with_transition_only,,,,2.5
profile_with_brigthness_and_transition,,,254,1.5
profile_with_all_parameters,0.5119,0.4147,100,0.5

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request:

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Black (black --fast homeassistant tests)
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • Untested files have been added to .coveragerc.

The integration reached or maintains the following Integration Quality Scale:

  • No score or internal
  • 🥈 Silver
  • 🥇 Gold
  • 🏆 Platinum

To help with the load of incoming pull requests:

Comment thread homeassistant/components/light/__init__.py Outdated
Copy link
Copy Markdown
Member

@balloob balloob left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Can be merged when the schema is simplified.

@Adminiuga Adminiuga requested a review from balloob January 11, 2021 20:32
@balloob balloob merged commit ec038bc into home-assistant:dev Jan 13, 2021
@github-actions github-actions Bot locked and limited conversation to collaborators Jan 14, 2021
@Adminiuga Adminiuga deleted the ac/light-profiles branch January 26, 2021 15:47
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants