本帖最后由 lse 于 2019-1-16 18:46 编辑
楼主自己家里的射频安防系统,已经安装使用了很多年了。
现在把这套系统,集成到Home Assistant中来。
第一步:制作了一个射频转MQTT的网关
我的射频网关功能是这样的:
1. 接收遥控器,门磁等等的射频信号,解码后发送到MQTT服务器。
当射频网关接收到射频信号后,会实时的向MQTT服务器发送类似如下的消息。
主题:tele/sonoff/RESULT:
内容:b'{"SSerialReceived":"10CXXXX8"}'
MQTT服务器收到的截屏是这样的。
2. 接受MQTT服务器转发的命令,把命令通过射频模块发送出去,
执行用户的操作,如安防的布防和撤防,开关的遥控等等。
这样用户无需遥控器,通过Home Assistant可以操作射频设备。
用户需要发送射频命令时,通过向MQTT服务器发送如下信息实现。
主题:cmnd/sonoff/SSerialSend
内容:射频遥控码
这个网关已完成如下:
第二步:修改Home Assistant配置,添加射频自定义组件
1. 修改configuration.yaml,添加安防的布防撤防开关
核心内容就是遥控命令码,
以及所有遥控器的码,在使用遥控器操作时用来及时更新开关状态。
switch:
- platform: rfswitch
name: SecurityOnOff
payload_on: "FD03xxxx446DF"
payload_off: "FD0xxxx6247DF"
keys_on: "FD03xxx446DF|FD03xxx446DF"
keys_off: "FD034xxx247DF|FD036xx47DF"
2. 上传自定义组件
把自定义组件rfswitch.py上传到HA的custom_components/switch目录下
rfswitch.py
(4.23 KB, 下载次数: 49)
3. 重启HA,就可以通过HA控制安防系统的布防/撤防了。
用遥控器布防或者撤防的时候,射频网关也会接收到射频遥控码,
会自动改变布防和撤防的状态。
布防和撤防基本算完美解决。
|