From 7b4e6b97edcf559f0dbab8113f080c32f994cdd7 Mon Sep 17 00:00:00 2001 From: epenet Date: Mon, 3 Jan 2022 14:20:22 +0000 Subject: [PATCH] Add lock setup type hints --- homeassistant/components/august/lock.py | 10 ++++++++-- homeassistant/components/fibaro/lock.py | 12 +++++++++++- homeassistant/components/freedompro/lock.py | 8 ++++++-- homeassistant/components/homematic/lock.py | 12 +++++++++++- homeassistant/components/keba/lock.py | 12 +++++++++++- homeassistant/components/kiwi/lock.py | 13 +++++++++++-- homeassistant/components/mazda/lock.py | 10 ++++++++-- homeassistant/components/nuki/lock.py | 7 ++++++- homeassistant/components/ozw/lock.py | 10 ++++++++-- homeassistant/components/sesame/lock.py | 11 +++++++++-- homeassistant/components/smartthings/lock.py | 9 ++++++++- homeassistant/components/starline/lock.py | 7 ++++++- homeassistant/components/volvooncall/lock.py | 12 +++++++++++- homeassistant/components/xiaomi_aqara/lock.py | 10 ++++++++-- homeassistant/components/zwave/lock.py | 10 ++++++++-- 15 files changed, 130 insertions(+), 23 deletions(-) diff --git a/homeassistant/components/august/lock.py b/homeassistant/components/august/lock.py index 665b00365577b1..fc8653f96f2a38 100644 --- a/homeassistant/components/august/lock.py +++ b/homeassistant/components/august/lock.py @@ -7,8 +7,10 @@ from yalexs.util import update_lock_detail_from_activity from homeassistant.components.lock import ATTR_CHANGED_BY, LockEntity +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ATTR_BATTERY_LEVEL -from homeassistant.core import callback +from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.restore_state import RestoreEntity import homeassistant.util.dt as dt_util @@ -20,7 +22,11 @@ LOCK_JAMMED_ERR = 531 -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 August locks.""" data = hass.data[DOMAIN][config_entry.entry_id][DATA_AUGUST] async_add_entities([AugustLock(data, lock) for lock in data.locks]) diff --git a/homeassistant/components/fibaro/lock.py b/homeassistant/components/fibaro/lock.py index 17c16a566dbbba..bcfd10767e2f02 100644 --- a/homeassistant/components/fibaro/lock.py +++ b/homeassistant/components/fibaro/lock.py @@ -1,10 +1,20 @@ """Support for Fibaro locks.""" +from __future__ import annotations + from homeassistant.components.lock import DOMAIN, LockEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import FIBARO_DEVICES, FibaroDevice -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 Fibaro locks.""" if discovery_info is None: return diff --git a/homeassistant/components/freedompro/lock.py b/homeassistant/components/freedompro/lock.py index 57486f58d790ca..7dbc625966e792 100644 --- a/homeassistant/components/freedompro/lock.py +++ b/homeassistant/components/freedompro/lock.py @@ -4,16 +4,20 @@ from pyfreedompro import put_state from homeassistant.components.lock import LockEntity +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_API_KEY -from homeassistant.core import callback +from homeassistant.core import HomeAssistant, callback from homeassistant.helpers import aiohttp_client from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import CoordinatorEntity from .const import 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: """Set up Freedompro lock.""" api_key = entry.data[CONF_API_KEY] coordinator = hass.data[DOMAIN][entry.entry_id] diff --git a/homeassistant/components/homematic/lock.py b/homeassistant/components/homematic/lock.py index fa907ce93932ac..1ddeb474058c42 100644 --- a/homeassistant/components/homematic/lock.py +++ b/homeassistant/components/homematic/lock.py @@ -1,11 +1,21 @@ """Support for Homematic locks.""" +from __future__ import annotations + from homeassistant.components.lock import SUPPORT_OPEN, LockEntity +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 lock platform.""" if discovery_info is None: return diff --git a/homeassistant/components/keba/lock.py b/homeassistant/components/keba/lock.py index 15cc00839fc32e..b7563ae9b8e882 100644 --- a/homeassistant/components/keba/lock.py +++ b/homeassistant/components/keba/lock.py @@ -1,10 +1,20 @@ """Support for KEBA charging station switch.""" +from __future__ import annotations + from homeassistant.components.lock import LockEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import DOMAIN -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 KEBA charging station platform.""" if discovery_info is None: return diff --git a/homeassistant/components/kiwi/lock.py b/homeassistant/components/kiwi/lock.py index 650d6d34de8921..3884045c9bca26 100644 --- a/homeassistant/components/kiwi/lock.py +++ b/homeassistant/components/kiwi/lock.py @@ -1,4 +1,6 @@ """Support for the KIWI.KI lock platform.""" +from __future__ import annotations + import logging from kiwiki import KiwiClient, KiwiException @@ -14,9 +16,11 @@ STATE_LOCKED, STATE_UNLOCKED, ) -from homeassistant.core import callback +from homeassistant.core import HomeAssistant, callback import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.event import async_call_later +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType _LOGGER = logging.getLogger(__name__) @@ -31,7 +35,12 @@ ) -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 KIWI lock platform.""" try: diff --git a/homeassistant/components/mazda/lock.py b/homeassistant/components/mazda/lock.py index fb485bd7b13946..3d7685bea1712c 100644 --- a/homeassistant/components/mazda/lock.py +++ b/homeassistant/components/mazda/lock.py @@ -1,12 +1,18 @@ """Platform for Mazda lock integration.""" - from homeassistant.components.lock import LockEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import MazdaEntity from .const import DATA_CLIENT, DATA_COORDINATOR, DOMAIN -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 lock platform.""" client = hass.data[DOMAIN][config_entry.entry_id][DATA_CLIENT] coordinator = hass.data[DOMAIN][config_entry.entry_id][DATA_COORDINATOR] diff --git a/homeassistant/components/nuki/lock.py b/homeassistant/components/nuki/lock.py index f2ca85c5896974..7026ece890a96a 100644 --- a/homeassistant/components/nuki/lock.py +++ b/homeassistant/components/nuki/lock.py @@ -5,7 +5,10 @@ import voluptuous as vol from homeassistant.components.lock import SUPPORT_OPEN, LockEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant from homeassistant.helpers import config_validation as cv, entity_platform +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import NukiEntity from .const import ( @@ -21,7 +24,9 @@ ) -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 Nuki lock platform.""" data = hass.data[NUKI_DOMAIN][entry.entry_id] coordinator = data[DATA_COORDINATOR] diff --git a/homeassistant/components/ozw/lock.py b/homeassistant/components/ozw/lock.py index 9cadb2862f1483..ea6782c5c79528 100644 --- a/homeassistant/components/ozw/lock.py +++ b/homeassistant/components/ozw/lock.py @@ -7,9 +7,11 @@ import voluptuous as vol from homeassistant.components.lock import DOMAIN as LOCK_DOMAIN, LockEntity -from homeassistant.core import callback +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.dispatcher import async_dispatcher_connect +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DATA_UNSUBSCRIBE, DOMAIN from .entity import ZWaveDeviceEntity @@ -23,7 +25,11 @@ _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 Z-Wave lock from config entry.""" @callback diff --git a/homeassistant/components/sesame/lock.py b/homeassistant/components/sesame/lock.py index 261b268049951c..99bb2d8a865df4 100644 --- a/homeassistant/components/sesame/lock.py +++ b/homeassistant/components/sesame/lock.py @@ -6,15 +6,22 @@ from homeassistant.components.lock import PLATFORM_SCHEMA, LockEntity from homeassistant.const import ATTR_BATTERY_LEVEL, ATTR_DEVICE_ID, CONF_API_KEY +from homeassistant.core import HomeAssistant import homeassistant.helpers.config_validation as cv -from homeassistant.helpers.typing import ConfigType +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType ATTR_SERIAL_NO = "serial" PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({vol.Required(CONF_API_KEY): cv.string}) -def setup_platform(hass, config: ConfigType, add_entities, discovery_info=None): +def setup_platform( + hass: HomeAssistant, + config: ConfigType, + add_entities: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Set up the Sesame platform.""" api_key = config.get(CONF_API_KEY) diff --git a/homeassistant/components/smartthings/lock.py b/homeassistant/components/smartthings/lock.py index 4d4c48b1d9b5fc..be3fe949061e89 100644 --- a/homeassistant/components/smartthings/lock.py +++ b/homeassistant/components/smartthings/lock.py @@ -6,6 +6,9 @@ from pysmartthings import Attribute, Capability from homeassistant.components.lock import LockEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import SmartThingsEntity from .const import DATA_BROKERS, DOMAIN @@ -21,7 +24,11 @@ } -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: """Add locks for a config entry.""" broker = hass.data[DOMAIN][DATA_BROKERS][config_entry.entry_id] async_add_entities( diff --git a/homeassistant/components/starline/lock.py b/homeassistant/components/starline/lock.py index 8ed6de0497d808..20e389e48b58bb 100644 --- a/homeassistant/components/starline/lock.py +++ b/homeassistant/components/starline/lock.py @@ -1,12 +1,17 @@ """Support for StarLine lock.""" from homeassistant.components.lock import LockEntity +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .account import StarlineAccount, StarlineDevice from .const import DOMAIN from .entity import StarlineEntity -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 StarLine lock.""" account: StarlineAccount = hass.data[DOMAIN][entry.entry_id] entities = [] diff --git a/homeassistant/components/volvooncall/lock.py b/homeassistant/components/volvooncall/lock.py index 6d9adcf1e1b8c3..23f80a4fae5b3d 100644 --- a/homeassistant/components/volvooncall/lock.py +++ b/homeassistant/components/volvooncall/lock.py @@ -1,10 +1,20 @@ """Support for Volvo On Call locks.""" +from __future__ import annotations + from homeassistant.components.lock import LockEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import DATA_KEY, VolvoEntity -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 Volvo On Call lock.""" if discovery_info is None: return diff --git a/homeassistant/components/xiaomi_aqara/lock.py b/homeassistant/components/xiaomi_aqara/lock.py index b7167452b65fdb..e21967a9f06d61 100644 --- a/homeassistant/components/xiaomi_aqara/lock.py +++ b/homeassistant/components/xiaomi_aqara/lock.py @@ -1,7 +1,9 @@ """Support for Xiaomi Aqara locks.""" from homeassistant.components.lock import LockEntity +from homeassistant.config_entries import ConfigEntry from homeassistant.const import STATE_LOCKED, STATE_UNLOCKED -from homeassistant.core import callback +from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.event import async_call_later from . import XiaomiDevice @@ -17,7 +19,11 @@ UNLOCK_MAINTAIN_TIME = 5 -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: """Perform the setup for Xiaomi devices.""" entities = [] gateway = hass.data[DOMAIN][GATEWAYS_KEY][config_entry.entry_id] diff --git a/homeassistant/components/zwave/lock.py b/homeassistant/components/zwave/lock.py index 81e7c066b5de37..06ce59a1f9eb13 100644 --- a/homeassistant/components/zwave/lock.py +++ b/homeassistant/components/zwave/lock.py @@ -4,9 +4,11 @@ import voluptuous as vol from homeassistant.components.lock import DOMAIN, LockEntity -from homeassistant.core import ServiceCall, callback +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant, ServiceCall, callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_connect +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import ZWaveDeviceEntity, const @@ -157,7 +159,11 @@ ) -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 Z-Wave Lock from Config Entry.""" @callback