-
config-flow
- Integration needs to be able to be set up via the UI- Uses
data_description
to give context to fields - Uses
ConfigEntry.data
andConfigEntry.options
correctly
- Uses
-
test-before-configure
- Test a connection in the config flow -
unique-config-entry
- Don't allow the same device or service to be able to be set up twice -
config-flow-test-coverage
- Full test coverage for the config flow -
runtime-data
- Use ConfigEntry.runtime_data to store runtime data -
test-before-setup
- Check during integration initialization if we are able to set it up correctly -
appropriate-polling
- If it's a polling integration, set an appropriate polling interval -
entity-unique-id
- Entities have a unique ID -
has-entity-name
- Entities use has_entity_name = True - [N/A]
entity-event-setup
- Entities event setup - [N/A]
dependency-transparency
- Dependency transparency -
action-setup
- Service actions are registered in async_setup -
common-modules
- Place common patterns in common modules -
docs-high-level-description
- The documentation includes a high-level description of the integration brand, product, or service -
docs-installation-instructions
- The documentation provides step-by-step installation instructions for the integration, including, if needed, prerequisites -
docs-removal-instructions
- The documentation provides removal instructions -
docs-actions
- The documentation describes the provided service actions that can be used -
brands
- Has branding assets available for the integration
-
config-entry-unloading
- Support config entry unloading - [N/A]
log-when-unavailable
- If internet/device/service is unavailable, log once when unavailable and once when back connected -
entity-unavailable
- Mark entity unavailable if appropriate -
action-exceptions
- Service actions raise exceptions when encountering failures -
reauthentication-flow
- Reauthentication flow - [N/A]
parallel-updates
- Set Parallel updates -
test-coverage
- Above 95% test coverage for all integration modules -
integration-owner
- Has an integration owner -
docs-installation-parameters
- The documentation describes all integration installation parameters -
docs-configuration-parameters
- The documentation describes all integration configuration options
-
entity-translations
- Entities have translated names -
entity-device-class
- Entities use device classes where possible -
devices
- The integration creates devices -
entity-category
- Entities are assigned an appropriate EntityCategory -
entity-disabled-by-default
- Integration disables less popular (or noisy) entities - [N/A]
discovery
- Can be discovered - [N/A]
stale-devices
- Clean up stale devices -
diagnostics
- Implements diagnostics -
exception-translations
- Exception messages are translatable -
icon-translations
- Icon translations -
reconfiguration-flow
- Integrations should have a reconfigure flow - [N/A]
dynamic-devices
- Devices added after integration setup - [N/A]
discovery-update-info
- Integration uses discovery info to update network information -
repair-issues
- Repair issues and repair flows are used when user intervention is needed -
docs-use-cases
- The documentation describes use cases to illustrate how this integration can be used - [N/A]
docs-supported-devices
- The documentation describes known supported / unsupported devices -
docs-supported-functions
- The documentation describes the supported functionality, including entities, and platforms -
docs-data-update
- The documentation describes how data is updated -
docs-known-limitations
- The documentation describes known limitations of the integration (not to be confused with bugs) -
docs-troubleshooting
- The documentation provides troubleshooting information -
docs-examples
- The documentation provides automation examples the user can use.
- [N/A]
async-dependency
- Dependency is async - [N/A]
inject-websession
- The integration dependency supports passing in a websession -
strict-typing
- Strict typing
entity-event-setup
: Entity event are not used by the integration, so there is nothing to set up.dependency-transparency
: The integration does not utilise an externally hosted dependency.log-when-unavailable
: It is not desirable to log once when the Solcast REST API is unavailable and then once more when re-connected. Each interaction is atomic, and a connection is not held open.parallel-updates
: Parallel updates of local devices are not applicable given the nature of the integration.discovery
: Local devices are not used, so discovery of any is irrelevant.stale-devices
: A single device is created for the integration instance. There can only be one instance.dynamic-devices
: A single device is created for the integration instance. There can only be one instance.discovery-update-info
: Local devices are not used, so updating network information is irrelevant.docs-supported-devices
: Local devices are not used, and API variability is irrelevant.async-dependency
: The integration does not utilise an externally hosted dependency.inject-websession
: The integration does not utilise an externally hosted dependency.