diff --git a/homeassistant/components/media_player/denon.py b/homeassistant/components/media_player/denon.py old mode 100644 new mode 100755 index 96cf0b99462..351d6c8c491 --- a/homeassistant/components/media_player/denon.py +++ b/homeassistant/components/media_player/denon.py @@ -10,8 +10,9 @@ import telnetlib import voluptuous as vol from homeassistant.components.media_player import ( - PLATFORM_SCHEMA, SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PREVIOUS_TRACK, - SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, + PLATFORM_SCHEMA, SUPPORT_NEXT_TRACK, SUPPORT_SELECT_SOURCE, + SUPPORT_PAUSE, SUPPORT_PREVIOUS_TRACK, SUPPORT_TURN_OFF, + SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, MediaPlayerDevice) from homeassistant.const import ( CONF_HOST, CONF_NAME, STATE_OFF, STATE_ON, STATE_UNKNOWN) @@ -21,8 +22,9 @@ _LOGGER = logging.getLogger(__name__) DEFAULT_NAME = 'Music station' -SUPPORT_DENON = SUPPORT_PAUSE | SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \ - SUPPORT_PREVIOUS_TRACK | SUPPORT_NEXT_TRACK | \ +SUPPORT_DENON = SUPPORT_PAUSE | SUPPORT_VOLUME_SET | \ + SUPPORT_VOLUME_MUTE | SUPPORT_PREVIOUS_TRACK | \ + SUPPORT_SELECT_SOURCE | SUPPORT_NEXT_TRACK | \ SUPPORT_TURN_ON | SUPPORT_TURN_OFF PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ @@ -51,6 +53,8 @@ class DenonDevice(MediaPlayerDevice): self._host = host self._pwstate = 'PWSTANDBY' self._volume = 0 + self._source_list = {'TV': 'SITV', 'Tuner': 'SITUNER', + 'Internet Radio': 'SIIRP', 'Favorites': 'SIFVP'} self._muted = False self._mediasource = '' @@ -111,6 +115,11 @@ class DenonDevice(MediaPlayerDevice): """Boolean if volume is currently muted.""" return self._muted + @property + def source_list(self): + """List of available input sources.""" + return list(self._source_list.keys()) + @property def media_title(self): """Current media source.""" @@ -161,3 +170,7 @@ class DenonDevice(MediaPlayerDevice): def turn_on(self): """Turn the media player on.""" self.telnet_command('PWON') + + def select_source(self, source): + """Select input source.""" + self.telnet_command(self._source_list.get(source))