midea_ac_lan:用局域网接管美的设备的 Home Assistant 集成
项目速览:通过局域网自动配置并控制您的美的M-Smart设备(空调、风扇、热水器、洗衣机等)。
秒懂
- 它是什么?
- midea_ac_lan 是一个基于 Python 的 Home Assistant 自定义集成,通过局域网自动发现并控制美的 M-Smart 设备。它依赖云端 Token 获取设备密钥,但云端接口正在关闭,配置文件的备份成为长期使用的关键。
- 适合谁用?
- midea_ac_lan 适合已经拥有美的 M-Smart 设备、且愿意接受云端 Token 接口逐步关闭这一风险的 Home Assistant 用户。它不适合那些希望完全脱离云端、或者设备尚未添加的新用户。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库在最近一天内有新的提交。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月18日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决什么问题
美的 M-Smart 设备默认通过云端 App 控制,这意味着每次操作都要经过美的服务器,局域网内没有直接通道。midea_ac_lan 将这一过程反转:它在本地网络中自动发现设备,并通过 Home Assistant 的配置界面完成添加,之后所有控制指令都走局域网,不再依赖云端。这个项目面向的是已经拥有美的空调、洗衣机、热水器等设备,并且希望将它们纳入 Home Assistant 自动化体系的用户。它支持的设备类型超过 30 种,从空调(AC)到电饭煲(EA)都有对应的文档。
工作机制:从云端取钥匙,用局域网开门
midea_ac_lan 的工作流程分两步。第一步,在 Home Assistant 的配置流程中,你需要输入美的账号和密码。这一步的目的是从美的云端服务器获取每台设备的 Token 和 Key,也就是局域网通信所需的凭证。第二步,配置完成后,组件会通过 UDP 广播在局域网内发现设备,或者你指定一个 IP 地址范围进行扫描。发现后,组件与设备建立一条长 TCP 连接,用于实时同步状态。README 明确说明,这条连接能“及时”同步设备状态,这意味着你可以在 Home Assistant 中看到空调的温度变化,而不需要手动刷新。值得注意的是,云端 Token 接口已经关闭了 Meiju Cloud 和 Smarthome Cloud,现在使用的是 NetHome Plus 的接口,但这些接口也预计会陆续关闭。
安装与配置:三条路径,一个前提
安装方式有三种。最常用的是通过 HACS,在 HACS 中搜索 midea_ac_lan 仓库并安装,然后重启 Home Assistant。第二种是使用脚本,在 HA 的终端或 SSH 插件中执行:wget -O - https://github.com/wuwentao/midea_ac_lan/raw/main/scripts/install.sh | ARCHIVE_TAG=latest bash -。第三种是手动下载最新 release 中的 midea_ac_lan.zip,解压到 /custom_components/midea_ac_lan 目录。无论哪种方式,都需要 Home Assistant 2024.4.1 或更高版本。安装后,在集成页面添加 Midea AC LAN,按提示输入美的账号。配置过程中有一个重要提醒:首次添加设备前,最好在路由器中为设备设置静态 IP,防止 IP 变化导致连接失败。配置完成后,你可以删除账号信息,设备仍然可以正常使用,因为 Token 和 Key 已经保存在本地。
从旧版迁移:georgezhao2010 的继承者
midea_ac_lan 是 georgezhao2010/midea_ac_lan 的继任者。迁移过程很简单:先移除旧集成,再安装新集成并重启。README 承诺设备不会丢失,已有的设备条目会保留,不需要重新发现或添加。如果设备条目没有出现,可以在“设置 -> 设备与服务 -> Midea AC LAN -> 设备 -> 配置”中手动启用。这个迁移路径说明项目继承了旧版的用户基础,但同时也继承了旧版的协议实现。对于已经配置过旧版的用户,升级成本较低。
一个关键限制:云端接口关闭的倒计时
这个项目最明显的风险是云端 Token API 的关闭。README 用五个感叹号标注了重要通知:Midea 已经关闭了 Meiju Cloud 和 Smarthome Cloud 的 Token API,现在使用的 NetHome Plus API 也预期会关闭。这意味着新设备将无法通过云端获取 Token 和 Key,也就无法添加到 midea_ac_lan。对于已经添加的设备,只要你有 .json 配置文件,就可以在 HAOS 之外备份,未来即使云端完全关闭,也能通过手动导入配置继续使用。但旧版 v2 设备没有 .json 文件,这些设备在云端接口关闭后将无法重新配置。这是一个硬性的时间窗口,新用户必须意识到这一点。
替代方案:本地协议 vs 云端依赖
如果你不想依赖云端 Token,可以考虑 midea_msmart,这是一个纯 Python 库,通过直接逆向美的局域网协议来获取设备密钥,不需要云端账号。它的做法是发送特定的 UDP 广播包,设备会返回自身的密钥,然后你可以用这些密钥在 Home Assistant 中手动配置。相比之下,midea_ac_lan 的自动化程度更高,配置界面友好,但代价是必须依赖云端获取初始凭证。另一个选择是使用 Home Assistant 的通用局域网集成,但你需要自己解析美的的协议,这要求较高的技术能力。对于大多数用户,midea_ac_lan 的易用性更值得优先考虑,前提是你接受云端风险。
维护与许可证:MIT 下的活跃开发
项目使用 MIT 许可证,这意味着你可以自由使用、修改和分发,只需保留版权声明。从 release 历史看,v2026.8.0 于 2026 年 8 月发布,v0.7.1 和 v0.7.0 分别在 7 月发布,说明项目仍在积极维护。但维护活跃并不代表云端风险不存在,因为美的的服务器策略不受项目控制。升级成本方面,通过 HACS 更新很直接,但每次更新后都需要重启 Home Assistant。文档中提到的 .json 配置文件备份是长期维护的关键步骤,建议在配置成功后立即执行。
编辑结论
midea_ac_lan 适合已经拥有美的 M-Smart 设备、且愿意接受云端 Token 接口逐步关闭这一风险的 Home Assistant 用户。它不适合那些希望完全脱离云端、或者设备尚未添加的新用户。在采用前,务必为每台 v3 设备备份 .json 配置文件,并将其存储到 HAOS 之外的设备上。同时确认你的 Home Assistant 版本不低于 2024.4.1。如果无法接受云端依赖,可以考虑使用 midea_msmart 或自行抓取局域网协议,但后者需要更多逆向工程工作。最终判断:midea_ac_lan 是目前功能最完整的美的局域网集成,但它的未来取决于你能否在云端接口关闭前完成配置备份。
社区笔记