本帖最后由 lovinggrey 于 2017-8-5 01:46 编辑
本人是只标准夜猫,媳妇睡觉也比较早,晚上用语音控制不方便,同时,我也懒得打开手机点N下然后去打开个设备。。。(嗯,懒到家)
忽然脑洞大开,要是能做个能遥控hass的遥控器多方便
不过说到开关么。。想要手感好。樱桃少不了
来~上主角~
樱桃黑轴,大名鼎鼎。。不多做介绍。。
又是nodemcu,嗯。。好用便宜。。
固件部分是7哥帮忙编写的。编程这东西实在是做不来。。。
我把固件和库文件都上传了,自行下载后用Arduino刷入mcu吧。
switch.rar
(2.28 KB, 下载次数: 180)
libraries.rar
(79.49 KB, 下载次数: 133)
OK 刷好了以后就是接线了。这个有点动手能力的都无压力~
开关是一个脚串起来接GND,另外一个脚接到MCU的GPIO上就可以了。
对应的脚是:
开关1:GPIO 0
开关2:GPIO 2
开关3:GPIO 5
开关4:GPIO 14
开关5:GPIO 12
开关6:GPIO 13
开关7:GPIO 4
附上MCU的GPIO对应图:
大功告成~现在去HA里添加设备:
把7个开关添加到HA里:
switch:
- platform: mqtt
name: "t1"
state_topic: "home/8ch/2/stat"
command_topic: "home/8ch/2"
qos: 1
payload_on: "1on"
payload_off: "1off"
retain: true
- platform: mqtt
name: "t2"
state_topic: "home/8ch/2/stat"
command_topic: "home/8ch/2"
qos: 1
payload_on: "2on"
payload_off: "2off"
retain: true
- platform: mqtt
name: "t3"
state_topic: "home/8ch/2/stat"
command_topic: "home/8ch/2"
qos: 1
payload_on: "3on"
payload_off: "3off"
retain: true
- platform: mqtt
name: "t4"
state_topic: "home/8ch/2/stat"
command_topic: "home/8ch/2"
qos: 1
payload_on: "4on"
payload_off: "4off"
retain: true
- platform: mqtt
name: "t5"
state_topic: "home/8ch/2/stat"
command_topic: "home/8ch/2"
qos: 1
payload_on: "5on"
payload_off: "5off"
retain: true
- platform: mqtt
name: "t6"
state_topic: "home/8ch/2/stat"
command_topic: "home/8ch/2"
qos: 1
payload_on: "6on"
payload_off: "6off"
retain: true
- platform: mqtt
name: "t7"
state_topic: "home/8ch/2/stat"
command_topic: "home/8ch/2"
qos: 1
payload_on: "7on"
payload_off: "7off"
retain: true
保存后重启HA,就可以在HA里看到7个开关:
接下来是重头戏了,写自动化。
当这个开关按下去被打开以后,你所指定的开关也跟着被打开,再次按下这个开关把它关上以后,你所指定的设备也被关闭。
例如我的卧室灯是swtich.01,我想用这个1号开关控制他的开启与关闭,可以这样写:
trigger:
platform: state
entity_id: switch.t1
action:
service_template: >
{%- if states('switch.t1') == 'off' -%}
switch.turn_off
{%- else -%}
switch.turn_on
{%- endif -%}
entity_id: switch.01
这样当我按下1号开关以后我的卧室灯就会打开,再次按下以后卧室灯将会关闭。。
ok,教程就到这里。
因为按键比较多,实在不好固定。自己从某宝找人定做了一个外壳。
材料用的是榉木板,某宝激光切割的。用胶水螺丝固定。。比较丑。。大家可以参考下。
最下面是充放电一体板,可以调电压的左边蓝色的就是电位器~
回头可以给这东西塞块小电池,拿在手上玩,但是空间太小,这玩意功耗实在高,因为我接了8个led,功耗有200毫安。。。
估计回头得弄个开关上去了。。用的时候打开,不用的时候把他关了。启动很快,开机到可以用也就1秒多。。。问题不大
嗯。。乱七八糟的飞线。。热熔胶辅助固定。。
成品图,有细心的朋友肯定发现了。。为毛这里有8个按键?!因为本来这个按键是用来控制LED的开关的。。代码没写好还。。。嗯。。。
附上视频,当是抛砖引玉了,希望大神们可以发明更多新的玩法,其实这个不仅仅可以控制开关,还可以实现很多功能,比如让若其通过tts来播报传感器的数值等等。。
最后,感谢7总@se7en,帮我修改代码弄了几个晚上,实在是辛苦了
|