developers.home-assistant/docs/entity_media_player.md

2.8 KiB

title sidebar_label
Media Player Entity Media Player

:::info Incomplete This entry is incomplete. Contribution welcome. :::

Properties

:::tip Properties should always only return information from memory and not do I/O (like network requests). Implement update() or async_update() to fetch data. :::

Name Type Default Description
sound_mode string None The current sound mode of the media player
sound_mode_list list None Dynamic list of available sound modes (set by platform, empty means sound mode not supported)
source string None The currently selected input source for the media player.
source_list list None The list of possible input sources for the media player. (This list should contain human readable names, suitible for frontend display)
media_image_url string None URL that represents the current image.
media_image_remotely_accessible boolean False Return True if property media_image_url is accessible outside of the home network.
device_class string None Type of media player.

Methods

Select sound mode

Optional. Switch the sound mode of the media player.

class MyMediaPlayer(MediaPlayerDevice):
  # Implement one of these methods.

  def select_sound_mode(self, sound_mode):
      """Switch the sound mode of the entity."""

  def async_select_sound_mode(self, sound_mode):
      """Switch the sound mode of the entity."""

Select source

Optional. Switch the selected input source for the media player.

class MyMediaPlayer(MediaPlayerDevice):
  # Implement one of these methods.

  def select_source(self, source):
      """Select input source."""

  def async_select_source(self, source):
      """Select input source."""

Mediatype

Required. Returns one of the defined constants from the below list that matches the mediatype

CONST
MEDIA_TYPE_MUSIC
MEDIA_TYPE_TVSHOW
MEDIA_TYPE_MOVIE
MEDIA_TYPE_VIDEO
MEDIA_TYPE_EPISODE
MEDIA_TYPE_CHANNEL
MEDIA_TYPE_PLAYLIST
MEDIA_TYPE_IMAGE
MEDIA_TYPE_URL
MEDIA_TYPE_GAME
MEDIA_TYPE_APP
class MyMediaPlayer(MediaPlayerDevice):
  # Implement the following method.

  @property
  def media_content_type(self):
    """Content type of current playing media."""

:::info Using the integration name as the media_content_type is also acceptable within the play_media service if the integration provides handling which does not map to the defined constants. :::

Available device classes

Optional. What type of media device is this. It will possibly map to google device types.

Value Description
tv Device is a television type device.
speaker Device is speakers or stereo type device.