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/kodi.py
|
||||||
homeassistant/components/media_player/mpd.py
|
homeassistant/components/media_player/mpd.py
|
||||||
homeassistant/components/media_player/squeezebox.py
|
homeassistant/components/media_player/squeezebox.py
|
||||||
|
homeassistant/components/media_player/sonos.py
|
||||||
homeassistant/components/notify/file.py
|
homeassistant/components/notify/file.py
|
||||||
homeassistant/components/notify/instapush.py
|
homeassistant/components/notify/instapush.py
|
||||||
homeassistant/components/notify/nma.py
|
homeassistant/components/notify/nma.py
|
||||||
|
|
|
@ -15,7 +15,7 @@ media_player:
|
||||||
import logging
|
import logging
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
REQUIREMENTS = ['SoCo>=0.11.1']
|
REQUIREMENTS = ['SoCo==0.11.1']
|
||||||
|
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
MediaPlayerDevice, SUPPORT_PAUSE, SUPPORT_SEEK, SUPPORT_VOLUME_SET,
|
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-instance-attributes
|
||||||
# pylint: disable=too-many-public-methods
|
# pylint: disable=too-many-public-methods
|
||||||
class SonosDevice(MediaPlayerDevice):
|
class SonosDevice(MediaPlayerDevice):
|
||||||
""" Represents a SqueezeBox device. """
|
""" Represents a Sonos device. """
|
||||||
|
|
||||||
# pylint: disable=too-many-arguments
|
# pylint: disable=too-many-arguments
|
||||||
def __init__(self, player):
|
def __init__(self, player):
|
||||||
super(SonosDevice, self).__init__()
|
super(SonosDevice, self).__init__()
|
||||||
self._player = player
|
self._player = player
|
||||||
self._name = player.get_speaker_info()['zone_name'].replace(
|
self.update()
|
||||||
' (R)', '').replace(' (L)', '')
|
|
||||||
self._status = player.get_current_transport_info().get(
|
@property
|
||||||
'current_transport_state')
|
def should_poll(self):
|
||||||
self._trackinfo = player.get_current_track_info()
|
return True
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
|
@ -74,8 +74,11 @@ class SonosDevice(MediaPlayerDevice):
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
""" Retrieve latest state. """
|
""" 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(
|
self._status = self._player.get_current_transport_info().get(
|
||||||
'current_transport_state')
|
'current_transport_state')
|
||||||
|
self._trackinfo = self._player.get_current_track_info()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def volume_level(self):
|
def volume_level(self):
|
||||||
|
@ -129,7 +132,6 @@ class SonosDevice(MediaPlayerDevice):
|
||||||
def turn_off(self):
|
def turn_off(self):
|
||||||
""" turn_off media player. """
|
""" turn_off media player. """
|
||||||
self._player.pause()
|
self._player.pause()
|
||||||
self.update_ha_state()
|
|
||||||
|
|
||||||
def volume_up(self):
|
def volume_up(self):
|
||||||
""" volume_up media player. """
|
""" volume_up media player. """
|
||||||
|
@ -151,14 +153,6 @@ class SonosDevice(MediaPlayerDevice):
|
||||||
self._player.mute = mute
|
self._player.mute = mute
|
||||||
self.update_ha_state()
|
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):
|
def media_play(self):
|
||||||
""" media_play media player. """
|
""" media_play media player. """
|
||||||
self._player.play()
|
self._player.play()
|
||||||
|
@ -188,7 +182,3 @@ class SonosDevice(MediaPlayerDevice):
|
||||||
""" turn the media player on. """
|
""" turn the media player on. """
|
||||||
self._player.play()
|
self._player.play()
|
||||||
self.update_ha_state()
|
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
|
# sensor.vera
|
||||||
# light.vera
|
# light.vera
|
||||||
https://github.com/balloob/home-assistant-vera-api/archive/a8f823066ead6c7da6fb5e7abaf16fef62e63364.zip#python-vera==0.1
|
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