第 2 课 环境搭建:HA 安装与 Hermes 网关配置

第 2 课 环境搭建:HA 安装与 Hermes 网关配置

本课目标

  • 完成 Home Assistant 的安装与基础配置
  • 将 Hermes Agent 与 Home Assistant 连接
  • 实现通过 Telegram / 微信控制家居设备

2.1 Home Assistant 安装

方案对比

方案 硬件 难度 推荐度
HA OS(树莓派) 树莓派 4/5 ⭐⭐⭐
Docker 任意 Linux/NAS ⭐⭐ ⭐⭐⭐
虚拟机 PC/Mac ⭐⭐ ⭐⭐

Docker 安装(小赵选择)

小赵家里有一台闲置的 N100 迷你主机,正好当服务器。

# 安装 Docker
curl -fsSL https://get.docker.com | bash

# 启动 Home Assistant
docker run -d \
  --name homeassistant \
  --restart=unless-stopped \
  --privileged \
  --network=host \
  -v /opt/homeassistant:/config \
  -e TZ=Asia/Shanghai \
  ghcr.io/home-assistant/home-assistant:stable

初始配置

1. 浏览器访问 http://[服务器IP]:8123
2. 创建管理员账号
3. 设置家庭位置(用于日出日落自动化)
4. HA 自动发现局域网设备
5. 添加设备到对应区域

区域划分

小赵的 HA 区域:
├── 客厅 (living_room)
├── 卧室 (bedroom)
├── 书房 (study)
├── 厨房 (kitchen)
├── 卫生间 (bathroom)
└── 走廊 (hallway)

2.2 HA 基础配置

添加设备

HA → 设置 → 设备与服务 → 添加集成

已添加集成:
  ✅ Yeelight(8 个灯具)
  ✅ Xiaomi Miot(空调伴侣×2、扫地机×1)
  ✅ Aqara(窗帘×3、传感器×5)

生成 Long-Lived Access Token

HA → 个人资料 → 安全 → Long-Lived Access Token → 创建

名称:hermes-agent
将生成的 Token 保存好,后面要用。

验证 API 可用

curl -s -H "Authorization: Bearer YOUR_TOKEN" \
  http://192.168.1.100:8123/api/states | head -c 200

2.3 Hermes Agent 安装与 MCP 集成

安装 Hermes Agent

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
hermes setup

配置 Home Assistant MCP

hermes config edit
mcp:
  servers:
    homeassistant:
      command: "python"
      args: ["-m", "hermes_ha_mcp"]
      env:
        HA_URL: "http://192.168.1.100:8123"
        HA_TOKEN: "${HA_TOKEN}"   # 环境变量传入

设置环境变量:

export HA_TOKEN="eyJ... 你的 Long-Lived Token"

验证 MCP 连接

hermes "列出所有家居设备"

预期输出:

你的 Home Assistant 中共有 21 个设备:

| 区域 | 设备 | 状态 |
|------|------|------|
| 客厅 | 吸顶灯 | 关 |
| 客厅 | 灯带 | 关 |
| 客厅 | 空调 | 关 |
| 卧室 | 吸顶灯 | 关 |
...

2.4 Telegram 网关配置

创建 Telegram Bot

1. 在 Telegram 中找到 @BotFather
2. 发送 /newbot
3. 名称:小赵家 AI 管家
4. 用户名:xiaozhao_home_bot
5. 获得 Bot Token

连接 Hermes

hermes gateway setup telegram
# 输入 Bot Token

hermes gateway start telegram

测试

在 Telegram 中发送:
"打开客厅灯"

Bot 回复:
✅ 已打开客厅吸顶灯。

微信网关(可选)

hermes gateway setup wechat
# 按提示扫码登录

2.5 家居管家 SOUL.md

hermes config edit
# SOUL.md — 家居 AI 管家

## 身份
你是小赵家的 AI 管家,管理一套 90平 两居室的全屋智能设备。
家庭成员:小赵(男主人)、小李(女主人)。

## 家庭设备资产
| 区域 | 设备 | Entity ID |
|------|------|-----------|
| 客厅 | 吸顶灯 | light.living_room_ceiling |
| 客厅 | 氛围灯带 | light.living_room_strip |
| 客厅 | 空调 | climate.living_room_ac |
| 客厅 | 电动窗帘 | cover.living_room_curtain |
| 卧室 | 吸顶灯 | light.bedroom_ceiling |
| 卧室 | 床头灯 | light.bedroom_bedside |
| 卧室 | 空调 | climate.bedroom_ac |
| 卧室 | 窗帘 | cover.bedroom_curtain |
| 书房 | 台灯 | light.study_desk |
| 书房 | 窗帘 | cover.study_curtain |
| 厨房 | 吸顶灯 | light.kitchen_ceiling |
| 卫生间 | 灯 | light.bathroom |
| 全屋 | 扫地机 | vacuum.roborock |
| 多处 | 温湿度传感器 | sensor.temp_* |
| 门口 | 门窗传感器 | binary_sensor.door_* |

## 习惯偏好
- 小赵喜欢暖色灯光(色温 3000K)
- 小李喜欢白色灯光(色温 4500K)
- 睡觉时空调设 26°C
- 客厅看电影时灯带设为 10% 亮度暖黄
- 出门时关闭所有灯和空调,启动扫地机

## 安全规则
- 不要在深夜(23:00-7:00)突然开灯(除非明确要求)
- 门窗传感器异常立即通知
- 不要关闭卫生间灯(可能有人在用)除非确认无人

2.6 动手练习

  1. 安装 Home Assistant:Docker 或树莓派均可

  2. 添加设备:至少添加 3 个智能设备

  3. 生成 HA Token:长期访问令牌

  4. 安装 Hermes + MCP:配置 HA 连接

  5. 配置 Telegram Bot:创建并连接

  6. 第一次控制

通过 Telegram 发送以下命令:
"打开客厅灯"
"把客厅灯调到 50% 亮度"
"客厅现在多少度"
  1. 编写 SOUL.md:参照 2.5 节定制你的管家人格

本课小结

要点 内容
HA 安装 Docker 推荐,5 分钟部署
MCP 连接 Hermes → MCP → HA REST API
网关 Telegram Bot 远程控制
SOUL.md 设备资产 + 习惯偏好 + 安全规则

下一课:自然语言控制全屋设备——不再需要打开 App。