smartcast 0.1.0

API to connect and control Vizio SmartCast devices
Documentation

SmartCast Api

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.

Get Started

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().

Example

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 dev_by_ip = Device::from_ip(dev_by_ssdp.ip()).await?;
    let dev_by_uuid = Device::from_uuid(dev_by_ssdp.uuid()).await?;

    asserteq!(dev_by_ssdp.name(), dev_by_ip.name());
    asserteq!(dev_by_ssdp.name(), dev_by_uuid.name());

    Ok(())
}

Task List

  • Connect
  • Pairing
  • Readable settings
  • Get device state
  • Virtual remote commands
  • Writeable settings
  • App launching