Added configurable timeout for receiver HTTP requests | Additional AV… (#9244)
* Added configurable timeout for receiver HTTP requests | Additional AVR-X detection based on CommApiVers | Treat Marantz SR6007 - SR6010 as AVR-X device * timeout value not passed correctlypull/9248/head
parent
a55895b662
commit
8d5f6723ce
homeassistant/components/media_player
|
@ -17,15 +17,16 @@ from homeassistant.components.media_player import (
|
|||
MEDIA_TYPE_MUSIC, SUPPORT_VOLUME_SET, SUPPORT_PLAY)
|
||||
from homeassistant.const import (
|
||||
CONF_HOST, STATE_OFF, STATE_PLAYING, STATE_PAUSED,
|
||||
CONF_NAME, STATE_ON, CONF_ZONE)
|
||||
CONF_NAME, STATE_ON, CONF_ZONE, CONF_TIMEOUT)
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
||||
REQUIREMENTS = ['denonavr==0.5.2']
|
||||
REQUIREMENTS = ['denonavr==0.5.3']
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
DEFAULT_NAME = None
|
||||
DEFAULT_SHOW_SOURCES = False
|
||||
DEFAULT_TIMEOUT = 2
|
||||
CONF_SHOW_ALL_SOURCES = 'show_all_sources'
|
||||
CONF_ZONES = 'zones'
|
||||
CONF_VALID_ZONES = ['Zone2', 'Zone3']
|
||||
|
@ -51,7 +52,8 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
|||
vol.Optional(CONF_SHOW_ALL_SOURCES, default=DEFAULT_SHOW_SOURCES):
|
||||
cv.boolean,
|
||||
vol.Optional(CONF_ZONES):
|
||||
vol.All(cv.ensure_list, [DENON_ZONE_SCHEMA])
|
||||
vol.All(cv.ensure_list, [DENON_ZONE_SCHEMA]),
|
||||
vol.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int,
|
||||
})
|
||||
|
||||
NewHost = namedtuple('NewHost', ['host', 'name'])
|
||||
|
@ -69,8 +71,9 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||
if cache is None:
|
||||
cache = hass.data[KEY_DENON_CACHE] = set()
|
||||
|
||||
# Get config option for show_all_sources
|
||||
# Get config option for show_all_sources and timeout
|
||||
show_all_sources = config.get(CONF_SHOW_ALL_SOURCES)
|
||||
timeout = config.get(CONF_TIMEOUT)
|
||||
|
||||
# Get config option for additional zones
|
||||
zones = config.get(CONF_ZONES)
|
||||
|
@ -103,14 +106,17 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||
for d_receiver in d_receivers:
|
||||
host = d_receiver["host"]
|
||||
name = d_receiver["friendlyName"]
|
||||
new_hosts.append(NewHost(host=host, name=name))
|
||||
new_hosts.append(
|
||||
NewHost(host=host, name=name))
|
||||
|
||||
for entry in new_hosts:
|
||||
# Check if host not in cache, append it and save for later
|
||||
# starting
|
||||
if entry.host not in cache:
|
||||
new_device = denonavr.DenonAVR(
|
||||
entry.host, entry.name, show_all_sources, add_zones)
|
||||
host=entry.host, name=entry.name,
|
||||
show_all_inputs=show_all_sources, timeout=timeout,
|
||||
add_zones=add_zones)
|
||||
for new_zone in new_device.zones.values():
|
||||
receivers.append(DenonDevice(new_zone))
|
||||
cache.add(host)
|
||||
|
|
|
@ -166,7 +166,7 @@ datapoint==0.4.3
|
|||
# decora_wifi==1.3
|
||||
|
||||
# homeassistant.components.media_player.denonavr
|
||||
denonavr==0.5.2
|
||||
denonavr==0.5.3
|
||||
|
||||
# homeassistant.components.media_player.directv
|
||||
directpy==0.1
|
||||
|
|
Loading…
Reference in New Issue