凌晨2点,我让 Agent 关掉了客厅的灯。不是为了省电,是为了确认——如果 AI 能关你家的灯,它也能在你不在家的时候帮你检查门窗。我说,这不是科幻电影,这是 Home Assistant + OpenClaw 的日常。
将 OpenClaw 与智能家居系统集成,你的 AI Agent 可以成为 24/7 智能管家:
开源智能家居平台,支持 2000+ 设备品牌,提供完善的 REST API 和 WebSocket 接口。最适合与 OpenClaw 集成。
小米生态链设备,通过 miio 库或 Home Assistant 桥接。性价比最高,设备种类丰富。
Apple 生态,通过 Home Assistant 的 HomeKit Bridge 集成。适合已深度使用 Apple 产品的用户。
# 方式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 完成初始化
# 在 Home Assistant 中创建长期访问令牌
# 1. 打开 Home Assistant → 个人资料 → 安全
# 2. 向下滚动到 "长期访问令牌"
# 3. 创建新令牌,命名为 "openclaw"
# 4. 复制令牌
# 配置环境变量
export HA_URL="http://homeassistant.local:8123"
export HA_TOKEN="your-long-lived-access-token"
# ~/.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'
#!/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 工具使用更有趣 | 返回首页