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

 找回密码
 立即注册
查看: 314|回复: 7

[已解决] 求助大神ESPhome无法使用automation

[复制链接]

6

主题

21

帖子

158

积分

注册会员

Rank: 2

积分
158
金钱
137
HASS币
0
发表于 2024-9-20 23:34:00 | 显示全部楼层 |阅读模式
本帖最后由 zy302688381 于 2024-9-21 12:51 编辑

esphome当前版本 2024.8.3


screenshot.png
esphome:
  name: cs-s-b
  friendly_name: CS-S-B

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "+aB7U1UB5Z3W+cNM3ReX7gtRGpe10O4H+bmDeq8UWWI="

ota:
  - platform: esphome
    password: "7e3136e98d11f564899e87005bd8668f"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Cs-S-B Fallback Hotspot"
    password: "K5p5tCDdWIVZ"

captive_portal:
    

web_server: ##web控制,添加了这2行,就可以在网页端打开设备ip
  port: 80


time: #时间
  - platform: sntp
    id: my_time
    servers: 120.25.108.11
    update_interval: 24h
  
# 定义二进制传感器
binary_sensor:
  - platform: gpio
    pin: GPIO33  # 替换为实际连接的GPIO引脚
    id: water_sensor
    on_press:
      then:
        - lambda: |-
            // 每次触发时增加水量计数器
            if (id(water_meter).state < 1.2) {
              id(water_meter).state += 0.01;
            }
            // 如果达到1.2立方米,则关闭阀门
            if (id(water_meter).state >= 1.2) {
              id(close_valve).turn_on();
            }

# 定义水表传感器,用于记录累积水量
sensor:
  - platform: template
    id: water_meter
    name: "Water Meter"
    unit_of_measurement: "m³"
    accuracy_decimals: 2
    lambda: return id(water_sensor).state;

# 定义开关
switch:
  - platform: gpio
    pin: GPIO20   # 替换为实际连接的GPIO引脚
    id: open_valve
    name: "开阀门"
  - platform: gpio
    pin: GPIO21  # 替换为实际连接的GPIO引脚
    id: close_valve
    name: "关阀门"

# 每天中午12点重置水量计数器
# 定时任务,每天中午12点执行重置脚本

# String time
automation:
  - id: reset_counter_at_noon
    trigger:
      platform: time
      at: '12:00:00'
    action:
      - lambda: |-
          id(water_meter).state = 0.0;


回复

使用道具 举报

6

主题

21

帖子

158

积分

注册会员

Rank: 2

积分
158
金钱
137
HASS币
0
 楼主| 发表于 2024-9-20 23:35:10 | 显示全部楼层
我最后的自动化是想要每天12点重置计数的
回复

使用道具 举报

24

主题

579

帖子

2681

积分

金牌会员

Rank: 6Rank: 6

积分
2681
金钱
2102
HASS币
0
发表于 2024-9-21 01:25:16 | 显示全部楼层
没有automation这个组件
你的代码是问ai的吗?
回复

使用道具 举报

14

主题

430

帖子

2697

积分

金牌会员

Rank: 6Rank: 6

积分
2697
金钱
2267
HASS币
0
发表于 2024-9-21 07:17:26 来自手机 | 显示全部楼层
ai放飞自我,信手胡扯
回复

使用道具 举报

38

主题

199

帖子

1607

积分

金牌会员

Rank: 6Rank: 6

积分
1607
金钱
1408
HASS币
0
发表于 2024-9-21 12:41:22 来自手机 | 显示全部楼层
一看就是ai胡扯来的
回复

使用道具 举报

6

主题

21

帖子

158

积分

注册会员

Rank: 2

积分
158
金钱
137
HASS币
0
 楼主| 发表于 2024-9-21 12:50:35 | 显示全部楼层
kjjuhfv 发表于 2024-9-21 01:25
没有automation这个组件
你的代码是问ai的吗?

是的,解决了,我压根不知道没有automation 组件的我问AI 他还觉得是我没更新到最新的esphome,后来我在时间组件看到自动化我才知道被耍了
time:
  - platform: sntp
    id: my_time
    servers: 120.25.108.11
    update_interval: 24h
    on_time:
    # 每天中午12点执行一次
    - hours: 12
      then:
        # 在满足条件时执行的操作
      - lambda: |-
          id(water_meter).state = 0.0;
回复

使用道具 举报

46

主题

1654

帖子

6674

积分

论坛元老

Rank: 8Rank: 8

积分
6674
金钱
5010
HASS币
40
发表于 2024-9-21 15:06:06 | 显示全部楼层
ai只适合辅助老手,对于新手容易带坑
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

6

主题

21

帖子

158

积分

注册会员

Rank: 2

积分
158
金钱
137
HASS币
0
 楼主| 发表于 2024-9-21 18:51:45 | 显示全部楼层
jjcs 发表于 2024-9-21 15:06
ai只适合辅助老手,对于新手容易带坑

是啊,我第一次在esphome写这种,现在修改好了 现在等时间看看会不会清空,


time: #时间
  - platform: sntp
    id: my_time
    servers: 120.25.108.11
    update_interval: 24h
    on_time:
    # 每天中午12点执行一次
    - hours: 12
      then:
        # 在满足条件时执行的操作
      - lambda: |-
          id(Total_Energy).state = 0.0;

sensor:
  - platform: pulse_counter
    pin: GPIO2
    name: "water_meter"
    id: water_meter
    unit_of_measurement: 'm³'
    update_interval: 60s #上报时间间隔
    filters:
      - multiply: 0.5


  - platform: integration
    name: '总量'
    id: Total_Energy
    sensor: water_meter
    unit_of_measurement: 'm³'
    time_unit: h
    restore: true
    state_class: total_increasing
    device_class: energy
    on_value_range:
      - above: 0.625
        then:
          - switch.turn_on: close_valve


          
# 定义二进制传感器
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO4
      #inverted: True
      mode: INPUT_PULLUP
    name: "开阀门限位=状态"
    device_class: opening
    filters:
      - delayed_on_off: 1000ms
    on_release:
      - then:
        - switch.turn_off: open_valve


  - platform: gpio
    pin:
      number: GPIO5
      #inverted: True
      mode: INPUT_PULLUP
    name: "关阀门限位=状态"
    device_class: opening
    filters:
      - delayed_on_off: 1000ms
    on_release:
      - then:
        - switch.turn_off: close_valve

    

# 定义开关
switch:
  - platform: gpio
    pin: GPIO43   # 替换为实际连接的GPIO引脚
    id: open_valve
    name: "开阀门"
    on_turn_on:
      - then:
        - switch.turn_off: close_valve

  - platform: gpio
    pin: GPIO44  # 替换为实际连接的GPIO引脚
    id: close_valve
    name: "关阀门"
    on_turn_on:
      - then:
        - switch.turn_off: open_valve
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-22 16:40 , Processed in 0.055581 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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