news 2026/8/19 6:33:24

三步搞定美的家电本地化控制:Midea AC LAN 局域网直连方案完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三步搞定美的家电本地化控制:Midea AC LAN 局域网直连方案完全指南

三步搞定美的家电本地化控制:Midea AC LAN 局域网直连方案完全指南

【免费下载链接】midea_ac_lanAuto-configure and then control your Midea M-Smart devices (Air conditioner, Fan, Water heater, Washer, etc) via local area network.项目地址: https://gitcode.com/gh_mirrors/mi/midea_ac_lan

美的家电本地化控制,正在成为越来越多家庭的刚需。Midea AC LAN 就是这样一套开源的局域网直连方案——它让你绕过云端中转,直接在本地 Home Assistant 里掌控家里的美的系空调、风扇、热水器、洗衣机等设备。最吸引人的一点是:哪怕外网彻底中断,这些设备依然听你指挥,秒级响应、数据不出家门。

如果你厌倦了"按下开关等三秒"的迟钝,或者担心自己的使用习惯被悄悄上传到厂商服务器,那么这篇文章就是为你准备的。我们不讲晦涩的协议细节,只把"把遥控器拿回自己手里"这件事,讲清楚、做明白。

第一章 你的智能家电,其实一直在"绕远路"

想象一个深夜场景:你躺在床上准备入睡,随口说了一句"把空调关了",系统却慢吞吞地转圈,三秒后才传来一声"嘀"。你可能会归咎于网络不好,但真相是——你的指令根本没有直奔空调,而是先出了家门。

一次指令的"千里旅行"

当你用厂商 App 控制设备时,指令的实际路径是这样的:

你家手机 → 路由器 → 运营商骨干网 → 厂商云服务器 → 骨干网 → 路由器 → 空调

而 Midea AC LAN 的路径只有短短一截:

Home Assistant → 路由器 → 空调

前者像极了"让邻居帮忙传话":明明隔壁就是你家,偏要写封信寄到千里之外再寄回来。后者则是"当面沟通":一句"关空调",对方立刻照做。

云端依赖的三笔"隐形账单"

账单类型具体表现
响应延迟指令绕行云端,动辄几百毫秒起步,自动化联动越多越明显
隐私成本开关机时间、温湿度读数、作息规律全部经由厂商服务器
单点故障厂商服务器维护、外网波动、运营商故障,都可能让你的家电集体"失聪"

这三笔账,很多人平时感觉不到,直到某一天外网断了、厂商服务器抽风了,才发现满屋子智能设备一夜之间变成了"半智能"。而局域网直连方案,正是为了把这三笔账一次性勾销。

第二章 Midea AC LAN 是什么:把"遥控器"还给你

简单说,Midea AC LAN 是一个运行在 Home Assistant 上的集成组件,它用逆向工程还原了美的 M-Smart 协议的通信规则,让你的 HA 能够以"设备本尊"的身份,在局域网内直接与家电对话。

它为你做了什么

  • 自动发现与配置:通过 HA 界面完成设备搜索与添加,全程可视化,不需要手写配置文件。
  • 实时状态同步:与设备维持 TCP 长连接,设备状态一变,HA 立刻知道,无需反复轮询。
  • 丰富的实体扩展:除了核心控制实体,还能按需生成温湿度、能耗等传感器,以及电辅热、ECO、无风感等开关实体。

一屋子家电,它几乎都认识

项目为三十多种设备类型提供了专门的协议实现,常见品类基本全覆盖:

空调、风扇、除湿器、空气净化器、加湿器、新风设备、电热水器、燃气热水器、壁挂炉、洗衣机、干衣机、洗碗机、油烟机、冰箱、电饭煲、微波炉、电烤箱、智能马桶、浴霸、灯……

品牌方面也相当宽容:美的、小天鹅、COLMO、东芝、Carrier、Ariston 等,均在其列。你可以把它理解为一座"翻译官团队"——每种家电都配了一位听得懂它方言的本地翻译。

第三章 一次握手、一个保险箱、一条不断线的通道

局域网直连听起来高大上,拆开看其实就三步,每一步都像极了日常生活中的小动作。

第一步:对暗号(握手与 Token 认证)

设备要确认"你是自己人",才肯跟你说话。这个过程叫握手:客户端先发一个身份请求,设备回应一串随机数,双方再交换密钥材料,最后各自推导出会话密钥。整个过程由midea/core/security.py中的 LocalSecurity 类负责,属于典型的"先对暗号、再谈正事"。

第二步:用保险箱传话(AES 加密通信)

暗号对上之后,所有指令都装进"保险箱"再传输——采用 AES 加密,密钥和初始向量由握手阶段动态协商。哪怕有人在你家网络里偷听,看到的也只是一堆无意义的乱码,完全无法还原你在"调温度"还是"开新风"。

第三步:留一扇常开的门(TCP 长连接)

HTTP 那种"问一句答一句、说完就关门"的模式,在这里被换成了"门一直开着":TCP 长连接建立后,设备状态一旦变化就会主动推送,HA 侧甚至可以在主动刷新间隔设为 0 的情况下依然保持状态最新。这正是它响应快、开销小的底层原因。

如果你想亲手验证这套机制,可以从custom_components/midea_ac_lan/midea/core/目录读起:先看device.py(设备通信基类),再看message.py(消息编解码),最后对照security.py(加密认证)和discover.py(发现机制)。想了解某类设备的具体实现,midea/devices/ac/device.py是个不错的入口。

第四章 半小时上手:把第一台设备接进来

理论说再多,不如动手一次。这一章我们走完整条路,全程大概半小时。

动手前的三分钟自检

检查项要求
Home Assistant 版本2022.5 或更高
网络位置设备与 HA 处于同一网段
路由器设置关闭 AP 隔离,避免设备互相"看不见"
IP 地址强烈建议为设备绑定静态 IP,防止重启后地址漂移

其中静态 IP 这一步最容易被人忽略,但恰恰最值钱——地址一变,所有配置都要跟着改,绑定好一劳永逸。

安装:两条路任选

路线一:HACS 一键安装(推荐新手)

在 HACS 中搜索 "Midea AC LAN",点击安装,重启 Home Assistant 即可。

路线二:手动安装(想完全掌控)

git clone https://gitcode.com/gh_mirrors/mi/midea_ac_lan

把克隆下来的目录中的custom_components/midea_ac_lan整个复制到你的 Home Assistant 的custom_components/目录下,然后重启。

三步接入:从零到控制

第一步,添加集成。在 HA 的"设备与服务"中搜索并添加 Midea AC LAN 集成。

第二步,登录一次美的账号。配置过程中会要求你输入美的账号和密码——别担心,这只是为了去美的云服务器取回每台设备的 Token 与 Key(相当于设备的"身份证 + 钥匙")。全部设备配置完成后,这个账号配置可以删掉,设备照常使用,此后不再有任何云端往来。

第三步,选择添加方式。项目提供了三种,按你的情况挑:

  • 自动搜索:组件扫描局域网并列出可发现的设备,你选一台确认即可;也可以指定网段搜索,比如192.168.1.255
  • 手动配置:如果你从其他途径已知设备 ID、类型、IP、端口(默认 6444)、协议版本、Token 和 Key,可以直接填表添加。
  • 仅列出所有设备:只想看看网络里有哪些美的设备,以及它们的 ID、类型、SN 等信息,选这个就好。

多台设备?重复上述流程多次添加即可,集成并不限制数量。

安装后的三个"加分项"

接入成功后,你还可以在集成选项里做三件小事,体验会立刻不一样:

  1. 调整刷新间隔:默认每 30 秒主动刷新一次状态,设为 0 表示关闭主动刷新。多数设备状态变化时会主动推送,因此即使设为 0 也基本无感,还能省电。
  2. 生成额外实体:勾选你想要的传感器与开关,比如室内外温度、实时功率、累计能耗、电辅热、无风感、水平/垂直摆风等,让面板信息更丰富。
  3. 自定义设备参数:部分设备支持 JSON 自定义,比如把空调温度步长从默认的 0.5 改成 1:
{"temperature_step": 1}

第五章 进阶玩法:让家电学会"察言观色"

接入只是开始,真正的乐趣在于让设备们互相配合。下面三个场景,你可以在 HA 的自动化里直接照着写。

场景一:下班回家,房间刚好是舒适温度

出门前关掉空调省电,回家前半小时自动开启预冷——用时间触发就能实现:

automation: - alias: "下班回家预冷" trigger: platform: time at: "17:30:00" action: - service: climate.set_hvac_mode target: entity_id: climate.midea_ac_01 data: hvac_mode: "cool" - service: climate.set_temperature target: entity_id: climate.midea_ac_01 data: temperature: 26

场景二:深夜入睡,空调自动"退居二线"

设置一个睡眠自动化:到点把温度调高 1 度、关闭电辅热、开启无风感,让风不再直吹床头:

automation: - alias: "夜间睡眠模式" trigger: platform: time at: "23:00:00" action: - service: climate.set_temperature target: entity_id: climate.midea_ac_01 data: temperature: 27 - service: switch.turn_on target: entity_id: switch.midea_ac_01_breezeless - service: switch.turn_off target: entity_id: switch.midea_ac_01_aux_heating

场景三:出门前,一键关闭全屋

把空调、风扇、灯光和安防系统串进同一个脚本,出门只点一下:

script: good_bye: sequence: - service: climate.turn_off target: entity_id: climate.midea_ac_01 - service: fan.turn_off target: entity_id: fan.midea_fa_01 - service: switch.turn_off target: entity_id: switch.midea_light_01 - service: alarm_control_panel.alarm_arm_away target: entity_id: alarm_control_panel.home_alarm

如果你生成过能耗类传感器(实时功率、累计能耗),还可以顺手接一个能耗看板,配合峰谷电价时段,让空调在电价高的时候自动"收敛"一点——省钱这件事,交给自动化去算就好。

第六章 故障自救:一份能照着做的排查清单

设备接不上、状态不更新,先别急着卸载重装,按下面的顺序过一遍,九成问题都能自己解决。

症状 1:设备搜索不到

  • 确认设备与 HA 在同一网段;
  • 确认路由器没有开启 AP 隔离;
  • 确认设备确实支持局域网控制(部分老款可能不支持)。

症状 2:连接报"认证失败"

  • 重新核对 Token 与 Key;
  • 重新走一遍"登录账号 → 获取设备信息"的流程,拿到最新的凭据。

症状 3:状态更新很慢

  • 多数设备本身会主动推送状态,若你的设备没有此机制,可以尝试把刷新间隔调小,比如从 30 秒改成 15 秒。

症状 4:想深挖原因,日志不够看

configuration.yaml中开启调试日志,然后盯住运行日志:

logger: default: warn logs: custom_components.midea_ac_lan: debug

常见日志关键词的含义也帮你准备好了:

  • connect failed→ 网络不通,先 ping 设备 IP;
  • invalid token→ 认证凭据有误;
  • timeout→ 设备无响应或网络延迟高;
  • decrypt error→ 密钥不匹配,重新获取 Token/Key。

第七章 常见问题速答

问:这个项目收费吗?完全免费开源。项目仓库地址仅用于手动安装时git clone使用:https://gitcode.com/gh_mirrors/mi/midea_ac_lan,HACS 安装则无需手动下载。

问:接入之后,原来的美的 App 还能用吗?能。局域网直连与原厂 App 是"两条路",互不干扰,你完全可以两者并存。

问:断网真的能用吗?只要设备与 HA 在同一局域网内,外网断开后控制、自动化照常运行。唯一例外是首次配置时需要用一次云账号获取 Token 与 Key,之后云就不再参与了。

问:需要很强的技术背景吗?不需要。全程通过 HA 界面点选完成,唯一稍显技术含量的就是给设备设静态 IP,在路由器后台花两分钟就能搞定。

问:多台设备怎么管理?重复"添加集成 → 添加设备"的流程即可;不同设备类型的协议实现在项目里是模块化隔离的,互不影响。

写在最后:真正的智能,是"当家作主"

Midea AC LAN 的价值,远不止"快了一点、省了一点"。它代表了一种更健康的智能家居理念:设备是你的,数据是你的,控制权也是你的。响应速度从"绕远路"变成"面对面",隐私从"交给别人保管"变成"锁在自己家里",可用性从"看厂商脸色"变成"我说了算"。

你不需要成为协议专家,也不需要看懂每一行代码。你只需要一个周末的下午,跟着这篇文章的步骤,把第一台空调接入本地网络,然后站在开关前,感受一次"零延迟"的回应。

那一刻你会发现:原来智能家居本该如此。从今晚开始,动手吧——把遥控器,重新握回自己手里。

【免费下载链接】midea_ac_lanAuto-configure and then control your Midea M-Smart devices (Air conditioner, Fan, Water heater, Washer, etc) via local area network.项目地址: https://gitcode.com/gh_mirrors/mi/midea_ac_lan

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/19 6:32:51

DIY阿尔法粒子火花探测器:用高压电场可视化核辐射

1. 项目概述:用高压电“看见”阿尔法粒子几年前,我在整理一个老旧的实验室仓库时,翻出了一小块镅-241的放射源,它通常存在于一些老式烟雾报警器中。看着这个不起眼的小圆片,我就在想,除了用昂贵的盖革计数器…

作者头像 李华
网站建设 2026/8/19 6:32:09

NetAgentBench:基于状态中心的网络配置智能体评测框架

1. 项目概述:为什么我们需要一个“状态中心”的网络配置智能体评测基准? 最近和几个做网络自动化的朋友聊天,大家都有一个共同的痛点:现在AI智能体(Agent)的概念火得一塌糊涂,各种框架和模型都说…

作者头像 李华
网站建设 2026/8/19 6:31:44

Arduino极简莫尔斯电码翻译器:状态机与串口通信实践

1. 项目概述:一个极简主义的莫尔斯电码翻译器最近在整理工作室的零件盒时,翻出了一块尘封已久的Arduino Uno,还有几个闲置的按键和LED。看着这些元件,我突然想,能不能用最少的硬件、最直接的代码,做一个纯粹…

作者头像 李华
网站建设 2026/8/19 6:30:00

异步协作,别让取消语义藏在实现里

异步协作,别让取消语义藏在实现里 异步库交给别人使用前,要把约定写到接口附近:哪些函数会做网络调用,哪些可能阻塞,取消后会怎样,返回哪些错误。比起一句“高性能”,这些信息更能减少误用。 如…

作者头像 李华
网站建设 2026/8/19 6:27:48

雷克萨斯ES增产10%背后:供应链压力测试与消费心理变迁

1. 市场需求的“压力测试”:从一份内部会议纪要说起 上个月,我参加了一个汽车行业供应链的闭门研讨会。会上,一位来自华东某大型零部件供应商的朋友,半开玩笑半认真地抱怨:“最近我们给雷克萨斯ES的仪表台骨架产线&…

作者头像 李华
网站建设 2026/8/19 6:22:14

从零构建高精度反应测试游戏:前端性能优化与延迟攻坚战

1. 项目缘起:一次被“秒杀”的线上游戏体验去年年底,我在一个游戏开发者社区闲逛,偶然点进了一个线上游戏比赛的直播回放。那是一个名为“The Reflex Game”的趣味挑战赛,属于某个大型线上游戏节的一部分。比赛规则很简单&#xf…

作者头像 李华