open_ecc
Unofficial Rust API for controlling Elgato Key Lights over their local HTTP API.
Overview
open_ecc communicates with Elgato Key Lights directly on your local network over HTTP (port 9123). No Elgato software or cloud connection is required.
The crate exposes two levels of API:
Light- high-level wrapper for common operations on a single deviceEcc- low-level HTTP client giving direct access to every device endpoint
All temperature values are in Kelvin throughout the public API. Conversion to and from the device's internal unit is handled transparently.
Usage
Add the crate to your Cargo.toml:
= "0.0.7"
High-level API
use ;
async
Controlling multiple lights in parallel
use join_all;
use ;
async
Low-level API
use ;
async
Supported operations
| Method | Description |
|---|---|
Light::on / off / toggle |
Control on/off state |
Light::brightness_get / brightness_set |
Brightness 0-100 |
Light::temperature_get / temperature_set |
Colour temperature 2900-7000 K |
Ecc::lights_get / lights_put |
Raw light state GET/PUT |
Ecc::lights_settings_get / lights_settings_put |
Persistent device settings |
Ecc::accessory_info_get / accessory_info_put |
Device info and display name |
Ecc::identify |
Flash the light to locate it |
Ecc::wifi_config |
Push encrypted Wi-Fi credentials |