Bring nobo_hub to Bronze quality scale#168638
Bring nobo_hub to Bronze quality scale#168638oyvindwe wants to merge 11 commits intohome-assistant:devfrom
Conversation
|
Hey there @echoromeo, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
There was a problem hiding this comment.
Pull request overview
This PR brings the nobo_hub integration up to Bronze quality scale requirements by adding quality scale metadata, improving entity structure, and tightening test fixtures.
Changes:
- Add
quality_scale.yamland set"quality_scale": "bronze"in the integration manifest; update hassfest lists accordingly. - Introduce
NoboBaseEntityand refactorclimate,select, andsensorplatforms to inherit shared hub callback wiring. - Improve UX/test robustness by adding
data_descriptionstrings and ensuring test config entries haveruntime_datapopulated.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/components/nobo_hub/conftest.py | Ensures mocked setup populates entry.runtime_data to support real unload behavior. |
| script/hassfest/quality_scale.py | Removes nobo_hub from “without quality scale file/scale” exception lists. |
| homeassistant/components/nobo_hub/strings.json | Adds data_description for config/options flow fields. |
| homeassistant/components/nobo_hub/sensor.py | Moves temperature sensor to NoboBaseEntity for shared callback handling. |
| homeassistant/components/nobo_hub/select.py | Moves select entities to NoboBaseEntity for shared callback handling. |
| homeassistant/components/nobo_hub/quality_scale.yaml | Adds integration quality scale rule tracking file. |
| homeassistant/components/nobo_hub/manifest.json | Declares integration quality scale as Bronze. |
| homeassistant/components/nobo_hub/entity.py | Adds shared base entity implementing hub callback registration/deregistration. |
| homeassistant/components/nobo_hub/climate.py | Moves climate entity to NoboBaseEntity for shared callback handling. |
joostlek
left a comment
There was a problem hiding this comment.
I genuinely love these changes, but can we split this PR with the changes into several smaller ones and then 1 PR for the quality scale file? We could also merge a quality scale file with comments, which can be fixed afterwards
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
Of course:
I'll rebase this PR onto dev as soon as those are merged. |
- Add NoboBaseEntity to deduplicate the hub-callback wiring across climate, sensor, and select. - Add the quality_scale.yaml tracker and declare "bronze" in the manifest. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
870d22e to
4710737
Compare
|
All bronze requirements are merged to dev now. This PR should be ready for review :) |
|
@joostlek All review comments are handled. It would be very good to get this merged so I can start flipping the flags in upcoming PRs :) |
| discovery: | ||
| status: exempt | ||
| comment: The hub announces itself via a proprietary UDP broadcast not supported by Home Assistant. |
There was a problem hiding this comment.
Have you checked if we can find the device via DHCP? Because if we can recognize the device on the network we can propose the user to set it up
There was a problem hiding this comment.
PR #169595 - updated quality scale item to todo
Proposed change
Context: this is the last of 6 PRs to bring
nobo_hubto Bronze quality scale.This PR adds the quality scale to
nobo_huband initializes it to bronze.Silver, Gold, and Platinum work will follow in subsequent PRs.
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: