Record current Synology DSM integration quality scale #141245
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed change
Unfortunately no tier is full-filled, but we're close to complie to Bronze - proper PRs will follow, to achieve it.
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_description
to give context to fieldsConfigEntry.data
andConfigEntry.options
correctlydependency-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 typingType 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: