skills/clawdbot/skills/homeassistant

homeassistant

SKILL.md

Home Assistant

Control smart home devices via Home Assistant API.

Setup

Set environment variables:

  • HA_URL: Your Home Assistant URL (e.g., http://192.168.1.100:8123)
  • HA_TOKEN: Long-lived access token (create in HA → Profile → Long-Lived Access Tokens)

Quick Commands

List entities by domain

curl -s "$HA_URL/api/states" -H "Authorization: Bearer $HA_TOKEN" | \
  jq -r '.[] | select(.entity_id | startswith("switch.")) | .entity_id'

Turn on/off

# Turn on
curl -s -X POST "$HA_URL/api/services/switch/turn_on" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "switch.office_lamp"}'

# Turn off
curl -s -X POST "$HA_URL/api/services/switch/turn_off" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "switch.office_lamp"}'

Control lights

# Turn on with brightness
curl -s -X POST "$HA_URL/api/services/light/turn_on" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "light.living_room", "brightness_pct": 80}'

Trigger scene

curl -s -X POST "$HA_URL/api/services/scene/turn_on" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "scene.movie_time"}'

Call any service

curl -s -X POST "$HA_URL/api/services/{domain}/{service}" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "...", ...}'

Get entity state

curl -s "$HA_URL/api/states/{entity_id}" -H "Authorization: Bearer $HA_TOKEN"

Entity Domains

  • switch.* — Smart plugs, generic switches
  • light.* — Lights (Hue, LIFX, etc.)
  • scene.* — Pre-configured scenes
  • automation.* — Automations
  • climate.* — Thermostats
  • cover.* — Blinds, garage doors
  • media_player.* — TVs, speakers
  • sensor.* — Temperature, humidity, etc.

Notes

  • API returns JSON by default
  • Long-lived tokens don't expire — store securely
  • Test entity IDs with the list command first
Weekly Installs
5
Repository
clawdbot/skills
Installed on
opencode4
codex3
claude-code3
gemini-cli3
windsurf2
clawdbot2