control-ikea-lightbulb
Control IKEA/TP-Link Kasa smart bulbs (set on/off, brightness, and color). Use when you want to programmatically control a local smart bulb by IP on the LAN.
Best use case
control-ikea-lightbulb is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Control IKEA/TP-Link Kasa smart bulbs (set on/off, brightness, and color). Use when you want to programmatically control a local smart bulb by IP on the LAN.
Teams using control-ikea-lightbulb should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/control-ikea-lightbulb/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How control-ikea-lightbulb Compares
| Feature / Agent | control-ikea-lightbulb | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Control IKEA/TP-Link Kasa smart bulbs (set on/off, brightness, and color). Use when you want to programmatically control a local smart bulb by IP on the LAN.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# control-ikea-lightbulb This skill provides a lightweight Python script to control a local smart bulb (supports TP-Link Kasa-compatible bulbs via python-kasa). It is intended for local LAN devices that do not require cloud credentials; control is by IP address. When to use this skill - When you want to turn a bulb on or off - When you want to set brightness (0-100) - When you want to set color (HSV) - When you have the bulb's local IP and it's accessible from this machine Contents - scripts/control_kasa_light.py — main runnable script (Python 3.9+) - scripts/light_show.py — small light-show controller for sequences (uses python-kasa). Changes include: - Default white uses a high color temperature (9000K) to make white appear "whiter"; pass --white-temp to override. - Bug fixes: the off-flash between blue→red now ignores transitions to white (saturation==0) to avoid white<->blue ping-pong, and white-temp is only applied to white steps (fixes red being skipped during off-flash). White steps also set brightness even without --double-write. - scripts/run_test_light_show.sh — helper to run light_show via uv Notes - This repo is set up for uv (no manual environment activation). Dependencies live in `pyproject.toml` and wrappers prefer `uv run`. Example: uv run --project ./skills/control-ikea-lightbulb python ./skills/control-ikea-lightbulb/scripts/control_kasa_light.py --ip 192.168.4.69 --on --hsv 0 100 80 --brightness 80 - Install uv: - `brew install uv` (macOS) - `pipx install uv` (cross-platform) - The provided wrapper script requires uv: ./skills/control-ikea-lightbulb/scripts/run_control_kasa.sh --ip 192.168.4.69 --on --hsv 0 100 80 --brightness 80 - The test helper also prefers uv: ./skills/control-ikea-lightbulb/scripts/run_test_light_show.sh --ip 192.168.4.69 --duration 6 --transition 1 --off-flash --verbose - If your device is actually an IKEA TRADFRI device (not Kasa), this script is a starting point; tell me and I will add TRADFRI support. - No cloud credentials are required; control happens over LAN to the device's IP. Quick start 1. Install uv (macOS): `brew install uv` 2. Turn the bulb on (replace the IP): `./skills/control-ikea-lightbulb/scripts/run_control_kasa.sh --ip 192.168.4.69 --on` 3. Set color and brightness: `./skills/control-ikea-lightbulb/scripts/run_control_kasa.sh --ip 192.168.4.69 --hsv 0 100 80 --brightness 80` Git note - No local environment artifacts are tracked; use uv. Note about Python requirements and recent change - The skill previously declared python-kasa>=0.13.0 which caused dependency resolution failures on this machine. To make the skill runnable locally the project's pyproject.toml was adjusted to: - requires-python = ">=3.11, <4.0" - python-kasa>=0.10.2 - This allows the resolver to pick a compatible python-kasa on machines with Python 3.11+. If you prefer a different constraint (or want me to revert this change), tell me and I will update the pyproject.toml and README accordingly.
Related Skills
opencode-controller
Control and operate Opencode via slash commands. Use this skill to manage sessions, select models, switch agents (plan/build), and coordinate coding through Opencode.
toolguard-daemon-control
Manage long-running processes as macOS launchd services.
xdotool-control
Mouse and keyboard automation using xdotool.
iyeque-device-control
Expose safe device actions (volume, brightness, open/close apps) for personal automation.
roku-control
Control Roku devices via local network (ECP protocol)
dirigera-control
Control IKEA Dirigera smart home devices (lights, outlets, scenes, controllers). Use when the user asks to control smart home devices, check device status, turn lights on/off, adjust brightness/color, control outlets, trigger scenes, check battery levels, or work with IKEA smart home automation. Also use when the user needs help finding the Dirigera hub IP address or generating an API token. Accessible via Cloudflare tunnel on VPS.
macos-desktop-control
A high-fidelity automation bridge for macOS (Darwin) that enables agents to perceive the desktop state and execute.
mac-control
Control Mac via mouse/keyboard automation using cliclick and AppleScript.
linux-gui-control
Control the Linux desktop GUI using xdotool, wmctrl, and dogtail. Use when you need to interact with non-browser applications, simulate mouse/keyboard input, manage windows, or inspect the UI hierarchy of applications on X11/GNOME. Supports: (1) Clicking/typing in apps, (2) Resizing/moving windows, (3) Extracting text-based UI trees from apps (A11y), (4) Taking screenshots for visual analysis.
vector-control
Control a Vector robot via Wirepod’s local HTTP API on the same network. Use when you need to move Vector, tilt head/lift, speak text, capture camera frames, or run patrol/explore routines from the Pi/Wirepod host. Includes a CLI helper script and endpoint reference.
govee-control
Script-free Govee OpenAPI setup and control guide.
orgo-desktop-control
Provision and control Orgo cloud computers using the orgo_client Python SDK.