MiHome-Rust 是一个用 Rust 编写的米家智能家居控制面板,可通过 Web 界面或 API 远程控制米家智能设备,实现智能家居的集中管理。
项目目标:提供一个开放、轻量、易用的米家设备控制方案。
- 开放:提供 RESTful API 接口,支持与第三方系统集成。
- 轻量:以二进制文件形式分发,无繁杂的依赖项,部署过程简单。
- 易用:提供交互式配置工具
mihome-set,无需手动编辑配置文件。
本项目可与 One-KVM-mihome 搭配使用,实现更强大的远程控制功能。
核心功能
| 功能 | 能力说明 |
|---|---|
| Web 控制面板 | 基于浏览器的智能家居管理界面,支持密码登录 |
| 设备控制 | 远程控制米家智能设备,支持开关、参数设置 |
| API 接口 | 提供 RESTful API,支持 SHA256 签名验证 |
| 多架构支持 | Linux (x86_64/arm64/armv7) + Windows (x64) |
| systemd 服务 | Linux 下支持开机自启 |
| 配置工具 | 独立的 mihome-set 命令行工具,交互式配置 |
支持的设备类型(更多设备敬请期待)
| 设备 | 型号 | 支持功能 |
|---|---|---|
| 米家智能插座3 | cuco.plug.v3 |
开关、实时功率(W)、设备温度(°)、耗电量(度)、故障状态、上电默认状态、指示灯、童锁 |
| 开机卡 | cddz.plug.pc01w |
通电开机/断电关机、运行状况(9种状态)、上电默认状态、指示灯、电源开关、重启 |
构建产物见 GitHub Releases。以下为常见安装方式的简要步骤。
从 Releases 下载与本机架构匹配的 mihome_*.deb,在包所在目录执行:
sudo apt update
sudo apt install ./mihome_0.x.x_<arch>.deb将文件名中的版本号与架构替换为实际下载的包名。安装后 systemd 服务会自动启用并开机自启。
系统要求:
| 架构 | deb 包名 | 最低系统要求 |
|---|---|---|
| x86_64 (amd64) | mihome_*_amd64.deb |
Debian 11+ / Ubuntu 20.04+ |
| ARM64 (arm64) | mihome_*_arm64.deb |
Debian 11+ / Ubuntu 20.04+ |
| ARMv7 (armhf) | mihome_*_armhf.deb |
Debian 11+ / Ubuntu 20.04+ |
依赖: libc6 >= 2.31,libssl1.1 >= 1.1.0 或 libssl3 >= 3.0.0
从 Releases 下载 mihome-windows-x64.zip,解压后直接运行。
系统要求: Windows 10 (1809+) / Windows 11 / Windows Server 2019+
Windows 版本为独立可执行文件,无需额外依赖。
# 第一步:登录米家账号
mihome-set login
# 第二步:添加设备
mihome-set add
# 第三步:设置 API 密钥(建议随机)
mihome-set api_key
# 第四步(可选):关闭 WebUI
mihome-set webui offWindows 用户使用 .\mihome-set.exe 替代 mihome-set。
浏览器访问 http://<设备 IP>:7123/webui。默认密码:123456(使用 mihome-set password 修改)。
仅搭配 One-KVM-mihome 使用时建议关闭 Web 面板:
mihome-set webui off
mihome-set 支持两种模式:命令行模式(带参数)和交互模式(不带参数)。
| 命令 | 说明 | 示例 |
|---|---|---|
login |
登录米家账号,保存认证信息到 auth.json | mihome-set login |
list |
查看已配置的设备列表 | mihome-set list |
add |
从米家账号获取设备列表,选择添加到控制列表 | mihome-set add |
edit |
编辑已配置设备的名称 | mihome-set edit |
delete |
删除已配置的设备 | mihome-set delete |
query |
查询设备实时状态(支持查询单个或全部) | mihome-set query |
types |
查看支持的设备类型及功能 | mihome-set types |
password |
修改 WebUI 登录密码(留空随机生成) | mihome-set password |
api_key |
修改 API 密钥(留空随机生成 32 位) | mihome-set api_key |
webui |
开启/关闭 WebUI | mihome-set webui on 或 mihome-set webui off |
help |
显示帮助信息 | mihome-set help |
不带任何参数运行 mihome-set,进入交互模式,可循环执行命令,输入 exit 退出。
如果您发现了问题,请:
- 使用 GitHub Issues 报告
- 提供有帮助的错误信息和复现步骤
- 包含您使用的软件版本、硬件配置和系统信息
详见 API接口.md
/etc/mihome/
├── config.json # 主配置(密码、WebUI开关、API密钥)
├── devices.json # 设备列表
└── auth.json # 米家认证信息
配置文件与可执行文件同目录:
<程序目录>/
├── mihome.exe
├── mihome-set.exe
├── config.json
├── devices.json
└── auth.json
可通过 MIHOME_CONFIG_DIR 环境变量自定义配置目录。
本项目可与 One-KVM-mihome 项目搭配使用,实现更强大的远程控制功能:
- One-KVM-mihome - 基于 One-KVM 的定制版,在保留 IP-KVM 核心功能的基础上,新增了米家智能家居控制面板
- MiHome-Rust - 米家智能家居控制面板的 Rust 实现版本,支持智能插座、开机卡等设备控制
典型应用场景:
- MiHome-Rust 控制智能插座/开机卡实现服务器远程开关机,结合 One-KVM 的 IP-KVM 功能实现 BIOS 级远程控制,打造完整的远程服务器管理方案
- 通过 API 接口集成,实现自动化运维流程
# 编译所有架构
./build/build-images.sh
# 编译指定架构
./build/build-images.sh x86_64
./build/build-images.sh arm64
./build/build-images.sh armv7
# 使用国内镜像加速
DOCKER_BUILDKIT=1 CHINAMIRRO=1 DEBIAN_IMAGE=debian:11 ./build/build-images.sh x86_64# 打包 deb(含 systemd 服务,开机自启)
./build/package-deb.sh
# 打包 Docker 镜像
./build/package-docker.sh --platform linux/amd64 --load.\build\windows\build.ps1 -Configuration release -Package