homeassistant
✓Verified·Scanned 2/17/2026
This skill controls Home Assistant devices via the Home Assistant HTTP API using curl. It instructs running curl commands that send HA_TOKEN to $HA_URL and requires HA_TOKEN and HA_URL environment variables; these behaviors are purpose-aligned and low risk.
from clawhub.ai·vafa1fb3·2.3 KB·0 installs
Scanned from 1.0.0 at afa1fb3 · Transparency log ↗
$ vett add clawhub.ai/dbhurley/homeassistant
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 switcheslight.*— Lights (Hue, LIFX, etc.)scene.*— Pre-configured scenesautomation.*— Automationsclimate.*— Thermostatscover.*— Blinds, garage doorsmedia_player.*— TVs, speakerssensor.*— 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