DevCats

Home Assistant Assist

AI 智能体v1.1.1
作者:DevCats更新于 2026-05-17共 4 个版本 · 最新版本发布于 2026-02-23homeassistant-assist@clawhub_developmentcats/homeassistant-assist
任务自动化工具调用#Smart Home

据 AlphaMoat 统计,截至 2026-09,Home Assistant Assist 累计下载 4,783 次、获 6 个星标,在全部 5,078 个 AI 技能中排名第 1,974 位,在「AI 智能体」分类(969 个)中排名第 373 位。

累计安装
167
累计下载
4,783
星标
6
全站排名
#1,974
全站前 39% · 「AI 智能体」前 39%
平台累计安装累计下载星标评论
ClawHub ↗1544,78364
SkillHub ↗1674,7616—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

该技能将自然语言请求发送给 Home Assistant,由 Assist 解析意图、匹配设备并执行操作。它拥有较广的设备控制能力,需要长期访问令牌;应使用权限最小化的专用令牌、HTTPS 连接,并为含糊或高风险操作增加确认。除非有额外保护,不应用于门锁、警报器或车库门等设备。 需要curl、HASS_SERVER及HASS_TOKEN;串行处理设备请求并检查错误、歧义和失败目标,不默认每个设备操作均成功。

资料发布于 2026-10-27

可以用来做什么

  • 查询或控制 Home Assistant 中的智能设备
  • 为设备请求提供自然语言指令
  • 检查 Assist 返回的执行结果

什么时候用

  • 需要通过 Home Assistant Assist API 与智能家居设备交互时
  • 先明确设备和预期动作;高风险或含糊请求应确认后再执行,并妥善保护令牌配置

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

先确认目标设备和具体动作,再通过 Assist 执行这项低风险操作;如果设备或动作不明确,请先询问,不要控制门锁、警报器或车库门。

月度数据趋势

累计下载4,783
2,8343,8814,9272026-03 · 累计下载 2,9782026-05 · 累计下载 3,7742026-06 · 累计下载 3,9752026-07 · 累计下载 4,3522026-08 · 累计下载 4,5862026-09 · 累计下载 4,78326-0326-09
星标6
5672026-03 · 星标 62026-05 · 星标 62026-06 · 星标 62026-07 · 星标 62026-08 · 星标 62026-09 · 星标 626-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-094,783—6
2026-084,586+5.4%6
2026-074,352+9.5%6
2026-063,975+5.3%6
2026-053,774—6
2026-032,978—6

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

3.5 KB · ClawHub v1.1.1
---
name: homeassistant-assist
description: 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.
homepage: https://github.com/DevelopmentCats/homeassistant-assist
metadata:
  openclaw:
    emoji: "🏠"
    requires:
      bins: ["curl"]
      env: ["HASS_SERVER", "HASS_TOKEN"]
展开全部(共 123 行)
    primaryEnv: "HASS_TOKEN"
---

# 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 Token

## API Reference

### Endpoint

```
POST /api/conversation/process
```

**Note:** Use `/api/conversation/process`, NOT `/api/services/conversation/process`.

### Request

```json
{
  "text": "turn on the kitchen lights",
  "language": "en"
}
```

### Response

```json
{
  "response": {
    "speech": {
      "plain": {"speech": "Turned on the light"}
    },
    "response_type": "action_done",
    "data": {
      "success": [{"name": "Kitchen Light", "id": "light.kitchen"}],
      "failed": []
    }
  }
}
```

## Philosophy

- **Trust Assist** — It knows the user's HA setup better than we do
- **Fire and forget** — Pass the request, relay the response
- **Don't troubleshoot** — If something doesn't work, suggest HA config improvements
- **Keep it simple** — One API call, natural language in, natural language out

## Links

- [Home Assistant Conversation API Docs](https://developers.home-assistant.io/docs/intent_conversation_api/)

「AI 智能体」分类下的热门技能

DevCats 的其他技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。