#lifx #protocols #lan #local #api #light #mimicks

bin+lib lifx-api-server

使用本地局域网协议模仿官方 LIFX API 的库/服务器

6 个版本

0.1.15 2023 年 5 月 10 日
0.1.14 2022 年 10 月 24 日
0.1.11 2022 年 6 月 25 日

#6 in #lan

每月 34 次下载

MIT/Apache

49KB
813 代码行

lifx-api-server

描述

使用本地局域网协议模仿官方 LIFX API 的库/服务器。

离线 API 支持的方法

  • 列出灯光
  • 设置状态
  • 设置状态

如何使用库

将以下行添加到您的 cargo.toml 中

lifx-api-server = "0.1.15"

示例

extern crate lifx_api_server;

fn main() {

    let config = lifx_api_server::Config { 
        secret_key: format!("xxx"),
        port: 8089
    };

    lifx_api_server::start(config);


    println!("sync");

    loop {
        
    }
}


现在您可以使用 curl 访问 API

curl -XPUT"https://127.0.0.1:8089/v1/lights/all/state" -H "Authorization: Bearer xxx" -d "color=kelvin:9000"

或者使用 rust 和 lifx-rs

extern crate lifx_rs as lifx;

fn main() {

    let key = "xxx".to_string();
    let mut api_endpoints: Vec<String> = Vec::new();

    api_endpoints.push(format!("https://127.0.0.1:8089"));

    let config = lifx::LifxConfig{
        access_token: key.clone(),
        api_endpoints: api_endpoints
    };
    
    let mut off_state = lifx::State::new();
    off_state.power = Some(format!("off"));

    // Turn off all lights
    lifx::Light::set_state_by_selector(config.clone(), format!("all"), off_state);

}

许可证

Apache 2.0 或 MIT 许可下发布。

通过以下方式支持并关注我的工作

购买我的 NTF

查看我的 Github

关注我的 Facebook 页面

订阅我的 Patreon

或者捐赠加密货币

  • ADA: addr1qyp299a45tgvveh83tcxlf7ds3yaeh969yt3v882lvxfkkv4e0f46qvr4wzj8ty5c05jyffzq8a9pfwz9dl6m0raac7s4rac48
  • ALGO: VQ5EK4GA3IUTGSPNGV64UANBUVFAIVBXVL5UUCNZSDH544XIMF7BAHEDM4
  • ATOM: cosmos1wm7lummcealk0fxn3x9tm8hg7xsyuz06ul5fw9
  • BTC: bc1qh5p3rff4vxnv23vg0hw8pf3gmz3qgc029cekxz
  • ETH: 0x7A66beaebF7D0d17598d37525e63f524CfD23452
  • ERC20: 0x7A66beaebF7D0d17598d37525e63f524CfD23452
  • XLM: GCJAUMCO2L7PTYMXELQ6GHBTF25MCQKEBNSND2C4QMUPTSVCPEN3LCOG
  • XTZ: tz1SgJppPn56whprsDDGcqR4fxqCr2PXvg1R

待办事项

  • 为 Debian Linux 服务器应用发布
  • 自动更新能力
  • 简易安装器
  • 迁移到 opensam 基金会项目

依赖项

~22–37MB
~769K SLoC