Skip to content

Add quality scale (gold) to Blebox - #175368

Merged
Markus98 merged 5 commits into
home-assistant:devfrom
bkobus-bbx:blebox/quality-scale
Aug 6, 2026
Merged

Add quality scale (gold) to Blebox#175368
Markus98 merged 5 commits into
home-assistant:devfrom
bkobus-bbx:blebox/quality-scale

Conversation

@bkobus-bbx

Copy link
Copy Markdown
Contributor

Proposed change

Add Integration Quality Scale file for the blebox integration and mark it as gold level.

The quality_scale.yaml covers all required bronze, silver, and gold rules,
with exempt statuses where applicable (no actions, no conditions/triggers,
fixed single device per config entry).

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:
  • Link to developer documentation pull request:
  • Link to frontend pull request:

Checklist

  • I understand the code I am submitting and can explain how it works.
  • 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.
  • Any generated code has been carefully reviewed for correctness and compliance with project standards.

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 diff between library versions and ideally a link to the changelog/release notes is added to the PR description.

To help with the load of incoming pull requests:

@home-assistant

home-assistant Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Hey there @bbx-a, @swistakm, mind taking a look at this pull request as it has been labeled with an integration (blebox) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of blebox can trigger bot actions by commenting:

  • @home-assistant close Closes the pull request.
  • @home-assistant mark-draft Mark the pull request as draft.
  • @home-assistant ready-for-review Remove the draft status from the pull request.
  • @home-assistant rename Awesome new title Renames the pull request.
  • @home-assistant reopen Reopen the pull request.
  • @home-assistant unassign blebox Removes the current integration label and assignees on the pull request, add the integration domain after the command.
  • @home-assistant update-branch Update the pull request branch with the base branch.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component, problem in config, problem in device, feature-request) to the pull request.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component, problem in config, problem in device, feature-request) on the pull request.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR promotes the blebox integration into the Integration Quality Scale program at the gold tier. It adds a quality_scale.yaml describing the status of every rule, sets "quality_scale": "gold" in the manifest, and removes blebox from the two hassfest opt-out lists so the file is now validated.

I verified the claims that hassfest actively validates and the key ones a reviewer can check in code:

  • reauthentication-flow: ConfigEntryAuthFailed is raised in __init__.py/coordinator.py, and async_step_reauth exists.
  • reconfiguration-flow / discovery / discovery-update-info: async_step_reconfigure, async_step_zeroconf/async_step_dhcp, and _abort_if_unique_id_configured(updates={CONF_HOST: host}) are all present; manifest declares dhcp + zeroconf.
  • parallel-updates: all 8 platform modules define PARALLEL_UPDATES.
  • diagnostics: diagnostics.py uses async_redact_data.
  • strict-typing: todo is consistent with blebox being absent from .strict-typing.
  • All 54 rules are present with valid names/statuses, and both ignore-list entries were removed with no leftover references.

No objective code issues were found. The remaining "done" claims (documentation rules, entity-category, entity-disabled-by-default) are not machine-validated and require maintainer judgment plus a corresponding documentation PR, which is empty in the description.

Changes:

  • Add homeassistant/components/blebox/quality_scale.yaml covering all bronze/silver/gold rules (plus platinum), with strict-typing left as todo.
  • Set "quality_scale": "gold" in manifest.json.
  • Remove blebox from INTEGRATIONS_WITHOUT_QUALITY_SCALE_FILE and INTEGRATIONS_WITHOUT_SCALE in script/hassfest/quality_scale.py.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
homeassistant/components/blebox/quality_scale.yaml New rule status file grading the integration to gold.
homeassistant/components/blebox/manifest.json Declares the gold quality scale.
script/hassfest/quality_scale.py Removes blebox from both opt-out lists so the file is validated.

@joostlek joostlek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I need to double check the code, but these were some things that I have already found in recent reviews. Let's make sure we solve that in separate PRs

Comment thread homeassistant/components/blebox/quality_scale.yaml
Comment thread homeassistant/components/blebox/quality_scale.yaml Outdated
@home-assistant
home-assistant Bot marked this pull request as draft July 2, 2026 15:37
@home-assistant

home-assistant Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@bkobus-bbx
bkobus-bbx marked this pull request as ready for review July 6, 2026 06:02
Copilot AI review requested due to automatic review settings July 6, 2026 06:02
@home-assistant
home-assistant Bot requested a review from joostlek July 6, 2026 06:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@Markus98 Markus98 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It mostly looks good but I found a few things to address.

The biggest blocker here would be the lack of public CI pipeline for the dependency. Check my comment below.

If that cannot be resolved, I suggest that this PR is modified to only add the quality_scale.yaml and set the rules I highlighted as todo. This way we won't have this one hanging around forever and we can bump the individual rules later in follow-up PRs and bump the quality scale as well.

Comment thread homeassistant/components/blebox/quality_scale.yaml
Comment thread homeassistant/components/blebox/quality_scale.yaml
Comment thread homeassistant/components/blebox/quality_scale.yaml
Copilot AI review requested due to automatic review settings July 14, 2026 13:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@bkobus-bbx bkobus-bbx mentioned this pull request Aug 6, 2026
21 tasks
Copilot AI review requested due to automatic review settings August 6, 2026 11:30
@bkobus-bbx
bkobus-bbx marked this pull request as ready for review August 6, 2026 11:30
@home-assistant
home-assistant Bot requested a review from Markus98 August 6, 2026 11:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Copilot AI review requested due to automatic review settings August 6, 2026 13:35

@Markus98 Markus98 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice! Thanks @bkobus-bbx

@Markus98
Markus98 merged commit 81c0da1 into home-assistant:dev Aug 6, 2026
29 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (3)

homeassistant/components/blebox/quality_scale.yaml:53

  • Persist the discovered port as well as the host before marking this rule done. Zeroconf passes its advertised port into _async_handle_discovery, but the existing-entry path updates only CONF_HOST (config_flow.py:136-138), leaving a configured device on stale network information when its advertised port changes; update CONF_PORT too and cover this case in the discovery tests.
  discovery-update-info: done

homeassistant/components/blebox/quality_scale.yaml:76

  • Implement a repair for unsupported firmware before claiming this exemption. UnsupportedBoxVersion already produces an actionable “upgrade firmware” error during configuration (config_flow.py:103-106), while setup treats it as a generic setup error (__init__.py:60-61), so this is precisely a user-intervention case covered by the repair-issues rule; add translated issue creation/cleanup and tests, then mark the rule done.
  repair-issues:
    status: exempt
    comment: |
      This integration has no cases where raising a repair issue is needed.

homeassistant/components/blebox/quality_scale.yaml:55

  • Correct the data-update documentation before marking this rule done. Every BleBoxEntity uses the coordinator that refreshes the whole box every five seconds (coordinator.py:37,45), but the current BleBox docs claim binary sensors, buttons, and covers use the 30-second entity default and omit the separately hourly-polled update entity, so the documented update expectations are inaccurate.
  docs-data-update: done

@bkobus-bbx
bkobus-bbx deleted the blebox/quality-scale branch August 6, 2026 13:48
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 7, 2026
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.

4 participants