Schlafzimmer szenen, stillen usw
This commit is contained in:
@@ -14,8 +14,9 @@ from homeassistant.components.media_player.const import (
|
||||
ATTR_MEDIA_ENQUEUE, DOMAIN, MEDIA_TYPE_MUSIC,
|
||||
SUPPORT_CLEAR_PLAYLIST, SUPPORT_NEXT_TRACK, SUPPORT_PAUSE,
|
||||
SUPPORT_PLAY, SUPPORT_PLAY_MEDIA, SUPPORT_PREVIOUS_TRACK, SUPPORT_SEEK,
|
||||
SUPPORT_SHUFFLE_SET, SUPPORT_TURN_OFF, SUPPORT_TURN_ON,
|
||||
SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET)
|
||||
SUPPORT_SHUFFLE_SET, SUPPORT_REPEAT_SET, SUPPORT_TURN_OFF, SUPPORT_TURN_ON,
|
||||
SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, REPEAT_MODE_ALL, REPEAT_MODE_OFF,
|
||||
REPEAT_MODE_ONE,)
|
||||
from homeassistant.const import (
|
||||
ATTR_COMMAND, CONF_HOST, CONF_PASSWORD, CONF_PORT, CONF_USERNAME, ATTR_ENTITY_ID,
|
||||
STATE_IDLE, STATE_OFF, STATE_PAUSED, STATE_PLAYING)
|
||||
@@ -29,7 +30,7 @@ DEFAULT_PORT = 9090
|
||||
SUPPORT_SQUEEZEBOX = SUPPORT_PAUSE | SUPPORT_VOLUME_SET | \
|
||||
SUPPORT_VOLUME_MUTE | SUPPORT_PREVIOUS_TRACK | SUPPORT_NEXT_TRACK | \
|
||||
SUPPORT_SEEK | SUPPORT_TURN_ON | SUPPORT_TURN_OFF | SUPPORT_PLAY_MEDIA | \
|
||||
SUPPORT_PLAY | SUPPORT_SHUFFLE_SET | SUPPORT_CLEAR_PLAYLIST
|
||||
SUPPORT_PLAY | SUPPORT_SHUFFLE_SET | SUPPORT_CLEAR_PLAYLIST | SUPPORT_REPEAT_SET
|
||||
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||
vol.Required(CONF_HOST): cv.string,
|
||||
@@ -299,8 +300,10 @@ class SqueezeBoxDevice(MediaPlayerDevice):
|
||||
self._status['time'] = cmd[1]
|
||||
elif cmd[:3] == ['prefset', 'server', 'volume']:
|
||||
self._status['mixer volume'] = cmd[3]
|
||||
elif cmd[:3] == ['prefset', 'server', 'shuffle']:
|
||||
self._status['playlist shuffle'] = int(cmd[3])
|
||||
elif cmd[:3] == ['prefset', 'server', 'repeat']:
|
||||
self._status['playlist shuffle'] = cmd[3]
|
||||
self._status['playlist repeat'] = int(cmd[3])
|
||||
|
||||
if self.media_position != last_media_position:
|
||||
self._last_media_position_update = utcnow()
|
||||
@@ -436,6 +439,25 @@ class SqueezeBoxDevice(MediaPlayerDevice):
|
||||
elif 'playlist_shuffle' in self._status:
|
||||
return self._status['playlist_shuffle'] == '1'
|
||||
|
||||
@property
|
||||
def repeat(self):
|
||||
repeat_status = self._status.get('playlist repeat', 0)
|
||||
if repeat_status == 1:
|
||||
return REPEAT_MODE_ONE
|
||||
elif repeat_status == 2:
|
||||
return REPEAT_MODE_ALL
|
||||
else:
|
||||
return REPEAT_MODE_OFF
|
||||
|
||||
def set_repeat(self, repeat: str) -> None:
|
||||
"""Set repeat mode."""
|
||||
if repeat == REPEAT_MODE_OFF:
|
||||
self.call_method('playlist', 'repeat', 0)
|
||||
elif repeat == REPEAT_MODE_ONE:
|
||||
self.call_method('playlist', 'repeat', 1)
|
||||
elif repeat == REPEAT_MODE_ALL:
|
||||
self.call_method('playlist', 'repeat', 2)
|
||||
|
||||
@property
|
||||
def supported_features(self):
|
||||
"""Flag media player features that are supported."""
|
||||
@@ -448,7 +470,7 @@ class SqueezeBoxDevice(MediaPlayerDevice):
|
||||
self.call_method('mixer', 'volume', '-5')
|
||||
|
||||
def set_volume_level(self, volume):
|
||||
volume_percent = str(int(volume*100))
|
||||
volume_percent = str(int(volume * 100))
|
||||
self.call_method('mixer', 'volume', volume_percent)
|
||||
|
||||
def mute_volume(self, mute):
|
||||
|
||||
Reference in New Issue
Block a user