mirror of
https://github.com/esphome/esphome.git
synced 2025-09-01 19:02:18 +01:00
35 lines
1.2 KiB
YAML
35 lines
1.2 KiB
YAML
esphome:
|
|
name: scheduler-defer-cancel-regular
|
|
|
|
host:
|
|
|
|
logger:
|
|
level: DEBUG
|
|
|
|
api:
|
|
services:
|
|
- service: test_defer_cancels_regular
|
|
then:
|
|
- lambda: |-
|
|
ESP_LOGI("TEST", "Starting defer cancels regular timeout test");
|
|
|
|
// Schedule a regular timeout with 100ms delay
|
|
App.scheduler.set_timeout(nullptr, "test_timeout", 100, []() {
|
|
ESP_LOGE("TEST", "ERROR: Regular timeout executed - should have been cancelled!");
|
|
});
|
|
|
|
ESP_LOGI("TEST", "Scheduled regular timeout with 100ms delay");
|
|
|
|
// Immediately schedule a deferred timeout (0 delay) with the same name
|
|
// This should cancel the regular timeout
|
|
App.scheduler.set_timeout(nullptr, "test_timeout", 0, []() {
|
|
ESP_LOGI("TEST", "SUCCESS: Deferred timeout executed");
|
|
});
|
|
|
|
ESP_LOGI("TEST", "Scheduled deferred timeout - should cancel regular timeout");
|
|
|
|
// Schedule test completion after 200ms (after regular timeout would have fired)
|
|
App.scheduler.set_timeout(nullptr, "test_complete", 200, []() {
|
|
ESP_LOGI("TEST", "Test complete");
|
|
});
|