| Crates.io | smartcast |
| lib.rs | smartcast |
| version | 0.1.1 |
| created_at | 2021-08-24 03:19:34.233489+00 |
| updated_at | 2021-08-25 04:37:02.341115+00 |
| description | API to connect and control Vizio SmartCast devices |
| homepage | |
| repository | https://github.com/ConnorTroy/smartcast |
| max_upload_size | |
| id | 441507 |
| size | 164,615 |
This library provides an API for connecting to and controlling Vizio SmartCast TVs and Speakers. The struct Device provides a client for interfacing with the SmartCast device.
You can use smartcast::discover_devices() to find SmartCast devices on your local network by issuing an SSDP Query or attempt to connect directly using Device::by_ip() or Device::by_uuid().
use smartcast::Device;
async fn example_main() -> Result<(), smartcast::Error> {
let ssdp_devices = smartcast::discover_devices().await?;
let dev_by_ssdp = ssdp_devices[0].clone();
let ip_addr = dev_by_ssdp.ip();
let uuid = dev_by_ssdp.uuid();
let dev_by_ip = Device::from_ip(ip_addr).await?;
let dev_by_uuid = Device::from_uuid(uuid).await?;
assert_eq!(dev_by_ssdp.name(), dev_by_ip.name());
assert_eq!(dev_by_ssdp.name(), dev_by_uuid.name());
Ok(())
}