Skip to content
Back to skills

Homeassistant

ASecurity

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

  • 665 stars
  • 0 votes
  • 0 copies
  • 18 views
  • Added February 7, 2026
toolsbashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add openclaw/skills --skill homeassistant --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Homeassistant?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Homeassistant
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/openclaw-homeassistant/badge)](https://www.skillsdirectory.com/skills/openclaw-homeassistant)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: homeassistant
description: Control Home Assistant - smart plugs, lights, scenes, automations.
homepage: https://www.home-assistant.io/
metadata: {"clawdis":{"emoji":"🏠","requires":{"bins":["curl"],"env":["HA_TOKEN"]},"primaryEnv":"HA_TOKEN"}}
---

# 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
```bash
curl -s "$HA_URL/api/states" -H "Authorization: Bearer $HA_TOKEN" | \
  jq -r '.[] | select(.entity_id | startswith("switch.")) | .entity_id'
```

### Turn on/off
```bash
# 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
```bash
# 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
```bash
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
```bash
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
```bash
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

Files in this skill

  • SKILL.md2.3 KB
  • _meta.json281 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…