Files

hasp_plate01_00_pages.yaml
############################################################################## # Automations for handling the 3 page select buttons at the bottom of each # page on the panel. automation: ############################################################################## # Restore saved page on connect - alias: hasp_plate01_00_RestoreActivePage trigger: - platform: state entity_id: "binary_sensor.plate01_connected" to: "on" - platform: homeassistant event: start action: - service: mqtt.publish data_template: topic: "hasp/plate01/command/page" payload_template: "{{states('input_number.hasp_plate01_activepage')|int}}" ############################################################################## # select hasp_plate01_pagebutton1page in response to page button 1 - alias: hasp_plate01_00_PageButton1Action trigger: - platform: mqtt topic: "hasp/plate01/state/p[1].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[2].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[3].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[4].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[5].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[6].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[7].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[8].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[9].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[10].b[1]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[11].b[1]" payload: "ON" action: - service: input_number.set_value data_template: entity_id: "input_number.hasp_plate01_activepage" value: "{{states('input_number.hasp_plate01_pagebutton1page')|int}}" ############################################################################## # select hasp_plate01_pagebutton2page in response to page button 2 - alias: hasp_plate01_00_PageButton2Action trigger: - platform: mqtt topic: "hasp/plate01/state/p[1].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[2].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[3].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[4].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[5].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[6].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[7].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[8].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[9].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[10].b[2]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[11].b[2]" payload: "ON" action: - service: input_number.set_value data_template: entity_id: "input_number.hasp_plate01_activepage" value: "{{states('input_number.hasp_plate01_pagebutton2page')|int}}" ############################################################################## # select hasp_plate01_pagebutton3page in response to page button 3 - alias: hasp_plate01_00_PageButton3Action trigger: - platform: mqtt topic: "hasp/plate01/state/p[1].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[2].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[3].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[4].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[5].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[6].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[7].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[8].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[9].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[10].b[3]" payload: "ON" - platform: mqtt topic: "hasp/plate01/state/p[11].b[3]" payload: "ON" action: - service: input_number.set_value data_template: entity_id: "input_number.hasp_plate01_activepage" value: "{{states('input_number.hasp_plate01_pagebutton3page')|int}}" ############################################################################## # Update hasp_plate01_00_active_page when changed at the panel - alias: hasp_plate01_00_PanelPageChanged trigger: - platform: mqtt topic: "hasp/plate01/state/page" action: - service: automation.turn_off entity_id: automation.hasp_plate01_00_ActivePageSliderChanged - service: input_number.set_value data_template: entity_id: input_number.hasp_plate01_activepage value: "{{ trigger.payload }}" - service: automation.turn_on entity_id: automation.hasp_plate01_00_ActivePageSliderChanged ############################################################################## # Change page at panel when hasp_plate01_00_active_page updated - alias: hasp_plate01_00_ActivePageSliderChanged trigger: - platform: state entity_id: input_number.hasp_plate01_activepage action: - service: mqtt.publish data_template: topic: "hasp/plate01/command/page" payload: "{{ states('input_number.hasp_plate01_activepage')|int }}" ############################################################################## # Set page button text across all pages to the value selected in the interface # set page button text on each page to hasp-plate01-PageButton1Label - alias: hasp_plate01_00_PageButton1_Text trigger: - platform: state entity_id: input_text.hasp_plate01_pagebutton1label - platform: state entity_id: input_select.hasp_plate01_pagebutton1font - platform: state entity_id: "binary_sensor.plate01_connected" to: "on" - platform: homeassistant event: start action: - service: mqtt.publish data: topic: "hasp/plate01/command/json" payload_template: >- [{%- for i in range(1,12) -%}"p[{{i}}].b[1].txt=\"{{states('input_text.hasp_plate01_pagebutton1label')}}\"",{%- endfor -%}"delay=1", {%- for i in range(1,12) -%}"p[{{i}}].b[1].font={{states('input_select.hasp_plate01_pagebutton1font').split(" ")[0]|int}}",{%- endfor -%}"delay=1"] # set page button text on each page to hasp-plate01-PageButton2Label - alias: hasp_plate01_00_PageButton2_Text trigger: - platform: state entity_id: input_text.hasp_plate01_pagebutton2label - platform: state entity_id: input_select.hasp_plate01_pagebutton2font - platform: state entity_id: "binary_sensor.plate01_connected" to: "on" - platform: homeassistant event: start action: - service: mqtt.publish data: topic: "hasp/plate01/command/json" payload_template: >- [{%- for i in range(1,12) -%}"p[{{i}}].b[2].txt=\"{{states('input_text.hasp_plate01_pagebutton2label')}}\"",{%- endfor -%}"delay=1", {%- for i in range(1,12) -%}"p[{{i}}].b[2].font={{states('input_select.hasp_plate01_pagebutton2font').split(" ")[0]|int}}",{%- endfor -%}"delay=1"] # set page button text on each page to hasp-plate01-PageButton3Label - alias: hasp_plate01_00_PageButton3_Text trigger: - platform: state entity_id: input_text.hasp_plate01_pagebutton3label - platform: state entity_id: input_select.hasp_plate01_pagebutton3font - platform: state entity_id: "binary_sensor.plate01_connected" to: "on" - platform: homeassistant event: start action: - service: mqtt.publish data: topic: "hasp/plate01/command/json" payload_template: >- [{%- for i in range(1,12) -%}"p[{{i}}].b[3].txt=\"{{states('input_text.hasp_plate01_pagebutton3label')}}\"",{%- endfor -%}"delay=1", {%- for i in range(1,12) -%}"p[{{i}}].b[3].font={{states('input_select.hasp_plate01_pagebutton3font').split(" ")[0]|int}}",{%- endfor -%}"delay=1"] ############################################################################## # Set page button colors across selected pages to show active page button - alias: hasp_plate01_00_PageButtonColors_selectedforegroundcolor trigger: - platform: state entity_id: input_number.hasp_plate01_pagebutton1page - platform: state entity_id: input_number.hasp_plate01_pagebutton2page - platform: state entity_id: input_number.hasp_plate01_pagebutton3page - platform: state entity_id: input_number.hasp_plate01_selectedforegroundcolor - platform: state entity_id: "binary_sensor.plate01_connected" to: "on" - platform: homeassistant event: start action: - service: mqtt.publish data: topic: "hasp/plate01/command/json" payload_template: >- [{%- for i in range(1,12) -%} {% if i == states('input_number.hasp_plate01_pagebutton1page')|int -%} "p[{{i}}].b[1].pco={{ states('input_number.hasp_plate01_selectedforegroundcolor')|int }}","p[{{i}}].b[1].pco2={{ states('input_number.hasp_plate01_selectedforegroundcolor')|int }}", {%- endif %} {%- endfor -%} {%- for i in range(1,12) -%} {% if i == states('input_number.hasp_plate01_pagebutton2page')|int -%} "p[{{i}}].b[2].pco={{ states('input_number.hasp_plate01_selectedforegroundcolor')|int }}","p[{{i}}].b[2].pco2={{ states('input_number.hasp_plate01_selectedforegroundcolor')|int }}", {%- endif %} {%- endfor -%} {%- for i in range(1,12) -%} {% if i == states('input_number.hasp_plate01_pagebutton3page')|int -%} "p[{{i}}].b[3].pco={{ states('input_number.hasp_plate01_selectedforegroundcolor')|int }}","p[{{i}}].b[3].pco2={{ states('input_number.hasp_plate01_selectedforegroundcolor')|int }}", {%- endif %} {%- endfor -%}"delay=1"] - alias: hasp_plate01_00_PageButtonColors_selectedbackgroundcolor trigger: - platform: state entity_id: input_number.hasp_plate01_pagebutton1page - platform: state entity_id: input_number.hasp_plate01_pagebutton2page - platform: state entity_id: input_number.hasp_plate01_pagebutton3page - platform: state entity_id: input_number.hasp_plate01_selectedbackgroundcolor - platform: state entity_id: "binary_sensor.plate01_connected" to: "on" - platform: homeassistant event: start action: - service: mqtt.publish data: topic: "hasp/plate01/command/json" payload_template: >- [{%- for i in range(1,12) -%} {% if i == states('input_number.hasp_plate01_pagebutton1page')|int -%} "p[{{i}}].b[1].bco={{ states('input_number.hasp_plate01_selectedbackgroundcolor')|int }}","p[{{i}}].b[1].bco2={{ states('input_number.hasp_plate01_selectedbackgroundcolor')|int }}", {%- endif %} {%- endfor -%} {%- for i in range(1,12) -%} {% if i == states('input_number.hasp_plate01_pagebutton2page')|int -%} "p[{{i}}].b[2].bco={{ states('input_number.hasp_plate01_selectedbackgroundcolor')|int }}","p[{{i}}].b[2].bco2={{ states('input_number.hasp_plate01_selectedbackgroundcolor')|int }}", {%- endif %} {%- endfor -%} {%- for i in range(1,12) -%} {% if i == states('input_number.hasp_plate01_pagebutton3page')|int -%} "p[{{i}}].b[3].bco={{ states('input_number.hasp_plate01_selectedbackgroundcolor')|int }}","p[{{i}}].b[3].bco2={{ states('input_number.hasp_plate01_selectedbackgroundcolor')|int }}", {%- endif %} {%- endfor -%}"delay=1"] - alias: hasp_plate01_00_PageButtonColors_unselectedforegroundcolor trigger: - platform: state entity_id: input_number.hasp_plate01_pagebutton1page - platform: state entity_id: input_number.hasp_plate01_pagebutton2page - platform: state entity_id: input_number.hasp_plate01_pagebutton3page - platform: state entity_id: input_number.hasp_plate01_unselectedforegroundcolor - platform: state entity_id: "binary_sensor.plate01_connected" to: "on" - platform: homeassistant event: start action: - service: mqtt.publish data: topic: "hasp/plate01/command/json" payload_template: >- [{%- for i in range(1,12) -%} {% if i != states('input_number.hasp_plate01_pagebutton1page')|int -%} "p[{{i}}].b[1].pco={{ states('input_number.hasp_plate01_unselectedforegroundcolor')|int }}","p[{{i}}].b[1].pco2={{ states('input_number.hasp_plate01_unselectedforegroundcolor')|int }}", {%- endif %} {%- endfor -%}"delay=1", {%- for i in range(1,12) -%} {% if i != states('input_number.hasp_plate01_pagebutton2page')|int -%} "p[{{i}}].b[2].pco={{ states('input_number.hasp_plate01_unselectedforegroundcolor')|int }}","p[{{i}}].b[2].pco2={{ states('input_number.hasp_plate01_unselectedforegroundcolor')|int }}", {%- endif %} {%- endfor -%}"delay=1", {%- for i in range(1,12) -%} {% if i != states('input_number.hasp_plate01_pagebutton3page')|int -%} "p[{{i}}].b[3].pco={{ states('input_number.hasp_plate01_unselectedforegroundcolor')|int }}","p[{{i}}].b[3].pco2={{ states('input_number.hasp_plate01_unselectedforegroundcolor')|int }}", {%- endif %} {%- endfor -%}"delay=1"] - alias: hasp_plate01_00_PageButtonColors_unselectedbackgroundcolor trigger: - platform: state entity_id: input_number.hasp_plate01_pagebutton1page - platform: state entity_id: input_number.hasp_plate01_pagebutton2page - platform: state entity_id: input_number.hasp_plate01_pagebutton3page - platform: state entity_id: input_number.hasp_plate01_unselectedbackgroundcolor - platform: state entity_id: "binary_sensor.plate01_connected" to: "on" - platform: homeassistant event: start action: - service: mqtt.publish data: topic: "hasp/plate01/command/json" payload_template: >- [{%- for i in range(1,12) -%} {% if i != states('input_number.hasp_plate01_pagebutton1page')|int -%} "p[{{i}}].b[1].bco={{ states('input_number.hasp_plate01_unselectedbackgroundcolor')|int }}","p[{{i}}].b[1].bco2={{ states('input_number.hasp_plate01_unselectedbackgroundcolor')|int }}", {%- endif %} {%- endfor -%}"delay=1", {%- for i in range(1,12) -%} {% if i != states('input_number.hasp_plate01_pagebutton2page')|int -%} "p[{{i}}].b[2].bco={{ states('input_number.hasp_plate01_unselectedbackgroundcolor')|int }}","p[{{i}}].b[2].bco2={{ states('input_number.hasp_plate01_unselectedbackgroundcolor')|int }}", {%- endif %} {%- endfor -%}"delay=1", {%- for i in range(1,12) -%} {% if i != states('input_number.hasp_plate01_pagebutton3page')|int -%} "p[{{i}}].b[3].bco={{ states('input_number.hasp_plate01_unselectedbackgroundcolor')|int }}","p[{{i}}].b[3].bco2={{ states('input_number.hasp_plate01_unselectedbackgroundcolor')|int }}", {%- endif %} {%- endfor -%}"delay=1"]
Report a bug