SuperAPI AI 工具集

homeassistant

办公与效率

查看项目

更新于 10-16 07:46

技能介绍

用途

该技能用于通过 Home Assistant API 控制智能家居设备,包括智能插座、灯具、场景和自动化,并提供一组可直接使用的 curl 命令示例。

设置

需要设置两个环境变量:

  • HA_URL:你的 Home Assistant URL(例如 http://192.168.1.100:8123)
  • HA_TOKEN:长期访问令牌(在 Home Assistant 中通过“个人资料 → Long-Lived Access Tokens”创建)

主要能力与快速命令

按域列出实体

curl -s "$HA_URL/api/states" -H "Authorization: Bearer $HA_TOKEN" | \
  jq -r '.[] | select(.entity_id | startswith("switch.")) | .entity_id'

打开/关闭开关

# Turn on
curl -s -X POST "$HA_URL/api/services/switch/turn_on" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "switch.office_lamp"}'

# Turn off
curl -s -X POST "$HA_URL/api/services/switch/turn_off" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "switch.office_lamp"}'

控制灯光

# Turn on with brightness
curl -s -X POST "$HA_URL/api/services/light/turn_on" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "light.living_room", "brightness_pct": 80}'

触发场景

curl -s -X POST "$HA_URL/api/services/scene/turn_on" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "scene.movie_time"}'

调用任意服务

curl -s -X POST "$HA_URL/api/services/{domain}/{service}" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "...", ...}'

获取实体状态

curl -s "$HA_URL/api/states/{entity_id}" -H "Authorization: Bearer $HA_TOKEN"

实体域

  • switch.* — 智能插座、通用开关
  • light.* — 灯具(Hue、LIFX 等)
  • scene.* — 预配置场景
  • automation.* — 自动化
  • climate.* — 恒温器
  • cover.* — 百叶窗、车库门
  • media_player.* — 电视、音箱
  • sensor.* — 温度、湿度等

注意事项

  • API 默认返回 JSON
  • 长期令牌不会过期,请安全保存
  • 建议先用列表命令确认实体 ID

适用场景与限制

适用于通过命令行或脚本调用 Home Assistant 服务、查询与控制实体状态的场景。资料未提供除上述 curl 调用之外的集成方式、图形界面或平台支持信息;也未提供收费、价格或效果方面的说明。