From 1519aa202d1c5ca3aec3e3cae9d32717cd5df01e Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 3 Jan 2022 16:09:34 +0100 Subject: [PATCH] Add media_player setup type hints [m-x] (#63298) Co-authored-by: epenet --- homeassistant/components/mediaroom/media_player.py | 13 +++++++++++-- homeassistant/components/monoprice/media_player.py | 9 ++++++++- homeassistant/components/mpchc/media_player.py | 12 +++++++++++- homeassistant/components/mpd/media_player.py | 12 +++++++++++- homeassistant/components/nad/media_player.py | 12 +++++++++++- .../components/panasonic_bluray/media_player.py | 12 +++++++++++- .../components/panasonic_viera/media_player.py | 9 ++++++++- homeassistant/components/pioneer/media_player.py | 12 +++++++++++- homeassistant/components/pjlink/media_player.py | 12 +++++++++++- homeassistant/components/ps4/media_player.py | 10 ++++++++-- homeassistant/components/roku/media_player.py | 7 ++++++- homeassistant/components/roon/media_player.py | 10 ++++++++-- .../components/russound_rio/media_player.py | 13 +++++++++++-- homeassistant/components/soundtouch/media_player.py | 13 +++++++++++-- .../components/ue_smart_radio/media_player.py | 11 ++++++++++- homeassistant/components/universal/media_player.py | 11 +++++++++-- homeassistant/components/vlc/media_player.py | 12 +++++++++++- homeassistant/components/volumio/media_player.py | 9 ++++++++- homeassistant/components/webostv/media_player.py | 12 +++++++++++- homeassistant/components/xbox/media_player.py | 7 ++++++- homeassistant/components/xiaomi_tv/media_player.py | 12 +++++++++++- 21 files changed, 203 insertions(+), 27 deletions(-) diff --git a/homeassistant/components/mediaroom/media_player.py b/homeassistant/components/mediaroom/media_player.py index d85aee894630..bb0f0da39bca 100644 --- a/homeassistant/components/mediaroom/media_player.py +++ b/homeassistant/components/mediaroom/media_player.py @@ -1,4 +1,6 @@ """Support for the Mediaroom Set-up-box.""" +from __future__ import annotations + import logging from pymediaroom import ( @@ -36,9 +38,11 @@ from homeassistant.const import ( STATE_STANDBY, STATE_UNAVAILABLE, ) -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, dispatcher_send +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType _LOGGER = logging.getLogger(__name__) @@ -73,7 +77,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 Mediaroom platform.""" if (known_hosts := hass.data.get(DATA_MEDIAROOM)) is None: known_hosts = hass.data[DATA_MEDIAROOM] = [] diff --git a/homeassistant/components/monoprice/media_player.py b/homeassistant/components/monoprice/media_player.py index 01c49fc5f8d2..eea674a07eef 100644 --- a/homeassistant/components/monoprice/media_player.py +++ b/homeassistant/components/monoprice/media_player.py @@ -13,9 +13,12 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_SET, SUPPORT_VOLUME_STEP, ) +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_PORT, STATE_OFF, STATE_ON +from homeassistant.core import HomeAssistant from homeassistant.helpers import config_validation as cv, entity_platform, service from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ( CONF_SOURCES, @@ -62,7 +65,11 @@ def _get_sources(config_entry): return _get_sources_from_dict(data) -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 Monoprice 6-zone amplifier platform.""" port = config_entry.data[CONF_PORT] diff --git a/homeassistant/components/mpchc/media_player.py b/homeassistant/components/mpchc/media_player.py index 8964ea7ed6f9..0f782a4d3a2f 100644 --- a/homeassistant/components/mpchc/media_player.py +++ b/homeassistant/components/mpchc/media_player.py @@ -1,4 +1,6 @@ """Support to interface with the MPC-HC Web API.""" +from __future__ import annotations + import logging import re @@ -24,7 +26,10 @@ from homeassistant.const import ( STATE_PAUSED, STATE_PLAYING, ) +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__) @@ -50,7 +55,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 MPC-HC platform.""" name = config.get(CONF_NAME) host = config.get(CONF_HOST) diff --git a/homeassistant/components/mpd/media_player.py b/homeassistant/components/mpd/media_player.py index c89378f20def..d2c6b7eeaf33 100644 --- a/homeassistant/components/mpd/media_player.py +++ b/homeassistant/components/mpd/media_player.py @@ -1,4 +1,6 @@ """Support to interact with a Music Player Daemon.""" +from __future__ import annotations + from contextlib import suppress from datetime import timedelta import hashlib @@ -42,7 +44,10 @@ from homeassistant.const import ( STATE_PAUSED, STATE_PLAYING, ) +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 import homeassistant.util.dt as dt_util @@ -78,7 +83,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 MPD platform.""" host = config.get(CONF_HOST) port = config.get(CONF_PORT) diff --git a/homeassistant/components/nad/media_player.py b/homeassistant/components/nad/media_player.py index ef8a9de37ee3..d9516496e695 100644 --- a/homeassistant/components/nad/media_player.py +++ b/homeassistant/components/nad/media_player.py @@ -1,4 +1,6 @@ """Support for interfacing with NAD receivers through RS-232.""" +from __future__ import annotations + from nad_receiver import NADReceiver, NADReceiverTCP, NADReceiverTelnet import voluptuous as vol @@ -19,7 +21,10 @@ from homeassistant.const import ( STATE_OFF, STATE_ON, ) +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 DEFAULT_TYPE = "RS232" DEFAULT_SERIAL_PORT = "/dev/ttyUSB0" @@ -63,7 +68,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 NAD platform.""" if config.get(CONF_TYPE) in ("RS232", "Telnet"): add_entities( diff --git a/homeassistant/components/panasonic_bluray/media_player.py b/homeassistant/components/panasonic_bluray/media_player.py index 792ee644bd9e..1e74c55a423a 100644 --- a/homeassistant/components/panasonic_bluray/media_player.py +++ b/homeassistant/components/panasonic_bluray/media_player.py @@ -1,4 +1,6 @@ """Support for Panasonic Blu-ray players.""" +from __future__ import annotations + from datetime import timedelta from panacotta import PanasonicBD @@ -19,7 +21,10 @@ from homeassistant.const import ( STATE_OFF, STATE_PLAYING, ) +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.dt import utcnow DEFAULT_NAME = "Panasonic Blu-Ray" @@ -38,7 +43,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 Panasonic Blu-ray platform.""" conf = discovery_info if discovery_info else config diff --git a/homeassistant/components/panasonic_viera/media_player.py b/homeassistant/components/panasonic_viera/media_player.py index a4013f9b53c6..4b16d9361a17 100644 --- a/homeassistant/components/panasonic_viera/media_player.py +++ b/homeassistant/components/panasonic_viera/media_player.py @@ -23,8 +23,11 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_SET, SUPPORT_VOLUME_STEP, ) +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_NAME +from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ( ATTR_DEVICE_INFO, @@ -54,7 +57,11 @@ SUPPORT_VIERATV = ( _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 Panasonic Viera TV from a config entry.""" config = config_entry.data diff --git a/homeassistant/components/pioneer/media_player.py b/homeassistant/components/pioneer/media_player.py index a3e0d318c032..5fd0c69dfbc4 100644 --- a/homeassistant/components/pioneer/media_player.py +++ b/homeassistant/components/pioneer/media_player.py @@ -1,4 +1,6 @@ """Support for Pioneer Network Receivers.""" +from __future__ import annotations + import logging import telnetlib @@ -23,7 +25,10 @@ from homeassistant.const import ( STATE_OFF, STATE_ON, ) +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__) @@ -59,7 +64,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 Pioneer platform.""" pioneer = PioneerDevice( config[CONF_NAME], diff --git a/homeassistant/components/pjlink/media_player.py b/homeassistant/components/pjlink/media_player.py index 3ecd3d26ae13..842933a7fb58 100644 --- a/homeassistant/components/pjlink/media_player.py +++ b/homeassistant/components/pjlink/media_player.py @@ -1,4 +1,6 @@ """Support for controlling projector via the PJLink protocol.""" +from __future__ import annotations + from pypjlink import MUTE_AUDIO, Projector from pypjlink.projector import ProjectorError import voluptuous as vol @@ -18,7 +20,10 @@ from homeassistant.const import ( STATE_OFF, STATE_ON, ) +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 CONF_ENCODING = "encoding" @@ -41,7 +46,12 @@ SUPPORT_PJLINK = ( ) -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 PJLink platform.""" host = config.get(CONF_HOST) port = config.get(CONF_PORT) diff --git a/homeassistant/components/ps4/media_player.py b/homeassistant/components/ps4/media_player.py index 8f3cfcb0e4b4..33de7f321dca 100644 --- a/homeassistant/components/ps4/media_player.py +++ b/homeassistant/components/ps4/media_player.py @@ -19,6 +19,7 @@ from homeassistant.components.media_player.const import ( SUPPORT_TURN_OFF, SUPPORT_TURN_ON, ) +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( ATTR_LOCKED, CONF_HOST, @@ -29,9 +30,10 @@ from homeassistant.const import ( STATE_PLAYING, STATE_STANDBY, ) -from homeassistant.core import callback +from homeassistant.core import HomeAssistant, callback from homeassistant.helpers import device_registry, entity_registry from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import format_unique_id, load_games, save_games from .const import ( @@ -58,7 +60,11 @@ MEDIA_IMAGE_DEFAULT = None DEFAULT_RETRIES = 2 -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 PS4 from a config entry.""" config = config_entry creds = config.data[CONF_TOKEN] diff --git a/homeassistant/components/roku/media_player.py b/homeassistant/components/roku/media_player.py index 72b93994a100..ebc8feef4469 100644 --- a/homeassistant/components/roku/media_player.py +++ b/homeassistant/components/roku/media_player.py @@ -27,6 +27,7 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_STEP, ) from homeassistant.components.media_player.errors import BrowseError +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( STATE_HOME, STATE_IDLE, @@ -35,7 +36,9 @@ from homeassistant.const import ( STATE_PLAYING, STATE_STANDBY, ) +from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_platform +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.network import is_internal_request from . import roku_exception_handler @@ -63,7 +66,9 @@ SUPPORT_ROKU = ( SEARCH_SCHEMA = {vol.Required(ATTR_KEYWORD): str} -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 Roku config entry.""" coordinator: RokuDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] unique_id = coordinator.data.info.serial_number diff --git a/homeassistant/components/roon/media_player.py b/homeassistant/components/roon/media_player.py index 84ebb41254a2..7c280727a199 100644 --- a/homeassistant/components/roon/media_player.py +++ b/homeassistant/components/roon/media_player.py @@ -22,6 +22,7 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_SET, SUPPORT_VOLUME_STEP, ) +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( DEVICE_DEFAULT_NAME, STATE_IDLE, @@ -29,13 +30,14 @@ from homeassistant.const import ( STATE_PAUSED, STATE_PLAYING, ) -from homeassistant.core import callback +from homeassistant.core import HomeAssistant, callback from homeassistant.helpers import config_validation as cv, entity_platform from homeassistant.helpers.dispatcher import ( async_dispatcher_connect, async_dispatcher_send, ) from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util import convert from homeassistant.util.dt import utcnow @@ -67,7 +69,11 @@ SERVICE_TRANSFER = "transfer" ATTR_TRANSFER = "transfer_id" -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 Roon MediaPlayer from Config Entry.""" roon_server = hass.data[DOMAIN][config_entry.entry_id] media_players = set() diff --git a/homeassistant/components/russound_rio/media_player.py b/homeassistant/components/russound_rio/media_player.py index b2c8250afc45..f8ebf39d22f7 100644 --- a/homeassistant/components/russound_rio/media_player.py +++ b/homeassistant/components/russound_rio/media_player.py @@ -1,4 +1,6 @@ """Support for Russound multizone controllers using RIO Protocol.""" +from __future__ import annotations + from russound_rio import Russound import voluptuous as vol @@ -19,8 +21,10 @@ from homeassistant.const import ( 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.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType SUPPORT_RUSSOUND = ( SUPPORT_VOLUME_MUTE @@ -39,7 +43,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 Russound RIO platform.""" host = config.get(CONF_HOST) diff --git a/homeassistant/components/soundtouch/media_player.py b/homeassistant/components/soundtouch/media_player.py index daf13897067d..f8c398c1c889 100644 --- a/homeassistant/components/soundtouch/media_player.py +++ b/homeassistant/components/soundtouch/media_player.py @@ -1,4 +1,6 @@ """Support for interface with a Bose Soundtouch.""" +from __future__ import annotations + import logging import re @@ -30,8 +32,10 @@ from homeassistant.const import ( STATE_PLAYING, STATE_UNAVAILABLE, ) -from homeassistant.core import ServiceCall, callback +from homeassistant.core import HomeAssistant, ServiceCall, callback import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from .const import ( DOMAIN, @@ -94,7 +98,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 Bose Soundtouch platform.""" if DATA_SOUNDTOUCH not in hass.data: hass.data[DATA_SOUNDTOUCH] = [] diff --git a/homeassistant/components/ue_smart_radio/media_player.py b/homeassistant/components/ue_smart_radio/media_player.py index f20a9d3578b7..d04d96dcf2ea 100644 --- a/homeassistant/components/ue_smart_radio/media_player.py +++ b/homeassistant/components/ue_smart_radio/media_player.py @@ -1,4 +1,5 @@ """Support for Logitech UE Smart Radios.""" +from __future__ import annotations import logging @@ -26,7 +27,10 @@ from homeassistant.const import ( STATE_PAUSED, STATE_PLAYING, ) +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__) @@ -69,7 +73,12 @@ def send_request(payload, session): return request.json() -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 Logitech UE Smart Radio platform.""" email = config.get(CONF_USERNAME) password = config.get(CONF_PASSWORD) diff --git a/homeassistant/components/universal/media_player.py b/homeassistant/components/universal/media_player.py index 925a76140f37..aa904592c15f 100644 --- a/homeassistant/components/universal/media_player.py +++ b/homeassistant/components/universal/media_player.py @@ -89,12 +89,14 @@ from homeassistant.const import ( STATE_UNAVAILABLE, STATE_UNKNOWN, ) -from homeassistant.core import EVENT_HOMEASSISTANT_START, callback +from homeassistant.core import EVENT_HOMEASSISTANT_START, HomeAssistant, callback from homeassistant.exceptions import TemplateError from homeassistant.helpers import config_validation as cv +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.event import TrackTemplate, async_track_template_result from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.service import async_call_from_config +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType ATTR_ACTIVE_CHILD = "active_child" @@ -122,7 +124,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 universal media players.""" await async_setup_reload_service(hass, "universal", ["media_player"]) diff --git a/homeassistant/components/vlc/media_player.py b/homeassistant/components/vlc/media_player.py index db5c26f4a0cc..77e2c17bedfe 100644 --- a/homeassistant/components/vlc/media_player.py +++ b/homeassistant/components/vlc/media_player.py @@ -1,4 +1,6 @@ """Provide functionality to interact with vlc devices on the network.""" +from __future__ import annotations + import logging import vlc @@ -15,7 +17,10 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_SET, ) from homeassistant.const import CONF_NAME, STATE_IDLE, STATE_PAUSED, STATE_PLAYING +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 _LOGGER = logging.getLogger(__name__) @@ -40,7 +45,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 vlc platform.""" add_entities( [VlcDevice(config.get(CONF_NAME, DEFAULT_NAME), config.get(CONF_ARGUMENTS))] diff --git a/homeassistant/components/volumio/media_player.py b/homeassistant/components/volumio/media_player.py index 06ee0346b7f0..68ab724595cc 100644 --- a/homeassistant/components/volumio/media_player.py +++ b/homeassistant/components/volumio/media_player.py @@ -24,6 +24,7 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_SET, SUPPORT_VOLUME_STEP, ) +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( CONF_ID, CONF_NAME, @@ -31,7 +32,9 @@ from homeassistant.const import ( STATE_PAUSED, STATE_PLAYING, ) +from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util import Throttle from .browse_media import browse_node, browse_top_level @@ -57,7 +60,11 @@ SUPPORT_VOLUMIO = ( PLAYLIST_UPDATE_INTERVAL = timedelta(seconds=15) -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 Volumio media player platform.""" data = hass.data[DOMAIN][config_entry.entry_id] diff --git a/homeassistant/components/webostv/media_player.py b/homeassistant/components/webostv/media_player.py index 5c79942f279c..123fe80b6e6d 100644 --- a/homeassistant/components/webostv/media_player.py +++ b/homeassistant/components/webostv/media_player.py @@ -1,4 +1,6 @@ """Support for interface with an LG webOS Smart TV.""" +from __future__ import annotations + import asyncio from contextlib import suppress from datetime import timedelta @@ -37,8 +39,11 @@ from homeassistant.const import ( STATE_OFF, STATE_ON, ) +from homeassistant.core import HomeAssistant from homeassistant.helpers.dispatcher import async_dispatcher_connect +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.script import Script +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from .const import ( ATTR_PAYLOAD, @@ -68,7 +73,12 @@ MIN_TIME_BETWEEN_FORCED_SCANS = timedelta(seconds=1) SCAN_INTERVAL = timedelta(seconds=10) -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 LG webOS Smart TV platform.""" if discovery_info is None: diff --git a/homeassistant/components/xbox/media_player.py b/homeassistant/components/xbox/media_player.py index cdeb016d6040..4cc7ebda545a 100644 --- a/homeassistant/components/xbox/media_player.py +++ b/homeassistant/components/xbox/media_player.py @@ -28,8 +28,11 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_STEP, ) +from homeassistant.config_entries import ConfigEntry from homeassistant.const import STATE_OFF, STATE_ON, STATE_PAUSED, STATE_PLAYING +from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import CoordinatorEntity from . import ConsoleData, XboxUpdateCoordinator @@ -60,7 +63,9 @@ XBOX_STATE_MAP = { } -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 Xbox media_player from a config entry.""" client: XboxLiveClient = hass.data[DOMAIN][entry.entry_id]["client"] consoles: SmartglassConsoleList = hass.data[DOMAIN][entry.entry_id]["consoles"] diff --git a/homeassistant/components/xiaomi_tv/media_player.py b/homeassistant/components/xiaomi_tv/media_player.py index 6c0a55f787d0..095eee571e59 100644 --- a/homeassistant/components/xiaomi_tv/media_player.py +++ b/homeassistant/components/xiaomi_tv/media_player.py @@ -1,4 +1,6 @@ """Add support for the Xiaomi TVs.""" +from __future__ import annotations + import logging import pymitv @@ -11,7 +13,10 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_STEP, ) from homeassistant.const import CONF_HOST, CONF_NAME, STATE_OFF, STATE_ON +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 DEFAULT_NAME = "Xiaomi TV" @@ -28,7 +33,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 Xiaomi TV platform.""" # If a hostname is set. Discovery is skipped.