mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00: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");
 | |
|             });
 |