Skip to content

Add quality scale for GIOS#155603

Merged
joostlek merged 1 commit into
home-assistant:devfrom
mik-laj:gios-quality-scale-2
Feb 13, 2026
Merged

Add quality scale for GIOS#155603
joostlek merged 1 commit into
home-assistant:devfrom
mik-laj:gios-quality-scale-2

Conversation

@mik-laj
Copy link
Copy Markdown
Contributor

@mik-laj mik-laj commented Nov 1, 2025

Breaking change

Proposed change

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

@home-assistant
Copy link
Copy Markdown
Contributor

home-assistant Bot commented Nov 1, 2025

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

Code owner commands

Code owners of gios can trigger bot actions by commenting:

  • @home-assistant close Closes the pull request.
  • @home-assistant rename Awesome new title Renames the pull request.
  • @home-assistant reopen Reopen the pull request.
  • @home-assistant unassign gios Removes the current integration label and assignees on the pull request, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the pull request.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the pull request.

bieniu
bieniu previously requested changes Nov 1, 2025
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml Outdated
Comment thread homeassistant/components/gios/quality_scale.yaml
@mik-laj mik-laj marked this pull request as ready for review December 29, 2025 13:21
@mik-laj mik-laj requested a review from a team as a code owner December 29, 2025 13:21
Copilot AI review requested due to automatic review settings December 29, 2025 13:21
@mik-laj
Copy link
Copy Markdown
Contributor Author

mik-laj commented Dec 29, 2025

I think we managed to meet all the requirements for platinum.

Last changes was covered by: home-assistant/home-assistant.io#42740

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 adds Platinum-level quality scale support to the GIOS (Polish Chief Inspectorate Of Environmental Protection) integration. The changes enable the integration to be recognized and validated as meeting the highest quality standards defined by Home Assistant's Integration Quality Scale framework.

  • Adds comprehensive quality scale rule tracking via quality_scale.yaml
  • Declares Platinum-tier quality scale in the integration manifest
  • Removes GIOS from quality scale exemption lists in the validation tooling

Reviewed changes

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

File Description
homeassistant/components/gios/quality_scale.yaml Adds complete quality scale rule status tracking for Bronze, Silver, Gold, and Platinum tiers with appropriate exemptions and justifications
homeassistant/components/gios/manifest.json Declares the integration as Platinum-tier quality scale
script/hassfest/quality_scale.py Removes GIOS from INTEGRATIONS_WITHOUT_QUALITY_SCALE_FILE and INTEGRATIONS_WITHOUT_SCALE exemption lists to enable quality scale validation

Comment thread homeassistant/components/gios/quality_scale.yaml
@bieniu
Copy link
Copy Markdown
Member

bieniu commented Dec 29, 2025

Maybe rebasing will remove the codec complaints?

@mik-laj mik-laj force-pushed the gios-quality-scale-2 branch 2 times, most recently from f2e98a0 to dc8d720 Compare December 29, 2025 14:30
@mik-laj
Copy link
Copy Markdown
Contributor Author

mik-laj commented Dec 29, 2025

Maybe rebasing will remove the codec complaints?

I did rebase twice and now CI is green.

@mik-laj
Copy link
Copy Markdown
Contributor Author

mik-laj commented Dec 29, 2025

No. CI is still sad. 😞 but it looks unreleased.

Copy link
Copy Markdown
Member

@joostlek joostlek left a comment

Choose a reason for hiding this comment

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

Let's put the comments in the file for the things we agree on and merge it and improve from there!

Comment thread homeassistant/components/gios/quality_scale.yaml
brands: done
common-modules: done
config-flow-test-coverage: done
config-flow: done
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.

Let's limit the scope of the try block in the user step

entity-event-setup: done
entity-unique-id: done
has-entity-name: done
runtime-data: done
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.

No direct need to wrap the coordinator in a dataclass to store in the config entry

comment: This integration does not require authentication.
test-coverage: done
# Gold
devices: done
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.

Why do we actually cache the name in the entry data instead of using the up to date name?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Previously, CONF_NAME was a user-configurable field, with "Home" used as the default value when the user did not provide a custom name.

With the changes introduced in #155762, the integration now always uses the value stored in CONF_NAME as the device name. The device name is no longer derived from live station data at runtime.

This makes CONF_NAME a required piece of persisted configuration data. To maintain backward compatibility - especially for downgrade scenarios where older Home Assistant versions still expect CONF_NAME to be present - we always populate CONF_NAME when creating the config entry.

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 wouldn't really consider downgrading a use case, but this is a nice food for thought

status: exempt
comment: This integration does not have devices.
entity-category: done
entity-device-class: done
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.

You can use the CO device class for the carbon monoxide sensor

entity-category: done
entity-device-class: done
entity-disabled-by-default: done
entity-translations: done
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 think we can remove the options state_attributes now as we discussed this before

appropriate-polling: done
brands: done
common-modules: done
config-flow-test-coverage: done
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 would recommend to have the happy flow as the first test, which can be merged with test_show_form.

appropriate-polling: done
brands: done
common-modules: done
config-flow-test-coverage: done
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.

The config flow tests are missing adding a duplicate entry

reauthentication-flow:
status: exempt
comment: This integration does not require authentication.
test-coverage: done
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'd expect test_async_setup_entry to test the state of the mock config entry, instead of an wentity state

reauthentication-flow:
status: exempt
comment: This integration does not require authentication.
test-coverage: done
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.

test_availability doesn't really do what it says it does, and this is now already tested via the snapshot test

@home-assistant home-assistant Bot marked this pull request as draft January 29, 2026 21:09
@home-assistant
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.

@mik-laj mik-laj force-pushed the gios-quality-scale-2 branch from e9ba443 to f629629 Compare February 4, 2026 00:29
@mik-laj mik-laj force-pushed the gios-quality-scale-2 branch from ff16e46 to 49aa5b4 Compare February 7, 2026 19:55
@mik-laj mik-laj requested review from bieniu and joostlek February 7, 2026 20:07
@mik-laj mik-laj marked this pull request as ready for review February 7, 2026 20:07
@mik-laj mik-laj mentioned this pull request Feb 7, 2026
21 tasks
@joostlek joostlek merged commit 7da339b into home-assistant:dev Feb 13, 2026
32 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Feb 14, 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