smithery.ai

control-office-lamp

Control office lamp via Home Assistant. Use when the user asks to turn on, turn off, or toggle their office lamp, or check its status. Triggers on phrases like "turn on my lamp", "office light on/off", "toggle the lamp", or "is my lamp on".

First seen Apr 12, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash, Read
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,095 B
  • docs SUMMARY.md 267 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Home Assistant Office Lamp Control

Control the office lamp through Home Assistant's REST API.

Setup (First-Time Only)

Create your config file at ~/.claude/skill-config/control-office-lamp/config.json:

{
  "url": "http://your-home-assistant:8123",
  "token": "YOUR_LONG_LIVED_ACCESS_TOKEN_HERE",
  "entity_id": "light.office_lamp"
}

This location persists across skill updates.

To create a Long-Lived Access Token:

  1. Open Home Assistant -> Profile (bottom-left)
  2. Scroll to "Long-Lived Access Tokens" -> Create Token
  3. Copy the token into config.json

Config lookup order:

  1. HACONFIGPATH environment variable
  2. ~/.claude/skill-config/control-office-lamp/config.json (recommended)
  3. ${CLAUDEPLUGINROOT}/skills/control-office-lamp/config.json (plugin root)
  4. <script-directory>/../config.json (fallback)

Usage

The script is located relative to the plugin root using ${CLAUDEPLUGINROOT}:

# Turn lamp on
uv run "${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/scripts/lamp_control.py" on

# Turn lamp off
uv run "${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/scripts/lamp_control.py" off

# Toggle lamp state
uv run "${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/scripts/lamp_control.py" toggle

# Check current status
uv run "${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/scripts/lamp_control.py" status

Response Handling

Success response:

{"success": true, "action": "turn_on", "entity_id": "light.office_lamp", "response": [...]}

Error response:

{"success": false, "error": "Connection failed: ..."}

If errors occur, verify:

  1. Home Assistant is running at the configured URL
  2. The token is valid and not expired
  3. The entity_id exists in Home Assistant