Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pyroon discovery #44811

Merged
merged 9 commits into from
Jan 18, 2021
Merged

Pyroon discovery #44811

merged 9 commits into from
Jan 18, 2021

Conversation

pavoni
Copy link
Contributor

@pavoni pavoni commented Jan 4, 2021

Breaking change

Proposed change

This PR adds discovery to the roon integration. There were previously issues with discovery in the roon library - which stopped it working effectively. These have now been resolved - and so this PR switches to use discovery. If discovery fails to find any servers the code still allows users to specify a host.

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

Additional information

Roon discovery uses a unique ID found on roon core server - and so this PR uses this in place of the IP address that was used previously to nam the players (the IP address is not needed or available if discovery is used). This was suggested by @MartinHjelmare when he reviewed the initial PR - but at the time the library didn't have a suitable id available. Using a unique id allows some simplification of the config_flow - since it is no longer possible to specify duplicate addresses. There is a little code to keep backwards compatibility of player names - so HA users do not need to re-create their integrations - and players are not renamed.

As such this is not a breaking change

  • 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:

@pavoni
Copy link
Contributor Author

pavoni commented Jan 15, 2021

I’d like to open another PR to improve the roon play_media command, are you guys ok for me to do that while this is still open?

Copy link
Member

@MartinHjelmare MartinHjelmare 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!

@cgarwood cgarwood merged commit adab9ad into dev Jan 18, 2021
@cgarwood cgarwood deleted the pyroon_discovery branch January 18, 2021 15:00
@github-actions github-actions bot locked and limited conversation to collaborators Jan 19, 2021
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.

5 participants