ARTICLE DETAIL

资讯详情

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

KNX有线智能家居实战:从布线到HomeAssistant接入

KNX有线智能家居实战:从布线到HomeAssistant接入 1. 为什么我最终放弃了无线方案转头折腾KNX有线三年前装修第一套房子的时候我跟大多数人一样脑子里全是无线智能家居那套东西——几十块钱一个的Wi-Fi开关、涂鸦传感器、米家全家桶便宜、上手快、不用改水电。结果住进去半年我陆续拆掉了家里七成的无线设备。原因很朴素延迟、掉线、以及设备一多就集体抽风。客厅里二十多个Wi-Fi设备同时在线路由器稍微一忙灯就要等两秒才亮半夜传感器误触发把灯全打开最要命的是有一次出差在外家里网关离线我连灯都关不了。那次之后我下定决心第二套房子直接上有线方案。选来选去落到KNX HomeAssistant这个组合上。KNX是楼宇自动化领域用了三十多年的老牌总线标准走的是独立的双绞线总线不依赖网络、不依赖云、不依赖任何一家厂商的服务器HomeAssistant则是目前开源圈里最灵活的家庭自动化中枢能把KNX、Zigbee、Wi-Fi、Modbus各种协议揉到一个界面里统一调度。一个负责稳如老狗的底层执行一个负责想怎么玩就怎么玩的上层逻辑这套组合在我看来是目前DIY有线智能家居里性价比和可玩性最平衡的方案。这篇文章不是科普也不是厂商软文。我会把从选线、布线、选设备、装ETS、配HomeAssistant、写自动化这一整条链路按我实际踩过的坑和验证过的做法讲清楚。适合两类人看一类是正在装修、想一步到位上有线智能的业主另一类是已经玩腻了无线、想升级到总线方案的DIY玩家。如果你家已经装修完、墙里没预留线那这套方案对你来说成本会很高但也不是完全没救后面我会单独讲改造思路。先说结论KNX负责确定性HomeAssistant负责可能性。想清楚这句话后面所有的选型和配置就都有主心骨了。2. KNX这套总线到底强在哪值不值得为它多花钱2.1 总线通信和无线通信的本质差别很多人把KNX理解成更贵的有线开关这是误解。无线方案Wi-Fi、Zigbee、蓝牙的本质是共享介质、竞争通信——所有设备抢同一个频段设备越多、干扰越大、延迟越不可控。而KNX是一条专用的双绞线总线所有设备挂在这条线上通信是主从轮询事件触发的确定性机制理论上一条支线可以挂64个设备通过耦合器还能扩展到上万点。打个比方无线方案像一群人在一个房间里同时说话谁嗓门大谁先被听到人一多就乱套KNX像一条有严格发言规则的会议桌每个人按顺序说话永远不会撞车。这就是为什么KNX在酒店、写字楼、机场这种绝对不能出错的场景里用了三十多年。具体到参数上KNX总线电压是29V直流通信速率9600bps。这个速率听起来慢得离谱但你要明白它传的不是视频流而是开灯关灯调到50%这种几十字节的控制指令9600bps完全够用而且极低的速率意味着极强的抗干扰能力线拉几百米都不带丢包的。2.2 一条总线能带多少设备线怎么选这是新手最容易翻车的地方。KNX的拓扑规则不是随便拉线就行的一条**线路Line**最多64个设备实际建议留余量控制在50个以内一条线路的总线电源通常选640mA的要给每个设备算电流消耗一般设备耗电10mA左右执行器如开关执行器可能到20-30mA一个区域Area最多15条线路通过线路耦合器连接主干线Backbone再把这些区域连起来线材方面必须用KNX专用总线电缆通常是2×2×0.8mm的屏蔽双绞线红黑一对走数据供电黄白一对备用。别想着用网线或者普通电线代替阻抗和电容特性不一样短距离可能能跑长了必出问题。我见过有人用超五类网线凑合结果一条支线超过80米就开始随机丢包排查了整整两天。提示总线电缆和强电220V走线必须保持至少30cm间距交叉时尽量垂直交叉。我第一版布线图没注意这个把总线跟照明回路捆在一起走了一段结果那一段的通信误码率明显偏高后来重新分开走线才解决。2.3 电源和拓扑的坑为什么你的总线老是重启KNX总线电源不是随便买个29V电源就行必须是带扼流圈choke的专用电源它负责把直流供电和通信信号隔离开。普通开关电源直接接上去通信信号会被电源吃掉表现为设备时好时坏、总线频繁重启。还有一个隐蔽的坑总线电源要装在线路的中间位置而不是末端。因为电源到最远设备的线损要控制装中间能让两端距离更均衡。我一开始把电源装在配电箱最边上结果最远那个房间的面板偶尔响应慢把电源挪到线路中段后问题消失。另外每条线路的总线两端要接终端电阻吗KNX不需要像RS485那样接120Ω终端电阻它的收发器自带阻抗匹配这点跟很多人熟悉的Modbus不一样别搞混了。3. 设备选型哪些必须上KNX哪些交给HomeAssistant更划算3.1 我的KNX核心HA外围分层原则全屋所有东西都上KNX钱包扛不住全用便宜无线稳定性又不行。我的原则是按确定性要求分层设备类型方案选择理由照明开关/调光KNX高频使用绝不能掉线调光曲线KNX执行器做得最细腻窗帘电机KNX需要精确位置控制和联动KNX执行器直接驱动地暖/空调阀门KNX长期运行稳定性优先且要跟温控面板联动温湿度/人体传感器KNX或HA关键区域用KNX次要区域用Zigbee省钱门锁/摄像头HA这些本来就是IP设备走HA集成更自然语音助手/场景面板HA逻辑层的东西放HA里改起来方便这套分层的核心逻辑是执行层开关、驱动用KNX保证按下去一定有反应感知层和逻辑层用HA保证想怎么改就怎么改。比如回家模式这个场景触发逻辑写在HA里但最终执行的开灯、开窗帘动作是HA通过KNX网关下发给KNX执行器的执行环节依然是确定性的。3.2 KNX网关怎么选这是整套系统的命门HomeAssistant要跟KNX通信中间必须有一个KNX网关KNX/IP Interface或Router。这是整套系统里最不能省钱的部件我强烈建议选KNX Router而不是普通的Interface。区别在哪Interface是点对点隧道连接通常只支持有限的几条隧道比如5条HA占一条、ETS占一条很快就用满了Router是组播路由模式支持多客户端同时连接HA、ETS、其他调试工具可以并行工作而且转发性能更好。我用的是某品牌的Router价格比Interface贵一倍多但省心程度完全不是一个级别。网关的另一个关键参数是是否支持KNX Secure。如果你在意安全比如担心有人物理接触总线后乱发指令选支持Secure的型号。不过对大多数家庭DIY场景物理安全配电箱上锁比协议加密更实际。3.3 执行器和面板的选购心得开关执行器按回路数选常见4路、8路、12路、16路、20路。注意区分开关执行器和调光执行器调光又分前沿切相、后沿切相、0-10V、DALI几种。LED灯调光一定要确认执行器和灯具兼容我踩过的坑是买了前沿切相调光器配劣质LED驱动低亮度时闪烁严重换成后沿切相好一点的驱动才解决。面板KNX面板价格从几百到几千不等贵的带温控、带显示屏、带逻辑。我的建议是公共区域用好面板卧室用基础款。因为面板本质就是个发指令的按钮逻辑都在HA里没必要每个都买顶配。传感器KNX的温湿度、CO2、人体存在传感器精度和稳定性确实比无线好但价格是Zigbee的三到五倍。我的做法是客厅、主卧用KNX次卧、卫生间用Zigbee通过HA接入反正这些地方对精度要求不高。4. 布线阶段装修时没做对后面全是泪4.1 布线图怎么画配电箱怎么规划KNX布线必须在水电改造阶段完成这是不可逆的。我的做法是先画一张点位图标出每个开关、传感器、执行器的位置然后画拓扑图确定每条线路挂哪些设备、电源装哪、耦合器装哪。配电箱规划是重点。KNX执行器都是导轨安装的一个8路开关执行器宽度大概4个模数72mm加上总线电源、网关、耦合器一个中等户型轻松占掉一整排导轨。我建议弱电箱和强电箱分开或者至少留一个专门的KNX配电箱把所有执行器集中管理。集中式的好处是接线清晰、散热好、后期维护方便缺点是每个回路的强电都要拉到配电箱线材成本高。提示执行器集中安装时强电回路的零线火线都要引到配电箱别只引火线。我见过有人图省事只引火线结果调光执行器没法工作调光需要零线参考。4.2 总线走线的实操细节总线走线有几个硬性规矩手拉手串联不要星型。KNX总线是总线型拓扑设备要一个个串下去不能像网线那样从交换机星型发散。星型会导致阻抗不匹配通信不稳。每条线路总长度不超过1000米电源到最远设备不超过350米。总线电缆要留检修余量每个点位多留30-50cm方便后期换面板。强弱电分槽实在要同槽必须加隔板。我实际布线时把总线沿着走廊吊顶走主干然后每个房间分支下去。分支点用接线端子而不是直接绞接绞接时间长了容易氧化接触不良。接线端子选KNX专用的红黑黄白四色对应别用普通接线帽。4.3 已经装修完怎么办改造思路如果你家已经装修完、墙里没线全屋KNX基本不现实。但有几个折中方案局部KNX只在客厅、主卧这种重点区域开槽补线其他区域继续用无线通过HA统一KNX over IP用KNX/IP网关把有限的几个KNX设备接入但设备本身还是要接线纯HA方案放弃KNX用HA Zigbee/Z-Wave 有线以太网设备如Shelly Pro系列走网线搭建稳定性介于纯无线和纯KNX之间我个人觉得装修完的房子最务实的做法是HA为核心有线以太网设备打底无线设备补充别硬上KNX。5. ETS配置KNX的编程到底在编什么5.1 ETS是什么为什么绕不开它ETSEngineering Tool Software是KNX官方的配置软件所有KNX设备的参数、地址、联动关系都在这里配置。它跟HomeAssistant完全是两回事ETS负责让KNX设备之间能互相通信HA负责在上层做逻辑和界面。ETS是收费软件按项目授权个人DIY买一个Lite版最多20个设备或者Home版最多64个设备就够用。别想着跳过ETS直接用HA控制KNX因为设备出厂时是没有地址的必须用ETS给每个设备分配物理地址和组地址。5.2 物理地址和组地址KNX通信的核心概念这是理解KNX的关键我用一个类比讲清楚物理地址每个设备的身份证号格式是区域.线路.设备比如1.1.5表示1区1线第5个设备。这个地址在ETS里分配用于设备调试和诊断。组地址设备之间通信的频道号格式是主组/中组/子组比如1/2/3。一个设备可以监听多个组地址也可以往多个组地址发数据。举个例子客厅面板按下它往组地址1/0/1发一个开指令客厅的开关执行器监听1/0/1收到后闭合对应回路。面板和执行器之间不需要知道对方是谁只需要约定好用同一个组地址。这就是KNX解耦的精髓——加设备、换设备只要组地址对得上其他都不用动。组地址规划是ETS配置里最考验功力的部分。我的规划原则是按功能分区1/0/x 照明开关 1/1/x 照明调光 2/0/x 窗帘 3/0/x 温控 4/0/x 场景 5/0/x 状态反馈状态反馈单独一组很重要因为HA需要读取设备当前状态灯是开是关而不是只发指令。很多人配完发现HA里开关状态不同步就是因为没配状态反馈组地址。5.3 参数配置里那些容易忽略的选项每个KNX设备在ETS里都有一堆参数新手容易全用默认值。有几个必须手动调的开关执行器的上电状态断电恢复后回路是保持断电前状态、还是强制开、还是强制关。我一般设成保持避免停电恢复后全屋灯突然全亮。调光执行器的调光曲线不同灯具要选不同的曲线LED一般选对数曲线白炽灯选线性。面板的长按/短按功能短按开关、长按调光这个要单独配。温控器的控制模式是内部PID还是外部给定跟HA联动时通常选外部给定。配完ETS一定要下载到设备并做全量测试别配完就以为完事了。我习惯配完一个房间就测一个房间避免最后一次性调试时问题堆在一起分不清。6. HomeAssistant接入KNX从能用到好用6.1 KNX集成的基本配置HA内置了KNX集成配置方式是在configuration.yaml里加knx:段或者在UI里添加。我推荐用YAML配置因为设备多了以后UI管理很乱YAML可以版本控制、可以复用。一个典型的灯配置长这样knx: light: - name: 客厅主灯 address: 1/0/1 state_address: 5/0/1 brightness_address: 1/1/1 brightness_state_address: 5/1/1 cover: - name: 客厅窗帘 move_long_address: 2/0/1 stop_address: 2/0/2 position_address: 2/0/3 position_state_address: 5/2/1address是发指令的组地址state_address是读状态的组地址。这两个一定要配对否则HA界面上的开关状态永远不对。6.2 让HA和KNX状态双向同步这是最容易出问题的地方。KNX设备被物理面板操作后状态要能同步回HAHA里操作后状态也要同步回KNX面板的指示灯。实现双向同步的关键是所有状态变化都要通过组地址广播。具体做法在ETS里把执行器的状态反馈组地址跟HA的state_address对应上同时HA发指令时执行器执行后也会往状态组地址发反馈HA自动更新。这样无论从哪边操作状态都是一致的。我踩过的坑是一开始只配了address没配state_address结果HA里点开关能控制灯但用物理面板开灯后HA界面还是显示关自动化逻辑就全乱了。状态反馈是自动化的基础没有它HA就是个瞎子。6.3 用HA做KNX做不到的复杂逻辑KNX本身也能做逻辑很多执行器和面板带逻辑模块但KNX的逻辑编程又难用又难改。我的做法是KNX只做最基础的联动比如面板直接控灯所有复杂逻辑都放HA。举几个HA才能轻松实现的例子基于时间的场景日落时自动开客厅灯这个用HA的sun触发器一行搞定KNX做起来很麻烦多条件组合只有有人且光线暗且在客厅才开灯HA里几个条件一叠加就行跨协议联动Zigbee的人体传感器触发KNX的灯这种跨协议联动只有HA能做自适应调光根据室外光照传感器数值动态调整室内亮度HA里写个模板就行HA的自动化用YAML写也可以用Node-RED做可视化流程。我复杂逻辑用Node-RED简单定时用YAML各取所长。7. 实测中那些文档不会告诉你的坑7.1 总线负载和响应速度的真实关系理论上一条线路64个设备没问题但实测下来当一条线路上同时有大量状态广播时响应会变慢。比如全屋50个灯同时上报状态总线会拥堵那么一两秒。解决办法是合理分组把状态反馈分散到不同组地址减少单条总线的瞬时流量。另外不是所有状态都需要实时上报比如温度这种慢变量可以设成5分钟上报一次别设成变化就报。7.2 HA重启后KNX状态丢失HA重启后如果KNX设备没有主动上报状态HA里所有实体都会显示未知。解决办法有两个一是配置sync_state让HA启动时主动读一次二是用knx.read服务在自动化里定时同步。我是在HA启动自动化里加了一段启动后延迟30秒把所有关键状态读一遍。7.3 网关IP变动导致HA失联KNX网关的IP如果是DHCP分配的路由器重启后IP变了HA就连不上了。必须给网关配静态IP或者在路由器里做DHCP保留。这个坑我踩过一次出差在外发现家里HA控制不了灯回来一查是网关IP变了。7.4 调光最低亮度设太低导致闪烁LED灯在极低亮度下容易闪烁或闪烁这是LED驱动的特性决定的。ETS里调光执行器有最小亮度参数我一般设成5%-10%别设成1%。另外调光曲线的起点也要调让低亮度区间过渡更平滑。8. 写在最后这套方案适合谁不适合谁折腾完这一整套我对KNX HomeAssistant的评价是它是目前DIY有线智能家居里最稳、最灵活、也最需要耐心的方案。稳在KNX的确定性执行灵活在HA的无限可能需要耐心在ETS配置和布线阶段的一次性投入。如果你正在装修、预算充足、追求十年不用管的稳定性这套方案值得上。如果你只是想低成本体验智能家居或者房子已经装修完不想大动那还是老老实实玩HA 无线设备别硬上KNX。最后分享一个我自己的习惯所有ETS项目文件和HA配置文件都做版本管理。KNX项目文件用ETS导出备份HA配置放Git仓库。这样哪天设备坏了要换、或者想改逻辑随时能回滚。我吃过没备份的亏——有次误删了一个组地址整个客厅的灯全乱套重新配花了整整一个晚上。从那以后改任何配置前先备份成了我的铁律。
返回列表