|
本帖最后由 UNtest001 于 2019-10-25 19:49 编辑
混了那么久论坛没怎么做过贡献,最近扒了esphome的官方文档,搞了个开关分享给大家安装参考:ESPHome安装/配置白教白 & sonoff刷固件
https://bbs.hassbian.com/thread-7918-1-1.html
(出处: 『瀚思彼岸』» 智能家居技术论坛)
硬件: sonoff basic
HC-SR501人体传感器
光照传感器:BH1750
接线方式基本论坛里都有
1 ,总有适合的,我这个接线方式并不是唯一的(这里有个小坑,困扰了我好几天,就是sr501的供电问题
参考了论坛里各大神的帖子;
Sonoff Tasmota接入温湿度+光照+人体传感器并支持物理开关控制
https://bbs.hassbian.com/thread-1120-1-1.html
(出处: 『瀚思彼岸』» 智能家居技术论坛)
2 摆脱小米人体1分钟限制:Sonoff接人体传感器教程及固件下载
https://bbs.hassbian.com/thread-8-1-1.html
(出处: 『瀚思彼岸』» 智能家居技术论坛)
,发现手里的好几个sr501接3.3V均无法正常工作(一直在重复on -off)一度以为我代码有问题,还是qq群一位大神指点了一下,电压导致的,不知道是不是因为esphome的固件要求太高,然后爬论坛找到了,5V输出,接上一切正常了 ,
把5V焊接出来,前面囧神也提了可以接5V电出来,我就没在意,后来还是接了5V才搞好.(真的折腾好几天,一度要放弃)
我不是保存草稿了么emmmmm
然后就是esphome下编译固件了
参考此帖 : ESPHome安装/配置白教白 & sonoff刷固件https://bbs.hassbian.com/thread-7918-1-1.html(出处: 『瀚思彼岸』» 智能家居技术论坛)
我这里把3个针脚都用上了,rx tx针脚接了个光照传感器,我的sonoff跟上图那个不一样,gpio14 被换成了 gpio02 不过并不影响.
本来保存草稿了不知道怎么就发出来了,先把代码付上吧,后续慢慢整理此代码实现 白天不开灯 但是有人通过物理开关打开后 一直有人就不会关灯,30 秒没人还是会关灯.晚上有人经过就开灯 ,此自动化完全在固件内运行,即(即使你的ha挂了, 路由器挂了 WiFi没信号了 自动化还是一样执行)
esphome:
name: pir501_136
platform: ESP8266
board: esp01_1m
wifi:
ssid: "ZTE-EE5005"
password: "qq731283993z"
# Optional manual IP
manual_ip:
static_ip: 192.168.0.136 #自己定义的地址
gateway: 192.168.0.5 #网关
subnet: 255.255.255.0
# Enable logging
logger:
# Enable Home Assistant API
api:
password: "33"
ota:
password: "33"
#开关
# time:
# - platform: homeassistant
# id: time1
i2c:
sda: GPIO1
scl: GPIO3
scan: True
switch:
- platform: gpio
name: "中继开关" #主开关
pin: GPIO12
id: relay_1
sensor:
- platform: bh1750
id: illuminance
name: "Illuminance"
address: 0x23
update_interval: 60s
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "开关1"
on_press:
- switch.toggle: relay_1
- platform: gpio
pin:
number: 02
inverted: yes
mode: INPUT
name: "人体感应器"
device_class: motion
id: pir501
filters:
- invert:
- delayed_on: 500ms
- delayed_off: 30s
on_press: #按下(有人),打开开关
then:
if:
condition:
sensor.in_range:
id: illuminance
below: 30.0 #above超过 below低于
then:
- switch.turn_on: relay_1
on_release: #松开(没人),关闭开关.
then:
- switch.turn_off: relay_1
status_led:
pin:
number: GPIO13
inverted: yes
|
评分
-
查看全部评分
|