概述
OpenClaw 可以集成多种智能家居平台和设备,让你通过自然语言对话来控制家中的灯光、温度、家电等。本文介绍如何配置 Philips Hue、Home Assistant 和 8Sleep 智能床垫的集成。
Philips Hue 灯光控制
获取 Hue Bridge 凭据
- 确保 Hue Bridge 在同一局域网内
- 按下 Bridge 顶部的按钮
- 获取 API 用户名:
# 在 Bridge 按钮按下后 30 秒内执行
curl -X POST http://<bridge-ip>/api \
-H "Content-Type: application/json" \
-d '{"devicetype":"openclaw#instance1"}'
配置 OpenClaw
{
tools: {
philips_hue: {
enabled: true,
bridgeIp: "192.168.1.100",
username: "your-hue-api-username",
// 灯光分组别名
groups: {
"客厅": "Living Room",
"卧室": "Bedroom",
"书房": "Office"
}
}
}
}
使用示例
用户: 把客厅的灯调暗一点,调成暖色
OpenClaw: [调用 philips_hue.setLight]
{
group: "客厅",
brightness: 40, // 亮度百分比
colorTemp: 400 // 色温(暖色)
}
已将客厅灯光调整为:亮度 40%,暖色调。
用户: 关掉所有灯
OpenClaw: [调用 philips_hue.setLight]
{
group: "all",
state: "off"
}
所有灯已关闭。
Home Assistant 全屋集成
获取长期访问令牌
- 登录 Home Assistant Web 界面
- 点击左下角用户名 → 长期访问令牌
- 创建新令牌并保存
配置连接
{
tools: {
home_assistant: {
enabled: true,
url: "http://192.168.1.50:8123",
accessToken: "your_long_lived_access_token",
// 或通过环境变量
// accessToken: "${HOME_ASSISTANT_TOKEN}",
// 实体别名映射
entities: {
"空调": "climate.living_room_ac",
"电视": "media_player.living_room_tv",
"窗帘": "cover.bedroom_curtain",
"扫地机": "vacuum.roborock_s7",
"空气净化器": "fan.air_purifier"
}
}
}
}
控制设备
用户: 把空调调到 24 度制冷模式
OpenClaw: [调用 home_assistant.callService]
{
domain: "climate",
service: "set_temperature",
entity_id: "climate.living_room_ac",
data: {
temperature: 24,
hvac_mode: "cool"
}
}
客厅空调已设置为制冷模式,目标温度 24°C。
用户: 开始扫地
OpenClaw: [调用 home_assistant.callService]
{
domain: "vacuum",
service: "start",
entity_id: "vacuum.roborock_s7"
}
扫地机器人已启动清扫。
查询设备状态
用户: 家里现在温度多少?
OpenClaw: [调用 home_assistant.getState]
{
entity_id: "sensor.living_room_temperature"
}
当前室内温度:
- 客厅: 26.5°C
- 卧室: 25.0°C
- 室外: 32.0°C
8Sleep 智能床垫
配置
{
tools: {
eight_sleep: {
enabled: true,
email: "your-email@example.com",
password: "${EIGHT_SLEEP_PASSWORD}",
// 床的两侧配置
sides: {
left: "用户A",
right: "用户B"
}
}
}
}
使用示例
用户: 把我那边的床垫调凉一点
OpenClaw: [调用 eight_sleep.setTemperature]
{
side: "left",
level: -3 // 范围 -10(最凉)到 +10(最热)
}
已将你那侧的床垫温度降低到 -3 级。
用户: 昨晚我睡得怎么样?
OpenClaw: [调用 eight_sleep.getSleepData]
{
side: "left",
date: "2026-01-06"
}
你昨晚的睡眠数据:
- 总睡眠时间: 7小时35分钟
- 深睡: 1小时45分钟 (23%)
- REM: 2小时10分钟 (29%)
- 入睡时间: 22:30
- 起床时间: 06:05
- 睡眠评分: 82/100
语音控制场景
通过频道的语音消息功能,可以实现类似语音助手的体验:
用户: [发送语音消息] "我回家了"
OpenClaw: [语音转文字] -> "我回家了"
[触发回家场景]
- 打开客厅灯(50% 暖色)
- 空调设为 25°C
- 打开空气净化器
- 播放轻音乐
欢迎回家!已为你打开客厅灯光、空调和空气净化器。
定义场景
{
tools: {
home_assistant: {
scenes: {
"回家": {
services: [
{ domain: "light", service: "turn_on", entity: "light.living_room", data: { brightness: 128 } },
{ domain: "climate", service: "set_temperature", entity: "climate.ac", data: { temperature: 25 } },
{ domain: "fan", service: "turn_on", entity: "fan.air_purifier" }
]
},
"睡觉": {
services: [
{ domain: "light", service: "turn_off", entity: "all" },
{ domain: "cover", service: "close_cover", entity: "cover.bedroom_curtain" },
{ domain: "climate", service: "set_temperature", entity: "climate.bedroom_ac", data: { temperature: 23 } }
]
}
}
}
}
}
结合 Cron 定时任务
利用 OpenClaw 的 cron 工具实现定时家居控制:
{
cron: {
jobs: [
{
name: "早起模式",
schedule: "0 7 * * 1-5", // 工作日早上 7 点
action: "打开卧室窗帘,灯光调到 30%"
},
{
name: "节能模式",
schedule: "0 23 * * *", // 每晚 11 点
action: "关闭所有不必要的灯光和设备"
},
{
name: "下班预调",
schedule: "30 17 * * 1-5", // 工作日 17:30
action: "提前开启空调到 25 度"
}
]
}
}
故障排查
Home Assistant 连接失败
# 测试 API 连通性
curl -s -H "Authorization: Bearer YOUR_TOKEN" \
http://192.168.1.50:8123/api/states | head -20
# 检查 OpenClaw 连接日志
openclaw logs --filter home_assistant
Hue Bridge 不响应
# 确认 Bridge IP
nmap -sP 192.168.1.0/24 | grep -i philips
# 测试 API
curl http://192.168.1.100/api/your-username/lights
设备控制延迟
智能家居控制依赖局域网通信,确保 OpenClaw 服务器与智能设备在同一网络中,延迟通常在 1-2 秒内。如果延迟过大,检查网络路由和防火墙设置。