想在EspHome内部做一个计数自动化,HA挂掉的话也不影响它
目标是统计开关1打开的次数,达到比如100次后清0并且运行打开开关2
计数也会同步到HA里
参考官方文档:https://esphome.io/components/number/template.html
大概写出了这个统计组件
globals: #全局变量
- id: bubble_int
type: int
restore_value: no
initial_value: '0'
number:
- platform: template
name: Number Of Bubble
id: numberbubble
min_value: 0
max_value: 1000
step: 1
set_action: #同步HA里操作
then:
- globals.set:
id: bubble_int
value: !lambda 'return x;'
on_value_range: #次数超过5后设置清0,然后打开开关2
above: 5
then:
- number.set:
id: numberbubble
value: 0
- switch.turn_on: relay2
switch:
- platform: gpio
pin:
number: 16
name: froth
id: relay1
on_turn_on:
then:
- lambda: |- #每次打开开关1自动全局变量计数+1
id(numberbubble) += 1;
遇到的问题是:
1.esphome重启后数量会清0,应该是全局变量那的起始数的问题
2.手动增加计数超过5后也不会清0和启动开关2
3.开关1打开的时候不会计数,应该是lambda代码有误
或者不用globals单纯用number组件的话也行,官方也没这方面的详细说明,谢谢