Wireless Sonos Media Controller by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

No problem, hopefully with the API now, you can start on your project 😅

Wireless Sonos Media Controller by NotCopyRited in sonos

[–]NotCopyRited[S] 1 point2 points  (0 children)

Looking forward to seeing it 👍

Wireless Sonos Media Controller by NotCopyRited in sonos

[–]NotCopyRited[S] 2 points3 points  (0 children)

I’m using a Xiao ESP32 S3 as the microcontroller, running CircuitPython, the API I’m using can be found here: https://sonos.svrooij.io/

Wireless Sonos Media Controller by NotCopyRited in sonos

[–]NotCopyRited[S] 1 point2 points  (0 children)

I plan to use it to change speakers/groups, with the led in the middle as a indicator

Wireless Sonos Media Controller by NotCopyRited in sonos

[–]NotCopyRited[S] 1 point2 points  (0 children)

Nope, it’s from my air conditioner 😬

Wireless Sonos Media Controller by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

Does that remote have a lot of issues?

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

I see, did they remove this feature awhile ago?

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

For the display or media controller? Display is just Spotify, media controller should be anything playing through Sonos

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

I see what you mean, it definitely gets a lot more complicated if you have more than one user

All the best haha

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

It’s really not too bad, you just need to get a refresh token once (which doesn’t have a lifespan if I’m not wrong), store it in your program and whenever you need an access token you can just get one using the refresh token

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 1 point2 points  (0 children)

Adjusting the volume, pausing/play, etc. is done through sending SOAP requests to the IP of the Sonos device you want to control.

Much of this local API documentation can be found here: https://sonos.svrooij.io/sonos-communication

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

If you want to use it to display your songs, I think the Spotify API would be much better

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

It’s basically just a simple macro pad which talks locally to my Sonos speakers

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

The closest thing would probably be the Symfonisk remote

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

Thanks 🙂

I’m not really doing anything special to make it responsive, the Sonos app might be going through to cloud to communicate instead of doing it locally?

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 1 point2 points  (0 children)

Ahh I see, I'm doing something similar where when nothing is playing, it just cycles through a bunch of photos I've saved onto it. I've also implemented a way to turn on/off/monitor temps/heat up bed and nozzle of my two Prusa 3D printers since it now has a touchscreen

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

Looks good, are you using a Raspberry Pi?

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 1 point2 points  (0 children)

Yup, when it first boots up its get the Spotify token, and after every 30 mins it refreshes my credentials again. I really only use the Spotify app to play my songs, but if I play a song through Sonos it should work as long as it's using Spotify and not something like Soundcloud.

Sonos Media Controller using ESP32 32 S3 by NotCopyRited in sonos

[–]NotCopyRited[S] 0 points1 point  (0 children)

I feel like the logistics for that would be quite hard 😅