119 lines
3.0 KiB
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());'
|