Speakers · Sonos
Sonos speakers
Sonos never published a local API, but its speakers answer to plain UPnP on your network, and a mature Python library speaks it fluently.
ModelsOneOne SLMoveMove 2RoamEra 100Era 300BeamArcFive
Saved in this browser, no account.
What it can become
What owners already do with it, easiest first.
Easy~20 minNo risk
Trigger it from a physical button or a webhook
A small local HTTP server turns playback and presets into one-line web requests, handy for a smart button, a shortcut or a wall panel.
An evening~30 minNo risk
Play, pause and group speakers from your own code
No account, no cloud: once a speaker is on your network, a short Python script can control volume, playback and stereo pairs.
An evening~30 minNo risk
Wire it into your home automation over MQTT
A small bridge publishes every speaker's state to MQTT and accepts commands back, so it drops into any automation setup next to other brands.
Everything built for it
8 projects from the index, most active first.
- SoCo/SoCoSoCo (Sonos Controller) is a Python project that allows you to programmatically control Sonos speakers.Active★ 1.6K
- ebaauw/homebridge-zpHomebridge plugin for Sonos ZonePlayers over the local UPnP APIActive★ 251
- Dicklesworthstone/frankensonosMemory-safe Rust controller for Sonos speakers over LAN SSDP, UPnP-SOAP and GENAActive★ 106
- svrooij/sonos2mqttSonos MQTT controller using the local UPnP APIActive★ 83
- ioBroker/ioBroker.sonosControls and monitors Sonos players from ioBrokerActive★ 41
- jishi/node-sonos-http-apiHTTP API bridge for controlling Sonos speakersSlow★ 2K
- ariksidney/sonos-webUnofficial web-based Sonos clientSlow★ 22
- brian-su/homebridge-sonos-so-simpleSimple Homebridge plugin exposing Sonos speakers to HomeKitSlow★ 13