diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index c96545d..f91bfbb 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -3966,53 +3966,53 @@ action: climate_state: "{{ states(climate) | default('unavailable') if climate is string else 'unavailable' }}" climate_action: "{{ state_attr(climate, 'hvac_action') | default('unavailable') if climate is string else 'unavailable' }}" home_page_status_bar: - - entity: "{{ relay01_entity }}" - icon: !input "relay01_icon" #E3A5 + - entity: "{{ relay01_entity }}" + icon: !input "relay01_icon" #E3A5 icon_color_rgb: !input "relay01_icon_color" page: home component: icon_top_01 - - entity: "{{ relay02_entity }}" - icon: !input "relay02_icon" #E3A8 + - entity: "{{ relay02_entity }}" + icon: !input "relay02_icon" #E3A8 icon_color_rgb: !input "relay02_icon_color" page: home component: icon_top_02 - - entity: "{{ climate }}" + - entity: "{{ climate }}" icon: "{{ (nextion.icons.all[heat_icon.split(':')[1]] | default(heat_icon if heat_icon is string else '\U0000E2D5') if climate_action == 'heating' else nextion.icons.all[thermostat_icon.split(':')[1]] | default(thermostat_icon if thermostat_icon is string else '\U0000E2D5')) if climate_state == 'heat' else nextion.icons.blank }}" icon_color_rgb: !input "thermostat_icon_color" page: home component: icon_top_03 - - entity: !input "chip01" - icon: !input "chip01_icon" + - entity: !input "chip01" + icon: !input "chip01_icon" icon_color_rgb: !input "chip01_icon_color" page: home component: icon_top_04 - - entity: !input "chip02" - icon: !input "chip02_icon" + - entity: !input "chip02" + icon: !input "chip02_icon" icon_color_rgb: !input "chip02_icon_color" page: home component: icon_top_05 - - entity: !input "chip03" - icon: !input "chip03_icon" + - entity: !input "chip03" + icon: !input "chip03_icon" icon_color_rgb: !input "chip03_icon_color" page: home component: icon_top_06 - - entity: !input "chip04" - icon: !input "chip04_icon" + - entity: !input "chip04" + icon: !input "chip04_icon" icon_color_rgb: !input "chip04_icon_color" page: home component: icon_top_07 - - entity: !input "chip05" - icon: !input "chip05_icon" + - entity: !input "chip05" + icon: !input "chip05_icon" icon_color_rgb: !input "chip05_icon_color" page: home component: icon_top_08 - - entity: !input "chip06" - icon: !input "chip06_icon" + - entity: !input "chip06" + icon: !input "chip06_icon" icon_color_rgb: !input "chip06_icon_color" page: home component: icon_top_09 - - entity: !input "chip07" - icon: !input "chip07_icon" + - entity: !input "chip07" + icon: !input "chip07_icon" icon_color_rgb: !input "chip07_icon_color" page: home component: icon_top_10 @@ -4053,21 +4053,21 @@ action: - &variables-home_page_values variables: home_page_values: - - entity: !input "home_value01" - icon: !input "home_value01_icon" - icon_color_rgb: !input "home_value01_icon_color" + - entity: !input "home_value01" + icon: !input "home_value01_icon" + icon_color_rgb: !input "home_value01_icon_color" label_color_rgb: !input "home_value01_label_color" page: home component: value01 - - entity: !input "home_value02" - icon: !input "home_value02_icon" - icon_color_rgb: !input "home_value02_icon_color" + - entity: !input "home_value02" + icon: !input "home_value02_icon" + icon_color_rgb: !input "home_value02_icon_color" label_color_rgb: !input "home_value02_label_color" page: home component: value02 - - entity: !input "home_value03" - icon: !input "home_value03_icon" - icon_color_rgb: !input "home_value03_icon_color" + - entity: !input "home_value03" + icon: !input "home_value03_icon" + icon_color_rgb: !input "home_value03_icon_color" label_color_rgb: !input "home_value03_label_color" page: home component: value03 @@ -4208,228 +4208,228 @@ action: - label: !input button_page04_label ##### BUTTONS Page - Buttons 1 - 32 ##### button_pages_buttons: - - entity: !input "entity01" - name: !input "entity01_name" - icon: !input "entity01_icon" + - entity: !input "entity01" + name: !input "entity01_name" + icon: !input "entity01_icon" icon_color_rgb: !input "entity01_icon_color" - confirm: !input "entity01_confirm" + confirm: !input "entity01_confirm" page: buttonpage01 component: button01 - - entity: !input "entity02" - name: !input "entity02_name" - icon: !input "entity02_icon" + - entity: !input "entity02" + name: !input "entity02_name" + icon: !input "entity02_icon" icon_color_rgb: !input "entity02_icon_color" - confirm: !input "entity02_confirm" + confirm: !input "entity02_confirm" page: buttonpage01 component: button02 - - entity: !input "entity03" - name: !input "entity03_name" - icon: !input "entity03_icon" + - entity: !input "entity03" + name: !input "entity03_name" + icon: !input "entity03_icon" icon_color_rgb: !input "entity03_icon_color" - confirm: !input "entity03_confirm" + confirm: !input "entity03_confirm" page: buttonpage01 component: button03 - - entity: !input "entity04" - name: !input "entity04_name" - icon: !input "entity04_icon" + - entity: !input "entity04" + name: !input "entity04_name" + icon: !input "entity04_icon" icon_color_rgb: !input "entity04_icon_color" - confirm: !input "entity04_confirm" + confirm: !input "entity04_confirm" page: buttonpage01 component: button04 - - entity: !input "entity05" - name: !input "entity05_name" - icon: !input "entity05_icon" + - entity: !input "entity05" + name: !input "entity05_name" + icon: !input "entity05_icon" icon_color_rgb: !input "entity05_icon_color" - confirm: !input "entity05_confirm" + confirm: !input "entity05_confirm" page: buttonpage01 component: button05 - - entity: !input "entity06" - name: !input "entity06_name" - icon: !input "entity06_icon" + - entity: !input "entity06" + name: !input "entity06_name" + icon: !input "entity06_icon" icon_color_rgb: !input "entity06_icon_color" - confirm: !input "entity06_confirm" + confirm: !input "entity06_confirm" page: buttonpage01 component: button06 - - entity: !input "entity07" - name: !input "entity07_name" - icon: !input "entity07_icon" + - entity: !input "entity07" + name: !input "entity07_name" + icon: !input "entity07_icon" icon_color_rgb: !input "entity07_icon_color" - confirm: !input "entity07_confirm" + confirm: !input "entity07_confirm" page: buttonpage01 component: button07 - - entity: !input "entity08" - name: !input "entity08_name" - icon: !input "entity08_icon" + - entity: !input "entity08" + name: !input "entity08_name" + icon: !input "entity08_icon" icon_color_rgb: !input "entity08_icon_color" - confirm: !input "entity08_confirm" + confirm: !input "entity08_confirm" page: buttonpage01 component: button08 - - entity: !input "entity09" - name: !input "entity09_name" - icon: !input "entity09_icon" + - entity: !input "entity09" + name: !input "entity09_name" + icon: !input "entity09_icon" icon_color_rgb: !input "entity09_icon_color" - confirm: !input "entity09_confirm" + confirm: !input "entity09_confirm" page: buttonpage02 component: button01 - - entity: !input "entity10" - name: !input "entity10_name" - icon: !input "entity10_icon" + - entity: !input "entity10" + name: !input "entity10_name" + icon: !input "entity10_icon" icon_color_rgb: !input "entity10_icon_color" - confirm: !input "entity10_confirm" + confirm: !input "entity10_confirm" page: buttonpage02 component: button02 - - entity: !input "entity11" - name: !input "entity11_name" - icon: !input "entity11_icon" + - entity: !input "entity11" + name: !input "entity11_name" + icon: !input "entity11_icon" icon_color_rgb: !input "entity11_icon_color" - confirm: !input "entity11_confirm" + confirm: !input "entity11_confirm" page: buttonpage02 component: button03 - - entity: !input "entity12" - name: !input "entity12_name" - icon: !input "entity12_icon" + - entity: !input "entity12" + name: !input "entity12_name" + icon: !input "entity12_icon" icon_color_rgb: !input "entity12_icon_color" - confirm: !input "entity12_confirm" + confirm: !input "entity12_confirm" page: buttonpage02 component: button04 - - entity: !input "entity13" - name: !input "entity13_name" - icon: !input "entity13_icon" + - entity: !input "entity13" + name: !input "entity13_name" + icon: !input "entity13_icon" icon_color_rgb: !input "entity13_icon_color" - confirm: !input "entity13_confirm" + confirm: !input "entity13_confirm" page: buttonpage02 component: button05 - - entity: !input "entity14" - name: !input "entity14_name" - icon: !input "entity14_icon" + - entity: !input "entity14" + name: !input "entity14_name" + icon: !input "entity14_icon" icon_color_rgb: !input "entity14_icon_color" - confirm: !input "entity14_confirm" + confirm: !input "entity14_confirm" page: buttonpage02 component: button06 - - entity: !input "entity15" - name: !input "entity15_name" - icon: !input "entity15_icon" + - entity: !input "entity15" + name: !input "entity15_name" + icon: !input "entity15_icon" icon_color_rgb: !input "entity15_icon_color" - confirm: !input "entity15_confirm" + confirm: !input "entity15_confirm" page: buttonpage02 component: button07 - - entity: !input "entity16" - name: !input "entity16_name" - icon: !input "entity16_icon" + - entity: !input "entity16" + name: !input "entity16_name" + icon: !input "entity16_icon" icon_color_rgb: !input "entity16_icon_color" - confirm: !input "entity16_confirm" + confirm: !input "entity16_confirm" page: buttonpage02 component: button08 - - entity: !input "entity17" - name: !input "entity17_name" - icon: !input "entity17_icon" + - entity: !input "entity17" + name: !input "entity17_name" + icon: !input "entity17_icon" icon_color_rgb: !input "entity17_icon_color" - confirm: !input "entity17_confirm" + confirm: !input "entity17_confirm" page: buttonpage03 component: button01 - - entity: !input "entity18" - name: !input "entity18_name" - icon: !input "entity18_icon" + - entity: !input "entity18" + name: !input "entity18_name" + icon: !input "entity18_icon" icon_color_rgb: !input "entity18_icon_color" - confirm: !input "entity18_confirm" + confirm: !input "entity18_confirm" page: buttonpage03 component: button02 - - entity: !input "entity19" - name: !input "entity19_name" - icon: !input "entity19_icon" + - entity: !input "entity19" + name: !input "entity19_name" + icon: !input "entity19_icon" icon_color_rgb: !input "entity19_icon_color" - confirm: !input "entity19_confirm" + confirm: !input "entity19_confirm" page: buttonpage03 component: button03 - - entity: !input "entity20" - name: !input "entity20_name" - icon: !input "entity20_icon" + - entity: !input "entity20" + name: !input "entity20_name" + icon: !input "entity20_icon" icon_color_rgb: !input "entity20_icon_color" - confirm: !input "entity20_confirm" + confirm: !input "entity20_confirm" page: buttonpage03 component: button04 - - entity: !input "entity21" - name: !input "entity21_name" - icon: !input "entity21_icon" + - entity: !input "entity21" + name: !input "entity21_name" + icon: !input "entity21_icon" icon_color_rgb: !input "entity21_icon_color" - confirm: !input "entity21_confirm" + confirm: !input "entity21_confirm" page: buttonpage03 component: button05 - - entity: !input "entity22" - name: !input "entity22_name" - icon: !input "entity22_icon" + - entity: !input "entity22" + name: !input "entity22_name" + icon: !input "entity22_icon" icon_color_rgb: !input "entity22_icon_color" - confirm: !input "entity22_confirm" + confirm: !input "entity22_confirm" page: buttonpage03 component: button06 - - entity: !input "entity23" - name: !input "entity23_name" - icon: !input "entity23_icon" + - entity: !input "entity23" + name: !input "entity23_name" + icon: !input "entity23_icon" icon_color_rgb: !input "entity23_icon_color" - confirm: !input "entity23_confirm" + confirm: !input "entity23_confirm" page: buttonpage03 component: button07 - - entity: !input "entity24" - name: !input "entity24_name" - icon: !input "entity24_icon" + - entity: !input "entity24" + name: !input "entity24_name" + icon: !input "entity24_icon" icon_color_rgb: !input "entity24_icon_color" - confirm: !input "entity24_confirm" + confirm: !input "entity24_confirm" page: buttonpage03 component: button08 - - entity: !input "entity25" - name: !input "entity25_name" - icon: !input "entity25_icon" + - entity: !input "entity25" + name: !input "entity25_name" + icon: !input "entity25_icon" icon_color_rgb: !input "entity25_icon_color" - confirm: !input "entity25_confirm" + confirm: !input "entity25_confirm" page: buttonpage04 component: button01 - - entity: !input "entity26" - name: !input "entity26_name" - icon: !input "entity26_icon" + - entity: !input "entity26" + name: !input "entity26_name" + icon: !input "entity26_icon" icon_color_rgb: !input "entity26_icon_color" - confirm: !input "entity26_confirm" + confirm: !input "entity26_confirm" page: buttonpage04 component: button02 - - entity: !input "entity27" - name: !input "entity27_name" - icon: !input "entity27_icon" + - entity: !input "entity27" + name: !input "entity27_name" + icon: !input "entity27_icon" icon_color_rgb: !input "entity27_icon_color" - confirm: !input "entity27_confirm" + confirm: !input "entity27_confirm" page: buttonpage04 component: button03 - - entity: !input "entity28" - name: !input "entity28_name" - icon: !input "entity28_icon" + - entity: !input "entity28" + name: !input "entity28_name" + icon: !input "entity28_icon" icon_color_rgb: !input "entity28_icon_color" - confirm: !input "entity28_confirm" + confirm: !input "entity28_confirm" page: buttonpage04 component: button04 - - entity: !input "entity29" - name: !input "entity29_name" - icon: !input "entity29_icon" + - entity: !input "entity29" + name: !input "entity29_name" + icon: !input "entity29_icon" icon_color_rgb: !input "entity29_icon_color" - confirm: !input "entity29_confirm" + confirm: !input "entity29_confirm" page: buttonpage04 component: button05 - - entity: !input "entity30" - name: !input "entity30_name" - icon: !input "entity30_icon" + - entity: !input "entity30" + name: !input "entity30_name" + icon: !input "entity30_icon" icon_color_rgb: !input "entity30_icon_color" - confirm: !input "entity30_confirm" + confirm: !input "entity30_confirm" page: buttonpage04 component: button06 - - entity: !input "entity31" - name: !input "entity31_name" - icon: !input "entity31_icon" + - entity: !input "entity31" + name: !input "entity31_name" + icon: !input "entity31_icon" icon_color_rgb: !input "entity31_icon_color" - confirm: !input "entity31_confirm" + confirm: !input "entity31_confirm" page: buttonpage04 component: button07 - - entity: !input "entity32" - name: !input "entity32_name" - icon: !input "entity32_icon" + - entity: !input "entity32" + name: !input "entity32_name" + icon: !input "entity32_icon" icon_color_rgb: !input "entity32_icon_color" - confirm: !input "entity32_confirm" + confirm: !input "entity32_confirm" page: buttonpage04 component: button08 - if: "{{ button_page_index >= 0 and button_page_index <= 3 }}" @@ -4467,14 +4467,14 @@ action: {% if not current_entity_state_available %} {{ nextion.colors.red }} {% elif item_domain in ['button', 'input_button', 'scene'] or current_entity_state in ['off', 'closed', 'closing'] or (item_domain == 'person' and current_entity_state != 'home') %} {{ nextion.colors.grey_light }} {% elif current_entity_state in ['on', 'open', 'opening', 'home'] or (item_domain == 'climate' and current_entity_state != 'off') %} {{ repeat.item.icon_color_rgb if is_number(repeat.item.icon_color_rgb) else ((repeat.item.icon_color_rgb[0] //(2**3)) *(2**11))+((repeat.item.icon_color_rgb[1] //(2**2)) *(2**5))+(repeat.item.icon_color_rgb[2] //(2**3)) }} - {% else %} {{ nextion.colors.red }} + {% else %}{{ nextion.colors.red }} {% endif %} # LABEL Font Color btn_txt_font: >- {% if not current_entity_state_available %} {{ nextion.colors.white }} {% elif item_domain in ['button', 'input_button', 'scene'] or current_entity_state in ['off', 'closed', 'closing'] or (item_domain == 'person' and current_entity_state != 'home') %} {{ nextion.colors.white }} {% elif current_entity_state in ['on', 'open', 'opening', 'home'] or (item_domain == 'climate' and current_entity_state != 'off') %} {{ nextion.colors.grey_dark }} - {% else %} {{ nextion.colors.white }} + {% else %}{{ nextion.colors.white }} {% endif %} # BRIGHTNESS Font Color btn_bri_font: "{{ btn_txt_font }}" #"{{ nextion.colors.grey_dark }}" @@ -4483,7 +4483,7 @@ action: {% if not current_entity_state_available %} {{ nextion.icons.buttons.unknown }} {% elif repeat.item.icon | length > 0 %} {{ nextion.icons.all[repeat.item.icon.split(':')[1]] | default(repeat.item.icon if repeat.item.icon is string else '\U0000E2D5') }} {% elif repeat.item.entity and repeat.item.entity.split('.') | count > 1 %} {{ nextion.icons.buttons[repeat.item.entity.split('.')[0] if repeat.item.entity else 'unknown'] }} - {% else %} {{ nextion.icons.buttons.unknown }} + {% else %}{{ nextion.icons.buttons.unknown }} {% endif %} # LABEL Value btn_label: "{{ repeat.item.name }}" @@ -4779,163 +4779,163 @@ action: - label: !input "entity_page04_label" entity_pages_entities: - entity: !input "entities_entity01" - name: !input "entities_entity01_name" - icon: !input "entities_entity01_icon" + name: !input "entities_entity01_name" + icon: !input "entities_entity01_icon" page: entitypage01 component: value01 - entity: !input "entities_entity02" - name: !input "entities_entity02_name" - icon: !input "entities_entity02_icon" + name: !input "entities_entity02_name" + icon: !input "entities_entity02_icon" page: entitypage01 component: value02 - entity: !input "entities_entity03" - name: !input "entities_entity03_name" - icon: !input "entities_entity03_icon" + name: !input "entities_entity03_name" + icon: !input "entities_entity03_icon" page: entitypage01 component: value03 - entity: !input "entities_entity04" - name: !input "entities_entity04_name" - icon: !input "entities_entity04_icon" + name: !input "entities_entity04_name" + icon: !input "entities_entity04_icon" page: entitypage01 component: value04 - entity: !input "entities_entity05" - name: !input "entities_entity05_name" - icon: !input "entities_entity05_icon" + name: !input "entities_entity05_name" + icon: !input "entities_entity05_icon" page: entitypage01 component: value05 - entity: !input "entities_entity06" - name: !input "entities_entity06_name" - icon: !input "entities_entity06_icon" + name: !input "entities_entity06_name" + icon: !input "entities_entity06_icon" page: entitypage01 component: value06 - entity: !input "entities_entity07" - name: !input "entities_entity07_name" - icon: !input "entities_entity07_icon" + name: !input "entities_entity07_name" + icon: !input "entities_entity07_icon" page: entitypage01 component: value07 - entity: !input "entities_entity08" - name: !input "entities_entity08_name" - icon: !input "entities_entity08_icon" + name: !input "entities_entity08_name" + icon: !input "entities_entity08_icon" page: entitypage01 component: value08 - entity: !input "entities_entity09" - name: !input "entities_entity09_name" - icon: !input "entities_entity09_icon" + name: !input "entities_entity09_name" + icon: !input "entities_entity09_icon" page: entitypage02 component: value01 - entity: !input "entities_entity10" - name: !input "entities_entity10_name" - icon: !input "entities_entity10_icon" + name: !input "entities_entity10_name" + icon: !input "entities_entity10_icon" page: entitypage02 component: value02 - entity: !input "entities_entity11" - name: !input "entities_entity11_name" - icon: !input "entities_entity11_icon" + name: !input "entities_entity11_name" + icon: !input "entities_entity11_icon" page: entitypage02 component: value03 - entity: !input "entities_entity12" - name: !input "entities_entity12_name" - icon: !input "entities_entity12_icon" + name: !input "entities_entity12_name" + icon: !input "entities_entity12_icon" page: entitypage02 component: value04 - entity: !input "entities_entity13" - name: !input "entities_entity13_name" - icon: !input "entities_entity13_icon" + name: !input "entities_entity13_name" + icon: !input "entities_entity13_icon" page: entitypage02 component: value05 - entity: !input "entities_entity14" - name: !input "entities_entity14_name" - icon: !input "entities_entity14_icon" + name: !input "entities_entity14_name" + icon: !input "entities_entity14_icon" page: entitypage02 component: value06 - entity: !input "entities_entity15" - name: !input "entities_entity15_name" - icon: !input "entities_entity15_icon" + name: !input "entities_entity15_name" + icon: !input "entities_entity15_icon" page: entitypage02 component: value07 - entity: !input "entities_entity16" - name: !input "entities_entity16_name" - icon: !input "entities_entity16_icon" + name: !input "entities_entity16_name" + icon: !input "entities_entity16_icon" page: entitypage02 component: value08 - entity: !input "entities_entity17" - name: !input "entities_entity17_name" - icon: !input "entities_entity17_icon" + name: !input "entities_entity17_name" + icon: !input "entities_entity17_icon" page: entitypage03 component: value01 - entity: !input "entities_entity18" - name: !input "entities_entity18_name" - icon: !input "entities_entity18_icon" + name: !input "entities_entity18_name" + icon: !input "entities_entity18_icon" page: entitypage03 component: value02 - entity: !input "entities_entity19" - name: !input "entities_entity19_name" - icon: !input "entities_entity19_icon" + name: !input "entities_entity19_name" + icon: !input "entities_entity19_icon" page: entitypage03 component: value03 - entity: !input "entities_entity20" - name: !input "entities_entity20_name" - icon: !input "entities_entity20_icon" + name: !input "entities_entity20_name" + icon: !input "entities_entity20_icon" page: entitypage03 component: value04 - entity: !input "entities_entity21" - name: !input "entities_entity21_name" - icon: !input "entities_entity21_icon" + name: !input "entities_entity21_name" + icon: !input "entities_entity21_icon" page: entitypage03 component: value05 - entity: !input "entities_entity22" - name: !input "entities_entity22_name" - icon: !input "entities_entity22_icon" + name: !input "entities_entity22_name" + icon: !input "entities_entity22_icon" page: entitypage03 component: value06 - entity: !input "entities_entity23" - name: !input "entities_entity23_name" - icon: !input "entities_entity23_icon" + name: !input "entities_entity23_name" + icon: !input "entities_entity23_icon" page: entitypage03 component: value07 - entity: !input "entities_entity24" - name: !input "entities_entity24_name" - icon: !input "entities_entity24_icon" + name: !input "entities_entity24_name" + icon: !input "entities_entity24_icon" page: entitypage03 component: value08 - entity: !input "entities_entity25" - name: !input "entities_entity25_name" - icon: !input "entities_entity25_icon" + name: !input "entities_entity25_name" + icon: !input "entities_entity25_icon" page: entitypage04 component: value01 - entity: !input "entities_entity26" - name: !input "entities_entity26_name" - icon: !input "entities_entity26_icon" + name: !input "entities_entity26_name" + icon: !input "entities_entity26_icon" page: entitypage04 component: value02 - entity: !input "entities_entity27" - name: !input "entities_entity27_name" - icon: !input "entities_entity27_icon" + name: !input "entities_entity27_name" + icon: !input "entities_entity27_icon" page: entitypage04 component: value03 - entity: !input "entities_entity28" - name: !input "entities_entity28_name" - icon: !input "entities_entity28_icon" + name: !input "entities_entity28_name" + icon: !input "entities_entity28_icon" page: entitypage04 component: value04 - entity: !input "entities_entity29" - name: !input "entities_entity29_name" - icon: !input "entities_entity29_icon" + name: !input "entities_entity29_name" + icon: !input "entities_entity29_icon" page: entitypage04 component: value05 - entity: !input "entities_entity30" - name: !input "entities_entity30_name" - icon: !input "entities_entity30_icon" + name: !input "entities_entity30_name" + icon: !input "entities_entity30_icon" page: entitypage04 component: value06 - entity: !input "entities_entity31" - name: !input "entities_entity31_name" - icon: !input "entities_entity31_icon" + name: !input "entities_entity31_name" + icon: !input "entities_entity31_icon" page: entitypage04 component: value07 - entity: !input "entities_entity32" - name: !input "entities_entity32_name" - icon: !input "entities_entity32_icon" + name: !input "entities_entity32_name" + icon: !input "entities_entity32_icon" page: entitypage04 component: value08 - variables: @@ -4991,15 +4991,15 @@ action: {% else %} Other {% endif %} weather_units: - hours_of_sun: "{{ state_attr(weather_entity, 'hours_of_sun_unit') | default('h') if weather_entity is string and state_attr(weather_entity, 'hours_of_sun_unit') else 'h' }}" - precipitation: "{{ state_attr(weather_entity, 'precipitation_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'precipitation_unit') }}" - precipitation_probability: "{{ state_attr(weather_entity, 'precipitation_probability_unit') | default('%') if weather_entity is string and state_attr(weather_entity, 'precipitation_probability_unit') else '%' }}" - pressure: "{{ state_attr(weather_entity, 'pressure_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'pressure_unit') }}" - #temperature: "{{ state_attr(weather_entity, 'temperature_unit') | default('°') if weather_entity is string and state_attr(weather_entity, 'temperature_unit') else '°' }}" - thunderstorm_probability: "{{ state_attr(weather_entity, 'thunderstorm_probability_unit') | default('%') if weather_entity is string and state_attr(weather_entity, 'thunderstorm_probability_unit') else '%' }}" - uv_index: "{{ state_attr(weather_entity, 'uv_index_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'uv_index_unit') }}" - #visibility: "{{ state_attr(weather_entity, 'visibility_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'visibility_unit') }}" - wind_speed: "{{ state_attr(weather_entity, 'wind_speed_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'wind_speed_unit') }}" + hours_of_sun: "{{ state_attr(weather_entity, 'hours_of_sun_unit') | default('h') if weather_entity is string and state_attr(weather_entity, 'hours_of_sun_unit') else 'h' }}" + precipitation: "{{ state_attr(weather_entity, 'precipitation_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'precipitation_unit') }}" + precipitation_probability: "{{ state_attr(weather_entity, 'precipitation_probability_unit') | default('%') if weather_entity is string and state_attr(weather_entity, 'precipitation_probability_unit') else '%' }}" + pressure: "{{ state_attr(weather_entity, 'pressure_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'pressure_unit') }}" + #temperature: "{{ state_attr(weather_entity, 'temperature_unit') | default('°') if weather_entity is string and state_attr(weather_entity, 'temperature_unit') else '°' }}" + thunderstorm_probability: "{{ state_attr(weather_entity, 'thunderstorm_probability_unit') | default('%') if weather_entity is string and state_attr(weather_entity, 'thunderstorm_probability_unit') else '%' }}" + uv_index: "{{ state_attr(weather_entity, 'uv_index_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'uv_index_unit') }}" + #visibility: "{{ state_attr(weather_entity, 'visibility_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'visibility_unit') }}" + wind_speed: "{{ state_attr(weather_entity, 'wind_speed_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'wind_speed_unit') }}" page_name: "{{ nspanel_event.page }}" page_index: "{{ (page_name[-2:] | int(0)) - 1 }}" @@ -5024,8 +5024,8 @@ action: forecast_day: > {{ state_attr(weather_entity, 'forecast') | default([]) | selectattr('datetime', 'defined') - | selectattr('datetime', '>=', (today_at('00:00') + timedelta(days= page_index )) | as_timestamp | timestamp_local ) - | selectattr('datetime', '<', (today_at('00:00') + timedelta(days= (page_index+1))) | as_timestamp | timestamp_local ) + | selectattr('datetime', '>=', (today_at('00:00') + timedelta(days= page_index)) | as_timestamp | timestamp_local ) + | selectattr('datetime', '<', (today_at('00:00') + timedelta(days= (page_index+1))) | as_timestamp | timestamp_local ) | list }} - if: "{{ forecast_day | count > 0 or page_index == 0 }}" @@ -5038,8 +5038,8 @@ action: {% elif metnoweather and metnoweather_hourly_forecast %} {{ metnoweather_hourly_forecast | selectattr('datetime', 'defined') - | selectattr('datetime', '>=', (today_at('00:00') + timedelta(days= page_index )) | as_timestamp | timestamp_local ) - | selectattr('datetime', '<', (today_at('00:00') + timedelta(days= (page_index+1))) | as_timestamp | timestamp_local ) + | selectattr('datetime', '>=', (today_at('00:00') + timedelta(days= page_index)) | as_timestamp | timestamp_local ) + | selectattr('datetime', '<', (today_at('00:00') + timedelta(days= (page_index+1))) | as_timestamp | timestamp_local ) | list }} {% endif %} @@ -5067,14 +5067,14 @@ action: if forecast_day | selectattr('templow', 'defined') | map(attribute='templow') | map('float') | list | count > 0 else forecast_day | selectattr('temperature', 'defined') | map(attribute='temperature') | map('float') | list | min | default('unknown') }} - temp_max: "{{ forecast_day | selectattr('temperature', 'defined') | map(attribute='temperature') | map('float') | list | max if forecast_day | selectattr('temperature', 'defined') | map(attribute='temperature') | map('float') | list | count > 0 }}" - condition: "{{ forecast_day | selectattr('condition', 'defined') | map(attribute='condition') | list | first if forecast_day | selectattr('condition', 'defined') | map(attribute='condition') | list | count > 0 }}" - precipitation: "{{ forecast_day | selectattr('precipitation', 'defined') | map(attribute='precipitation') | map('float') | list | sum if forecast_day | selectattr('precipitation', 'defined') | map(attribute='precipitation') | map('float') | list | count > 0 }}" - precipitation_probability: "{{ forecast_day | selectattr('precipitation_probability', 'defined') | map(attribute='precipitation_probability') | map('float') | list | max if forecast_day | selectattr('precipitation_probability', 'defined') | map(attribute='precipitation_probability') | map('float') | list | count > 0 }}" - pressure: "{{ forecast_day | selectattr('pressure', 'defined') | map(attribute='pressure') | map('float') | list | max if forecast_day | selectattr('pressure', 'defined') | map(attribute='pressure') | map('float') | list | count > 0 }}" - wind_speed: "{{ forecast_day | selectattr('wind_speed', 'defined') | map(attribute='wind_speed') | map('float') | list | max if forecast_day | selectattr('wind_speed', 'defined') | map(attribute='wind_speed') | map('float') | list | count > 0 }}" - hours_of_sun: "{{ states(accuweather_sensor_prefix ~ 'hours_of_sun' ~ accuweather_sensor_sufix) | default('unknown') if accuweather else (forecast_day | selectattr('hours_of_sun', 'defined') | map(attribute='hours_of_sun') | map('float') | list | sum if forecast_day | selectattr('hours_of_sun', 'defined') | map(attribute='hours_of_sun') | map('float') | list | count > 0) }}" - uv_index: "{{ states(accuweather_sensor_prefix ~ 'uv_index' ~ accuweather_sensor_sufix) | default('unknown') if accuweather else (forecast_day | selectattr('uv_index', 'defined') | map(attribute='uv_index') | map('float') | list | max if forecast_day | selectattr('uv_index', 'defined') | map(attribute='uv_index') | map('float') | list | count > 0) }}" + temp_max: "{{ forecast_day | selectattr('temperature', 'defined') | map(attribute='temperature') | map('float') | list | max if forecast_day | selectattr('temperature', 'defined') | map(attribute='temperature') | map('float') | list | count > 0 }}" + condition: "{{ forecast_day | selectattr('condition', 'defined') | map(attribute='condition') | list | first if forecast_day | selectattr('condition', 'defined') | map(attribute='condition') | list | count > 0 }}" + precipitation: "{{ forecast_day | selectattr('precipitation', 'defined') | map(attribute='precipitation') | map('float') | list | sum if forecast_day | selectattr('precipitation', 'defined') | map(attribute='precipitation') | map('float') | list | count > 0 }}" + precipitation_probability: "{{ forecast_day | selectattr('precipitation_probability', 'defined') | map(attribute='precipitation_probability') | map('float') | list | max if forecast_day | selectattr('precipitation_probability', 'defined') | map(attribute='precipitation_probability') | map('float') | list | count > 0 }}" + pressure: "{{ forecast_day | selectattr('pressure', 'defined') | map(attribute='pressure') | map('float') | list | max if forecast_day | selectattr('pressure', 'defined') | map(attribute='pressure') | map('float') | list | count > 0 }}" + wind_speed: "{{ forecast_day | selectattr('wind_speed', 'defined') | map(attribute='wind_speed') | map('float') | list | max if forecast_day | selectattr('wind_speed', 'defined') | map(attribute='wind_speed') | map('float') | list | count > 0 }}" + hours_of_sun: "{{ states(accuweather_sensor_prefix ~ 'hours_of_sun' ~ accuweather_sensor_sufix) | default('unknown') if accuweather else (forecast_day | selectattr('hours_of_sun', 'defined') | map(attribute='hours_of_sun') | map('float') | list | sum if forecast_day | selectattr('hours_of_sun', 'defined') | map(attribute='hours_of_sun') | map('float') | list | count > 0) }}" + uv_index: "{{ states(accuweather_sensor_prefix ~ 'uv_index' ~ accuweather_sensor_sufix) | default('unknown') if accuweather else (forecast_day | selectattr('uv_index', 'defined') | map(attribute='uv_index') | map('float') | list | max if forecast_day | selectattr('uv_index', 'defined') | map(attribute='uv_index') | map('float') | list | count > 0) }}" thunderstorm_probability: "{{ states(accuweather_sensor_prefix ~ 'thunderstorm_probability_day' ~ accuweather_sensor_sufix) | default('unknown') if accuweather else (forecast_day | selectattr('thunderstorm_probability', 'defined') | map(attribute='thunderstorm_probability') | map('float') | list | max if forecast_day | selectattr('thunderstorm_probability', 'defined') | map(attribute='thunderstorm_probability') | map('float') | list | count > 0) }}" parameters: - name: hours_of_sun