diff --git a/package/base.yaml b/package/base.yaml index 788ed76..c258879 100644 --- a/package/base.yaml +++ b/package/base.yaml @@ -92,6 +92,28 @@ time: - platform: homeassistant id: datetime +number: + ## Creates a number entity in Home Assistant + # It sets the menu of the Button Plus + # The menu item + - platform: template + name: "Menu Selector" + id: menuselector + optimistic: true + min_value: 0 # keep at 0 + max_value: 10 # Maximum number of menu items. You can change this + step: 1 + on_value: + then: + - lambda: |- + if(id(menuselector).state >= id(nr_of_pages)) { + id(actual_page) = id(nr_of_pages)-1; + } else { + id(actual_page) = id(menuselector).state; + } + # Refresh the screen + - script.execute: update_page + script: ###################### ### paging scripts ### @@ -103,14 +125,7 @@ script: if(id(actual_page) >= id(nr_of_pages)) { id(actual_page) = 0; } - id(active_page_name) = id(page_names)[id(actual_page)]; - - script.execute: update_all - - sensor.template.publish: - id: active_page_id_ha - state: !lambda 'return id(actual_page);' - - text_sensor.template.publish: - id: active_page_name_ha - state: !lambda 'return id(active_page_name);' + - script.execute: update_page - id: prev_page then: - lambda: |- @@ -118,6 +133,10 @@ script: if(id(actual_page) < 0) { id(actual_page) = id(nr_of_pages) - 1; } + - script.execute: update_page + - id: update_page + then: + - lambda: |- id(active_page_name) = id(page_names)[id(actual_page)]; - script.execute: update_all - sensor.template.publish: @@ -126,3 +145,7 @@ script: - text_sensor.template.publish: id: active_page_name_ha state: !lambda 'return id(active_page_name);' + - number.set: + id: menuselector + value: !lambda 'return id(actual_page);' +