核心用法
Home Assistant Control 是一套基于 Bash 脚本和 curl 的轻量级工具集,用于通过 REST API 与 Home Assistant 智能家居平台交互。核心能力覆盖:
- 设备控制:开关灯、调节亮度/色温、温控、锁具操作等
- 状态查询:实时获取传感器、开关、气候设备等实体状态
- 场景与自动化:触发预设场景(scenes)、脚本(scripts)和自动化规则(automations)
- 实体管理:动态生成实体清单、搜索设备、维护用户自定义别名映射
典型工作流:解析用户指令 → 查询命名别名 → 验证实体存在 → 执行服务调用 → 回查状态并反馈结果。
显著优点
1. 零依赖轻量:仅需 bash、curl、jq 三个标准工具,无 Python/Node 运行时负担
2. 安全优先设计:
3. 灵活部署:支持本地/公网双地址自动回退,可通过 HA_ENV_FILE 加载外部配置
4. 实体发现友好:内置实体搜索、别名记忆、域过滤等辅助脚本
- 高风险操作(门锁、警报、车库门、供暖关闭)强制交互确认
- 支持
--dry-run预演模式 - 令牌与 URL 外置存储,技能包本身不含敏感信息
潜在局限
- 无原生 GUI:纯命令行交互,对非技术用户门槛较高
- 网络依赖:依赖 Home Assistant 实例的网络可达性,无离线降级方案
- 令牌安全风险:长期访问令牌若泄露可导致全屋设备被控,需配合 HTTPS 和最小权限原则
- 错误处理有限:复杂 API 错误需人工解读 JSON 响应
适合人群
- 已部署 Home Assistant 的技术型用户
- 希望通过脚本/自动化扩展智能家居控制能力的开发者
- 需要快速集成 Home Assistant 到现有 CLI 工作流的高级用户
常规风险
| 风险类别 | 说明 |
|---------|------|
| 授权泄露 | `HA_TOKEN` 为长期有效令牌,需严格保管 |
| 误操作 | 别名歧义或实体 ID 错误可能导致非预期设备动作 |
| 网络暴露 | 公网访问 Home Assistant 需配合 HTTPS + 反向代理 |
| 依赖可用性 | Home Assistant 服务中断时完全失效 |