Add reconfigure flow to NeoPool - #180332
Merged
Merged
Conversation
- Add async_step_reconfigure to update an existing entry's host, port, unit ID, and Modbus framer, resolved via _get_reconfigure_entry - Reject a probed serial number that does not match the entry unique ID with a serial_mismatch form error - Promote the unit_id and modbus_framer config keys to CONF_UNIT_ID and CONF_MODBUS_FRAMER constants now they have a second consumer - Mark reconfiguration-flow done in quality_scale.yaml, the last todo, and raise the manifest quality scale from silver to platinum - Add reconfigure config-flow tests
8 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
Adds NeoPool connection reconfiguration and advances the integration to Platinum quality scale.
Changes:
- Adds validated reconfiguration with device identity checks.
- Adds translations and tests for success and failure paths.
- Marks reconfiguration complete and raises the quality tier.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
homeassistant/components/neopool/config_flow.py |
Implements reconfiguration. |
homeassistant/components/neopool/const.py |
Defines connection-setting constants. |
homeassistant/components/neopool/manifest.json |
Sets Platinum quality. |
homeassistant/components/neopool/quality_scale.yaml |
Marks reconfiguration complete. |
homeassistant/components/neopool/strings.json |
Adds flow translations. |
tests/components/neopool/test_config_flow.py |
Tests reconfiguration behavior. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…ments - Prefill the reconfigure form with the submitted values on retry via add_suggested_values_to_schema so a probe error no longer resets input - Remove the two section comments in const.py
svasek
marked this pull request as ready for review
August 26, 2026 19:13
zweckj
requested changes
Aug 27, 2026
zweckj
left a comment
Member
There was a problem hiding this comment.
split the quality scale bump into a separate PR
Contributor
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
- Set the unique ID from the reconfigure probe and reject a mismatch via _abort_if_unique_id_mismatch instead of a manual serial guard - Move the serial_mismatch string from config.error to config.abort - Keep the quality scale at silver; the platinum bump lands separately
svasek
marked this pull request as ready for review
August 27, 2026 09:45
zweckj
approved these changes
Aug 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed change
Add a reconfigure flow to the NeoPool integration so users can update an existing entry's connection settings (host, port, unit ID, Modbus framer) without removing and re-adding it. The step probes the device and, using the
_abort_if_unique_id_mismatchhelper, aborts withserial_mismatchwhen the probed serial number does not match the entry's unique ID, guarding against pointing the entry at a different physical controller.This completes the
reconfiguration-flowrule in the integration'squality_scale.yaml. The manifest quality scale bump will follow in a separate PR once this lands.Type of change
Additional information
Checklist
ruff format homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all.To help with the load of incoming pull requests: