Added source selection for Denon AVR Media Player (#4304)
* Added source selection for Denon AVR Media Player * Update denon.py * Update denon.py * Update denon.py * Update denon.py * Update denon.py slight format update (space issue and new line) * Further update regarding formatting * Updated the source name with lowercase * Update denon.py
This commit is contained in:
parent
86f3e2455d
commit
547d93f631
1 changed files with 17 additions and 4 deletions
21
homeassistant/components/media_player/denon.py
Normal file → Executable file
21
homeassistant/components/media_player/denon.py
Normal file → Executable file
|
@ -10,8 +10,9 @@ import telnetlib
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
PLATFORM_SCHEMA, SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PREVIOUS_TRACK,
|
PLATFORM_SCHEMA, SUPPORT_NEXT_TRACK, SUPPORT_SELECT_SOURCE,
|
||||||
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
SUPPORT_PAUSE, SUPPORT_PREVIOUS_TRACK, SUPPORT_TURN_OFF,
|
||||||
|
SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
||||||
MediaPlayerDevice)
|
MediaPlayerDevice)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_HOST, CONF_NAME, STATE_OFF, STATE_ON, STATE_UNKNOWN)
|
CONF_HOST, CONF_NAME, STATE_OFF, STATE_ON, STATE_UNKNOWN)
|
||||||
|
@ -21,8 +22,9 @@ _LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
DEFAULT_NAME = 'Music station'
|
DEFAULT_NAME = 'Music station'
|
||||||
|
|
||||||
SUPPORT_DENON = SUPPORT_PAUSE | SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \
|
SUPPORT_DENON = SUPPORT_PAUSE | SUPPORT_VOLUME_SET | \
|
||||||
SUPPORT_PREVIOUS_TRACK | SUPPORT_NEXT_TRACK | \
|
SUPPORT_VOLUME_MUTE | SUPPORT_PREVIOUS_TRACK | \
|
||||||
|
SUPPORT_SELECT_SOURCE | SUPPORT_NEXT_TRACK | \
|
||||||
SUPPORT_TURN_ON | SUPPORT_TURN_OFF
|
SUPPORT_TURN_ON | SUPPORT_TURN_OFF
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
|
@ -51,6 +53,8 @@ class DenonDevice(MediaPlayerDevice):
|
||||||
self._host = host
|
self._host = host
|
||||||
self._pwstate = 'PWSTANDBY'
|
self._pwstate = 'PWSTANDBY'
|
||||||
self._volume = 0
|
self._volume = 0
|
||||||
|
self._source_list = {'TV': 'SITV', 'Tuner': 'SITUNER',
|
||||||
|
'Internet Radio': 'SIIRP', 'Favorites': 'SIFVP'}
|
||||||
self._muted = False
|
self._muted = False
|
||||||
self._mediasource = ''
|
self._mediasource = ''
|
||||||
|
|
||||||
|
@ -111,6 +115,11 @@ class DenonDevice(MediaPlayerDevice):
|
||||||
"""Boolean if volume is currently muted."""
|
"""Boolean if volume is currently muted."""
|
||||||
return self._muted
|
return self._muted
|
||||||
|
|
||||||
|
@property
|
||||||
|
def source_list(self):
|
||||||
|
"""List of available input sources."""
|
||||||
|
return list(self._source_list.keys())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def media_title(self):
|
def media_title(self):
|
||||||
"""Current media source."""
|
"""Current media source."""
|
||||||
|
@ -161,3 +170,7 @@ class DenonDevice(MediaPlayerDevice):
|
||||||
def turn_on(self):
|
def turn_on(self):
|
||||||
"""Turn the media player on."""
|
"""Turn the media player on."""
|
||||||
self.telnet_command('PWON')
|
self.telnet_command('PWON')
|
||||||
|
|
||||||
|
def select_source(self, source):
|
||||||
|
"""Select input source."""
|
||||||
|
self.telnet_command(self._source_list.get(source))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue