From cbaeec2a4e12e44f2b5c4d7dafd88fcbb1a9d8ad Mon Sep 17 00:00:00 2001 From: Ruslan Sayfutdinov Date: Fri, 30 Apr 2021 19:38:59 +0100 Subject: [PATCH] Use AddEntitiesCallback type, pt.2 (#49921) --- homeassistant/components/adguard/sensor.py | 5 ++--- homeassistant/components/adguard/switch.py | 5 ++--- homeassistant/components/awair/sensor.py | 6 ++---- homeassistant/components/bond/cover.py | 5 +++-- homeassistant/components/bond/fan.py | 5 +++-- homeassistant/components/bond/light.py | 5 +++-- homeassistant/components/bond/switch.py | 5 +++-- homeassistant/components/climacell/sensor.py | 6 +++--- homeassistant/components/climacell/weather.py | 6 +++--- homeassistant/components/fritzbox/binary_sensor.py | 5 ++--- homeassistant/components/fritzbox/sensor.py | 5 ++--- homeassistant/components/fritzbox/switch.py | 5 ++--- homeassistant/components/gogogate2/cover.py | 10 ++++++---- homeassistant/components/gogogate2/sensor.py | 5 ++--- homeassistant/components/google_travel_time/sensor.py | 4 ++-- homeassistant/components/isy994/binary_sensor.py | 4 ++-- homeassistant/components/isy994/climate.py | 5 ++--- homeassistant/components/isy994/cover.py | 5 ++--- homeassistant/components/isy994/fan.py | 4 ++-- homeassistant/components/isy994/light.py | 5 ++--- homeassistant/components/isy994/lock.py | 5 ++--- homeassistant/components/isy994/sensor.py | 5 ++--- homeassistant/components/isy994/switch.py | 5 ++--- homeassistant/components/kulersky/light.py | 5 ++--- homeassistant/components/notion/binary_sensor.py | 5 ++--- homeassistant/components/notion/sensor.py | 5 ++--- homeassistant/components/rainmachine/binary_sensor.py | 4 ++-- homeassistant/components/rainmachine/sensor.py | 4 ++-- homeassistant/components/rainmachine/switch.py | 4 ++-- homeassistant/components/spotify/media_player.py | 6 +++--- homeassistant/components/upnp/sensor.py | 7 +++++-- homeassistant/components/withings/binary_sensor.py | 6 ++---- homeassistant/components/withings/sensor.py | 6 ++---- homeassistant/components/wled/light.py | 6 +++--- homeassistant/components/wled/sensor.py | 6 +++--- homeassistant/components/wled/switch.py | 6 +++--- homeassistant/components/zerproc/light.py | 4 ++-- 37 files changed, 91 insertions(+), 103 deletions(-) diff --git a/homeassistant/components/adguard/sensor.py b/homeassistant/components/adguard/sensor.py index 4dd69d33705..7499cf51d0c 100644 --- a/homeassistant/components/adguard/sensor.py +++ b/homeassistant/components/adguard/sensor.py @@ -2,7 +2,6 @@ from __future__ import annotations from datetime import timedelta -from typing import Callable from adguardhome import AdGuardHome, AdGuardHomeConnectionError @@ -11,7 +10,7 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import PERCENTAGE, TIME_MILLISECONDS from homeassistant.core import HomeAssistant from homeassistant.exceptions import PlatformNotReady -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import AdGuardHomeDeviceEntity from .const import DATA_ADGUARD_CLIENT, DATA_ADGUARD_VERSION, DOMAIN @@ -23,7 +22,7 @@ PARALLEL_UPDATES = 4 async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up AdGuard Home sensor based on a config entry.""" adguard = hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_CLIENT] diff --git a/homeassistant/components/adguard/switch.py b/homeassistant/components/adguard/switch.py index 22b4e8319f3..f6c41e7f2e8 100644 --- a/homeassistant/components/adguard/switch.py +++ b/homeassistant/components/adguard/switch.py @@ -3,7 +3,6 @@ from __future__ import annotations from datetime import timedelta import logging -from typing import Callable from adguardhome import AdGuardHome, AdGuardHomeConnectionError, AdGuardHomeError @@ -11,7 +10,7 @@ from homeassistant.components.switch import SwitchEntity from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.exceptions import PlatformNotReady -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import AdGuardHomeDeviceEntity from .const import DATA_ADGUARD_CLIENT, DATA_ADGUARD_VERSION, DOMAIN @@ -25,7 +24,7 @@ PARALLEL_UPDATES = 1 async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up AdGuard Home switch based on a config entry.""" adguard = hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_CLIENT] diff --git a/homeassistant/components/awair/sensor.py b/homeassistant/components/awair/sensor.py index ee7453c0101..ade6ddccc8a 100644 --- a/homeassistant/components/awair/sensor.py +++ b/homeassistant/components/awair/sensor.py @@ -1,8 +1,6 @@ """Support for Awair sensors.""" from __future__ import annotations -from typing import Callable - from python_awair.devices import AwairDevice import voluptuous as vol @@ -13,7 +11,7 @@ from homeassistant.const import ATTR_ATTRIBUTION, ATTR_DEVICE_CLASS, CONF_ACCESS from homeassistant.core import HomeAssistant from homeassistant.helpers import device_registry as dr import homeassistant.helpers.config_validation as cv -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import ConfigType from homeassistant.helpers.update_coordinator import CoordinatorEntity @@ -57,7 +55,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info= async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigType, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ): """Set up Awair sensor entity based on a config entry.""" coordinator = hass.data[DOMAIN][config_entry.entry_id] diff --git a/homeassistant/components/bond/cover.py b/homeassistant/components/bond/cover.py index 60dcc4ec1f0..ca8432531e5 100644 --- a/homeassistant/components/bond/cover.py +++ b/homeassistant/components/bond/cover.py @@ -1,7 +1,7 @@ """Support for Bond covers.""" from __future__ import annotations -from typing import Any, Callable +from typing import Any from bond_api import Action, BPUPSubscriptions, DeviceType @@ -9,6 +9,7 @@ from homeassistant.components.cover import DEVICE_CLASS_SHADE, CoverEntity from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import BPUP_SUBS, DOMAIN, HUB from .entity import BondEntity @@ -18,7 +19,7 @@ from .utils import BondDevice, BondHub async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up Bond cover devices.""" data = hass.data[DOMAIN][entry.entry_id] diff --git a/homeassistant/components/bond/fan.py b/homeassistant/components/bond/fan.py index 817cf0f99a2..3d611eb3f8c 100644 --- a/homeassistant/components/bond/fan.py +++ b/homeassistant/components/bond/fan.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging import math -from typing import Any, Callable +from typing import Any from bond_api import Action, BPUPSubscriptions, DeviceType, Direction @@ -17,6 +17,7 @@ from homeassistant.components.fan import ( from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util.percentage import ( int_states_in_range, percentage_to_ranged_value, @@ -33,7 +34,7 @@ _LOGGER = logging.getLogger(__name__) async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up Bond fan devices.""" data = hass.data[DOMAIN][entry.entry_id] diff --git a/homeassistant/components/bond/light.py b/homeassistant/components/bond/light.py index 8faab26f785..887e7901d7d 100644 --- a/homeassistant/components/bond/light.py +++ b/homeassistant/components/bond/light.py @@ -2,7 +2,7 @@ from __future__ import annotations import logging -from typing import Any, Callable +from typing import Any from bond_api import Action, BPUPSubscriptions, DeviceType @@ -14,6 +14,7 @@ from homeassistant.components.light import ( from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import BondHub from .const import BPUP_SUBS, DOMAIN, HUB @@ -26,7 +27,7 @@ _LOGGER = logging.getLogger(__name__) async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up Bond light devices.""" data = hass.data[DOMAIN][entry.entry_id] diff --git a/homeassistant/components/bond/switch.py b/homeassistant/components/bond/switch.py index 23e99d6af30..36d23547d7e 100644 --- a/homeassistant/components/bond/switch.py +++ b/homeassistant/components/bond/switch.py @@ -1,7 +1,7 @@ """Support for Bond generic devices.""" from __future__ import annotations -from typing import Any, Callable +from typing import Any from bond_api import Action, BPUPSubscriptions, DeviceType @@ -9,6 +9,7 @@ from homeassistant.components.switch import SwitchEntity from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import BPUP_SUBS, DOMAIN, HUB from .entity import BondEntity @@ -18,7 +19,7 @@ from .utils import BondDevice, BondHub async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up Bond generic devices.""" data = hass.data[DOMAIN][entry.entry_id] diff --git a/homeassistant/components/climacell/sensor.py b/homeassistant/components/climacell/sensor.py index 50e051813c4..fc35f2c2a2e 100644 --- a/homeassistant/components/climacell/sensor.py +++ b/homeassistant/components/climacell/sensor.py @@ -4,7 +4,7 @@ from __future__ import annotations from abc import abstractmethod from collections.abc import Mapping import logging -from typing import Any, Callable +from typing import Any from pyclimacell.const import CURRENT @@ -20,7 +20,7 @@ from homeassistant.const import ( CONF_UNIT_SYSTEM_METRIC, ) from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util import slugify from . import ClimaCellDataUpdateCoordinator, ClimaCellEntity @@ -40,7 +40,7 @@ _LOGGER = logging.getLogger(__name__) async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up a config entry.""" coordinator = hass.data[DOMAIN][config_entry.entry_id] diff --git a/homeassistant/components/climacell/weather.py b/homeassistant/components/climacell/weather.py index 9c80a547f06..1b3b50e8566 100644 --- a/homeassistant/components/climacell/weather.py +++ b/homeassistant/components/climacell/weather.py @@ -5,7 +5,7 @@ from abc import abstractmethod from collections.abc import Mapping from datetime import datetime import logging -from typing import Any, Callable +from typing import Any from pyclimacell.const import ( CURRENT, @@ -41,7 +41,7 @@ from homeassistant.const import ( TEMP_FAHRENHEIT, ) from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.sun import is_up from homeassistant.util import dt as dt_util from homeassistant.util.distance import convert as distance_convert @@ -100,7 +100,7 @@ _LOGGER = logging.getLogger(__name__) async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up a config entry.""" coordinator = hass.data[DOMAIN][config_entry.entry_id] diff --git a/homeassistant/components/fritzbox/binary_sensor.py b/homeassistant/components/fritzbox/binary_sensor.py index e118414bb25..993e10c11d7 100644 --- a/homeassistant/components/fritzbox/binary_sensor.py +++ b/homeassistant/components/fritzbox/binary_sensor.py @@ -1,6 +1,4 @@ """Support for Fritzbox binary sensors.""" -from typing import Callable - from homeassistant.components.binary_sensor import ( DEVICE_CLASS_WINDOW, BinarySensorEntity, @@ -13,13 +11,14 @@ from homeassistant.const import ( ATTR_UNIT_OF_MEASUREMENT, ) from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import FritzBoxEntity from .const import CONF_COORDINATOR, DOMAIN as FRITZBOX_DOMAIN async def async_setup_entry( - hass: HomeAssistant, entry: ConfigEntry, async_add_entities: Callable + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ) -> None: """Set up the Fritzbox binary sensor from ConfigEntry.""" entities = [] diff --git a/homeassistant/components/fritzbox/sensor.py b/homeassistant/components/fritzbox/sensor.py index 39e7f6db091..eb7d96c8d43 100644 --- a/homeassistant/components/fritzbox/sensor.py +++ b/homeassistant/components/fritzbox/sensor.py @@ -1,6 +1,4 @@ """Support for AVM Fritz!Box smarthome temperature sensor only devices.""" -from typing import Callable - from homeassistant.components.sensor import SensorEntity from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( @@ -13,6 +11,7 @@ from homeassistant.const import ( TEMP_CELSIUS, ) from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import FritzBoxEntity from .const import ( @@ -24,7 +23,7 @@ from .const import ( async def async_setup_entry( - hass: HomeAssistant, entry: ConfigEntry, async_add_entities: Callable + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ) -> None: """Set up the Fritzbox smarthome sensor from ConfigEntry.""" entities = [] diff --git a/homeassistant/components/fritzbox/switch.py b/homeassistant/components/fritzbox/switch.py index a7c1c8cf0fd..040cdfdcb28 100644 --- a/homeassistant/components/fritzbox/switch.py +++ b/homeassistant/components/fritzbox/switch.py @@ -1,6 +1,4 @@ """Support for AVM Fritz!Box smarthome switch devices.""" -from typing import Callable - from homeassistant.components.switch import SwitchEntity from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( @@ -13,6 +11,7 @@ from homeassistant.const import ( TEMP_CELSIUS, ) from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import FritzBoxEntity from .const import ( @@ -29,7 +28,7 @@ ATTR_TOTAL_CONSUMPTION_UNIT_VALUE = ENERGY_KILO_WATT_HOUR async def async_setup_entry( - hass: HomeAssistant, entry: ConfigEntry, async_add_entities: Callable + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ) -> None: """Set up the Fritzbox smarthome switch from ConfigEntry.""" entities = [] diff --git a/homeassistant/components/gogogate2/cover.py b/homeassistant/components/gogogate2/cover.py index 05fcb639e47..d6b7a8beb3b 100644 --- a/homeassistant/components/gogogate2/cover.py +++ b/homeassistant/components/gogogate2/cover.py @@ -2,7 +2,6 @@ from __future__ import annotations import logging -from typing import Callable from gogogate2_api.common import AbstractDoor, DoorStatus, get_configured_doors @@ -15,7 +14,7 @@ from homeassistant.components.cover import ( ) from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .common import ( DeviceDataUpdateCoordinator, @@ -29,7 +28,10 @@ _LOGGER = logging.getLogger(__name__) async def async_setup_platform( - hass: HomeAssistant, config: dict, add_entities: Callable, discovery_info=None + hass: HomeAssistant, + config: dict, + add_entities: AddEntitiesCallback, + discovery_info=None, ) -> None: """Convert old style file configs to new style configs.""" _LOGGER.warning( @@ -46,7 +48,7 @@ async def async_setup_platform( async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool | None], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up the config entry.""" data_update_coordinator = get_data_update_coordinator(hass, config_entry) diff --git a/homeassistant/components/gogogate2/sensor.py b/homeassistant/components/gogogate2/sensor.py index 9062bc0b352..2d530d1b2f4 100644 --- a/homeassistant/components/gogogate2/sensor.py +++ b/homeassistant/components/gogogate2/sensor.py @@ -2,7 +2,6 @@ from __future__ import annotations from itertools import chain -from typing import Callable from gogogate2_api.common import AbstractDoor, get_configured_doors @@ -14,7 +13,7 @@ from homeassistant.const import ( TEMP_CELSIUS, ) from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .common import ( DeviceDataUpdateCoordinator, @@ -29,7 +28,7 @@ SENSOR_ID_WIRED = "WIRE" async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool | None], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up the config entry.""" data_update_coordinator = get_data_update_coordinator(hass, config_entry) diff --git a/homeassistant/components/google_travel_time/sensor.py b/homeassistant/components/google_travel_time/sensor.py index 0669d9e983e..b6019ba2991 100644 --- a/homeassistant/components/google_travel_time/sensor.py +++ b/homeassistant/components/google_travel_time/sensor.py @@ -3,7 +3,6 @@ from __future__ import annotations from datetime import datetime, timedelta import logging -from typing import Callable from googlemaps import Client from googlemaps.distance_matrix import distance_matrix @@ -23,6 +22,7 @@ from homeassistant.const import ( ) from homeassistant.core import CoreState, HomeAssistant import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.entity_platform import AddEntitiesCallback import homeassistant.util.dt as dt_util from .const import ( @@ -102,7 +102,7 @@ def convert_time_to_utc(timestr): async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, - async_add_entities: Callable[[list[SensorEntity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up a Google travel time sensor entry.""" if not config_entry.options: diff --git a/homeassistant/components/isy994/binary_sensor.py b/homeassistant/components/isy994/binary_sensor.py index 6fe00c693bc..c58c37edb42 100644 --- a/homeassistant/components/isy994/binary_sensor.py +++ b/homeassistant/components/isy994/binary_sensor.py @@ -2,7 +2,6 @@ from __future__ import annotations from datetime import timedelta -from typing import Callable from pyisy.constants import ( CMD_OFF, @@ -27,6 +26,7 @@ from homeassistant.components.binary_sensor import ( ) from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.event import async_track_point_in_utc_time from homeassistant.util import dt as dt_util @@ -61,7 +61,7 @@ DEVICE_PARENT_REQUIRED = [ async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list], None], + async_add_entities: AddEntitiesCallback, ) -> bool: """Set up the ISY994 binary sensor platform.""" devices = [] diff --git a/homeassistant/components/isy994/climate.py b/homeassistant/components/isy994/climate.py index efa09187453..5895a060db2 100644 --- a/homeassistant/components/isy994/climate.py +++ b/homeassistant/components/isy994/climate.py @@ -1,8 +1,6 @@ """Support for Insteon Thermostats via ISY994 Platform.""" from __future__ import annotations -from typing import Callable - from pyisy.constants import ( CMD_CLIMATE_FAN_SETTING, CMD_CLIMATE_MODE, @@ -35,6 +33,7 @@ from homeassistant.const import ( TEMP_FAHRENHEIT, ) from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ( _LOGGER, @@ -63,7 +62,7 @@ ISY_SUPPORTED_FEATURES = ( async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list], None], + async_add_entities: AddEntitiesCallback, ) -> bool: """Set up the ISY994 thermostat platform.""" entities = [] diff --git a/homeassistant/components/isy994/cover.py b/homeassistant/components/isy994/cover.py index 65d91d24d24..8bac6f50eb7 100644 --- a/homeassistant/components/isy994/cover.py +++ b/homeassistant/components/isy994/cover.py @@ -1,6 +1,4 @@ """Support for ISY994 covers.""" -from typing import Callable - from pyisy.constants import ISY_VALUE_UNKNOWN from homeassistant.components.cover import ( @@ -13,6 +11,7 @@ from homeassistant.components.cover import ( ) from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ( _LOGGER, @@ -29,7 +28,7 @@ from .helpers import migrate_old_unique_ids async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list], None], + async_add_entities: AddEntitiesCallback, ) -> bool: """Set up the ISY994 cover platform.""" hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] diff --git a/homeassistant/components/isy994/fan.py b/homeassistant/components/isy994/fan.py index e70201982b8..5d40eaef2a9 100644 --- a/homeassistant/components/isy994/fan.py +++ b/homeassistant/components/isy994/fan.py @@ -2,13 +2,13 @@ from __future__ import annotations import math -from typing import Callable from pyisy.constants import ISY_VALUE_UNKNOWN, PROTO_INSTEON from homeassistant.components.fan import DOMAIN as FAN, SUPPORT_SET_SPEED, FanEntity from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util.percentage import ( int_states_in_range, percentage_to_ranged_value, @@ -25,7 +25,7 @@ SPEED_RANGE = (1, 255) # off is not included async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list], None], + async_add_entities: AddEntitiesCallback, ) -> bool: """Set up the ISY994 fan platform.""" hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] diff --git a/homeassistant/components/isy994/light.py b/homeassistant/components/isy994/light.py index 4cb42492daf..73bd2f5934f 100644 --- a/homeassistant/components/isy994/light.py +++ b/homeassistant/components/isy994/light.py @@ -1,8 +1,6 @@ """Support for ISY994 lights.""" from __future__ import annotations -from typing import Callable - from pyisy.constants import ISY_VALUE_UNKNOWN from homeassistant.components.light import ( @@ -12,6 +10,7 @@ from homeassistant.components.light import ( ) from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.restore_state import RestoreEntity from .const import ( @@ -31,7 +30,7 @@ ATTR_LAST_BRIGHTNESS = "last_brightness" async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list], None], + async_add_entities: AddEntitiesCallback, ) -> bool: """Set up the ISY994 light platform.""" hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] diff --git a/homeassistant/components/isy994/lock.py b/homeassistant/components/isy994/lock.py index e8db796805b..7e1296d2c86 100644 --- a/homeassistant/components/isy994/lock.py +++ b/homeassistant/components/isy994/lock.py @@ -1,11 +1,10 @@ """Support for ISY994 locks.""" -from typing import Callable - from pyisy.constants import ISY_VALUE_UNKNOWN from homeassistant.components.lock import DOMAIN as LOCK, LockEntity from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import _LOGGER, DOMAIN as ISY994_DOMAIN, ISY994_NODES, ISY994_PROGRAMS from .entity import ISYNodeEntity, ISYProgramEntity @@ -17,7 +16,7 @@ VALUE_TO_STATE = {0: False, 100: True} async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list], None], + async_add_entities: AddEntitiesCallback, ) -> bool: """Set up the ISY994 lock platform.""" hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] diff --git a/homeassistant/components/isy994/sensor.py b/homeassistant/components/isy994/sensor.py index 1c560c924ca..908bbdc72e8 100644 --- a/homeassistant/components/isy994/sensor.py +++ b/homeassistant/components/isy994/sensor.py @@ -1,14 +1,13 @@ """Support for ISY994 sensors.""" from __future__ import annotations -from typing import Callable - from pyisy.constants import ISY_VALUE_UNKNOWN from homeassistant.components.sensor import DOMAIN as SENSOR, SensorEntity from homeassistant.config_entries import ConfigEntry from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ( _LOGGER, @@ -28,7 +27,7 @@ from .helpers import convert_isy_value_to_hass, migrate_old_unique_ids async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list], None], + async_add_entities: AddEntitiesCallback, ) -> bool: """Set up the ISY994 sensor platform.""" hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] diff --git a/homeassistant/components/isy994/switch.py b/homeassistant/components/isy994/switch.py index 0f274e579f6..53056e45c7e 100644 --- a/homeassistant/components/isy994/switch.py +++ b/homeassistant/components/isy994/switch.py @@ -1,11 +1,10 @@ """Support for ISY994 switches.""" -from typing import Callable - from pyisy.constants import ISY_VALUE_UNKNOWN, PROTO_GROUP from homeassistant.components.switch import DOMAIN as SWITCH, SwitchEntity from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import _LOGGER, DOMAIN as ISY994_DOMAIN, ISY994_NODES, ISY994_PROGRAMS from .entity import ISYNodeEntity, ISYProgramEntity @@ -15,7 +14,7 @@ from .helpers import migrate_old_unique_ids async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list], None], + async_add_entities: AddEntitiesCallback, ) -> bool: """Set up the ISY994 switch platform.""" hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] diff --git a/homeassistant/components/kulersky/light.py b/homeassistant/components/kulersky/light.py index 29c163474a9..c83b4dac9a7 100644 --- a/homeassistant/components/kulersky/light.py +++ b/homeassistant/components/kulersky/light.py @@ -3,7 +3,6 @@ from __future__ import annotations from datetime import timedelta import logging -from typing import Callable import pykulersky @@ -19,7 +18,7 @@ from homeassistant.components.light import ( from homeassistant.config_entries import ConfigEntry from homeassistant.const import EVENT_HOMEASSISTANT_STOP from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.event import async_track_time_interval import homeassistant.util.color as color_util @@ -35,7 +34,7 @@ DISCOVERY_INTERVAL = timedelta(seconds=60) async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up Kuler sky light devices.""" diff --git a/homeassistant/components/notion/binary_sensor.py b/homeassistant/components/notion/binary_sensor.py index 74ad724c50b..168e35a3a97 100644 --- a/homeassistant/components/notion/binary_sensor.py +++ b/homeassistant/components/notion/binary_sensor.py @@ -1,6 +1,4 @@ """Support for Notion binary sensors.""" -from typing import Callable - from homeassistant.components.binary_sensor import ( DEVICE_CLASS_CONNECTIVITY, DEVICE_CLASS_DOOR, @@ -11,6 +9,7 @@ from homeassistant.components.binary_sensor import ( ) from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import NotionEntity from .const import ( @@ -44,7 +43,7 @@ BINARY_SENSOR_TYPES = { async def async_setup_entry( - hass: HomeAssistant, entry: ConfigEntry, async_add_entities: Callable + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ): """Set up Notion sensors based on a config entry.""" coordinator = hass.data[DOMAIN][DATA_COORDINATOR][entry.entry_id] diff --git a/homeassistant/components/notion/sensor.py b/homeassistant/components/notion/sensor.py index 4f034408fe2..8652888d955 100644 --- a/homeassistant/components/notion/sensor.py +++ b/homeassistant/components/notion/sensor.py @@ -1,10 +1,9 @@ """Support for Notion sensors.""" -from typing import Callable - from homeassistant.components.sensor import SensorEntity from homeassistant.config_entries import ConfigEntry from homeassistant.const import TEMP_CELSIUS from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from . import NotionEntity @@ -14,7 +13,7 @@ SENSOR_TYPES = {SENSOR_TEMPERATURE: ("Temperature", "temperature", TEMP_CELSIUS) async def async_setup_entry( - hass: HomeAssistant, entry: ConfigEntry, async_add_entities: Callable + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ): """Set up Notion sensors based on a config entry.""" coordinator = hass.data[DOMAIN][DATA_COORDINATOR][entry.entry_id] diff --git a/homeassistant/components/rainmachine/binary_sensor.py b/homeassistant/components/rainmachine/binary_sensor.py index 5d141b0f008..4b89b52befe 100644 --- a/homeassistant/components/rainmachine/binary_sensor.py +++ b/homeassistant/components/rainmachine/binary_sensor.py @@ -1,12 +1,12 @@ """This platform provides binary sensors for key RainMachine data.""" from functools import partial -from typing import Callable from regenmaschine.controller import Controller from homeassistant.components.binary_sensor import BinarySensorEntity from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from . import RainMachineEntity @@ -73,7 +73,7 @@ BINARY_SENSORS = { async def async_setup_entry( - hass: HomeAssistant, entry: ConfigEntry, async_add_entities: Callable + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ) -> None: """Set up RainMachine binary sensors based on a config entry.""" controller = hass.data[DOMAIN][DATA_CONTROLLER][entry.entry_id] diff --git a/homeassistant/components/rainmachine/sensor.py b/homeassistant/components/rainmachine/sensor.py index 20912809cb1..2ebd9d0fdb4 100644 --- a/homeassistant/components/rainmachine/sensor.py +++ b/homeassistant/components/rainmachine/sensor.py @@ -1,6 +1,5 @@ """This platform provides support for sensor data from RainMachine.""" from functools import partial -from typing import Callable from regenmaschine.controller import Controller @@ -8,6 +7,7 @@ from homeassistant.components.sensor import SensorEntity from homeassistant.config_entries import ConfigEntry from homeassistant.const import TEMP_CELSIUS, VOLUME_CUBIC_METERS from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from . import RainMachineEntity @@ -70,7 +70,7 @@ SENSORS = { async def async_setup_entry( - hass: HomeAssistant, entry: ConfigEntry, async_add_entities: Callable + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ) -> None: """Set up RainMachine sensors based on a config entry.""" controller = hass.data[DOMAIN][DATA_CONTROLLER][entry.entry_id] diff --git a/homeassistant/components/rainmachine/switch.py b/homeassistant/components/rainmachine/switch.py index f901600c98b..9ad6ce113b1 100644 --- a/homeassistant/components/rainmachine/switch.py +++ b/homeassistant/components/rainmachine/switch.py @@ -3,7 +3,6 @@ from __future__ import annotations from collections.abc import Coroutine from datetime import datetime -from typing import Callable from regenmaschine.controller import Controller from regenmaschine.errors import RequestError @@ -14,6 +13,7 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import ATTR_ID from homeassistant.core import HomeAssistant, callback from homeassistant.helpers import config_validation as cv, entity_platform +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from . import RainMachineEntity, async_update_programs_and_zones @@ -110,7 +110,7 @@ SWITCH_TYPE_ZONE = "zone" async def async_setup_entry( - hass: HomeAssistant, entry: ConfigEntry, async_add_entities: Callable + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ) -> None: """Set up RainMachine switches based on a config entry.""" platform = entity_platform.current_platform.get() diff --git a/homeassistant/components/spotify/media_player.py b/homeassistant/components/spotify/media_player.py index 8beb9733fa2..dc7963de690 100644 --- a/homeassistant/components/spotify/media_player.py +++ b/homeassistant/components/spotify/media_player.py @@ -5,7 +5,7 @@ from asyncio import run_coroutine_threadsafe import datetime as dt from datetime import timedelta import logging -from typing import Any, Callable +from typing import Any import requests from spotipy import Spotify, SpotifyException @@ -54,7 +54,7 @@ from homeassistant.const import ( from homeassistant.core import HomeAssistant from homeassistant.exceptions import HomeAssistantError from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util.dt import utc_from_timestamp from .const import ( @@ -188,7 +188,7 @@ class UnknownMediaType(BrowseError): async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up Spotify based on a config entry.""" spotify = SpotifyMediaPlayer( diff --git a/homeassistant/components/upnp/sensor.py b/homeassistant/components/upnp/sensor.py index 3ffcb8d7426..1c298947356 100644 --- a/homeassistant/components/upnp/sensor.py +++ b/homeassistant/components/upnp/sensor.py @@ -2,13 +2,14 @@ from __future__ import annotations from datetime import timedelta -from typing import Any, Callable, Mapping +from typing import Any, Mapping from homeassistant.components.sensor import SensorEntity from homeassistant.config_entries import ConfigEntry from homeassistant.const import DATA_BYTES, DATA_RATE_KIBIBYTES_PER_SECOND from homeassistant.core import HomeAssistant from homeassistant.helpers import device_registry as dr +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import ( CoordinatorEntity, DataUpdateCoordinator, @@ -82,7 +83,9 @@ async def async_setup_platform( async def async_setup_entry( - hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: Callable + hass: HomeAssistant, + config_entry: ConfigEntry, + async_add_entities: AddEntitiesCallback, ) -> None: """Set up the UPnP/IGD sensors.""" udn = config_entry.data[CONFIG_ENTRY_UDN] diff --git a/homeassistant/components/withings/binary_sensor.py b/homeassistant/components/withings/binary_sensor.py index a7d0a80e8e3..ecb52530d7e 100644 --- a/homeassistant/components/withings/binary_sensor.py +++ b/homeassistant/components/withings/binary_sensor.py @@ -1,8 +1,6 @@ """Sensors flow for Withings.""" from __future__ import annotations -from typing import Callable - from homeassistant.components.binary_sensor import ( DEVICE_CLASS_OCCUPANCY, DOMAIN as BINARY_SENSOR_DOMAIN, @@ -10,7 +8,7 @@ from homeassistant.components.binary_sensor import ( ) from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .common import BaseWithingsSensor, async_create_entities @@ -18,7 +16,7 @@ from .common import BaseWithingsSensor, async_create_entities async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up the sensor config entry.""" entities = await async_create_entities( diff --git a/homeassistant/components/withings/sensor.py b/homeassistant/components/withings/sensor.py index e26804f1f0a..ca7391eb58e 100644 --- a/homeassistant/components/withings/sensor.py +++ b/homeassistant/components/withings/sensor.py @@ -1,12 +1,10 @@ """Sensors flow for Withings.""" from __future__ import annotations -from typing import Callable - from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN, SensorEntity from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .common import BaseWithingsSensor, async_create_entities @@ -14,7 +12,7 @@ from .common import BaseWithingsSensor, async_create_entities async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up the sensor config entry.""" diff --git a/homeassistant/components/wled/light.py b/homeassistant/components/wled/light.py index 9d25a1bcbcf..98e60b9bb81 100644 --- a/homeassistant/components/wled/light.py +++ b/homeassistant/components/wled/light.py @@ -2,7 +2,7 @@ from __future__ import annotations from functools import partial -from typing import Any, Callable +from typing import Any import voluptuous as vol @@ -24,7 +24,7 @@ from homeassistant.components.light import ( from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, callback from homeassistant.helpers import config_validation as cv, entity_platform -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_registry import ( async_get_registry as async_get_entity_registry, ) @@ -52,7 +52,7 @@ PARALLEL_UPDATES = 1 async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up WLED light based on a config entry.""" coordinator: WLEDDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] diff --git a/homeassistant/components/wled/sensor.py b/homeassistant/components/wled/sensor.py index 96c79452790..eff40caea22 100644 --- a/homeassistant/components/wled/sensor.py +++ b/homeassistant/components/wled/sensor.py @@ -2,7 +2,7 @@ from __future__ import annotations from datetime import timedelta -from typing import Any, Callable +from typing import Any from homeassistant.components.sensor import DEVICE_CLASS_CURRENT, SensorEntity from homeassistant.config_entries import ConfigEntry @@ -14,7 +14,7 @@ from homeassistant.const import ( SIGNAL_STRENGTH_DECIBELS_MILLIWATT, ) from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util.dt import utcnow from . import WLEDDataUpdateCoordinator, WLEDDeviceEntity @@ -24,7 +24,7 @@ from .const import ATTR_LED_COUNT, ATTR_MAX_POWER, CURRENT_MA, DOMAIN async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up WLED sensor based on a config entry.""" coordinator: WLEDDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] diff --git a/homeassistant/components/wled/switch.py b/homeassistant/components/wled/switch.py index f262b5a3fa4..e08998308a6 100644 --- a/homeassistant/components/wled/switch.py +++ b/homeassistant/components/wled/switch.py @@ -1,12 +1,12 @@ """Support for WLED switches.""" from __future__ import annotations -from typing import Any, Callable +from typing import Any from homeassistant.components.switch import SwitchEntity from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import WLEDDataUpdateCoordinator, WLEDDeviceEntity, wled_exception_handler from .const import ( @@ -23,7 +23,7 @@ PARALLEL_UPDATES = 1 async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up WLED switch based on a config entry.""" coordinator: WLEDDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] diff --git a/homeassistant/components/zerproc/light.py b/homeassistant/components/zerproc/light.py index d4bf6a98c70..ad14d9c506a 100644 --- a/homeassistant/components/zerproc/light.py +++ b/homeassistant/components/zerproc/light.py @@ -3,7 +3,6 @@ from __future__ import annotations from datetime import timedelta import logging -from typing import Callable import pyzerproc @@ -18,6 +17,7 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import EVENT_HOMEASSISTANT_STOP from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import Entity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.event import async_track_time_interval import homeassistant.util.color as color_util @@ -52,7 +52,7 @@ async def discover_entities(hass: HomeAssistant) -> list[Entity]: async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, - async_add_entities: Callable[[list[Entity], bool], None], + async_add_entities: AddEntitiesCallback, ) -> None: """Set up Zerproc light devices.""" warned = False