Skip to content

Add quality scale for LCN #147367

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

Merged
merged 4 commits into from
Jun 25, 2025
Merged

Conversation

alengwenus
Copy link
Contributor

@alengwenus alengwenus commented Jun 23, 2025

Proposed change

Add quality scale for LCN (target quality scale: bronze)

Bronze

Silver

Gold

  • devices - The integration creates devices
    self._attr_device_info = DeviceInfo(
  • diagnostics - Implements diagnostics
  • discovery-update-info - Integration uses discovery info to update network information
  • discovery - Devices can be discovered
  • docs-data-update - The documentation describes how data is updated
  • docs-examples - The documentation provides automation examples the user can use.
    Documentation provides example snippets for all trigger events and actions.
  • docs-known-limitations - The documentation describes known limitations of the integration (not to be confused with bugs)
  • docs-supported-devices - The documentation describes known supported / unsupported devices
  • docs-supported-functions - The documentation describes the supported functionality, including entities, and platforms
    https://www.home-assistant.io/integrations/lcn/#supported-device-types
    https://www.home-assistant.io/integrations/lcn/#platforms
  • docs-troubleshooting - The documentation provides troubleshooting information
  • docs-use-cases - The documentation describes use cases to illustrate how this integration can be used
  • dynamic-devices - Devices added after integration setup
    Device discovery has to be manually triggered in the LCN configuration frontend. Manually adding devices is implemented.
  • entity-category - Entities are assigned an appropriate EntityCategory
  • entity-device-class - Entities use device classes where possible
  • entity-disabled-by-default - Integration disables less popular (or noisy) entities
    Entities are set up deliberately by the user in a special frontend panel. No need to disable them by default.
  • entity-translations - Entities have translated names
    Since all entities are configured manually, names are user-defined.
  • exception-translations - Exception messages are translatable
  • icon-translations - Entities implement icon translations
    https://github.com/home-assistant/core/blob/dev/homeassistant/components/lcn/icons.json
  • reconfiguration-flow - Integrations should have a reconfigure flow
    async def async_step_reconfigure(
  • repair-issues - Repair issues and repair flows are used when user intervention is needed
  • stale-devices - Stale devices are removed
    Device discovery has to be manually triggered in the LCN configuration frontend. Manually removing devices is implemented.

Platinum

  • async-dependency - Dependency is async
    https://github.com/alengwenus/pypck
  • inject-websession - The integration dependency supports passing in a websession
    Integration is not making any HTTP requests.
  • strict-typing - Strict typing

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

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

@alengwenus alengwenus force-pushed the dev-lcn-quality_scale branch from bca3baf to b742667 Compare June 23, 2025 17:12
Copy link
Member

@abmantis abmantis left a comment

Choose a reason for hiding this comment

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

We can set the integration to bronze in the manifest already

Copy link
Member

@abmantis abmantis left a comment

Choose a reason for hiding this comment

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

Reviewed up to Silver for now.

@home-assistant home-assistant bot marked this pull request as draft June 23, 2025 19:33
@home-assistant
Copy link

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.

@alengwenus alengwenus marked this pull request as ready for review June 23, 2025 19:50
@home-assistant home-assistant bot requested a review from abmantis June 23, 2025 19:50
comment: |
Since all entities are configured manually, names are user-defined.
exception-translations: done
icon-translations: done
Copy link
Member

Choose a reason for hiding this comment

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

this rule is about entity icons, but the integration has not defined entity icons, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You are right, currently the icons.json only covers services. I've put it back on todo.

@home-assistant home-assistant bot marked this pull request as draft June 24, 2025 15:55
@alengwenus alengwenus marked this pull request as ready for review June 24, 2025 19:48
@home-assistant home-assistant bot requested a review from abmantis June 24, 2025 19:48
Copy link
Member

@abmantis abmantis left a comment

Choose a reason for hiding this comment

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

Thanks @alengwenus

@abmantis abmantis merged commit bca7502 into home-assistant:dev Jun 25, 2025
34 checks passed
@alengwenus alengwenus deleted the dev-lcn-quality_scale branch June 25, 2025 11:41
@abmantis
Copy link
Member

By the way, regarding icon-translations I think you can mark that as exempt, since the integration has no icons specified for entiteis.

@alengwenus
Copy link
Contributor Author

By the way, regarding icon-translations I think you can mark that as exempt, since the integration has no icons specified for entiteis.

Ok, I will do this on my way to silver. 😄 Thanks a lot for your work on the review!

pelicarno pushed a commit to OlarmTech/home-assistant-core that referenced this pull request Jun 26, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Jun 26, 2025
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.

2 participants