本帖最后由 helloworld 于 2023-2-8 15:39 编辑
跳转:精装修全屋KNX设备接入homekit简明教程(二)
https://bbs.hassbian.com/thread-19493-1-1.html
补充了:空调、地暖、门铃、窗帘、阀门、排风扇、耶鲁锁超级简单抓包接入homekit
(出处: 『瀚思彼岸』» 智能家居技术论坛)
开篇缘由:
因为全家都是苹果生态,所以对ui要求高点。从来没有接触过智能家电,不过通过本论坛的不断学习,以及朋友的帮助,最后顺利将knx接入homekit。
开发商配置的智能家居系统为KNX,配置的app ui过于朴素,并且自动化不是特别好操作,后期也不好添加新的设备,如下图:
对应homekit效果炸裂:
通过百度学习,knx的数据通过红黑线进行数据传输+供电。首先要想办法读取、修改knx上设备的数据。经过研究发现,我的解决思路:1.原始网关抓包;2.knx/ip接口(最后选的此方法)。
1.原始网关抓包
开发商使用的是deepsmart的综合性网关,将485、knx等设备都接入了,然后它通过tcp和官方服务器进行交互,用户使用对应的app就可以远程控制家电。整体反应还可以,本想着,局域网内直接使用此网关的ip:3671 端口,就能获取knx上的数据。但是对应网关的3671端口似乎只能1个客户端进行衔接。按道理,通过ssh登录上网关,然后修改参数,能够增加多用户。但是通过沟通,对方不愿意给我本网关的root用户密码,那就算了。然后通过简单的stream软件,对其app进行抓包,发现不容易。遂放弃,转头研究方法2
2.knx/ip接口
knx/ip接口设备本身是个knx设备,能够读取knx上红黑线上的数据,然后转化成tcp的数据包。通过tcp协议就能够进行对knx上的设备状态进行读取、修改。和其网关功能类似,只是没有编程逻辑。正好nodered上有,对应的插件。通过插件就能配置网关,导入knx网络上的所有数据,进行读取和修改。然后配上nodered上的homekit插件,能够将绝大多数的设备接入。
架构:
knx设备-->knx/ip接口-->nodered编程-->homekit
说明:
knx/ip接口作用:将knx设备的信号转化成tcp数据,在nodered中使用插件就可以读取,控制数据
树莓派:安装nodered,使用knx插件和 knx/ip接口交互
教程:
1.修改网关knx节点的ip和端口
2.修改对应的组地址和地址类型,开关反馈 就能完美对接入homekit
开关、简单的灯、可以调节亮度的灯:只需要根据模板,修改网关ip,端口;复制对应的节点,修改设备的操作地址,反馈地址。然后apple手机在homekit软件内添加局域网网关(docker版本的nodered需要使用host模式,手机才能扫描到网关),送上3个简单的模板如下:
总结:knx设备想要接入homekit,需要knx/ip的接口设备,进行数据交互。然后使用nodered的knx-ultimate插件进行数据读取修改,然后接入homekit插件。最后就能够全部knx设备接入homekit。空调和地暖稍微复杂点,不过框架一样
ps:附件是nodered的流,下次再整理下空调、地暖、耶鲁锁抓包的流
|