LG WebOs Client 0.4.0

Build Status

Simple LG webOS client written purerly in Rust. Inspired by lgtv.js

Supported commands

Example

Add to Cargo.toml

toml [dependencies] lg-webos-client = "0.4.1" tokio = { version = "1.2.0", default-features = false, features = ["full"] }

And then use the following snippet

```rust use lgwebosclient::client::*; use lgwebosclient::command::Command;

[tokio::main]

async fn main() { env_logger::init(); // Note: We must specify the ws protocol, and if we do not have the key, we pass None. let config = WebOsClientConfig::new("ws://192.168.1.62:3000/", None);

let mut client = WebosClient::new(config).await.unwrap();
// Registration successful, store the key for later.
let key = client.key;
let resp = client.send_command(Command::GetChannelList).await.unwrap();
println!("Got response {:?}", resp.payload);

// We can reuse the key.
let config = WebOsClientConfig::new("ws://192.168.1.62:3000/", key);
// ...

} ```

The code above simply connects to tv in local network and after a successful registration lists all channels. Note that we must specify the ws protocol. If we have a key, we can pass that in the config, and the client will use said key. If no key is specified, the client will output a key generated from the device.

Contributors