小米家居 (Xiaomi Home)

🏠 本地掌控全屋米家智能设备

iot榜 #4

通过 miiocli 在本地局域网控制米家设备,支持智能插座、加湿器、电饭煲等设备的电源控制与 MIOT 属性操作。

收藏
10.8k
安装
4.2k
版本
1.2.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Xiaomi Home Control 技能基于 python-miio 库,通过 miiocli 命令行工具实现对小米/米家智能设备的本地局域网控制。核心操作包括:

  • 设备发现与认证:使用 scripts/token_extractor.py 提取设备 IP 和 Token,存储于 references/devices.md
  • MIOT 通用控制:通过 siid(服务实例 ID)和 piid(属性实例 ID)读写设备属性
  • 设备专属命令:针对加湿器、电饭煲等设备提供专用 CLI 接口
  • 批量状态查询:遍历设备注册表执行批量状态检查

显著优点

1. 本地优先:纯局域网通信,无需依赖小米云服务,响应延迟低且隐私性更强
2. MIOT 协议完整支持:覆盖现代小米设备的 MIOT 规范,理论上可控制绝大多数米家生态产品

3. 命令行原生集成:直接输出可执行的 miiocli 命令,便于脚本化与自动化

4. 自然语言映射:提供意图到技术命令的转换表,降低使用门槛

潜在缺点与局限性

  • Token 获取门槛高:需通过抓包或第三方工具提取设备 Token,对普通用户不友好
  • 网络拓扑依赖:要求控制端与设备处于同一子网,跨 VLAN 或远程场景不可用
  • 协议碎片化:旧设备使用 miio 协议,新设备使用 MIOT,命令语法不统一
  • click 版本依赖:需强制锁定 click<8.1.0,存在潜在兼容性问题
  • 无官方背书:基于社区逆向工程,功能稳定性随小米固件更新可能失效

适合人群

  • 拥有小米智能设备、注重本地隐私的技术用户
  • 需要将米家设备集成到 Home Assistant 或其他自动化平台的进阶玩家
  • 愿意投入时间学习 MIOT 协议、能独立解决网络问题的开发者

常规风险

| 风险类型 | 说明 | 缓释建议 |
|---------|------|---------|
| Token 泄露 | Token 相当于设备密码,泄露后可被局域网内任意控制 | 将 `devices.md` 加入 `.gitignore`,使用私钥加密存储 |
| 固件更新失效 | 小米可能通过固件更新变更协议或重置 Token | 更新前备份 Token,关注 python-miio 社区动态 |
| 误操作风险 | raw_command 可直接修改任意属性,可能触发非预期行为(如加湿器干烧) | 优先使用专用命令,操作前验证 siid/piid 对应关系 |
| 网络隔离失败 | 若 Mac 连接访客网络或 IoT 隔离 VLAN,命令将超时失败 | 确认控制端与设备 IP 段一致(如 `192.168.28.x`) |

小米家居 (Xiaomi Home) 内容

references文件夹
scripts文件夹
手动下载zip · 11.6 kB
devices.mdtext/markdown
请选择文件