Search

PythonReactSEOPDF
OpenClaw

homeassistant-assist

Control Home Assistant smart home devices using the Assist (Conversation) API. Use this skill when the user wants to control smart home entities - lights, switches, thermostats, covers, vacuums, media players, or any other smart device. Passes natural language directly to Home Assistant's built-in NLU for fast, token-efficient control.

developmentcats0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install developmentcats/homeassistant-assist

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

Home Assistant Assist

Control smart home devices by passing natural language to Home Assistant's Assist (Conversation) API. Fire and forget — trust Assist to handle intent parsing, entity resolution, and execution.

When to Use This Skill

Use this skill when the user wants to control or query any smart home device. If it's in Home Assistant, Assist can handle it.

How It Works

Pass the user's request directly to Assist:

curl -s -X POST "$HASS_SERVER/api/conversation/process" \
  -H "Authorization: Bearer $HASS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "USER REQUEST HERE", "language": "en"}'

Trust Assist. It handles:

  • Intent parsing
  • Fuzzy entity name matching
  • Area-aware commands
  • Execution
  • Error responses

Handling Responses

Just relay what Assist says. The response.speech.plain.speech field contains the human-readable result.

  • "Turned on the light" → Success, tell the user
  • "Sorry, I couldn't understand that" → Assist couldn't parse it
  • "Sorry, there are multiple devices called X" → Ambiguous name

Don't over-interpret. If Assist says it worked, it worked. Trust the response.

When Assist Returns an Error

Only if Assist returns an error (response_type: "error"), you can suggest HA-side improvements:

Error Suggestion
no_intent_match "HA didn't recognize that command"
no_valid_targets "Try checking the entity name in HA, or add an alias"
Multiple devices "There may be duplicate names — consider adding unique aliases in HA"

These are suggestions for improving HA config, not skill failures. The skill did its job — it passed the request to Assist.

Setup

Set environment variables in OpenClaw config:

{
  "env": {
    "HASS_SERVER": "https://your-homeassistant-url",
    "HASS_TOKEN": "your-long-lived-access-token"
  }
}

Generate a token: Home Assistant → Profile → Long-Lived Access Tokens → Create To...

Source information

Source
github
Repository
openclaw/skills
Path
skills/developmentcats/homeassistant-assist
Version
—
Commit
ce1b9c5a3ac690187070c5904970a3d9dd8b8828
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

README

Home Assistant Assist

ClawHub License: MIT OpenClaw

An OpenClaw skill for controlling Home Assistant smart home devices using the Assist (Conversation) API.

[!IMPORTANT] This is an OpenClaw skill, not a HACS integration. It runs inside OpenClaw and communicates with your Home Assistant instance via its API.

Why This Skill?

Instead of the AI manually looking up entity IDs and building verbose service calls, this skill passes natural language directly to Home Assistant's built-in NLU.

Approach Tokens API Calls Reliability
Entity Lookup Method High Multiple Fragile
Assist API Low One Robust

Benefits:

  • Faster — Single API call instead of multiple lookups
  • Cheaper — Fewer tokens spent on entity resolution
  • More reliable — Home Assistant knows your home better than any AI

Requirements

Installation

From ClawHub (Recommended)
clawhub install homeassistant-assist

Or ask your OpenClaw agent:

"Install the homeassistant-assist skill"...

Extracted content

SKILL.md
# Home Assistant Assist

Control smart home devices by passing natural language to Home Assistant's Assist (Conversation) API. **Fire and forget** — trust Assist to handle intent parsing, entity resolution, and execution.

## When to Use This Skill

Use this skill when the user wants to **control or query any smart home device**. If it's in Home Assistant, Assist can handle it.

## How It Works

Pass the user's request directly to Assist:

```bash
curl -s -X POST "$HASS_SERVER/api/conversation/process" \
  -H "Authorization: Bearer $HASS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "USER REQUEST HERE", "language": "en"}'
```

**Trust Assist.** It handles:
- Intent parsing
- Fuzzy entity name matching
- Area-aware commands
- Execution
- Error responses

## Handling Responses

**Just relay what Assist says.** The `response.speech.plain.speech` field contains the human-readable result.

- `"Turned on the light"` → Success, tell the user
- `"Sorry, I couldn't understand that"` → Assist couldn't parse it
- `"Sorry, there are multiple devices called X"` → Ambiguous name

**Don't over-interpret.** If Assist says it worked, it worked. Trust the response.

## When Assist Returns an Error

Only if Assist returns an error (`response_type: "error"`), you can **suggest HA-side improvements**:

| Error | Suggestion |
|-------|------------|
| `no_intent_match` | "HA didn't recognize that command" |
| `no_valid_targets` | "Try checking the entity name in HA, or add an alias" |
| Multiple devices | "There may be duplicate names — consider adding unique aliases in HA" |

These are **suggestions for improving HA config**, not skill failures. The skill did its job — it passed the request to Assist.

## Setup

Set environment variables in OpenClaw config:

```json
{
  "env": {
    "HASS_SERVER": "https://your-homeassistant-url",
    "HASS_TOKEN": "your-long-lived-access-token"
  }
}
```

Generate a token: Home Assistant → Profile → Long-Lived Access Tokens → Create To...
README
# Home Assistant Assist

[![ClawHub](https://img.shields.io/badge/ClawHub-homeassistant--assist-blue?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHoiLz48L3N2Zz4=)](https://clawhub.com/skills/homeassistant-assist)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![OpenClaw](https://img.shields.io/badge/OpenClaw-Skill-purple)](https://github.com/openclaw/openclaw)

An [OpenClaw](https://github.com/openclaw/openclaw) skill for controlling Home Assistant smart home devices using the **Assist (Conversation) API**.

> [!IMPORTANT]
> This is an OpenClaw skill, not a HACS integration. It runs inside OpenClaw and communicates with your Home Assistant instance via its API.

## Why This Skill?

Instead of the AI manually looking up entity IDs and building verbose service calls, this skill passes natural language directly to Home Assistant's built-in NLU.

| Approach | Tokens | API Calls | Reliability |
|----------|--------|-----------|-------------|
| Entity Lookup Method | High | Multiple | Fragile |
| **Assist API** | **Low** | **One** | **Robust** |

**Benefits:**
- Faster — Single API call instead of multiple lookups
- Cheaper — Fewer tokens spent on entity resolution
- More reliable — Home Assistant knows your home better than any AI

## Requirements

- [OpenClaw](https://github.com/openclaw/openclaw) installed and running
- Home Assistant instance with API access
- A [Long-Lived Access Token](https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token) from Home Assistant

## Installation

### From ClawHub (Recommended)

```bash
clawhub install homeassistant-assist
```

Or ask your OpenClaw agent:

> "Install the homeassistant-assist skill"...

Related skills

OpenClaw

ai-maestro

23blocks-os

AI Agent Orchestrator with Skills System - Give AI Agents superpowers: memory search, code graph queries, agent-to-agent messaging. Manage Claude, Codex or any AI Agent from one dashboard. Move Agents between c...

OpenClaw

registry-broker-skills

hashgraph-online

AI agent skills for the Universal Registry - search, chat, and register 72,000+ agents across 14+ protocols. Works with Claude, Codex, Cursor, OpenClaw, and any AI assistant.

OpenClaw

skills-manager

rito-w

A cross-platform skills manager for AI IDEs. Search marketplace, download locally, and install to Claude, Cursor, Windsurf, and more with one click.