360 Secure SkillHub
360 安全技能中心

Ha Xiaomi Control

依据用户消息中的触发词识别控制意图,通过 Home Assistant API 调用对应实体与服务,控制小米空调的开关、温度与模式,以及小爱音箱的文本指令,并附带实体参考列表、命令行脚本与错误处理说明;运行需 Home Assistant 服务地址与访问令牌。

pipluuup
pipluuup
热度 83.66
最近更新 2026-05-11 17:30:03
分类:自动化依赖:代码执行 / 第三方 API / 读写文件应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add haxiaomicontrol
Metadata
name
ha-xiaomi-control
description
Control Xiaomi smart home devices via Home Assistant API. Use when user wants to control Xiaomi or Xiao AI devices such as air conditioner, speakers, and lights through Home Assistant. Triggers include messages containing device control commands.

Home Assistant + Xiaomi Device Control

Control Xiaomi smart home devices through Home Assistant API.

Configuration

Load configuration from TOOLS.md → 智能家居 section, or use these defaults:

  • HA URL: http://192.168.31.35:8123
  • Access Token: Read from user's environment or TOOLS.md
  • Xiao AI Speaker: media_player.xiaomi_lx06_3ff3_play_control
  • Xiao AI Command Entity: text.xiaomi_lx06_3ff3_execute_text_directive
  • Air Conditioner: button.miir_ir02_8112_turn_off / button.miir_ir02_8112_turn_on

Control Rules

Xiao AI Speaker Control

When user message contains "小爱同学" or "小爱":

  1. Extract the command after the trigger word
  2. Call HA API to execute text directive

Example:

User: "小爱同学 播放音乐 天后"
→ Execute: text.xiaomi_lx06_3ff3_execute_text_directive with value "播放音乐天后"

API Call:

curl -X POST \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "text.xiaomi_lx06_3ff3_execute_text_directive", "value": "${COMMAND}"}' \
  ${HA_URL}/api/services/text/set_value

Air Conditioner Control

When user message contains "空调":

Command Entity Service
关闭空调 button.miir_ir02_8112_turn_off button/press
打开空调 button.miir_ir02_8112_turn_on button/press
空调 26 度 number.miir_ir02_8112_temperature_for_ir number/set_value
空调制冷 select.miir_ir02_8112_mode_for_ir select/select_option (option: "Cool")
空调制热 select.miir_ir02_8112_mode_for_ir select/select_option (option: "Heat")

Example - Turn Off:

curl -X POST \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "button.miir_ir02_8112_turn_off"}' \
  ${HA_URL}/api/services/button/press

Example - Set Temperature:

curl -X POST \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "number.miir_ir02_8112_temperature_for_ir", "value": 26}' \
  ${HA_URL}/api/services/number/set_value

Available Entities

See references/entities.md for complete entity list.

Error Handling

  1. Connection Failed: Check if HA is running and accessible
  2. 401 Unauthorized: Token expired, ask user to regenerate
  3. Entity Not Found: Verify entity ID in TOOLS.md
  4. Device Offline: Check device status in Mi Home app

Security Notes

  • ⚠️ Access Token is sensitive - never log or expose it
  • ✅ Store token in environment variable or secure config
  • ✅ Use HTTPS for remote HA access