diff --git a/homeassistant/components/yamaha/media_player.py b/homeassistant/components/yamaha/media_player.py
index bccb7b437f8d626b2648d7c7f98ed664b0abdaf1..c16433b3c378c3a4a609f33b5ba7e5f153586c40 100644
--- a/homeassistant/components/yamaha/media_player.py
+++ b/homeassistant/components/yamaha/media_player.py
@@ -7,6 +7,7 @@ from typing import Any
 
 import requests
 import rxv
+from rxv import RXV
 import voluptuous as vol
 
 from homeassistant.components.media_player import (
@@ -112,7 +113,7 @@ class YamahaConfigInfo:
             self.from_discovery = True
 
 
-def _discovery(config_info):
+def _discovery(config_info: YamahaConfigInfo) -> list[RXV]:
     """Discover list of zone controllers from configuration in the network."""
     if config_info.from_discovery:
         _LOGGER.debug("Discovery Zones")
@@ -163,6 +164,7 @@ async def async_setup_platform(
             _LOGGER.debug("Ignore receiver zone: %s %s", config_info.name, zctrl.zone)
             continue
 
+        assert config_info.name
         entity = YamahaDeviceZone(
             config_info.name,
             zctrl,
@@ -206,16 +208,24 @@ async def async_setup_platform(
 class YamahaDeviceZone(MediaPlayerEntity):
     """Representation of a Yamaha device zone."""
 
-    def __init__(self, name, zctrl, source_ignore, source_names, zone_names):
+    _reverse_mapping: dict[str, str]
+
+    def __init__(
+        self,
+        name: str,
+        zctrl: RXV,
+        source_ignore: list[str] | None,
+        source_names: dict[str, str] | None,
+        zone_names: dict[str, str] | None,
+    ) -> None:
         """Initialize the Yamaha Receiver."""
         self.zctrl = zctrl
         self._attr_is_volume_muted = False
         self._attr_volume_level = 0
         self._attr_state = MediaPlayerState.OFF
-        self._source_ignore = source_ignore or []
-        self._source_names = source_names or {}
-        self._zone_names = zone_names or {}
-        self._reverse_mapping = None
+        self._source_ignore: list[str] = source_ignore or []
+        self._source_names: dict[str, str] = source_names or {}
+        self._zone_names: dict[str, str] = zone_names or {}
         self._playback_support = None
         self._is_playback_supported = False
         self._play_status = None
@@ -267,7 +277,7 @@ class YamahaDeviceZone(MediaPlayerEntity):
             self._attr_sound_mode = None
             self._attr_sound_mode_list = None
 
-    def build_source_list(self):
+    def build_source_list(self) -> None:
         """Build the source list."""
         self._reverse_mapping = {
             alias: source for source, alias in self._source_names.items()
@@ -280,7 +290,7 @@ class YamahaDeviceZone(MediaPlayerEntity):
         )
 
     @property
-    def name(self):
+    def name(self) -> str:
         """Return the name of the device."""
         name = self._name
         zone_name = self._zone_names.get(self._zone, self._zone)
@@ -290,7 +300,7 @@ class YamahaDeviceZone(MediaPlayerEntity):
         return name
 
     @property
-    def zone_id(self):
+    def zone_id(self) -> str:
         """Return a zone_id to ensure 1 media player per zone."""
         return f"{self.zctrl.ctrl_url}:{self._zone}"
 
@@ -387,15 +397,15 @@ class YamahaDeviceZone(MediaPlayerEntity):
         if media_type == "NET RADIO":
             self.zctrl.net_radio(media_id)
 
-    def enable_output(self, port, enabled):
+    def enable_output(self, port: str, enabled: bool) -> None:
         """Enable or disable an output port.."""
         self.zctrl.enable_output(port, enabled)
 
-    def menu_cursor(self, cursor):
+    def menu_cursor(self, cursor: str) -> None:
         """Press a menu cursor button."""
         getattr(self.zctrl, CURSOR_TYPE_MAP[cursor])()
 
-    def set_scene(self, scene):
+    def set_scene(self, scene: str) -> None:
         """Set the current scene."""
         try:
             self.zctrl.scene = scene