本帖最后由 ms2 于 2020-5-6 19:13 编辑
早就完工了,只是一直没空写,估计家里装了吊扇灯的还是有需要的。说一下大概情况,家里有3个吊扇灯跟一堆正常的天花灯,我的开关处只有火线(更别说吊扇灯专用的双火线了),之前玩了HA之后,就把家里的射频控制的设备都通过博联的rm pro接入到HA了,比如:吊扇灯,普通吊灯,卷闸门,雨棚。。。。。。。之类的,当时这些只限于接入到手机跟电脑控制了,物理的开没换(不想用单火的智能开关,灯要接电容,以前用过,不好用),这些接入容易,但都没有信号反馈,然后就开始思考怎么改了,除了正常的WIFI直接控制的,因为太多的设备都是博联的射频来做的,我家二层楼博联发送的所有信号都可以接收到,其它没有信号反馈的都是基于博联来做,这样统一,方便管理。
先说简单的,普通天花灯,以前用的是不带WIFI的非智能射频控制,接入到HA后没有信号反馈,研究了所有的APP平台跟设备的价格,涂鸦平台是无二之选,一是我涂鸦智能是开放平台,只做平台,不做设备,所有其它厂家做的涂鸦设备,都可以接入到这个平台,这比小米强一万倍,二是我灯开关除了手机控制,必须还要能物理控制 ,那设备一定要带射频接收的,最便宜的,也只有涂鸦了,这东西居然在阿里巴巴最便宜,有一家带射频接收的,30块,这是真香呀,淘宝普通的不带射频的都差不多这个价格了,虽然邮费要8块钱,但数量多,摊平也就30块多一点了,相当便宜。
好了,说复杂的了,重点是要解决我吊扇灯(信号反馈)的2个问题,因为我吊扇灯是自带射频遥控器的,所以没法换更先进的接收设备了,要解决的一是灯开关显示,二是风扇档位显示,三是还是得有物理开关,想来想去,只能是用功率来判断了,因为风扇每个档位功率不同,我的风扇是直流变频的(强烈建议买这种),确实很省电,最大档位6档,居然只有25瓦左右,1档大概不到10瓦左右,这可以用功率的大小来反馈到HA里对应的档位上,但还有一个要叠加的是,如果开了灯,又开了风扇,那需要判断功率叠加计算,这样才不会显示错。
先说功率反馈,看了做电表的帖子,定了买了培正的PZEM-004T 10A交流,我买入的是升级版本V3,怎么接入,找培正电表的帖子就可以了,我是想用esphome来接入的,但当时还不支持,现在支持了,当时用的是Tasmota来接入的,我觉得不好用,太死板,而且有一个相当大的问题是,接入后刷新设置最快也要10S,不过现在的ESPHOME支持了,一直没空换过来,不多说,上图:
先来个风扇的样子:
我得做得尽量小,才可以放到下面这里面:
开始做了,先上个培正的东东:
然后是01S,刚学HA的时候不懂,第一个买入的是01,不带S的,需要接电阻上拉,搞了我一个星期。
还需要一个3.3V的电源,培正要求的电源是5V,但我试了一下,3.3V完美支持,用了大半年了,一点问题都没有。
对比了一下空间,电源单独一个小盒子,然后把8266入进到培正里面,总共就2个东西了。
一共三个,完工,然后就是放到吊扇灯里了。
这个搞定了,代码在最后放上来,下面说说物理开关的问题,虽然手机可以用,但用得多的还是物理开关的,如果一间房没有吊扇灯呢,又不想用单火的开关,那很好办,买随意帖开关就行了(灯的接收设备可以学习随意帖的遥控码),我是把原开关的面板去了,留下了里面的开关模块,这样万一有问题,把固定到墙上的随意贴打开,还是可以断电的,但同时有吊扇灯跟天花灯的房间就麻烦些,因为吊扇灯是没有学习接收设备的,所以必须要随意帖开关带学习功能,学习吊扇灯的遥控码,找遍了随意帖都没有带学习功能的,那只能自己改了,买一个小的可学习的类似于车遥控的发射器,把按键用线接出来,废掉墙上的86随意帖面板,把可学习的发射器接入到86随意帖面板的按键上,随意帖开关唯一有一个不好的地方就是要用电池,不过一年也换不了一两次,只能这样用了,看图:这个是完工后的86随意帖开关,外表看上去没什么区别:
先把86随意帖面板的这块线路板废了,只留下按键(那线是可学习遥控器在背面拉出来接入的),我主要是懒,其实是可以改得更完美的,不想搞了,能用就行,反正最后外观也是一样:
然后把可学习的遥控器用线接入到86随意帖按键上:
吊扇灯代码:
#客厅吊扇
keting_fan_close:
friendly_name: 客厅关 #吊扇关
value_template: "{% if (states('sensor.gonglv_fan1') | int > 5 and states('sensor.gonglv_fan1') | int < 26) or states('sensor.gonglv_fan1') | int > 36 %} on {% else %} off {% endif %}"
turn_on:
service: broadlink.send
data_template:
host: 192.168.1.10
packet:
- "sgAsASYMDSQmDCYLDSUNJSUMDiQmCyYAAAAAAAAAAAAAAAAA=="
turn_off:
service: broadlink.send
data_template:
host: 192.168.1.10
packet:
- "sgAsASYMDSQmDCYLDSUNJSUMDiQmCyYAAAAAAAAAAAAAAAAA=="
#客厅吊扇档位
keting_fan_1:
friendly_name: 1档 #7-9W
value_template: "{% if (states('sensor.gonglv_fan1') | int > 6 and states('sensor.gonglv_fan1') | int < 10) or (states('sensor.gonglv_fan1') | int > (6 + 33) and states('sensor.gonglv_fan1') | int < (10 + 33)) %} on {% else %} off {% endif %}"
turn_on:
service: broadlink.send
data_template:
host: 192.168.1.10
packet:
- "sgAuASYLJgwNJCYMJgsOJA0kJgwOJCYLJgsOcAAAAAAAAAAAAAA=="
turn_off:
service: broadlink.send
data_template:
host: 192.168.1.10
packet:
- "sgAuASYLJgwNJCYMJgsOJA0kAXcAAAAAAAAAAAAAA=="
keting_fan_2:
friendly_name: 2档 #10W
value_template: "{% if (states('sensor.gonglv_fan1') | int > 9 and states('sensor.gonglv_fan1') | int < 11) or (states('sensor.gonglv_fan1') | int > (9 + 33) and states('sensor.gonglv_fan1') | int < (11 + 33)) %} on {% else %} off {% endif %}"
turn_on:
service: broadlink.send
data_template:
host: 192.168.1.10
packet:
- "sgAuASYMJgsOJCYLJgwNJA4kJgwNJCYLAXcAAAAAAAAAAAAAA=="
turn_off:
service: broadlink.send
data_template:
host: 192.168.1.10
packet:
- "sgAuASYMJgsOJCYLJgwNJA4kJgwNJCYcAAAAAAAAAAAAAA=="
#客厅灯
keting_fan_deng:
friendly_name: 客厅灯
value_template: "{% if states('sensor.gonglv_fan1') | int > 30 %} on {% else %} off {% endif %}"
turn_on:
service: broadlink.send
data_template:
host: 192.168.1.10
packet:
- "sgBqASYLJgwNJCcLJgsNJQ0kJgwNwsNAAXcAAAAAAAAAAAAAAAAAAA="
turn_off:
service: broadlink.send
data_template:
host: 192.168.1.10
packet:
- "sgBqASYLJgwNJCcLJgsNJQ0kJgwNJCcLJgsO0kJwsNAAXcAAAAAAAAAAAAAAAAAAA="
|