Control Sonos speakers
masterTo control Sonos speakers via the Plex API, you must have:
- An active Plex Pass subscription.
- A Sonos account linked to your Plex account.
- Plex remote access enabled.
Control is performed through a PlexSonosPlayer instance obtained from a MyPlexAccount object. Note that media playback routes through https://sonos.plex.tv and back via the Plex server's remote access.
from plexapi.myplex import MyPlexAccount
from plexapi.server import PlexServer
baseurl = 'http://plexserver:32400'
token = '2ffLuB84dqLswk9skLos'
account = MyPlexAccount(token)
server = PlexServer(baseurl, token)
# List available speakers
for speaker in account.sonos_speakers():
print(speaker.title)
# Control a specific speaker
speaker = account.sonos_speaker("Kitchen")
album = server.library.section('Music').get('Stevie Wonder').album('Innervisions')
speaker.playMedia(album)
speaker.pause()
speaker.setVolume(10)
speaker.skipNext()