Dynamically generate events file
This commit is contained in:
@@ -0,0 +1,358 @@
|
||||
## Dynamically generated on xx-xx-xxxx
|
||||
## Run python script again to update
|
||||
|
||||
substitutions:
|
||||
nr_of_pages: 2
|
||||
|
||||
# Dynamically generated list
|
||||
display_events:
|
||||
- "double_click page 0"
|
||||
- "triple_click page 0"
|
||||
- "hold page 0"
|
||||
- "double_click page 1"
|
||||
- "triple_click page 1"
|
||||
- "hold page 1"
|
||||
|
||||
# Dynamically generated list
|
||||
button_events:
|
||||
- "click page 0"
|
||||
- "double_click page 0"
|
||||
- "triple_click page 0"
|
||||
- "hold page 0"
|
||||
- "click page 1"
|
||||
- "double_click page 1"
|
||||
- "triple_click page 1"
|
||||
- "hold page 1"
|
||||
|
||||
event:
|
||||
- platform: template
|
||||
name: DISPLAY Button Left event
|
||||
id: display_btn_left_event
|
||||
device_class: button
|
||||
event_types: ${display_events}
|
||||
- platform: template
|
||||
name: DISPLAY Button Right event
|
||||
id: display_btn_right_event
|
||||
device_class: button
|
||||
event_types: ${display_events}
|
||||
- platform: template
|
||||
name: BAR1 Button Left event
|
||||
id: bar1_btn_left_event
|
||||
device_class: button
|
||||
event_types: ${button_events}
|
||||
- platform: template
|
||||
name: BAR1 Button Right event
|
||||
id: bar1_btn_right_event
|
||||
device_class: button
|
||||
event_types: ${button_events}
|
||||
- platform: template
|
||||
name: BAR2 Button Left event
|
||||
id: bar2_btn_left_event
|
||||
device_class: button
|
||||
event_types: ${button_events}
|
||||
- platform: template
|
||||
name: BAR2 Button Right event
|
||||
id: bar2_btn_right_event
|
||||
device_class: button
|
||||
event_types: ${button_events}
|
||||
- platform: template
|
||||
name: BAR3 Button Left event
|
||||
id: bar3_btn_left_event
|
||||
device_class: button
|
||||
event_types: ${button_events}
|
||||
- platform: template
|
||||
name: BAR3 Button Right event
|
||||
id: bar3_btn_right_event
|
||||
device_class: button
|
||||
event_types: ${button_events}
|
||||
|
||||
binary_sensor:
|
||||
- id: !extend main_display_btn_left
|
||||
filters:
|
||||
- delayed_off: 10ms
|
||||
internal: true
|
||||
on_multi_click:
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
- script.execute: prev_page
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(display_btn_left_event).trigger("double_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(display_btn_left_event).trigger("triple_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for 1s to 5s
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(display_btn_left_event).trigger("hold page " + std::to_string(id(actual_page)));
|
||||
|
||||
- id: !extend main_display_btn_right
|
||||
filters:
|
||||
- delayed_off: 10ms
|
||||
internal: true
|
||||
on_multi_click:
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
- script.execute: next_page
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(display_btn_right_event).trigger("double_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(display_btn_right_event).trigger("triple_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for 1s to 5s
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(display_btn_right_event).trigger("hold page " + std::to_string(id(actual_page)));
|
||||
|
||||
- id: !extend bar1_btn_left
|
||||
filters:
|
||||
- delayed_off: 10ms
|
||||
internal: true
|
||||
on_multi_click:
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar1_btn_left_event).trigger("click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar1_btn_left_event).trigger("double_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar1_btn_left_event).trigger("triple_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for 1s to 5s
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar1_btn_left_event).trigger("hold page " + std::to_string(id(actual_page)));
|
||||
|
||||
|
||||
- id: !extend bar1_btn_right
|
||||
filters:
|
||||
- delayed_off: 10ms
|
||||
internal: true
|
||||
on_multi_click:
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar1_btn_right_event).trigger("click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar1_btn_right_event).trigger("double_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar1_btn_right_event).trigger("triple_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for 1s to 5s
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar1_btn_right_event).trigger("hold page " + std::to_string(id(actual_page)));
|
||||
|
||||
|
||||
- id: !extend bar2_btn_left
|
||||
filters:
|
||||
- delayed_off: 10ms
|
||||
internal: true
|
||||
on_multi_click:
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar2_btn_left_event).trigger("click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar2_btn_left_event).trigger("double_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar2_btn_left_event).trigger("triple_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for 1s to 5s
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar2_btn_left_event).trigger("hold page " + std::to_string(id(actual_page)));
|
||||
|
||||
- id: !extend bar2_btn_right
|
||||
filters:
|
||||
- delayed_off: 10ms
|
||||
internal: true
|
||||
on_multi_click:
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar2_btn_right_event).trigger("click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar2_btn_right_event).trigger("double_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar2_btn_right_event).trigger("triple_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for 1s to 5s
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar2_btn_right_event).trigger("hold page " + std::to_string(id(actual_page)));
|
||||
|
||||
|
||||
- id: !extend bar3_btn_left
|
||||
filters:
|
||||
- delayed_off: 10ms
|
||||
internal: true
|
||||
on_multi_click:
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar3_btn_left_event).trigger("click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar3_btn_left_event).trigger("double_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar3_btn_left_event).trigger("triple_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for 1s to 5s
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar3_btn_left_event).trigger("hold page " + std::to_string(id(actual_page)));
|
||||
|
||||
|
||||
- id: !extend bar3_btn_right
|
||||
filters:
|
||||
- delayed_off: 10ms
|
||||
internal: true
|
||||
on_multi_click:
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar3_btn_right_event).trigger("click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar3_btn_right_event).trigger("double_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at most 0.2s
|
||||
- ON for at most 300ms
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar3_btn_right_event).trigger("triple_click page " + std::to_string(id(actual_page)));
|
||||
- timing:
|
||||
- ON for 1s to 5s
|
||||
- OFF for at least 0.2s
|
||||
then:
|
||||
lambda: |-
|
||||
id(bar3_btn_right_event).trigger("hold page " + std::to_string(id(actual_page)));
|
||||
Reference in New Issue
Block a user