Add setup type hints [v-w] (#63484)
Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
parent
ae6d9c229e
commit
ef02f2005a
10 changed files with 104 additions and 29 deletions
|
@ -1,4 +1,6 @@
|
|||
"""Support for Västtrafik public transport."""
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import timedelta
|
||||
import logging
|
||||
|
||||
|
@ -7,7 +9,10 @@ import voluptuous as vol
|
|||
|
||||
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
|
||||
from homeassistant.const import ATTR_ATTRIBUTION, CONF_DELAY, CONF_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 homeassistant.util import Throttle
|
||||
from homeassistant.util.dt import now
|
||||
|
||||
|
@ -36,7 +41,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
|||
{
|
||||
vol.Required(CONF_KEY): cv.string,
|
||||
vol.Required(CONF_SECRET): cv.string,
|
||||
vol.Optional(CONF_DEPARTURES): [
|
||||
vol.Required(CONF_DEPARTURES): [
|
||||
{
|
||||
vol.Required(CONF_FROM): cv.string,
|
||||
vol.Optional(CONF_DELAY, default=DEFAULT_DELAY): cv.positive_int,
|
||||
|
@ -51,12 +56,17 @@ 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 departure sensor."""
|
||||
planner = vasttrafik.JournyPlanner(config.get(CONF_KEY), config.get(CONF_SECRET))
|
||||
sensors = []
|
||||
|
||||
for departure in config.get(CONF_DEPARTURES):
|
||||
for departure in config[CONF_DEPARTURES]:
|
||||
sensors.append(
|
||||
VasttrafikDepartureSensor(
|
||||
planner,
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
"""Support for the World Air Quality Index service."""
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
from datetime import timedelta
|
||||
import logging
|
||||
|
@ -18,10 +20,13 @@ from homeassistant.const import (
|
|||
ATTR_TIME,
|
||||
CONF_TOKEN,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.exceptions import PlatformNotReady
|
||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
@ -66,12 +71,17 @@ 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 requested World Air Quality Index locations."""
|
||||
|
||||
token = config.get(CONF_TOKEN)
|
||||
station_filter = config.get(CONF_STATIONS)
|
||||
locations = config.get(CONF_LOCATIONS)
|
||||
token = config[CONF_TOKEN]
|
||||
station_filter = config[CONF_STATIONS]
|
||||
locations = config[CONF_LOCATIONS]
|
||||
|
||||
client = WaqiClient(token, async_get_clientsession(hass), timeout=TIMEOUT)
|
||||
dev = []
|
||||
|
|
|
@ -8,8 +8,9 @@ import voluptuous as vol
|
|||
from waterfurnace.waterfurnace import WaterFurnace, WFCredentialError, WFException
|
||||
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, EVENT_HOMEASSISTANT_STOP
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import config_validation as cv, discovery
|
||||
from homeassistant.helpers.typing import ConfigType
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
@ -35,13 +36,13 @@ CONFIG_SCHEMA = vol.Schema(
|
|||
)
|
||||
|
||||
|
||||
def setup(hass, base_config):
|
||||
def setup(hass: HomeAssistant, base_config: ConfigType) -> bool:
|
||||
"""Set up waterfurnace platform."""
|
||||
|
||||
config = base_config.get(DOMAIN)
|
||||
config = base_config[DOMAIN]
|
||||
|
||||
username = config.get(CONF_USERNAME)
|
||||
password = config.get(CONF_PASSWORD)
|
||||
username = config[CONF_USERNAME]
|
||||
password = config[CONF_PASSWORD]
|
||||
|
||||
wfconn = WaterFurnace(username, password)
|
||||
# NOTE(sdague): login will throw an exception if this doesn't
|
||||
|
|
|
@ -13,6 +13,7 @@ from homeassistant.components import websocket_api
|
|||
from homeassistant.components.http.view import HomeAssistantView
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.network import get_url
|
||||
from homeassistant.helpers.typing import ConfigType
|
||||
from homeassistant.loader import bind_hass
|
||||
from homeassistant.util.aiohttp import MockRequest
|
||||
|
||||
|
@ -110,7 +111,7 @@ async def async_handle_webhook(hass, webhook_id, request):
|
|||
return Response(status=HTTPStatus.OK)
|
||||
|
||||
|
||||
async def async_setup(hass, config):
|
||||
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
||||
"""Initialize the webhook component."""
|
||||
hass.http.register_view(WebhookView)
|
||||
hass.components.websocket_api.async_register_command(
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
"""Binary sensor support for Wireless Sensor Tags."""
|
||||
from __future__ import annotations
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.binary_sensor import PLATFORM_SCHEMA, BinarySensorEntity
|
||||
from homeassistant.const import CONF_MONITORED_CONDITIONS, STATE_OFF, STATE_ON
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||
|
||||
from . import (
|
||||
DOMAIN as WIRELESSTAG_DOMAIN,
|
||||
|
@ -68,15 +72,20 @@ 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 platform for a WirelessTags."""
|
||||
platform = hass.data.get(WIRELESSTAG_DOMAIN)
|
||||
platform = hass.data[WIRELESSTAG_DOMAIN]
|
||||
|
||||
sensors = []
|
||||
tags = platform.tags
|
||||
for tag in tags.values():
|
||||
allowed_sensor_types = tag.supported_binary_events_types
|
||||
for sensor_type in config.get(CONF_MONITORED_CONDITIONS):
|
||||
for sensor_type in config[CONF_MONITORED_CONDITIONS]:
|
||||
if sensor_type in allowed_sensor_types:
|
||||
sensors.append(WirelessTagBinarySensor(platform, tag, sensor_type))
|
||||
|
||||
|
|
|
@ -13,9 +13,11 @@ from homeassistant.components.sensor import (
|
|||
SensorStateClass,
|
||||
)
|
||||
from homeassistant.const import CONF_MONITORED_CONDITIONS
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||
|
||||
from . import DOMAIN as WIRELESSTAG_DOMAIN, SIGNAL_TAG_UPDATE, WirelessTagBaseSensor
|
||||
|
||||
|
@ -66,9 +68,14 @@ 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 sensor platform."""
|
||||
platform = hass.data.get(WIRELESSTAG_DOMAIN)
|
||||
platform = hass.data[WIRELESSTAG_DOMAIN]
|
||||
sensors = []
|
||||
tags = platform.tags
|
||||
for tag in tags.values():
|
||||
|
|
|
@ -9,7 +9,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 DOMAIN as WIRELESSTAG_DOMAIN, WirelessTagBaseSensor
|
||||
|
||||
|
@ -47,9 +50,14 @@ 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 switches for a Wireless Sensor Tags."""
|
||||
platform = hass.data.get(WIRELESSTAG_DOMAIN)
|
||||
platform = hass.data[WIRELESSTAG_DOMAIN]
|
||||
|
||||
tags = platform.load_tags()
|
||||
monitored_conditions = config[CONF_MONITORED_CONDITIONS]
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
"""The Wolf SmartSet sensors."""
|
||||
from __future__ import annotations
|
||||
|
||||
from wolf_smartset.models import (
|
||||
HoursParameter,
|
||||
ListItemParameter,
|
||||
|
@ -10,20 +12,27 @@ from wolf_smartset.models import (
|
|||
)
|
||||
|
||||
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import PRESSURE_BAR, TEMP_CELSIUS, TIME_HOURS
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
|
||||
from .const import COORDINATOR, DEVICE_ID, DOMAIN, PARAMETERS, STATES
|
||||
|
||||
|
||||
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 all entries for Wolf Platform."""
|
||||
|
||||
coordinator = hass.data[DOMAIN][config_entry.entry_id][COORDINATOR]
|
||||
parameters = hass.data[DOMAIN][config_entry.entry_id][PARAMETERS]
|
||||
device_id = hass.data[DOMAIN][config_entry.entry_id][DEVICE_ID]
|
||||
|
||||
entities = []
|
||||
entities: list[WolfLinkSensor] = []
|
||||
for parameter in parameters:
|
||||
if isinstance(parameter, Temperature):
|
||||
entities.append(WolfLinkTemperature(coordinator, parameter, device_id))
|
||||
|
|
|
@ -1,9 +1,14 @@
|
|||
"""Support for showing the time in a different time zone."""
|
||||
from __future__ import annotations
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
|
||||
from homeassistant.const import CONF_NAME, CONF_TIME_ZONE
|
||||
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
|
||||
import homeassistant.util.dt as dt_util
|
||||
|
||||
CONF_TIME_FORMAT = "time_format"
|
||||
|
@ -21,10 +26,15 @@ 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 World clock sensor."""
|
||||
name = config.get(CONF_NAME)
|
||||
time_zone = dt_util.get_time_zone(config.get(CONF_TIME_ZONE))
|
||||
time_zone = dt_util.get_time_zone(config[CONF_TIME_ZONE])
|
||||
|
||||
async_add_entities(
|
||||
[
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
"""Support for Washington State Department of Transportation (WSDOT) data."""
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from http import HTTPStatus
|
||||
import logging
|
||||
|
@ -16,7 +18,10 @@ from homeassistant.const import (
|
|||
CONF_NAME,
|
||||
TIME_MINUTES,
|
||||
)
|
||||
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__)
|
||||
|
||||
|
@ -43,17 +48,22 @@ SCAN_INTERVAL = timedelta(minutes=3)
|
|||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
||||
{
|
||||
vol.Required(CONF_API_KEY): cv.string,
|
||||
vol.Optional(CONF_TRAVEL_TIMES): [
|
||||
vol.Required(CONF_TRAVEL_TIMES): [
|
||||
{vol.Required(CONF_ID): cv.string, vol.Optional(CONF_NAME): cv.string}
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
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 WSDOT sensor."""
|
||||
sensors = []
|
||||
for travel_time in config.get(CONF_TRAVEL_TIMES):
|
||||
for travel_time in config[CONF_TRAVEL_TIMES]:
|
||||
name = travel_time.get(CONF_NAME) or travel_time.get(CONF_ID)
|
||||
sensors.append(
|
||||
WashingtonStateTravelTimeSensor(
|
||||
|
|
Loading…
Add table
Reference in a new issue