Home Assistant 集成
Hermes Agent 与 Home Assistant 以两种方式集成:
- 网关平台 — 通过 WebSocket 订阅实时状态变更
- 智能家居工具 — 四个 LLM 可调用工具用于通过 REST API 查询和控制设备
设置
1. 创建长期访问令牌
- 打开 Home Assistant 实例
- 进入你的 Profile
- 向下滚动到 Long-Lived Access Tokens
- 点击 Create Token,命名为"Hermes Agent"
- 复制令牌
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_command、command_line、python_script、pyscript、hassio、rest_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")