跳到主要内容

Home Assistant 集成

Hermes Agent 与 Home Assistant 以两种方式集成:

  1. 网关平台 — 通过 WebSocket 订阅实时状态变更
  2. 智能家居工具 — 四个 LLM 可调用工具用于通过 REST API 查询和控制设备

设置

1. 创建长期访问令牌

  1. 打开 Home Assistant 实例
  2. 进入你的 Profile
  3. 向下滚动到 Long-Lived Access Tokens
  4. 点击 Create Token,命名为"Hermes Agent"
  5. 复制令牌

2. 配置环境变量

HASS_TOKEN=your-long-lived-access-token
HASS_URL=http://192.168.1.100:8123 # 可选

3. 启动网关

hermes gateway

可用工具

ha_list_entities

列出 Home Assistant 实体,可按域或区域过滤。

ha_get_state

获取单个实体的详细状态,包括所有属性。

ha_list_services

列出可用于设备控制的服务。

ha_call_service

调用 Home Assistant 服务控制设备。

示例:

Turn on the living room lights
→ ha_call_service(domain="light", service="turn_on", entity_id="light.living_room")

网关平台:实时事件

Home Assistant 网关适配器通过 WebSocket 连接并订阅 state_changed 事件。

事件过滤

platforms:
homeassistant:
extra:
watch_domains:
- climate
- binary_sensor
cooldown_seconds: 30

安全

阻止的域

以下服务域被阻止以防止在 HA 主机上执行任意代码:

  • shell_commandcommand_linepython_scriptpyscripthassiorest_command

示例自动化

早晨routine

User: Start my morning routine
Agent:
1. ha_call_service(domain="light", service="turn_on", entity_id="light.bedroom")
2. ha_call_service(domain="climate", service="set_temperature", entity_id="climate.thermostat")