返回顶部
h

home-assistant-controlHome Assistant控制

Control and inspect Home Assistant via REST API for entities, states, services, scenes, scripts, and automations. Use when the user asks to turn devices on/off, set values like brightness or temperature, trigger scenes/scripts/automations, or check current home/sensor status.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.3
安全检测
已通过
888
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

home-assistant-control

Home Assistant 控制

使用带有长期访问令牌的 Home Assistant REST API。

要求

对于技能用户(运行时)

  • - bash
  • curl
  • jq
  • Home Assistant 长期令牌(HATOKEN)
  • Home Assistant 公共基础 URL(HAURL_PUBLIC)

对于技能维护者(打包/验证)

  • - python3
  • pyyaml(由 skill-creator 验证器/打包脚本所需)

必需的环境变量

  • - HATOKEN(必需)
  • HAURL_PUBLIC(必需;规范目标及回退地址)
  • 可选的 URL 行为:
- 如果设置了 HAURLLOCAL(且没有 HAURL 覆盖),则优先尝试本地地址,然后回退到 HAURL_PUBLIC - HA_URL 是显式覆盖(如果设置,则直接使用)

密钥处理(发布安全)

  • - 将密钥/URL 保存在外部文件中,而非技能文件夹内。
  • 当需要基于文件的密钥加载时,设置 HAENVFILE=/绝对/路径/到/file.env。
  • 如果未设置 HAENVFILE,脚本仅使用 shell 中已存在的环境变量。
  • 仅在提供 HAENVFILE 时,scripts/hacall.sh 和 scripts/selfcheck.sh 才会加载环境文件。

核心工作流程

  1. 1. 将用户请求解析为目标实体/服务 + 所需操作。
  2. 首先检查 references/naming-context.md 以获取手动别名映射。
  3. 在更改状态前验证实体是否存在。
  4. 执行服务调用。
  5. 重新检查状态并清晰报告结果。

有用的端点

  • - 列出状态:GET /api/states
  • 单个状态:GET /api/states/{entity_id}
  • 调用服务:POST /api/services/{domain}/{service}

请求头:

  • - Authorization: Bearer $HA_TOKEN
  • Content-Type: application/json

脚本

  • - scripts/haenv.sh — 仅在显式设置 HAENVFILE 时加载环境文件,使用安全的 KEY=VALUE 解析(不使用 source/eval)。
  • scripts/hacall.sh — Home Assistant 的通用 API 调用器。
  • scripts/fillentitiesmd.sh — 从 GET /api/states 生成 references/entities.md。
- 完整映射:./scripts/fillentitiesmd.sh - 过滤域:./scripts/fillentitiesmd.sh --domains light,switch,climate,sensor
  • - scripts/savenamingcontext.sh — 刷新 references/naming-context.md 以获取用户特定的命名。
- ./scripts/savenamingcontext.sh
  • - scripts/haentityfind.sh — 通过部分实体 ID 或友好名称搜索实体。
- ./scripts/haentityfind.sh kitchen - ./scripts/haentityfind.sh temp --domains sensor,climate --limit 30
  • - scripts/hasafeaction.sh — 执行带有安全检查与风险确认的服务操作。
- ./scripts/hasafeaction.sh light turnon light.kitchen {brightnesspct:60} - ./scripts/hasafeaction.sh lock unlock lock.front_door --dry-run - 添加 --yes 可跳过高风险域的交互式确认。
  • - scripts/self_check.sh — 在执行操作前验证先决条件及 API 连接/认证。
- ./scripts/self_check.sh

安全性

  • - 在高影响操作(锁、警报、车库/门、供暖关闭)前进行确认。
  • 不打印原始令牌值。
  • 如果目标实体不明确,则提出后续问题。
  • 将 API 路径限制在 Home Assistant 端点范围内(/api/...)。
  • 仅使用 HTTP(S) Home Assistant 基础 URL(HA_URL*),公共访问优先使用 HTTPS。
  • 加载环境文件时避免代码执行:解析键/值对,不要对不可信路径使用 source。

参考文件

  • - references/entities.md — 实体清单
  • references/naming-context.md — 用户别名记忆,用于自然名称(例如“客厅灯”)

发布说明

  • - 保持示例通用(使用 example_* ID),不包含个人主机名/令牌。
  • 不提交 .env 或任何包含真实令牌的私有环境文件。
  • 保持技能专注:API 工作流程 + 可复用脚本 + 实体参考。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 home-assistant-control-1776420054 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 home-assistant-control-1776420054 技能

通过命令行安装

skillhub install home-assistant-control-1776420054

下载

⬇ 下载 home-assistant-control v1.0.3(免费)

文件大小: 14.64 KB | 发布时间: 2026-4-17 18:13

v1.0.3 最新 2026-4-17 18:13
Security fix: remove source() from env loading; use safe KEY=VALUE parser

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部