Add sensor setup type hints [r] (#63312)

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2022-01-03 19:08:34 +01:00 committed by GitHub
parent 595e8a327c
commit 822ac203c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 128 additions and 14 deletions

View File

@ -31,7 +31,10 @@ from homeassistant.const import (
DATA_YOTTABYTES, DATA_YOTTABYTES,
DATA_ZETTABYTES, DATA_ZETTABYTES,
) )
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv 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 dt as dt_util from homeassistant.util import dt as dt_util
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -127,7 +130,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 the Radarr platform.""" """Set up the Radarr platform."""
conditions = config[CONF_MONITORED_CONDITIONS] conditions = config[CONF_MONITORED_CONDITIONS]
entities = [ entities = [

View File

@ -1,9 +1,14 @@
"""Support for Rain Bird Irrigation system LNK WiFi Module.""" """Support for Rain Bird Irrigation system LNK WiFi Module."""
from __future__ import annotations
import logging import logging
from pyrainbird import RainbirdController from pyrainbird import RainbirdController
from homeassistant.components.sensor import SensorEntity, SensorEntityDescription from homeassistant.components.sensor import SensorEntity, SensorEntityDescription
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from . import ( from . import (
DATA_RAINBIRD, DATA_RAINBIRD,
@ -16,7 +21,12 @@ from . import (
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
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 Rain Bird sensor.""" """Set up a Rain Bird sensor."""
if discovery_info is None: if discovery_info is None:

View File

@ -1,4 +1,6 @@
"""Support for showing random numbers.""" """Support for showing random numbers."""
from __future__ import annotations
from random import randrange from random import randrange
import voluptuous as vol import voluptuous as vol
@ -10,7 +12,10 @@ from homeassistant.const import (
CONF_NAME, CONF_NAME,
CONF_UNIT_OF_MEASUREMENT, CONF_UNIT_OF_MEASUREMENT,
) )
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
ATTR_MAXIMUM = "maximum" ATTR_MAXIMUM = "maximum"
ATTR_MINIMUM = "minimum" ATTR_MINIMUM = "minimum"
@ -31,7 +36,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 Random number sensor.""" """Set up the Random number sensor."""
name = config.get(CONF_NAME) name = config.get(CONF_NAME)
minimum = config.get(CONF_MINIMUM) minimum = config.get(CONF_MINIMUM)

View File

@ -1,4 +1,6 @@
"""Support for Reddit.""" """Support for Reddit."""
from __future__ import annotations
from datetime import timedelta from datetime import timedelta
import logging import logging
@ -14,7 +16,10 @@ from homeassistant.const import (
CONF_PASSWORD, CONF_PASSWORD,
CONF_USERNAME, CONF_USERNAME,
) )
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv 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__) _LOGGER = logging.getLogger(__name__)
@ -53,7 +58,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 the Reddit sensor platform.""" """Set up the Reddit sensor platform."""
subreddits = config[CONF_SUBREDDITS] subreddits = config[CONF_SUBREDDITS]
user_agent = f"{config[CONF_USERNAME]}_home_assistant_sensor" user_agent = f"{config[CONF_USERNAME]}_home_assistant_sensor"

View File

@ -4,6 +4,8 @@ Support for Rejseplanen information from rejseplanen.dk.
For more info on the API see: For more info on the API see:
https://help.rejseplanen.dk/hc/en-us/articles/214174465-Rejseplanen-s-API https://help.rejseplanen.dk/hc/en-us/articles/214174465-Rejseplanen-s-API
""" """
from __future__ import annotations
from contextlib import suppress from contextlib import suppress
from datetime import datetime, timedelta from datetime import datetime, timedelta
import logging import logging
@ -14,7 +16,10 @@ import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ATTR_ATTRIBUTION, CONF_NAME, TIME_MINUTES from homeassistant.const import ATTR_ATTRIBUTION, CONF_NAME, TIME_MINUTES
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv 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 import homeassistant.util.dt as dt_util
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -73,7 +78,12 @@ def due_in_minutes(timestamp):
return int(diff.total_seconds() // 60) return int(diff.total_seconds() // 60)
def setup_platform(hass, config, add_devices, discovery_info=None): def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_devices: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the Rejseplanen transport sensor.""" """Set up the Rejseplanen transport sensor."""
name = config[CONF_NAME] name = config[CONF_NAME]
stop_id = config[CONF_STOP_ID] stop_id = config[CONF_STOP_ID]

View File

@ -1,4 +1,6 @@
"""Support for RESTful API sensors.""" """Support for RESTful API sensors."""
from __future__ import annotations
import json import json
import logging import logging
from xml.parsers.expat import ExpatError from xml.parsers.expat import ExpatError
@ -24,8 +26,11 @@ from homeassistant.const import (
CONF_UNIT_OF_MEASUREMENT, CONF_UNIT_OF_MEASUREMENT,
CONF_VALUE_TEMPLATE, CONF_VALUE_TEMPLATE,
) )
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import PlatformNotReady from homeassistant.exceptions import PlatformNotReady
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from . import async_get_config_and_coordinator, create_rest_data_from_config from . import async_get_config_and_coordinator, create_rest_data_from_config
from .const import CONF_JSON_ATTRS, CONF_JSON_ATTRS_PATH from .const import CONF_JSON_ATTRS, CONF_JSON_ATTRS_PATH
@ -41,7 +46,12 @@ PLATFORM_SCHEMA = vol.All(
) )
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 RESTful sensor.""" """Set up the RESTful sensor."""
# Must update the sensor now (including fetching the rest resource) to # Must update the sensor now (including fetching the rest resource) to
# ensure it's updating its state. # ensure it's updating its state.

View File

@ -1,4 +1,6 @@
"""Support for Rflink sensors.""" """Support for Rflink sensors."""
from __future__ import annotations
from rflink.parser import PACKET_FIELDS, UNITS from rflink.parser import PACKET_FIELDS, UNITS
import voluptuous as vol import voluptuous as vol
@ -10,8 +12,11 @@ from homeassistant.const import (
CONF_SENSOR_TYPE, CONF_SENSOR_TYPE,
CONF_UNIT_OF_MEASUREMENT, CONF_UNIT_OF_MEASUREMENT,
) )
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from . import ( from . import (
CONF_ALIASES, CONF_ALIASES,
@ -77,7 +82,12 @@ def devices_from_config(domain_config):
return devices return devices
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 Rflink platform.""" """Set up the Rflink platform."""
async_add_entities(devices_from_config(config)) async_add_entities(devices_from_config(config))

View File

@ -8,15 +8,21 @@ from homeassistant.components.sensor import (
SensorEntity, SensorEntity,
SensorEntityDescription, SensorEntityDescription,
) )
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT from homeassistant.const import PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT
from homeassistant.core import callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.icon import icon_for_battery_level from homeassistant.helpers.icon import icon_for_battery_level
from . import DOMAIN from . import DOMAIN
from .entity import RingEntityMixin from .entity import RingEntityMixin
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 a sensor for a Ring device.""" """Set up a sensor for a Ring device."""
devices = hass.data[DOMAIN][config_entry.entry_id]["devices"] devices = hass.data[DOMAIN][config_entry.entry_id]["devices"]

View File

@ -1,4 +1,6 @@
"""Support for Ripple sensors.""" """Support for Ripple sensors."""
from __future__ import annotations
from datetime import timedelta from datetime import timedelta
from pyripple import get_balance from pyripple import get_balance
@ -6,7 +8,10 @@ import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ATTR_ATTRIBUTION, CONF_ADDRESS, CONF_NAME from homeassistant.const import ATTR_ATTRIBUTION, CONF_ADDRESS, CONF_NAME
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
ATTRIBUTION = "Data provided by ripple.com" ATTRIBUTION = "Data provided by ripple.com"
@ -22,7 +27,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 the Ripple.com sensors.""" """Set up the Ripple.com sensors."""
address = config.get(CONF_ADDRESS) address = config.get(CONF_ADDRESS)
name = config.get(CONF_NAME) name = config.get(CONF_NAME)

View File

@ -1,6 +1,9 @@
"""Sensor for Risco Events.""" """Sensor for Risco Events."""
from homeassistant.components.binary_sensor import DOMAIN as BS_DOMAIN from homeassistant.components.binary_sensor import DOMAIN as BS_DOMAIN
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity from homeassistant.components.sensor import SensorDeviceClass, SensorEntity
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 homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import DOMAIN, EVENTS_COORDINATOR from .const import DOMAIN, EVENTS_COORDINATOR
@ -27,7 +30,11 @@ EVENT_ATTRIBUTES = [
] ]
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 sensors for device.""" """Set up sensors for device."""
coordinator = hass.data[DOMAIN][config_entry.entry_id][EVENTS_COORDINATOR] coordinator = hass.data[DOMAIN][config_entry.entry_id][EVENTS_COORDINATOR]
sensors = [ sensors = [

View File

@ -1,15 +1,22 @@
"""Sensor for checking the battery level of Roomba.""" """Sensor for checking the battery level of Roomba."""
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity from homeassistant.components.sensor import SensorDeviceClass, SensorEntity
from homeassistant.components.vacuum import STATE_DOCKED from homeassistant.components.vacuum import STATE_DOCKED
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import PERCENTAGE from homeassistant.const import PERCENTAGE
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.icon import icon_for_battery_level from homeassistant.helpers.icon import icon_for_battery_level
from .const import BLID, DOMAIN, ROOMBA_SESSION from .const import BLID, DOMAIN, ROOMBA_SESSION
from .irobot_base import IRobotEntity from .irobot_base import IRobotEntity
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 iRobot Roomba vacuum cleaner.""" """Set up the iRobot Roomba vacuum cleaner."""
domain_data = hass.data[DOMAIN][config_entry.entry_id] domain_data = hass.data[DOMAIN][config_entry.entry_id]
roomba = domain_data[ROOMBA_SESSION] roomba = domain_data[ROOMBA_SESSION]

View File

@ -15,7 +15,10 @@ from homeassistant.components.sensor import (
SensorEntityDescription, SensorEntityDescription,
) )
from homeassistant.const import CONF_MONITORED_CONDITIONS, CONF_NAME from homeassistant.const import CONF_MONITORED_CONDITIONS, CONF_NAME
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv 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 import Throttle
from homeassistant.util.dt import get_time_zone, now from homeassistant.util.dt import get_time_zone, now
@ -66,7 +69,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
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:
"""Create the Rova data service and sensors.""" """Create the Rova data service and sensors."""
zip_code = config[CONF_ZIP_CODE] zip_code = config[CONF_ZIP_CODE]

View File

@ -18,8 +18,11 @@ from homeassistant.const import (
DATA_RATE_KILOBYTES_PER_SECOND, DATA_RATE_KILOBYTES_PER_SECOND,
STATE_IDLE, STATE_IDLE,
) )
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import PlatformNotReady from homeassistant.exceptions import PlatformNotReady
import homeassistant.helpers.config_validation as cv 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__) _LOGGER = logging.getLogger(__name__)
@ -88,7 +91,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 the rtorrent sensors.""" """Set up the rtorrent sensors."""
url = config[CONF_URL] url = config[CONF_URL]
name = config[CONF_NAME] name = config[CONF_NAME]