Files
openclaw-workspace/skills/home-assistant/SKILL.md
2026-04-11 09:45:12 -05:00

65 lines
1.9 KiB
Markdown

---
name: home-assistant
description: Interact with a Home Assistant instance via its REST API. Use to query entity states, control devices, and manage automations. Requires HA URL and long-lived access token via environment variables HA_URL and HA_TOKEN.
---
# Home Assistant Skill
This skill enables interaction with a Home Assistant instance through its REST API.
## Configuration
Set these environment variables:
- `HA_URL` - Home Assistant URL (e.g., `http://192.168.0.39:8123` or `https://your-ha.com`)
- `HA_TOKEN` - Long-lived access token from HA Profile > Security > Create Token
## Common Commands
### Get All States
```
GET /api/states
```
Returns all entity states. Useful for overview.
### Get Specific Entity
```
GET /api/states/<entity_id>
```
Example: `/api/states/climate.living_room`
### Control Device (turn_on, turn_off, toggle, etc.)
```
POST /api/services/<domain>/<service>
Body: {"entity_id": "<entity_id>"}
```
Example - turn on a light:
```
POST /api/services/light/turn_on
Body: {"entity_id": "light.kitchen_lights"}
```
### Call Climate Service
```
POST /api/services/climate/set_temperature
Body: {"entity_id": "climate.living_room", "temperature": 72}
```
## API Endpoints Reference
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/api/states` | GET | All entity states |
| `/api/states/<entity_id>` | GET | Single entity state |
| `/api/config` | GET | HA configuration |
| `/api/history/period/<timestamp>` | GET | State history |
| `/api/logbook/<timestamp>` | GET | Logbook entries |
## Domains
Common domains: `light`, `switch`, `climate`, `cover`, `media_player`, `automation`, `script`, `input_boolean`, `sensor`
## Tips
- Use `/api/states` first to discover entity IDs
- Entity IDs are lowercase with underscores: `light.living_room`
- Services like `turn_on` support additional attributes: `{"entity_id": "light.kitchen", "brightness": 255}`