From 6cadb796bc262ec89decd74d314f0762493171fb Mon Sep 17 00:00:00 2001 From: Anders Melchiorsen Date: Wed, 1 Nov 2017 08:28:13 +0100 Subject: [PATCH] Avoid Sonos error during startup (#10146) * Add Sonos coordinators before slaves --- homeassistant/components/media_player/sonos.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/media_player/sonos.py b/homeassistant/components/media_player/sonos.py index a9ea3eb271c..47786e793ca 100644 --- a/homeassistant/components/media_player/sonos.py +++ b/homeassistant/components/media_player/sonos.py @@ -150,8 +150,14 @@ def setup_platform(hass, config, add_devices, discovery_info=None): _LOGGER.warning("No Sonos speakers found") return - hass.data[DATA_SONOS] = [SonosDevice(p) for p in players] - add_devices(hass.data[DATA_SONOS], True) + # Add coordinators first so they can be queried by slaves + coordinators = [SonosDevice(p) for p in players if p.is_coordinator] + slaves = [SonosDevice(p) for p in players if not p.is_coordinator] + hass.data[DATA_SONOS] = coordinators + slaves + if coordinators: + add_devices(coordinators, True) + if slaves: + add_devices(slaves, True) _LOGGER.info("Added %s Sonos speakers", len(players)) descriptions = load_yaml_config_file(