diff --git a/homeassistant/components/dnsip/manifest.json b/homeassistant/components/dnsip/manifest.json index 04c5699b9aa7..1014968b07f7 100644 --- a/homeassistant/components/dnsip/manifest.json +++ b/homeassistant/components/dnsip/manifest.json @@ -6,5 +6,6 @@ "documentation": "https://www.home-assistant.io/integrations/dnsip", "integration_type": "service", "iot_class": "cloud_polling", + "quality_scale": "bronze", "requirements": ["aiodns==4.0.4"] } diff --git a/homeassistant/components/dnsip/quality_scale.yaml b/homeassistant/components/dnsip/quality_scale.yaml new file mode 100644 index 000000000000..29188e5b9669 --- /dev/null +++ b/homeassistant/components/dnsip/quality_scale.yaml @@ -0,0 +1,90 @@ +rules: + # Bronze + action-setup: + status: exempt + comment: Integration does not register custom actions. + appropriate-polling: done + brands: done + common-modules: done + config-flow-test-coverage: done + config-flow: done + dependency-transparency: done + docs-actions: + status: exempt + comment: Integration does not register custom actions. + docs-conditions: + status: exempt + comment: Does not provide conditions + docs-high-level-description: done + docs-installation-instructions: done + docs-removal-instructions: done + docs-triggers: + status: exempt + comment: Does not provide triggers + entity-event-setup: + status: exempt + comment: Entities do not subscribe to events; the sensor polls via async_update. + entity-unique-id: done + has-entity-name: done + runtime-data: done + test-before-configure: done + test-before-setup: done + unique-config-entry: done + + # Silver + action-exceptions: + status: exempt + comment: Integration does not register custom actions. + config-entry-unloading: done + docs-configuration-parameters: done + docs-installation-parameters: done + entity-unavailable: done + integration-owner: done + log-when-unavailable: todo + parallel-updates: todo + reauthentication-flow: + status: exempt + comment: DNS resolution does not require authentication. + test-coverage: done + + # Gold + devices: done + diagnostics: todo + discovery-update-info: + status: exempt + comment: DNS resolvers do not support discovery. + discovery: + status: exempt + comment: DNS resolvers do not support discovery. + docs-data-update: done + docs-examples: todo + docs-known-limitations: todo + docs-supported-devices: + status: exempt + comment: Integration does not represent physical devices. + docs-supported-functions: todo + docs-troubleshooting: done + docs-use-cases: todo + dynamic-devices: + status: exempt + comment: Integration does not represent physical devices. + entity-category: done + entity-device-class: done + entity-disabled-by-default: done + entity-translations: done + exception-translations: todo + icon-translations: done + reconfiguration-flow: todo + repair-issues: + status: exempt + comment: No repairs. + stale-devices: + status: exempt + comment: Integration does not represent physical devices. + + # Platinum + async-dependency: done + inject-websession: + status: exempt + comment: Integration uses aiodns directly; no shared HTTP websession applies. + strict-typing: todo diff --git a/script/hassfest/quality_scale.py b/script/hassfest/quality_scale.py index 10d8d33a40e9..cdd8a4fe22b2 100644 --- a/script/hassfest/quality_scale.py +++ b/script/hassfest/quality_scale.py @@ -263,7 +263,6 @@ INTEGRATIONS_WITHOUT_QUALITY_SCALE_FILE = [ "dlink", "dlna_dmr", "dlna_dms", - "dnsip", "dominos", "doods", "doorbird", @@ -1192,7 +1191,6 @@ INTEGRATIONS_WITHOUT_SCALE = [ "dlink", "dlna_dmr", "dlna_dms", - "dnsip", "dominos", "doods", "doorbird",