首页 资讯 下载 教程 Skills 社群

OpenClaw 智能家居控制指南

概述

OpenClaw 可以集成多种智能家居平台和设备,让你通过自然语言对话来控制家中的灯光、温度、家电等。本文介绍如何配置 Philips Hue、Home Assistant 和 8Sleep 智能床垫的集成。

Philips Hue 灯光控制

获取 Hue Bridge 凭据

  1. 确保 Hue Bridge 在同一局域网内
  2. 按下 Bridge 顶部的按钮
  3. 获取 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 全屋集成

获取长期访问令牌

  1. 登录 Home Assistant Web 界面
  2. 点击左下角用户名 → 长期访问令牌
  3. 创建新令牌并保存

配置连接

{
  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 秒内。如果延迟过大,检查网络路由和防火墙设置。