『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 34821|回复: 24

[经验分享] 自己动手,把315/433射频的安防系统集成到HomeAssistant中来

[复制链接]

5

主题

116

帖子

915

积分

高级会员

Rank: 4

积分
915
金钱
794
HASS币
0
发表于 2019-1-16 16:45:27 | 显示全部楼层 |阅读模式
315Mhz/433Mhz射频有很多优点:
1. 信号传输距离远,穿墙性好;
2. 功耗小,一节电池就可以用很久;
3. 价格便宜,物美价廉。


市场上,基于射频的安防系统得到了广泛的应用。厂家和产品也特别多,一整套的价格也就一两百元。
家庭安防1.png

同样情况,315Mhz/433Mhz射频的LV无线开关,也因为价廉物美,

有相当数量的用户。
Lv开关.jpg

回复

使用道具 举报

5

主题

116

帖子

915

积分

高级会员

Rank: 4

积分
915
金钱
794
HASS币
0
 楼主| 发表于 2019-1-16 16:47:17 | 显示全部楼层
本帖最后由 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控制安防系统的布防/撤防了。
         安防开关.png
      用遥控器布防或者撤防的时候,射频网关也会接收到射频遥控码,
      会自动改变布防和撤防的状态。

布防和撤防基本算完美解决。


回复

使用道具 举报

5

主题

116

帖子

915

积分

高级会员

Rank: 4

积分
915
金钱
794
HASS币
0
 楼主| 发表于 2019-1-16 16:48:45 | 显示全部楼层
本帖最后由 lse 于 2019-1-21 12:37 编辑

继续实现了一个解释收到的射频信号的组件,把接收到的射频码和家庭实际安装环境对应起来。
比如说:可以得到每个门的开关情况和历史记录。

收到没有配置的门磁信号,会直接显示射频码。
无配置的门磁.png


射频码已经配置的门磁,可以直接显示对应的安装环境。
门磁历史.png

仅需在configure.yaml中配置如下:
rfbridge_sonoff:
  name: latest_rf_message
  doorsmap:
    "10XXAE": 灶屋门
    "08XXDE": 厨房门


组件放置在 custom_components 目录下
rfbridge_sonoff.py (2.23 KB, 下载次数: 21)
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2019-1-16 16:59:52 | 显示全部楼层
安防等单向传输的还行,开关还是算了,没状态反馈。。
回复

使用道具 举报

5

主题

116

帖子

915

积分

高级会员

Rank: 4

积分
915
金钱
794
HASS币
0
 楼主| 发表于 2019-1-16 17:00:28 | 显示全部楼层
本帖最后由 lse 于 2019-1-16 17:13 编辑


----------------------暂时保留------------
射频网关.jpg
MQTT发送.png
MQTT接收.png
回复

使用道具 举报

5

主题

116

帖子

915

积分

高级会员

Rank: 4

积分
915
金钱
794
HASS币
0
 楼主| 发表于 2019-1-16 17:09:06 | 显示全部楼层
Jones 发表于 2019-1-16 16:59
安防等单向传输的还行,开关还是算了,没状态反馈。。

确实如囧大侠所言,没有状态反馈是个比较大的缺点。

不过市场上有比较庞大的既有射频产品存在,除了安防产品,
还有相当部分的吊顶灯、以及自动窗帘杆等。
回复

使用道具 举报

9

主题

251

帖子

4380

积分

元老级技术达人

积分
4380
金钱
4114
HASS币
100
发表于 2019-1-16 21:58:04 | 显示全部楼层
门磁跟人体红外感应,用433射频还是可以的,20来块钱很便宜。
我在马云家找了一圈,只找到2款双向门磁,开门跟关门都会发射一次不同的射频编码,
但是有缺点,发射信号持续2秒,共发射了9次射频信号,
如果2个以上门磁同时触发,那么rf网关要接收9×2=18次信号,
会导致网关接收不到其他射频信号。
正在找款发射持续时间短些或者发射次数少于3次信号的。
E5-2650L-V2+华南X79+16GB*2
回复

使用道具 举报

13

主题

500

帖子

3422

积分

论坛元老

Rank: 8Rank: 8

积分
3422
金钱
2917
HASS币
20
发表于 2019-1-16 22:13:37 | 显示全部楼层
本帖最后由 yuqiuyi99 于 2019-1-16 22:16 编辑

我买了个8路套件,直接接树莓派的8个gpio口上,然后用一个8路遥控器,对应点动电平,当按下按键时电平off-on-off,检测到不同io口的on-off触发制好多个家里的设备,虽然没反馈,但总不用掏出手机或者打开电脑,省事儿。8路接收+8键遥控只要20多元,当然也可以配合射频的随意贴,比较时候躺沙发上控制不同房间的设备。准备继续出个教程
回复

使用道具 举报

3

主题

40

帖子

378

积分

论坛分享达人

积分
378
金钱
338
HASS币
0
发表于 2019-1-16 23:15:42 | 显示全部楼层
TB上有带状态反馈的,我用了很久了,质量还不错。diy的433tomqtt网关,包括投影幕布也一并控制了
回复

使用道具 举报

2

主题

125

帖子

829

积分

高级会员

Rank: 4

积分
829
金钱
704
HASS币
0
发表于 2019-1-17 07:16:23 来自手机 | 显示全部楼层
请问射频到mqtt怎么做的呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 04:59 , Processed in 0.089306 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表