From c9c553047c721540df06387c59bf473d19d25190 Mon Sep 17 00:00:00 2001 From: "Steven B." <51370195+sdb9696@users.noreply.github.com> Date: Wed, 8 Jan 2025 19:08:04 +0000 Subject: [PATCH] Add quality scale file to tplink integration (#135017) --- homeassistant/components/tplink/__init__.py | 4 +- .../components/tplink/quality_scale.yaml | 78 +++++++++++++++++++ script/hassfest/quality_scale.py | 1 - 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 homeassistant/components/tplink/quality_scale.yaml diff --git a/homeassistant/components/tplink/__init__.py b/homeassistant/components/tplink/__init__.py index e2a2f99517f..13261ed752e 100644 --- a/homeassistant/components/tplink/__init__.py +++ b/homeassistant/components/tplink/__init__.py @@ -325,7 +325,9 @@ def _device_id_is_mac_or_none(mac: str, device_ids: Iterable[str]) -> str | None ) -async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: +async def async_migrate_entry( + hass: HomeAssistant, config_entry: TPLinkConfigEntry +) -> bool: """Migrate old entry.""" entry_version = config_entry.version entry_minor_version = config_entry.minor_version diff --git a/homeassistant/components/tplink/quality_scale.yaml b/homeassistant/components/tplink/quality_scale.yaml new file mode 100644 index 00000000000..3a2e10bc426 --- /dev/null +++ b/homeassistant/components/tplink/quality_scale.yaml @@ -0,0 +1,78 @@ +rules: + # Bronze + config-flow: done + test-before-configure: done + unique-config-entry: done + config-flow-test-coverage: + status: todo + comment: Clean up stale docstrings + runtime-data: + status: todo + comment: Use typed config entry in coordinator + test-before-setup: done + appropriate-polling: done + entity-unique-id: done + has-entity-name: done + entity-event-setup: + status: exempt + comment: The integration does not use events. + dependency-transparency: todo + action-setup: + status: exempt + comment: The integration only uses platform services. + common-modules: done + docs-high-level-description: done + docs-installation-instructions: done + docs-removal-instructions: done + docs-actions: done + brands: done + + # Silver + config-entry-unloading: done + log-when-unavailable: done + entity-unavailable: done + action-exceptions: done + reauthentication-flow: done + parallel-updates: done + test-coverage: + status: todo + comment: Move test constants to const.py, mock_init \ + docstrings, entity_registry fixture, unused freezers \ + match exceptions, use freezer in test_fan, use async_setup \ + remove if statements from light tests, use constants in service calls + integration-owner: done + docs-installation-parameters: todo + docs-configuration-parameters: + status: exempt + comment: The integration does not have any options configuration parameters. + + # Gold + entity-translations: + status: todo + comment: Use device class translations, remove unused translations \ + translate Unnamed, setup exceptions, mac mismatch, async_set_hvac_mode + entity-device-class: done + devices: done + entity-category: done + entity-disabled-by-default: done + discovery: done + stale-devices: todo + diagnostics: done + exception-translations: done + icon-translations: done + reconfiguration-flow: done + dynamic-devices: todo + discovery-update-info: done + repair-issues: done + docs-use-cases: todo + docs-supported-devices: done + docs-supported-functions: todo + docs-data-update: todo + docs-known-limitations: todo + docs-troubleshooting: todo + docs-examples: todo + + # Platinum + async-dependency: done + inject-websession: done + strict-typing: done diff --git a/script/hassfest/quality_scale.py b/script/hassfest/quality_scale.py index 4876ab225e9..e16d83028b7 100644 --- a/script/hassfest/quality_scale.py +++ b/script/hassfest/quality_scale.py @@ -1041,7 +1041,6 @@ INTEGRATIONS_WITHOUT_QUALITY_SCALE_FILE = [ "torque", "touchline", "touchline_sl", - "tplink", "tplink_lte", "tplink_omada", "traccar",