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

 找回密码
 立即注册
查看: 1506|回复: 6

[求助] 请教ESPHome中如何通过2个GPIO给出一个实体变量

[复制链接]

1

主题

3

帖子

42

积分

新手上路

Rank: 1

积分
42
金钱
39
HASS币
0
发表于 2023-8-14 18:51:11 | 显示全部楼层 |阅读模式
各位大佬请教如何通过2个GPIO输出一个最终状态比如鱼缸水位加了一个双浮球,上浮球检测水满,下浮球检测水空
上浮球使用 GPIO32 下浮球使用GPIO33 那么这两个输入就有4种状态
00 低水位
01 正常水位
10 故障
11 高水位

如何把这个4个状态作为一个实体输出在HA中显示调用。


各位大佬能帮忙给个例程学习一下吗
回复

使用道具 举报

3

主题

171

帖子

1929

积分

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1758
HASS币
0
发表于 2023-8-14 19:56:17 | 显示全部楼层
不懂 帮顶
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2023-8-15 07:09:26 | 显示全部楼层
https://esphome.io/components/sensor/binary_sensor_map
仔细阅读、大胆尝试,出问题概不负责
回复

使用道具 举报

5

主题

471

帖子

2114

积分

金牌会员

Rank: 6Rank: 6

积分
2114
金钱
1643
HASS币
0
发表于 2023-8-15 07:47:24 | 显示全部楼层
把复杂的事情简单化,用一个text_sensor,四种状态变化最终在text_sensor输出。
binary_sensor:
  - platform: gpio
    pin:
      number: 13
      mode:
        input: true
        pullup: true
    id: "didang"
    name: "didang"
    filters:
      - delayed_on: 50ms
    on_release:
      then:
        text_sensor.template.publish:
          id: dangweizhishi
          state: "低档"

  - platform: gpio
    pin:
      number: 14
      mode:
        input: true
        pullup: true
    id: "zhongdang"
    name: "zhongdang"
    filters:
      - delayed_on: 50ms
    on_release:
      then:
        text_sensor.template.publish:
          id: dangweizhishi
          state: "中档"
    on_press:
      - if:
          condition:
            - binary_sensor.is_on: gaodang
          then:
            text_sensor.template.publish:
              id: dangweizhishi
              state: "高档"
。。。。。。。。。
。。。。。。。。。
text_sensor:
  - platform: template
    name: "dangwei"
    id: dangweizhishi

这是我改的加湿器部分代码,希望对你有帮助!
回复

使用道具 举报

1

主题

3

帖子

42

积分

新手上路

Rank: 1

积分
42
金钱
39
HASS币
0
 楼主| 发表于 2023-8-15 15:41:10 | 显示全部楼层
本帖最后由 happyqy2000 于 2023-8-15 15:42 编辑

感谢XCray和hyq两位提供的帮助,我自己挖坑自己埋
为了方便调试用的switch 也可以用binary_sensor 注释掉两个name

switch:
  - platform: gpio
    pin:
      number: 13
      mode:
        input: true
        pullup: true
    id: "high"
    name: "HIGH"
#    filters:
#      - delayed_on: 50ms

  - platform: gpio
    pin:
      number: 14
      mode:
        input: true
        pullup: true
    id: "low"
    name: "low"
#    filters:
#      - delayed_on: 50ms
   
time:
  - platform: sntp
    timezone: Asia/Shanghai
    on_time:
      # Every 10 seconds
      - seconds: /10
        then:
          - if:
               condition:
                and:
                  - switch.is_off: high
                  - switch.is_off: low
               then:
                text_sensor.template.publish:
                 id: state
                 state: "Low"
          - if:
               condition:
                and:
                  - switch.is_off: high
                  - switch.is_on: low
               then:
                text_sensor.template.publish:
                 id: state
                 state: "Normal"
          - if:
               condition:
                and:
                  - switch.is_on: high
                  - switch.is_off: low
               then:
                text_sensor.template.publish:
                 id: state
                 state: "Error"
          - if:
               condition:
                and:
                  - switch.is_on: high
                  - switch.is_on: low
               then:
                text_sensor.template.publish:
                 id: state
                 state: "High"

   
text_sensor:
  - platform: template
    name: "state状态"
    id: state
回复

使用道具 举报

13

主题

575

帖子

3047

积分

论坛元老

HomeAssistant

Rank: 8Rank: 8

积分
3047
金钱
2467
HASS币
20
发表于 2023-8-15 16:18:34 | 显示全部楼层
水位浮球开关的高水位一般设置成常闭,即没有水是闭合的,有水是断开的
回复

使用道具 举报

1

主题

3

帖子

42

积分

新手上路

Rank: 1

积分
42
金钱
39
HASS币
0
 楼主| 发表于 2023-8-15 16:49:46 | 显示全部楼层
DDDear 发表于 2023-8-15 16:18
水位浮球开关的高水位一般设置成常闭,即没有水是闭合的,有水是断开的

嗯 这个改下取反就可以
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 12:33 , Processed in 0.195566 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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