mirror of
https://github.com/esphome/esphome.git
synced 2025-10-31 23:21:54 +00:00
@@ -9,6 +9,27 @@ esphome:
|
|||||||
id: template_sens
|
id: template_sens
|
||||||
state: !lambda "return 42.0;"
|
state: !lambda "return 42.0;"
|
||||||
|
|
||||||
|
# Test C++ API: set_template() with stateless lambda (no captures)
|
||||||
|
- lambda: |-
|
||||||
|
id(template_sens).set_template([]() -> esphome::optional<float> {
|
||||||
|
return 123.0f;
|
||||||
|
});
|
||||||
|
|
||||||
|
# Test C++ API: set_template() with stateful lambda (with captures)
|
||||||
|
# This is the regression test for issue #11555
|
||||||
|
- lambda: |-
|
||||||
|
float captured_value = 456.0f;
|
||||||
|
id(template_sens).set_template([captured_value]() -> esphome::optional<float> {
|
||||||
|
return captured_value;
|
||||||
|
});
|
||||||
|
|
||||||
|
# Test C++ API: set_template() with more complex capture
|
||||||
|
- lambda: |-
|
||||||
|
auto sensor_id = id(template_sens);
|
||||||
|
id(template_number).set_template([sensor_id]() -> esphome::optional<float> {
|
||||||
|
return sensor_id->state * 2.0f;
|
||||||
|
});
|
||||||
|
|
||||||
- datetime.date.set:
|
- datetime.date.set:
|
||||||
id: test_date
|
id: test_date
|
||||||
date:
|
date:
|
||||||
@@ -215,6 +236,7 @@ cover:
|
|||||||
|
|
||||||
number:
|
number:
|
||||||
- platform: template
|
- platform: template
|
||||||
|
id: template_number
|
||||||
name: "Template number"
|
name: "Template number"
|
||||||
optimistic: true
|
optimistic: true
|
||||||
min_value: 0
|
min_value: 0
|
||||||
|
|||||||
Reference in New Issue
Block a user