diff --git a/homeassistant/components/roon/media_player.py b/homeassistant/components/roon/media_player.py index 9bdf4286291..8abcba189da 100644 --- a/homeassistant/components/roon/media_player.py +++ b/homeassistant/components/roon/media_player.py @@ -475,13 +475,21 @@ class RoonDevice(MediaPlayerEntity): def play_media(self, media_type, media_id, **kwargs): """Send the play_media command to the media player.""" - # media_id is treated as a path matching the Roon menu structure - path_list = split_media_path(media_id) - if not self._server.roonapi.play_media(self.zone_id, path_list): - _LOGGER.error( - "Playback request for %s / %s was unsuccessful", media_id, path_list - ) + _LOGGER.debug("Playback request for %s / %s", media_type, media_id) + if media_type in ("library", "track"): + # media_id is a roon browser id + self._server.roonapi.play_id(self.zone_id, media_id) + else: + # media_id is a path matching the Roon menu structure + path_list = split_media_path(media_id) + if not self._server.roonapi.play_media(self.zone_id, path_list): + _LOGGER.error( + "Playback request for %s / %s / %s was unsuccessful", + media_type, + media_id, + path_list, + ) def join(self, join_ids): """Add another Roon player to this player's join group."""