55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
esphome:
|
|
name: test-script-wait-on-boot
|
|
on_boot:
|
|
# Use default priority (600.0) which is same as ScriptWaitAction's setup priority
|
|
# This tests the race condition where on_boot runs before ScriptWaitAction::setup()
|
|
then:
|
|
- logger.log: "=== on_boot: Starting boot sequence ==="
|
|
- script.execute: show_start_page
|
|
- script.wait: show_start_page
|
|
- logger.log: "=== on_boot: First script completed, starting second ==="
|
|
- script.execute: flip_thru_pages
|
|
- script.wait: flip_thru_pages
|
|
- logger.log: "=== on_boot: All boot scripts completed successfully ==="
|
|
|
|
host:
|
|
|
|
api:
|
|
actions:
|
|
# Manual trigger for additional testing
|
|
- action: test_script_wait
|
|
then:
|
|
- logger.log: "=== Manual test: Starting ==="
|
|
- script.execute: show_start_page
|
|
- script.wait: show_start_page
|
|
- logger.log: "=== Manual test: First script completed ==="
|
|
- script.execute: flip_thru_pages
|
|
- script.wait: flip_thru_pages
|
|
- logger.log: "=== Manual test: All completed ==="
|
|
|
|
logger:
|
|
level: DEBUG
|
|
|
|
script:
|
|
# First script - simulates display initialization
|
|
- id: show_start_page
|
|
mode: single
|
|
then:
|
|
- logger.log: "show_start_page: Starting"
|
|
- delay: 100ms
|
|
- logger.log: "show_start_page: After delay 1"
|
|
- delay: 100ms
|
|
- logger.log: "show_start_page: Completed"
|
|
|
|
# Second script - simulates page flip sequence
|
|
- id: flip_thru_pages
|
|
mode: single
|
|
then:
|
|
- logger.log: "flip_thru_pages: Starting"
|
|
- delay: 50ms
|
|
- logger.log: "flip_thru_pages: Page 1"
|
|
- delay: 50ms
|
|
- logger.log: "flip_thru_pages: Page 2"
|
|
- delay: 50ms
|
|
- logger.log: "flip_thru_pages: Completed"
|