## 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)));