Files
esphome/tests/components/script/common.yaml

72 lines
1.9 KiB
YAML

esphome:
on_boot:
then:
- script.execute: my_script
- script.execute:
id: my_script_with_params
prefix: "Test"
param2: 0
param3: true
- script.execute:
id: my_script_with_array_params
ints: [42, 100]
floats: [1.5, 2.5]
bools: [true, false]
strings: ["a", "b"]
- script.wait: my_script
- script.stop: my_script
- if:
condition:
- script.is_running: my_script
then:
- logger.log: my_script is running
script:
- id: my_script
mode: single
then:
- lambda: 'ESP_LOGD("main", "Hello World!");'
- id: my_script_queued
mode: queued
max_runs: 2
then:
- lambda: 'ESP_LOGD("main", "Hello World!");'
- id: my_script_parallel
mode: parallel
max_runs: 2
then:
- lambda: 'ESP_LOGD("main", "Hello World!");'
- id: my_script_restart
mode: restart
then:
- lambda: 'ESP_LOGD("main", "Hello World!");'
- id: my_script_with_array_params
parameters:
ints: int[]
floats: float[]
bools: bool[]
strings: string[]
then:
- lambda: |-
ESP_LOGD("main", "ints=%d floats=%f bools=%d strings=%s",
ints[0], floats[0], (int) bools[0], strings[0].c_str());
- id: my_script_with_params
parameters:
prefix: string
param2: uint8_t
param3: bool
then:
- lambda: 'ESP_LOGD(prefix.c_str(), "Hello World! %u %u", param2, param3);'
- if:
condition:
for:
time: !lambda "return param2;"
condition:
script.is_running: my_script
then:
- lambda: 'ESP_LOGD("main", "API has stayed connected for at least %u minutes", param2);'
- repeat:
count: 5
then:
- logger.log: looping!