huesmith 0.1.0

Hue-compatible Zigbee light library for ESP32-C6/H2 (ESP-IDF)
# huesmith

Build Philips Hue–compatible Zigbee lights on the ESP32-C6 / ESP32-H2 in Rust.

Any LED — on/off, dimmable, CCT (tunable white), or a full-colour WS2812B strip —
becomes a device that pairs directly with a real Hue Bridge and is controllable from
the Hue app. No cloud, no custom hub.

```rust
fn main() {
    // Cool/warm white CCT light on GPIO 19 / 18; pairs with any Hue Bridge.
    huesmith::cct(19, 18).starts_on().launch();
}
```

## Entry points

| Function | Light type | Hue device class |
|---|---|---|
| `huesmith::on_off(gpio)`   | On/Off            | `0x0100` |
| `huesmith::dimmable(gpio)` | Dimmable white    | `0x0101` |
| `huesmith::cct(cool, warm)`| Colour temperature| `0x010C` |
| `huesmith::color(gpio)`    | Full colour (WS2812B) | `0x010D` |
| `huesmith::rgb_strip(gpio, n)` | Full colour strip of `n` WS2812B | `0x010D` |

## Requirements

- An ESP32-**C6** or ESP32-**H2** (these are RISC-V, so the standard Rust **nightly**
  toolchain + `rust-src` is enough — the Xtensa `espup` toolchain is **not** required).
- `cargo install ldproxy espflash cargo-espflash`
- ESP-IDF v5.2.2 (fetched automatically on first build).

Platform-agnostic logic (color math, state machine, scene parsing) lives in
[`huesmith-core`](https://crates.io/crates/huesmith-core) and is unit-tested on the host.

> **Note:** docs.rs cannot build ESP-IDF crates, so API docs are not rendered there.
> See the [project repository]https://github.com/canack/huesmith for the full
> setup guide, wiring diagrams, examples, and FFI/safety notes.

## Trademark & affiliation

This is an independent interoperability project and is **not affiliated with,
authorized, or endorsed by Signify** (Philips Hue). "Philips Hue" and "Signify"
are trademarks of Signify Netherlands B.V.; the bundled model presets and
manufacturer codes exist only so a self-built device can interoperate with a Hue
Bridge. For educational and hobby use.

## License

MIT