homeassistant

v2026.09.24

Control Home Assistant - smart plugs, lights, scenes, automations.

GitHub
Install command
npx skhub add sundial-org/homeassistant
Markdown
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
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

Not specified

Source path

skills/homeassistant

Default branch

main

Latest commit

b80cde2

Tree SHA

fc3a971