From f39531dcfc20646e8f704e4b57cd32bfcfe80305 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 3 Jan 2022 19:23:11 +0100 Subject: [PATCH] Add switch setup type hints [g-m] (#63303) Co-authored-by: epenet --- homeassistant/components/gree/switch.py | 10 ++++++++-- homeassistant/components/harmony/switch.py | 8 ++++++-- homeassistant/components/hive/switch.py | 7 ++++++- homeassistant/components/hlk_sw16/switch.py | 7 ++++++- homeassistant/components/home_connect/switch.py | 9 ++++++++- homeassistant/components/home_plus_control/switch.py | 10 ++++++++-- homeassistant/components/homematic/switch.py | 12 +++++++++++- homeassistant/components/hydrawise/switch.py | 10 +++++++++- homeassistant/components/ihc/switch.py | 12 +++++++++++- homeassistant/components/insteon/switch.py | 10 ++++++++-- homeassistant/components/juicenet/switch.py | 9 ++++++++- homeassistant/components/kankun/switch.py | 12 +++++++++++- homeassistant/components/kmtronic/switch.py | 8 ++++++-- homeassistant/components/konnected/switch.py | 10 ++++++++-- homeassistant/components/lightwave/switch.py | 12 +++++++++++- homeassistant/components/litejet/switch.py | 9 ++++++++- homeassistant/components/lupusec/switch.py | 12 +++++++++++- homeassistant/components/lutron/switch.py | 12 +++++++++++- homeassistant/components/lutron_caseta/switch.py | 9 ++++++++- homeassistant/components/mystrom/switch.py | 12 +++++++++++- 20 files changed, 174 insertions(+), 26 deletions(-) diff --git a/homeassistant/components/gree/switch.py b/homeassistant/components/gree/switch.py index f05f751b8b6..91e407d246b 100644 --- a/homeassistant/components/gree/switch.py +++ b/homeassistant/components/gree/switch.py @@ -2,14 +2,20 @@ from __future__ import annotations from homeassistant.components.switch import SwitchDeviceClass, SwitchEntity -from homeassistant.core import callback +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.dispatcher import async_dispatcher_connect +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import COORDINATORS, DISPATCH_DEVICE_DISCOVERED, DISPATCHERS, DOMAIN from .entity import GreeEntity -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 Gree HVAC device from a config entry.""" @callback diff --git a/homeassistant/components/harmony/switch.py b/homeassistant/components/harmony/switch.py index 02885289a06..200c261b565 100644 --- a/homeassistant/components/harmony/switch.py +++ b/homeassistant/components/harmony/switch.py @@ -2,8 +2,10 @@ import logging from homeassistant.components.switch import SwitchEntity +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_NAME -from homeassistant.core import callback +from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN, HARMONY_DATA from .data import HarmonyData @@ -13,7 +15,9 @@ from .subscriber import HarmonyCallback _LOGGER = logging.getLogger(__name__) -async def async_setup_entry(hass, entry, async_add_entities): +async def async_setup_entry( + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback +) -> None: """Set up harmony activity switches.""" data = hass.data[DOMAIN][entry.entry_id][HARMONY_DATA] activities = data.activities diff --git a/homeassistant/components/hive/switch.py b/homeassistant/components/hive/switch.py index adfcfa442ee..4eb286462f4 100644 --- a/homeassistant/components/hive/switch.py +++ b/homeassistant/components/hive/switch.py @@ -4,7 +4,10 @@ from __future__ import annotations from datetime import timedelta from homeassistant.components.switch import SwitchEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import HiveEntity, refresh_system from .const import ATTR_MODE, DOMAIN @@ -13,7 +16,9 @@ PARALLEL_UPDATES = 0 SCAN_INTERVAL = timedelta(seconds=15) -async def async_setup_entry(hass, entry, async_add_entities): +async def async_setup_entry( + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback +) -> None: """Set up Hive thermostat based on a config entry.""" hive = hass.data[DOMAIN][entry.entry_id] diff --git a/homeassistant/components/hlk_sw16/switch.py b/homeassistant/components/hlk_sw16/switch.py index d2d6578cd90..701130be4c5 100644 --- a/homeassistant/components/hlk_sw16/switch.py +++ b/homeassistant/components/hlk_sw16/switch.py @@ -1,5 +1,8 @@ """Support for HLK-SW16 switches.""" from homeassistant.components.switch import ToggleEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import DATA_DEVICE_REGISTER, SW16Device from .const import DOMAIN @@ -18,7 +21,9 @@ def devices_from_entities(hass, entry): return devices -async def async_setup_entry(hass, entry, async_add_entities): +async def async_setup_entry( + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback +) -> None: """Set up the HLK-SW16 platform.""" async_add_entities(devices_from_entities(hass, entry)) diff --git a/homeassistant/components/home_connect/switch.py b/homeassistant/components/home_connect/switch.py index 5e12d724a5e..8e84081beb0 100644 --- a/homeassistant/components/home_connect/switch.py +++ b/homeassistant/components/home_connect/switch.py @@ -4,7 +4,10 @@ import logging from homeconnect.api import HomeConnectError from homeassistant.components.switch import SwitchEntity +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_DEVICE, CONF_ENTITIES +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ( ATTR_VALUE, @@ -19,7 +22,11 @@ from .entity import HomeConnectEntity _LOGGER = logging.getLogger(__name__) -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 Home Connect switch.""" def get_entities(): diff --git a/homeassistant/components/home_plus_control/switch.py b/homeassistant/components/home_plus_control/switch.py index 73fd515e65b..9c0b12dd736 100644 --- a/homeassistant/components/home_plus_control/switch.py +++ b/homeassistant/components/home_plus_control/switch.py @@ -2,9 +2,11 @@ from functools import partial from homeassistant.components.switch import SwitchDeviceClass, SwitchEntity -from homeassistant.core import callback +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant, callback from homeassistant.helpers import dispatcher from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import CoordinatorEntity from .const import DISPATCHER_REMOVERS, DOMAIN, HW_TYPE, SIGNAL_ADD_ENTITIES @@ -26,7 +28,11 @@ def add_switch_entities(new_unique_ids, coordinator, add_entities): add_entities(new_entities) -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 Legrand Home+ Control Switch platform in HomeAssistant. Args: diff --git a/homeassistant/components/homematic/switch.py b/homeassistant/components/homematic/switch.py index ff3bbe61039..9d37b8a6322 100644 --- a/homeassistant/components/homematic/switch.py +++ b/homeassistant/components/homematic/switch.py @@ -1,11 +1,21 @@ """Support for HomeMatic switches.""" +from __future__ import annotations + from homeassistant.components.switch import SwitchEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from .const import ATTR_DISCOVER_DEVICES from .entity import HMDevice -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 HomeMatic switch platform.""" if discovery_info is None: return diff --git a/homeassistant/components/hydrawise/switch.py b/homeassistant/components/hydrawise/switch.py index 8dc91fd1c65..680b92ca3ee 100644 --- a/homeassistant/components/hydrawise/switch.py +++ b/homeassistant/components/hydrawise/switch.py @@ -12,7 +12,10 @@ from homeassistant.components.switch import ( SwitchEntityDescription, ) from homeassistant.const import CONF_MONITORED_CONDITIONS +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 ( ALLOWED_WATERING_TIME, @@ -51,7 +54,12 @@ 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 a sensor for a Hydrawise device.""" hydrawise = hass.data[DATA_HYDRAWISE].data monitored_conditions = config[CONF_MONITORED_CONDITIONS] diff --git a/homeassistant/components/ihc/switch.py b/homeassistant/components/ihc/switch.py index 8f72ac3bab8..fb1e2f1642d 100644 --- a/homeassistant/components/ihc/switch.py +++ b/homeassistant/components/ihc/switch.py @@ -1,5 +1,10 @@ """Support for IHC switches.""" +from __future__ import annotations + from homeassistant.components.switch import SwitchEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import IHC_CONTROLLER, IHC_INFO from .const import CONF_OFF_ID, CONF_ON_ID @@ -7,7 +12,12 @@ from .ihcdevice import IHCDevice from .util import async_pulse, async_set_bool -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 IHC switch platform.""" if discovery_info is None: return diff --git a/homeassistant/components/insteon/switch.py b/homeassistant/components/insteon/switch.py index 0a1a0253b1d..ec80254515e 100644 --- a/homeassistant/components/insteon/switch.py +++ b/homeassistant/components/insteon/switch.py @@ -1,14 +1,20 @@ """Support for INSTEON dimmers via PowerLinc Modem.""" from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN, SwitchEntity -from homeassistant.core import callback +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.dispatcher import async_dispatcher_connect +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import SIGNAL_ADD_ENTITIES from .insteon_entity import InsteonEntity from .utils import async_add_insteon_entities -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 Insteon switches from a config entry.""" @callback diff --git a/homeassistant/components/juicenet/switch.py b/homeassistant/components/juicenet/switch.py index 64c367740ac..c7e2f499e04 100644 --- a/homeassistant/components/juicenet/switch.py +++ b/homeassistant/components/juicenet/switch.py @@ -1,11 +1,18 @@ """Support for monitoring juicenet/juicepoint/juicebox based EVSE switches.""" from homeassistant.components.switch import SwitchEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN, JUICENET_API, JUICENET_COORDINATOR from .entity import JuiceNetDevice -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 JuiceNet switches.""" entities = [] juicenet_data = hass.data[DOMAIN][config_entry.entry_id] diff --git a/homeassistant/components/kankun/switch.py b/homeassistant/components/kankun/switch.py index d1a616f86fa..69a3dcee301 100644 --- a/homeassistant/components/kankun/switch.py +++ b/homeassistant/components/kankun/switch.py @@ -1,4 +1,6 @@ """Support for customised Kankun SP3 Wifi switch.""" +from __future__ import annotations + import logging import requests @@ -14,7 +16,10 @@ from homeassistant.const import ( CONF_SWITCHES, CONF_USERNAME, ) +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 _LOGGER = logging.getLogger(__name__) @@ -37,7 +42,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( ) -def setup_platform(hass, config, add_entities_callback, discovery_info=None): +def setup_platform( + hass: HomeAssistant, + config: ConfigType, + add_entities_callback: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Set up Kankun Wifi switches.""" switches = config.get("switches", {}) devices = [] diff --git a/homeassistant/components/kmtronic/switch.py b/homeassistant/components/kmtronic/switch.py index 31b0fcb54c1..26cce2c736d 100644 --- a/homeassistant/components/kmtronic/switch.py +++ b/homeassistant/components/kmtronic/switch.py @@ -1,12 +1,16 @@ """KMtronic Switch integration.""" - from homeassistant.components.switch import SwitchEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import CoordinatorEntity from .const import CONF_REVERSE, DATA_COORDINATOR, DATA_HUB, DOMAIN -async def async_setup_entry(hass, entry, async_add_entities): +async def async_setup_entry( + hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback +) -> None: """Config entry example.""" coordinator = hass.data[DOMAIN][entry.entry_id][DATA_COORDINATOR] hub = hass.data[DOMAIN][entry.entry_id][DATA_HUB] diff --git a/homeassistant/components/konnected/switch.py b/homeassistant/components/konnected/switch.py index 687d29f182c..3702fa725c4 100644 --- a/homeassistant/components/konnected/switch.py +++ b/homeassistant/components/konnected/switch.py @@ -1,6 +1,7 @@ """Support for wired switches attached to a Konnected device.""" import logging +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( ATTR_STATE, CONF_DEVICES, @@ -9,9 +10,10 @@ from homeassistant.const import ( CONF_SWITCHES, CONF_ZONE, ) -from homeassistant.core import callback +from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.entity import DeviceInfo, ToggleEntity +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ( CONF_ACTIVATION, @@ -25,7 +27,11 @@ from .const import ( _LOGGER = logging.getLogger(__name__) -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 switches attached to a Konnected device from a config entry.""" data = hass.data[KONNECTED_DOMAIN] device_id = config_entry.data["id"] diff --git a/homeassistant/components/lightwave/switch.py b/homeassistant/components/lightwave/switch.py index c907128308a..80cc80510a4 100644 --- a/homeassistant/components/lightwave/switch.py +++ b/homeassistant/components/lightwave/switch.py @@ -1,11 +1,21 @@ """Support for LightwaveRF switches.""" +from __future__ import annotations + from homeassistant.components.switch import SwitchEntity from homeassistant.const import CONF_NAME +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import LIGHTWAVE_LINK -async def async_setup_platform(hass, config, async_add_entities, discovery_info=None): +async def async_setup_platform( + hass: HomeAssistant, + config: ConfigType, + async_add_entities: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Find and return LightWave switches.""" if not discovery_info: return diff --git a/homeassistant/components/litejet/switch.py b/homeassistant/components/litejet/switch.py index 0feabfbf864..0204c05335a 100644 --- a/homeassistant/components/litejet/switch.py +++ b/homeassistant/components/litejet/switch.py @@ -2,6 +2,9 @@ import logging from homeassistant.components.switch import SwitchEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN @@ -10,7 +13,11 @@ ATTR_NUMBER = "number" _LOGGER = logging.getLogger(__name__) -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 entry.""" system = hass.data[DOMAIN] diff --git a/homeassistant/components/lupusec/switch.py b/homeassistant/components/lupusec/switch.py index 5321d1b4f25..e58b53aac39 100644 --- a/homeassistant/components/lupusec/switch.py +++ b/homeassistant/components/lupusec/switch.py @@ -1,17 +1,27 @@ """Support for Lupusec Security System switches.""" +from __future__ import annotations + # pylint: disable=import-error from datetime import timedelta import lupupy.constants as CONST from homeassistant.components.switch import SwitchEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import DOMAIN as LUPUSEC_DOMAIN, LupusecDevice SCAN_INTERVAL = timedelta(seconds=2) -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 Lupusec switch devices.""" if discovery_info is None: return diff --git a/homeassistant/components/lutron/switch.py b/homeassistant/components/lutron/switch.py index f78f46b6733..49d4181a8e0 100644 --- a/homeassistant/components/lutron/switch.py +++ b/homeassistant/components/lutron/switch.py @@ -1,10 +1,20 @@ """Support for Lutron switches.""" +from __future__ import annotations + from homeassistant.components.switch import SwitchEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import LUTRON_CONTROLLER, LUTRON_DEVICES, LutronDevice -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 Lutron switches.""" devs = [] diff --git a/homeassistant/components/lutron_caseta/switch.py b/homeassistant/components/lutron_caseta/switch.py index c6aea447055..836968c3796 100644 --- a/homeassistant/components/lutron_caseta/switch.py +++ b/homeassistant/components/lutron_caseta/switch.py @@ -2,6 +2,9 @@ import logging from homeassistant.components.switch import DOMAIN, SwitchEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import LutronCasetaDevice from .const import BRIDGE_DEVICE, BRIDGE_LEAP, DOMAIN as CASETA_DOMAIN @@ -9,7 +12,11 @@ from .const import BRIDGE_DEVICE, BRIDGE_LEAP, DOMAIN as CASETA_DOMAIN _LOGGER = logging.getLogger(__name__) -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 Lutron Caseta switch platform. Adds switches from the Caseta bridge associated with the config_entry as diff --git a/homeassistant/components/mystrom/switch.py b/homeassistant/components/mystrom/switch.py index 6332760f189..b8089eb116f 100644 --- a/homeassistant/components/mystrom/switch.py +++ b/homeassistant/components/mystrom/switch.py @@ -1,4 +1,6 @@ """Support for myStrom switches/plugs.""" +from __future__ import annotations + import logging from pymystrom.exceptions import MyStromConnectionError @@ -7,8 +9,11 @@ import voluptuous as vol from homeassistant.components.switch import PLATFORM_SCHEMA, SwitchEntity from homeassistant.const import CONF_HOST, CONF_NAME +from homeassistant.core import HomeAssistant from homeassistant.exceptions import PlatformNotReady import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType DEFAULT_NAME = "myStrom Switch" @@ -22,7 +27,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( ) -async def async_setup_platform(hass, config, async_add_entities, discovery_info=None): +async def async_setup_platform( + hass: HomeAssistant, + config: ConfigType, + async_add_entities: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Set up the myStrom switch/plug integration.""" name = config.get(CONF_NAME) host = config.get(CONF_HOST)