This crate is a Sonos controller library written in Rust. It operates asynchronously and aims for a simple to use yet powerful API.
Example
let speaker = find.await?
.expect;
println!;
match speaker.track.await?
speaker.clear_queue.await?;
speaker.join.await?;
For a full list of actions implemented, look at the Speaker docs.
If your use case isn't covered, this crate also exposes the raw UPnP Action API here. It can be used like this:
use URN;
let service = URN service;
let args = "<InstanceID>0</InstanceID>";
let response = speaker.action.await?;
println!;