esphome/tests/components/lcd_menu/test.esp32.yaml

119 lines
3.0 KiB
YAML

number:
- platform: template
id: test_number
min_value: 0
step: 1
max_value: 10
optimistic: true
select:
- platform: template
id: test_select
options:
- one
- two
optimistic: true
switch:
- platform: template
name: Template Switch
id: my_switch
optimistic: true
display:
- platform: lcd_gpio
id: my_lcd_gpio
dimensions: 18x4
data_pins:
- number: 12
- number: 13
- number: 14
- number: 15
enable_pin: 16
rs_pin: 5
lambda: |-
it.print("Hello World!");
lcd_menu:
id: test_lcd_menu
display_id: my_lcd_gpio
mark_back: 0x5e
mark_selected: 0x3e
mark_editing: 0x2a
mark_submenu: 0x7e
active: false
mode: rotary
on_enter:
then:
lambda: 'ESP_LOGI("lcd_menu", "root enter");'
on_leave:
then:
lambda: 'ESP_LOGI("lcd_menu", "root leave");'
items:
- type: back
text: Back
- type: label
- type: menu
text: Submenu 1
items:
- type: back
text: Back
- type: menu
text: Submenu 21
items:
- type: back
text: Back
- type: command
text: Show Main
on_value:
then:
- display_menu.show_main: test_lcd_menu
- type: select
text: Enum Item
immediate_edit: true
select: test_select
on_enter:
then:
lambda: 'ESP_LOGI("lcd_menu", "select enter: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
on_leave:
then:
lambda: 'ESP_LOGI("lcd_menu", "select leave: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
on_value:
then:
lambda: 'ESP_LOGI("lcd_menu", "select value: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
- type: number
text: Number
number: test_number
on_enter:
then:
lambda: 'ESP_LOGI("lcd_menu", "number enter: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
on_leave:
then:
lambda: 'ESP_LOGI("lcd_menu", "number leave: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
on_value:
then:
lambda: 'ESP_LOGI("lcd_menu", "number value: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
- type: command
text: Hide
on_value:
then:
- display_menu.hide: test_lcd_menu
- type: switch
text: Switch
switch: my_switch
on_text: Bright
off_text: Dark
immediate_edit: false
on_value:
then:
lambda: 'ESP_LOGI("lcd_menu", "switch value: %s", it->get_value_text().c_str());'
- type: custom
text: !lambda 'return "Custom";'
value_lambda: 'return "Val";'
on_next:
then:
lambda: 'ESP_LOGI("lcd_menu", "custom next: %s", it->get_text().c_str());'
on_prev:
then:
lambda: 'ESP_LOGI("lcd_menu", "custom prev: %s", it->get_text().c_str());'