Re:Sonos smart speaker controller API and CLI written in Rust
by xfitm3 on Tuesday October 01, 2019 @09:14AM
(#21124936)
At first I was excited because the Sonos software stack frustrates me, but looking at source it just hits api.sonos.com. Would love to control the speakers directly on my LAN.
[ Parent
| on HN ]
Re:Sonos smart speaker controller API and CLI written in Rust
by echelon on Tuesday October 01, 2019 @11:44AM
(#21126667)
Their API used to allow this. It was all open protocols.
Are they starting to lock it down through API updates? If so, that's terribly unfortunate and I'll have to rethink my audio setup and future purchases.
Re:Sonos smart speaker controller API and CLI written in Rust
by octorian on Tuesday October 01, 2019 @01:45PM
(#21128333)
Open, unencrypted, easy to reverse engineer with a packet sniffer. I hope it stays that way, because I built a project[1] that kinda depends on it. Should that change, my project suddenly requires a fair amount of annoying and complicated work.
[1] http://hecgeek.blogspot.com/2017/10/wall-o-matic-interface-1...
Re:Sonos smart speaker controller API and CLI written in Rust
by texs0987 on Tuesday October 01, 2019 @10:24AM
(#21125615)
Have you tried: https://github.com/SoCo/SoCo
Used it a bit seems to work most of the time
Re:Sonos smart speaker controller API and CLI written in Rust
by bluejekyll on Tuesday October 01, 2019 @09:16AM
(#21124956)
Do you know if the speakers are discoverable locally, and what protocol they use for that?
I know Apple is all mDNS (for AirPlay), I don’t know anything about Sonos though.
Re:Sonos smart speaker controller API and CLI written in Rust
by enigmo on Tuesday October 01, 2019 @10:35AM
(#21125734)
Sonos is (or was) mostly UPnP with some extensions... so for discovery they used SSDP https://en.wikipedia.org/wiki/Simple_Service_Discovery_Proto....
I messed around with their stack and internals for a while about ten years ago... some remnants remain
https://github.com/NathanHowell/Sonority/tree/master/
Re:Sonos smart speaker controller API and CLI written in Rust
by mcginleyr1 on Tuesday October 01, 2019 @09:26AM
(#21125051)
They use SOAP on UDP. I played with it a while back using Sonex https://github.com/harmon25/sonex Have a fork to make some things work under my username.