diff --git a/homeassistant/components/mikrotik/manifest.json b/homeassistant/components/mikrotik/manifest.json index bf10f95b2e07..40575366121f 100644 --- a/homeassistant/components/mikrotik/manifest.json +++ b/homeassistant/components/mikrotik/manifest.json @@ -7,5 +7,6 @@ "integration_type": "device", "iot_class": "local_polling", "loggers": ["librouteros"], + "quality_scale": "silver", "requirements": ["librouteros==4.1.1"] } diff --git a/homeassistant/components/mikrotik/quality_scale.yaml b/homeassistant/components/mikrotik/quality_scale.yaml new file mode 100644 index 000000000000..c1ad61dd02f4 --- /dev/null +++ b/homeassistant/components/mikrotik/quality_scale.yaml @@ -0,0 +1,77 @@ +rules: + # Bronze + action-setup: + status: exempt + comment: Integration does not provide 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 provide actions + docs-conditions: + status: exempt + comment: Integration does not provide conditions + docs-high-level-description: done + docs-installation-instructions: done + docs-removal-instructions: done + docs-triggers: + status: exempt + comment: Integration does not provide triggers + entity-event-setup: + status: exempt + comment: Integration does not provide event entities + 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: done + config-entry-unloading: done + docs-configuration-parameters: done + docs-installation-parameters: done + entity-unavailable: done + integration-owner: done + log-when-unavailable: done + parallel-updates: done + reauthentication-flow: done + test-coverage: done + + # Gold + devices: done + diagnostics: done + discovery-update-info: todo + discovery: todo + docs-data-update: todo + docs-examples: todo + docs-known-limitations: todo + docs-supported-devices: todo + docs-supported-functions: done + docs-troubleshooting: todo + docs-use-cases: todo + dynamic-devices: done + entity-category: done + entity-device-class: done + entity-disabled-by-default: done + entity-translations: done + exception-translations: done + icon-translations: done + reconfiguration-flow: todo + repair-issues: todo + stale-devices: todo + + # Platinum + async-dependency: todo + inject-websession: + status: exempt + comment: librouteros uses the RouterOS binary API over raw sockets, not HTTP. + strict-typing: + status: todo + comment: >- + librouteros does not ship a py.typed marker (not PEP 561 compliant) diff --git a/script/hassfest/quality_scale.py b/script/hassfest/quality_scale.py index 019e382a84a2..a8c8ffa160ac 100644 --- a/script/hassfest/quality_scale.py +++ b/script/hassfest/quality_scale.py @@ -579,7 +579,6 @@ INTEGRATIONS_WITHOUT_QUALITY_SCALE_FILE = [ "mfi", "microbees", "microsoft", - "mikrotik", "mill", "min_max", "minio", @@ -1524,7 +1523,6 @@ INTEGRATIONS_WITHOUT_SCALE = [ "mfi", "microbees", "microsoft", - "mikrotik", "mill", "min_max", "minio",