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

 找回密码
 立即注册
查看: 20875|回复: 32

[基础教程] esphome如何创建这种开关?

[复制链接]

12

主题

145

帖子

1155

积分

金牌会员

Rank: 6Rank: 6

积分
1155
金钱
1010
HASS币
0
发表于 2020-4-16 09:20:17 | 显示全部楼层 |阅读模式
本帖最后由 bynow 于 2020-4-17 17:27 编辑

控制接线:esp32   2个io口   GPIO22和GPIO23
打开开关GPIO22输出瞬时高电平
关闭开关GPIO23输出瞬时高电平

  - platform: gpio   
     pin: 22  
     id: relay  
  - platform: template   
     name: "Gate Remote"   
     icon: "mdi:gate"   
     turn_on_action:   
  - switch.turn_on: relay   
  - delay: 500ms   
  - switch.turn_off: relay

  - platform: gpio   
     pin: 23
     id: relay  
  - platform: template   
     name: "Gate Remote"   
     icon: "mdi:gate"   
     turn_on_action:   
  - switch.turn_on: relay   
  - delay: 500ms   
  - switch.turn_off: relay
我用以上配置,会出现2个开关,但是只能控制gpio22号,如何解决啊
如何实现一个开关打开时GPIO22输出瞬时高电平,关闭时GPIO23输出瞬时高电平.

另外,我用esp32接脉冲传感器的话,5V脉冲的可以不?








回复

使用道具 举报

26

主题

2096

帖子

8504

积分

论坛元老

Rank: 8Rank: 8

积分
8504
金钱
6403
HASS币
30

论坛元老

发表于 2020-4-16 14:12:43 | 显示全部楼层
  - platform: gpio   
    pin:
      number: 25
      inverted: True   
    id: relay 
回复

使用道具 举报

12

主题

145

帖子

1155

积分

金牌会员

Rank: 6Rank: 6

积分
1155
金钱
1010
HASS币
0
 楼主| 发表于 2020-4-16 18:19:33 | 显示全部楼层
本帖最后由 bynow 于 2020-4-17 10:26 编辑

抱歉,以上描述有点错误,,我在详细说明下   ,
控制接线:esp32   2个io口   GPIO22和GPIO23
打开开关GPIO22输出瞬时高电平
关闭开关GPIO23输出瞬时高电平
没法办实现一个开关打开时触发GPIO22,关闭时触发GPIO23
回复

使用道具 举报

26

主题

2096

帖子

8504

积分

论坛元老

Rank: 8Rank: 8

积分
8504
金钱
6403
HASS币
30

论坛元老

发表于 2020-4-16 19:02:05 | 显示全部楼层
bynow 发表于 2020-4-16 18:19
抱歉,以上描述有点错误,,我在详细说明下   ,
控制接线:esp32   2个io口   GPIO22和GPIO23
打开开关 ...
binary_sensor:
## 自复位按钮操作
  - platform: gpio
    pin:
      number: D3
      # number: GPIO14
      mode: INPUT_PULLUP
      inverted: True
    name: "BUTTON"
    id: button
    ## 按下绿灯亮
    on_press:
      then:
        - switch.turn_on: relay_green
    ## 复位绿灯灭(如果绿灯依然亮)
    on_release:
      if:
        condition:
          - switch.is_on: relay_green
        then:
          - switch.turn_off: relay_green
回复

使用道具 举报

12

主题

145

帖子

1155

积分

金牌会员

Rank: 6Rank: 6

积分
1155
金钱
1010
HASS币
0
 楼主| 发表于 2020-4-16 21:52:10 | 显示全部楼层

是 一个开关控制2个gpio口呢
回复

使用道具 举报

12

主题

145

帖子

1155

积分

金牌会员

Rank: 6Rank: 6

积分
1155
金钱
1010
HASS币
0
 楼主| 发表于 2020-4-17 10:19:16 | 显示全部楼层
顶起来, 有没有人知道2个瞬时gpio开关配置文件如何写? 粗暴的复制2个有问题,
回复

使用道具 举报

26

主题

2096

帖子

8504

积分

论坛元老

Rank: 8Rank: 8

积分
8504
金钱
6403
HASS币
30

论坛元老

发表于 2020-4-17 11:20:23 | 显示全部楼层
bynow 发表于 2020-4-16 21:52
是 一个开关控制2个gpio口呢

真是无语,不知道你说什么都,前言不搭后语的,esphome官档有自动化部分,自己看吧

https://esphome.io/guides/automations.html
回复

使用道具 举报

12

主题

145

帖子

1155

积分

金牌会员

Rank: 6Rank: 6

积分
1155
金钱
1010
HASS币
0
 楼主| 发表于 2020-4-17 11:26:17 | 显示全部楼层
情非殇 发表于 2020-4-17 11:20
真是无语,不知道你说什么都,前言不搭后语的,esphome官档有自动化部分,自己看吧

...

:                 
回复

使用道具 举报

12

主题

145

帖子

1155

积分

金牌会员

Rank: 6Rank: 6

积分
1155
金钱
1010
HASS币
0
 楼主| 发表于 2020-4-17 12:10:15 | 显示全部楼层
本帖最后由 bynow 于 2020-4-17 12:15 编辑
情非殇 发表于 2020-4-17 11:20
真是无语,不知道你说什么都,前言不搭后语的,esphome官档有自动化部分,自己看吧

...

我需要在homeassistant中识别到esp32的2个开关,名称为A和B开关,   当我在前端界面开A开关时候,esp32的gpio12输出瞬时高电平100ms,开B开关时候,esp32的gpio14输出瞬时高电平100ms,这样说懂了把。

上面实现后,在看ha前端界面用1个开关,开的时候esp32 gpio12输出100ms高电平, 关的时候esp32 gpio14输出100ms高电平。   

就是这样一个需要,前面是有点描述错误,但是后面改过来了,怎么就前前言不搭后语。 望理解,谢谢
回复

使用道具 举报

26

主题

2096

帖子

8504

积分

论坛元老

Rank: 8Rank: 8

积分
8504
金钱
6403
HASS币
30

论坛元老

发表于 2020-4-17 14:48:49 | 显示全部楼层
本帖最后由 情非殇 于 2020-4-17 14:53 编辑
bynow 发表于 2020-4-17 12:10
我需要在homeassistant中识别到esp32的2个开关,名称为A和B开关,   当我在前端界面开A开关时候,esp32的g ...

就是说,只要在前端显示1个switch,然后,turn_on输出g12,turn_off输出g14,这个完全没问题,可以写死在esphome里,也可以在homeassistant里用template switch解决,


但是我有个疑问,
1)你g12和g14如何复位呢,你只触发高电平,理论上这样只有第一次使用的时候会有生效,之后因为12和14都是高电平状态,所以,相当于无法再操控了

2)我认为你直接说你的目的需求和使用场景就好了,能帮你的自然会帮你提供思路,而不是你自己说一个或可行或不可行的思路,来提问
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-23 18:11 , Processed in 1.318251 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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