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

Preserve manually entered HEOS host #139010

Open
wants to merge 5 commits into
base: dev
Choose a base branch
from
Open

Preserve manually entered HEOS host #139010

wants to merge 5 commits into from

Conversation

andrewsayre
Copy link
Member

@andrewsayre andrewsayre commented Feb 21, 2025

Proposed change

Previous change (#138950) introduced functionality to automatically update the HEOS host from discovery. This has a side-effect of overwriting a custom host name, if configured by the user.

This change introduces a new config key (manage_host: bool) and exposes it in the reconfigure screen to allow the user to toggle automatic host management (and preserve a manually entered host name). The config entry minor version was incremented and migration determines if the host name is custom (best effort) and disables the functionality. For new adds of the integration, manage_host is set to True when setup from discovery and False when setup manually.

New HEOS reconfigure screen

This needs to be part of 2025.3 in order to not impact users.

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)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request: WIP
  • Link to developer documentation pull request:
  • Link to frontend 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
  • I have followed the perfect PR recommendations
  • The code has been formatted using Ruff (ruff format 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.
  • For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.

To help with the load of incoming pull requests:

@arturpragacz
Copy link
Contributor

I agree that this is needed. But I had this discussion already: #131066 (comment)

@arturpragacz
Copy link
Contributor

I guess HEOS is slightly different from Onkyo in that it has only a single config entry for the whole system composed of possibly many devices. Maybe this means an exception here would be justified.

@andrewsayre andrewsayre added this to the 2025.3.0b0 milestone Feb 23, 2025
@andrewsayre
Copy link
Member Author

I guess HEOS is slightly different from Onkyo in that it has only a single config entry for the whole system composed of possibly many devices. Maybe this means an exception here would be justified.

Right, while we attempt to select the best device to connect to, it has limitations. Users with less reliable devices (some HEOS-capable products are flakey), or batter powered devices, need the ability to manually set the host used for connection and prevent it from changing to a less reliable device.

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.

2 participants