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

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

[已解决] 求个esphome配置文件

[复制链接]

24

主题

579

帖子

2683

积分

金牌会员

Rank: 6Rank: 6

积分
2683
金钱
2104
HASS币
0
发表于 2024-2-24 16:14:45 | 显示全部楼层
Awe7 发表于 2024-2-24 16:07
INFO ESPHome 2024.2.0
INFO Reading configuration /config/esphome/32.yaml...
ERROR Error while read ...


binary_sensor:
  - platform: gpio
    pin:
      number: 14
      mode: INPUT_PULLUP
    name: "SWITCHguodao"
    id: kaiguan
    on_state:
      - if:
          condition:
            and:
              - binary_sensor.is_on: pir501
              - binary_sensor.is_on: kaiguan
          then:
              - binary_sensor.template.publish:
                  id: trigger
                  state: on
          else:
              - binary_sensor.template.publish:
                  id: trigger
                  state: off

  - platform: gpio
    pin:
      number: 12
      mode: INPUT_PULLUP
    name: "erlouganyingqi"
    device_class: motion
    id: pir501
    filters:
      - delayed_off: 10s      
    on_press:
      then:
        - if:
            condition:
              and:
                - binary_sensor.is_on: pir501
            then:
              - logger.log: "Detected somebody activity"
              - binary_sensor.template.publish:
                  id: trigger
                  state: on
            else:
              - logger.log: "There is no one around"
              - binary_sensor.template.publish:
                  id: trigger
                  state: on
    on_release:                           
      then:
        - switch.turn_off: relay

  - platform: template
    name: "Infrared sensor"
    id: trigger
    device_class: motion
    on_press:
      - switch.turn_off: relay
    on_release:                           
      - switch.turn_off: relay

switch:
  - platform: gpio
    name: "SWITCHguodao"
    pin: GPIO4
    id: relay



回复

使用道具 举报

15

主题

220

帖子

1759

积分

金牌会员

Rank: 6Rank: 6

积分
1759
金钱
1539
HASS币
0
 楼主| 发表于 2024-2-25 17:50:02 | 显示全部楼层
kjjuhfv 发表于 2024-2-24 16:14
binary_sensor:
  - platform: gpio
    pin:

老哥,按照你这个配置翘板开关无法打开继电器,(翘板开关切换状态)pir触发也无法打开,只能用ha里面的开关打开继电器.0.0
回复

使用道具 举报

24

主题

579

帖子

2683

积分

金牌会员

Rank: 6Rank: 6

积分
2683
金钱
2104
HASS币
0
发表于 2024-2-25 18:12:00 | 显示全部楼层
本帖最后由 kjjuhfv 于 2024-2-25 18:13 编辑
Awe7 发表于 2024-2-25 17:50
老哥,按照你这个配置翘板开关无法打开继电器,(翘板开关切换状态)pir触发也无法打开,只能用ha里面的 ...

哈哈忘记修改几处了
晚上回去再帮你改
回复

使用道具 举报

24

主题

579

帖子

2683

积分

金牌会员

Rank: 6Rank: 6

积分
2683
金钱
2104
HASS币
0
发表于 2024-2-25 20:05:47 | 显示全部楼层
Awe7 发表于 2024-2-25 17:50
老哥,按照你这个配置翘板开关无法打开继电器,(翘板开关切换状态)pir触发也无法打开,只能用ha里面的 ...

其实我还是没有搞清楚你到底什么要求 我加上注释了 你自己看着理解吧

binary_sensor:
  - platform: gpio
    pin:
      number: 14
      mode: INPUT_PULLUP
    name: "SWITCHguodao"
    id: kaiguan
    on_state:
      - if:
          condition:   #检查条件 
            and:
              - binary_sensor.is_on: pir501
              - binary_sensor.is_on: kaiguan
          then:   #id为pir501和kaiguan同时状态为on的时候 执行发布id为trigger的传感器状态为on
              - binary_sensor.template.publish:
                  id: trigger
                  state: on
          else:   #id为pir501和kaiguan没有同时状态为on的时候 执行发布id为trigger的传感器状态为off
              - binary_sensor.template.publish:
                  id: trigger
                  state: off

  - platform: gpio
    pin:
      number: 12
      mode: INPUT_PULLUP
    name: "erlouganyingqi"
    device_class: motion
    id: pir501
    filters:
      - delayed_off: 10s      #延迟10秒发布状态为off
    on_press:   #按下时 对id为trigger的传感器发布状态on
            then:
              - logger.log: "Detected somebody activity"
              - binary_sensor.template.publish:
                  id: trigger
                  state: on
    on_release:     #松开时 对id为trigger的传感器发布状态off                       
              - logger.log: "There is no one around"
              - binary_sensor.template.publish:
                  id: trigger
                  state: on

  - platform: template
    name: "Infrared sensor"
    id: trigger
    device_class: motion
    on_press:
      - switch.turn_on: relay
    on_release:                           
      - switch.turn_off: relay

switch:
  - platform: gpio
    name: "SWITCHguodao"
    pin: GPIO4
    id: relay
回复

使用道具 举报

15

主题

220

帖子

1759

积分

金牌会员

Rank: 6Rank: 6

积分
1759
金钱
1539
HASS币
0
 楼主| 发表于 2024-2-25 21:07:46 | 显示全部楼层
kjjuhfv 发表于 2024-2-25 20:05
其实我还是没有搞清楚你到底什么要求 我加上注释了 你自己看着理解吧

   
binary_sensor:
  - platform: gpio
    pin:
      number: 14
      mode: INPUT_PULLUP
    name: "SWITCHguodao"
    id: kaiguan
    on_press:
      - switch.toggle: relay

  - platform: gpio
    pin:
      number: 12
      mode: INPUT_PULLUP
    name: "erlouganyingqi"
    device_class: motion
    id: pir501
    filters:
      - invert:
      - delayed_on: 800ms
      - delayed_off: 10s          #延时关闭
    on_press:
      then:
        - if:
            condition:
              and:
                - binary_sensor.is_on: pir501
         
            then:
              - logger.log: "Detected somebody activity"
              - switch.turn_on: relay
              
            else:
              - logger.log: "There is no one around"
              - switch.turn_off: relay

    on_release:                                   #感应不到人关闭开关
      then:
        - switch.turn_off: relay
switch:
  - platform: gpio
    name: "SWITCHguodao"
    pin: GPIO4
    id: relay

按照上面配置  当感应到有人时继电器会开启,延迟10s后关闭。   id:kaiguan可以手动控制继电器开关。 但通过id;kaiguan开启继电器后 (若没有继续触发感应器就会延迟10s后自动关闭),

现需求是  当id:kaiguan  手动打开时, 感应器不能控制继电器关闭状态。  
               当id:kaiguan手动打开时,感应器正常控制继电器,正常开关(感应到人自动开,无人时延迟10s关闭继电器)

以上   
               
回复

使用道具 举报

24

主题

579

帖子

2683

积分

金牌会员

Rank: 6Rank: 6

积分
2683
金钱
2104
HASS币
0
发表于 2024-2-25 21:35:54 | 显示全部楼层
本帖最后由 kjjuhfv 于 2024-2-25 21:50 编辑
Awe7 发表于 2024-2-25 21:07
binary_sensor:
  - platform: gpio
    pin:

binary_sensor:
  - platform: gpio
    pin:
      number: 14
      mode: INPUT_PULLUP
    name: "SWITCHguodao"
    id: kaiguan
    on_press:  #只有按下时切换开关 松开没有行动
      - switch.toggle: relay

  - platform: gpio
    pin:
      number: 12
      mode: INPUT_PULLUP
    name: "erlouganyingqi"
    device_class: motion
    id: pir501
    filters:
      #- invert:   反转数值
      #- delayed_on: 800ms
      - delayed_off: 10s          #延时关闭
    on_press:
        - switch.turn_on: relay
    on_release:                                   #感应不到人关闭开关
      then:
        - if:
            condition: 
              - binary_sensor.is_on: kaiguan
            then:  #检查到id为kaiguan的状态打开时 只输出log
              - logger.log: "Detected somebody activity"
            else:  #检查到id为kaiguan的状态未打开时 关闭开关
              - logger.log: "There is no one around"
              - switch.turn_off: relay

switch:
  - platform: gpio
    name: "SWITCHguodao"
    pin: GPIO4
    id: relay




=======================
重新发过了
回复

使用道具 举报

15

主题

220

帖子

1759

积分

金牌会员

Rank: 6Rank: 6

积分
1759
金钱
1539
HASS币
0
 楼主| 发表于 2024-2-25 23:02:01 | 显示全部楼层
kjjuhfv 发表于 2024-2-25 21:35
=======================
重新发过了

好的老哥 ,我测试下
谢谢
回复

使用道具 举报

15

主题

220

帖子

1759

积分

金牌会员

Rank: 6Rank: 6

积分
1759
金钱
1539
HASS币
0
 楼主| 发表于 2024-3-1 18:20:53 | 显示全部楼层
kjjuhfv 发表于 2024-2-25 21:35
=======================
重新发过了

已解决问题,再次感谢
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 23:19 , Processed in 0.141556 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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