mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 09:47:13 +00:00
Adjust config-flow type hints in gogogate2 (#72445)
This commit is contained in:
parent
8d72891d83
commit
6bc09741c7
@ -1,12 +1,14 @@
|
||||
"""Config flow for Gogogate2."""
|
||||
from __future__ import annotations
|
||||
|
||||
import dataclasses
|
||||
import re
|
||||
from typing import Any
|
||||
|
||||
from ismartgate.common import AbstractInfoResponse, ApiError
|
||||
from ismartgate.const import GogoGate2ApiErrorCode, ISmartGateApiErrorCode
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant import data_entry_flow
|
||||
from homeassistant.components import dhcp, zeroconf
|
||||
from homeassistant.config_entries import ConfigFlow
|
||||
from homeassistant.const import (
|
||||
@ -15,6 +17,7 @@ from homeassistant.const import (
|
||||
CONF_PASSWORD,
|
||||
CONF_USERNAME,
|
||||
)
|
||||
from homeassistant.data_entry_flow import AbortFlow, FlowResult
|
||||
|
||||
from .common import get_api
|
||||
from .const import DEVICE_TYPE_GOGOGATE2, DEVICE_TYPE_ISMARTGATE, DOMAIN
|
||||
@ -30,28 +33,26 @@ class Gogogate2FlowHandler(ConfigFlow, domain=DOMAIN):
|
||||
|
||||
VERSION = 1
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self) -> None:
|
||||
"""Initialize the config flow."""
|
||||
self._ip_address = None
|
||||
self._device_type = None
|
||||
self._ip_address: str | None = None
|
||||
self._device_type: str | None = None
|
||||
|
||||
async def async_step_homekit(
|
||||
self, discovery_info: zeroconf.ZeroconfServiceInfo
|
||||
) -> data_entry_flow.FlowResult:
|
||||
) -> FlowResult:
|
||||
"""Handle homekit discovery."""
|
||||
await self.async_set_unique_id(
|
||||
discovery_info.properties[zeroconf.ATTR_PROPERTIES_ID]
|
||||
)
|
||||
return await self._async_discovery_handler(discovery_info.host)
|
||||
|
||||
async def async_step_dhcp(
|
||||
self, discovery_info: dhcp.DhcpServiceInfo
|
||||
) -> data_entry_flow.FlowResult:
|
||||
async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> FlowResult:
|
||||
"""Handle dhcp discovery."""
|
||||
await self.async_set_unique_id(discovery_info.macaddress)
|
||||
return await self._async_discovery_handler(discovery_info.ip)
|
||||
|
||||
async def _async_discovery_handler(self, ip_address):
|
||||
async def _async_discovery_handler(self, ip_address: str) -> FlowResult:
|
||||
"""Start the user flow from any discovery."""
|
||||
self.context[CONF_IP_ADDRESS] = ip_address
|
||||
self._abort_if_unique_id_configured({CONF_IP_ADDRESS: ip_address})
|
||||
@ -61,12 +62,14 @@ class Gogogate2FlowHandler(ConfigFlow, domain=DOMAIN):
|
||||
self._ip_address = ip_address
|
||||
for progress in self._async_in_progress():
|
||||
if progress.get("context", {}).get(CONF_IP_ADDRESS) == self._ip_address:
|
||||
raise data_entry_flow.AbortFlow("already_in_progress")
|
||||
raise AbortFlow("already_in_progress")
|
||||
|
||||
self._device_type = DEVICE_TYPE_ISMARTGATE
|
||||
return await self.async_step_user()
|
||||
|
||||
async def async_step_user(self, user_input: dict = None):
|
||||
async def async_step_user(
|
||||
self, user_input: dict[str, Any] | None = None
|
||||
) -> FlowResult:
|
||||
"""Handle user initiated flow."""
|
||||
user_input = user_input or {}
|
||||
errors = {}
|
||||
|
Loading…
x
Reference in New Issue
Block a user