control-ikea-lightbulb

💡 零云依赖的本地智能灯控

基于 python-kasa 的本地局域网智能灯泡控制工具,无需云凭证即可通过 IP 地址直接操控 TP-Link Kasa 兼容设备,实现开关、亮度调节与 HSV 色彩控制。

收藏
1.3k
安装
459
版本
v1.0.1
CLS 安全性认证2026-05-19
点击查看完整报告 >

使用说明

核心用法

control-ikea-lightbulb 是一个轻量级的本地智能灯泡控制技能,专为 TP-Link Kasa 兼容设备设计(IKEA TRADFRI 支持待扩展)。用户通过提供设备的局域网 IP 地址,即可直接控制灯泡的开关状态、亮度(0-100%)以及 HSV 色彩空间的颜色设置。该技能采用 uv 作为 Python 环境管理工具,无需手动激活虚拟环境,依赖管理通过 pyproject.toml 完成。

主要使用方式包括:

  • 基础控制:通过 run_control_kasa.sh 脚本执行开关、亮度、颜色设置
  • 灯光秀模式:通过 light_show.py 实现序列化的灯光效果演示,支持自定义色温、过渡时间和闪烁效果
  • 命令行直接调用:使用 uv run 直接执行 Python 脚本,灵活传递参数

显著优点

1. 零云依赖:完全基于本地 LAN 通信,无需注册账号、API Key 或云凭证,隐私性极强
2. 轻量高效:基于成熟的 python-kasa 库,代码简洁,响应迅速

3. 环境友好:采用 uv 工具链,告别传统 pip/venv 的繁琐配置,一键运行

4. 功能完整:覆盖日常灯光控制的核心需求——开关、亮度、色彩、序列动画

5. 输入安全:完善的 argparse 参数验证,IP 必填、数值范围限制,防止误操作

潜在缺点与局限性

1. 设备兼容性有限:当前仅支持 TP-Link Kasa 协议,IKEA TRADFRI 设备需等待后续更新
2. 网络环境受限:必须知晓设备 IP 地址且处于同一局域网,无法跨网段或远程控制

3. 工具链依赖:强制依赖 uv 工具,未安装时需额外步骤(brew/pipx 安装)

4. 无状态反馈:单向控制模式,无法读取灯泡当前状态进行同步

5. T3 来源风险:个人开发者维护,长期更新保障相对较弱

适合的目标群体

  • 智能家居爱好者:希望本地私有化控制灯光,拒绝云服务
  • 开发者/极客:需要通过脚本自动化控制灯光场景
  • 演示场景搭建者:灯光秀功能适合展览、活动氛围营造
  • 隐私敏感用户:不愿将设备数据上传至厂商云端

使用风险

1. 网络配置风险:若 IP 地址输入错误,可能向局域网内其他设备发送控制指令(虽无破坏性,但可能干扰其他 Kasa 设备)
2. 依赖更新风险:python-kasa 库更新可能引入协议变更,需关注兼容性

3. uv 工具链依赖:若 uv 出现安装或版本问题,整个技能将无法运行

4. 无加密传输:本地 LAN 通信未提及加密,在开放网络环境中存在被嗅探风险

5. 权限边界:虽无系统级权限需求,但网络权限的滥用可能理论上被用于扫描内网

安全解读

核心用法

control-ikea-lightbulb 是一个轻量级Python工具,专用于通过本地局域网(LAN)IP地址直接控制TP-Link Kasa兼容智能灯泡(宜家TRADFRI设备需后续支持)。用户无需注册云账号或暴露设备到互联网,只需知道灯泡的内网IP即可实现程序化控制。

主要功能

  • 开关控制 (--on / --off)
  • 亮度调节 (0-100%,--brightness)
  • HSV颜色设置 (--hsv H S V)
  • 序列灯光秀 (light_show.py 支持过渡动画、色温调节)

使用方式

# 基础开关
./scripts/run_control_kasa.sh --ip 192.168.4.69 --on

# 设置红色80%亮度
./scripts/run_control_kasa.sh --ip 192.168.4.69 --hsv 0 100 80 --brightness 80

# 运行6秒灯光秀
./scripts/run_test_light_show.sh --ip 192.168.4.69 --duration 6 --transition 1 --off-flash

项目采用 uv 作为依赖管理工具,无需手动激活虚拟环境,符合现代Python开发最佳实践。

显著优点

1. 零云依赖:纯本地控制,无账户泄露、云服务中断或厂商服务器隐私收集风险
2. 安全架构:安全认证评分95/100(S级),无外部网络请求,无危险代码执行函数

3. 依赖可信:唯一依赖 python-kasa 是活跃维护的主流开源智能家居库

4. 隐私优先:不采集用户敏感数据,不读取环境变量,权限申请与功能严格匹配

5. 工程规范:代码结构清晰,熵值扫描无异常,符合GDPR/CCPA数据最小化原则

潜在缺点与局限性

  • 设备兼容性有限:当前仅支持TP-Link Kasa协议,IKEA TRADFRI需额外开发
  • 需要静态IP或IP发现:依赖用户手动维护设备IP地址,无自动发现机制
  • 无加密传输:局域网通信未强制TLS(智能灯泡协议限制),存在内网嗅探理论风险
  • Python版本约束:要求Python 3.11+,旧系统可能需升级
  • 许可证未明确:项目未声明开源协议,商业使用需谨慎

适合人群

  • 智能家居爱好者追求本地化控制、拒绝云服务的隐私敏感用户
  • 开发者需将灯光控制集成到自动化脚本、家庭助理或DIY物联网项目
  • 中小型办公/展示场景需要程序化灯光序列(如light_show.py的演示效果)

常规风险

| 风险类型 | 等级 | 说明 |
|---------|------|------|
| 内网通信嗅探 | 低 | 无TLS加密,但局限于LAN环境 |
| 依赖漏洞 | 低 | python-kasa暂无已知CVE,需定期更新 |
| IP误配置 | 中 | 错误IP可能控制邻居设备,建议添加私有IP校验 |
| 长期挂起 | 低 | 建议为设备发现添加超时配置 |

control-ikea-lightbulb 内容

scripts文件夹
手动下载zip · 9.7 kB
__init__.pytext/plain
请选择文件