🏡 OpenClaw 智能家居自动化指南

凌晨2点,我让 Agent 关掉了客厅的灯。不是为了省电,是为了确认——如果 AI 能关你家的灯,它也能在你不在家的时候帮你检查门窗。我说,这不是科幻电影,这是 Home Assistant + OpenClaw 的日常。

📌 功能介绍

将 OpenClaw 与智能家居系统集成,你的 AI Agent 可以成为 24/7 智能管家:

🛠️ 支持的智能家居平台

🏠 Home Assistant(推荐)

开源智能家居平台,支持 2000+ 设备品牌,提供完善的 REST API 和 WebSocket 接口。最适合与 OpenClaw 集成。

📱 米家 (Xiaomi)

小米生态链设备,通过 miio 库或 Home Assistant 桥接。性价比最高,设备种类丰富。

🍎 HomeKit

Apple 生态,通过 Home Assistant 的 HomeKit Bridge 集成。适合已深度使用 Apple 产品的用户。

🔧 使用方法

第一步:部署 Home Assistant

# 方式1:Docker 部署(推荐)
docker run -d \
  --name homeassistant \
  --privileged \
  --network=host \
  -v ~/.homeassistant:/config \
  homeassistant/home-assistant:stable

# 方式2:Home Assistant OS
# 下载镜像写入 SD 卡/硬盘
# https://www.home-assistant.io/installation/

# 访问 http://localhost:8123 完成初始化

第二步:获取 API Token

# 在 Home Assistant 中创建长期访问令牌
# 1. 打开 Home Assistant → 个人资料 → 安全
# 2. 向下滚动到 "长期访问令牌"
# 3. 创建新令牌,命名为 "openclaw"
# 4. 复制令牌

# 配置环境变量
export HA_URL="http://homeassistant.local:8123"
export HA_TOKEN="your-long-lived-access-token"

第三步:创建家居控制 Agent

# ~/.openclaw/agents/home-assistant/SOUL.md

## 身份
我是智能家居管家 Agent,负责管理和控制家中的智能设备。

## 能力
- 控制:灯光、空调、窗帘、电视、音响等设备
- 监控:温度、湿度、门窗状态、空气质量
- 场景:一键执行预设场景(离家/回家/睡眠/起床)
- 安全:异常检测和自动报警

## 支持的指令
- "开/关 客厅灯"
- "空调设到26度"
- "执行回家场景"
- "检查所有门窗"
- "今日用电报告"

## 安全规则
- 永远不要关闭安防设备
- 温度异常自动通知
- 夜间操作降低灯光亮度

第四步:常用控制命令

# 控制灯光
curl -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"}'

# 关闭灯光
curl -X POST "$HA_URL/api/services/light/turn_off" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "light.living_room"}'

# 调节空调温度
curl -X POST "$HA_URL/api/services/climate/set_temperature" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "climate.bedroom", "temperature": 26}'

# 查询设备状态
curl -s "$HA_URL/api/states" \
  -H "Authorization: Bearer $HA_TOKEN" | jq '.[].entity_id'

💡 最佳实践

💡 安全第一:永远为家居控制 Agent 设置权限限制。Agent 不应该能关闭安防摄像头、解锁大门等安全设备,除非经过多重确认。
  1. 场景设计
  2. 异常检测
  3. 隐私保护

💻 代码示例

OpenClaw 家居控制 Skill

#!/bin/bash
# home_control.sh - OpenClaw 智能家居控制脚本

HA_URL="${HA_URL:-http://homeassistant.local:8123}"
HA_TOKEN="$HA_TOKEN"

control_device() {
    local domain="$1"   # light, climate, switch, cover
    local service="$2"  # turn_on, turn_off, toggle
    local entity="$3"   # light.living_room
    local data="${4:-{}}"  # 可选参数
    
    curl -s -X POST "$HA_URL/api/services/${domain}/${service}" \
        -H "Authorization: Bearer $HA_TOKEN" \
        -H "Content-Type: application/json" \
        -d "{\"entity_id\": \"$entity\", $data}" | jq .
}

# 示例用法
# control_device light turn_on light.living_room
# control_device climate set_temperature climate.bedroom \
#   '{"temperature": 26}'
# control_device cover close cover.bedroom_curtain

# 状态查询
get_state() {
    local entity="$1"
    curl -s "$HA_URL/api/states/$entity" \
        -H "Authorization: Bearer $HA_TOKEN" | \
        jq '{state, attributes: .attributes | {friendly_name, temperature, humidity, unit_of_measurement}}'
}

# 场景执行
run_scene() {
    local scene="$1"
    control_device scene turn_on "$scene"
}

🌙 自动化场景示例:晚安

# 晚安场景 - 通过 OpenClaw 定时或语音触发

## 执行步骤
1. 关闭客厅灯 → light.turn_off(living_room)
2. 关闭书房灯 → light.turn_off(study)
3. 卧室灯调至5%暖光 → light.turn_on(bedroom, brightness=5%, color_temp=warm)
4. 空调调至27度 → climate.set_temperature(bedroom, 27)
5. 关闭电视 → media_player.turn_off(tv)
6. 开启空气净化器 → switch.turn_on(purifier)
7. 锁门 → lock.lock(front_door)
8. 开启安防 → alarm_control_panel.arm_night(security)
⚠️ 注意事项:

🔗 相关链接

© 2026 妙趣AI - 让 AI 工具使用更有趣 | 返回首页