Skip to content

Use Coerce(float) on service options for kef#35659

Merged
elupus merged 2 commits intohome-assistant:devfrom
basnijholt:kef-coerce
May 24, 2020
Merged

Use Coerce(float) on service options for kef#35659
elupus merged 2 commits intohome-assistant:devfrom
basnijholt:kef-coerce

Conversation

@basnijholt
Copy link
Copy Markdown
Contributor

@basnijholt basnijholt commented May 15, 2020

Proposed change

Coerce to the correct data type.

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:

# Example configuration.yaml

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

@basnijholt basnijholt changed the title Use Coerce(float) on service options for kef WIP: Use Coerce(float) on service options for kef May 15, 2020
@basnijholt basnijholt changed the title WIP: Use Coerce(float) on service options for kef Use Coerce(float) on service options for kef May 15, 2020
Copy link
Copy Markdown
Contributor

@elupus elupus left a comment

Choose a reason for hiding this comment

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

Hmm. Expecting a float value to be in a a list of options is fragile. Floats are non-exact.

@elupus
Copy link
Copy Markdown
Contributor

elupus commented May 19, 2020

You may want to coerce to a decimal type of fixed precision.

@basnijholt
Copy link
Copy Markdown
Contributor Author

You may want to coerce to a decimal type of fixed precision.

@elupus, thanks for the suggestion! I've looked in the Home Assistant code base but I couldn't find an example of how to do that.

Do you know how to do it?

Copy link
Copy Markdown
Contributor

@elupus elupus left a comment

Choose a reason for hiding this comment

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

I think this looks fine. If the value is float in the backend. This doesn't make the issue worse, and if you do change the type later to Decimal. This aught to work too.

@elupus elupus merged commit e606556 into home-assistant:dev May 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants