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

 找回密码
 立即注册
12
返回列表 发新帖
楼主: leeyandong

物理开关,带反馈~

[复制链接]

33

主题

312

帖子

1853

积分

金牌会员

Rank: 6Rank: 6

积分
1853
金钱
1536
HASS币
40
发表于 2020-3-3 10:09:55 | 显示全部楼层
本帖最后由 lione95678 于 2020-3-3 10:33 编辑

1、如果gipo0默认是低电平,那么不需要下拉电阻。否则你就加上下拉电阻
2、如果你用esphome固件,那么9楼的回复就可以,当然取决于你希望打开和关闭物理开关的操作。
要点:在你的esphome中,给你的switch加一个id,然后把你的物理开关当做一个二进制传感器,这样就可以用二进制传感器的状态来自动化操作你的继电器。
9楼中的设置,将二进制继电器的自动化说的很清楚,就是3个状态,就是物理开关的打开,关闭或者有一个新的状态。后面的继电器操作可以换成switch.turn_on,switch.turn_off或者switch.toggle,随你喜欢
   


#举例,将你的继电器的id设置为jidianqi1(随意)name设置为jdq1(随意)
#将你的物理开关当做二进制传感器,name为xunni0(随意),id可以不要(随意)

switch:
  - platform: gpio
    pin: 
      number: gpio0             #你的gpio针脚
      mode: INPUT_PULLUP      #将你的gpio针脚激活内部上拉
      inverted: True          #将该针脚的状态反向显示
    name: "jdq1"        #随意,在hass中显示的名称
    id: jidianqi1          #随意,后续的自动化中使用
#以上设置请注意,如果你的gpio0针脚默认是低电平或者高电平的,那就把mode和inverted删掉

binary_sensor:
  - platform: gpio
    pin:
      number: gpio2         #你的gpio针脚
    name: "xuni0"           #随意,在hass中显示的名称
    on_press:               #这里就是当传感器是on状态下的自动化,你可以选择on_press,on_release,on_state
      then:
        - switch.turn_on: jidianqi1 #这个就是把id为jidianqi1的switch打开,你可以选择witch.turn_on,witch.turn_off,switch.toggle


回复

使用道具 举报

4

主题

47

帖子

203

积分

中级会员

Rank: 3Rank: 3

积分
203
金钱
156
HASS币
0
 楼主| 发表于 2020-3-4 00:07:35 | 显示全部楼层
lione95678 发表于 2020-3-3 10:09
1、如果gipo0默认是低电平,那么不需要下拉电阻。否则你就加上下拉电阻
2、如果你用esphome固件,那么9楼的 ...

首先非常感谢,您写的代码我是看明白了,但按您这个这个代码我反而不会接线了〜
回复

使用道具 举报

33

主题

312

帖子

1853

积分

金牌会员

Rank: 6Rank: 6

积分
1853
金钱
1536
HASS币
40
发表于 2020-3-4 08:19:54 | 显示全部楼层
leeyandong 发表于 2020-3-4 00:07
首先非常感谢,您写的代码我是看明白了,但按您这个这个代码我反而不会接线了〜 ...

我写错代码了,按照你的接线,继电器的端口是gpio2,就是switch的针脚,物理开关是binary_sensor:的针脚
#举例,将你的继电器的id设置为jidianqi1(随意)name设置为jdq1(随意)
#将你的物理开关当做二进制传感器,name为xunni0(随意),id可以不要(随意)

switch:
  - platform: gpio
    pin: 
      number: gpio2             #你的gpio针脚
      mode: INPUT_PULLUP      #将你的gpio针脚激活内部上拉
      inverted: True          #将该针脚的状态反向显示
    name: "jdq1"        #随意,在hass中显示的名称
    id: jidianqi1          #随意,后续的自动化中使用
#以上设置请注意,如果你的gpio0针脚默认是低电平或者高电平的,那就把mode和inverted删掉

binary_sensor:
  - platform: gpio
    pin:
      number: gpio0         #你的gpio针脚
    name: "xuni0"           #随意,在hass中显示的名称
    on_press:               #这里就是当传感器是on状态下的自动化,你可以选择on_press,on_release,on_state
      then:
        - switch.turn_on: jidianqi1 #这个就是把id为jidianqi1的switch打开,你可以选择witch.turn_on,witch.turn_off,switch.toggle
回复

使用道具 举报

5

主题

322

帖子

1345

积分

金牌会员

Rank: 6Rank: 6

积分
1345
金钱
1023
HASS币
0
发表于 2020-3-4 15:35:10 | 显示全部楼层
这样接线,如果开关打开时断电了,再来电时,是否会导致esp01进入刷写模式呢?
回复

使用道具 举报

24

主题

116

帖子

752

积分

高级会员

Rank: 4

积分
752
金钱
636
HASS币
10
发表于 2020-9-18 18:33:36 | 显示全部楼层
留个脚印 转入ESPhome
回复

使用道具 举报

8

主题

217

帖子

1220

积分

金牌会员

Rank: 6Rank: 6

积分
1220
金钱
1003
HASS币
0
发表于 2020-10-19 19:10:19 | 显示全部楼层
楼主你搞定了吗?详细的代码和接线能发出来吗
回复

使用道具 举报

32

主题

146

帖子

1257

积分

金牌会员

Rank: 6Rank: 6

积分
1257
金钱
1111
HASS币
0
发表于 2021-3-29 17:06:56 | 显示全部楼层
非常感谢
回复

使用道具 举报

10

主题

86

帖子

807

积分

高级会员

Rank: 4

积分
807
金钱
721
HASS币
0
发表于 2022-6-30 23:26:47 | 显示全部楼层
lione95678 发表于 2020-3-3 10:09
1、如果gipo0默认是低电平,那么不需要下拉电阻。否则你就加上下拉电阻
2、如果你用esphome固件,那么9楼的 ...

这个有个问题,当esp重启后,如果gpio+gnd相连会死机
回复

使用道具 举报

3

主题

35

帖子

696

积分

高级会员

Rank: 4

积分
696
金钱
661
HASS币
0
发表于 2023-9-13 22:56:13 | 显示全部楼层
可以用GPIO3也就是RX接口来替换GPIO0,这样就不会死机了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 21:42 , Processed in 0.170575 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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