
我家的这套智能家居系统从毛坯阶段开始规划到目前稳定运行前前后后折腾了差不多三年。中间换过不少设备推翻过好几版方案最后真正沉淀下来的东西不是某个品牌的产品清单而是一套结构。说得直白一点智能家居系统结构决定了一个家在接下来的五到十年里是越用越顺还是越用越乱和你买了多少贵价设备没有太大关系。我见过太多人的智能家居是这样一种状态网关三四个App五六个每个设备都有自己的一套逻辑客厅灯和窗帘分别属于两个生态语音助手喊东边它答西边。这其实不是设备的问题而是从一开始就没有把系统分成清晰的层次所有东西糊在一起。所以这篇博文不谈具体品牌的好与坏只讲我在真金白银试错之后沉淀下来的系统结构判断逻辑以及每一层到底该怎么搭、有哪些坑必须绕开。这套内容适合谁看如果你正在装修、准备预埋网线和开关底盒或者家里已经有一堆智能设备但总感觉在各自为政又或者你只是刚接触智能家居想知道第一步该干嘛那都可以对着这篇文章梳理一遍自己的方案。下面我直接用实际搭建的视角把一套完整的系统拆开讲。1. 一套系统四层结构先把关系画清楚1.1 四层模型的职责边界我们平时说智能家居脑子里冒出来的往往是智能音箱、智能灯泡、扫地机器人这些单品。但真要往系统的方向去做就必须把这些单品放进一个分层模型里看。我在实际规划时把一个家从物理世界到用户手指之间切成了四层层级名称核心职责典型成员常见协议感知与执行层采集环境状态执行物理动作人体传感器、门磁、温湿度计、水浸传感器、烟感、智能开关、窗帘电机、门锁Zigbee、蓝牙Mesh、WiFi、干接点接入与汇聚层让设备能说上话做协议转换各类网关、多模网关、AP、路由器Zigbee/Z-Wave/蓝牙/WiFi转换决策与控制层处理状态变化执行自动化规则家庭中枢、Home Assistant、品牌中枢网关局域网通信、MQTT、API呈现与交互层人控制系统的入口App、语音助手、墙壁面板、物理按键HTTP、局域网、语音协议这四层不是严格死板的很多设备本身就跨层。比如一个小米的多模网关它既是接入层也内置了部分决策能力再比如某些智能开关内部自带简单的定时逻辑不依赖中枢也能工作。但我们在设计整体结构的时候脑子里必须有一条清晰的链路传感器把物理状态变成电信号网关把电信号变成统一协议的数据中枢把数据变成判断判断再转换成执行指令执行器最后改变物理世界。1.2 为什么分层会决定使用体验没有分层概念的人选设备通常只看单品能不能用手机控制买回来才发现每个设备一个App每个App里一套场景。真正的分层次设计带来的是两个特别实际的好处故障隔离和替换自由。先讲故障隔离。我家的路由器重启过很多次App在公网上暂时连不上的情况也出现过但客厅的人体传感器和灯之间的联动依然正常。为什么因为这条联动走的是局域网内部链路传感器状态报给网关网关直接发给中枢中枢判断后命令开关执行整个流程不需要经过外网。如果你把所有逻辑都放在云平台一旦家里宽带出问题整个家就痴呆了。分层设计最大的价值就是把关键的本地逻辑和公网依赖剥离开。再讲替换自由。我最早用的是某个品牌的全屋智能方案后来发现它的窗帘电机想接入另一个系统非常费劲。换了自建中枢之后同一台窗帘电机通过网关接入反而被彻底解放了之前只能在品牌App里设置的行程控制现在也能和全屋其他设备做深度联动。这就是分层带来的红利只要设备正确接入了某一层上层的决策系统并不关心它是什么牌子。1.3 谁适合在哪一层接入不同基础和不同需求的用户不需要每一层都从零搭建。我给你三个可以直接对应到人群的接入策略纯小白不想折腾选一个生态完整的平台比如米家或苹果HomeKit体系让品牌的网关承担接入和决策App负责交互。这个方案的问题是后期跨品牌联动的空间小但胜在省心适合能用就行的人。进阶玩家愿意接受一定成本买生态内带本地自动化能力的中枢网关仍然以品牌生态为主但可以把窗帘、灯、空调等设备尽量收进同一个网关下。这个阶段就能体会到断网还能本地联动的价值了。愿意长期折腾追求最大自由度自建中枢我目前用的是Home Assistant方式通过各类第三方网关把不同生态的设备汇入一个统一系统再统一暴露给App和语音助手。这也是我最终稳定下来的路线。2. 中枢的选择本地大脑还是云端平台2.1 三条路线的真实差别所谓中枢就是四层结构里的决策层。现在的市场环境里做中枢的路线基本有三条第一条厂商云平台中枢。设备状态上报到厂商服务器规则判断在云端完成再由云端把指令下发到设备。好处是完全不用自己配置手机App打开就能用坏处是延迟不稳定、断网就失控而且厂商关停服务或者调整策略的时候你家里的设备可能一夜之间变傻。第二条带本地引擎的品牌中枢网关。比如苹果的HomePod、小米的中枢网关状态判断在局域网内部完成但语音、远程访问这些功能还是依赖云端。这个方案最大的好处是关键的自动化场景在断网后还能跑而且不需要你自己维护任何服务器。第三条自建中枢。在一台常开的小主机或者树莓派上跑Home Assistant或者其他开源系统用各类网关把设备接入到这个中枢里。好处是跨品牌能力极强、断网可用、数据留存在本地代价是配置门槛高需要自己花时间维护。我用一张表来对比这样更直观对比维度纯云端平台本地中枢网关自建中枢上手难度低低到中高跨品牌联动差中好断网可用性差本地场景可用本地场景可用延迟表现受公网影响低低数据隐私绝大多数数据上云场景数据在本地语音上云自主可控长期可维护性看厂商策略看厂商策略自己掌控2.2 为什么我最后选了自建中枢我的选择不是因为它最酷而是我的家庭设备构成太杂。客厅有小米的灯和传感器卧室有SwitchBot的窗帘电机空调是大金的电视是索尼的门锁是德施曼的……如果只用任何一个官方生态我至少要装四个App而且各设备之间没办法互相触发。这就是所谓的生态烟囱问题。自建中枢的核心价值在于它把设备接入和逻辑判断解耦了。不管设备来自哪个生态只要能被某种网关转换成一个标准事件比如有人移动温度超过28度门被打开中枢就能统一处理这些事件再发出统一的执行指令。这就等于是把各个品牌之间的方言翻译成普通话。但我也要说清楚不是所有人都适合自建中枢。如果你家里三五十个设备都是同一生态官方中枢网关已经做得很好了没必要给自己找事。自建中枢最大的坑在于你以为是省心实际是给自己揽了一个小型运维项目。固件升级、网络排查、设备掉线处理这些都会跟着来。2.3 选择中枢时最容易犯的错误我在帮朋友调系统的时候发现一个高频错误把中枢选成看起来性能最强的设备忽略了对生态兼容性的验证。有些设备网关只支持官方App不支持第三方中枢通过局域网API接入。你在买之前不查清楚买回来之后要么退货要么又变成一套孤岛系统。另外一个很多人忽略的点是中枢的物理位置和网络位置一样重要。中枢要放在路由器旁边尽量用网线直连不要放在弱电箱里让WiFi信号穿墙。如果中枢走无线它本身就成了整个系统的性能瓶颈。现在很多方案支持PoE供电的小主机一根网线供电加数据省心很多。还有一点凡是承担中枢功能的设备我建议单独准备一个UPS不间断电源或者至少是一个好一点的带断电保持的插线板而不是和手机充电器挤在一起。3. 末端工程细节传感器与执行器的布局3.1 常用传感器配置清单中枢只是大脑真正感知世界的是分布在房间各个角落的传感器。我总结了一份80到140平米户型下比较合理的传感器清单大家可以根据自己的习惯增删传感器类型主要安装位置作用数量参考人体存在传感器客厅、走廊、卫生间判断房间是否有人、人是否长时间停留4-6个门磁传感器入户门、阳台门、窗户判断门窗开关状态用于安防和通风联动4-8个温湿度传感器卧室、厨房、卫生间联动空调、除湿机、新风系统3-5个光照度传感器客厅、卧室根据自然光调整灯光亮度2-3个水浸传感器厨房水槽下、卫生间、阳台漏水检测、联动电磁阀关水2-4个烟雾/燃气传感器厨房、客厅火灾、燃气泄漏报警1-2个空气质量传感器卧室联动新风、空气净化器1-2个这里我要强调一个容易被忽视的传感器类型人体存在传感器。传统的人体红外传感器只能感知有人在动你坐在沙发上看书半小时不动它可能就判定无人了灯自动熄灭特别尴尬。现在有一种毫米波存在传感器可以检测到微小的呼吸动作适合装在卫生间和书房这种需要长时间静止停留的场景。但这类传感器价格偏高而且存在误报的可能要在实际使用中根据房间结构调整灵敏度。3.2 执行器的选型与功率问题传感器负责感知执行器负责干活。执行器最常见的形态是智能开关、智能插座、窗帘电机、门锁、空调网关。这里最容易出问题的是功率匹配。以智能开关为例大多数单路智能开关的额定负载是10A约2200W装到厨房这种同时开好几个大功率电器的回路里就很容易发热甚至烧毁。所以厨房、空调这些大功率回路我更推荐用专门的空调伴侣或者大功率接触器方案而不是普通智能开关。智能插座则要注意不要插着取暖器、电热水壶这类长时间大功率负载插座和插头之间发热老化是安全隐患。另外一个老生常谈但每次都要提醒的问题零线。装修阶段做水电改造的时候尽量在每个开关底盒里预留零线。没有零线的单火智能开关也不是不能用但单火方案对灯具功率有下限要求LED灯功率太低时会出现闪烁还会让开关内部的电路长期处于高压状态。我在帮别人改造老房子的时候遇到过一次开关频繁掉线的故障排查到最后就是单火开关和3W的LED筒灯不匹配最终解决办法是给筒灯并联了一个电容。能预留零线就一定要留这是成本最低、收益最大的一个决定。3.3 我看到最多的安装错误第一个常见的错误是传感器被遮挡。人体红外传感器前面摆了一盆绿植或者安装在柜子夹角里检测范围直接废掉一半。安装前一定要看传感器的探测角度说明书常见的人体传感器是120度、探测距离7米左右但那是无障碍情况下的理论值实际情况至少要打七折。第二个是位置选得太随意。温湿度传感器装在空调直吹的位置测出来的温度永远是空调出风口的温度整个房间的联动逻辑全部失真。正确做法是装在房间中间偏内墙的位置避开阳光直射、空调风口和窗户缝隙。水浸传感器要放在水管接口附近的低点而不是随便丢在地砖中间因为水会沿着地面流向低处。第三个是网关位置的弱电箱灾难。很多人装修时把所有网线汇聚在弱电箱顺手就把Zigbee网关也塞了进去。弱电箱是金属的对无线信号的屏蔽作用非常明显Zigbee设备隔一堵墙可能就没信号了。网关要放到家里偏中心、开放的位置最好离地面1.2米以上周围不要有金属柜体。4. 自动化是灵魂从触发条件到规则引擎4.1 触发、条件、动作的完整链路有了传感器和执行器之后系统的灵魂在于自动化规则。说白了一套自动化规则就是一个简单的三段论当某个事件发生触发时如果某些前提成立条件就执行某些动作动作。触发是整个链路的起点它常见的来源包括传感器状态变化如人体传感器从无人变成有人、时间点如每天18:00、设备状态变化如门锁从锁定变成解锁、外部天气数据如下雨。条件是对当前状态的再次校验比如如果是晚上如果室内没人如果温度高于28度。动作就是最终的执行结果比如开灯、关空调、推送通知、播放语音。很多人在第一步就犯了一个错误把触发和条件混为一谈。举个典型例子你想实现下雨天阳台窗户没关就提醒我触发应该是雨量传感器检测到下雨或者气象接口推送降雨开始条件应该是窗户状态是开启。如果你把窗户是开启的也写进触发条件里那么当下雨时窗户刚好是关着的这个自动化根本不会触发后面就不会有提醒但如果你把窗户开启作为条件那么系统每次检测到下雨时都会去检查一次窗户状态逻辑才是完整的。4.2 一个真实案例拆解拿我家里执行率最高的一条自动化举例主卧晨起模式。前提背景主卧窗帘电机是SwitchBot的灯光是Yeelight的传感器是小米的人体存在传感器和光照度传感器全部接入同一个自建中枢。我设定的逻辑是触发工作日早晨6:50周末早晨8:30条件卧室人体存在传感器检测到有人且光照度低于50勒克斯动作一卧室窗帘电机缓缓打开到65%动作二床头灯以30%亮度亮起动作三如果屋外温度低于16度同时打开空调制热到22度。在自建中枢的自动化编辑界面里这条规则大致长这样alias: 主卧晨起模式 trigger: - platform: time at: 06:50 - platform: time at: 08:30 condition: - condition: state entity_id: binary_sensor.bedroom_presence state: on - condition: numeric_state entity_id: sensor.bedroom_illuminance below: 50 action: - service: cover.set_cover_position target: entity_id: cover.bedroom_curtain data: position: 65 - service: light.turn_on target: entity_id: light.bedroom_bedside data: brightness_pct: 30 - condition: template value_template: {{ states(sensor.outdoor_temperature) | float 16 }} - service: climate.turn_on target: entity_id: climate.bedroom_ac data: temperature: 22这套逻辑我用了一年多稳定度非常高。后来我总结出一个经验自动化的价值不在于一次写多复杂而在于你能让它长时间稳定运行。我见过有些人一上来就写十几条规则结果互相打架最后干脆全部关掉回到手动控制。更好的方法是先写一条小的、观察一周确认触发和动作都稳定了再逐步加条件。4.3 多条自动化之间的冲突化解规则多了之后冲突几乎是必然的最常见的冲突有两类。第一类是同一设备的同向控制冲突。比如你有一条白天客厅没人超过10分钟自动关灯又有一条晚上客厅人体传感器检测到有人就开灯这两条本身不冲突但如果有人在关灯后立刻触发开灯中间就会有一个明暗闪烁的过程。解决办法是在关灯自动化里加一个条件执行前检查最近一次人体存在传感器状态变化是否超过1分钟。第二类是反向控制相互抵消。比如空调自动化的温度高于28度开制冷和温度低于24度关空调如果两个温度传感器读数在24到28度之间来回抖动空调就会频繁启停。解决思路是在中间设置一个2度左右的回差区间高于28度开机低于24度停机中间区间不做任何动作空调自然就稳定了。类似的这个逻辑对加湿器、除湿机、新风系统全都适用。5. 网络与供电设备再多也不掉线的底子5.1 协议共存的频段干扰设备接入数量一多网络问题马上浮出水面。目前智能家居设备使用最多的无线协议是WiFi 2.4G和Zigbee而这两个协议都工作在2.4GHz频段。很多人以为WiFi和Zigbee各走各的路互不干扰实际上它们在频段上是重叠的。WiFi的2.4G频段通常划分为信道1、6、11三个互不重叠的信道每个信道带宽22MHz。Zigbee在2.4G频段上也有16个信道每个信道带宽2MHz。如果Zigbee网关的信道落在WiFi高频占用区域内干扰会非常明显设备直接表现就是响应延迟、频繁掉线。我排查过好几次设备离线问题最后发现不是设备坏了而是Zigbee信道和WiFi信道撞车了。解决办法有两个层面一是把WiFi路由器设置里的双频合一关掉让IoT设备固定在2.4G把手机电脑尽量赶到5G频段二是检查Zigbee网关后台手动选择信道尽量避开WiFi占用的1、6、11信道我自己的Zigbee网关信道固定到了25基本不和WiFi冲突。家里Zigbee设备数量多的时候还可以在网关后台看实时信号强度RSSI以-70dBm为警戒线低于这个数值就得考虑增加网关或者调整设备位置了。5.2 供电设计比网络更重要很多人调试智能家居发现设备不稳定第一反应是换路由器却忽略了供电。实际上很多玄学掉线的根源就是供电不稳。我统计过自己家里设备掉线的记录供电因素占了将近一半。网关和中枢这类关键设备我建议统一接到一个带有过载保护的插线板上不要和充电器、加热设备混插。更讲究一点的做法是把光猫、主路由器、中枢网关、Zigbee网关都接到一台UPS上。UPS不需要很大能撑住20分钟左右就够目的就是让宽带回电之后系统能在你人进入家门之前就已经全部恢复在线。我有一次家里跳闸回来之后发现整个系统没有任何异常就是UPS在断电期间完成了优雅关机和恢复。另外一个容易被忽略的是冬季静电问题。北方供暖期室内干燥静电导致的设备重启我遇到过好几次。后来我加了一台加湿器把湿度控制在40%以上静电问题明显减少。传感器这类小设备电池供电的一定要选择低自耗电的型号电池电压不足是导致传感器半夜乱报的常见原因我一般半年统一换一次电池。5.3 断网之后本地自动化还能不能跑断网降级能力是我判断一套智能家居系统好坏最重要的指标。没有公网的时候纯云方案的设备之间无法互相通信App也不能远程控制整个家就退化成了普通房子几个亮灯的状态。而对系统结构考虑充分的人来说断网状态下应该保留以下能力家庭内网自动化照常执行包括人体感应开灯、门磁报警、水浸联动关水阀局域网内App和语音面板可以控制设备入户门锁、烟雾报警、燃气报警这些涉及安全的设备在断网、断电的极端情况下依然有最基本的本地逻辑兜底。要实现这个目标采购环节就得有意识地把设备分为依赖云端和支持本地控制两类。很多品牌设备虽然支持App控制但走的是私有云API断网就失效。所以我在买东西之前一定会确认一个问题这设备能不能通过局域网协议接入本地中枢。兼容性信息通常可以在产品说明或者第三方社区查到提前做功课真的能省钱。6. 暴露面管理给整个系统划出安全边界6.1 把智能设备单独隔离在IoT网络里智能家居设备多了以后整个家里就多了一堆连接公网的节点。一个智能灯泡、一个智能插座它们的安全等级远不如你的手机和电脑一旦被利用攻击者就可能顺着局域网摸到你的NAS、电脑和私人数据。所以在网络拓扑上我非常建议把IoT设备和日常上网设备隔离开。家用路由器基本上都支持多SSID功能我家里分成了三个网络一个给手机电脑用一个只给智能设备用还有一个访客网络。智能设备和访客网络默认不允许访问局域网内部的主网络只能访问互联网。这样即使某一个智能设备被攻破攻击者也拿不到家里主网的任何其他信息。如果你用的是自建中枢还可以在中枢的网络设置里做更细的ACL访问控制比如限制某个网关只能和中枢通信不能访问其他设备。这个隔离方案的代价是部分跨网段的投屏、文件分享功能会受限设置的时候需要稍微调整一下路由器规则。但比起隐私安全这点麻烦非常值得。6.2 云服务和本地存储的取舍摄像头和门铃这类涉及隐私的设备是我在整个系统里花心思最多的地方。我的原则很简单视频数据尽可能留在本地不经过陌生厂商的云服务器。支持本地存储的摄像头我会插上存储卡或者直接录制到家里的NAS同时关闭厂商的云录像服务。有人可能会问不买云服务那人在外面怎么看监控其实完全可以通过带权限认证的远程访问方式连接到家中的中枢再查看摄像头画面。很多路由器也自带远程访问功能。这样做不仅省掉了一笔云存储费用更重要的是视频数据始终在自己家里而不是被上传到别人的服务器上。语音助手也是一个需要权衡的点。智能音箱为了识别语音指令必须把音频片段上传到云端做语音识别。我不反对用语音助手但我会把音箱放在客厅、书房这类位置绝对不放卧室。这套系统的构建原则说到底不是绝对隔离云端而是你知道哪些数据在被传输、自己能不能接受。6.3 固件、密码与物理安全最后补充三点看起来很基础、但很多人没做好的安全习惯。第一设备买回来第一件事就是改默认密码。很多网关、摄像头出厂的管理密码是统一的弱密码不改等于把自己的家门钥匙挂在了门外。要顺手把设备的远程管理端口关掉需要用的时候再临时打开。第二固件更新要跟上。智能家居设备虽然不像手机那样频繁推送更新但厂商一旦发布了安全性修复尽量在两周内更新。系统的中枢和接口组件也一样很多开源中枢社区会定期发布安全通报别拖。第三物理安全很多时候比网络安全更值得上心。我见过把智能门锁的应急钥匙孔堵死的也见过把门锁网关放在门口鞋柜上被陌生人看到的。智能门锁的应急钥匙要放在家里隐秘的位置传感器网关不要暴露在容易被外人接触到的地方。另外家里有老人的话重要区域要保留传统物理开关而不是完全依赖App因为人在慌乱时最熟悉的还是墙上的物理按键。我在实际布置的过程中最深的体会是智能家居系统结构不是一张图纸而是一套判断习惯。每一个设备买回来我都会先想清楚它属于哪一层、它和相邻层怎么通信、断网断电对它有什么影响。想清楚这三件事再动手后面会省去太多太多麻烦。如果你正准备开始搭建我的建议是别急着追求设备数量先把中枢、网络和供电这三块基础打牢后面每加一个设备都是在给现有系统做加法而不是打补丁。