Simple LG webOS client written purerly in Rust. Inspired by lgtv.js
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;
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.