十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

空气开关接入Home Assistant:智能配电箱改造实操指南

空气开关接入Home Assistant:智能配电箱改造实操指南 这两年玩智能家居我最大的体会是大家盯着灯光、窗帘、 sensor 折腾半天却往往忽略了家里最该被“智能化”的东西——配电箱。直到我把空气开关也接进 Home Assistant才发现以前那些所谓“全屋智能”其实只做了皮毛。空气开关入 HA 之后每个回路的实时功率、用电量、开关状态全部可视化出门之后手机一拉哪个房间的电器没关、待机功耗多少、热水器是不是又偷偷烧了一整晚全部一目了然。这篇东西不打算写成产品说明书而是从方案选型、硬件拆解、接入调试到自动化联动把整个过程掰开了讲。你可以把它当成一份个人实操记录也可以直接照着抄作业。全文涉及强电改造动手能力一般的人建议先看完安全部分再决定要不要自己来。1. 方案选型把空气开关变成“智能设备”的四种路线1.1 一体式智能空开和模块化改造怎么选市面上的智能空开品牌很多像施耐德、正泰、德力西都有对应的智能系列价格从几百到上千不等。一体式智能空开的优势在于出厂就是完整形态内部集成了计量芯片、通信模组、断路器和远程控制执行机构装进配电箱就能用。缺点是价格确实不便宜而且不同品牌之间的通信协议、APP 体验、云端依赖程度差异很大买回家容易发现自己被某个 App 生态拴住了。模块化改造则是用传统的普通空开搭配独立的智能电表、电流互感器、接触器或智能断路器模块来实现功能。这种方案最大的优势是灵活性极高你可以继续用手里觉得可靠的普通空开尤其是老房子配电箱里快20年没出过问题的那批只加一个带 RS485 或 WiFi 通信的电能计量模块就能拿到同样的供电数据。缺点是安装调试需要自己动手布线稍微复杂配电箱空间紧张的话可能塞不下这么多模块。从实际体验来说如果配电箱空间充足、预算不敏感而且你就想要一个不用折腾的完整体验直接上一体式智能空开更省心如果配电箱已经满到极限、或者你手里已有不少普通空开舍不得换那模块化改造几乎是你唯一的选择。我自己最后是混着用的空调、热水器、厨房这种大功率、我想要远程掌控的回路用了智能空开其他照明、插座这类只想要个监控的回路用了模块化方案。注意不管选哪种方案都要确认你买的设备工作电压和额定电流跟现有回路匹配。举例来说空调回路通常是 16A 或 20A照明回路通常是 10A买错型号轻则计量不准重则发热跳闸甚至引发事故。1.2 通信协议要选 WiFi、Zigbee 还是 RS485智能空开关通信协议这一点特别容易踩坑。很多一体式智能空开走的是品牌私有协议必须搭配自己的网关或者云平台才能用。这类设备接入 Home Assistant 往往需要靠 HACS 里第三方开发者做的集成integration稳定性就看这个品牌在 HA 社区里有多少人用、维护勤不勤。冷门品牌哪怕是国货老牌HA 集成也可能长期没人维护一旦固件升级把私有协议改了你的接入就废了。综合各家方案和社区口碑我建议优先级这么排支持本地 MQTT 或 Modbus 协议 支持 ESPHome 或 Tasmota 固件 官方 HA 集成 云端 API 接入。最理想的是那种本身就跑 ESP32 或 ESP8266 芯片的智能空开拆开之后能直接刷 Tasmota 或 ESPHome 固件完全本地化运行不依赖品牌云。买之前可以去 HA 社区搜一下这个型号有没有人发过拆解帖或者直接问客服要通信协议文档不给文档的基本可以排除。RS485 是另一个值得认真考虑的方向尤其是做全屋电箱改造、对稳定性要求高的玩家。RS485 是工业总线里非常成熟的标准一根双绞线串起几十个设备都没问题而且抗干扰能力在配电箱这种电磁环境复杂的地方表现出色。缺点是需要一个 RS485 转 TCP 或 USB 的网关配置比 WiFi 直连稍微复杂一点——但一旦接通那个稳定性和响应速度是 WiFi 方案比不了的。我自己最终选了 WiFi MQTT 的组合原因比较现实家里已经有比较稳定的 HA 架构WiFi 覆盖在配电箱位置不算差而且 MQTT 的接入逻辑对我这种习惯写自动化的人来说最顺手。如果你是刚开始建 HA 的新手手里已经有 Zigbee 网关那选 Zigbee 版智能空开也不错至少设备掉线率比 WiFi 低不少。2. 安装过程中的关键细节和配套设备准备2.1 配电箱里的安装位置和空间规划安装智能空开的第一步永远是断电。这个不是客套话哪怕你觉得自己经验再丰富操作对象是 220V 入户主闸的时候任何疏忽都可能造成不可逆的后果。我习惯的操作顺序是先拉总闸然后用万用表测一遍目标回路的进出线两端确认没有电压之后再挂一个“正在检修”的牌子在配电箱上最后才动手拆线换空开。配电箱的空间规划比大多数人想的更重要。一体式智能空开的宽度通常是 1P 或 2P跟普通空开一致但深度会明显更大。有些紧凑型弱电箱或老式配电箱表面看卡轨长度够实际上装进去之后盖子根本盖不上因为散热和后部空间完全不够。我建议安装前先量一下配电箱内部的实际深度至少要留出 50mm 以上的深度余量如果空间紧张优先考虑模块化方案或者把不常用的回路合并、腾出卡轨位置。另外配电箱内的线序整理一定不能省。智能空开因为要供电给通信模块往往需要一个额外的零线端子N 排安装时要确认自己的配电箱里有足够的零线端子位。如果不够可以加装零线排组件千万别把智能空开的零线接到别回路的零线上去否则轻则计量数据混乱重则电流回路不对产生安全隐患。2.2 不建议省掉的元器件互感器、漏电保护和浪涌保护玩家自己改装电箱通常容易忽略一件事智能空开只是替你多了一个“观察和控制”的环节它真正的本职工作仍然是过载和短路保护性能未必比顶级的传统空开好。预算允许的情况下我更建议用“普通空开 独立智能电表模块”的组合因为你可以选择一线品牌里保护特性最好的空开再加上独立的计量单元做数据采集保护和监测各司其职。计量模块会有两个关键的附件需要留意电流互感器和电压采样线。电流互感器是卡在火线上的用来测电流电压采样线接在火线和零线上用来测电压。两者综合起来才能算出有功功率、功率因数等数据。安装互感器的时候注意方向——互感器上会有箭头或 P1/P2 标识装反了会导致功率变成负数读数反了不说后面做负载识别自动化的时候会把你绕晕。我还建议在这个阶段给配电箱补一个浪涌保护器SPD。智能家居设备的通信模块往往是配电箱里最娇贵的部分雷击或者电网中大幅浪涌很容易打坏 WiFi/通信模块。一个标准 DIN 导轨式 SPD 价格不高但能把整个电箱的电子设备保护得明明白白。安装 SPD 需要在总闸后面接入同时做好接地这活儿最好让有经验的人做接线不对的话保护效果等于零。2.3 电箱内 WiFi 信号弱怎么办配电箱通常是铁质的天生就是 WiFi 信号的屏蔽器。很多时候你把智能空开装好了设备也能搜到 WiFi 网络但连上没几天就掉线重连后又是满血复活的状态信号强度一直在 -70dBm 上下挣扎。这个问题安装阶段就要考虑好等装上去了再补救会麻烦得多。我自己试过的几种方案里最省事的是在配电箱内部靠近顶部的位置放一个 WiFi 信号中继或面板 AP当然了这要求配电箱旁边要有电源和网线一般家里未必具备这种条件。另一个更实用的方案是用设备本身的天线外接延长线把天线从配电箱的散热孔伸出来信号强度立刻提升 15-20dB。如果你选的设备没有外接天线接口那可以考虑用 RS485 有线方案彻底绕开 WiFi 信号穿铁皮箱的问题。还有一个很多人忽视的点配电箱里的环境温度和 WiFi 模块的稳定性关系极大。配电箱在夏季高负载时内部温度可以到 50-60 摄氏度普通的消费级 WiFi 模块在这种环境下很容易过热降频甚至死机。安装时尽量把智能空开和智能模块跟发热大户比如总闸、大功率回路空开隔开一点距离不要并排贴死保证一定的空气流通空间掉线问题会少很多。3. Home Assistant 接入的完整实操过程3.1 MQTT 方式接入智能空开以 Tasmota/ESPHome 为例如果你的智能空开或计量模块用的是 ESP32/ESP8266 芯片并且已经刷了 Tasmota 或 ESPHome 固件那么接入 Home Assistant 是这些方案里最简单的。我先说 Tasmota 的流程设备上电后它会发出一个名为sonoff-XXXX之类的开放热点手机连上去浏览器打开192.168.4.1配置页面填入你家 WiFi 的 SSID 和密码设备就会自动连接到局域网。之后在 Tasmota 的 Web 管理界面里需要确认一下你的设备用了哪些 GPIO 引脚来输出电能数据。多数智能空开计量模块的数据会通过串口通常是 TX/RX 引脚发送出来Tasmota 需要配置对应的Template或启用TuyaMCU如果内部是涂鸦方案才能把功率、电压、电流、电量等参数解析出来。这步如果你买的是成熟的量产型号一般固件里直接就有现成模板不用自己去找引脚定义。数据能正常显示后接下来是配置 MQTT。在 Tasmota 配置里的 MQTT 页面填上你 HA 里运行的 Mosquitto broker 的地址、端口、用户名和密码保存重启后设备会立刻开始往tele/你的设备名/SENSOR这个主题发布 JSON 格式的电能数据。Home Assistant 这边用默认的 MQTT 集成就能自动发现设备不需要手写任何 YAML这也是 Tasmota 接入最爽的地方——全自动发现。如果是 ESPHome在 YAML 里直接声明uart串口和sensor平台比如uart: tx_pin: GPIO1 rx_pin: GPIO3 baud_rate: 9600 sensor: - platform: cse7766 voltage: name: Kitchen Circuit Voltage current: name: Kitchen Circuit Current power: name: Kitchen Circuit Power energy: name: Kitchen Circuit Energy update_interval: 10s这段配置写的是一路厨房回路的计量芯片型号按实际硬件来。CSE7766 是很多单相计量模块里常用的电能计量芯片如果你的设备用的是 BL0940 或 HLW8032把平台改成对应的名字即可。ESPHome 的好处是编译固件时直接就把 WiFi、MQTT、甚至 API 都打包好了刷进去之后HA 不仅能通过 MQTT 订阅数据还能用原生 API 连接实时性会更好一些。3.2 品牌智能空开的官方集成和云端接入注意事项如果你买的是正泰、德力西等品牌的正规智能空开且自带 App 和云平台接入 HA 的路子主要看这个品牌是否提供了官方或第三方集成。比较常见的是通过 HACS 搜索对应品牌名称看看有没有现成的集成可装。安装这类集成的流程一般是在 HACS 里添加自定义仓库然后下载安装再到 HA 的“设备与服务”里添加账号、绑定手机号或 App 账号集成就能拉取到设备列表。这类云端集成的体验差异非常大尤其看品牌的服务器响应速度和 API 稳定性。我帮朋友装过一款国产品牌的智能空开App 里看数据一切正常但 HA 里刷一次数据要等好几秒自动化的触发频率稍高一点就超时。这种场景下如果你只是想看数据那还能忍但要做“过载自动断电”这种实时性要求高的自动化云端 API 的延迟和不确定性就完全不可靠了。所以这里有个比较重要的经验用云端接入之前想清楚你拿这些数据来做什么。如果只是做日常巡检和统计报表云端接入完全够用如果想做实时保护类的逻辑一定得上本地 MQTT 或者 Modbus 方案哪怕前期调试麻烦一点后面用起来才踏实。3.3 Modbus 接入和通过串口服务器桥接RS485/Modbus 是工业设备里最常见的通信方式很多专业级的智能空开或者计量模块都只提供 Modbus 协议不带 WiFi。这种情况下你需要一个串口服务器或者 USB 转 RS485 的网关把 Modbus RTU 报文转成 TCP 或者串口数据再让 HA 里的modbus集成去轮询。硬件连接上比较简单RS485 的 A/B 两根线分别接到设备的对应端子另一端接到串口服务器的 RS485 接口。注意 RS485 的 A/B 不要接反接反了设备完全无响应检查起来还特别隐蔽。供电方面有些设备支持总线供电有些需要独立供电买之前看清楚功耗参数。HA 那边配置方式如下以 Modbus TCP 为例modbus: - name: breaker_modbus type: tcp host: 192.168.1.50 port: 502 sensors: - name: Kitchen Power address: 0x0100 unit_of_measurement: W input_type: holding data_type: uint16 scale: 0.1这段配置里address是寄存器地址scale是倍率系数。倍率系数这步特别容易搞错因为不同厂商对功率、电流等参数的寄存器和精度定义千差万别有的数据是 int16有的是 uint32有的高位在前有的低位在前。最靠谱的做法是翻通信协议文档里的寄存器表找到对应变量的地址、数据类型和倍率。没有文档的话只能通过改变回路负载、观察寄存器数值变化来反推这个过程还挺费时间的但排查出来后你对设备的理解会深很多。提示Modbus 轮询模式下HA 默认的扫描间隔可能比较慢。如果你想让功率数据更新得及时一点可以在集成配置里调低扫描周期比如 5 秒。但别调得太快因为有些设备的串口处理能力有限轮询过快反而会导致通信超时数据波动时更容易掉线。4. 基于智能空开的自动化场景和个人向玩法4.1 过载保护与异常用电检测先记住安全底线把空开接进 HA 之后很多人第一反应就是“以后我可以远程断电了”。这里我必须泼一盆冷水远程断电只能作为辅助控制手段绝对不应该把它当成主保护机制。真正正常情况下过载保护和短路保护必须由空开本身的电磁/热脱扣机构来承担这是纯机械和物理原理不受网络、断电、HA 宕机等任何因素影响。智能模块的作用是帮你发现异常及时提醒如果确实需要远程强制断电那也是建立在机械保护还在的前提下的额外手段。我用得最顺手的一个自动化是“大功率设备超时保护”热水器如果连续工作超过 40 分钟还没停大概率是有异常正常洗澡循环加热不会这么久HA 会推送通知到手机同时隔 5 分钟再提醒一次如果连续工作超过 60 分钟就直接断开对应回路防止干烧或漏电导致的安全事故。这个逻辑用功率数据来定比单纯看时间可靠得多。异常用电检测也不错。家里没人的时候如果某个回路的功率突然超过设定阈值比如说冰箱回路正常夜间待机只有 180W某天变成了 800W大概率是电器的门没关好或者某个加热元件出了问题HA 能第一时间推送异常告警。这种场景用 HA 的numeric_state触发器就能实现- id: abnormal_fridge_power alias: 冰箱功率异常提醒 trigger: - platform: numeric_state entity_id: sensor.fridge_circuit_power above: 500 for: minutes: 30 condition: - condition: state entity_id: person.me state: not_home action: - service: notify.mobile_app_phone data: title: 注意冰箱功率异常 message: - 冰箱回路功率已持续 {{{{ states(sensor.fridge_circuit_power) }}}} W 超过 30 分钟请检查冰箱门是否关好。4.2 全屋能耗统计把电费用到明处在装智能空开之前我家每个月的电费单只能告诉我“这个月用了多少度”具体哪些电器在吃电、哪些待机在浪费、哪些时间段是耗电高峰全都靠猜。装完智能空开之后整个家庭的用电情况就像被装上了 X 光机——每个回路都清清楚楚。我是按房间和用途把家里的配电箱分成了大约 10 个回路客厅插座、卧室插座、厨房插座、空调、照明、热水器、冰箱、洗衣机等。每个回路一个实体传感器HA 里用utility_meter就可以把瞬时功率积分成日用电量和月用电量再用statistics平台记录历史变化趋势。配合 HA 自带的能源面板Energy Dashboard我可以把每个回路的日用电量填进对应的电流来源里这样 HA 自带的面板就能画出每个设备/回路每天用了多少度电的柱状图。这里面有个很好的习惯关注待机功耗。装完智能空开后你会惊讶地发现家里的电视、音响、微波炉、路由器这些“关机”状态的设备加在一起可能会占到全天用电量的 10% 以上。我统计完之后直接给电视和音响回路加了个“全关”场景睡觉前说一句“晚安”就能把所有非必要回路断电。折算下来这笔一年省下的电费基本够买这套智能空开的钱了。4.3 用电时间线还原不在家也能“看到”家里发生了啥智能空开的功率数据还有一个意外的好处它能够还原家里发生的事件比很多传感器都靠谱。举例来说工作日中午 11 点半到 12 点之间厨房回路的功率出现了一个明显的高峰持续时间大约 40 分钟哪怕家里没有摄像头我也能判断出是家里阿姨来做饭了晚上 8 点客厅回路功率突然上升了 200W 左右并持续了两小时基本可以确定是家人在看电视或玩电脑。这种能力基于一个简单的原理不同的电器在运行时有不同的功率特征曲线。热水壶烧水大概是 1800W 左右、微波炉约 1000W 且每隔几秒启停一次、空调制热功率会先在 1500W 附近拉高再回落到几百瓦。如果你的采样频率足够高5 秒以内甚至可以在 HA 里做简单的负载识别规则——用time_pattern或者delta触发器分离出“什么电器在什么时候启动、运行了多久”。不过我也说实话靠功率曲线做设备级别的负载识别准确率并没有很多人想象的高尤其多地同开时数据会混淆。我的建议是别指望它做到百分之百识别但把它作为“出门在外验证家人/家政动线”的辅助手段或者结合门窗传感器、人体传感器来交叉验证事件实用价值会大得多。装完智能空开之后我出差时偶尔翻一眼各回路的用电时间线心里对家里情况稳得很。5. 常见问题全记录附送几个没地方查的排查技巧5.1 设备频繁掉线、读数波动大问题常出在这三处最让人抓狂的故障就是设备开着开着就从 HA 里消失了过一会儿又自己回来。这种情况我遇到过无数次排查下来原因通常集中在三处第一WiFi 信号差。前面提过配电箱的铁皮外壳屏蔽信号强度低于 -75dBm 时掉线就成了家常便饭。解决办法是用天线延长线或者加一个面板 AP实在不行换 RS485 方案。第二供电不稳。智能空开里的通信模块通常是从火线和零线之间取电的但有些特殊回路比如纯照明回路的实际负载太小电压被拉得偏低或者存在电压波动通信模块就会重启或死机。我踩过一个坑把智能空开装在了总闸下面的第一个回路但那个回路接的是几个 LED 灯功耗只有十几瓦结果设备每隔几个小时就重启一次。后来加了一个小功率的阻性负载比如让那路多带几个插座问题才算解决。第三固件 bug 或 MQTT 配置问题。如果 Wi-Fi 信号和供电都正常但设备还是周期性掉线看一下 MQTT broker 的日志里有没有频繁的 reconnect 记录。有时是 keepalive 间隔设置太短有时是设备固件本身的内存泄漏。前者调整 MQTT 的 keepalive 到 60 秒以上能缓解后者就只能换固件或者换设备了。5.2 功率读数为负数或跳变多半是互感器方向和倍率设置问题功率读数异常通常比设备掉线更容易定位。常见现象读数一直是负数说明电流互感器方向接反了把 P1/P2 对调即可读数比实际值大或小一个固定倍数比如实际 1800W读数却是 360W用万用表对比一下就知道是倍率/量程设置错了。很多模块的默认倍率是 1.0但另有不少方案默认按 100A/2000W 的量程出校准的时候注意看协议文档里的 ratio 或 scale 字段。稍微隐蔽一点的是一个零线电流的问题。千万别以为零线电流可以忽略智能空开的计量芯片通常同时计算火线和零线电流两路数字不平衡时读数就会跳动。如果你的零线和火线在互感器处的走线方向不一样或者 N 排上有多个回路的零线接回了同一个互感器数据就会乱。解决办法是确保每个回路的火线和零线都单独穿过各自的互感器并且方向保持一致。5.3 配上测试方法和保险策略让改造更稳装完智能空开之后千万别急着填配电箱盖子就算完事。我每次装完都会做一轮系统的功能验证先开一路空调或热水器大功率负载HA 里的功率读数应该在 1-2 秒内跟上实测值然后手动触发自动化断电检查对应回路是否真的断开、再次送电是否正常最后用钳形电流表在校准的数值上对比一下读数偏差如果偏差在 3% 以内就算合格。从保险策略上讲我强烈建议在你还没有完全信任整套系统之前不要把智能空开的“自动断电”功能纳入任何无人值守的流程。第一周可以让它只做监控和告警你手动观察数据是否合理确认读数稳定、自动化逻辑无误之后再逐步放开“异常自动断电”的动作。这样做的好处是你既不会因误判把冰箱半夜断电导致食物化冻也不会因为一路回路故障就连带全家断电。6. 下一步可以怎么玩跟其他 HA 组件联动起来的思路6.1 结合电价峰谷实现省钱自动化很多地区已经实行了分时电价政策一天里不同时段电价差异不小。有了空开的功率数据你可以把高功耗设备洗衣机、洗碗机、电热水器的运行时间尽量挪到低价时段。HA 里可以通过time条件加功率阈值判断来触发或者直接用switch控制插座回路的通断。我家的电热水器目前就是这样的逻辑工作日白天电价高峰时段热水器回路默认不开启晚上 10 点后电价进入谷段HA 自动合闸让热水器在谷电时段把热水烧好。同时我还加了一重安全保障如果白天水温低于某个阈值说明有人临时需要热水可以通过手机 App 手动开启并不影响平时的自动化运行。这套逻辑如果只靠普通智能插座其实也做得到但和智能空开结合之后的价值在于你能看到整个回路的历史功率曲线知道热水器真正烧水花了多长时间、保温状态消耗了多少电进而根据季节变化动态调整峰谷策略而不是盲目地“谷电时间到了就开”。6.2 功率和状态互锁跟门窗、人来人往联动智能空开的数据跟其他 HA 传感器组合以后能玩出不少名堂。举个例子如果你家里有入户门磁传感器可以设置一个“出门布防”场景——当门磁报告离家状态后如果某个回路如暖气设备或者熨斗所在插座的功率仍然大于某个阈值就发出警告甚至自动切断这个回路。这个用普通智能插座也能实现但普通插座只能控制“接在这个插座上的电器”而空开控制的是“整个回路的供电状态”覆盖范围广得多。客厅里总会有那么几台电器插座分散在不同位置用普通智能插座很难一个动作全部关完但用回路控制的话一次合闸/分闸就全搞定了。类似的应用场景还有晚上 11 点后客厅回路的功率如果超过 100W 且持续超过 30 分钟大概率是电视或投影仪还开着、人已经回卧室了这时候 HA 可以自动拉低灯光亮度、推送提醒或者直接把客厅回路的某些非必要设备断电。这些联动逻辑单独用任何一个传感器都实现不了但“时间 能耗 状态”三者一结合就非常自然。6.3 给配电箱做标签管理和可视化大屏最后分享一个很多人容易忽略但特别提升体验的小技巧在 HA 里把每个回路设备命名成可读性强的名称同时在 Lovelace 面板上用energy卡片或者自定义template实体做一个配电箱总览图。我的做法是把每个回路命名成“厨房插座”“客厅空调”“主卧照明”这种格式配合不同的颜色图标一屏总览所有回路的实时功率和通断状态。如果你喜欢更精细的可视化可以使用apexcharts-card或者mini-graph-card这类第三方卡片把每个回路的功率时间序列画成折线图。长按卡片还能直接切换回路开关做远程控制的时候手感顺滑得就像操作手机 App 一样。这套做得好的话家里不懂技术的人也能一眼看懂配电箱里发生了什么而且每个回路的日用电量都能按月导出做对比分析装修翻新或者家电更换时作为用电评估的参考数据比凭感觉估算可靠得多。我对这套东西最满意的地方就是它能持续带来“数据安全感”让我对家里的用电情况心里有底。每次远程查看回路功率时的那种踏实感就像以前看电表走字一样只不过现在它走出来的每一度电我都知道它去了哪里。
返回列表