From eed6ca51e919b443cd5f8ec82f63bf2711bf30ae Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Wed, 5 Jan 2022 13:49:14 +0100 Subject: [PATCH] Add setup type hints [g] (#63432) Co-authored-by: epenet --- homeassistant/components/garadget/cover.py | 14 +++++++++++-- .../components/gc100/binary_sensor.py | 14 +++++++++++-- homeassistant/components/gc100/switch.py | 14 +++++++++++-- homeassistant/components/goodwe/number.py | 9 ++++++++- homeassistant/components/goodwe/select.py | 9 ++++++++- homeassistant/components/goodwe/sensor.py | 11 ++++++++-- homeassistant/components/greenwave/light.py | 20 ++++++++++++++----- 7 files changed, 76 insertions(+), 15 deletions(-) diff --git a/homeassistant/components/garadget/cover.py b/homeassistant/components/garadget/cover.py index ad89c3a035b..75198fa2f60 100644 --- a/homeassistant/components/garadget/cover.py +++ b/homeassistant/components/garadget/cover.py @@ -1,4 +1,6 @@ """Platform for the Garadget cover component.""" +from __future__ import annotations + import logging import requests @@ -15,8 +17,11 @@ from homeassistant.const import ( STATE_CLOSED, STATE_OPEN, ) +from homeassistant.core import HomeAssistant import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.event import track_utc_time_change +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType _LOGGER = logging.getLogger(__name__) @@ -55,10 +60,15 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( ) -def setup_platform(hass, config, add_entities, discovery_info=None): +def setup_platform( + hass: HomeAssistant, + config: ConfigType, + add_entities: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Set up the Garadget covers.""" covers = [] - devices = config.get(CONF_COVERS) + devices = config[CONF_COVERS] for device_id, device_config in devices.items(): args = { diff --git a/homeassistant/components/gc100/binary_sensor.py b/homeassistant/components/gc100/binary_sensor.py index 43ceb75e449..f93076196a3 100644 --- a/homeassistant/components/gc100/binary_sensor.py +++ b/homeassistant/components/gc100/binary_sensor.py @@ -1,9 +1,14 @@ """Support for binary sensor using GC100.""" +from __future__ import annotations + import voluptuous as vol from homeassistant.components.binary_sensor import PLATFORM_SCHEMA, BinarySensorEntity from homeassistant.const import DEVICE_DEFAULT_NAME +from homeassistant.core import HomeAssistant import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import CONF_PORTS, DATA_GC100 @@ -14,10 +19,15 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( ) -def setup_platform(hass, config, add_entities, discovery_info=None): +def setup_platform( + hass: HomeAssistant, + config: ConfigType, + add_entities: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Set up the GC100 devices.""" binary_sensors = [] - ports = config.get(CONF_PORTS) + ports = config[CONF_PORTS] for port in ports: for port_addr, port_name in port.items(): binary_sensors.append( diff --git a/homeassistant/components/gc100/switch.py b/homeassistant/components/gc100/switch.py index 6be42e35deb..bf5bb9c5262 100644 --- a/homeassistant/components/gc100/switch.py +++ b/homeassistant/components/gc100/switch.py @@ -1,10 +1,15 @@ """Support for switches using GC100.""" +from __future__ import annotations + import voluptuous as vol from homeassistant.components.switch import PLATFORM_SCHEMA from homeassistant.const import DEVICE_DEFAULT_NAME +from homeassistant.core import HomeAssistant import homeassistant.helpers.config_validation as cv from homeassistant.helpers.entity import ToggleEntity +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import CONF_PORTS, DATA_GC100 @@ -15,10 +20,15 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( ) -def setup_platform(hass, config, add_entities, discovery_info=None): +def setup_platform( + hass: HomeAssistant, + config: ConfigType, + add_entities: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Set up the GC100 devices.""" switches = [] - ports = config.get(CONF_PORTS) + ports = config[CONF_PORTS] for port in ports: for port_addr, port_name in port.items(): switches.append(GC100Switch(port_name, port_addr, hass.data[DATA_GC100])) diff --git a/homeassistant/components/goodwe/number.py b/homeassistant/components/goodwe/number.py index 790af1afaa8..614cab3d90a 100644 --- a/homeassistant/components/goodwe/number.py +++ b/homeassistant/components/goodwe/number.py @@ -8,8 +8,11 @@ import logging from goodwe import Inverter, InverterError from homeassistant.components.number import NumberEntity, NumberEntityDescription +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ENTITY_CATEGORY_CONFIG, PERCENTAGE, POWER_WATT +from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN, KEY_DEVICE_INFO, KEY_INVERTER @@ -59,7 +62,11 @@ NUMBERS = ( ) -async def async_setup_entry(hass, config_entry, async_add_entities): +async def async_setup_entry( + hass: HomeAssistant, + config_entry: ConfigEntry, + async_add_entities: AddEntitiesCallback, +) -> None: """Set up the inverter select entities from a config entry.""" inverter = hass.data[DOMAIN][config_entry.entry_id][KEY_INVERTER] device_info = hass.data[DOMAIN][config_entry.entry_id][KEY_DEVICE_INFO] diff --git a/homeassistant/components/goodwe/select.py b/homeassistant/components/goodwe/select.py index 214b672111a..b8ff5c91a3c 100644 --- a/homeassistant/components/goodwe/select.py +++ b/homeassistant/components/goodwe/select.py @@ -4,8 +4,11 @@ import logging from goodwe import Inverter, InverterError from homeassistant.components.select import SelectEntity, SelectEntityDescription +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ENTITY_CATEGORY_CONFIG +from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN, KEY_DEVICE_INFO, KEY_INVERTER @@ -27,7 +30,11 @@ OPERATION_MODE = SelectEntityDescription( ) -async def async_setup_entry(hass, config_entry, async_add_entities): +async def async_setup_entry( + hass: HomeAssistant, + config_entry: ConfigEntry, + async_add_entities: AddEntitiesCallback, +) -> None: """Set up the inverter select entities from a config entry.""" inverter = hass.data[DOMAIN][config_entry.entry_id][KEY_INVERTER] device_info = hass.data[DOMAIN][config_entry.entry_id][KEY_DEVICE_INFO] diff --git a/homeassistant/components/goodwe/sensor.py b/homeassistant/components/goodwe/sensor.py index b6a4b739553..f15f55d27ce 100644 --- a/homeassistant/components/goodwe/sensor.py +++ b/homeassistant/components/goodwe/sensor.py @@ -13,6 +13,7 @@ from homeassistant.components.sensor import ( SensorEntity, SensorEntityDescription, ) +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( DEVICE_CLASS_BATTERY, DEVICE_CLASS_CURRENT, @@ -29,7 +30,9 @@ from homeassistant.const import ( POWER_WATT, TEMP_CELSIUS, ) +from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import ( CoordinatorEntity, DataUpdateCoordinator, @@ -119,9 +122,13 @@ DIAG_SENSOR = GoodweSensorEntityDescription( ) -async def async_setup_entry(hass, config_entry, async_add_entities): +async def async_setup_entry( + hass: HomeAssistant, + config_entry: ConfigEntry, + async_add_entities: AddEntitiesCallback, +) -> None: """Set up the GoodWe inverter from a config entry.""" - entities = [] + entities: list[InverterSensor] = [] inverter = hass.data[DOMAIN][config_entry.entry_id][KEY_INVERTER] coordinator = hass.data[DOMAIN][config_entry.entry_id][KEY_COORDINATOR] device_info = hass.data[DOMAIN][config_entry.entry_id][KEY_DEVICE_INFO] diff --git a/homeassistant/components/greenwave/light.py b/homeassistant/components/greenwave/light.py index b3d6898d984..d577c4a3301 100644 --- a/homeassistant/components/greenwave/light.py +++ b/homeassistant/components/greenwave/light.py @@ -1,4 +1,6 @@ """Support for Greenwave Reality (TCP Connected) lights.""" +from __future__ import annotations + from datetime import timedelta import logging import os @@ -13,7 +15,10 @@ from homeassistant.components.light import ( LightEntity, ) from homeassistant.const import CONF_HOST +from homeassistant.core import HomeAssistant import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from homeassistant.util import Throttle _LOGGER = logging.getLogger(__name__) @@ -29,13 +34,18 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1) -def setup_platform(hass, config, add_entities, discovery_info=None): +def setup_platform( + hass: HomeAssistant, + config: ConfigType, + add_entities: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Set up the Greenwave Reality Platform.""" host = config.get(CONF_HOST) - tokenfile = hass.config.path(".greenwave") + tokenfilename = hass.config.path(".greenwave") if config.get(CONF_VERSION) == 3: - if os.path.exists(tokenfile): - with open(tokenfile, encoding="utf8") as tokenfile: + if os.path.exists(tokenfilename): + with open(tokenfilename, encoding="utf8") as tokenfile: token = tokenfile.read() else: try: @@ -43,7 +53,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None): except PermissionError: _LOGGER.error("The Gateway Is Not In Sync Mode") raise - with open(tokenfile, "w+", encoding="utf8") as tokenfile: + with open(tokenfilename, "w+", encoding="utf8") as tokenfile: tokenfile.write(token) else: token = None