6 releases

0.2.0 Feb 12, 2022
0.1.4 Feb 24, 2021
0.1.1 Oct 7, 2020

#1656 in Hardware support

35 downloads per month
Used in idasen-cli

MIT license

15KB
259 lines

Idasen

Control IKEA IDÅSEN standing desk via Bluetooth.

Crates.io Version Crates.io License

Usage

use idasen::{get_instance, Idasen, Device};

// instantiate the struct, this will attempt to connect to the desk 
// and discover its characteristics
let desk: Idasen<impl Device> = get_instance().await?;

// alternatively, if there's more than one desk you can get the 
// correct one by it's mac address 
// for some reason, using MAC seems to be more reliable when it 
// comes to device discovering:
// let desk = get_instance_by_mac("EC:86:F6:44:D3:31")?;

// move desk up and down
desk.up().await;
desk.down().await;

// stop desk from moving
desk.stop().await;

// move desk to desired position: 
//  minimum: 6200 (62cm), maximum: 12700 (1.27m)
desk.move_to(7400).await;

// get the position as an integer (10 = 1mm)
println!("Position: {}", desk.position()?);

Dependencies

~8–38MB
~573K SLoC