Mark flexit_bacnet as silver on the quality scale 🥈#138951
Mark flexit_bacnet as silver on the quality scale 🥈#138951andrewsayre merged 1 commit intohome-assistant:devfrom
Conversation
|
Hey there @piotrbulinski, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
andrewsayre
left a comment
There was a problem hiding this comment.
Nice work! Two things:
docs-installation-parameters: I wasn't able to find the install parameters (ip_addressanddevice_id) defined in the documentation. They should be in a{% configuration_basic %}section: https://developers.home-assistant.io/docs/core/integration-quality-scale/rules/docs-installation-parameters/parallel-updates: Not blocking, howeverPARALLEL_UPDATESis defined belowasync_setup_entryin all the platforms, reducing maintainability. Conventionally, modules are typically ordered by imports, constants, then classes and functions.
Thanks!
Andy
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
|
Related question, why do some platforms have a |
|
Another item to address (from bronze):
|
|
Hello, and thanks for reviewing @andrewsayre
My understanding was then to set it to 1 for action calls. Please let me know if you believe it to be wrong.
Let me know if you have more questions!
|
031e719 to
a9e6049
Compare
@andrewsayre That's fine. Outbound actions (e.g. switching a switch) are not parallelized by a coordinator and therefore might need another value. |
Yeah, after imports and before things like async_setup_entry, so all of the module constants are together. However not a blocker, but a convention I'd suggest aligning to in the future. Thanks for the other responses! I apologize, I only checked next for the docs, not current. All items are accounted for! |
|
Thanks @andrewsayre ! |
Breaking change
Proposed change
Bump quality level to silver 🥈
Type of change
Bronze
action-setup- Service actions are registered in async_setupappropriate-polling- If it's a polling integration, set an appropriate polling intervalbrands- Has branding assets available for the integrationcommon-modules- Place common patterns in common modulesconfig-flow-test-coverage- Full test coverage for the config flowconfig-flow- Integration needs to be able to be set up via the UIdata_descriptionto give context to fieldsConfigEntry.dataandConfigEntry.optionscorrectlydependency-transparency- Dependency transparencydocs-actions- The documentation describes the provided service actions that can be useddocs-high-level-description- The documentation includes a high-level description of the integration brand, product, or servicedocs-installation-instructions- The documentation provides step-by-step installation instructions for the integration, including, if needed, prerequisitesdocs-removal-instructions- The documentation provides removal instructionsentity-event-setup- Entities event setupentity-unique-id- Entities have a unique IDhas-entity-name- Entities use has_entity_name = Trueruntime-data- Use ConfigEntry.runtime_data to store runtime datatest-before-configure- Test a connection in the config flowtest-before-setup- Check during integration initialization if we are able to set it up correctlyunique-config-entry- Don't allow the same device or service to be able to be set up twiceSilver
action-exceptions- Service actions raise exceptions when encountering failuresconfig-entry-unloading- Support config entry unloadingdocs-configuration-parameters- The documentation describes all integration configuration optionsdocs-installation-parameters- The documentation describes all integration installation parametersentity-unavailable- Mark entity unavailable if appropriateintegration-owner- Has an integration ownerlog-when-unavailable- If internet/device/service is unavailable, log once when unavailable and once when back connectedparallel-updates- Set Parallel updatesreauthentication-flow- Reauthentication flowtest-coverage- Above 95% test coverage for all integration modulesGold
devices- The integration creates devicesdiagnostics- Implements diagnosticsdiscovery-update-info- Integration uses discovery info to update network informationdiscovery- Can be discovereddocs-data-update- The documentation describes how data is updateddocs-examples- The documentation provides automation examples the user can use.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 devicesdocs-supported-functions- The documentation describes the supported functionality, including entities, and platformsdocs-troubleshooting- The documentation provides troubleshooting informationdocs-use-cases- The documentation describes use cases to illustrate how this integration can be useddynamic-devices- Devices added after integration setupentity-category- Entities are assigned an appropriate EntityCategoryentity-device-class- Entities use device classes where possibleentity-disabled-by-default- Integration disables less popular (or noisy) entitiesentity-translations- Entities have translated namesexception-translations- Exception messages are translatableicon-translations- Icon translationsreconfiguration-flow- Integrations should have a reconfigure flowrepair-issues- Repair issues and repair flows are used when user intervention is neededstale-devices- Clean up stale devicesPlatinum
async-dependency- Dependency is asyncinject-websession- The integration dependency supports passing in a websessionstrict-typing- Strict typingAdditional 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: