mirror of
https://github.com/esphome/esphome.git
synced 2025-09-02 03:12:20 +01:00
54 lines
1.3 KiB
YAML
54 lines
1.3 KiB
YAML
esphome:
|
|
name: loop-test
|
|
|
|
host:
|
|
api:
|
|
logger:
|
|
level: DEBUG
|
|
|
|
external_components:
|
|
- source:
|
|
type: local
|
|
path: EXTERNAL_COMPONENT_PATH
|
|
|
|
loop_test_component:
|
|
components:
|
|
# Component that disables itself after 10 loops
|
|
- id: self_disable_10
|
|
name: "self_disable_10"
|
|
disable_after: 10
|
|
|
|
# Component that never disables itself (for re-enable test)
|
|
- id: normal_component
|
|
name: "normal_component"
|
|
disable_after: 0
|
|
|
|
# Component that tests enable when already enabled
|
|
- id: redundant_enable
|
|
name: "redundant_enable"
|
|
test_redundant_operations: true
|
|
disable_after: 0
|
|
|
|
# Component that tests disable when already disabled
|
|
- id: redundant_disable
|
|
name: "redundant_disable"
|
|
test_redundant_operations: true
|
|
disable_after: 10
|
|
|
|
# ISR test component that uses enable_loop_soon_any_context
|
|
isr_components:
|
|
- id: isr_test
|
|
name: "isr_test"
|
|
|
|
# Interval to re-enable the self_disable_10 component after some time
|
|
interval:
|
|
- interval: 0.5s
|
|
then:
|
|
- if:
|
|
condition:
|
|
lambda: 'return id(self_disable_10).get_loop_count() == 10;'
|
|
then:
|
|
- logger.log: "Re-enabling self_disable_10 via service"
|
|
- loop_test_component.enable:
|
|
id: self_disable_10
|