Add support for sound_mode for Yamaha rxv media_player (#16352)
This commit is contained in:
parent
b31890c4cb
commit
444df5b09a
1 changed files with 21 additions and 2 deletions
|
@ -14,7 +14,7 @@ from homeassistant.components.media_player import (
|
||||||
SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PLAY, SUPPORT_PLAY_MEDIA,
|
SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PLAY, SUPPORT_PLAY_MEDIA,
|
||||||
SUPPORT_PREVIOUS_TRACK, SUPPORT_SELECT_SOURCE, SUPPORT_STOP,
|
SUPPORT_PREVIOUS_TRACK, SUPPORT_SELECT_SOURCE, SUPPORT_STOP,
|
||||||
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
||||||
MediaPlayerDevice)
|
SUPPORT_SELECT_SOUND_MODE, MediaPlayerDevice)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_ENTITY_ID, CONF_HOST, CONF_NAME, STATE_IDLE, STATE_OFF, STATE_ON,
|
ATTR_ENTITY_ID, CONF_HOST, CONF_NAME, STATE_IDLE, STATE_OFF, STATE_ON,
|
||||||
STATE_PLAYING)
|
STATE_PLAYING)
|
||||||
|
@ -43,7 +43,8 @@ ENABLE_OUTPUT_SCHEMA = MEDIA_PLAYER_SCHEMA.extend({
|
||||||
SERVICE_ENABLE_OUTPUT = 'yamaha_enable_output'
|
SERVICE_ENABLE_OUTPUT = 'yamaha_enable_output'
|
||||||
|
|
||||||
SUPPORT_YAMAHA = SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \
|
SUPPORT_YAMAHA = SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \
|
||||||
SUPPORT_TURN_ON | SUPPORT_TURN_OFF | SUPPORT_SELECT_SOURCE | SUPPORT_PLAY
|
SUPPORT_TURN_ON | SUPPORT_TURN_OFF | SUPPORT_SELECT_SOURCE | SUPPORT_PLAY \
|
||||||
|
| SUPPORT_SELECT_SOUND_MODE
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||||
|
@ -140,6 +141,8 @@ class YamahaDevice(MediaPlayerDevice):
|
||||||
self._volume = 0
|
self._volume = 0
|
||||||
self._pwstate = STATE_OFF
|
self._pwstate = STATE_OFF
|
||||||
self._current_source = None
|
self._current_source = None
|
||||||
|
self._sound_mode = None
|
||||||
|
self._sound_mode_list = None
|
||||||
self._source_list = None
|
self._source_list = None
|
||||||
self._source_ignore = source_ignore or []
|
self._source_ignore = source_ignore or []
|
||||||
self._source_names = source_names or {}
|
self._source_names = source_names or {}
|
||||||
|
@ -181,6 +184,8 @@ class YamahaDevice(MediaPlayerDevice):
|
||||||
self._playback_support = self.receiver.get_playback_support()
|
self._playback_support = self.receiver.get_playback_support()
|
||||||
self._is_playback_supported = self.receiver.is_playback_supported(
|
self._is_playback_supported = self.receiver.is_playback_supported(
|
||||||
self._current_source)
|
self._current_source)
|
||||||
|
self._sound_mode = self.receiver.surround_program
|
||||||
|
self._sound_mode_list = self.receiver.surround_programs()
|
||||||
|
|
||||||
def build_source_list(self):
|
def build_source_list(self):
|
||||||
"""Build the source list."""
|
"""Build the source list."""
|
||||||
|
@ -222,6 +227,16 @@ class YamahaDevice(MediaPlayerDevice):
|
||||||
"""Return the current input source."""
|
"""Return the current input source."""
|
||||||
return self._current_source
|
return self._current_source
|
||||||
|
|
||||||
|
@property
|
||||||
|
def sound_mode(self):
|
||||||
|
"""Return the current sound mode."""
|
||||||
|
return self._sound_mode
|
||||||
|
|
||||||
|
@property
|
||||||
|
def sound_mode_list(self):
|
||||||
|
"""Return the current sound mode."""
|
||||||
|
return self._sound_mode_list
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def source_list(self):
|
def source_list(self):
|
||||||
"""List of available input sources."""
|
"""List of available input sources."""
|
||||||
|
@ -330,6 +345,10 @@ class YamahaDevice(MediaPlayerDevice):
|
||||||
"""Enable or disable an output port.."""
|
"""Enable or disable an output port.."""
|
||||||
self.receiver.enable_output(port, enabled)
|
self.receiver.enable_output(port, enabled)
|
||||||
|
|
||||||
|
def select_sound_mode(self, sound_mode):
|
||||||
|
"""Set Sound Mode for Receiver.."""
|
||||||
|
self.receiver.surround_program = sound_mode
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def media_artist(self):
|
def media_artist(self):
|
||||||
"""Artist of current playing media."""
|
"""Artist of current playing media."""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue