水滴传感器 +esphome 接入 homeassistant实现下雨联动智能家居

发布于 2020-08-13  51 次阅读


折腾理由

随着智能家居的不断普及,各家互联网厂商也都不约而同的加入这场激烈的竞争中。国内的小米华为,国外的苹果谷歌亚马逊都发布了自己的智能家居产品和平台。

由于各家产品都只能在自家平台使用且使用场景不足以支撑智能(lan)生活,所以就把他们集成到一个系统上了。我使用的是 homeassistant,站内安装教程很多,这里就不展开了。

今天要做的就是实现下雨自动关窗、关门、警报。。。。你想干什么都行

材料展示

homeassistant 平台

esp8266 开发版(楼主使用的是 nodemcu)

水滴传感器(木有型号。)

杜邦线

折腾的

esphome 安装

由于我的 ha 是安装在群晖 docker 里面的,所以 esphome 也使用 docker 安装,打开群晖 docker-》选择注册表 -- 搜索 esphome-- 下载第一个

取个名字,选择高级设置

选择卷映射目录到 /config,网络与主机相同,应用即可

打开浏览器访问群晖 IP:6052,这里节点名称自己随便取,设备类型默认 esp8266,Wi-Fi 和无线更新填自己家的 Wi-Fi 名称和密码、管理密码自己设置(加入 ha 时使用)

点击右上角 3 个点,选择 compile

编译完成后点击下载

使用upycraft或者nodemcu-flasher 刷入固件,不会的参考Wi-Fikiller 烧录过程,刷入成功后就可以看到我们的设备在线了

板子连线

这里将传感器和开发版用杜邦线连接

水滴传感器 + ----- esp8266 5v

水滴传感器 - ------esp8266 GND

水滴传感器 s ------esp8266 D2(这里可以随便连接空闲 gpio,与代码中相同即可)

点击 edit 打开文本编辑器

代码

output:

- platform: esp8266_pwm

pin: GPIO2

frequency: 2000Hz

id: led_onboard

inverted: True

light:

- platform: monochromatic

name: "LED On Board"

output: led_onboard

binary_sensor:

- platform: gpio

pin:

number: D2

mode: INPUT_PULLUP

id: water

name: "water_sensor"

接入 ha

打开 ha 选择配置 -- 集成

点击 -- 选择 esphome,输入 esphome 的 IP 地址即可

然后回到主页面就可以看到灯和雨滴传感器了(默认的 statsUI 可能卡片方式不同)

创建自动化

点击配置,选择自动化

点击右下角的,名称自己随便填。触发条件类型选择状态,实体就选择我们的水滴传感器,从 off 变为 on 就代表传感器上有水(下雨了),持续时间根据自己需要填写

环境条件也可以根据自己情况设定(比如日出日落,时间等)。动作就是监测到下雨要执行的动作(你可以调用家里的小爱同学提示你下雨了,或者也可以控制设备关窗关门等,与自家设备联动。由于我这里没有设备就用 LED 灯表示了 )

我这里建立了两个自动化场景,下雨开灯雨停关灯

测试

没水的时候就是待命状态

当水滴传感器上有水的时候,我们创建的自动化场景就会被触发,LED 灯点亮(水滴传感器上有一滴水能看到吗 )

在自动化中也可以看到触发的具体时间

尾巴

小米走在了国内智能家居的前列,华为也在布局自己的系统,苹果提出了 home kit。这些都预示了智能家居的未来,小米凭借性价比取得了不少的市场份额,但相比于 diy 还是要少了一些乐趣(qiong)。十几块的成本简直吊打米家产品,还不受米家平台限制。另外,今天又买了一个人体传感器已经在路上了。。。。

原文:http://www.myzaker.com/article/5dd3d78a8e9f096f21041457/


一个追求爱搞的小逗逼