From f2483bf660ffb190c565657999635da675f2ecc5 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 8 Jan 2024 08:05:51 +0100 Subject: [PATCH] Use constants in Alpha2 config flow (#107518) --- .../components/moehlenhoff_alpha2/__init__.py | 4 ++-- .../moehlenhoff_alpha2/config_flow.py | 19 ++++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/moehlenhoff_alpha2/__init__.py b/homeassistant/components/moehlenhoff_alpha2/__init__.py index 4992ecf34a7..05f6b23fdd0 100644 --- a/homeassistant/components/moehlenhoff_alpha2/__init__.py +++ b/homeassistant/components/moehlenhoff_alpha2/__init__.py @@ -8,7 +8,7 @@ import aiohttp from moehlenhoff_alpha2 import Alpha2Base from homeassistant.config_entries import ConfigEntry -from homeassistant.const import Platform +from homeassistant.const import CONF_HOST, Platform from homeassistant.core import HomeAssistant from homeassistant.exceptions import HomeAssistantError from homeassistant.helpers.update_coordinator import DataUpdateCoordinator @@ -24,7 +24,7 @@ UPDATE_INTERVAL = timedelta(seconds=60) async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Set up a config entry.""" - base = Alpha2Base(entry.data["host"]) + base = Alpha2Base(entry.data[CONF_HOST]) coordinator = Alpha2BaseCoordinator(hass, base) await coordinator.async_config_entry_first_refresh() diff --git a/homeassistant/components/moehlenhoff_alpha2/config_flow.py b/homeassistant/components/moehlenhoff_alpha2/config_flow.py index cafdca040b3..d2d14f27552 100644 --- a/homeassistant/components/moehlenhoff_alpha2/config_flow.py +++ b/homeassistant/components/moehlenhoff_alpha2/config_flow.py @@ -1,27 +1,30 @@ """Alpha2 config flow.""" import asyncio import logging +from typing import Any import aiohttp from moehlenhoff_alpha2 import Alpha2Base import voluptuous as vol -from homeassistant import config_entries +from homeassistant.config_entries import ConfigFlow +from homeassistant.const import CONF_HOST +from homeassistant.data_entry_flow import FlowResult from .const import DOMAIN _LOGGER = logging.getLogger(__name__) -DATA_SCHEMA = vol.Schema({vol.Required("host"): str}) +DATA_SCHEMA = vol.Schema({vol.Required(CONF_HOST): str}) -async def validate_input(data): +async def validate_input(data: dict[str, Any]) -> dict[str, str]: """Validate the user input allows us to connect. Data has the keys from DATA_SCHEMA with values provided by the user. """ - base = Alpha2Base(data["host"]) + base = Alpha2Base(data[CONF_HOST]) try: await base.update_data() except (aiohttp.client_exceptions.ClientConnectorError, asyncio.TimeoutError): @@ -34,16 +37,18 @@ async def validate_input(data): return {"title": base.name} -class Alpha2BaseConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): +class Alpha2BaseConfigFlow(ConfigFlow, domain=DOMAIN): """Möhlenhoff Alpha2 config flow.""" VERSION = 1 - async def async_step_user(self, user_input=None): + async def async_step_user( + self, user_input: dict[str, Any] | None = None + ) -> FlowResult: """Handle a flow initialized by the user.""" errors = {} if user_input is not None: - self._async_abort_entries_match({"host": user_input["host"]}) + self._async_abort_entries_match({CONF_HOST: user_input[CONF_HOST]}) result = await validate_input(user_input) if result.get("error"): errors["base"] = result["error"]