mirror of
https://github.com/esphome/esphome.git
synced 2026-02-08 00:31:58 +00:00
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
106 lines
1.9 KiB
YAML
106 lines
1.9 KiB
YAML
esphome:
|
|
name: action-concurrent-reentry
|
|
on_boot:
|
|
- priority: -100
|
|
then:
|
|
- repeat:
|
|
count: 5
|
|
then:
|
|
- lambda: id(handler_wait_until)->execute(id(global_counter));
|
|
- lambda: id(handler_repeat)->execute(id(global_counter));
|
|
- lambda: id(handler_while)->execute(id(global_counter));
|
|
- lambda: id(handler_script_wait)->execute(id(global_counter));
|
|
- delay: 50ms
|
|
- lambda: id(global_counter)++;
|
|
- delay: 50ms
|
|
|
|
host:
|
|
|
|
api:
|
|
|
|
globals:
|
|
- id: global_counter
|
|
type: int
|
|
|
|
script:
|
|
- id: handler_wait_until
|
|
|
|
mode: parallel
|
|
|
|
parameters:
|
|
arg: int
|
|
|
|
then:
|
|
- wait_until:
|
|
condition:
|
|
lambda: return id(global_counter) == 5;
|
|
|
|
- logger.log:
|
|
format: "AFTER wait_until ARG %d"
|
|
args:
|
|
- arg
|
|
|
|
- id: handler_script_wait
|
|
|
|
mode: parallel
|
|
|
|
parameters:
|
|
arg: int
|
|
|
|
then:
|
|
- script.wait: handler_wait_until
|
|
|
|
- logger.log:
|
|
format: "AFTER script.wait ARG %d"
|
|
args:
|
|
- arg
|
|
|
|
- id: handler_repeat
|
|
|
|
mode: parallel
|
|
|
|
parameters:
|
|
arg: int
|
|
|
|
then:
|
|
- repeat:
|
|
count: 3
|
|
then:
|
|
- logger.log:
|
|
format: "IN repeat %d ARG %d"
|
|
args:
|
|
- iteration
|
|
- arg
|
|
- delay: 100ms
|
|
|
|
- logger.log:
|
|
format: "AFTER repeat ARG %d"
|
|
args:
|
|
- arg
|
|
|
|
- id: handler_while
|
|
|
|
mode: parallel
|
|
|
|
parameters:
|
|
arg: int
|
|
|
|
then:
|
|
- while:
|
|
condition:
|
|
lambda: return id(global_counter) != 5;
|
|
then:
|
|
- logger.log:
|
|
format: "IN while ARG %d"
|
|
args:
|
|
- arg
|
|
- delay: 100ms
|
|
|
|
- logger.log:
|
|
format: "AFTER while ARG %d"
|
|
args:
|
|
- arg
|
|
|
|
logger:
|
|
level: DEBUG
|