mirror of
https://github.com/esphome/esphome.git
synced 2025-11-18 15:55:46 +00:00
144 lines
3.1 KiB
YAML
144 lines
3.1 KiB
YAML
touchscreen:
|
|
- platform: ft63x6
|
|
i2c_id: i2c_bus
|
|
id: tft_touch
|
|
display: tft_display
|
|
update_interval: 50ms
|
|
threshold: 1
|
|
|
|
font:
|
|
- file: "$component_dir/roboto.ttf"
|
|
id: roboto20
|
|
size: 20
|
|
|
|
- file: "$component_dir/helvetica.ttf"
|
|
id: helvetica20
|
|
- file: "$component_dir/roboto.ttf"
|
|
id: roboto10
|
|
size: 10
|
|
bpp: 4
|
|
|
|
sensor:
|
|
- platform: lvgl
|
|
id: lvgl_sensor_id
|
|
name: "LVGL Arc Sensor"
|
|
widget: lv_arc
|
|
- platform: lvgl
|
|
widget: slider_id
|
|
name: LVGL Slider Sensor
|
|
- platform: lvgl
|
|
widget: bar_id
|
|
id: lvgl_bar_sensor
|
|
name: LVGL Bar Sensor
|
|
- platform: lvgl
|
|
widget: spinbox_id
|
|
name: LVGL Spinbox Sensor
|
|
|
|
number:
|
|
- platform: lvgl
|
|
widget: slider_id
|
|
name: LVGL Slider Number
|
|
update_on_release: true
|
|
restore_value: true
|
|
- platform: lvgl
|
|
widget: lv_arc
|
|
id: lvgl_arc_number
|
|
name: LVGL Arc Number
|
|
- platform: lvgl
|
|
widget: bar_id
|
|
id: lvgl_bar_number
|
|
name: LVGL Bar Number
|
|
- platform: lvgl
|
|
widget: spinbox_id
|
|
id: lvgl_spinbox_number
|
|
name: LVGL Spinbox Number
|
|
- platform: template
|
|
id: test_brightness
|
|
name: "Test Brightness"
|
|
min_value: 0
|
|
max_value: 255
|
|
step: 1
|
|
optimistic: true
|
|
# Test lambda in automation accessing x parameter directly
|
|
# This is a real-world pattern from user configs
|
|
on_value:
|
|
- lambda: !lambda |-
|
|
// Direct use of x parameter in automation
|
|
ESP_LOGD("test", "Brightness: %.0f", x);
|
|
|
|
light:
|
|
- platform: lvgl
|
|
name: LVGL LED
|
|
id: lv_light
|
|
widget: lv_led
|
|
|
|
binary_sensor:
|
|
- platform: lvgl
|
|
id: lvgl_pressbutton
|
|
name: Pressbutton
|
|
widget: spin_up
|
|
trigger_on_initial_state: true
|
|
- platform: lvgl
|
|
name: ButtonMatrix button
|
|
widget: button_a
|
|
- platform: lvgl
|
|
id: switch_d
|
|
name: Matrix switch D
|
|
widget: button_d
|
|
on_click:
|
|
then:
|
|
- lvgl.page.previous:
|
|
animation: move_right
|
|
time: 600ms
|
|
- platform: lvgl
|
|
id: button_checker
|
|
name: LVGL button
|
|
widget: spin_up
|
|
on_state:
|
|
then:
|
|
- lvgl.checkbox.update:
|
|
id: checkbox_id
|
|
state:
|
|
checked: !lambda return x;
|
|
text: Unchecked
|
|
- platform: lvgl
|
|
name: LVGL checkbox
|
|
widget: checkbox_id
|
|
on_state:
|
|
then:
|
|
- lvgl.image.update:
|
|
id: lv_image
|
|
src: !lambda if (x) return id(cat_image); else return id(dog_image);
|
|
|
|
wifi:
|
|
ssid: SSID
|
|
password: PASSWORD123
|
|
|
|
time:
|
|
platform: sntp
|
|
id: time_id
|
|
|
|
text:
|
|
- id: lvgl_text
|
|
platform: lvgl
|
|
widget: hello_label
|
|
mode: text
|
|
|
|
text_sensor:
|
|
- platform: template
|
|
id: test_text_sensor
|
|
name: "Test Text Sensor"
|
|
# Test nested lambdas in LVGL actions can access automation parameters
|
|
on_value:
|
|
- lvgl.label.update:
|
|
id: hello_label
|
|
text: !lambda return x.c_str();
|
|
- lvgl.label.update:
|
|
id: hello_label
|
|
text: !lambda |-
|
|
// Test complex lambda with conditionals accessing x parameter
|
|
if (x == "*") {
|
|
return "WILDCARD";
|
|
}
|
|
return x.c_str();
|