Xiaomi Home Control 🏠 | 小米家居控制
[English] | 中文
English
Enable code-level control of Xiaomi (Mi Home) devices over the local network.
🚀 Features
- Local Network Control: Fast, direct communication without relying on heavy cloud APIs.
- Built-in Token Extractor: Includes a script to easily fetch your device IPs and Tokens from Xiaomi Cloud.
- Pre-configured Workflows: Ready-to-use commands for smart plugs (e.g., water heaters), humidifiers, and rice cookers.
- Automatic Dependency Fix: Solves common library conflicts (like the
clickversion issue) automatically.
🛠️ Setup & Device Inventory
- Tokens: Obtain device IPs and Tokens using the bundled script:
bash python3 scripts/token_extractor.py - Registry: Store your device details in
references/devices.mdorreferences/my_private_devices.md.
🤖 Natural Language Intents
When the user gives a command, map it to the corresponding miiocli operation:
| User Intent | Device Type | Action | Technical Command (Example) |
|---|---|---|---|
| "Turn on water heater" | Smart Plug | Power ON | miiocli miotdevice --ip <IP> --token <TOKEN> raw_command set_properties '[{"siid": 2, "piid": 1, "value": true}]' |
| "Turn off water heater" | Smart Plug | Power OFF | miiocli miotdevice --ip <IP> --token <TOKEN> raw_command set_properties '[{"siid": 2, "piid": 1, "value": false}]' |
| "Humidifier to max" | Humidifier | Set Mode | miiocli miotdevice --ip <IP> --token <TOKEN> set_property_by 2 5 3 |
| "Is rice cooked?" | Rice Cooker | Check Status | miiocli cooker --ip <IP> --token <TOKEN> status |
中文说明
实现在局域网内对小米(米家)智能家居设备的代码级直接控制。
🚀 核心特性
- 本地化控制:直接在局域网内通信,响应极快,不完全依赖复杂的云端 API。
- 内置 Token 提取器:自带提取脚本,轻松从小米账号同步所有设备的 IP 和 32 位 Token 密钥。
- 预设工作流:支持智能插座(如热水器控制)、加湿器、米家小饭煲等多种常见设备。
- 自动环境优化:安装时自动处理 Python 依赖冲突(如
click版本问题),确保开箱即用。
🛠️ 快速开始
- 获取钥匙:运行内置的提取脚本:
bash python3 scripts/token_extractor.py - 配置列表:将您的设备信息填入
references/devices.md。 - 下达指令:对着机器人喊:“打开热水器”或“查看加湿器状态”。
🔗 Links | 相关链接
- ClawdHub: https://www.clawhub.ai/s/xiaomi-home
- GitHub: https://github.com/Pegasus02/clawdbot-xiaomi-home
Developed with 🦞 by @Pegasus02