Skip to content
Back to skills

Homeassistant

ASecurity

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

  • 665 stars
  • 0 votes
  • 0 copies
  • 23 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.