From 8899bc01bd1e5b345f5cb5486efbb3fd6987e684 Mon Sep 17 00:00:00 2001 From: johanzander Date: Tue, 2 Dec 2025 22:36:51 +0100 Subject: [PATCH] Add bronze quality scale to Growatt Server integration (#154649) Co-authored-by: Joostlek --- .../growatt_server/quality_scale.yaml | 76 +++++++++++++++++++ script/hassfest/quality_scale.py | 3 +- 2 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 homeassistant/components/growatt_server/quality_scale.yaml diff --git a/homeassistant/components/growatt_server/quality_scale.yaml b/homeassistant/components/growatt_server/quality_scale.yaml new file mode 100644 index 00000000000..6b2b1c85d88 --- /dev/null +++ b/homeassistant/components/growatt_server/quality_scale.yaml @@ -0,0 +1,76 @@ +rules: + # Bronze + action-setup: done + appropriate-polling: done + brands: done + common-modules: done + config-flow-test-coverage: done + config-flow: + status: todo + comment: data-descriptions missing + dependency-transparency: done + docs-actions: done + docs-high-level-description: done + docs-installation-instructions: done + docs-removal-instructions: done + entity-event-setup: done + 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: + status: todo + comment: Update server URL dropdown to show regional descriptions (e.g., 'China', 'United States') instead of raw URLs. + docs-installation-parameters: todo + entity-unavailable: + status: todo + comment: Replace bare Exception catches in __init__.py with specific growattServer exceptions. + integration-owner: done + log-when-unavailable: + status: todo + comment: Remove _LOGGER.error calls in coordinator.py when raising UpdateFailed (choose one, not both). + parallel-updates: done + reauthentication-flow: todo + test-coverage: todo + + # Gold + devices: + status: todo + comment: Add serial_number field to DeviceInfo in sensor, number, and switch platforms using device_id/serial_id. + diagnostics: todo + discovery-update-info: todo + discovery: todo + docs-data-update: todo + docs-examples: todo + docs-known-limitations: todo + docs-supported-devices: todo + docs-supported-functions: todo + docs-troubleshooting: todo + docs-use-cases: todo + dynamic-devices: todo + entity-category: + status: todo + comment: Add EntityCategory.DIAGNOSTIC to temperature and other diagnostic sensors. Merge GrowattRequiredKeysMixin into GrowattSensorEntityDescription using kw_only=True. + entity-device-class: + status: todo + comment: Replace custom precision field with suggested_display_precision to preserve full data granularity. + entity-disabled-by-default: todo + entity-translations: todo + exception-translations: todo + icon-translations: todo + reconfiguration-flow: todo + repair-issues: + status: exempt + comment: Integration does not raise repairable issues. + stale-devices: todo + + # Platinum + async-dependency: todo + inject-websession: todo + strict-typing: todo diff --git a/script/hassfest/quality_scale.py b/script/hassfest/quality_scale.py index c895f9c2b9e..5fd79ee3aa2 100644 --- a/script/hassfest/quality_scale.py +++ b/script/hassfest/quality_scale.py @@ -444,7 +444,6 @@ INTEGRATIONS_WITHOUT_QUALITY_SCALE_FILE = [ "greeneye_monitor", "greenwave", "group", - "growatt_server", "gtfs", "guardian", "harman_kardon_avr", @@ -1454,8 +1453,8 @@ INTEGRATIONS_WITHOUT_SCALE = [ "greeneye_monitor", "greenwave", "group", - "growatt_server", "gtfs", + "growatt_server", "guardian", "harman_kardon_avr", "harmony",