Update the Russound RNET component to use enhanced Russound.py (#9739)

* Updated RussoundRNETDevice.update() to call and enhanced function that reduces network traffic

Refer to issue #6 on the Russound project

* Updated RussoundRNETDevice.update() to invoke an enhanced function to reduce network traffic

PLease see issue #6 on the russound project

* Updated REQUIREMENTS to use version 0.1.9 of the Russound component

Please refer to issue #6 on the Russound rnet project

* Corrected some minor style details to satisfy Houndbot

* Update requirements_all.txt
pull/9741/merge
Gerardo Castillo 2017-10-21 14:56:37 -04:00 committed by Adam Mills
parent 789929d445
commit 5df985a510
2 changed files with 21 additions and 14 deletions

View File

@ -15,7 +15,7 @@ from homeassistant.const import (
CONF_HOST, CONF_PORT, STATE_OFF, STATE_ON, CONF_NAME)
import homeassistant.helpers.config_validation as cv
REQUIREMENTS = ['russound==0.1.7']
REQUIREMENTS = ['russound==0.1.9']
_LOGGER = logging.getLogger(__name__)
@ -85,23 +85,30 @@ class RussoundRNETDevice(MediaPlayerDevice):
def update(self):
"""Retrieve latest state."""
if self._russ.get_power('1', self._zone_id) == 0:
self._state = STATE_OFF
else:
self._state = STATE_ON
self._volume = self._russ.get_volume('1', self._zone_id) / 100.0
# Updated this function to make a single call to get_zone_info, so that
# with a single call we can get On/Off, Volume and Source, reducing the
# amount of traffic and speeding up the update process.
ret = self._russ.get_zone_info('1', self._zone_id, 4)
_LOGGER.debug("ret= %s", ret)
if ret is not None:
_LOGGER.debug("Updating status for zone %s", self._zone_id)
if ret[0] == 0:
self._state = STATE_OFF
else:
self._state = STATE_ON
self._volume = ret[2] * 2 / 100.0
# Returns 0 based index for source.
index = self._russ.get_source('1', self._zone_id)
index = ret[1]
# Possibility exists that user has defined list of all sources.
# If a source is set externally that is beyond the defined list then
# an exception will be thrown.
# In this case return and unknown source (None)
try:
self._source = self._sources[index]
except IndexError:
self._source = None
try:
self._source = self._sources[index]
except IndexError:
self._source = None
else:
_LOGGER.error("Could not update status for zone %s", self._zone_id)
@property
def name(self):

View File

@ -912,7 +912,7 @@ roombapy==1.3.1
# rpi-rf==0.9.6
# homeassistant.components.media_player.russound_rnet
russound==0.1.7
russound==0.1.9
# homeassistant.components.media_player.russound_rio
russound_rio==0.1.4