#philips #hue #light #bulb

bin+lib hueclient

Rust library for Philips Hue lights

24 releases

0.4.3 Apr 5, 2023
0.4.2 Jun 16, 2022
0.4.1 Feb 2, 2021
0.3.10 Oct 17, 2020
0.2.1 Mar 26, 2015

#266 in Hardware support

Download history 7/week @ 2023-11-08 7/week @ 2023-11-15 10/week @ 2023-11-22 5/week @ 2023-11-29 1/week @ 2023-12-06 2/week @ 2023-12-13 5/week @ 2023-12-20 2/week @ 2023-12-27 1/week @ 2024-01-03 3/week @ 2024-01-10 3/week @ 2024-01-17 2/week @ 2024-01-24 1/week @ 2024-01-31 5/week @ 2024-02-07 36/week @ 2024-02-14 36/week @ 2024-02-21

78 downloads per month
Used in purple-hue

WTFPL license

37KB
840 lines

Rust library for Philips Hue

Build Status

Features

  • discover bridge by querying philips hue website or using UPnP
  • list lights with their state
  • simple actions on lights (on, off, bri/hue/sat, transition time)
  • simple CLI utils for docs and tests :)

lib.rs:

This library aims to enable communicating with Philips Hue lights via the correspnding Bridge.

Examples

A short overview of the most common use cases of this library.

Initial Setup

let bridge = hueclient::Bridge::discover_required()
    .register_user("mycomputer") // Press the bridge before running this
    .unwrap();
println!("the username was {}", bridge.username); // handy for later

Second run

const USERNAME: &str = "the username that was generated in the previous example";
let bridge = hueclient::Bridge::discover_required()
   .with_user(USERNAME);

Good night

let cmd = hueclient::CommandLight::default().off();
for light in &bridge.get_all_lights().unwrap() {
    bridge.set_light_state(light.id, &cmd).unwrap();
}

Dependencies

~11–26MB
~422K SLoC