diff --git a/homeassistant/components/elkm1/manifest.json b/homeassistant/components/elkm1/manifest.json index c36c5aa9a68654..f0a7e68ba99703 100644 --- a/homeassistant/components/elkm1/manifest.json +++ b/homeassistant/components/elkm1/manifest.json @@ -15,5 +15,6 @@ "documentation": "https://www.home-assistant.io/integrations/elkm1", "iot_class": "local_push", "loggers": ["elkm1_lib"], + "quality_scale": "bronze", "requirements": ["elkm1-lib==2.2.13"] } diff --git a/homeassistant/components/elkm1/quality_scale.yaml b/homeassistant/components/elkm1/quality_scale.yaml new file mode 100644 index 00000000000000..6bb02fd50ab34b --- /dev/null +++ b/homeassistant/components/elkm1/quality_scale.yaml @@ -0,0 +1,62 @@ +rules: + # Bronze + action-setup: done + appropriate-polling: done + brands: done + common-modules: done + config-flow-test-coverage: done + config-flow: done + 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: done + docs-installation-parameters: done + entity-unavailable: done + integration-owner: done + log-when-unavailable: todo + parallel-updates: todo + reauthentication-flow: todo + test-coverage: todo + + # Gold + devices: done + diagnostics: todo + discovery-update-info: done + discovery: done + docs-data-update: todo + docs-examples: done + docs-known-limitations: done + docs-supported-devices: done + docs-supported-functions: done + docs-troubleshooting: done + docs-use-cases: todo + dynamic-devices: todo + entity-category: done + entity-device-class: done + entity-disabled-by-default: todo + entity-translations: todo + exception-translations: todo + icon-translations: todo + reconfiguration-flow: done + repair-issues: todo + stale-devices: todo + + # Platinum + async-dependency: done + inject-websession: + status: exempt + comment: Integration does not use HTTP/websession (uses elkm1_lib for Elk panel protocol). + strict-typing: done diff --git a/homeassistant/components/elkm1/strings.json b/homeassistant/components/elkm1/strings.json index fb3e09ee2fb53f..1d2c533f224279 100644 --- a/homeassistant/components/elkm1/strings.json +++ b/homeassistant/components/elkm1/strings.json @@ -24,6 +24,12 @@ "temperature_unit": "[%key:component::elkm1::config::step::manual_connection::data::temperature_unit%]", "username": "[%key:common::config_flow::data::username%]" }, + "data_description": { + "password": "[%key:component::elkm1::config::step::manual_connection::data_description::password%]", + "protocol": "[%key:component::elkm1::config::step::manual_connection::data_description::protocol%]", + "temperature_unit": "[%key:component::elkm1::config::step::manual_connection::data_description::temperature_unit%]", + "username": "[%key:component::elkm1::config::step::manual_connection::data_description::username%]" + }, "description": "Connect to the discovered system: {mac_address} ({host})", "title": "[%key:component::elkm1::config::step::user::title%]" }, @@ -36,6 +42,14 @@ "temperature_unit": "The temperature unit Elk-M1 uses.", "username": "[%key:common::config_flow::data::username%]" }, + "data_description": { + "address": "IP address, domain name, or serial device path. For serial use format 'tty[:baud]'.", + "password": "The password to authenticate with the Elk-M1 panel.", + "prefix": "Optional unique prefix to distinguish multiple Elk-M1 panels.", + "protocol": "Protocol to use when connecting to the Elk-M1 (secure, non-secure, serial, etc.).", + "temperature_unit": "Unit used by the Elk-M1 for temperature values (C or F).", + "username": "The username to authenticate with the Elk-M1 panel." + }, "description": "The address string must be in the form 'address[:port]' for 'secure' and 'non-secure'. Example: '192.168.1.1'. The port is optional and defaults to 2101 for 'non-secure' and 2601 for 'secure'. For the serial protocol, the address must be in the form 'tty[:baud]'. Example: '/dev/ttyS1'. The baud is optional and defaults to 115200.", "title": "[%key:component::elkm1::config::step::user::title%]" }, @@ -46,6 +60,12 @@ "protocol": "[%key:component::elkm1::config::step::manual_connection::data::protocol%]", "username": "[%key:common::config_flow::data::username%]" }, + "data_description": { + "address": "[%key:component::elkm1::config::step::manual_connection::data_description::address%]", + "password": "[%key:component::elkm1::config::step::manual_connection::data_description::password%]", + "protocol": "[%key:component::elkm1::config::step::manual_connection::data_description::protocol%]", + "username": "[%key:component::elkm1::config::step::manual_connection::data_description::username%]" + }, "description": "[%key:component::elkm1::config::step::manual_connection::description%]", "title": "Reconfigure Elk-M1 Control" }, @@ -53,6 +73,9 @@ "data": { "device": "[%key:common::config_flow::data::device%]" }, + "data_description": { + "device": "Select a discovered Elk-M1 control system to configure or choose Manual Entry to enter connection details." + }, "description": "Choose a discovered system or 'Manual Entry' if no devices have been discovered.", "title": "Connect to Elk-M1 Control" } diff --git a/script/hassfest/quality_scale.py b/script/hassfest/quality_scale.py index cf88614128fbf3..8840c241ebebe8 100644 --- a/script/hassfest/quality_scale.py +++ b/script/hassfest/quality_scale.py @@ -323,7 +323,6 @@ class Rule: "eight_sleep", "electrasmart", "eliqonline", - "elkm1", "elmax", "elv", "elvia", @@ -1324,7 +1323,6 @@ class Rule: "electrasmart", "elevenlabs", "eliqonline", - "elkm1", "elmax", "elgato", "elv",