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(