CircleCI

Sonos discovery

Library in rust to discover sonos devices via ssdp (UPnP discovery)

Disclaimer

Only works on unix systems at the moment.

Windows support is planned for later versions.

Reason

socket only works on linux.

Usage

Unix systems only

Cargo.toml

toml sonos_discovery = "0.0.1"

Rust

```rust extern crate sonos_discovery;

use sonos_discovery::Discover; use std::net::IpAddr;

fn main() { let discovery: Discover = Discover::new(); // fn start(self, timeout: Option, devicecount: Option) // timeout default: 5 | devicecount: u32::MAX // Checks that {discovereddevices} < {devicecount} && {elapsedtime} < {timeout} // Waits until 3 devices are found, or 5seconds have elapsed let sonosips: HashSet = discovery.start(None, Some(3)); for sonosip in sonosips { println!("{}", sonos_ip); } } ```

TODO

Add crossplatform support (Windows)