Add discovery for yamaha component (#4061)
This uses the discovery code from netdisco/ha to discover yamaha receivers. The old discovery code remains if discovery is turned of in HA, at least for now. Though it probably is worth turning that off in the future.
This commit is contained in:
parent
c6d5987109
commit
3d897e0e52
3 changed files with 17 additions and 5 deletions
|
@ -14,7 +14,7 @@ import voluptuous as vol
|
||||||
from homeassistant.const import EVENT_HOMEASSISTANT_START
|
from homeassistant.const import EVENT_HOMEASSISTANT_START
|
||||||
from homeassistant.helpers.discovery import load_platform, discover
|
from homeassistant.helpers.discovery import load_platform, discover
|
||||||
|
|
||||||
REQUIREMENTS = ['netdisco==0.7.2']
|
REQUIREMENTS = ['netdisco==0.7.5']
|
||||||
|
|
||||||
DOMAIN = 'discovery'
|
DOMAIN = 'discovery'
|
||||||
|
|
||||||
|
@ -33,6 +33,7 @@ SERVICE_HANDLERS = {
|
||||||
'plex_mediaserver': ('media_player', 'plex'),
|
'plex_mediaserver': ('media_player', 'plex'),
|
||||||
'roku': ('media_player', 'roku'),
|
'roku': ('media_player', 'roku'),
|
||||||
'sonos': ('media_player', 'sonos'),
|
'sonos': ('media_player', 'sonos'),
|
||||||
|
'yamaha': ('media_player', 'yamaha'),
|
||||||
'logitech_mediaserver': ('media_player', 'squeezebox'),
|
'logitech_mediaserver': ('media_player', 'squeezebox'),
|
||||||
'directv': ('media_player', 'directv'),
|
'directv': ('media_player', 'directv'),
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,18 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
||||||
source_ignore = config.get(CONF_SOURCE_IGNORE)
|
source_ignore = config.get(CONF_SOURCE_IGNORE)
|
||||||
source_names = config.get(CONF_SOURCE_NAMES)
|
source_names = config.get(CONF_SOURCE_NAMES)
|
||||||
|
|
||||||
if host is None:
|
if discovery_info is not None:
|
||||||
|
name = discovery_info[0]
|
||||||
|
model = discovery_info[1]
|
||||||
|
ctrl_url = discovery_info[2]
|
||||||
|
desc_url = discovery_info[3]
|
||||||
|
receivers = rxv.RXV(
|
||||||
|
ctrl_url,
|
||||||
|
model_name=model,
|
||||||
|
friendly_name=name,
|
||||||
|
unit_desc_url=desc_url).zone_controllers()
|
||||||
|
_LOGGER.info("Receivers: %s", receivers)
|
||||||
|
elif host is None:
|
||||||
receivers = []
|
receivers = []
|
||||||
for recv in rxv.find():
|
for recv in rxv.find():
|
||||||
receivers.extend(recv.zone_controllers())
|
receivers.extend(recv.zone_controllers())
|
||||||
|
@ -73,8 +84,8 @@ class YamahaDevice(MediaPlayerDevice):
|
||||||
self._pwstate = STATE_OFF
|
self._pwstate = STATE_OFF
|
||||||
self._current_source = None
|
self._current_source = None
|
||||||
self._source_list = None
|
self._source_list = None
|
||||||
self._source_ignore = source_ignore
|
self._source_ignore = source_ignore or []
|
||||||
self._source_names = source_names
|
self._source_names = source_names or {}
|
||||||
self._reverse_mapping = None
|
self._reverse_mapping = None
|
||||||
self.update()
|
self.update()
|
||||||
self._name = name
|
self._name = name
|
||||||
|
|
|
@ -271,7 +271,7 @@ mficlient==0.3.0
|
||||||
miflora==0.1.9
|
miflora==0.1.9
|
||||||
|
|
||||||
# homeassistant.components.discovery
|
# homeassistant.components.discovery
|
||||||
netdisco==0.7.2
|
netdisco==0.7.5
|
||||||
|
|
||||||
# homeassistant.components.sensor.neurio_energy
|
# homeassistant.components.sensor.neurio_energy
|
||||||
neurio==0.2.10
|
neurio==0.2.10
|
||||||
|
|
Loading…
Add table
Reference in a new issue