Enable polling and fix metadata updating.
Remove unnecessary methods. Include SoCo in requirements_all.txt for CI. Lock down SoCo version to 0.11.1 Add sonos.py to exclusions in .coveragerc
This commit is contained in:
parent
ae058b7847
commit
a25f7eed2b
3 changed files with 14 additions and 20 deletions
|
@ -49,6 +49,7 @@ omit =
|
|||
homeassistant/components/media_player/kodi.py
|
||||
homeassistant/components/media_player/mpd.py
|
||||
homeassistant/components/media_player/squeezebox.py
|
||||
homeassistant/components/media_player/sonos.py
|
||||
homeassistant/components/notify/file.py
|
||||
homeassistant/components/notify/instapush.py
|
||||
homeassistant/components/notify/nma.py
|
||||
|
|
|
@ -15,7 +15,7 @@ media_player:
|
|||
import logging
|
||||
import datetime
|
||||
|
||||
REQUIREMENTS = ['SoCo>=0.11.1']
|
||||
REQUIREMENTS = ['SoCo==0.11.1']
|
||||
|
||||
from homeassistant.components.media_player import (
|
||||
MediaPlayerDevice, SUPPORT_PAUSE, SUPPORT_SEEK, SUPPORT_VOLUME_SET,
|
||||
|
@ -44,17 +44,17 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||
# pylint: disable=too-many-instance-attributes
|
||||
# pylint: disable=too-many-public-methods
|
||||
class SonosDevice(MediaPlayerDevice):
|
||||
""" Represents a SqueezeBox device. """
|
||||
""" Represents a Sonos device. """
|
||||
|
||||
# pylint: disable=too-many-arguments
|
||||
def __init__(self, player):
|
||||
super(SonosDevice, self).__init__()
|
||||
self._player = player
|
||||
self._name = player.get_speaker_info()['zone_name'].replace(
|
||||
' (R)', '').replace(' (L)', '')
|
||||
self._status = player.get_current_transport_info().get(
|
||||
'current_transport_state')
|
||||
self._trackinfo = player.get_current_track_info()
|
||||
self.update()
|
||||
|
||||
@property
|
||||
def should_poll(self):
|
||||
return True
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
|
@ -74,8 +74,11 @@ class SonosDevice(MediaPlayerDevice):
|
|||
|
||||
def update(self):
|
||||
""" Retrieve latest state. """
|
||||
self._name = self._player.get_speaker_info()['zone_name'].replace(
|
||||
' (R)', '').replace(' (L)', '')
|
||||
self._status = self._player.get_current_transport_info().get(
|
||||
'current_transport_state')
|
||||
self._trackinfo = self._player.get_current_track_info()
|
||||
|
||||
@property
|
||||
def volume_level(self):
|
||||
|
@ -129,7 +132,6 @@ class SonosDevice(MediaPlayerDevice):
|
|||
def turn_off(self):
|
||||
""" turn_off media player. """
|
||||
self._player.pause()
|
||||
self.update_ha_state()
|
||||
|
||||
def volume_up(self):
|
||||
""" volume_up media player. """
|
||||
|
@ -151,14 +153,6 @@ class SonosDevice(MediaPlayerDevice):
|
|||
self._player.mute = mute
|
||||
self.update_ha_state()
|
||||
|
||||
def media_play_pause(self):
|
||||
""" media_play_pause media player. """
|
||||
if self.state == STATE_PAUSED:
|
||||
self._player.play()
|
||||
else:
|
||||
self._player.pause()
|
||||
self.update_ha_state()
|
||||
|
||||
def media_play(self):
|
||||
""" media_play media player. """
|
||||
self._player.play()
|
||||
|
@ -188,7 +182,3 @@ class SonosDevice(MediaPlayerDevice):
|
|||
""" turn the media player on. """
|
||||
self._player.play()
|
||||
self.update_ha_state()
|
||||
|
||||
def play_youtube(self, media_id):
|
||||
""" Plays a YouTube media. """
|
||||
raise NotImplementedError()
|
||||
|
|
|
@ -130,3 +130,6 @@ https://github.com/balloob/home-assistant-nzb-clients/archive/616cad591540925992
|
|||
# sensor.vera
|
||||
# light.vera
|
||||
https://github.com/balloob/home-assistant-vera-api/archive/a8f823066ead6c7da6fb5e7abaf16fef62e63364.zip#python-vera==0.1
|
||||
|
||||
# Sonos bindings (media_player.sonos)
|
||||
SoCo==0.11.1
|
||||
|
|
Loading…
Add table
Reference in a new issue