灯光控制工具

elgato-keylight 是一个用于控制 Elgato Key Lights 的 CLI 工具,支持从命令行、waybar 和 Claude Code (MCP) 进行灯光控制,适用于开发者和自动化场景。

  • by butterflyskies
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 butterflyskies/elgato-control-home-automation

使用说明

elgato钥匙扣

通过CLI、任务栏和克劳德代码(MCP)控制Elgato按键灯。

安装

# Development
uv sync

# Global CLI
uv tool install -e ".[mcp]"

命令行界面

elgato status                # Show all lights
elgato on                    # Turn all on
elgato off                   # Turn all off
elgato toggle                # Toggle on/off
elgato brightness 75         # Set brightness (0-100)
elgato brightness-up         # +10 brightness
elgato brightness-down       # -10 brightness
elgato temperature 200       # Set color temp (143-344)
elgato preset webcam         # Apply preset (per-light values)
elgato identify              # Flash to identify
elgato -l right status       # Target specific light

# Effects
elgato flash                 # Flash on/off
elgato pulse                 # Smooth brightness pulse
elgato celebrate             # Color temperature dance
elgato alert                 # Urgent attention flash
elgato mood focus            # Set mood (cozy/focus/relax/energize/movie)

韦巴

增添 ~/.config/waybar/config.jsonc:

"custom/lights": {
    "exec": "elgato-waybar",
    "return-type": "json",
    "interval": 30,
    "on-click": "elgato toggle",
    "on-click-right": "elgato preset video",
    "on-scroll-up": "elgato brightness-up",
    "on-scroll-down": "elgato brightness-down"
}

增添 ~/.config/waybar/style.css:

#custom-lights {
    color: #7aa2f7;
}
#custom-lights.off {
    color: #565f89;
}
#custom-lights.mixed {
    color: #e0af68;
}

MCP 服务器

增添 ~/.claude.json:

{
    "mcpServers": {
        "elgato-keylight": {
            "command": "uv",
            "args": ["run", "--directory", "/path/to/elgato-control-home-automation", "--extra", "mcp", "elgato-mcp"]
        }
    }
}

配置

Config住在 ~/.config/elgato-keylight/config.toml.预设支持每盏灯覆盖:

[presets.webcam]
brightness = 32       # fallback for unnamed lights
temperature = 179

[presets.webcam.right]
brightness = 18       # right light gets its own values
temperature = 181

[presets.webcam.left]
brightness = 46       # left light gets its own values
temperature = 177

许可证

根据以下任一方式获得许可

由您选择。