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:
- Open Home Assistant -> Profile (bottom-left)
- Scroll to "Long-Lived Access Tokens" -> Create Token
- Copy the token into config.json
Config lookup order:
HA_CONFIG_PATHenvironment variable~/.claude/skill-config/control-office-lamp/config.json(recommended)${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/config.json(plugin root)<script-directory>/../config.json(fallback)
Usage
The script is located relative to the plugin root using ${CLAUDE_PLUGIN_ROOT}:
# 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:
- Home Assistant is running at the configured URL
- The token is valid and not expired
- The entity_id exists in Home Assistant
Scan to join WeChat group