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

 找回密码
 立即注册
查看: 12996|回复: 13

esphome接人体和光照感应器的代码分享实现内部自动化及基...

[复制链接]

7

主题

88

帖子

442

积分

论坛分享达人

积分
442
金钱
354
HASS币
0
发表于 2019-10-25 19:36:15 | 显示全部楼层 |阅读模式
本帖最后由 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








评分

参与人数 2金钱 +28 收起 理由
+ 20 厉害了word楼主!
jyz_0501 + 8 群里看到你了,帮顶~~

查看全部评分

回复

使用道具 举报

175

主题

2967

帖子

7606

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7606
金钱
4614
HASS币
398

活跃会员教程狂人灌水之王

QQ
发表于 2019-10-25 21:02:14 | 显示全部楼层
开关必须长通电哦~~
回复

使用道具 举报

23

主题

1338

帖子

6755

积分

超级版主

Rank: 8Rank: 8

积分
6755
金钱
5392
HASS币
100

教程狂人

发表于 2019-10-26 07:54:35 | 显示全部楼层
bh1750实测响应速度不行,光敏电阻更好用
回复

使用道具 举报

7

主题

88

帖子

442

积分

论坛分享达人

积分
442
金钱
354
HASS币
0
 楼主| 发表于 2019-10-26 08:14:15 | 显示全部楼层
natic 发表于 2019-10-26 07:54
bh1750实测响应速度不行,光敏电阻更好用

开始我把光敏电阻直接焊到sr501感应器上了 ,发现人必须靠的很近才能触发感应器,然后就拆下来了,不知道直接把光敏电阻接到针脚上当做一个开关行不行的通
回复

使用道具 举报

23

主题

1338

帖子

6755

积分

超级版主

Rank: 8Rank: 8

积分
6755
金钱
5392
HASS币
100

教程狂人

发表于 2019-10-26 14:57:53 | 显示全部楼层
UNtest001 发表于 2019-10-26 08:14
开始我把光敏电阻直接焊到sr501感应器上了 ,发现人必须靠的很近才能触发感应器,然后就拆下来了,不知道直 ...

可以的,我有帖子说明
回复

使用道具 举报

23

主题

660

帖子

3110

积分

论坛元老

Rank: 8Rank: 8

积分
3110
金钱
2450
HASS币
10
发表于 2019-11-13 10:23:21 | 显示全部楼层
我想了解下,这个地址是怎么确定的? address: 0x23
回复

使用道具 举报

7

主题

88

帖子

442

积分

论坛分享达人

积分
442
金钱
354
HASS币
0
 楼主| 发表于 2019-11-13 11:26:57 | 显示全部楼层
wshc1216 发表于 2019-11-13 10:23
我想了解下,这个地址是怎么确定的? address: 0x23

i2c:
  sda: GPIO1
  scl: GPIO3
  scan: True
  

  
回复

使用道具 举报

23

主题

660

帖子

3110

积分

论坛元老

Rank: 8Rank: 8

积分
3110
金钱
2450
HASS币
10
发表于 2019-11-13 12:12:01 | 显示全部楼层
UNtest001 发表于 2019-11-13 11:26
i2c:
  sda: GPIO1
  scl: GPIO3

不是这个,是address: 0x23 有些又是0x29
回复

使用道具 举报

7

主题

88

帖子

442

积分

论坛分享达人

积分
442
金钱
354
HASS币
0
 楼主| 发表于 2019-11-13 19:38:36 | 显示全部楼层
wshc1216 发表于 2019-11-13 12:12
不是这个,是address: 0x23 有些又是0x29

官方文档有写https://esphome.io/components/sensor/bh1750.html
回复

使用道具 举报

43

主题

412

帖子

3806

积分

元老级技术达人

积分
3806
金钱
3389
HASS币
136
发表于 2020-12-2 20:58:41 | 显示全部楼层
借鉴了代码.很方便
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 16:01 , Processed in 0.119100 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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